admins-components 9.0.66 → 9.0.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admins-components.js +39 -39
- package/dist/admins-components100.js +75 -249
- package/dist/admins-components100.js.map +1 -1
- package/dist/admins-components102.js +2 -2
- package/dist/admins-components102.js.map +1 -1
- package/dist/admins-components103.js +256 -3
- package/dist/admins-components103.js.map +1 -1
- package/dist/admins-components105.js +6 -52
- package/dist/admins-components105.js.map +1 -1
- package/dist/admins-components106.js +3 -82
- package/dist/admins-components106.js.map +1 -1
- package/dist/admins-components107.js +3 -113
- package/dist/admins-components107.js.map +1 -1
- package/dist/admins-components108.js +49 -44
- package/dist/admins-components108.js.map +1 -1
- package/dist/admins-components109.js +80 -104
- package/dist/admins-components109.js.map +1 -1
- package/dist/admins-components110.js +109 -16
- package/dist/admins-components110.js.map +1 -1
- package/dist/admins-components111.js +46 -6
- package/dist/admins-components111.js.map +1 -1
- package/dist/admins-components112.js +100 -246
- package/dist/admins-components112.js.map +1 -1
- package/dist/admins-components113.js +19 -26
- package/dist/admins-components113.js.map +1 -1
- package/dist/admins-components114.js +6 -27
- package/dist/admins-components114.js.map +1 -1
- package/dist/admins-components115.js +239 -159
- package/dist/admins-components115.js.map +1 -1
- package/dist/admins-components116.js +26 -67
- package/dist/admins-components116.js.map +1 -1
- package/dist/admins-components117.js +25 -64
- package/dist/admins-components117.js.map +1 -1
- package/dist/admins-components118.js +169 -27
- package/dist/admins-components118.js.map +1 -1
- package/dist/admins-components119.js +65 -13
- package/dist/admins-components119.js.map +1 -1
- package/dist/admins-components120.js +64 -24
- package/dist/admins-components120.js.map +1 -1
- package/dist/admins-components121.js +29 -8
- package/dist/admins-components121.js.map +1 -1
- package/dist/admins-components122.js +16 -4
- package/dist/admins-components122.js.map +1 -1
- package/dist/admins-components123.js +27 -3
- package/dist/admins-components123.js.map +1 -1
- package/dist/admins-components124.js +8 -2
- package/dist/admins-components124.js.map +1 -1
- package/dist/admins-components125.js +4 -21
- package/dist/admins-components125.js.map +1 -1
- package/dist/admins-components126.js +3 -14
- package/dist/admins-components126.js.map +1 -1
- package/dist/admins-components127.js +3 -8
- package/dist/admins-components127.js.map +1 -1
- package/dist/admins-components128.js +19 -11
- package/dist/admins-components128.js.map +1 -1
- package/dist/admins-components129.js +14 -26
- package/dist/admins-components129.js.map +1 -1
- package/dist/admins-components130.js +7 -82
- package/dist/admins-components130.js.map +1 -1
- package/dist/admins-components131.js +9 -7
- package/dist/admins-components131.js.map +1 -1
- package/dist/admins-components132.js +25 -4
- package/dist/admins-components132.js.map +1 -1
- package/dist/admins-components133.js +81 -6
- package/dist/admins-components133.js.map +1 -1
- package/dist/admins-components134.js +10 -6
- package/dist/admins-components134.js.map +1 -1
- package/dist/admins-components135.js +2 -3
- package/dist/admins-components135.js.map +1 -1
- package/dist/admins-components136.js +8 -15
- package/dist/admins-components136.js.map +1 -1
- package/dist/admins-components137.js +6 -12
- package/dist/admins-components137.js.map +1 -1
- package/dist/admins-components138.js +6 -30
- package/dist/admins-components138.js.map +1 -1
- package/dist/admins-components139.js +15 -4
- package/dist/admins-components139.js.map +1 -1
- package/dist/admins-components140.js +13 -29
- package/dist/admins-components140.js.map +1 -1
- package/dist/admins-components141.js +30 -5
- package/dist/admins-components141.js.map +1 -1
- package/dist/admins-components142.js +4 -5
- package/dist/admins-components142.js.map +1 -1
- package/dist/admins-components143.js +28 -7
- package/dist/admins-components143.js.map +1 -1
- package/dist/admins-components144.js +4 -73
- package/dist/admins-components144.js.map +1 -1
- package/dist/admins-components145.js +4 -28
- package/dist/admins-components145.js.map +1 -1
- package/dist/admins-components146.js +8 -59
- package/dist/admins-components146.js.map +1 -1
- package/dist/admins-components147.js +72 -22
- package/dist/admins-components147.js.map +1 -1
- package/dist/admins-components148.js +26 -47
- package/dist/admins-components148.js.map +1 -1
- package/dist/admins-components149.js +58 -30
- package/dist/admins-components149.js.map +1 -1
- package/dist/admins-components150.js +24 -3
- package/dist/admins-components150.js.map +1 -1
- package/dist/admins-components151.js +44 -173
- package/dist/admins-components151.js.map +1 -1
- package/dist/admins-components152.js +28 -43
- package/dist/admins-components152.js.map +1 -1
- package/dist/admins-components153.js +3 -37
- package/dist/admins-components153.js.map +1 -1
- package/dist/admins-components154.js +176 -43
- package/dist/admins-components154.js.map +1 -1
- package/dist/admins-components155.js +41 -136
- package/dist/admins-components155.js.map +1 -1
- package/dist/admins-components156.js +36 -57
- package/dist/admins-components156.js.map +1 -1
- package/dist/admins-components157.js +44 -5
- package/dist/admins-components157.js.map +1 -1
- package/dist/admins-components158.js +141 -6
- package/dist/admins-components158.js.map +1 -1
- package/dist/admins-components159.js +57 -75
- package/dist/admins-components159.js.map +1 -1
- package/dist/admins-components160.js +6 -28
- package/dist/admins-components160.js.map +1 -1
- package/dist/admins-components161.js +5 -1930
- package/dist/admins-components161.js.map +1 -1
- package/dist/admins-components162.js +75 -24810
- package/dist/admins-components162.js.map +1 -1
- package/dist/admins-components163.js +28 -8
- package/dist/admins-components163.js.map +1 -1
- package/dist/admins-components164.js +1929 -5
- package/dist/admins-components164.js.map +1 -0
- package/dist/admins-components165.js +24809 -140
- package/dist/admins-components165.js.map +1 -1
- package/dist/admins-components166.js +3 -3
- package/dist/admins-components166.js.map +1 -1
- package/dist/admins-components167.js +7 -9
- package/dist/admins-components168.js +143 -0
- package/dist/admins-components168.js.map +1 -0
- package/dist/admins-components169.js +8 -167
- package/dist/admins-components169.js.map +1 -1
- package/dist/admins-components170.js +8 -52
- package/dist/admins-components170.js.map +1 -1
- package/dist/admins-components172.js +161 -43
- package/dist/admins-components172.js.map +1 -1
- package/dist/admins-components173.js +53 -6
- package/dist/admins-components173.js.map +1 -1
- package/dist/admins-components174.js +8 -79
- package/dist/admins-components174.js.map +1 -1
- package/dist/admins-components175.js +35 -43
- package/dist/admins-components175.js.map +1 -1
- package/dist/admins-components176.js +6 -63
- package/dist/admins-components176.js.map +1 -1
- package/dist/admins-components177.js +79 -8
- package/dist/admins-components177.js.map +1 -1
- package/dist/admins-components178.js +43 -37
- package/dist/admins-components178.js.map +1 -1
- package/dist/admins-components179.js +62 -8
- package/dist/admins-components179.js.map +1 -1
- package/dist/admins-components180.js +10 -0
- package/dist/admins-components180.js.map +1 -0
- package/dist/admins-components181.js +44 -50
- package/dist/admins-components181.js.map +1 -1
- package/dist/admins-components182.js +10 -0
- package/dist/admins-components182.js.map +1 -0
- package/dist/admins-components184.js +59 -0
- package/dist/admins-components184.js.map +1 -0
- package/dist/admins-components29.js.map +1 -1
- package/dist/admins-components30.js.map +1 -1
- package/dist/admins-components5.js.map +1 -1
- package/dist/admins-components6.js.map +1 -1
- package/dist/admins-components60.js +31 -73
- package/dist/admins-components60.js.map +1 -1
- package/dist/admins-components62.js +4 -2
- package/dist/admins-components62.js.map +1 -1
- package/dist/admins-components63.js +95 -88
- package/dist/admins-components63.js.map +1 -1
- package/dist/admins-components64.js +70 -4
- package/dist/admins-components64.js.map +1 -1
- package/dist/admins-components65.js +4 -157
- package/dist/admins-components65.js.map +1 -1
- package/dist/admins-components66.js +90 -0
- package/dist/admins-components66.js.map +1 -0
- package/dist/admins-components67.js +2 -5
- package/dist/admins-components67.js.map +1 -1
- package/dist/admins-components68.js +130 -136
- package/dist/admins-components68.js.map +1 -1
- package/dist/admins-components70.js +2 -2
- package/dist/admins-components70.js.map +1 -1
- package/dist/admins-components71.js +163 -7
- package/dist/admins-components71.js.map +1 -1
- package/dist/admins-components73.js +8 -0
- package/dist/admins-components73.js.map +1 -0
- package/dist/admins-components74.js +7 -6
- package/dist/admins-components74.js.map +1 -1
- package/dist/admins-components75.js +289 -8
- package/dist/admins-components75.js.map +1 -1
- package/dist/admins-components77.js +6 -145
- package/dist/admins-components77.js.map +1 -1
- package/dist/admins-components78.js +10 -0
- package/dist/admins-components78.js.map +1 -0
- package/dist/admins-components79.js +43 -6
- package/dist/admins-components79.js.map +1 -1
- package/dist/admins-components80.js +130 -121
- package/dist/admins-components80.js.map +1 -1
- package/dist/admins-components82.js +2 -2
- package/dist/admins-components82.js.map +1 -1
- package/dist/admins-components83.js +133 -56
- package/dist/admins-components83.js.map +1 -1
- package/dist/admins-components85.js +6 -238
- package/dist/admins-components85.js.map +1 -1
- package/dist/admins-components86.js +60 -0
- package/dist/admins-components86.js.map +1 -0
- package/dist/admins-components87.js +67 -6
- package/dist/admins-components87.js.map +1 -1
- package/dist/admins-components88.js +216 -208
- package/dist/admins-components88.js.map +1 -1
- package/dist/admins-components90.js +2 -2
- package/dist/admins-components90.js.map +1 -1
- package/dist/admins-components91.js +218 -58
- package/dist/admins-components91.js.map +1 -1
- package/dist/admins-components93.js +2 -2
- package/dist/admins-components93.js.map +1 -1
- package/dist/admins-components94.js +65 -194
- package/dist/admins-components94.js.map +1 -1
- package/dist/admins-components96.js +2 -2
- package/dist/admins-components96.js.map +1 -1
- package/dist/admins-components97.js +188 -71
- package/dist/admins-components97.js.map +1 -1
- package/dist/admins-components99.js +2 -2
- package/dist/admins-components99.js.map +1 -1
- package/dist/src/components/Button.vue.d.ts +0 -4
- package/dist/src/components/DropdownMenu.vue.d.ts +0 -4
- package/dist/src/components/data-table/DataList.vue.d.ts +0 -5
- package/dist/src/components/data-table/DataSearch.vue.d.ts +0 -4
- package/dist/src/components/data-table/DataSort.vue.d.ts +0 -5
- package/dist/src/components/data-table/FilterTags.vue.d.ts +0 -6
- package/dist/src/components/data-table/TagList.vue.d.ts +18 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/styles/components/data-table/tag-list.scss_vue_type_style_index_0_src_true_lang.css +1 -0
- package/dist/src/utils/dataListConverters.d.ts +16 -1
- package/package.json +1 -1
- package/dist/admins-components104.js +0 -4
- package/dist/admins-components104.js.map +0 -1
- package/dist/admins-components167.js.map +0 -1
- package/dist/admins-components171.js +0 -10
- package/dist/admins-components171.js.map +0 -1
- package/dist/admins-components61.js +0 -71
- package/dist/admins-components61.js.map +0 -1
- package/dist/admins-components72.js +0 -289
- package/dist/admins-components72.js.map +0 -1
- package/dist/admins-components76.js +0 -44
- package/dist/admins-components76.js.map +0 -1
- package/dist/admins-components84.js +0 -68
- package/dist/admins-components84.js.map +0 -1
|
@@ -1,146 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var h = { class: "ac-component c-paginator-wrapper" }, g = { class: "c-paginator" }, _ = { class: "c-paginator__info" }, v = { class: "c-paginator__range" }, y = { class: "c-paginator__total" }, b = {
|
|
7
|
-
class: "c-paginator__nav",
|
|
8
|
-
"aria-label": "Pagination"
|
|
9
|
-
}, x = {
|
|
10
|
-
key: 0,
|
|
11
|
-
class: "c-paginator__ellipsis"
|
|
12
|
-
}, S = ["onClick"], C = { class: "c-paginator__size" }, w = ["value"], T = ["value"], E = [
|
|
13
|
-
10,
|
|
14
|
-
25,
|
|
15
|
-
50,
|
|
16
|
-
100
|
|
17
|
-
], D = 25;
|
|
18
|
-
function O(e) {
|
|
19
|
-
let r = n("pageSize");
|
|
20
|
-
if (r != null) return r;
|
|
21
|
-
try {
|
|
22
|
-
let n = t("pagination", e), r = localStorage.getItem(n);
|
|
23
|
-
if (r) {
|
|
24
|
-
let e = Number(r);
|
|
25
|
-
if (e > 0) return e;
|
|
26
|
-
}
|
|
27
|
-
} catch {
|
|
28
|
-
console.warn("Failed to read page size from localStorage");
|
|
29
|
-
}
|
|
30
|
-
return D;
|
|
31
|
-
}
|
|
32
|
-
function k(e) {
|
|
33
|
-
return {
|
|
34
|
-
total: 0,
|
|
35
|
-
page: n("page") ?? 1,
|
|
36
|
-
pageSize: O(e)
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
var A = /* @__PURE__ */ l({
|
|
40
|
-
__name: "DataPaginator",
|
|
41
|
-
props: {
|
|
42
|
-
settings: {},
|
|
43
|
-
storageKey: {},
|
|
44
|
-
handleUrl: {
|
|
45
|
-
type: Boolean,
|
|
46
|
-
default: !1
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
emits: ["update:pagination"],
|
|
50
|
-
setup(l, { emit: D }) {
|
|
51
|
-
let O = l, k = D;
|
|
52
|
-
function A(e) {
|
|
53
|
-
try {
|
|
54
|
-
localStorage.setItem(t("pagination", O.storageKey), String(e));
|
|
55
|
-
} catch {
|
|
56
|
-
console.warn("Failed to save page size to localStorage");
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
let j = a(() => Math.max(1, Math.ceil(O.settings.total / O.settings.pageSize))), M = a(() => O.settings.total === 0 ? 0 : (O.settings.page - 1) * O.settings.pageSize + 1), N = a(() => Math.min(O.settings.page * O.settings.pageSize, O.settings.total)), P = a(() => {
|
|
60
|
-
let e = j.value, t = O.settings.page;
|
|
61
|
-
if (e <= F) {
|
|
62
|
-
let t = [];
|
|
63
|
-
for (let n = 1; n <= e; n++) t.push(n);
|
|
64
|
-
return t;
|
|
65
|
-
}
|
|
66
|
-
let n = F - 2, r = t - 1, i = t + 1;
|
|
67
|
-
for (r < 2 && (i = Math.min(e - 1, i + (2 - r)), r = 2), i > e - 1 && (r = Math.max(2, r - (i - (e - 1))), i = e - 1); i - r + 1 < n;) {
|
|
68
|
-
let t = r > 2, a = i < e - 1;
|
|
69
|
-
if (!t && !a) break;
|
|
70
|
-
let o = r - 2, s = e - 1 - i, c = +((t ? r - 1 : 0) > 2) + +(i < e - 1), l = +(r > 2) + +((a ? i + 1 : 0) < e - 1), u = i - r + 2, d = !1;
|
|
71
|
-
if (t && (o >= s || !a) && u + c <= n ? (r--, d = !0) : a && u + l <= n && (i++, d = !0), !d) break;
|
|
72
|
-
}
|
|
73
|
-
let a = r > 2, o = i < e - 1, s = [];
|
|
74
|
-
s.push(1), a && s.push("...");
|
|
75
|
-
for (let e = r; e <= i; e++) s.push(e);
|
|
76
|
-
return o && s.push("..."), s.push(e), s;
|
|
77
|
-
}), F = 7;
|
|
78
|
-
function I(e) {
|
|
79
|
-
let t = O.settings.page, n = j.value, r = e === 1 || e === n, i = e === t;
|
|
80
|
-
return t > 3 && t < n - 2 && !r && !i;
|
|
81
|
-
}
|
|
82
|
-
function L(e) {
|
|
83
|
-
e < 1 || e > j.value || e === O.settings.page || (r("page", e, {
|
|
84
|
-
handleUrl: O.handleUrl,
|
|
85
|
-
default: 1
|
|
86
|
-
}), r("pageSize", O.settings.pageSize, { handleUrl: O.handleUrl }), k("update:pagination", {
|
|
87
|
-
page: e,
|
|
88
|
-
pageSize: O.settings.pageSize
|
|
89
|
-
}));
|
|
90
|
-
}
|
|
91
|
-
function R(e) {
|
|
92
|
-
let t = Number(e.target.value);
|
|
93
|
-
A(t), r("pageSize", t, { handleUrl: O.handleUrl }), r("page", 1, {
|
|
94
|
-
handleUrl: O.handleUrl,
|
|
95
|
-
default: 1
|
|
96
|
-
}), k("update:pagination", {
|
|
97
|
-
page: 1,
|
|
98
|
-
pageSize: t
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
return d(() => {
|
|
102
|
-
if (!O.handleUrl) return;
|
|
103
|
-
let e = n("pageSize"), t = n("page");
|
|
104
|
-
e == null || t == null || e === O.settings.pageSize && t === O.settings.page || k("update:pagination", {
|
|
105
|
-
page: t,
|
|
106
|
-
pageSize: e
|
|
107
|
-
});
|
|
108
|
-
}), (t, n) => (f(), o("div", h, [s("div", g, [
|
|
109
|
-
s("div", _, [s("span", v, m(M.value) + "–" + m(N.value), 1), s("span", y, " / " + m(l.settings.total), 1)]),
|
|
110
|
-
s("nav", b, [
|
|
111
|
-
c(e, {
|
|
112
|
-
icon: "fa-solid fa-chevron-left",
|
|
113
|
-
rel: "prev",
|
|
114
|
-
disabled: l.settings.page <= 1,
|
|
115
|
-
callback: () => L(l.settings.page - 1)
|
|
116
|
-
}, null, 8, ["disabled", "callback"]),
|
|
117
|
-
(f(!0), o(i, null, p(P.value, (e, t) => (f(), o(i, { key: t }, [e === "..." ? (f(), o("span", x, "…")) : (f(), o("button", {
|
|
118
|
-
key: 1,
|
|
119
|
-
type: "button",
|
|
120
|
-
class: u(["c-paginator__page", {
|
|
121
|
-
"is-active": e === l.settings.page,
|
|
122
|
-
"is-hidden-sm": I(e)
|
|
123
|
-
}]),
|
|
124
|
-
onClick: (t) => L(e)
|
|
125
|
-
}, m(e), 11, S))], 64))), 128)),
|
|
126
|
-
c(e, {
|
|
127
|
-
icon: "fa-solid fa-chevron-right",
|
|
128
|
-
rel: "next",
|
|
129
|
-
disabled: l.settings.page >= j.value,
|
|
130
|
-
callback: () => L(l.settings.page + 1)
|
|
131
|
-
}, null, 8, ["disabled", "callback"])
|
|
132
|
-
]),
|
|
133
|
-
s("div", C, [s("select", {
|
|
134
|
-
class: "c-paginator__select",
|
|
135
|
-
id: "page-size-select",
|
|
136
|
-
value: l.settings.pageSize,
|
|
137
|
-
onChange: R
|
|
138
|
-
}, [(f(), o(i, null, p(E, (e) => s("option", {
|
|
139
|
-
key: e,
|
|
140
|
-
value: e
|
|
141
|
-
}, m(e) + " elem / oldal", 9, T)), 64))], 40, w)])
|
|
142
|
-
])]));
|
|
143
|
-
}
|
|
144
|
-
});
|
|
1
|
+
import './src/styles/components/data-table/data-list-options.scss_vue_type_style_index_0_src_true_lang.css';
|
|
2
|
+
import e from "./admins-components75.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region src/components/data-table/DataListOptions.vue
|
|
5
|
+
var t = e;
|
|
145
6
|
//#endregion
|
|
146
|
-
export {
|
|
7
|
+
export { t as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components77.js","names":[],"sources":["../src/components/data-table/DataPaginator.vue"],"sourcesContent":["<script lang=\"ts\">\nconst SIZE_OPTIONS = [10, 25, 50, 100]\nconst DEFAULT_PAGE_SIZE = 25\n\nexport function getPageSize(storageKey: string): number {\n // URL > localStorage > default\n const urlSize = readUrlNumber('pageSize')\n if (urlSize != null) return urlSize\n try {\n const fullStorageKey = getFullStorageKey('pagination', storageKey)\n const raw = localStorage.getItem(fullStorageKey)\n if (raw) {\n const size = Number(raw)\n if (size > 0) return size\n }\n } catch {\n console.warn('Failed to read page size from localStorage')\n }\n return DEFAULT_PAGE_SIZE\n}\n\nexport function getDefaultPaginator(storageKey: string) {\n return {\n total: 0,\n page: readUrlNumber('page') ?? 1,\n pageSize: getPageSize(storageKey),\n } as PaginatorSettings\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted } from 'vue'\nimport Button from '@/components/Button.vue'\nimport type { PaginatorSettings, PageSettings } from '@/types/data-list'\nimport { getFullStorageKey } from '@/utils/storageKey'\nimport { readUrlNumber, writeUrlOrRemove } from '@/utils/url'\n\nconst props = withDefaults(\n defineProps<{ settings: PaginatorSettings; storageKey: string; handleUrl?: boolean }>(),\n { handleUrl: false },\n)\n\nconst emit = defineEmits<{\n 'update:pagination': [pagination: PageSettings]\n}>()\n\nfunction savePageSize(size: number) {\n try {\n localStorage.setItem(getFullStorageKey('pagination', props.storageKey), String(size))\n } catch {\n console.warn('Failed to save page size to localStorage')\n }\n}\n\nconst totalPages = computed(() =>\n Math.max(1, Math.ceil(props.settings.total / props.settings.pageSize)),\n)\n\nconst rangeStart = computed(() =>\n props.settings.total === 0 ? 0 : (props.settings.page - 1) * props.settings.pageSize + 1,\n)\nconst rangeEnd = computed(() =>\n Math.min(props.settings.page * props.settings.pageSize, props.settings.total),\n)\n\nconst visiblePages = computed<(number | '...')[]>(() => {\n const total = totalPages.value\n const current = props.settings.page\n\n if (total <= SLOT_COUNT) {\n const pages: number[] = []\n for (let i = 1; i <= total; i++) pages.push(i)\n return pages\n }\n\n const inner = SLOT_COUNT - 2\n let winStart = current - 1\n let winEnd = current + 1\n if (winStart < 2) {\n winEnd = Math.min(total - 1, winEnd + (2 - winStart))\n winStart = 2\n }\n if (winEnd > total - 1) {\n winStart = Math.max(2, winStart - (winEnd - (total - 1)))\n winEnd = total - 1\n }\n\n while (winEnd - winStart + 1 < inner) {\n const canExtendLeft = winStart > 2\n const canExtendRight = winEnd < total - 1\n if (!canExtendLeft && !canExtendRight) break\n\n const roomLeft = winStart - 2\n const roomRight = total - 1 - winEnd\n\n const ellipsisIfExtendLeft =\n ((canExtendLeft ? winStart - 1 : 0) > 2 ? 1 : 0) + (winEnd < total - 1 ? 1 : 0)\n const ellipsisIfExtendRight =\n (winStart > 2 ? 1 : 0) + ((canExtendRight ? winEnd + 1 : 0) < total - 1 ? 1 : 0)\n\n const newSize = winEnd - winStart + 2\n\n let extended = false\n if (\n canExtendLeft &&\n (roomLeft >= roomRight || !canExtendRight) &&\n newSize + ellipsisIfExtendLeft <= inner\n ) {\n winStart--\n extended = true\n } else if (canExtendRight && newSize + ellipsisIfExtendRight <= inner) {\n winEnd++\n extended = true\n }\n if (!extended) break\n }\n const showLeftEllipsis = winStart > 2\n const showRightEllipsis = winEnd < total - 1\n\n const pages: (number | '...')[] = []\n pages.push(1)\n if (showLeftEllipsis) pages.push('...')\n for (let p = winStart; p <= winEnd; p++) pages.push(p)\n if (showRightEllipsis) pages.push('...')\n pages.push(total)\n\n return pages\n})\n\nconst SLOT_COUNT = 7\n\nfunction shouldHideOnSmall(page: number) {\n const current = props.settings.page\n const total = totalPages.value\n\n const isEdge = page === 1 || page === total\n const isCurrent = page === current\n\n const isMiddleRange = current > 3 && current < total - 2\n\n return isMiddleRange && !isEdge && !isCurrent\n}\n\nfunction goToPage(page: number) {\n if (page < 1 || page > totalPages.value || page === props.settings.page) return\n writeUrlOrRemove('page', page, { handleUrl: props.handleUrl, default: 1 })\n writeUrlOrRemove('pageSize', props.settings.pageSize, { handleUrl: props.handleUrl })\n emit('update:pagination', { page, pageSize: props.settings.pageSize })\n}\n\nfunction changePageSize(event: Event) {\n const size = Number((event.target as HTMLSelectElement).value)\n savePageSize(size)\n writeUrlOrRemove('pageSize', size, { handleUrl: props.handleUrl })\n writeUrlOrRemove('page', 1, { handleUrl: props.handleUrl, default: 1 })\n emit('update:pagination', { page: 1, pageSize: size })\n}\n\nonMounted(() => {\n if (!props.handleUrl) return\n // URL only counts if BOTH `page` and `pageSize` are present and valid.\n // It wins for this load but is intentionally NOT written to localStorage —\n // localStorage holds the user's persistent preference and must not be\n // polluted by transient URL state.\n const urlSize = readUrlNumber('pageSize')\n const urlPage = readUrlNumber('page')\n if (urlSize == null || urlPage == null) return\n if (urlSize === props.settings.pageSize && urlPage === props.settings.page) return\n emit('update:pagination', { page: urlPage, pageSize: urlSize })\n})\n</script>\n\n<template>\n <div class=\"ac-component c-paginator-wrapper\">\n <div class=\"c-paginator\">\n <div class=\"c-paginator__info\">\n <span class=\"c-paginator__range\">{{ rangeStart }}–{{ rangeEnd }}</span>\n <span class=\"c-paginator__total\"> / {{ settings.total }}</span>\n </div>\n\n <nav class=\"c-paginator__nav\" aria-label=\"Pagination\">\n <Button\n icon=\"fa-solid fa-chevron-left\"\n rel=\"prev\"\n :disabled=\"settings.page <= 1\"\n :callback=\"() => goToPage(settings.page - 1)\"\n />\n\n <template v-for=\"(p, i) in visiblePages\" :key=\"i\">\n <span v-if=\"p === '...'\" class=\"c-paginator__ellipsis\">…</span>\n <button\n v-else\n type=\"button\"\n class=\"c-paginator__page\"\n :class=\"{\n 'is-active': p === settings.page,\n 'is-hidden-sm': shouldHideOnSmall(p),\n }\"\n @click=\"goToPage(p)\"\n >\n {{ p }}\n </button>\n </template>\n\n <Button\n icon=\"fa-solid fa-chevron-right\"\n rel=\"next\"\n :disabled=\"settings.page >= totalPages\"\n :callback=\"() => goToPage(settings.page + 1)\"\n />\n </nav>\n\n <div class=\"c-paginator__size\">\n <select\n class=\"c-paginator__select\"\n id=\"page-size-select\"\n :value=\"settings.pageSize\"\n @change=\"changePageSize\"\n >\n <option v-for=\"s in SIZE_OPTIONS\" :key=\"s\" :value=\"s\">{{ s }} elem / oldal</option>\n </select>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-paginator.scss\"></style>\n"],"mappings":";;;;;;;;;;;sFACM,IAAe;CAAC;CAAI;CAAI;CAAI;AAAG,GAC/B,IAAoB;AAE1B,SAAgB,EAAY,GAA4B;CAEtD,IAAM,IAAU,EAAc,UAAU;CACxC,IAAI,KAAW,MAAM,OAAO;CAC5B,IAAI;EACF,IAAM,IAAiB,EAAkB,cAAc,CAAU,GAC3D,IAAM,aAAa,QAAQ,CAAc;EAC/C,IAAI,GAAK;GACP,IAAM,IAAO,OAAO,CAAG;GACvB,IAAI,IAAO,GAAG,OAAO;EACvB;CACF,QAAQ;EACN,QAAQ,KAAK,4CAA4C;CAC3D;CACA,OAAO;AACT;AAEA,SAAgB,EAAoB,GAAoB;CACtD,OAAO;EACL,OAAO;EACP,MAAM,EAAc,MAAM,KAAK;EAC/B,UAAU,EAAY,CAAU;CAClC;AACF;;;;;;;;;;;;;EAUA,IAAM,IAAQ,GAKR,IAAO;EAIb,SAAS,EAAa,GAAc;GAClC,IAAI;IACF,aAAa,QAAQ,EAAkB,cAAc,EAAM,UAAU,GAAG,OAAO,CAAI,CAAC;GACtF,QAAQ;IACN,QAAQ,KAAK,0CAA0C;GACzD;EACF;EAEA,IAAM,IAAa,QACjB,KAAK,IAAI,GAAG,KAAK,KAAK,EAAM,SAAS,QAAQ,EAAM,SAAS,QAAQ,CAAC,CACvE,GAEM,IAAa,QACjB,EAAM,SAAS,UAAU,IAAI,KAAK,EAAM,SAAS,OAAO,KAAK,EAAM,SAAS,WAAW,CACzF,GACM,IAAW,QACf,KAAK,IAAI,EAAM,SAAS,OAAO,EAAM,SAAS,UAAU,EAAM,SAAS,KAAK,CAC9E,GAEM,IAAe,QAAmC;GACtD,IAAM,IAAQ,EAAW,OACnB,IAAU,EAAM,SAAS;GAE/B,IAAI,KAAS,GAAY;IACvB,IAAM,IAAkB,CAAC;IACzB,KAAK,IAAI,IAAI,GAAG,KAAK,GAAO,KAAK,EAAM,KAAK,CAAC;IAC7C,OAAO;GACT;GAEA,IAAM,IAAQ,IAAa,GACvB,IAAW,IAAU,GACrB,IAAS,IAAU;GAUvB,KATI,IAAW,MACb,IAAS,KAAK,IAAI,IAAQ,GAAG,KAAU,IAAI,EAAS,GACpD,IAAW,IAET,IAAS,IAAQ,MACnB,IAAW,KAAK,IAAI,GAAG,KAAY,KAAU,IAAQ,GAAG,GACxD,IAAS,IAAQ,IAGZ,IAAS,IAAW,IAAI,IAAO;IACpC,IAAM,IAAgB,IAAW,GAC3B,IAAiB,IAAS,IAAQ;IACxC,IAAI,CAAC,KAAiB,CAAC,GAAgB;IAEvC,IAAM,IAAW,IAAW,GACtB,IAAY,IAAQ,IAAI,GAExB,IAAA,GACF,IAAgB,IAAW,IAAI,KAAK,KAAc,MAAS,IAAQ,IACjE,IACH,MAAW,KAAQ,GAAO,IAAiB,IAAS,IAAI,KAAK,IAAQ,IAElE,IAAU,IAAS,IAAW,GAEhC,IAAW;IAYf,IAVE,MACC,KAAY,KAAa,CAAC,MAC3B,IAAU,KAAwB,KAElC,KACA,IAAW,MACF,KAAkB,IAAU,KAAyB,MAC9D,KACA,IAAW,KAET,CAAC,GAAU;GACjB;GACA,IAAM,IAAmB,IAAW,GAC9B,IAAoB,IAAS,IAAQ,GAErC,IAA4B,CAAC;GAEnC,AADA,EAAM,KAAK,CAAC,GACR,KAAkB,EAAM,KAAK,KAAK;GACtC,KAAK,IAAI,IAAI,GAAU,KAAK,GAAQ,KAAK,EAAM,KAAK,CAAC;GAIrD,OAHI,KAAmB,EAAM,KAAK,KAAK,GACvC,EAAM,KAAK,CAAK,GAET;EACT,CAAC,GAEK,IAAa;EAEnB,SAAS,EAAkB,GAAc;GACvC,IAAM,IAAU,EAAM,SAAS,MACzB,IAAQ,EAAW,OAEnB,IAAS,MAAS,KAAK,MAAS,GAChC,IAAY,MAAS;GAI3B,OAFsB,IAAU,KAAK,IAAU,IAAQ,KAE/B,CAAC,KAAU,CAAC;EACtC;EAEA,SAAS,EAAS,GAAc;GAC1B,IAAO,KAAK,IAAO,EAAW,SAAS,MAAS,EAAM,SAAS,SACnE,EAAiB,QAAQ,GAAM;IAAE,WAAW,EAAM;IAAW,SAAS;GAAE,CAAC,GACzE,EAAiB,YAAY,EAAM,SAAS,UAAU,EAAE,WAAW,EAAM,UAAU,CAAC,GACpF,EAAK,qBAAqB;IAAE;IAAM,UAAU,EAAM,SAAS;GAAS,CAAC;EACvE;EAEA,SAAS,EAAe,GAAc;GACpC,IAAM,IAAO,OAAQ,EAAM,OAA6B,KAAK;GAI7D,AAHA,EAAa,CAAI,GACjB,EAAiB,YAAY,GAAM,EAAE,WAAW,EAAM,UAAU,CAAC,GACjE,EAAiB,QAAQ,GAAG;IAAE,WAAW,EAAM;IAAW,SAAS;GAAE,CAAC,GACtE,EAAK,qBAAqB;IAAE,MAAM;IAAG,UAAU;GAAK,CAAC;EACvD;SAEA,QAAgB;GACd,IAAI,CAAC,EAAM,WAAW;GAKtB,IAAM,IAAU,EAAc,UAAU,GAClC,IAAU,EAAc,MAAM;GAChC,KAAW,QAAQ,KAAW,QAC9B,MAAY,EAAM,SAAS,YAAY,MAAY,EAAM,SAAS,QACtE,EAAK,qBAAqB;IAAE,MAAM;IAAS,UAAU;GAAQ,CAAC;EAChE,CAAC,mBAIC,EAkDM,OAlDN,GAkDM,CAjDJ,EAgDM,OAhDN,GAgDM;GA/CJ,EAGM,OAHN,GAGM,CAFJ,EAA6E,QAA7E,GAA6E,EAAzC,EAAA,KAAU,IAAG,MAAO,EAAG,EAAA,KAAQ,GAAA,CAAA,GACnE,EAA+D,QAA/D,GAAiC,QAAG,EAAG,EAAA,SAAS,KAAK,GAAA,CAAA,CAAA,CAAA;GAGvD,EA8BM,OA9BN,GA8BM;IA7BJ,EAKE,GAAA;KAJA,MAAK;KACL,KAAI;KACH,UAAU,EAAA,SAAS,QAAI;KACvB,gBAAgB,EAAS,EAAA,SAAS,OAAI,CAAA;;YAGzC,EAcW,GAAA,MAAA,EAdgB,EAAA,QAAT,GAAG,wBAA0B,EAAC,GAAA,CAClC,MAAC,SAAA,EAAA,GAAb,EAAsE,QAAtE,GAAuD,GAAQ,MAAA,EAAA,GAC/D,EAWS,UAAA;;KATP,MAAK;KACL,OAAK,EAAA,CAAC,qBAAmB;mBACY,MAAM,EAAA,SAAS;sBAAoC,EAAkB,CAAC;;KAI1G,UAAK,MAAE,EAAS,CAAC;SAEf,CAAC,GAAA,IAAA,CAAA,EAAA,GAAA,EAAA;IAIR,EAKE,GAAA;KAJA,MAAK;KACL,KAAI;KACH,UAAU,EAAA,SAAS,QAAQ,EAAA;KAC3B,gBAAgB,EAAS,EAAA,SAAS,OAAI,CAAA;;;GAI3C,EASM,OATN,GASM,CARJ,EAOS,UAAA;IANP,OAAM;IACN,IAAG;IACF,OAAO,EAAA,SAAS;IAChB,UAAQ;aAET,EAAmF,GAAA,MAAA,EAA/D,IAAL,MAAf,EAAmF,UAAA;IAAhD,KAAK;IAAI,OAAO;QAAM,CAAC,IAAG,iBAAa,GAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"admins-components77.js","names":[],"sources":["../src/components/data-table/DataListOptions.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Column, DataListSettings } from '@/types/data-list'\nimport {\n dataTableSettingsDefaults,\n dataCardsSettingsDefaults,\n dataListSettingsDefaults,\n} from '@/types/data-list'\nimport { deepMerge } from '@/utils/objects'\nimport Button from '@/components/Button.vue'\n\nexport interface DataListOptionsProps {\n open?: boolean\n columns: Column[]\n settings: Partial<DataListSettings>\n position?: SidebarPosition\n storageKey: string\n orderable?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, onMounted, watch } from 'vue'\nimport Sidebar, { type SidebarPosition } from '@/components/Sidebar.vue'\n\nconst props = withDefaults(defineProps<DataListOptionsProps>(), {\n orderable: false,\n})\n\nconst emit = defineEmits<{\n close: []\n change: [settings: DataListSettings]\n}>()\n\nconst local = ref<DataListSettings>(getDefaults())\n\nconst storageKey = computed(() => `data-list-${props.storageKey}`)\n\nconst hasCustomSettings = computed(\n () => JSON.stringify(local.value) !== JSON.stringify(getDefaults()),\n)\n\nfunction isColumnLocked(col: Column): boolean {\n return col.primary === true || col.hideable === false\n}\n\n// Force locked columns to true in both column maps, regardless of saved state.\nfunction applyLockedOverrides(s: DataListSettings) {\n for (const col of props.columns) {\n if (isColumnLocked(col)) {\n s.columns[col.property] = true\n s.cardHeaderColumns[col.property] = true\n }\n }\n}\n\nfunction getDefaults(): DataListSettings {\n return {\n ...dataCardsSettingsDefaults,\n ...dataTableSettingsDefaults,\n ...dataListSettingsDefaults,\n ...props.settings,\n columns: Object.fromEntries(\n props.columns.map((c) => [\n c.property,\n props.settings.columns?.[c.property] ?? c.visible !== false,\n ]),\n ),\n cardHeaderColumns: Object.fromEntries(\n props.columns.map((c) => [\n c.property,\n props.settings.cardHeaderColumns?.[c.property] ??\n (c.primary === true || c.hideable === false || c.defaultCardHeader === true),\n ]),\n ),\n columnOrder: props.settings.columnOrder ?? props.columns.map((c) => c.property),\n cardHeaderOrder: props.settings.cardHeaderOrder ?? props.columns.map((c) => c.property),\n } as DataListSettings\n}\n\nfunction load() {\n try {\n const raw = localStorage.getItem(storageKey.value)\n const defaults = getDefaults()\n if (raw) {\n const data = JSON.parse(raw)\n local.value = data.settings\n ? reconcileOrders(deepMerge(defaults, data.settings) as DataListSettings, props.columns)\n : defaults\n } else {\n local.value = defaults\n }\n } catch {\n local.value = getDefaults()\n }\n applyLockedOverrides(local.value)\n emit('change', local.value)\n}\n\nfunction reconcileOrders(settings: DataListSettings, columns: Column[]): DataListSettings {\n const sourceOrder = columns.map((c) => c.property)\n const reconcile = (order: string[] | undefined): string[] => {\n // Saved order, restricted to columns that still exist in the source config.\n const saved = (order ?? []).filter((p) => sourceOrder.includes(p))\n const savedSet = new Set(saved)\n // Walk the source-code order. For each property:\n // - if it was saved, pull it from the saved sequence in saved order\n // - if it's new, insert it at its source-code position\n const merged: string[] = []\n let savedIdx = 0\n for (const property of sourceOrder) {\n if (savedSet.has(property)) {\n merged.push(saved[savedIdx++]!)\n } else {\n merged.push(property)\n }\n }\n return merged\n }\n return {\n ...settings,\n columnOrder: reconcile(settings.columnOrder),\n cardHeaderOrder: reconcile(settings.cardHeaderOrder),\n }\n}\n\nfunction save() {\n try {\n const key = storageKey.value\n const raw = localStorage.getItem(key)\n const data = raw ? JSON.parse(raw) : {}\n data.settings = local.value\n localStorage.setItem(key, JSON.stringify(data))\n } catch (e) {\n console.error(e)\n /* ignore */\n }\n emit('change', local.value)\n}\n\nfunction update<K extends keyof DataListSettings>(key: K, value: DataListSettings[K]) {\n local.value = { ...local.value, [key]: value }\n save()\n}\n\nfunction toggleColumn(property: string) {\n update('columns', { ...local.value.columns, [property]: !local.value.columns[property] })\n}\n\nfunction toggleCardHeaderColumn(property: string) {\n update('cardHeaderColumns', {\n ...local.value.cardHeaderColumns,\n [property]: !local.value.cardHeaderColumns[property],\n })\n}\n\nfunction toggle(key: 'striped' | 'compact') {\n update(key, !local.value[key])\n}\n\nfunction sortByOrder(cols: Column[], order: string[]) {\n return [...cols].sort((a, b) => {\n const ai = order.indexOf(a.property)\n const bi = order.indexOf(b.property)\n return (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi)\n })\n}\n\nconst orderedColumns = computed(() => sortByOrder(props.columns, local.value.columnOrder))\n\nconst orderedCardHeaderColumns = computed(() =>\n sortByOrder(props.columns, local.value.cardHeaderOrder),\n)\n\nconst dragIndex = ref<number | null>(null)\nconst selectedReorderIndex = ref<number | null>(null)\n\nconst cardHeaderDragIndex = ref<number | null>(null)\nconst selectedCardHeaderIndex = ref<number | null>(null)\n\nfunction onDragStart(index: number) {\n dragIndex.value = index\n}\n\nfunction onDragOver(e: DragEvent, index: number) {\n e.preventDefault()\n if (dragIndex.value === null || dragIndex.value === index) return\n const order = [...local.value.columnOrder]\n const moved = order.splice(dragIndex.value, 1)[0]\n if (!moved) return\n order.splice(index, 0, moved)\n dragIndex.value = index\n update('columnOrder', order)\n}\n\nfunction onDragEnd() {\n dragIndex.value = null\n}\n\nfunction selectForReorder(index: number) {\n selectedReorderIndex.value = selectedReorderIndex.value === index ? null : index\n}\n\nfunction moveSelected(direction: -1 | 1) {\n if (selectedReorderIndex.value === null) return\n const target = selectedReorderIndex.value + direction\n if (target < 0 || target >= local.value.columnOrder.length) return\n const order = [...local.value.columnOrder]\n const tmp = order[selectedReorderIndex.value]!\n order[selectedReorderIndex.value] = order[target]!\n order[target] = tmp\n update('columnOrder', order)\n selectedReorderIndex.value = target\n}\n\nfunction onCardHeaderDragStart(index: number) {\n cardHeaderDragIndex.value = index\n}\n\nfunction onCardHeaderDragOver(e: DragEvent, index: number) {\n e.preventDefault()\n if (cardHeaderDragIndex.value === null || cardHeaderDragIndex.value === index) return\n const order = [...local.value.cardHeaderOrder]\n const moved = order.splice(cardHeaderDragIndex.value, 1)[0]\n if (!moved) return\n order.splice(index, 0, moved)\n cardHeaderDragIndex.value = index\n update('cardHeaderOrder', order)\n}\n\nfunction onCardHeaderDragEnd() {\n cardHeaderDragIndex.value = null\n}\n\nfunction selectCardHeader(index: number) {\n selectedCardHeaderIndex.value = selectedCardHeaderIndex.value === index ? null : index\n}\n\nfunction moveCardHeader(direction: -1 | 1) {\n if (selectedCardHeaderIndex.value === null) return\n const target = selectedCardHeaderIndex.value + direction\n if (target < 0 || target >= local.value.cardHeaderOrder.length) return\n const order = [...local.value.cardHeaderOrder]\n const tmp = order[selectedCardHeaderIndex.value]!\n order[selectedCardHeaderIndex.value] = order[target]!\n order[target] = tmp\n update('cardHeaderOrder', order)\n selectedCardHeaderIndex.value = target\n}\n\nfunction reset() {\n localStorage.removeItem(storageKey.value)\n local.value = getDefaults()\n emit('change', local.value)\n}\n\nonMounted(load)\n\n// If the columns prop changes at runtime, re-reconcile the orders so new\n// columns appear at their source-code position, and re-apply locked overrides.\nwatch(\n () => props.columns,\n () => {\n local.value = reconcileOrders(local.value, props.columns)\n applyLockedOverrides(local.value)\n },\n)\n</script>\n\n<template>\n <Sidebar :open=\"open\" title=\"Lista beállítások\" :position=\"props.position\" @close=\"emit('close')\">\n <div class=\"table-options\">\n <div class=\"table-options__col\">\n <h4 class=\"table-options__title\">\n Elrendezés\n <span class=\"table-options__title-value\"\n >—\n {{\n local.layout === 'screen' ? 'Auto' : local.layout === 'table' ? 'Táblázat' : 'Kártyák'\n }}</span\n >\n </h4>\n <div class=\"layout-switch\">\n <button\n class=\"layout-switch__btn\"\n :class=\"{ 'layout-switch__btn--active': local.layout === 'screen' }\"\n title=\"Kijelző méretéhez igazodó elrendezés\"\n @click=\"update('layout', 'screen')\"\n >\n <i class=\"fa-solid fa-display\"></i>\n </button>\n <button\n class=\"layout-switch__btn\"\n :class=\"{ 'layout-switch__btn--active': local.layout === 'table' }\"\n title=\"Táblázat nézet\"\n @click=\"update('layout', 'table')\"\n >\n <i class=\"fa-solid fa-table-list\"></i>\n </button>\n <button\n class=\"layout-switch__btn\"\n :class=\"{ 'layout-switch__btn--active': local.layout === 'cards' }\"\n title=\"Kártya nézet\"\n @click=\"update('layout', 'cards')\"\n >\n <i class=\"fa-solid fa-list\"></i>\n </button>\n </div>\n </div>\n <div class=\"table-options__col\">\n <h4\n class=\"table-options__title\"\n v-tooltip.html=\"\n '<b>Kompakt</b>: A sorok közötti térköz csökkentése<br><br><b>Sávos</b> (csak táblázat nézetben): A páros sorok háttere kicsit sötétebb '\n \"\n >\n Megjelenés <i class=\"fa-regular fa-question-circle\"></i>\n </h4>\n <ul class=\"table-options__list\">\n <li\n class=\"table-options__item\"\n @click=\"toggle('compact')\"\n title=\"A sorok közötti térköz csökkentése\"\n >\n <span\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': local.compact }\"\n @click.stop=\"toggle('compact')\"\n ></span>\n <span>Kompakt</span>\n </li>\n <li\n class=\"table-options__item\"\n @click=\"toggle('striped')\"\n title=\"A páros sorok háttere kicsit sötétebb (csak táblázat nézetben)\"\n >\n <span\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': local.striped }\"\n @click.stop=\"toggle('striped')\"\n ></span>\n <span>Sávos (striped)</span>\n </li>\n </ul>\n </div>\n <div class=\"table-options__col\">\n <h4 class=\"table-options__title\" v-tooltip=\"'Táblázat nézetben megjelenő oszlopok'\">\n Táblázat oszlopok <i class=\"fa-regular fa-question-circle\"></i>\n </h4>\n <ul class=\"table-options__list\">\n <li\n v-for=\"(col, index) in orderedColumns\"\n :key=\"col.property\"\n class=\"table-options__item\"\n :class=\"{\n 'table-options__item--disabled': isColumnLocked(col),\n 'table-options__item--selected': orderable && selectedReorderIndex === index,\n 'table-options__item--dragging': orderable && dragIndex === index,\n }\"\n :draggable=\"orderable\"\n @dragstart.stop=\"orderable && onDragStart(index)\"\n @dragover.prevent=\"orderable && onDragOver($event, index)\"\n @drop.prevent\n @dragend=\"orderable && onDragEnd()\"\n @click.prevent=\"\n orderable\n ? selectForReorder(index)\n : !isColumnLocked(col) && toggleColumn(col.property)\n \"\n >\n <i v-if=\"orderable\" class=\"fa-solid fa-grip-vertical table-options__drag-handle\"></i>\n <span\n class=\"table-options__toggle\"\n @click.stop=\"!isColumnLocked(col) && toggleColumn(col.property)\"\n >\n <span\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': local.columns[col.property] }\"\n ></span>\n <span>{{ col.label }}</span>\n </span>\n </li>\n </ul>\n <div v-if=\"orderable && selectedReorderIndex !== null\" class=\"table-options__move-actions\">\n <button\n class=\"table-options__move-btn\"\n :disabled=\"selectedReorderIndex === 0\"\n @click=\"moveSelected(-1)\"\n >\n <i class=\"fa-solid fa-arrow-up\"></i>\n </button>\n <button\n class=\"table-options__move-btn\"\n :disabled=\"selectedReorderIndex === orderedColumns.length - 1\"\n @click=\"moveSelected(1)\"\n >\n <i class=\"fa-solid fa-arrow-down\"></i>\n </button>\n </div>\n </div>\n <div class=\"table-options__col\">\n <h4\n class=\"table-options__title flex-center gap-1\"\n v-tooltip=\"'Kártya nézetben, a sorok fejlécén megjelenő oszlopok'\"\n >\n Kártya fejléc <i class=\"fa-regular fa-question-circle\"></i>\n </h4>\n <ul class=\"table-options__list\">\n <li\n v-for=\"(col, index) in orderedCardHeaderColumns\"\n :key=\"'ch-' + col.property\"\n class=\"table-options__item\"\n :class=\"{\n 'table-options__item--disabled': isColumnLocked(col),\n 'table-options__item--selected': orderable && selectedCardHeaderIndex === index,\n 'table-options__item--dragging': orderable && cardHeaderDragIndex === index,\n }\"\n :draggable=\"orderable\"\n @dragstart.stop=\"orderable && onCardHeaderDragStart(index)\"\n @dragover.prevent=\"orderable && onCardHeaderDragOver($event, index)\"\n @drop.prevent\n @dragend=\"orderable && onCardHeaderDragEnd()\"\n @click.prevent=\"\n orderable\n ? selectCardHeader(index)\n : !isColumnLocked(col) && toggleCardHeaderColumn(col.property)\n \"\n >\n <i v-if=\"orderable\" class=\"fa-solid fa-grip-vertical table-options__drag-handle\"></i>\n <span\n class=\"table-options__toggle\"\n @click.stop=\"!isColumnLocked(col) && toggleCardHeaderColumn(col.property)\"\n >\n <span\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': local.cardHeaderColumns[col.property] }\"\n ></span>\n <span>{{ col.label }}</span>\n </span>\n </li>\n </ul>\n <div\n v-if=\"orderable && selectedCardHeaderIndex !== null\"\n class=\"table-options__move-actions\"\n >\n <button\n class=\"table-options__move-btn\"\n :disabled=\"selectedCardHeaderIndex === 0\"\n @click=\"moveCardHeader(-1)\"\n >\n <i class=\"fa-solid fa-arrow-up\"></i>\n </button>\n <button\n class=\"table-options__move-btn\"\n :disabled=\"selectedCardHeaderIndex === orderedCardHeaderColumns.length - 1\"\n @click=\"moveCardHeader(1)\"\n >\n <i class=\"fa-solid fa-arrow-down\"></i>\n </button>\n </div>\n </div>\n </div>\n <div class=\"table-options__footer\">\n <Button\n icon=\"fa-solid fa-triangle-exclamation\"\n :disabled=\"!hasCustomSettings\"\n label=\"Alapértelmezés visszaállítása\"\n size=\"small\"\n @click=\"reset\"\n />\n <Button label=\"OK\" @click=\"emit('close')\" />\n </div>\n </Sidebar>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/data-table/data-list-options.scss\"></style>\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admins-components78.js","names":[],"sources":["../src/utils/storageKey.ts"],"sourcesContent":["export const FILTERS_STORAGE_KEY_PREFIX = 'data-filters-'\nexport const PAGINATION_STORAGE_KEY_PREFIX = 'pageSize-'\n\nexport type Storable = 'filters' | 'pagination'\n\nexport function getFullStorageKey(type: Storable, storageKey = ''): string {\n switch (type) {\n case 'filters':\n return FILTERS_STORAGE_KEY_PREFIX + storageKey\n case 'pagination':\n return PAGINATION_STORAGE_KEY_PREFIX + storageKey\n }\n}\n"],"mappings":";AAAA,IAAa,IAA6B,iBAC7B,IAAgC;AAI7C,SAAgB,EAAkB,GAAgB,IAAa,IAAY;CACzE,QAAQ,GAAR;EACE,KAAK,WACH,OAAO,IAA6B;EACtC,KAAK,cACH,OAAO,IAAgC;CAC3C;AACF"}
|
|
@@ -1,7 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
//#region src/utils/url.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
return new URLSearchParams(window.location.search).get(e);
|
|
4
|
+
}
|
|
5
|
+
function t(e) {
|
|
6
|
+
let t = new URLSearchParams(e.search), n = t.get("page"), r = t.get("pageSize");
|
|
7
|
+
n == null && r == null || (t.delete("page"), t.delete("pageSize"), r != null && t.append("pageSize", r), n != null && t.append("page", n), e.search = t.toString());
|
|
8
|
+
}
|
|
9
|
+
function n(e, n) {
|
|
10
|
+
let r = new URL(window.location.href);
|
|
11
|
+
r.searchParams.set(e, String(n)), t(r), window.history.replaceState({}, "", r.toString());
|
|
12
|
+
}
|
|
13
|
+
function r(e) {
|
|
14
|
+
let n = new URL(window.location.href);
|
|
15
|
+
e ? n.searchParams.delete(e) : n.search = "", t(n), window.history.replaceState({}, "", n.toString());
|
|
16
|
+
}
|
|
17
|
+
function i(t) {
|
|
18
|
+
let n = e(t);
|
|
19
|
+
if (n == null) return null;
|
|
20
|
+
let r = Number(n);
|
|
21
|
+
return Number.isFinite(r) && r > 0 ? r : null;
|
|
22
|
+
}
|
|
23
|
+
function a(e, t, i) {
|
|
24
|
+
let { handleUrl: a, removeWhenDefault: o = !0, default: s } = i;
|
|
25
|
+
if (a) {
|
|
26
|
+
if ((t == null || t === "" || s !== void 0 && t === s) && o) {
|
|
27
|
+
r(e);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
n(e, String(t));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function o(...e) {
|
|
34
|
+
return e.map((e, t) => t === 0 ? e.replace(/\/+$/, "") : e.replace(/^\/+|\/+$/g, "")).filter(Boolean).join("/");
|
|
35
|
+
}
|
|
36
|
+
function s(e, t) {
|
|
37
|
+
if (t === "_blank") {
|
|
38
|
+
window.open(e, "_blank");
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
window.self === window.top ? window.location.href = e : window.top.location.href = e;
|
|
42
|
+
}
|
|
6
43
|
//#endregion
|
|
7
|
-
export {
|
|
44
|
+
export { e as getUrlParam, o as joinUrl, s as navigateIframe, i as readUrlNumber, r as removeUrlParam, n as setUrlParam, a as writeUrlOrRemove };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admins-components79.js","names":[],"sources":["../src/
|
|
1
|
+
{"version":3,"file":"admins-components79.js","names":[],"sources":["../src/utils/url.ts"],"sourcesContent":["export function getUrlParam(key: string): string | null {\n return new URLSearchParams(window.location.search).get(key)\n}\n\nfunction paginationAtEnd(url: URL) {\n const params = new URLSearchParams(url.search)\n const page = params.get('page')\n const pageSize = params.get('pageSize')\n if (page == null && pageSize == null) return\n params.delete('page')\n params.delete('pageSize')\n if (pageSize != null) params.append('pageSize', pageSize)\n if (page != null) params.append('page', page)\n url.search = params.toString()\n}\n\nexport function setUrlParam(key: string, value: string | number): void {\n const url = new URL(window.location.href)\n url.searchParams.set(key, String(value))\n paginationAtEnd(url)\n window.history.replaceState({}, '', url.toString())\n}\n\nexport function removeUrlParam(key?: string): void {\n const url = new URL(window.location.href)\n if (key) {\n url.searchParams.delete(key)\n } else {\n url.search = ''\n }\n paginationAtEnd(url)\n window.history.replaceState({}, '', url.toString())\n}\n\n/** Read a URL param as a positive number. Returns `null` if missing or invalid. */\nexport function readUrlNumber(key: string): number | null {\n const raw = getUrlParam(key)\n if (raw == null) return null\n const n = Number(raw)\n return Number.isFinite(n) && n > 0 ? n : null\n}\n\n/** Read a URL param as a boolean. Accepts `'true' | '1' | 'false' | '0'`. Returns `null` otherwise. */\nexport function readUrlBool(key: string): boolean | null {\n const raw = getUrlParam(key)\n if (raw === 'true' || raw === '1') return true\n if (raw === 'false' || raw === '0') return false\n return null\n}\n\n/** Read a URL param as a non-empty string. Returns `null` if missing or empty. */\nexport function readUrlString(key: string): string | null {\n const raw = getUrlParam(key)\n return raw ? raw : null\n}\n\ninterface WriteUrlOptions {\n handleUrl: boolean\n /**\n * If the new value equals the default (or is `''` / `null`), the URL param\n * is *removed* rather than set. Keeps URLs clean. Defaults to `true`.\n */\n removeWhenDefault?: boolean\n default?: unknown\n}\n\n/**\n * Write a value to the URL — or remove the param if `handleUrl` is `false`,\n * or if the value matches the default / is empty.\n */\nexport function writeUrlOrRemove(\n key: string,\n value: string | number | boolean | null | undefined,\n options: WriteUrlOptions,\n): void {\n const { handleUrl, removeWhenDefault = true, default: defaultValue } = options\n if (!handleUrl) return\n const isEmpty = value == null || value === ''\n const isDefault = defaultValue !== undefined && value === defaultValue\n if ((isEmpty || isDefault) && removeWhenDefault) {\n removeUrlParam(key)\n return\n }\n setUrlParam(key, String(value))\n}\n\nexport function joinUrl(...parts: string[]): string {\n return parts\n .map((part, i) => {\n if (i === 0) return part.replace(/\\/+$/, '')\n return part.replace(/^\\/+|\\/+$/g, '')\n })\n .filter(Boolean)\n .join('/')\n}\n\nexport function navigateIframe(url: string, target?: string): void {\n if (target === '_blank') {\n window.open(url, '_blank')\n return\n }\n\n const isIframe = window.self !== window.top\n\n if (isIframe) {\n window.top!.location.href = url\n } else {\n window.location.href = url\n }\n}\n/* export function navigateIframe(url: string, target?: string): void {\n const isIframe = window.self !== window.top\n if (target === '_blank') {\n window.open(url, '_blank')\n return\n }\n if (!isIframe) {\n window.location.href = url\n return\n }\n top!.window.location.href = url\n} */\n/*\nexport function setupIframeNavigation(element: HTMLAnchorElement): () => void {\n const handleClick = (event: MouseEvent) => {\n if (event.ctrlKey || event.metaKey) {\n event.preventDefault()\n navigateIframe(element.getAttribute('href')!, '_blank')\n return\n }\n\n event.preventDefault()\n navigateIframe(element.getAttribute('href')!)\n }\n\n const handleAuxClick = (event: MouseEvent) => {\n if (event.button !== 1) return\n\n event.preventDefault()\n navigateIframe(element.getAttribute('href')!, '_blank')\n }\n\n element.addEventListener('click', handleClick)\n element.addEventListener('auxclick', handleAuxClick)\n\n return () => {\n element.removeEventListener('click', handleClick)\n element.removeEventListener('auxclick', handleAuxClick)\n }\n} */\n"],"mappings":";AAAA,SAAgB,EAAY,GAA4B;CACtD,OAAO,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE,IAAI,CAAG;AAC5D;AAEA,SAAS,EAAgB,GAAU;CACjC,IAAM,IAAS,IAAI,gBAAgB,EAAI,MAAM,GACvC,IAAO,EAAO,IAAI,MAAM,GACxB,IAAW,EAAO,IAAI,UAAU;CAClC,KAAQ,QAAQ,KAAY,SAChC,EAAO,OAAO,MAAM,GACpB,EAAO,OAAO,UAAU,GACpB,KAAY,QAAM,EAAO,OAAO,YAAY,CAAQ,GACpD,KAAQ,QAAM,EAAO,OAAO,QAAQ,CAAI,GAC5C,EAAI,SAAS,EAAO,SAAS;AAC/B;AAEA,SAAgB,EAAY,GAAa,GAA8B;CACrE,IAAM,IAAM,IAAI,IAAI,OAAO,SAAS,IAAI;CAGxC,AAFA,EAAI,aAAa,IAAI,GAAK,OAAO,CAAK,CAAC,GACvC,EAAgB,CAAG,GACnB,OAAO,QAAQ,aAAa,CAAC,GAAG,IAAI,EAAI,SAAS,CAAC;AACpD;AAEA,SAAgB,EAAe,GAAoB;CACjD,IAAM,IAAM,IAAI,IAAI,OAAO,SAAS,IAAI;CAOxC,AANI,IACF,EAAI,aAAa,OAAO,CAAG,IAE3B,EAAI,SAAS,IAEf,EAAgB,CAAG,GACnB,OAAO,QAAQ,aAAa,CAAC,GAAG,IAAI,EAAI,SAAS,CAAC;AACpD;AAGA,SAAgB,EAAc,GAA4B;CACxD,IAAM,IAAM,EAAY,CAAG;CAC3B,IAAI,KAAO,MAAM,OAAO;CACxB,IAAM,IAAI,OAAO,CAAG;CACpB,OAAO,OAAO,SAAS,CAAC,KAAK,IAAI,IAAI,IAAI;AAC3C;AA8BA,SAAgB,EACd,GACA,GACA,GACM;CACN,IAAM,EAAE,cAAW,uBAAoB,IAAM,SAAS,MAAiB;CAClE,OAGL;OAFgB,KAAS,QAAQ,MAAU,MACzB,MAAiB,KAAA,KAAa,MAAU,MAC5B,GAAmB;GAC/C,EAAe,CAAG;GAClB;EACF;EACA,EAAY,GAAK,OAAO,CAAK,CAAC;CAD9B;AAEF;AAEA,SAAgB,EAAQ,GAAG,GAAyB;CAClD,OAAO,EACJ,KAAK,GAAM,MACN,MAAM,IAAU,EAAK,QAAQ,QAAQ,EAAE,IACpC,EAAK,QAAQ,cAAc,EAAE,CACrC,EACA,OAAO,OAAO,EACd,KAAK,GAAG;AACb;AAEA,SAAgB,EAAe,GAAa,GAAuB;CACjE,IAAI,MAAW,UAAU;EACvB,OAAO,KAAK,GAAK,QAAQ;EACzB;CACF;CAIA,AAFiB,OAAO,SAAS,OAAO,MAKtC,OAAO,SAAS,OAAO,IAFvB,OAAO,IAAK,SAAS,OAAO;AAIhC"}
|
|
@@ -1,137 +1,146 @@
|
|
|
1
1
|
import e from "./admins-components6.js";
|
|
2
|
-
import {
|
|
3
|
-
import n from "./admins-
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
2
|
+
import { getFullStorageKey as t } from "./admins-components78.js";
|
|
3
|
+
import { readUrlNumber as n, writeUrlOrRemove as r } from "./admins-components79.js";
|
|
4
|
+
import { Fragment as i, computed as a, createElementBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, normalizeClass as u, onMounted as d, openBlock as f, renderList as p, toDisplayString as m } from "vue";
|
|
5
|
+
//#region src/components/data-table/DataPaginator.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var h = { class: "ac-component c-paginator-wrapper" }, g = { class: "c-paginator" }, _ = { class: "c-paginator__info" }, v = { class: "c-paginator__range" }, y = { class: "c-paginator__total" }, b = {
|
|
7
|
+
class: "c-paginator__nav",
|
|
8
|
+
"aria-label": "Pagination"
|
|
9
|
+
}, x = {
|
|
10
|
+
key: 0,
|
|
11
|
+
class: "c-paginator__ellipsis"
|
|
12
|
+
}, S = ["onClick"], C = { class: "c-paginator__size" }, w = ["value"], T = ["value"], E = [
|
|
13
|
+
10,
|
|
14
|
+
25,
|
|
15
|
+
50,
|
|
16
|
+
100
|
|
17
|
+
], D = 25;
|
|
18
|
+
function O(e) {
|
|
19
|
+
let r = n("pageSize");
|
|
20
|
+
if (r != null) return r;
|
|
21
|
+
try {
|
|
22
|
+
let n = t("pagination", e), r = localStorage.getItem(n);
|
|
23
|
+
if (r) {
|
|
24
|
+
let e = Number(r);
|
|
25
|
+
if (e > 0) return e;
|
|
26
|
+
}
|
|
27
|
+
} catch {
|
|
28
|
+
console.warn("Failed to read page size from localStorage");
|
|
29
|
+
}
|
|
30
|
+
return D;
|
|
31
|
+
}
|
|
32
|
+
function k(e) {
|
|
33
|
+
return {
|
|
34
|
+
total: 0,
|
|
35
|
+
page: n("page") ?? 1,
|
|
36
|
+
pageSize: O(e)
|
|
37
|
+
};
|
|
19
38
|
}
|
|
20
|
-
var
|
|
21
|
-
__name: "
|
|
39
|
+
var A = /* @__PURE__ */ l({
|
|
40
|
+
__name: "DataPaginator",
|
|
22
41
|
props: {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
placeholder: { default: "Rendezés..." },
|
|
42
|
+
settings: {},
|
|
43
|
+
storageKey: {},
|
|
26
44
|
handleUrl: {
|
|
27
45
|
type: Boolean,
|
|
28
46
|
default: !1
|
|
29
|
-
},
|
|
30
|
-
disabled: {
|
|
31
|
-
type: Boolean,
|
|
32
|
-
default: !1
|
|
33
47
|
}
|
|
34
48
|
},
|
|
35
|
-
emits: ["update:
|
|
36
|
-
setup(
|
|
37
|
-
let
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
Array.isArray(e) || V(e, M.modelValue?.direction ?? "asc");
|
|
49
|
+
emits: ["update:pagination"],
|
|
50
|
+
setup(l, { emit: D }) {
|
|
51
|
+
let O = l, k = D;
|
|
52
|
+
function A(e) {
|
|
53
|
+
try {
|
|
54
|
+
localStorage.setItem(t("pagination", O.storageKey), String(e));
|
|
55
|
+
} catch {
|
|
56
|
+
console.warn("Failed to save page size to localStorage");
|
|
44
57
|
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
58
|
+
}
|
|
59
|
+
let j = a(() => Math.max(1, Math.ceil(O.settings.total / O.settings.pageSize))), M = a(() => O.settings.total === 0 ? 0 : (O.settings.page - 1) * O.settings.pageSize + 1), N = a(() => Math.min(O.settings.page * O.settings.pageSize, O.settings.total)), P = a(() => {
|
|
60
|
+
let e = j.value, t = O.settings.page;
|
|
61
|
+
if (e <= F) {
|
|
62
|
+
let t = [];
|
|
63
|
+
for (let n = 1; n <= e; n++) t.push(n);
|
|
64
|
+
return t;
|
|
65
|
+
}
|
|
66
|
+
let n = F - 2, r = t - 1, i = t + 1;
|
|
67
|
+
for (r < 2 && (i = Math.min(e - 1, i + (2 - r)), r = 2), i > e - 1 && (r = Math.max(2, r - (i - (e - 1))), i = e - 1); i - r + 1 < n;) {
|
|
68
|
+
let t = r > 2, a = i < e - 1;
|
|
69
|
+
if (!t && !a) break;
|
|
70
|
+
let o = r - 2, s = e - 1 - i, c = +((t ? r - 1 : 0) > 2) + +(i < e - 1), l = +(r > 2) + +((a ? i + 1 : 0) < e - 1), u = i - r + 2, d = !1;
|
|
71
|
+
if (t && (o >= s || !a) && u + c <= n ? (r--, d = !0) : a && u + l <= n && (i++, d = !0), !d) break;
|
|
53
72
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
73
|
+
let a = r > 2, o = i < e - 1, s = [];
|
|
74
|
+
s.push(1), a && s.push("...");
|
|
75
|
+
for (let e = r; e <= i; e++) s.push(e);
|
|
76
|
+
return o && s.push("..."), s.push(e), s;
|
|
77
|
+
}), F = 7;
|
|
78
|
+
function I(e) {
|
|
79
|
+
let t = O.settings.page, n = j.value, r = e === 1 || e === n, i = e === t;
|
|
80
|
+
return t > 3 && t < n - 2 && !r && !i;
|
|
81
|
+
}
|
|
82
|
+
function L(e) {
|
|
83
|
+
e < 1 || e > j.value || e === O.settings.page || (r("page", e, {
|
|
84
|
+
handleUrl: O.handleUrl,
|
|
85
|
+
default: 1
|
|
86
|
+
}), r("pageSize", O.settings.pageSize, { handleUrl: O.handleUrl }), k("update:pagination", {
|
|
87
|
+
page: e,
|
|
88
|
+
pageSize: O.settings.pageSize
|
|
57
89
|
}));
|
|
58
|
-
let n = {
|
|
59
|
-
key: e,
|
|
60
|
-
direction: t
|
|
61
|
-
};
|
|
62
|
-
N("update:modelValue", n), N("sort-change", n);
|
|
63
90
|
}
|
|
64
|
-
function
|
|
65
|
-
|
|
91
|
+
function R(e) {
|
|
92
|
+
let t = Number(e.target.value);
|
|
93
|
+
A(t), r("pageSize", t, { handleUrl: O.handleUrl }), r("page", 1, {
|
|
94
|
+
handleUrl: O.handleUrl,
|
|
95
|
+
default: 1
|
|
96
|
+
}), k("update:pagination", {
|
|
97
|
+
page: 1,
|
|
98
|
+
pageSize: t
|
|
99
|
+
});
|
|
66
100
|
}
|
|
67
|
-
return
|
|
68
|
-
if (!
|
|
69
|
-
let t =
|
|
70
|
-
t &&
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
placeholder: "Válassz oszlopot...",
|
|
110
|
-
filterable: !1
|
|
111
|
-
},
|
|
112
|
-
"onUpdate:modelValue": r[1] ||= (e) => R.value = e
|
|
113
|
-
}, null, 8, ["model-value", "options"])]),
|
|
114
|
-
l("div", T, [r[10] ||= l("span", { class: "ds-sort-panel__label" }, "Irány", -1), l("div", E, [l("button", {
|
|
115
|
-
type: "button",
|
|
116
|
-
class: f(["ds-sort-direction__btn", { "is-active": z.value === "asc" }]),
|
|
117
|
-
"aria-pressed": z.value === "asc",
|
|
118
|
-
"aria-label": "Növekvő",
|
|
119
|
-
onClick: r[2] ||= (e) => z.value = "asc"
|
|
120
|
-
}, [...r[8] ||= [l("i", { class: "fa-solid fa-fw fa-arrow-up-wide-short" }, null, -1), l("span", null, "Növekvő", -1)]], 10, D), l("button", {
|
|
121
|
-
type: "button",
|
|
122
|
-
class: f(["ds-sort-direction__btn dir-desc", { "is-active": z.value === "desc" }]),
|
|
123
|
-
"aria-pressed": z.value === "desc",
|
|
124
|
-
"aria-label": "Csökkenő",
|
|
125
|
-
onClick: r[3] ||= (e) => z.value = "desc"
|
|
126
|
-
}, [...r[9] ||= [l("i", { class: "fa-solid fa-fw fa-arrow-down-wide-short" }, null, -1), l("span", null, "Csökkenő", -1)]], 10, O)])]),
|
|
127
|
-
l("div", k, [u(e, {
|
|
128
|
-
label: "Rendben",
|
|
129
|
-
outline: "",
|
|
130
|
-
size: "small",
|
|
131
|
-
onClick: r[4] ||= (e) => I.value = !1
|
|
132
|
-
})])
|
|
133
|
-
], 4)) : s("", !0)])]))], 512)]));
|
|
101
|
+
return d(() => {
|
|
102
|
+
if (!O.handleUrl) return;
|
|
103
|
+
let e = n("pageSize"), t = n("page");
|
|
104
|
+
e == null || t == null || e === O.settings.pageSize && t === O.settings.page || k("update:pagination", {
|
|
105
|
+
page: t,
|
|
106
|
+
pageSize: e
|
|
107
|
+
});
|
|
108
|
+
}), (t, n) => (f(), o("div", h, [s("div", g, [
|
|
109
|
+
s("div", _, [s("span", v, m(M.value) + "–" + m(N.value), 1), s("span", y, " / " + m(l.settings.total), 1)]),
|
|
110
|
+
s("nav", b, [
|
|
111
|
+
c(e, {
|
|
112
|
+
icon: "fa-solid fa-chevron-left",
|
|
113
|
+
rel: "prev",
|
|
114
|
+
disabled: l.settings.page <= 1,
|
|
115
|
+
callback: () => L(l.settings.page - 1)
|
|
116
|
+
}, null, 8, ["disabled", "callback"]),
|
|
117
|
+
(f(!0), o(i, null, p(P.value, (e, t) => (f(), o(i, { key: t }, [e === "..." ? (f(), o("span", x, "…")) : (f(), o("button", {
|
|
118
|
+
key: 1,
|
|
119
|
+
type: "button",
|
|
120
|
+
class: u(["c-paginator__page", {
|
|
121
|
+
"is-active": e === l.settings.page,
|
|
122
|
+
"is-hidden-sm": I(e)
|
|
123
|
+
}]),
|
|
124
|
+
onClick: (t) => L(e)
|
|
125
|
+
}, m(e), 11, S))], 64))), 128)),
|
|
126
|
+
c(e, {
|
|
127
|
+
icon: "fa-solid fa-chevron-right",
|
|
128
|
+
rel: "next",
|
|
129
|
+
disabled: l.settings.page >= j.value,
|
|
130
|
+
callback: () => L(l.settings.page + 1)
|
|
131
|
+
}, null, 8, ["disabled", "callback"])
|
|
132
|
+
]),
|
|
133
|
+
s("div", C, [s("select", {
|
|
134
|
+
class: "c-paginator__select",
|
|
135
|
+
id: "page-size-select",
|
|
136
|
+
value: l.settings.pageSize,
|
|
137
|
+
onChange: R
|
|
138
|
+
}, [(f(), o(i, null, p(E, (e) => s("option", {
|
|
139
|
+
key: e,
|
|
140
|
+
value: e
|
|
141
|
+
}, m(e) + " elem / oldal", 9, T)), 64))], 40, w)])
|
|
142
|
+
])]));
|
|
134
143
|
}
|
|
135
144
|
});
|
|
136
145
|
//#endregion
|
|
137
|
-
export {
|
|
146
|
+
export { A as default, k as getDefaultPaginator, O as getPageSize };
|