vlite3 1.0.7 → 1.0.8
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/ButtonGroup.vue.js +1 -1
- package/components/ColorPicker/ColorIro.vue3.js +2 -2
- package/components/ColorPicker/ColorPicker.vue.js +2 -2
- package/components/DataTable/DataTable.vue.js +55 -52
- package/components/DataTable/DataTableRow.vue.js +21 -21
- package/components/Form/FormFields.vue.js +2 -2
- package/components/Form/FormFields.vue2.js +105 -102
- package/components/Screen/Screen.vue.d.ts +223 -11
- package/components/Screen/Screen.vue.js +245 -210
- package/components/Screen/ScreenFilter.vue.js +1 -1
- package/components/Screen/types.d.ts +8 -0
- package/components/Workbook/Sheet.vue.d.ts +1 -1
- package/package.json +1 -1
- package/style.css +4 -4
- /package/components/ColorPicker/{ColorIro.vue.js → ColorIro.vue2.js} +0 -0
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
1
|
+
import { defineComponent as Fe, useSlots as Be, computed as i, markRaw as T, ref as m, provide as U, watch as N, openBlock as r, createElementBlock as y, normalizeClass as M, createVNode as C, createSlots as Te, withCtx as X, renderSlot as d, normalizeProps as x, guardReactiveProps as $, createElementVNode as Q, createBlock as V, createCommentVNode as h, isRef as Re, unref as Y, mergeProps as g, Fragment as G, resolveDynamicComponent as qe, toDisplayString as Ee } from "vue";
|
|
2
|
+
import Qe from "../Input.vue.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
import J from "../Button.vue.js";
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { usePersistentState as
|
|
10
|
-
import { useVLiteConfig as
|
|
11
|
-
import { $t as
|
|
12
|
-
import { SCREEN_CONTEXT_KEY as
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
const
|
|
5
|
+
import Ae from "../ConfirmationModal.vue.js";
|
|
6
|
+
import je from "../Pagination/Pagination.vue.js";
|
|
7
|
+
import Ue from "./ScreenFilter.vue.js";
|
|
8
|
+
import Ne from "../ImportData/ImportData.vue.js";
|
|
9
|
+
import { usePersistentState as Me } from "../../utils/usePersistentState.js";
|
|
10
|
+
import { useVLiteConfig as Ke } from "../../core/config.js";
|
|
11
|
+
import { $t as u } from "../../utils/i18n.js";
|
|
12
|
+
import { SCREEN_CONTEXT_KEY as Le } from "../DataTable/types.js";
|
|
13
|
+
import Oe from "./components/ScreenHeaderTitle.vue.js";
|
|
14
|
+
import ze from "./components/ScreenViewToggle.vue.js";
|
|
15
|
+
import He from "./components/ScreenOptionsDropdown.vue.js";
|
|
16
|
+
import Xe from "./components/ScreenAddAction.vue.js";
|
|
17
|
+
import Ye from "./components/ScreenEmptyState.vue.js";
|
|
18
|
+
import Ge from "./components/ScreenExportModal.vue.js";
|
|
19
|
+
import Je from "./components/ScreenQuickFilters.vue.js";
|
|
20
|
+
const We = { class: "flex flex-col w-full space-y-8" }, Ze = { class: "flex flex-col sm:flex-row items-start sm:items-center gap-2.5 w-full justify-end" }, _e = { class: "flex items-center gap-2 w-full sm:w-auto flex-1 md:flex-none justify-start sm:justify-end" }, et = {
|
|
21
21
|
key: 4,
|
|
22
22
|
class: "w-full md:w-60! max-sm:order-last"
|
|
23
|
-
},
|
|
24
|
-
key:
|
|
23
|
+
}, tt = { class: "flex items-center gap-3 max-sm:w-full sm:w-auto max-sm:order-last" }, lt = {
|
|
24
|
+
key: 6,
|
|
25
25
|
class: "p-8 text-center text-muted-foreground border border-dashed border-border rounded-lg"
|
|
26
|
-
},
|
|
26
|
+
}, at = {
|
|
27
27
|
key: 3,
|
|
28
28
|
class: "-mt-2"
|
|
29
|
-
},
|
|
29
|
+
}, nt = { key: 5 }, St = /* @__PURE__ */ Fe({
|
|
30
30
|
__name: "Screen",
|
|
31
31
|
props: {
|
|
32
32
|
name: { default: "" },
|
|
@@ -60,6 +60,8 @@ const Xe = { class: "flex flex-col w-full space-y-8" }, Ye = { class: "flex flex
|
|
|
60
60
|
exportMode: {},
|
|
61
61
|
importType: { default: "" },
|
|
62
62
|
exportType: {},
|
|
63
|
+
kanban: {},
|
|
64
|
+
calendar: {},
|
|
63
65
|
list: {},
|
|
64
66
|
table: {},
|
|
65
67
|
views: {},
|
|
@@ -86,136 +88,155 @@ const Xe = { class: "flex flex-col w-full space-y-8" }, Ye = { class: "flex flex
|
|
|
86
88
|
},
|
|
87
89
|
emits: ["add", "delete"],
|
|
88
90
|
setup(t, { emit: W }) {
|
|
89
|
-
const l = t,
|
|
91
|
+
const l = t, I = Ke(), K = W, v = Be(), Z = i(() => l.name || l.title || "default-screen"), _ = i(() => {
|
|
92
|
+
const e = u("vlite.screen.tableView");
|
|
93
|
+
return e !== "vlite.screen.tableView" ? e : "Table View";
|
|
94
|
+
}), ee = i(() => {
|
|
95
|
+
const e = u("vlite.screen.listView");
|
|
96
|
+
return e !== "vlite.screen.listView" ? e : "List View";
|
|
97
|
+
}), te = i(() => {
|
|
98
|
+
const e = u("vlite.screen.kanbanView");
|
|
99
|
+
return e !== "vlite.screen.kanbanView" ? e : "Kanban View";
|
|
100
|
+
}), le = i(() => {
|
|
101
|
+
const e = u("vlite.screen.calendarView");
|
|
102
|
+
return e !== "vlite.screen.calendarView" ? e : "Calendar View";
|
|
103
|
+
}), D = i(() => {
|
|
90
104
|
if (l.views && l.views.length > 0)
|
|
91
105
|
return l.views.map((a) => ({
|
|
92
106
|
...a,
|
|
93
|
-
component: typeof a.component == "object" && a.component !== null ?
|
|
107
|
+
component: typeof a.component == "object" && a.component !== null ? T(a.component) : a.component
|
|
94
108
|
}));
|
|
95
109
|
const e = [];
|
|
96
|
-
return l.table && e.push({
|
|
110
|
+
return (l.table || v.table) && e.push({
|
|
97
111
|
key: "table",
|
|
98
|
-
component:
|
|
112
|
+
component: l.table ? T(l.table) : null,
|
|
99
113
|
icon: "lucide:list",
|
|
100
|
-
label:
|
|
101
|
-
}), l.list && e.push({
|
|
114
|
+
label: _.value
|
|
115
|
+
}), (l.list || v.list || v.grid) && e.push({
|
|
102
116
|
key: "list",
|
|
103
|
-
component:
|
|
117
|
+
component: l.list ? T(l.list) : null,
|
|
104
118
|
icon: "lucide:layout-grid",
|
|
105
|
-
label:
|
|
119
|
+
label: ee.value
|
|
120
|
+
}), (l.kanban || v.kanban) && e.push({
|
|
121
|
+
key: "kanban",
|
|
122
|
+
component: l.kanban ? T(l.kanban) : null,
|
|
123
|
+
icon: "lucide:kanban",
|
|
124
|
+
label: te.value
|
|
125
|
+
}), (l.calendar || v.calendar) && e.push({
|
|
126
|
+
key: "calendar",
|
|
127
|
+
component: l.calendar ? T(l.calendar) : null,
|
|
128
|
+
icon: "lucide:calendar",
|
|
129
|
+
label: le.value
|
|
106
130
|
}), e;
|
|
107
131
|
});
|
|
108
|
-
|
|
109
|
-
const
|
|
110
|
-
const e = q.value.length, a = [p.table, p.list, p.grid].filter(Boolean).length;
|
|
111
|
-
return e + a > 1;
|
|
112
|
-
}), ee = n(() => l.views && l.views.length > 0 ? l.views[0].key : l.table || p.table ? "table" : l.list || p.list || p.grid ? "list" : "table"), m = Ae(`view-mode-${Z.value}`, ee.value), L = n(() => q.value.find((a) => a.key === m.value)?.component ?? null), E = n(() => m.value === "table" && p.table ? "table" : m.value === "list" && p.list ? "list" : m.value === "list" && p.grid ? "grid" : null), y = s(""), f = s({}), D = s({ field: "", order: "" }), C = s(l.pageInfo?.currentPage || 1), F = s(l.pageInfo?.itemsPerPage || l.paginationProps?.itemsPerPage || 10), r = s([]), B = s([]), I = s(!1), d = s(
|
|
132
|
+
i(() => D.value.map((e) => e.key));
|
|
133
|
+
const ae = i(() => D.value.length > 1), ne = i(() => D.value.length > 0 ? D.value[0].key : "table"), c = Me(`view-mode-${Z.value}`, ne.value), L = i(() => D.value.find((a) => a.key === c.value)?.component ?? null), F = i(() => c.value === "table" && v.table ? "table" : c.value === "list" && v.list ? "list" : c.value === "list" && v.grid ? "grid" : c.value === "kanban" && v.kanban ? "kanban" : c.value === "calendar" && v.calendar ? "calendar" : null), w = m(""), p = m({}), P = m({ field: "", order: "" }), S = m(l.pageInfo?.currentPage || 1), R = m(l.pageInfo?.itemsPerPage || l.paginationProps?.itemsPerPage || 10), o = m([]), q = m([]), B = m(!1), f = m(
|
|
113
134
|
l.defaultQuickFilter !== void 0 ? l.defaultQuickFilter : l.quickFilters && l.quickFilters.length > 0 ? l.quickFilters[0].value : ""
|
|
114
|
-
),
|
|
115
|
-
|
|
116
|
-
},
|
|
117
|
-
(e) =>
|
|
118
|
-
) : !1),
|
|
119
|
-
activeView:
|
|
120
|
-
searchQuery:
|
|
121
|
-
activeFilters:
|
|
122
|
-
activeQuickFilter:
|
|
123
|
-
activeSort:
|
|
124
|
-
page:
|
|
125
|
-
limit:
|
|
126
|
-
selectedRows:
|
|
127
|
-
isFiltered:
|
|
128
|
-
hasData:
|
|
135
|
+
), ie = i(() => !l.quickFilters || l.quickFilters.length === 0 ? !1 : l.skipQuickFilterViews && l.skipQuickFilterViews.length > 0 ? !l.skipQuickFilterViews.includes(c.value) : !0), oe = (e) => {
|
|
136
|
+
f.value = e, S.value = 1, b();
|
|
137
|
+
}, O = i(() => w.value && w.value.trim() !== "" || f.value !== "" && f.value !== null && f.value !== void 0 ? !0 : p.value ? Object.keys(p.value).some(
|
|
138
|
+
(e) => p.value[e] !== "" && p.value[e] !== null && p.value[e] !== void 0
|
|
139
|
+
) : !1), z = i(() => l.data && l.data.length > 0), re = i(() => !l.skipEmptyViews || l.skipEmptyViews.length === 0 ? !1 : l.skipEmptyViews.includes(c.value)), s = i(() => ({
|
|
140
|
+
activeView: c.value,
|
|
141
|
+
searchQuery: w.value,
|
|
142
|
+
activeFilters: p.value,
|
|
143
|
+
activeQuickFilter: f.value,
|
|
144
|
+
activeSort: P.value,
|
|
145
|
+
page: S.value,
|
|
146
|
+
limit: R.value,
|
|
147
|
+
selectedRows: o.value,
|
|
148
|
+
isFiltered: O.value,
|
|
149
|
+
hasData: z.value,
|
|
129
150
|
loading: l.loading
|
|
130
|
-
})),
|
|
151
|
+
})), se = {
|
|
131
152
|
disableSearch: !0,
|
|
132
153
|
forceSelectable: !l.hideSelectable,
|
|
133
154
|
onTableChange: (e) => {
|
|
134
|
-
|
|
155
|
+
P.value = { field: e.sort.field, order: e.sort.order }, b();
|
|
135
156
|
}
|
|
136
157
|
};
|
|
137
|
-
U(
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
},
|
|
141
|
-
|
|
142
|
-
},
|
|
143
|
-
|
|
158
|
+
U(Le, se), U("screen-selected-rows", o), U("screen-request-delete", (e) => k(e));
|
|
159
|
+
const k = (e) => {
|
|
160
|
+
q.value = e, B.value = !0;
|
|
161
|
+
}, de = () => {
|
|
162
|
+
K("delete", q.value), B.value = !1, o.value = [];
|
|
163
|
+
}, ue = (e) => {
|
|
164
|
+
K("delete", e), o.value = [];
|
|
144
165
|
};
|
|
145
166
|
N(
|
|
146
167
|
() => l.pageInfo?.currentPage,
|
|
147
168
|
(e) => {
|
|
148
|
-
e && (
|
|
169
|
+
e && (S.value = e);
|
|
149
170
|
}
|
|
150
171
|
), N(
|
|
151
172
|
() => l.pageInfo?.itemsPerPage,
|
|
152
173
|
(e) => {
|
|
153
|
-
e && (
|
|
174
|
+
e && (R.value = e);
|
|
154
175
|
}
|
|
155
176
|
);
|
|
156
|
-
let
|
|
157
|
-
N(
|
|
158
|
-
|
|
159
|
-
|
|
177
|
+
let A = null;
|
|
178
|
+
N(w, () => {
|
|
179
|
+
A && clearTimeout(A), A = setTimeout(() => {
|
|
180
|
+
S.value = 1, b();
|
|
160
181
|
}, 300);
|
|
161
182
|
});
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
},
|
|
165
|
-
|
|
166
|
-
},
|
|
183
|
+
const ce = (e) => {
|
|
184
|
+
S.value = e, b();
|
|
185
|
+
}, me = (e) => {
|
|
186
|
+
R.value = e, S.value = 1, b();
|
|
187
|
+
}, b = () => {
|
|
167
188
|
if (!l.refetch) return;
|
|
168
|
-
const e = { ...
|
|
169
|
-
|
|
170
|
-
const a =
|
|
171
|
-
pagination: { page:
|
|
172
|
-
search:
|
|
189
|
+
const e = { ...p.value };
|
|
190
|
+
f.value !== "" && f.value !== null && f.value !== void 0 && (e[l.quickFilterKey] = f.value);
|
|
191
|
+
const a = P.value.field && P.value.order ? { field: P.value.field, order: P.value.order } : void 0, n = {
|
|
192
|
+
pagination: { page: S.value, limit: R.value },
|
|
193
|
+
search: w.value,
|
|
173
194
|
filter: e
|
|
174
195
|
};
|
|
175
|
-
a && (
|
|
176
|
-
},
|
|
177
|
-
const e =
|
|
196
|
+
a && (n.sort = a), l.refetch(n);
|
|
197
|
+
}, fe = i(() => {
|
|
198
|
+
const e = u("vlite.screen.deleteSelected");
|
|
178
199
|
return e !== "vlite.screen.deleteSelected" ? e : "Delete Selected";
|
|
179
|
-
}),
|
|
180
|
-
const e =
|
|
200
|
+
}), ve = i(() => {
|
|
201
|
+
const e = u("vlite.screen.refresh");
|
|
181
202
|
return e !== "vlite.screen.refresh" ? e : "Refresh";
|
|
182
|
-
}),
|
|
183
|
-
const e =
|
|
203
|
+
}), pe = i(() => {
|
|
204
|
+
const e = u("vlite.screen.searchPlaceholder");
|
|
184
205
|
return e !== "vlite.screen.searchPlaceholder" ? e : "Search...";
|
|
185
|
-
}),
|
|
186
|
-
const e =
|
|
206
|
+
}), he = i(() => {
|
|
207
|
+
const e = u("vlite.screen.confirmDeleteTitle");
|
|
187
208
|
return e !== "vlite.screen.confirmDeleteTitle" ? e : "Confirm Deletion";
|
|
188
|
-
}),
|
|
189
|
-
const e =
|
|
190
|
-
return e !== "vlite.screen.confirmDeleteDesc" ? e : `Are you sure you want to delete the selected ${
|
|
191
|
-
}),
|
|
192
|
-
const e =
|
|
209
|
+
}), ge = i(() => {
|
|
210
|
+
const e = u("vlite.screen.confirmDeleteDesc", { count: q.value.length });
|
|
211
|
+
return e !== "vlite.screen.confirmDeleteDesc" ? e : `Are you sure you want to delete the selected ${q.value.length > 1 ? "items" : "item"}?`;
|
|
212
|
+
}), ye = i(() => {
|
|
213
|
+
const e = u("vlite.screen.confirmDeleteBtn");
|
|
193
214
|
return e !== "vlite.screen.confirmDeleteBtn" ? e : "Delete";
|
|
194
|
-
}),
|
|
195
|
-
const e =
|
|
215
|
+
}), we = i(() => {
|
|
216
|
+
const e = u("vlite.screen.cancelBtn");
|
|
196
217
|
return e !== "vlite.screen.cancelBtn" ? e : "Cancel";
|
|
197
|
-
}),
|
|
198
|
-
const e =
|
|
218
|
+
}), ke = i(() => {
|
|
219
|
+
const e = u("vlite.screen.missingView");
|
|
199
220
|
return e !== "vlite.screen.missingView" ? e : "Please provide a `:list`, `:table`, or `:views` component/slot.";
|
|
200
|
-
}), H =
|
|
221
|
+
}), H = i(
|
|
201
222
|
() => l.exportSchema && l.exportSchema.length > 0 && l.exportProps !== !1 || l.importSchema && l.importSchema.length > 0 && l.importProps !== !1
|
|
202
|
-
),
|
|
203
|
-
const e =
|
|
223
|
+
), be = i(() => {
|
|
224
|
+
const e = u("vlite.screen.importData");
|
|
204
225
|
return e !== "vlite.screen.importData" ? e : "Import Data";
|
|
205
|
-
}),
|
|
206
|
-
e.value === "export" ?
|
|
207
|
-
},
|
|
226
|
+
}), xe = m(null), E = m(!1), j = m(!1), Ve = (e) => {
|
|
227
|
+
e.value === "export" ? E.value = !0 : e.value === "import" && (j.value = !0);
|
|
228
|
+
}, Se = i(
|
|
208
229
|
() => (l.exportSchema || []).map((e) => ({
|
|
209
230
|
field: e.name || e.field,
|
|
210
231
|
title: e.label || e.title || e.name || e.field
|
|
211
232
|
}))
|
|
212
|
-
),
|
|
233
|
+
), Ce = i(
|
|
213
234
|
() => (l.importSchema || []).map((e) => ({
|
|
214
235
|
field: e.name || e.field,
|
|
215
236
|
title: e.label || e.title || e.name || e.field,
|
|
216
237
|
required: e.required || !1
|
|
217
238
|
}))
|
|
218
|
-
),
|
|
239
|
+
), De = async (e) => I?.services?.importApi && l.importType ? await I.services.importApi(l.importType, e) : (console.warn(
|
|
219
240
|
"VLite Screen: No importApi configured or no importType provided for generic import."
|
|
220
241
|
), {
|
|
221
242
|
processed: e.data.length,
|
|
@@ -224,23 +245,23 @@ const Xe = { class: "flex flex-col w-full space-y-8" }, Ye = { class: "flex flex
|
|
|
224
245
|
skipped: 0,
|
|
225
246
|
failed: 0,
|
|
226
247
|
errors: []
|
|
227
|
-
}),
|
|
228
|
-
() => l.exportMode ||
|
|
229
|
-
),
|
|
230
|
-
|
|
248
|
+
}), Pe = () => b(), $e = i(
|
|
249
|
+
() => l.exportMode || I?.exportData?.mode || "frontend"
|
|
250
|
+
), Ie = async (e) => {
|
|
251
|
+
I?.services?.exportApi && l.exportType ? await I.services.exportApi(l.exportType, {
|
|
231
252
|
format: e,
|
|
232
|
-
search:
|
|
233
|
-
filter:
|
|
253
|
+
search: w.value,
|
|
254
|
+
filter: p.value
|
|
234
255
|
}) : console.warn(
|
|
235
256
|
"VLite Screen: No exportApi configured or no exportType provided for generic backend export."
|
|
236
257
|
);
|
|
237
258
|
};
|
|
238
|
-
return (e, a) => (
|
|
239
|
-
t.customHeader ?
|
|
259
|
+
return (e, a) => (r(), y("div", We, [
|
|
260
|
+
t.customHeader ? d(e.$slots, "custom-header", x(g({ key: 1 }, s.value))) : (r(), y("div", {
|
|
240
261
|
key: 0,
|
|
241
262
|
class: M([t.headerClass, "flex flex-col md:flex-row sm:items-start md:items-center justify-between gap-4"])
|
|
242
263
|
}, [
|
|
243
|
-
|
|
264
|
+
C(Oe, {
|
|
244
265
|
title: t.title,
|
|
245
266
|
"title-i18n": t.titleI18n,
|
|
246
267
|
"title-class": t.titleClass,
|
|
@@ -249,203 +270,217 @@ const Xe = { class: "flex flex-col w-full space-y-8" }, Ye = { class: "flex flex
|
|
|
249
270
|
"description-class": t.descriptionClass,
|
|
250
271
|
info: t.info,
|
|
251
272
|
"info-i18n": t.infoI18n
|
|
252
|
-
},
|
|
273
|
+
}, Te({ _: 2 }, [
|
|
253
274
|
e.$slots.title ? {
|
|
254
275
|
name: "title",
|
|
255
276
|
fn: X(() => [
|
|
256
|
-
|
|
277
|
+
d(e.$slots, "title", x($(s.value)))
|
|
257
278
|
]),
|
|
258
279
|
key: "0"
|
|
259
280
|
} : void 0,
|
|
260
281
|
e.$slots.description ? {
|
|
261
282
|
name: "description",
|
|
262
283
|
fn: X(() => [
|
|
263
|
-
|
|
284
|
+
d(e.$slots, "description", x($(s.value)))
|
|
264
285
|
]),
|
|
265
286
|
key: "1"
|
|
266
287
|
} : void 0
|
|
267
288
|
]), 1032, ["title", "title-i18n", "title-class", "description", "description-i18n", "description-class", "info", "info-i18n"]),
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
289
|
+
Q("div", Ze, [
|
|
290
|
+
Q("div", _e, [
|
|
291
|
+
o.value.length > 0 && !t.hideSelectable && !t.hideDeleteBtn ? (r(), V(J, {
|
|
271
292
|
key: 0,
|
|
272
293
|
variant: "outline",
|
|
273
294
|
class: "hover:bg-destructive/10 shrink-0 h-9! w-9!",
|
|
274
295
|
icon: "lucide:trash-2",
|
|
275
|
-
title:
|
|
276
|
-
onClick: a[0] || (a[0] = (
|
|
277
|
-
}, null, 8, ["title"])) :
|
|
278
|
-
|
|
296
|
+
title: fe.value,
|
|
297
|
+
onClick: a[0] || (a[0] = (n) => k(o.value))
|
|
298
|
+
}, null, 8, ["title"])) : h("", !0),
|
|
299
|
+
ae.value ? (r(), V(ze, {
|
|
279
300
|
key: 1,
|
|
280
|
-
modelValue: Y(
|
|
281
|
-
"onUpdate:modelValue": a[1] || (a[1] = (
|
|
282
|
-
views:
|
|
283
|
-
}, null, 8, ["modelValue", "views"])) :
|
|
284
|
-
|
|
285
|
-
t.showRefresh ? (
|
|
301
|
+
modelValue: Y(c),
|
|
302
|
+
"onUpdate:modelValue": a[1] || (a[1] = (n) => Re(c) ? c.value = n : null),
|
|
303
|
+
views: D.value
|
|
304
|
+
}, null, 8, ["modelValue", "views"])) : h("", !0),
|
|
305
|
+
d(e.$slots, "before-search", x($(s.value))),
|
|
306
|
+
t.showRefresh ? (r(), V(J, {
|
|
286
307
|
key: 2,
|
|
287
308
|
variant: "outline",
|
|
288
309
|
icon: "lucide:refresh-cw",
|
|
289
310
|
size: "lg",
|
|
290
311
|
class: "shrink-0 h-9! w-9!",
|
|
291
|
-
title:
|
|
312
|
+
title: ve.value,
|
|
292
313
|
disabled: t.loading,
|
|
293
|
-
onClick:
|
|
294
|
-
}, null, 8, ["title", "disabled"])) :
|
|
295
|
-
t.filterSchema && t.filterSchema.length > 0 ? (
|
|
314
|
+
onClick: b
|
|
315
|
+
}, null, 8, ["title", "disabled"])) : h("", !0),
|
|
316
|
+
t.filterSchema && t.filterSchema.length > 0 ? (r(), V(Ue, {
|
|
296
317
|
key: 3,
|
|
297
318
|
schema: t.filterSchema,
|
|
298
319
|
type: t.filterType,
|
|
299
|
-
modelValue:
|
|
300
|
-
"onUpdate:modelValue": a[2] || (a[2] = (
|
|
301
|
-
onChange:
|
|
302
|
-
}, null, 8, ["schema", "type", "modelValue"])) :
|
|
303
|
-
t.canSearch ? (
|
|
304
|
-
|
|
320
|
+
modelValue: p.value,
|
|
321
|
+
"onUpdate:modelValue": a[2] || (a[2] = (n) => p.value = n),
|
|
322
|
+
onChange: b
|
|
323
|
+
}, null, 8, ["schema", "type", "modelValue"])) : h("", !0),
|
|
324
|
+
t.canSearch ? (r(), y("div", et, [
|
|
325
|
+
C(Qe, {
|
|
305
326
|
lazy: "",
|
|
306
|
-
modelValue:
|
|
307
|
-
"onUpdate:modelValue": a[3] || (a[3] = (
|
|
327
|
+
modelValue: w.value,
|
|
328
|
+
"onUpdate:modelValue": a[3] || (a[3] = (n) => w.value = n),
|
|
308
329
|
icon: "lucide:search",
|
|
309
|
-
placeholder:
|
|
330
|
+
placeholder: pe.value,
|
|
310
331
|
variant: "outline",
|
|
311
332
|
class: "bg-background w-full",
|
|
312
333
|
"show-clear-button": !0
|
|
313
334
|
}, null, 8, ["modelValue", "placeholder"])
|
|
314
|
-
])) :
|
|
335
|
+
])) : h("", !0)
|
|
315
336
|
]),
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
337
|
+
Q("div", tt, [
|
|
338
|
+
d(e.$slots, "actions", x($(s.value)), () => [
|
|
339
|
+
C(Xe, {
|
|
319
340
|
"can-add": t.canAdd,
|
|
320
341
|
"add-component": t.addComponent,
|
|
321
342
|
"add-btn": t.addBtn,
|
|
322
343
|
loading: t.loading,
|
|
323
344
|
data: t.data,
|
|
324
345
|
refetch: t.refetch,
|
|
325
|
-
onAdd: a[4] || (a[4] = (
|
|
346
|
+
onAdd: a[4] || (a[4] = (n) => e.$emit("add"))
|
|
326
347
|
}, null, 8, ["can-add", "add-component", "add-btn", "loading", "data", "refetch"])
|
|
327
348
|
]),
|
|
328
|
-
H.value ? (
|
|
349
|
+
H.value ? (r(), V(He, {
|
|
329
350
|
key: 0,
|
|
330
351
|
"export-props": t.exportProps,
|
|
331
352
|
"import-props": t.importProps,
|
|
332
|
-
onSelect:
|
|
333
|
-
}, null, 8, ["export-props", "import-props"])) :
|
|
334
|
-
|
|
353
|
+
onSelect: Ve
|
|
354
|
+
}, null, 8, ["export-props", "import-props"])) : h("", !0),
|
|
355
|
+
d(e.$slots, "after-add", x($(s.value)))
|
|
335
356
|
])
|
|
336
357
|
])
|
|
337
358
|
], 2)),
|
|
338
|
-
|
|
339
|
-
|
|
359
|
+
d(e.$slots, "sub-header", x($(s.value))),
|
|
360
|
+
ie.value ? (r(), y("div", {
|
|
340
361
|
key: 2,
|
|
341
362
|
class: M(["-mt-1.5 max-sm:hidden!", t.quickFilterVariant == "line" ? "mb-1.5 sm:mb-3" : "mb-3.5"])
|
|
342
363
|
}, [
|
|
343
|
-
|
|
344
|
-
modelValue:
|
|
345
|
-
"onUpdate:modelValue": a[5] || (a[5] = (
|
|
364
|
+
C(Je, {
|
|
365
|
+
modelValue: f.value,
|
|
366
|
+
"onUpdate:modelValue": a[5] || (a[5] = (n) => f.value = n),
|
|
346
367
|
options: t.quickFilters,
|
|
347
368
|
variant: t.quickFilterVariant,
|
|
348
|
-
onChange:
|
|
369
|
+
onChange: oe
|
|
349
370
|
}, null, 8, ["modelValue", "options", "variant"])
|
|
350
|
-
], 2)) :
|
|
351
|
-
|
|
371
|
+
], 2)) : h("", !0),
|
|
372
|
+
Q("div", {
|
|
352
373
|
class: M(["flex-1 w-full relative", t.containerClass])
|
|
353
374
|
}, [
|
|
354
|
-
!
|
|
355
|
-
e.$slots.empty ?
|
|
375
|
+
!z.value && !t.loading && !re.value ? (r(), y(G, { key: 0 }, [
|
|
376
|
+
e.$slots.empty ? d(e.$slots, "empty", x(g({ key: 0 }, s.value))) : (r(), V(Ye, {
|
|
356
377
|
key: 1,
|
|
357
378
|
"empty-title": t.emptyTitle,
|
|
358
379
|
"empty-title-i18n": t.emptyTitleI18n,
|
|
359
380
|
"empty-description": t.emptyDescription,
|
|
360
381
|
"empty-description-i18n": t.emptyDescriptionI18n,
|
|
361
382
|
"empty-icon": t.emptyIcon,
|
|
362
|
-
"is-filtered":
|
|
383
|
+
"is-filtered": O.value,
|
|
363
384
|
"can-add": t.canAdd,
|
|
364
385
|
"add-component": t.addComponent,
|
|
365
386
|
"add-btn": t.addBtn
|
|
366
387
|
}, null, 8, ["empty-title", "empty-title-i18n", "empty-description", "empty-description-i18n", "empty-icon", "is-filtered", "can-add", "add-component", "add-btn"]))
|
|
367
|
-
], 64)) : (
|
|
368
|
-
|
|
388
|
+
], 64)) : (r(), y(G, { key: 1 }, [
|
|
389
|
+
F.value === "table" ? d(e.$slots, "table", g({
|
|
369
390
|
key: 0,
|
|
370
391
|
data: t.data,
|
|
371
392
|
loading: t.loading,
|
|
372
|
-
selectedRows:
|
|
373
|
-
delete:
|
|
374
|
-
updateSelectedRows: (
|
|
375
|
-
},
|
|
393
|
+
selectedRows: o.value,
|
|
394
|
+
delete: k,
|
|
395
|
+
updateSelectedRows: (n) => o.value = n
|
|
396
|
+
}, s.value)) : F.value === "list" ? d(e.$slots, "list", g({
|
|
376
397
|
key: 1,
|
|
377
398
|
data: t.data,
|
|
378
399
|
loading: t.loading,
|
|
379
|
-
selectedRows:
|
|
380
|
-
delete:
|
|
381
|
-
updateSelectedRows: (
|
|
382
|
-
},
|
|
400
|
+
selectedRows: o.value,
|
|
401
|
+
delete: k,
|
|
402
|
+
updateSelectedRows: (n) => o.value = n
|
|
403
|
+
}, s.value)) : F.value === "grid" ? d(e.$slots, "grid", g({
|
|
383
404
|
key: 2,
|
|
384
405
|
data: t.data,
|
|
385
406
|
loading: t.loading,
|
|
386
|
-
selectedRows:
|
|
387
|
-
delete:
|
|
388
|
-
updateSelectedRows: (
|
|
389
|
-
},
|
|
407
|
+
selectedRows: o.value,
|
|
408
|
+
delete: k,
|
|
409
|
+
updateSelectedRows: (n) => o.value = n
|
|
410
|
+
}, s.value)) : F.value === "kanban" ? d(e.$slots, "kanban", g({
|
|
390
411
|
key: 3,
|
|
391
412
|
data: t.data,
|
|
392
413
|
loading: t.loading,
|
|
414
|
+
selectedRows: o.value,
|
|
415
|
+
delete: k,
|
|
416
|
+
updateSelectedRows: (n) => o.value = n
|
|
417
|
+
}, s.value)) : F.value === "calendar" ? d(e.$slots, "calendar", g({
|
|
418
|
+
key: 4,
|
|
419
|
+
data: t.data,
|
|
420
|
+
loading: t.loading,
|
|
421
|
+
selectedRows: o.value,
|
|
422
|
+
delete: k,
|
|
423
|
+
updateSelectedRows: (n) => o.value = n
|
|
424
|
+
}, s.value)) : L.value ? (r(), V(qe(L.value), g({
|
|
425
|
+
key: 5,
|
|
426
|
+
data: t.data,
|
|
427
|
+
loading: t.loading,
|
|
393
428
|
refetch: t.refetch,
|
|
394
|
-
selectedRows:
|
|
395
|
-
"onUpdate:selectedRows": a[6] || (a[6] = (
|
|
396
|
-
delete:
|
|
397
|
-
onDelete:
|
|
398
|
-
}, t.viewProps), null, 16, ["data", "loading", "refetch", "selectedRows"])) : (
|
|
429
|
+
selectedRows: o.value,
|
|
430
|
+
"onUpdate:selectedRows": a[6] || (a[6] = (n) => o.value = n),
|
|
431
|
+
delete: k,
|
|
432
|
+
onDelete: ue
|
|
433
|
+
}, t.viewProps), null, 16, ["data", "loading", "refetch", "selectedRows"])) : (r(), y("div", lt, Ee(ke.value), 1))
|
|
399
434
|
], 64))
|
|
400
435
|
], 2),
|
|
401
|
-
t.pagination && t.pageInfo && t.pageInfo.totalPages > 1 ? (
|
|
402
|
-
|
|
436
|
+
t.pagination && t.pageInfo && t.pageInfo.totalPages > 1 ? (r(), y("div", at, [
|
|
437
|
+
C(Y(je), g({
|
|
403
438
|
"current-page": t.pageInfo.currentPage,
|
|
404
439
|
"total-pages": t.pageInfo.totalPages,
|
|
405
440
|
"total-items": t.pageInfo.totalItems
|
|
406
441
|
}, t.paginationProps, {
|
|
407
|
-
onChange:
|
|
408
|
-
"onUpdate:itemsPerPage":
|
|
442
|
+
onChange: ce,
|
|
443
|
+
"onUpdate:itemsPerPage": me
|
|
409
444
|
}), null, 16, ["current-page", "total-pages", "total-items"])
|
|
410
|
-
])) :
|
|
411
|
-
|
|
412
|
-
show:
|
|
413
|
-
"onUpdate:show": a[7] || (a[7] = (
|
|
414
|
-
title:
|
|
415
|
-
description:
|
|
416
|
-
"confirm-text":
|
|
417
|
-
"cancel-text":
|
|
445
|
+
])) : h("", !0),
|
|
446
|
+
C(Ae, {
|
|
447
|
+
show: B.value,
|
|
448
|
+
"onUpdate:show": a[7] || (a[7] = (n) => B.value = n),
|
|
449
|
+
title: he.value,
|
|
450
|
+
description: ge.value,
|
|
451
|
+
"confirm-text": ye.value,
|
|
452
|
+
"cancel-text": we.value,
|
|
418
453
|
variant: "danger",
|
|
419
|
-
onConfirm:
|
|
420
|
-
onCancel: a[8] || (a[8] = (
|
|
454
|
+
onConfirm: de,
|
|
455
|
+
onCancel: a[8] || (a[8] = (n) => B.value = !1)
|
|
421
456
|
}, null, 8, ["show", "title", "description", "confirm-text", "cancel-text"]),
|
|
422
|
-
|
|
457
|
+
E.value ? (r(), V(Ge, {
|
|
423
458
|
key: 4,
|
|
424
|
-
show:
|
|
425
|
-
"onUpdate:show": a[9] || (a[9] = (
|
|
459
|
+
show: E.value,
|
|
460
|
+
"onUpdate:show": a[9] || (a[9] = (n) => E.value = n),
|
|
426
461
|
data: t.data || [],
|
|
427
|
-
fields:
|
|
428
|
-
mode:
|
|
462
|
+
fields: Se.value,
|
|
463
|
+
mode: $e.value,
|
|
429
464
|
"export-props": t.exportProps,
|
|
430
|
-
"on-export":
|
|
431
|
-
}, null, 8, ["show", "data", "fields", "mode", "export-props"])) :
|
|
432
|
-
H.value ? (
|
|
433
|
-
|
|
434
|
-
show:
|
|
435
|
-
"onUpdate:show": a[10] || (a[10] = (
|
|
465
|
+
"on-export": Ie
|
|
466
|
+
}, null, 8, ["show", "data", "fields", "mode", "export-props"])) : h("", !0),
|
|
467
|
+
H.value ? (r(), y("div", nt, [
|
|
468
|
+
C(Ne, g({
|
|
469
|
+
show: j.value,
|
|
470
|
+
"onUpdate:show": a[10] || (a[10] = (n) => j.value = n),
|
|
436
471
|
ref_key: "importDataRef",
|
|
437
|
-
ref:
|
|
438
|
-
fields:
|
|
439
|
-
processBatch:
|
|
440
|
-
onComplete:
|
|
472
|
+
ref: xe,
|
|
473
|
+
fields: Ce.value,
|
|
474
|
+
processBatch: De,
|
|
475
|
+
onComplete: Pe
|
|
441
476
|
}, typeof t.importProps == "object" ? t.importProps : {}, {
|
|
442
|
-
title:
|
|
477
|
+
title: be.value,
|
|
443
478
|
class: "hidden!"
|
|
444
479
|
}), null, 16, ["show", "fields", "title"])
|
|
445
|
-
])) :
|
|
480
|
+
])) : h("", !0)
|
|
446
481
|
]));
|
|
447
482
|
}
|
|
448
483
|
});
|
|
449
484
|
export {
|
|
450
|
-
|
|
485
|
+
St as default
|
|
451
486
|
};
|