vlite3 0.6.6 → 0.6.7
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/components/DataTable/DataTable.vue.js +232 -209
- package/components/DataTable/types.d.ts +15 -0
- package/components/DataTable/types.js +4 -0
- package/components/Dropdown/Dropdown.vue.js +13 -21
- package/components/Modal.vue.js +2 -2
- package/components/Modal.vue2.js +58 -56
- package/components/PermissionMatrix/PermissionEditor.vue.d.ts +0 -12
- package/components/PermissionMatrix/PermissionEditor.vue.js +120 -524
- package/components/PermissionMatrix/PermissionEditorList.vue.d.ts +18 -0
- package/components/PermissionMatrix/PermissionEditorList.vue.js +156 -0
- package/components/PermissionMatrix/PermissionEditorList.vue2.js +4 -0
- package/components/PermissionMatrix/PermissionEditorMatrix.vue.d.ts +18 -0
- package/components/PermissionMatrix/PermissionEditorMatrix.vue.js +207 -0
- package/components/PermissionMatrix/PermissionEditorMatrix.vue2.js +4 -0
- package/components/PermissionMatrix/PermissionTopBar.vue.d.ts +28 -0
- package/components/PermissionMatrix/PermissionTopBar.vue.js +132 -0
- package/components/PermissionMatrix/PermissionTopBar.vue2.js +4 -0
- package/components/PermissionMatrix/utils.d.ts +11 -0
- package/components/PermissionMatrix/utils.js +20 -0
- package/components/Screen/Screen.vue.js +113 -107
- package/components/SidePanel.vue.js +57 -53
- package/index.js +179 -177
- package/package.json +1 -1
- package/style.css +1 -1
|
@@ -1,39 +1,40 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as De, provide as q, computed as o, ref as x, watch as z, resolveComponent as Pe, openBlock as a, createElementBlock as s, normalizeClass as j, createElementVNode as g, renderSlot as w, toDisplayString as f, createBlock as c, withCtx as d, createVNode as u, createCommentVNode as m, unref as b, resolveDynamicComponent as H, Fragment as D, mergeProps as v, createTextVNode as y, renderList as Ie } from "vue";
|
|
2
2
|
import Se from "../Input.vue.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
import h from "../Button.vue.js";
|
|
5
|
-
import
|
|
5
|
+
import A from "../Icon.vue.js";
|
|
6
6
|
import $e from "../Tooltip.vue.js";
|
|
7
|
-
import
|
|
7
|
+
import K from "../Modal.vue.js";
|
|
8
8
|
import Te from "../ConfirmationModal.vue.js";
|
|
9
9
|
import Ve from "../Pagination/Pagination.vue.js";
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
10
|
+
import Ee from "../Empty/Empty.vue.js";
|
|
11
|
+
import Oe from "./ScreenFilter.vue.js";
|
|
12
|
+
import Re from "../Dropdown/Dropdown.vue.js";
|
|
13
|
+
import je from "../ExportData/ExportData.vue.js";
|
|
14
|
+
import Ae from "../ImportData/ImportData.vue.js";
|
|
15
15
|
import { usePersistentState as Ne } from "../../utils/usePersistentState.js";
|
|
16
16
|
import { useVLiteConfig as Fe } from "../../core/config.js";
|
|
17
17
|
import { $t as r } from "../../utils/i18n.js";
|
|
18
|
-
|
|
18
|
+
import { SCREEN_CONTEXT_KEY as Le } from "../DataTable/types.js";
|
|
19
|
+
const Me = { class: "flex flex-col w-full space-y-8" }, Ue = { class: "flex flex-col shrink-0" }, qe = {
|
|
19
20
|
key: 0,
|
|
20
21
|
class: "flex items-center! gap-2"
|
|
21
|
-
},
|
|
22
|
+
}, ze = { class: "text-fs-7.5 font-bold text-foreground" }, He = {
|
|
22
23
|
key: 0,
|
|
23
24
|
class: "text-sm text-gray-700 mt-1 md:max-w-[450px]"
|
|
24
|
-
},
|
|
25
|
+
}, Ke = { class: "flex flex-col sm:flex-row items-start sm:items-center gap-2.5 w-full justify-end" }, Je = { class: "flex items-center gap-2 w-full sm:w-auto flex-1 md:flex-none justify-start sm:justify-end" }, Qe = {
|
|
25
26
|
key: 1,
|
|
26
27
|
class: "flex items-center p-1 rounded-md border border-border shrink-0"
|
|
27
|
-
},
|
|
28
|
+
}, Xe = ["title"], Ye = ["title"], Ge = {
|
|
28
29
|
key: 4,
|
|
29
30
|
class: "w-full md:w-60! max-sm:order-last"
|
|
30
|
-
},
|
|
31
|
+
}, We = { class: "flex items-center gap-3 max-sm:w-full sm:w-auto max-sm:order-last" }, Ze = ["href", "target"], _e = ["href", "target"], et = {
|
|
31
32
|
key: 1,
|
|
32
33
|
class: "p-8 text-center text-muted-foreground border border-dashed border-border rounded-lg"
|
|
33
|
-
},
|
|
34
|
+
}, tt = {
|
|
34
35
|
key: 2,
|
|
35
36
|
class: "-mt-2"
|
|
36
|
-
},
|
|
37
|
+
}, nt = { class: "px-1 py-1 text-sm" }, at = { class: "font-medium mb-3 text-muted-foreground" }, lt = { class: "space-y-3" }, ot = { key: 4 }, Pt = /* @__PURE__ */ De({
|
|
37
38
|
__name: "Screen",
|
|
38
39
|
props: {
|
|
39
40
|
name: { default: "" },
|
|
@@ -81,40 +82,45 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
81
82
|
},
|
|
82
83
|
emits: ["add", "delete"],
|
|
83
84
|
setup(t, { emit: _ }) {
|
|
84
|
-
const n = t, P = Fe(), J = _
|
|
85
|
+
const n = t, P = Fe(), J = _;
|
|
86
|
+
q(Le, {
|
|
87
|
+
disableSearch: !0,
|
|
88
|
+
forceSelectable: !0
|
|
89
|
+
});
|
|
90
|
+
const ee = o(() => n.name || n.title || "default-screen"), I = Ne(
|
|
85
91
|
`view-mode-${ee.value}`,
|
|
86
92
|
n.table ? "table" : "list"
|
|
87
|
-
), S = x(""), T = x({}), k = x(n.pageInfo?.currentPage || 1), V = x(n.pageInfo?.itemsPerPage || n.paginationProps?.itemsPerPage || 10), B = x([]),
|
|
88
|
-
|
|
93
|
+
), S = x(""), T = x({}), k = x(n.pageInfo?.currentPage || 1), V = x(n.pageInfo?.itemsPerPage || n.paginationProps?.itemsPerPage || 10), B = x([]), E = x([]), $ = x(!1);
|
|
94
|
+
q("screen-selected-rows", B), q("screen-request-delete", (e) => N(e));
|
|
89
95
|
const N = (e) => {
|
|
90
|
-
|
|
96
|
+
E.value = e, $.value = !0;
|
|
91
97
|
}, te = () => {
|
|
92
|
-
J("delete",
|
|
98
|
+
J("delete", E.value), $.value = !1, B.value = [];
|
|
93
99
|
}, ne = (e) => {
|
|
94
100
|
J("delete", e), B.value = [];
|
|
95
101
|
};
|
|
96
|
-
|
|
102
|
+
z(
|
|
97
103
|
() => n.pageInfo?.currentPage,
|
|
98
104
|
(e) => {
|
|
99
105
|
e && (k.value = e);
|
|
100
106
|
}
|
|
101
|
-
),
|
|
107
|
+
), z(
|
|
102
108
|
() => n.pageInfo?.itemsPerPage,
|
|
103
109
|
(e) => {
|
|
104
110
|
e && (V.value = e);
|
|
105
111
|
}
|
|
106
112
|
);
|
|
107
113
|
let F = null;
|
|
108
|
-
|
|
114
|
+
z(S, () => {
|
|
109
115
|
F && clearTimeout(F), F = setTimeout(() => {
|
|
110
|
-
k.value = 1,
|
|
116
|
+
k.value = 1, C();
|
|
111
117
|
}, 300);
|
|
112
118
|
});
|
|
113
119
|
const ae = (e) => {
|
|
114
|
-
k.value = e,
|
|
120
|
+
k.value = e, C();
|
|
115
121
|
}, le = (e) => {
|
|
116
|
-
V.value = e, k.value = 1,
|
|
117
|
-
},
|
|
122
|
+
V.value = e, k.value = 1, C();
|
|
123
|
+
}, C = () => {
|
|
118
124
|
const e = {
|
|
119
125
|
pageinfo: {
|
|
120
126
|
page: k.value,
|
|
@@ -128,7 +134,7 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
128
134
|
filter: T.value
|
|
129
135
|
};
|
|
130
136
|
n.refetch && n.refetch(e);
|
|
131
|
-
},
|
|
137
|
+
}, Q = o(() => I.value === "table" && n.table ? n.table : n.list), oe = o(() => n.data && n.data.length > 0), X = o(() => n.titleI18n ? r(n.titleI18n) : n.title), Y = o(
|
|
132
138
|
() => n.descriptionI18n ? r(n.descriptionI18n) : n.description
|
|
133
139
|
), ie = o(() => {
|
|
134
140
|
const e = r("vlite.screen.deleteSelected");
|
|
@@ -149,8 +155,8 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
149
155
|
const e = r("vlite.screen.confirmDeleteTitle");
|
|
150
156
|
return e !== "vlite.screen.confirmDeleteTitle" ? e : "Confirm Deletion";
|
|
151
157
|
}), me = o(() => {
|
|
152
|
-
const e = r("vlite.screen.confirmDeleteDesc", { count:
|
|
153
|
-
return e !== "vlite.screen.confirmDeleteDesc" ? e : `Are you sure you want to delete the selected ${
|
|
158
|
+
const e = r("vlite.screen.confirmDeleteDesc", { count: E.value.length });
|
|
159
|
+
return e !== "vlite.screen.confirmDeleteDesc" ? e : `Are you sure you want to delete the selected ${E.value.length > 1 ? "items" : "item"}?`;
|
|
154
160
|
}), fe = o(() => {
|
|
155
161
|
const e = r("vlite.screen.confirmDeleteBtn");
|
|
156
162
|
return e !== "vlite.screen.confirmDeleteBtn" ? e : "Delete";
|
|
@@ -160,26 +166,26 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
160
166
|
}), he = o(() => {
|
|
161
167
|
const e = r("vlite.screen.missingView");
|
|
162
168
|
return e !== "vlite.screen.missingView" ? e : "Please provide a `:list` or `:table` component.";
|
|
163
|
-
}),
|
|
169
|
+
}), p = o(() => {
|
|
164
170
|
if (n.addBtn?.labelI18n) return r(n.addBtn.labelI18n);
|
|
165
171
|
if (n.addBtn?.label) return n.addBtn.label;
|
|
166
172
|
const e = r("vlite.screen.addNew");
|
|
167
173
|
return e !== "vlite.screen.addNew" ? e : "Add New";
|
|
168
|
-
}),
|
|
174
|
+
}), G = o(() => {
|
|
169
175
|
const e = n.exportSchema && n.exportSchema.length > 0 && n.exportProps !== !1, l = n.importSchema && n.importSchema.length > 0 && n.importProps !== !1;
|
|
170
176
|
return e || l;
|
|
171
177
|
}), L = o(() => {
|
|
172
178
|
const e = r("vlite.screen.exportData");
|
|
173
179
|
return e !== "vlite.screen.exportData" ? e : "Export Data";
|
|
174
|
-
}),
|
|
180
|
+
}), W = o(() => {
|
|
175
181
|
const e = r("vlite.screen.importData");
|
|
176
182
|
return e !== "vlite.screen.importData" ? e : "Import Data";
|
|
177
183
|
}), ge = o(() => {
|
|
178
184
|
const e = [];
|
|
179
|
-
return n.exportProps !== !1 && e.push({ value: "export", label: L.value, icon: "lucide:download" }), n.importProps !== !1 && e.push({ value: "import", label:
|
|
180
|
-
}), M = x(null), xe = x(null),
|
|
181
|
-
e.value === "export" ?
|
|
182
|
-
},
|
|
185
|
+
return n.exportProps !== !1 && e.push({ value: "export", label: L.value, icon: "lucide:download" }), n.importProps !== !1 && e.push({ value: "import", label: W.value, icon: "lucide:upload" }), e;
|
|
186
|
+
}), M = x(null), xe = x(null), O = x(!1), U = x(!1), pe = (e) => {
|
|
187
|
+
e.value === "export" ? O.value = !0 : e.value === "import" && (U.value = !0);
|
|
188
|
+
}, ye = o(() => n.exportSchema ? n.exportSchema.map((e) => ({
|
|
183
189
|
field: e.name || e.field,
|
|
184
190
|
title: e.label || e.title || e.name || e.field
|
|
185
191
|
})) : []), we = o(() => n.importSchema ? n.importSchema.map((e) => ({
|
|
@@ -196,8 +202,8 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
196
202
|
failed: 0,
|
|
197
203
|
errors: []
|
|
198
204
|
}), Be = () => {
|
|
199
|
-
|
|
200
|
-
}, ke = o(() => n.exportMode || P?.exportData?.mode || "frontend"),
|
|
205
|
+
C();
|
|
206
|
+
}, ke = o(() => n.exportMode || P?.exportData?.mode || "frontend"), Ce = async (e) => {
|
|
201
207
|
if (P?.services?.exportApi && n.exportType) {
|
|
202
208
|
const l = {
|
|
203
209
|
format: e,
|
|
@@ -211,16 +217,16 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
211
217
|
);
|
|
212
218
|
};
|
|
213
219
|
return (e, l) => {
|
|
214
|
-
const
|
|
215
|
-
return a(), s("div",
|
|
220
|
+
const Z = Pe("router-link");
|
|
221
|
+
return a(), s("div", Me, [
|
|
216
222
|
t.customHeader ? w(e.$slots, "custom-header", { key: 1 }) : (a(), s("div", {
|
|
217
223
|
key: 0,
|
|
218
|
-
class:
|
|
224
|
+
class: j([t.headerClass, "flex flex-col md:flex-row sm:items-start md:items-center justify-between gap-4"])
|
|
219
225
|
}, [
|
|
220
|
-
g("div",
|
|
226
|
+
g("div", Ue, [
|
|
221
227
|
w(e.$slots, "title", {}, () => [
|
|
222
|
-
|
|
223
|
-
g("h1",
|
|
228
|
+
X.value ? (a(), s("div", qe, [
|
|
229
|
+
g("h1", ze, f(X.value), 1),
|
|
224
230
|
t.info || t.infoI18n ? (a(), c($e, {
|
|
225
231
|
key: 0,
|
|
226
232
|
content: t.info,
|
|
@@ -228,7 +234,7 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
228
234
|
placement: "right"
|
|
229
235
|
}, {
|
|
230
236
|
default: d(() => [
|
|
231
|
-
u(
|
|
237
|
+
u(A, {
|
|
232
238
|
icon: "lucide:info",
|
|
233
239
|
class: "w-[18px] h-[18px] mt-3! text-muted-foreground hover:text-foreground cursor-pointer transition-colors outline-none"
|
|
234
240
|
})
|
|
@@ -238,10 +244,10 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
238
244
|
])) : m("", !0)
|
|
239
245
|
]),
|
|
240
246
|
w(e.$slots, "description", {}, () => [
|
|
241
|
-
|
|
247
|
+
Y.value ? (a(), s("p", He, f(Y.value), 1)) : m("", !0)
|
|
242
248
|
])
|
|
243
249
|
]),
|
|
244
|
-
g("div",
|
|
250
|
+
g("div", Ke, [
|
|
245
251
|
g("div", Je, [
|
|
246
252
|
B.value.length > 0 ? (a(), c(h, {
|
|
247
253
|
key: 0,
|
|
@@ -251,31 +257,31 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
251
257
|
title: ie.value,
|
|
252
258
|
onClick: l[0] || (l[0] = (i) => N(B.value))
|
|
253
259
|
}, null, 8, ["title"])) : m("", !0),
|
|
254
|
-
t.table && t.list ? (a(), s("div",
|
|
260
|
+
t.table && t.list ? (a(), s("div", Qe, [
|
|
255
261
|
g("button", {
|
|
256
262
|
onClick: l[1] || (l[1] = (i) => I.value = "list"),
|
|
257
|
-
class:
|
|
263
|
+
class: j(["p-1.5 rounded", [
|
|
258
264
|
b(I) === "list" ? "bg-secondary/85 dark:bg-secondary shadow-sm text-foreground" : "text-muted-foreground hover:text-foreground"
|
|
259
265
|
]]),
|
|
260
266
|
title: re.value
|
|
261
267
|
}, [
|
|
262
|
-
u(
|
|
268
|
+
u(A, {
|
|
263
269
|
icon: "lucide:layout-grid",
|
|
264
270
|
class: "w-4 h-4"
|
|
265
271
|
})
|
|
266
|
-
], 10,
|
|
272
|
+
], 10, Xe),
|
|
267
273
|
g("button", {
|
|
268
274
|
onClick: l[2] || (l[2] = (i) => I.value = "table"),
|
|
269
|
-
class:
|
|
275
|
+
class: j(["p-1.5 rounded", [
|
|
270
276
|
b(I) === "table" ? "bg-secondary/85 dark:bg-secondary shadow-sm text-foreground" : "text-muted-foreground hover:text-foreground"
|
|
271
277
|
]]),
|
|
272
278
|
title: de.value
|
|
273
279
|
}, [
|
|
274
|
-
u(
|
|
280
|
+
u(A, {
|
|
275
281
|
icon: "lucide:list",
|
|
276
282
|
class: "w-4 h-4"
|
|
277
283
|
})
|
|
278
|
-
], 10,
|
|
284
|
+
], 10, Ye)
|
|
279
285
|
])) : m("", !0),
|
|
280
286
|
w(e.$slots, "before-search"),
|
|
281
287
|
t.showRefresh ? (a(), c(h, {
|
|
@@ -286,17 +292,17 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
286
292
|
class: "shrink-0 h-9! w-9!",
|
|
287
293
|
title: se.value,
|
|
288
294
|
disabled: t.loading,
|
|
289
|
-
onClick:
|
|
295
|
+
onClick: C
|
|
290
296
|
}, null, 8, ["title", "disabled"])) : m("", !0),
|
|
291
|
-
t.filterSchema && t.filterSchema.length > 0 ? (a(), c(
|
|
297
|
+
t.filterSchema && t.filterSchema.length > 0 ? (a(), c(Oe, {
|
|
292
298
|
key: 3,
|
|
293
299
|
schema: t.filterSchema,
|
|
294
300
|
type: t.filterType,
|
|
295
301
|
modelValue: T.value,
|
|
296
302
|
"onUpdate:modelValue": l[3] || (l[3] = (i) => T.value = i),
|
|
297
|
-
onChange:
|
|
303
|
+
onChange: C
|
|
298
304
|
}, null, 8, ["schema", "type", "modelValue"])) : m("", !0),
|
|
299
|
-
t.canSearch ? (a(), s("div",
|
|
305
|
+
t.canSearch ? (a(), s("div", Ge, [
|
|
300
306
|
u(Se, {
|
|
301
307
|
lazy: "",
|
|
302
308
|
modelValue: S.value,
|
|
@@ -309,11 +315,11 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
309
315
|
}, null, 8, ["modelValue", "placeholder"])
|
|
310
316
|
])) : m("", !0)
|
|
311
317
|
]),
|
|
312
|
-
g("div",
|
|
318
|
+
g("div", We, [
|
|
313
319
|
w(e.$slots, "actions", {}, () => [
|
|
314
|
-
t.addComponent ? (a(), c(
|
|
315
|
-
t.addBtn ? (a(), s(
|
|
316
|
-
t.addBtn.modal ? (a(), c(
|
|
320
|
+
t.addComponent ? (a(), c(H(t.addComponent), { key: 0 })) : t.canAdd ? (a(), s(D, { key: 1 }, [
|
|
321
|
+
t.addBtn ? (a(), s(D, { key: 0 }, [
|
|
322
|
+
t.addBtn.modal ? (a(), c(K, v({
|
|
317
323
|
key: 0,
|
|
318
324
|
body: t.addBtn.modal
|
|
319
325
|
}, t.addBtn.modalProps, {
|
|
@@ -329,13 +335,13 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
329
335
|
variant: t.addBtn.variant || "primary"
|
|
330
336
|
}, t.addBtn.buttonProps), {
|
|
331
337
|
default: d(() => [
|
|
332
|
-
|
|
338
|
+
y(f(p.value), 1)
|
|
333
339
|
]),
|
|
334
340
|
_: 1
|
|
335
341
|
}, 16, ["icon", "variant"])
|
|
336
342
|
]),
|
|
337
343
|
_: 1
|
|
338
|
-
}, 16, ["body", "refetch", "data", "loading"])) : t.addBtn.to ? (a(), c(
|
|
344
|
+
}, 16, ["body", "refetch", "data", "loading"])) : t.addBtn.to ? (a(), c(Z, {
|
|
339
345
|
key: 1,
|
|
340
346
|
to: t.addBtn.to,
|
|
341
347
|
class: "inline-flex w-full sm:w-auto"
|
|
@@ -347,7 +353,7 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
347
353
|
variant: t.addBtn.variant || "primary"
|
|
348
354
|
}, t.addBtn.buttonProps), {
|
|
349
355
|
default: d(() => [
|
|
350
|
-
|
|
356
|
+
y(f(p.value), 1)
|
|
351
357
|
]),
|
|
352
358
|
_: 1
|
|
353
359
|
}, 16, ["icon", "variant"])
|
|
@@ -365,11 +371,11 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
365
371
|
variant: t.addBtn.variant || "primary"
|
|
366
372
|
}, t.addBtn.buttonProps), {
|
|
367
373
|
default: d(() => [
|
|
368
|
-
|
|
374
|
+
y(f(p.value), 1)
|
|
369
375
|
]),
|
|
370
376
|
_: 1
|
|
371
377
|
}, 16, ["icon", "variant"])
|
|
372
|
-
], 8,
|
|
378
|
+
], 8, Ze)) : (a(), c(h, v({
|
|
373
379
|
key: 3,
|
|
374
380
|
class: "w-full sm:w-auto",
|
|
375
381
|
icon: t.addBtn.icon || "fluent:add-16-filled",
|
|
@@ -378,19 +384,19 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
378
384
|
onClick: l[5] || (l[5] = (i) => t.addBtn.onClick ? t.addBtn.onClick() : e.$emit("add"))
|
|
379
385
|
}), {
|
|
380
386
|
default: d(() => [
|
|
381
|
-
|
|
387
|
+
y(f(p.value), 1)
|
|
382
388
|
]),
|
|
383
389
|
_: 1
|
|
384
390
|
}, 16, ["icon", "variant"]))
|
|
385
391
|
], 64)) : m("", !0)
|
|
386
392
|
], 64)) : m("", !0)
|
|
387
393
|
]),
|
|
388
|
-
|
|
394
|
+
G.value ? (a(), c(Re, {
|
|
389
395
|
key: 0,
|
|
390
396
|
closeOnSelect: "",
|
|
391
397
|
position: "bottom-end",
|
|
392
398
|
options: ge.value,
|
|
393
|
-
onOnSelect:
|
|
399
|
+
onOnSelect: pe
|
|
394
400
|
}, {
|
|
395
401
|
trigger: d(() => [
|
|
396
402
|
u(h, {
|
|
@@ -408,10 +414,10 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
408
414
|
], 2)),
|
|
409
415
|
w(e.$slots, "sub-header"),
|
|
410
416
|
g("div", {
|
|
411
|
-
class:
|
|
417
|
+
class: j(["flex-1 w-full relative min-h-[250px]", t.containerClass])
|
|
412
418
|
}, [
|
|
413
419
|
!oe.value && !t.loading ? w(e.$slots, "empty", { key: 0 }, () => [
|
|
414
|
-
u(b(
|
|
420
|
+
u(b(Ee), {
|
|
415
421
|
title: t.emptyTitle,
|
|
416
422
|
titleI18n: t.emptyTitleI18n,
|
|
417
423
|
description: t.emptyDescription,
|
|
@@ -419,9 +425,9 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
419
425
|
icon: t.emptyIcon
|
|
420
426
|
}, {
|
|
421
427
|
action: d(() => [
|
|
422
|
-
t.addComponent ? (a(), c(
|
|
423
|
-
t.addBtn ? (a(), s(
|
|
424
|
-
t.addBtn.modal ? (a(), c(
|
|
428
|
+
t.addComponent ? (a(), c(H(t.addComponent), { key: 0 })) : t.canAdd ? (a(), s(D, { key: 1 }, [
|
|
429
|
+
t.addBtn ? (a(), s(D, { key: 0 }, [
|
|
430
|
+
t.addBtn.modal ? (a(), c(K, v({
|
|
425
431
|
key: 0,
|
|
426
432
|
body: t.addBtn.modal
|
|
427
433
|
}, t.addBtn.modalProps), {
|
|
@@ -433,13 +439,13 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
433
439
|
class: "px-6!"
|
|
434
440
|
}, t.addBtn.buttonProps), {
|
|
435
441
|
default: d(() => [
|
|
436
|
-
|
|
442
|
+
y(f(p.value), 1)
|
|
437
443
|
]),
|
|
438
444
|
_: 1
|
|
439
445
|
}, 16, ["icon", "variant"])
|
|
440
446
|
]),
|
|
441
447
|
_: 1
|
|
442
|
-
}, 16, ["body"])) : t.addBtn.to ? (a(), c(
|
|
448
|
+
}, 16, ["body"])) : t.addBtn.to ? (a(), c(Z, {
|
|
443
449
|
key: 1,
|
|
444
450
|
to: t.addBtn.to,
|
|
445
451
|
class: "inline-flex"
|
|
@@ -450,7 +456,7 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
450
456
|
variant: t.addBtn.variant || "outline"
|
|
451
457
|
}, t.addBtn.buttonProps), {
|
|
452
458
|
default: d(() => [
|
|
453
|
-
|
|
459
|
+
y(f(p.value), 1)
|
|
454
460
|
]),
|
|
455
461
|
_: 1
|
|
456
462
|
}, 16, ["icon", "variant"])
|
|
@@ -467,11 +473,11 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
467
473
|
variant: t.addBtn.variant || "outline"
|
|
468
474
|
}, t.addBtn.buttonProps), {
|
|
469
475
|
default: d(() => [
|
|
470
|
-
|
|
476
|
+
y(f(p.value), 1)
|
|
471
477
|
]),
|
|
472
478
|
_: 1
|
|
473
479
|
}, 16, ["icon", "variant"])
|
|
474
|
-
], 8,
|
|
480
|
+
], 8, _e)) : (a(), c(h, v({
|
|
475
481
|
key: 3,
|
|
476
482
|
icon: t.addBtn.icon || "lucide:plus",
|
|
477
483
|
variant: t.addBtn.variant || "outline"
|
|
@@ -479,7 +485,7 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
479
485
|
onClick: l[6] || (l[6] = (i) => t.addBtn.onClick ? t.addBtn.onClick() : e.$emit("add"))
|
|
480
486
|
}), {
|
|
481
487
|
default: d(() => [
|
|
482
|
-
|
|
488
|
+
y(f(p.value), 1)
|
|
483
489
|
]),
|
|
484
490
|
_: 1
|
|
485
491
|
}, 16, ["icon", "variant"]))
|
|
@@ -490,7 +496,7 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
490
496
|
onClick: l[7] || (l[7] = (i) => e.$emit("add"))
|
|
491
497
|
}, {
|
|
492
498
|
default: d(() => [
|
|
493
|
-
|
|
499
|
+
y(f(p.value), 1)
|
|
494
500
|
]),
|
|
495
501
|
_: 1
|
|
496
502
|
}))
|
|
@@ -498,8 +504,8 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
498
504
|
]),
|
|
499
505
|
_: 1
|
|
500
506
|
}, 8, ["title", "titleI18n", "description", "descriptionI18n", "icon"])
|
|
501
|
-
]) : (a(), s(
|
|
502
|
-
|
|
507
|
+
]) : (a(), s(D, { key: 1 }, [
|
|
508
|
+
Q.value ? (a(), c(H(Q.value), {
|
|
503
509
|
key: 0,
|
|
504
510
|
data: t.data,
|
|
505
511
|
loading: t.loading,
|
|
@@ -508,10 +514,10 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
508
514
|
"onUpdate:selectedRows": l[8] || (l[8] = (i) => B.value = i),
|
|
509
515
|
delete: N,
|
|
510
516
|
onDelete: ne
|
|
511
|
-
}, null, 40, ["data", "loading", "refetch", "selectedRows"])) : (a(), s("div",
|
|
517
|
+
}, null, 40, ["data", "loading", "refetch", "selectedRows"])) : (a(), s("div", et, f(he.value), 1))
|
|
512
518
|
], 64))
|
|
513
519
|
], 2),
|
|
514
|
-
t.pagination && t.pageInfo && t.pageInfo.totalPages > 1 ? (a(), s("div",
|
|
520
|
+
t.pagination && t.pageInfo && t.pageInfo.totalPages > 1 ? (a(), s("div", tt, [
|
|
515
521
|
u(b(Ve), v({
|
|
516
522
|
"current-page": t.pageInfo.currentPage,
|
|
517
523
|
"total-pages": t.pageInfo.totalPages,
|
|
@@ -532,44 +538,44 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
532
538
|
onConfirm: te,
|
|
533
539
|
onCancel: l[10] || (l[10] = (i) => $.value = !1)
|
|
534
540
|
}, null, 8, ["show", "title", "description", "confirm-text", "cancel-text"]),
|
|
535
|
-
|
|
541
|
+
O.value ? (a(), c(K, {
|
|
536
542
|
key: 3,
|
|
537
|
-
show:
|
|
538
|
-
"onUpdate:show": l[11] || (l[11] = (i) =>
|
|
543
|
+
show: O.value,
|
|
544
|
+
"onUpdate:show": l[11] || (l[11] = (i) => O.value = i),
|
|
539
545
|
title: L.value,
|
|
540
546
|
"max-width": "sm:max-w-[400px]"
|
|
541
547
|
}, {
|
|
542
548
|
default: d(({ close: i }) => [
|
|
543
|
-
u(
|
|
549
|
+
u(je, v({
|
|
544
550
|
ref_key: "exportDataRef",
|
|
545
551
|
ref: M,
|
|
546
552
|
data: t.data || [],
|
|
547
|
-
fields:
|
|
553
|
+
fields: ye.value,
|
|
548
554
|
mode: ke.value,
|
|
549
|
-
"on-export":
|
|
555
|
+
"on-export": Ce
|
|
550
556
|
}, typeof t.exportProps == "object" ? t.exportProps : {}, {
|
|
551
557
|
title: L.value,
|
|
552
558
|
class: "hidden!"
|
|
553
559
|
}), null, 16, ["data", "fields", "mode", "title"]),
|
|
554
|
-
g("div",
|
|
555
|
-
g("h6",
|
|
556
|
-
g("div",
|
|
557
|
-
(a(!0), s(
|
|
560
|
+
g("div", nt, [
|
|
561
|
+
g("h6", at, f(b(r)("vlite.exportData.selectFormat") !== "vlite.exportData.selectFormat" ? b(r)("vlite.exportData.selectFormat") : "Select Export Format"), 1),
|
|
562
|
+
g("div", lt, [
|
|
563
|
+
(a(!0), s(D, null, Ie(M.value?.availableFormats || [
|
|
558
564
|
{ value: "excel", label: "Excel (.xlsx)", icon: "lucide:file-spreadsheet" },
|
|
559
565
|
{ value: "csv", label: "CSV (.csv)", icon: "lucide:file-text" },
|
|
560
566
|
{ value: "json", label: "JSON (.json)", icon: "lucide:file-json" }
|
|
561
|
-
], (
|
|
562
|
-
key:
|
|
567
|
+
], (R) => (a(), c(h, {
|
|
568
|
+
key: R.value,
|
|
563
569
|
variant: "outline",
|
|
564
570
|
class: "w-full flex items-center justify-start gap-3 h-12",
|
|
565
|
-
onClick: (
|
|
571
|
+
onClick: (rt) => M.value?.exportData(R.value, i)
|
|
566
572
|
}, {
|
|
567
573
|
default: d(() => [
|
|
568
|
-
u(
|
|
569
|
-
icon:
|
|
574
|
+
u(A, {
|
|
575
|
+
icon: R.icon,
|
|
570
576
|
class: "text-muted-foreground h-5 w-5"
|
|
571
577
|
}, null, 8, ["icon"]),
|
|
572
|
-
g("span", null, f(
|
|
578
|
+
g("span", null, f(R.label), 1)
|
|
573
579
|
]),
|
|
574
580
|
_: 2
|
|
575
581
|
}, 1032, ["onClick"]))), 128))
|
|
@@ -578,8 +584,8 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
578
584
|
]),
|
|
579
585
|
_: 1
|
|
580
586
|
}, 8, ["show", "title"])) : m("", !0),
|
|
581
|
-
|
|
582
|
-
u(
|
|
587
|
+
G.value ? (a(), s("div", ot, [
|
|
588
|
+
u(Ae, v({
|
|
583
589
|
show: U.value,
|
|
584
590
|
"onUpdate:show": l[12] || (l[12] = (i) => U.value = i),
|
|
585
591
|
ref_key: "importDataRef",
|
|
@@ -588,7 +594,7 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
588
594
|
processBatch: be,
|
|
589
595
|
onComplete: Be
|
|
590
596
|
}, typeof t.importProps == "object" ? t.importProps : {}, {
|
|
591
|
-
title:
|
|
597
|
+
title: W.value,
|
|
592
598
|
class: "hidden!"
|
|
593
599
|
}), null, 16, ["show", "fields", "title"])
|
|
594
600
|
])) : m("", !0)
|
|
@@ -597,5 +603,5 @@ const Le = { class: "flex flex-col w-full space-y-8" }, Me = { class: "flex flex
|
|
|
597
603
|
}
|
|
598
604
|
});
|
|
599
605
|
export {
|
|
600
|
-
|
|
606
|
+
Pt as default
|
|
601
607
|
};
|