@opengis/admin 0.2.66 → 0.2.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/README.md +97 -97
- package/config.js +4 -4
- package/dist/{add-page-BGF5KVWj.js → add-page-DxcLw2Tg.js} +1 -1
- package/dist/{admin-interface-C38XwfYa.js → admin-interface-PNmf4mYy.js} +353 -339
- package/dist/{admin-view-CxfEFvYh.js → admin-view-BhUkmxzd.js} +2 -2
- package/dist/admin.js +1 -1
- package/dist/admin.umd.cjs +75 -75
- package/dist/assets/logo.svg +41 -41
- package/dist/{card-view-BSDdkWai.js → card-view-BHYYHZKY.js} +1 -1
- package/dist/{edit-page-BOvj73M2.js → edit-page-CwSP7-2a.js} +1 -1
- package/dist/{import-file-BdITdwoX.js → import-file-B2eafLRU.js} +9229 -9165
- package/dist/style.css +1 -1
- package/module/settings/card/admin.accounts.table/index.yml +7 -7
- package/module/settings/card/admin.accounts.table/rules.hbs +18 -18
- package/module/settings/card/admin.accounts.table/users.hbs +13 -13
- package/module/settings/card/admin.routes.table/groups.hbs +11 -11
- package/module/settings/card/admin.routes.table/index.yml +11 -11
- package/module/settings/card/admin.routes.table/users.hbs +16 -16
- package/module/settings/cls/core.actions.json +17 -17
- package/module/settings/cls/core.scope.json +13 -13
- package/module/settings/cls/properties.site_status.json +13 -13
- package/module/settings/cls/properties.widget_status.json +13 -13
- package/module/settings/cls/users.user_type.json +13 -13
- package/module/settings/cls/yes_no.json +11 -11
- package/module/settings/form/admin.accounts.form.json +13 -13
- package/module/settings/form/admin.properties.form.json +15 -15
- package/module/settings/form/admin.roles.form.json +21 -21
- package/module/settings/form/admin.user_properties.form.json +15 -15
- package/module/settings/form/admin.user_roles_card.form.json +13 -13
- package/module/settings/interface/admin.properties.json +4 -4
- package/module/settings/interface/admin.roles.json +4 -4
- package/module/settings/interface/admin.routes.json +4 -4
- package/module/settings/interface/admin.users.json +4 -4
- package/module/settings/select/core.routes.sql +1 -1
- package/module/settings/select/core.user_mentioned.sql +1 -1
- package/module/settings/select/core.user_uid.sql +1 -1
- package/module/settings/table/admin.properties.table.json +39 -39
- package/module/settings/table/admin.user_properties.table.json +34 -34
- package/package.json +2 -2
- package/plugin.js +29 -29
- package/server/helpers/core/badge.js +16 -16
- package/server/helpers/core/buttonHelper.js +21 -21
- package/server/helpers/core/select.js +48 -48
- package/server/helpers/core/token.js +18 -18
- package/server/helpers/index.js +29 -29
- package/server/helpers/list/buttonHelper.js +21 -21
- package/server/helpers/list/utils/button.js +5 -5
- package/server/helpers/temp/contentList.js +58 -58
- package/server/helpers/temp/ifCond.js +101 -101
- package/server/helpers/utils/button.js +5 -5
- package/server/plugins/access/index.mjs +6 -6
- package/server/plugins/adminHook.js +81 -81
- package/server/plugins/cron.js +10 -10
- package/server/plugins/docs.js +28 -28
- package/server/plugins/vite.js +71 -71
- package/server/routes/access/controllers/access.group.js +29 -29
- package/server/routes/access/controllers/access.group.post.js +49 -49
- package/server/routes/access/index.mjs +8 -8
- package/server/routes/access/schema.mjs +57 -57
- package/server/routes/calendar/controllers/calendar.data.js +87 -87
- package/server/routes/calendar/index.mjs +7 -7
- package/server/routes/calendar/schema.js +21 -21
- package/server/routes/data/controllers/cardData.js +106 -106
- package/server/routes/data/controllers/cardTabData.js +49 -49
- package/server/routes/data/controllers/funcs/getFilterSQL/index.js +92 -92
- package/server/routes/data/controllers/funcs/getFilterSQL/util/formatValue.js +170 -170
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getCustomQuery.js +13 -13
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getFilterQuery.js +64 -64
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getOptimizedQuery.js +12 -12
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getTableSql.js +34 -34
- package/server/routes/data/controllers/tableData.js +29 -29
- package/server/routes/data/controllers/tableDataId.js +27 -27
- package/server/routes/data/controllers/tableFilter.js +70 -70
- package/server/routes/data/controllers/tokenInfo.js +9 -9
- package/server/routes/data/controllers/utils/assignTokens.js +30 -30
- package/server/routes/data/controllers/utils/conditions.js +20 -20
- package/server/routes/data/controllers/utils/getColumns.js +8 -8
- package/server/routes/data/index.mjs +20 -20
- package/server/routes/data/schema.js +54 -54
- package/server/routes/menu/index.mjs +5 -5
- package/server/routes/notifications/controllers/readNotifications.js +27 -27
- package/server/routes/notifications/controllers/testEmail.js +35 -35
- package/server/routes/notifications/controllers/userNotifications.js +53 -53
- package/server/routes/notifications/funcs/addNotification.js +21 -21
- package/server/routes/notifications/funcs/sendNotification.js +92 -92
- package/server/routes/notifications/hook/onWidgetSet.js +57 -57
- package/server/routes/notifications/index.mjs +27 -27
- package/server/routes/notifications/schema.js +16 -16
- package/server/routes/print/controllers/cardPrint.js +107 -107
- package/server/routes/print/index.mjs +5 -5
- package/server/routes/properties/controllers/admin.properties.get.js +29 -29
- package/server/routes/properties/controllers/user.properties.get.js +30 -30
- package/server/routes/properties/controllers/user.properties.post.js +30 -30
- package/server/routes/properties/funcs/getSettings.js +56 -56
- package/server/routes/properties/funcs/setSettings.js +44 -44
- package/server/routes/properties/funcs/utils/dataInsert.js +26 -26
- package/server/routes/properties/index.mjs +14 -14
- package/server/routes/properties/schema.js +10 -10
- package/server/routes/root.mjs +3 -3
- package/server/routes/templates/controllers/getTemplate.js +49 -49
- package/server/routes/templates/index.mjs +16 -16
- package/server/routes/templates/schema.js +8 -8
- package/server/routes/user/controllers/user.cls.id.js +14 -14
- package/server/routes/user/controllers/user.cls.js +71 -71
- package/server/routes/user/controllers/user.info.js +17 -17
- package/server/routes/user/schema.js +14 -14
- package/server/routes/widget/controllers/utils/obj2db.js +13 -13
- package/server/routes/widget/controllers/widget.del.js +47 -47
- package/server/routes/widget/controllers/widget.get.js +98 -98
- package/server/routes/widget/controllers/widget.set.js +76 -76
- package/server/routes/widget/index.mjs +11 -11
- package/server/routes/widget/schema.js +12 -12
- package/server/templates/cls/itree.recrzone_category.json +73 -73
- package/server/templates/cls/test.json +9 -9
- package/server/templates/form/admin.user_cls.data.form.json +49 -49
- package/server/templates/form/admin.user_group_rel.form.json +21 -21
- package/server/templates/form/cp_building.form.json +32 -32
- package/server/templates/form/form-user-pass.json +10 -10
- package/server/templates/form/form-user_group.json +39 -39
- package/server/templates/form/form-users.json +156 -156
- package/server/templates/form/user_group_access.form.json +22 -22
- package/server/templates/select/account_id.json +2 -2
- package/server/templates/table/gis.dataset.table.json +43 -43
- package/server/templates/table/management.user_group.table.json +112 -112
- package/server/templates/table/management.users.table.json +126 -126
- package/utils.js +29 -29
- package/server/routes/widget/controllers/utils/historyFormat.js +0 -75
@@ -1,6 +1,6 @@
|
|
1
|
-
import { _ as C, f as
|
2
|
-
import { openBlock as r, createElementBlock as i, createTextVNode as
|
3
|
-
const
|
1
|
+
import { _ as C, f as Be, g as Oe, h as Ne, e as j, I as Ue, i as De, j as N, A as U, V as Ee, k as He, l as Re, m as We, n as Je, o as Ge, a as Ke, u as Ie, s as Qe } from "./import-file-B2eafLRU.js";
|
2
|
+
import { openBlock as r, createElementBlock as i, createTextVNode as P, toDisplayString as A, createElementVNode as l, normalizeClass as I, createCommentVNode as v, resolveComponent as p, Fragment as T, createVNode as x, withCtx as S, createBlock as k, renderList as D, withModifiers as Xe, createStaticVNode as Ye, withDirectives as L, vModelCheckbox as Ze, Transition as z, vModelText as et, renderSlot as tt, vShow as E, Teleport as st, getCurrentInstance as Pe, ref as B, resolveDynamicComponent as O, defineComponent as nt, normalizeStyle as Ve } from "vue";
|
3
|
+
const lt = {
|
4
4
|
data() {
|
5
5
|
return {
|
6
6
|
currentSort: ""
|
@@ -58,23 +58,23 @@ const nt = {
|
|
58
58
|
return `${this.data.name}-${t}` === this.selectedSortParam;
|
59
59
|
}
|
60
60
|
}
|
61
|
-
},
|
61
|
+
}, rt = {
|
62
62
|
scope: "col",
|
63
63
|
class: "pe-2 py-1 text-start"
|
64
|
-
},
|
64
|
+
}, ot = { class: "w-[24px]" }, at = {
|
65
65
|
key: 1,
|
66
66
|
class: "flex items-center px-1 py-3 font-medium text-gray-800 text-start gap-x-1 dark:text-neutral-200"
|
67
67
|
};
|
68
|
-
function
|
69
|
-
return r(), i("th",
|
68
|
+
function it(t, e, s, a, n, o) {
|
69
|
+
return r(), i("th", rt, [
|
70
70
|
o.getVisibleIcon ? (r(), i("button", {
|
71
71
|
key: 0,
|
72
72
|
type: "button",
|
73
73
|
class: "flex items-center px-1 py-3 font-medium text-gray-800 text-start gap-x-1 dark:text-neutral-200",
|
74
|
-
onClick: e[0] || (e[0] = (
|
74
|
+
onClick: e[0] || (e[0] = (u) => o.handleClickSortBtn(n.currentSort))
|
75
75
|
}, [
|
76
|
-
|
77
|
-
l("span",
|
76
|
+
P(A(o.label) + " ", 1),
|
77
|
+
l("span", ot, [
|
78
78
|
n.currentSort ? (r(), i("svg", {
|
79
79
|
key: 0,
|
80
80
|
class: I(["shrink-0 size-3.5", { "rotate-180": n.currentSort === "asc" }]),
|
@@ -92,14 +92,14 @@ function at(t, e, s, a, n, o) {
|
|
92
92
|
l("path", { d: "M12 19V5" }, null, -1)
|
93
93
|
]), 2)) : v("", !0)
|
94
94
|
])
|
95
|
-
])) : (r(), i("p",
|
95
|
+
])) : (r(), i("p", at, A(o.label), 1))
|
96
96
|
]);
|
97
97
|
}
|
98
|
-
const
|
98
|
+
const dt = /* @__PURE__ */ C(lt, [["render", it]]), ut = {
|
99
99
|
components: {
|
100
|
-
IconMore:
|
101
|
-
IconDelete:
|
102
|
-
IconEdit:
|
100
|
+
IconMore: Be,
|
101
|
+
IconDelete: Oe,
|
102
|
+
IconEdit: Ne
|
103
103
|
},
|
104
104
|
emits: ["updateTable"],
|
105
105
|
props: {
|
@@ -130,7 +130,7 @@ const it = /* @__PURE__ */ C(nt, [["render", at]]), ut = {
|
|
130
130
|
async getData() {
|
131
131
|
var t;
|
132
132
|
try {
|
133
|
-
const { data: e } = await
|
133
|
+
const { data: e } = await j.get(
|
134
134
|
`/api/table/${this.table}/${(t = this.item) == null ? void 0 : t.id}`
|
135
135
|
);
|
136
136
|
this.formValue = e;
|
@@ -144,10 +144,10 @@ const it = /* @__PURE__ */ C(nt, [["render", at]]), ut = {
|
|
144
144
|
async deleteElement() {
|
145
145
|
var t, e;
|
146
146
|
try {
|
147
|
-
const { data: s } = await
|
147
|
+
const { data: s } = await j.get(
|
148
148
|
`/api/table/${this.table}/${(t = this.item) == null ? void 0 : t.id}`
|
149
149
|
);
|
150
|
-
await
|
150
|
+
await j.delete(`/api/table/${s == null ? void 0 : s.token}`), await this.$notify({
|
151
151
|
title: "Успішно!",
|
152
152
|
message: "Об`єкт успішно видалeно",
|
153
153
|
type: "success"
|
@@ -178,21 +178,21 @@ const it = /* @__PURE__ */ C(nt, [["render", at]]), ut = {
|
|
178
178
|
});
|
179
179
|
}
|
180
180
|
}
|
181
|
-
},
|
181
|
+
}, ct = { class: "inline-flex" }, pt = { class: "inline-flex items-center justify-center bg-white border rounded-lg shadow-sm size-7 gap-x-2 border-stone-200 text-stone-800 hover:bg-stone-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-50" }, ht = { class: "flex flex-col items-start" }, bt = ["onClick"], ft = { class: "text-gray-800" }, gt = {
|
182
182
|
key: 1,
|
183
183
|
class: "h-[1px] w-[80%] bg-gray-200 ml-auto mr-auto"
|
184
|
-
},
|
185
|
-
function
|
186
|
-
const
|
184
|
+
}, mt = { class: "flex justify-end p-[16px] pr-0 gap-x-3" };
|
185
|
+
function xt(t, e, s, a, n, o) {
|
186
|
+
const u = p("IconMore"), f = p("IconEdit"), h = p("router-link"), b = p("IconDelete"), d = p("VsPopover"), _ = p("VsConfirm");
|
187
187
|
return r(), i(T, null, [
|
188
|
-
l("div",
|
189
|
-
x(
|
188
|
+
l("div", ct, [
|
189
|
+
x(d, {
|
190
190
|
trigger: "click",
|
191
191
|
placement: "bottom-left"
|
192
192
|
}, {
|
193
193
|
reference: S(() => [
|
194
|
-
l("button",
|
195
|
-
x(
|
194
|
+
l("button", pt, [
|
195
|
+
x(u, {
|
196
196
|
height: "16",
|
197
197
|
width: "16"
|
198
198
|
})
|
@@ -201,7 +201,7 @@ function mt(t, e, s, a, n, o) {
|
|
201
201
|
default: S(() => {
|
202
202
|
var m, g, w, y, $;
|
203
203
|
return [
|
204
|
-
l("div",
|
204
|
+
l("div", ht, [
|
205
205
|
(m = s.actions) != null && m.includes("edit") && s.isForm ? (r(), k(h, {
|
206
206
|
key: 0,
|
207
207
|
to: `/edit?table=${(w = (g = t.$route) == null ? void 0 : g.params) == null ? void 0 : w.catchAll}&id=${(y = s.item) == null ? void 0 : y.id}`,
|
@@ -209,22 +209,22 @@ function mt(t, e, s, a, n, o) {
|
|
209
209
|
}, {
|
210
210
|
default: S(() => [
|
211
211
|
x(f, { color: "#000" }),
|
212
|
-
e[4] || (e[4] =
|
212
|
+
e[4] || (e[4] = P(" Редагувати "))
|
213
213
|
]),
|
214
214
|
_: 1
|
215
215
|
}, 8, ["to"])) : v("", !0),
|
216
|
-
(r(!0), i(T, null,
|
217
|
-
key:
|
218
|
-
onClick: (q) => o.customButtonAction(
|
216
|
+
(r(!0), i(T, null, D(o.getCustomActions, (V, M) => (r(), i("button", {
|
217
|
+
key: M,
|
218
|
+
onClick: (q) => o.customButtonAction(V),
|
219
219
|
class: "w-full flex items-center gap-x-3 py-1.5 px-2 rounded-lg text-[13px] text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"
|
220
220
|
}, [
|
221
221
|
x(b, { class: "opacity-0" }),
|
222
|
-
l("span",
|
223
|
-
], 8,
|
224
|
-
s.isForm ? (r(), i("div",
|
222
|
+
l("span", ft, A(V == null ? void 0 : V.label), 1)
|
223
|
+
], 8, bt))), 128)),
|
224
|
+
s.isForm ? (r(), i("div", gt)) : v("", !0),
|
225
225
|
($ = s.actions) != null && $.includes("del") ? (r(), i("button", {
|
226
226
|
key: 2,
|
227
|
-
onClick: e[0] || (e[0] =
|
227
|
+
onClick: e[0] || (e[0] = Xe((...V) => o.openConfirm && o.openConfirm(...V), ["stop"])),
|
228
228
|
class: "w-full flex items-center gap-x-3 py-1.5 px-2 rounded-lg text-[13px] text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"
|
229
229
|
}, [
|
230
230
|
x(b),
|
@@ -244,7 +244,7 @@ function mt(t, e, s, a, n, o) {
|
|
244
244
|
}, {
|
245
245
|
default: S(() => [
|
246
246
|
e[6] || (e[6] = l("p", { class: "mt-1 text-sm text-gray-600 dark:text-neutral-400" }, " Ви впевнені, що хочете видалити цей об'єкт? ", -1)),
|
247
|
-
l("div",
|
247
|
+
l("div", mt, [
|
248
248
|
l("button", {
|
249
249
|
type: "button",
|
250
250
|
class: "inline-flex items-center px-3 py-2 text-xs font-medium duration-300 border rounded-lg shadow-sm hover:bg-gray-100 gap-x-2 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50",
|
@@ -261,7 +261,7 @@ function mt(t, e, s, a, n, o) {
|
|
261
261
|
}, 8, ["visible"])
|
262
262
|
], 64);
|
263
263
|
}
|
264
|
-
const
|
264
|
+
const yt = /* @__PURE__ */ C(ut, [["render", xt]]), kt = {}, vt = {
|
265
265
|
class: "flex-shrink-0 mt-0.5 size-3.5",
|
266
266
|
xmlns: "http://www.w3.org/2000/svg",
|
267
267
|
viewBox: "0 0 24 24",
|
@@ -271,15 +271,15 @@ const xt = /* @__PURE__ */ C(ut, [["render", mt]]), yt = {}, kt = {
|
|
271
271
|
"stroke-linecap": "round",
|
272
272
|
"stroke-linejoin": "round"
|
273
273
|
};
|
274
|
-
function
|
275
|
-
return r(), i("svg",
|
274
|
+
function _t(t, e, s, a, n, o) {
|
275
|
+
return r(), i("svg", vt, e[0] || (e[0] = [
|
276
276
|
l("path", { d: "m3 16 4 4 4-4" }, null, -1),
|
277
277
|
l("path", { d: "M7 20V4" }, null, -1),
|
278
278
|
l("path", { d: "m21 8-4-4-4 4" }, null, -1),
|
279
279
|
l("path", { d: "M17 4v16" }, null, -1)
|
280
280
|
]));
|
281
281
|
}
|
282
|
-
const
|
282
|
+
const wt = /* @__PURE__ */ C(kt, [["render", _t]]), Ct = {}, $t = {
|
283
283
|
xmlns: "http://www.w3.org/2000/svg",
|
284
284
|
width: "24",
|
285
285
|
height: "24",
|
@@ -291,8 +291,8 @@ const _t = /* @__PURE__ */ C(yt, [["render", vt]]), wt = {}, Ct = {
|
|
291
291
|
"stroke-linejoin": "round",
|
292
292
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-rosette-discount-check"
|
293
293
|
};
|
294
|
-
function
|
295
|
-
return r(), i("svg",
|
294
|
+
function At(t, e, s, a, n, o) {
|
295
|
+
return r(), i("svg", $t, e[0] || (e[0] = [
|
296
296
|
l("path", {
|
297
297
|
stroke: "none",
|
298
298
|
d: "M0 0h24v24H0z",
|
@@ -302,8 +302,8 @@ function $t(t, e, s, a, n, o) {
|
|
302
302
|
l("path", { d: "M9 12l2 2l4 -4" }, null, -1)
|
303
303
|
]));
|
304
304
|
}
|
305
|
-
const
|
306
|
-
components: { IconExport:
|
305
|
+
const Tt = /* @__PURE__ */ C(Ct, [["render", At]]), St = {
|
306
|
+
components: { IconExport: wt, IconChevronDown: Ue, IconSuccess: Tt },
|
307
307
|
props: {
|
308
308
|
table: String,
|
309
309
|
columns: Array,
|
@@ -356,7 +356,7 @@ const At = /* @__PURE__ */ C(wt, [["render", $t]]), Tt = {
|
|
356
356
|
return;
|
357
357
|
}
|
358
358
|
try {
|
359
|
-
const e = await
|
359
|
+
const e = await j.get("/api/export", {
|
360
360
|
params: {
|
361
361
|
table: this.table,
|
362
362
|
format: this.format,
|
@@ -369,15 +369,15 @@ const At = /* @__PURE__ */ C(wt, [["render", $t]]), Tt = {
|
|
369
369
|
responseType: "blob"
|
370
370
|
}), s = await e.data.text(), a = s != null && s.includes(";") ? null : JSON == null ? void 0 : JSON.parse(s), n = new Blob([e.data], {
|
371
371
|
type: "application/octet-stream"
|
372
|
-
}), o = window.URL.createObjectURL(n),
|
373
|
-
if (
|
372
|
+
}), o = window.URL.createObjectURL(n), u = document.createElement("a");
|
373
|
+
if (u.href = o, u.setAttribute(
|
374
374
|
"download",
|
375
375
|
`${this.table.split(".")[0]}.${this.format}`
|
376
|
-
), document.body.appendChild(
|
376
|
+
), document.body.appendChild(u), typeof a == "string") {
|
377
377
|
this.exportTable();
|
378
378
|
return;
|
379
379
|
}
|
380
|
-
|
380
|
+
u.click(), document.body.removeChild(u), window.URL.revokeObjectURL(o), this.$notify({
|
381
381
|
type: "success",
|
382
382
|
title: "Експорт",
|
383
383
|
message: "Файл успішно експортовано!"
|
@@ -405,94 +405,94 @@ const At = /* @__PURE__ */ C(wt, [["render", $t]]), Tt = {
|
|
405
405
|
this.cols = (e = (t = this.columns) == null ? void 0 : t.filter((s) => (s == null ? void 0 : s.hidden) !== !0)) == null ? void 0 : e.map((s) => s == null ? void 0 : s.name), this.activeAction = "choceVisible";
|
406
406
|
}
|
407
407
|
}
|
408
|
-
},
|
408
|
+
}, It = {
|
409
409
|
key: 0,
|
410
410
|
class: "flex flex-col items-center"
|
411
|
-
},
|
411
|
+
}, Vt = {
|
412
412
|
key: 1,
|
413
413
|
class: "p-4"
|
414
|
-
},
|
414
|
+
}, Dt = { class: "pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700" }, Pt = { class: "flex items-center gap-[10px] -ml-[10px] my-[10px]" }, Ft = ["onClick"], jt = {
|
415
415
|
key: 0,
|
416
416
|
class: "block h-[8px] w-[8px] rounded-full bg-blue-500"
|
417
|
-
},
|
417
|
+
}, Mt = { class: "mt-2 flex row flex-wrap gap-y-[5px] gap-x-[10px]" }, Lt = { class: "pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700" }, zt = { class: "mt-2 space-y-2" }, qt = ["id", "onChange"], Bt = ["for"], Ot = {
|
418
418
|
key: 0,
|
419
419
|
class: "flex w-full justify-end p-[20px] gap-[6px] border-t"
|
420
|
-
},
|
420
|
+
}, Nt = {
|
421
421
|
key: 1,
|
422
422
|
class: "flex w-full justify-end p-[20px] gap-[6px] border-t"
|
423
423
|
};
|
424
|
-
function
|
425
|
-
const
|
424
|
+
function Ut(t, e, s, a, n, o) {
|
425
|
+
const u = p("IconExport"), f = p("IconSuccess"), h = p("VsCheckbox"), b = p("VsDialog");
|
426
426
|
return r(), i(T, null, [
|
427
427
|
l("button", {
|
428
|
-
onClick: e[0] || (e[0] = (
|
428
|
+
onClick: e[0] || (e[0] = (d) => n.isOpen = !0),
|
429
429
|
class: "py-2 max-h-[34px] px-2.5 md:inline-flex hidden items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"
|
430
430
|
}, [
|
431
|
-
x(
|
431
|
+
x(u, {
|
432
432
|
height: "16",
|
433
433
|
width: "16"
|
434
434
|
}),
|
435
|
-
e[7] || (e[7] =
|
435
|
+
e[7] || (e[7] = P(" Експорт "))
|
436
436
|
]),
|
437
437
|
x(b, {
|
438
438
|
visible: n.isOpen,
|
439
|
-
"onUpdate:visible": e[6] || (e[6] = (
|
439
|
+
"onUpdate:visible": e[6] || (e[6] = (d) => n.isOpen = d),
|
440
440
|
title: "Експорт таблиці",
|
441
441
|
size: "small",
|
442
442
|
closeClickBack: !0
|
443
443
|
}, {
|
444
444
|
footer: S(() => [
|
445
|
-
n.isSuccessTemplate ? (r(), i("div",
|
445
|
+
n.isSuccessTemplate ? (r(), i("div", Ot, [
|
446
446
|
l("button", {
|
447
447
|
type: "button",
|
448
448
|
class: "inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-gray-800 align-middle bg-white border border-gray-200 rounded-lg shadow-sm text-nowrap text-start hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",
|
449
|
-
onClick: e[2] || (e[2] = (
|
449
|
+
onClick: e[2] || (e[2] = (d) => n.isOpen = !1)
|
450
450
|
}, " Закрити "),
|
451
451
|
l("button", {
|
452
452
|
type: "button",
|
453
453
|
class: "inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-white align-middle bg-blue-600 border border-blue-600 rounded-lg shadow-sm text-nowrap gap-x-2 text-start hover:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:ring-1 focus:ring-blue-300 dark:focus:ring-blue-500",
|
454
|
-
onClick: e[3] || (e[3] = (
|
454
|
+
onClick: e[3] || (e[3] = (d) => n.isSuccessTemplate = !1)
|
455
455
|
}, " Вигрузити ще ")
|
456
|
-
])) : (r(), i("div",
|
456
|
+
])) : (r(), i("div", Nt, [
|
457
457
|
l("button", {
|
458
458
|
type: "button",
|
459
459
|
class: "inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-gray-800 align-middle bg-white border border-gray-200 rounded-lg shadow-sm text-nowrap text-start hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",
|
460
|
-
onClick: e[4] || (e[4] = (
|
460
|
+
onClick: e[4] || (e[4] = (d) => n.isOpen = !1)
|
461
461
|
}, " Скасувати "),
|
462
462
|
l("button", {
|
463
463
|
type: "button",
|
464
464
|
class: "inline-flex items-center justify-center px-3 py-2 text-sm font-medium text-white align-middle bg-blue-600 border border-blue-600 rounded-lg shadow-sm text-nowrap gap-x-2 text-start hover:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:ring-1 focus:ring-blue-300 dark:focus:ring-blue-500",
|
465
|
-
onClick: e[5] || (e[5] = (...
|
465
|
+
onClick: e[5] || (e[5] = (...d) => o.exportTable && o.exportTable(...d))
|
466
466
|
}, " Завантажити таблицю ")
|
467
467
|
]))
|
468
468
|
]),
|
469
469
|
default: S(() => [
|
470
|
-
n.isSuccessTemplate ? (r(), i("div",
|
470
|
+
n.isSuccessTemplate ? (r(), i("div", It, [
|
471
471
|
x(f, {
|
472
472
|
height: "100",
|
473
473
|
width: "100",
|
474
474
|
class: "text-green-200 mb-[20px]"
|
475
475
|
}),
|
476
476
|
e[8] || (e[8] = l("h2", null, "Звіт сформовано і збережено", -1))
|
477
|
-
])) : (r(), i("div",
|
478
|
-
l("div",
|
477
|
+
])) : (r(), i("div", Vt, [
|
478
|
+
l("div", Dt, [
|
479
479
|
e[9] || (e[9] = l("h2", { class: "text-sm font-[600] text-gray-500" }, " Виберіть стовпці таблиці для експорту: ", -1)),
|
480
|
-
l("div",
|
481
|
-
(r(!0), i(T, null,
|
482
|
-
key:
|
483
|
-
onClick:
|
480
|
+
l("div", Pt, [
|
481
|
+
(r(!0), i(T, null, D(n.actions, (d) => (r(), i("button", {
|
482
|
+
key: d == null ? void 0 : d.name,
|
483
|
+
onClick: d == null ? void 0 : d.function,
|
484
484
|
class: "inline-flex items-center gap-[8px] justify-center px-3 py-2 text-sm font-medium text-gray-800 align-middle bg-white border-gray-200 text-nowrap text-start"
|
485
485
|
}, [
|
486
486
|
l("span", {
|
487
|
-
class: I(["h-[14px] w-[14px] border rounded-full flex items-center justify-center", { "border-blue-500": (
|
487
|
+
class: I(["h-[14px] w-[14px] border rounded-full flex items-center justify-center", { "border-blue-500": (d == null ? void 0 : d.name) === n.activeAction }])
|
488
488
|
}, [
|
489
|
-
(
|
489
|
+
(d == null ? void 0 : d.name) === n.activeAction ? (r(), i("span", jt)) : v("", !0)
|
490
490
|
], 2),
|
491
|
-
|
492
|
-
], 8,
|
491
|
+
P(" " + A(d == null ? void 0 : d.label), 1)
|
492
|
+
], 8, Ft))), 128))
|
493
493
|
]),
|
494
|
-
l("div",
|
495
|
-
(r(!0), i(T, null,
|
494
|
+
l("div", Mt, [
|
495
|
+
(r(!0), i(T, null, D(s.columns, (d, _) => (r(), i("div", {
|
496
496
|
class: "flex items-center",
|
497
497
|
key: _,
|
498
498
|
style: { width: "calc((100% - 10px) / 2)" }
|
@@ -501,16 +501,16 @@ function Nt(t, e, s, a, n, o) {
|
|
501
501
|
class: "[&>label]:text-sm [&>label]:text-gray-800 [&>label]:ms-3 !gap-x-[1px] !p-0",
|
502
502
|
modelValue: n.cols,
|
503
503
|
"onUpdate:modelValue": e[1] || (e[1] = (m) => n.cols = m),
|
504
|
-
value:
|
505
|
-
label:
|
504
|
+
value: d == null ? void 0 : d.name,
|
505
|
+
label: d == null ? void 0 : d.ua
|
506
506
|
}, null, 8, ["modelValue", "value", "label"])
|
507
507
|
]))), 128))
|
508
508
|
])
|
509
509
|
]),
|
510
|
-
l("div",
|
510
|
+
l("div", Lt, [
|
511
511
|
e[10] || (e[10] = l("h2", { class: "text-sm font-[600] text-gray-500" }, "Виберіть формат таблиці:", -1)),
|
512
|
-
l("div",
|
513
|
-
(r(!0), i(T, null,
|
512
|
+
l("div", zt, [
|
513
|
+
(r(!0), i(T, null, D(n.tableFormats, (d, _) => (r(), i("div", {
|
514
514
|
class: "flex items-center",
|
515
515
|
key: _
|
516
516
|
}, [
|
@@ -518,13 +518,13 @@ function Nt(t, e, s, a, n, o) {
|
|
518
518
|
type: "radio",
|
519
519
|
name: "hs-pro-duecmfm",
|
520
520
|
class: "text-blue-600 border-gray-300 rounded-full shrink-0 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-800 dark:border-neutral-500 dark:checked:bg-blue-500 dark:checked:border-blue-500 dark:focus:ring-offset-gray-800",
|
521
|
-
id:
|
522
|
-
onChange: (m) => o.selectFormat(
|
523
|
-
}, null, 40,
|
521
|
+
id: d,
|
522
|
+
onChange: (m) => o.selectFormat(d)
|
523
|
+
}, null, 40, qt),
|
524
524
|
l("label", {
|
525
|
-
for:
|
525
|
+
for: d,
|
526
526
|
class: "text-sm text-gray-800 ms-3 dark:text-neutral-400"
|
527
|
-
}, " Формат " + A(
|
527
|
+
}, " Формат " + A(d), 9, Bt)
|
528
528
|
]))), 128))
|
529
529
|
])
|
530
530
|
])
|
@@ -534,7 +534,7 @@ function Nt(t, e, s, a, n, o) {
|
|
534
534
|
}, 8, ["visible"])
|
535
535
|
], 64);
|
536
536
|
}
|
537
|
-
const
|
537
|
+
const Et = /* @__PURE__ */ C(St, [["render", Ut]]), Ht = {}, Rt = {
|
538
538
|
xmlns: "http://www.w3.org/2000/svg",
|
539
539
|
viewBox: "0 0 24 24",
|
540
540
|
fill: "none",
|
@@ -544,16 +544,16 @@ const Ut = /* @__PURE__ */ C(Tt, [["render", Nt]]), Et = {}, Ht = {
|
|
544
544
|
"stroke-linejoin": "round",
|
545
545
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-columns"
|
546
546
|
};
|
547
|
-
function
|
548
|
-
return r(), i("svg",
|
549
|
-
|
547
|
+
function Wt(t, e, s, a, n, o) {
|
548
|
+
return r(), i("svg", Rt, e[0] || (e[0] = [
|
549
|
+
Ye('<path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M4 6l5.5 0"></path><path d="M4 10l5.5 0"></path><path d="M4 14l5.5 0"></path><path d="M4 18l5.5 0"></path><path d="M14.5 6l5.5 0"></path><path d="M14.5 10l5.5 0"></path><path d="M14.5 14l5.5 0"></path><path d="M14.5 18l5.5 0"></path>', 9)
|
550
550
|
]));
|
551
551
|
}
|
552
|
-
const
|
552
|
+
const Jt = /* @__PURE__ */ C(Ht, [["render", Wt]]), Gt = {
|
553
553
|
props: { column: Object },
|
554
554
|
emits: ["update-column"],
|
555
555
|
components: {
|
556
|
-
IconCheck2:
|
556
|
+
IconCheck2: De
|
557
557
|
},
|
558
558
|
data() {
|
559
559
|
return {
|
@@ -569,24 +569,24 @@ const Wt = /* @__PURE__ */ C(Et, [["render", Rt]]), Jt = {
|
|
569
569
|
var t;
|
570
570
|
((t = this.column) == null ? void 0 : t.hidden) !== !0 && (this.value = !0);
|
571
571
|
}
|
572
|
-
},
|
573
|
-
function
|
572
|
+
}, Kt = { class: "flex justify-between items-center py-1.5 px-3 cursor-pointer rounded-lg hover:bg-gray-100 has-[:disabled]:opacity-50 has-[:disabled]:pointer-events-none dark:hover:bg-neutral-800" }, Qt = { class: "flex justify-between flex-1 items-center gap-x-2.5 cursor-pointer text-[13px] text-gray-800 dark:text-neutral-300" };
|
573
|
+
function Xt(t, e, s, a, n, o) {
|
574
574
|
var f, h;
|
575
|
-
const
|
576
|
-
return r(), i("div",
|
577
|
-
l("label",
|
578
|
-
|
579
|
-
|
575
|
+
const u = p("IconCheck2");
|
576
|
+
return r(), i("div", Kt, [
|
577
|
+
l("label", Qt, [
|
578
|
+
P(A(((f = s.column) == null ? void 0 : f.ua) || ((h = s.column) == null ? void 0 : h.title)) + " ", 1),
|
579
|
+
L(l("input", {
|
580
580
|
type: "checkbox",
|
581
581
|
"onUpdate:modelValue": e[0] || (e[0] = (b) => n.value = b),
|
582
582
|
class: "hidden"
|
583
583
|
}, null, 512), [
|
584
|
-
[
|
584
|
+
[Ze, n.value]
|
585
585
|
]),
|
586
586
|
l("span", {
|
587
587
|
class: I(["flex items-center justify-center text-white border border-gray-300 rounded shrink-0 size-4 focus:ring-blue-500", [n.value ? "bg-blue-600 border-0" : "bg-white"]])
|
588
588
|
}, [
|
589
|
-
x(
|
589
|
+
x(u, {
|
590
590
|
height: "12",
|
591
591
|
width: "12"
|
592
592
|
})
|
@@ -594,8 +594,8 @@ function Qt(t, e, s, a, n, o) {
|
|
594
594
|
])
|
595
595
|
]);
|
596
596
|
}
|
597
|
-
const
|
598
|
-
components: { IconColumns:
|
597
|
+
const Yt = /* @__PURE__ */ C(Gt, [["render", Xt]]), Zt = {
|
598
|
+
components: { IconColumns: Jt, AdminTableColumnsHiddenItem: Yt },
|
599
599
|
emits: ["update-columns"],
|
600
600
|
props: { columns: Array },
|
601
601
|
data() {
|
@@ -609,8 +609,8 @@ const Xt = /* @__PURE__ */ C(Jt, [["render", Qt]]), Yt = {
|
|
609
609
|
var t;
|
610
610
|
return (t = this.columns) == null ? void 0 : t.filter(
|
611
611
|
(e) => {
|
612
|
-
var s, a, n, o,
|
613
|
-
return ((n = (s = e == null ? void 0 : e.ua) == null ? void 0 : s.toLowerCase()) == null ? void 0 : n.includes((a = this.searchValue) == null ? void 0 : a.toLowerCase())) || ((f = (o = e == null ? void 0 : e.title) == null ? void 0 : o.toLowerCase()) == null ? void 0 : f.includes((
|
612
|
+
var s, a, n, o, u, f;
|
613
|
+
return ((n = (s = e == null ? void 0 : e.ua) == null ? void 0 : s.toLowerCase()) == null ? void 0 : n.includes((a = this.searchValue) == null ? void 0 : a.toLowerCase())) || ((f = (o = e == null ? void 0 : e.title) == null ? void 0 : o.toLowerCase()) == null ? void 0 : f.includes((u = this.searchValue) == null ? void 0 : u.toLowerCase()));
|
614
614
|
}
|
615
615
|
);
|
616
616
|
}
|
@@ -631,56 +631,56 @@ const Xt = /* @__PURE__ */ C(Jt, [["render", Qt]]), Yt = {
|
|
631
631
|
beforeUnmount() {
|
632
632
|
document.removeEventListener("click", this.handleClickOutside);
|
633
633
|
}
|
634
|
-
},
|
634
|
+
}, es = {
|
635
635
|
class: "relative",
|
636
636
|
ref: "wrapper"
|
637
|
-
},
|
637
|
+
}, ts = {
|
638
638
|
key: 0,
|
639
639
|
class: "absolute left-[50%] top-[110%] translate-x-[-50%] z-10 w-64 transition-[opacity,margin] duration bg-white rounded-xl shadow-lg dark:bg-neutral-900"
|
640
|
-
},
|
640
|
+
}, ss = { class: "relative p-1 border-gray-200 border-y dark:border-neutral-800" }, ns = { class: "p-1 pt-3 max-h-80 overflow-y-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500" }, ls = {
|
641
641
|
key: 0,
|
642
642
|
class: "block px-3 mb-2 text-xs text-gray-500 dark:text-neutral-500"
|
643
|
-
},
|
643
|
+
}, rs = { class: "space-y-1" }, os = {
|
644
644
|
key: 1,
|
645
645
|
class: "flex items-center px-3 text-[13px] py-1.5 px-3 rounded-md cursor-pointer group"
|
646
646
|
};
|
647
|
-
function
|
648
|
-
const
|
649
|
-
return r(), i("div",
|
647
|
+
function as(t, e, s, a, n, o) {
|
648
|
+
const u = p("IconColumns"), f = p("AdminTableColumnsHiddenItem");
|
649
|
+
return r(), i("div", es, [
|
650
650
|
l("button", {
|
651
651
|
onClick: e[0] || (e[0] = (...h) => o.toggleVisible && o.toggleVisible(...h)),
|
652
652
|
class: "py-2 max-h-[34px] px-2.5 md:inline-flex hidden items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"
|
653
653
|
}, [
|
654
|
-
x(
|
654
|
+
x(u, {
|
655
655
|
height: "20",
|
656
656
|
width: "16"
|
657
657
|
})
|
658
658
|
]),
|
659
|
-
x(
|
659
|
+
x(z, { name: "fade" }, {
|
660
660
|
default: S(() => {
|
661
661
|
var h, b;
|
662
662
|
return [
|
663
|
-
n.visible ? (r(), i("div",
|
663
|
+
n.visible ? (r(), i("div", ts, [
|
664
664
|
e[2] || (e[2] = l("div", { class: "flex items-center justify-between h-[48px] px-4 py-2 gap-x-2 text-sm font-medium text-gray-800" }, " Колонки ", -1)),
|
665
|
-
l("div",
|
666
|
-
|
667
|
-
"onUpdate:modelValue": e[1] || (e[1] = (
|
665
|
+
l("div", ss, [
|
666
|
+
L(l("input", {
|
667
|
+
"onUpdate:modelValue": e[1] || (e[1] = (d) => n.searchValue = d),
|
668
668
|
type: "text",
|
669
669
|
class: "py-1.5 px-3 block w-full border-transparent rounded-lg sm:text-sm text-base placeholder:text-gray-500 hover:bg-gray-100 focus:outline-none focus:border-transparent focus:ring-0 focus:bg-gray-100 disabled:opacity-100 disabled:pointer-events-none dark:bg-transparent dark:border-transparent dark:text-neutral-400 dark:placeholder:text-neutral-400 dark:hover:bg-neutral-800 dark:focus:ring-neutral-600 dark:focus:bg-neutral-800",
|
670
670
|
placeholder: "Search",
|
671
671
|
autofocus: ""
|
672
672
|
}, null, 512), [
|
673
|
-
[
|
673
|
+
[et, n.searchValue]
|
674
674
|
])
|
675
675
|
]),
|
676
|
-
l("div",
|
677
|
-
(h = o.filteredColumn) != null && h.length ? (r(), i("span",
|
678
|
-
l("div",
|
679
|
-
(b = o.filteredColumn) != null && b.length ? (r(!0), i(T, { key: 0 },
|
676
|
+
l("div", ns, [
|
677
|
+
(h = o.filteredColumn) != null && h.length ? (r(), i("span", ls, " Оберіть колонки для відображення ")) : v("", !0),
|
678
|
+
l("div", rs, [
|
679
|
+
(b = o.filteredColumn) != null && b.length ? (r(!0), i(T, { key: 0 }, D(o.filteredColumn, (d, _) => (r(), k(f, {
|
680
680
|
key: _,
|
681
|
-
column:
|
681
|
+
column: d,
|
682
682
|
onUpdateColumn: o.updateColumn
|
683
|
-
}, null, 8, ["column", "onUpdateColumn"]))), 128)) : (r(), i("div",
|
683
|
+
}, null, 8, ["column", "onUpdateColumn"]))), 128)) : (r(), i("div", os, " Нічого не знайдено "))
|
684
684
|
])
|
685
685
|
])
|
686
686
|
])) : v("", !0)
|
@@ -690,7 +690,7 @@ function os(t, e, s, a, n, o) {
|
|
690
690
|
})
|
691
691
|
], 512);
|
692
692
|
}
|
693
|
-
const
|
693
|
+
const is = /* @__PURE__ */ C(Zt, [["render", as]]), ds = {}, us = {
|
694
694
|
xmlns: "http://www.w3.org/2000/svg",
|
695
695
|
viewBox: "0 0 24 24",
|
696
696
|
fill: "none",
|
@@ -700,7 +700,7 @@ const as = /* @__PURE__ */ C(Yt, [["render", os]]), is = {}, us = {
|
|
700
700
|
"stroke-linejoin": "round",
|
701
701
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-minus"
|
702
702
|
};
|
703
|
-
function
|
703
|
+
function cs(t, e, s, a, n, o) {
|
704
704
|
return r(), i("svg", us, e[0] || (e[0] = [
|
705
705
|
l("path", {
|
706
706
|
stroke: "none",
|
@@ -710,8 +710,8 @@ function ds(t, e, s, a, n, o) {
|
|
710
710
|
l("path", { d: "M5 12l14 0" }, null, -1)
|
711
711
|
]));
|
712
712
|
}
|
713
|
-
const
|
714
|
-
components: { IconPlus: N, IconMinus:
|
713
|
+
const ps = /* @__PURE__ */ C(ds, [["render", cs]]), hs = {
|
714
|
+
components: { IconPlus: N, IconMinus: ps },
|
715
715
|
props: {
|
716
716
|
title: String,
|
717
717
|
defaultValue: { type: Boolean, default: () => !1 }
|
@@ -719,18 +719,18 @@ const cs = /* @__PURE__ */ C(is, [["render", ds]]), ps = {
|
|
719
719
|
data() {
|
720
720
|
return { expanded: this.defaultValue };
|
721
721
|
}
|
722
|
-
},
|
723
|
-
function
|
724
|
-
const
|
722
|
+
}, bs = { class: "hs-accordion" }, fs = { class: "py-0.5 flex items-center gap-x-0.5 w-full" }, gs = { class: "text-sm font-medium" }, ms = { class: "relative inline-block w-full duration-150 cursor-pointer before:block before:absolute b" };
|
723
|
+
function xs(t, e, s, a, n, o) {
|
724
|
+
const u = p("IconPlus"), f = p("IconMinus");
|
725
725
|
return r(), i("div", null, [
|
726
726
|
l("div", null, [
|
727
|
-
l("div",
|
728
|
-
l("div",
|
727
|
+
l("div", bs, [
|
728
|
+
l("div", fs, [
|
729
729
|
l("div", {
|
730
730
|
onClick: e[0] || (e[0] = (h) => n.expanded = !n.expanded),
|
731
731
|
class: "rounded-md cursor-pointer grow"
|
732
732
|
}, [
|
733
|
-
l("span",
|
733
|
+
l("span", gs, A(s.title), 1)
|
734
734
|
]),
|
735
735
|
l("button", {
|
736
736
|
class: "flex items-center justify-center rounded-md size-6 hover:bg-gray-100",
|
@@ -739,13 +739,13 @@ function ms(t, e, s, a, n, o) {
|
|
739
739
|
n.expanded ? (r(), k(f, {
|
740
740
|
key: 1,
|
741
741
|
width: "14"
|
742
|
-
})) : (r(), k(
|
742
|
+
})) : (r(), k(u, { key: 0 }))
|
743
743
|
])
|
744
744
|
]),
|
745
|
-
x(
|
745
|
+
x(z, { name: "fade" }, {
|
746
746
|
default: S(() => [
|
747
|
-
|
748
|
-
|
747
|
+
L(l("div", ms, [
|
748
|
+
tt(t.$slots, "default", {}, void 0, !0)
|
749
749
|
], 512), [
|
750
750
|
[E, n.expanded]
|
751
751
|
])
|
@@ -756,31 +756,31 @@ function ms(t, e, s, a, n, o) {
|
|
756
756
|
])
|
757
757
|
]);
|
758
758
|
}
|
759
|
-
const
|
759
|
+
const ys = /* @__PURE__ */ C(hs, [["render", xs], ["__scopeId", "data-v-c6318482"]]), ks = {
|
760
760
|
components: {
|
761
761
|
AdminComponentIs: U,
|
762
|
-
AdminTree:
|
763
|
-
VsNoData:
|
764
|
-
VsWidgetComments:
|
765
|
-
VsWidgetMap:
|
766
|
-
VsWidgetFileList:
|
762
|
+
AdminTree: ys,
|
763
|
+
VsNoData: Ee,
|
764
|
+
VsWidgetComments: He,
|
765
|
+
VsWidgetMap: Re,
|
766
|
+
VsWidgetFileList: We
|
767
767
|
},
|
768
768
|
props: { table: String, columns: Array, row: Object }
|
769
|
-
},
|
769
|
+
}, vs = {
|
770
770
|
class: "hs-accordion border-gray-100 w-[360px] shrink-0 overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500",
|
771
771
|
style: { height: "calc(100vh - 310px)" }
|
772
|
-
},
|
772
|
+
}, _s = {
|
773
773
|
class: "border-l",
|
774
774
|
style: { height: "calc(100vh - 360px)" }
|
775
|
-
},
|
776
|
-
function
|
775
|
+
}, ws = { class: "flow-root mt-[10px]" }, Cs = { class: "-my-3 text-sm divide-y divide-gray-100" }, $s = { class: "flex py-3 sm:grid-cols-3 sm:gap-4" }, As = { class: "font-medium text-black w-[50%]" }, Ts = { class: "text-gray-700 sm:col-span-2 w-[50%]" }, Ss = { class: "table-info-card" }, Is = { class: "table-info-card" };
|
776
|
+
function Vs(t, e, s, a, n, o) {
|
777
777
|
var m, g, w;
|
778
|
-
const
|
779
|
-
return r(), i("div",
|
778
|
+
const u = p("AdminComponentIs"), f = p("AdminTree"), h = p("VsWidgetMap"), b = p("VsNoData"), d = p("VsWidgetComments"), _ = p("VsWidgetFileList");
|
779
|
+
return r(), i("div", vs, [
|
780
780
|
e[0] || (e[0] = l("div", { class: "p-[10px] pl-[18px] pb-[18px] border-b" }, [
|
781
781
|
l("h2", { class: "text-sm font-medium" }, "Інформація про об'єкт")
|
782
782
|
], -1)),
|
783
|
-
l("div",
|
783
|
+
l("div", _s, [
|
784
784
|
(g = (m = t.$route) == null ? void 0 : m.query) != null && g.card ? (r(), i(T, { key: 0 }, [
|
785
785
|
s.row ? (r(), k(f, {
|
786
786
|
key: 0,
|
@@ -789,12 +789,12 @@ function Is(t, e, s, a, n, o) {
|
|
789
789
|
class: "border-b p-[10px] py-[16px]"
|
790
790
|
}, {
|
791
791
|
default: S(() => [
|
792
|
-
l("div",
|
793
|
-
l("dl",
|
794
|
-
(r(!0), i(T, null,
|
795
|
-
l("dt",
|
796
|
-
l("dd",
|
797
|
-
x(
|
792
|
+
l("div", ws, [
|
793
|
+
l("dl", Cs, [
|
794
|
+
(r(!0), i(T, null, D(s.columns, (y) => (r(), i("div", $s, [
|
795
|
+
l("dt", As, A((y == null ? void 0 : y.ua) || (y == null ? void 0 : y.title)), 1),
|
796
|
+
l("dd", Ts, [
|
797
|
+
x(u, {
|
798
798
|
row: s.row,
|
799
799
|
column: y,
|
800
800
|
table: s.table
|
@@ -835,8 +835,8 @@ function Is(t, e, s, a, n, o) {
|
|
835
835
|
default: S(() => {
|
836
836
|
var y;
|
837
837
|
return [
|
838
|
-
l("div",
|
839
|
-
x(
|
838
|
+
l("div", Ss, [
|
839
|
+
x(d, {
|
840
840
|
id: (y = s.row) == null ? void 0 : y.id
|
841
841
|
}, null, 8, ["id"])
|
842
842
|
])
|
@@ -851,7 +851,7 @@ function Is(t, e, s, a, n, o) {
|
|
851
851
|
default: S(() => {
|
852
852
|
var y, $;
|
853
853
|
return [
|
854
|
-
l("div",
|
854
|
+
l("div", Is, [
|
855
855
|
(r(), k(_, {
|
856
856
|
key: (y = s.row) == null ? void 0 : y.id,
|
857
857
|
id: ($ = s.row) == null ? void 0 : $.id
|
@@ -868,7 +868,7 @@ function Is(t, e, s, a, n, o) {
|
|
868
868
|
])
|
869
869
|
]);
|
870
870
|
}
|
871
|
-
const
|
871
|
+
const Ds = /* @__PURE__ */ C(ks, [["render", Vs]]), Ps = {}, Fs = {
|
872
872
|
class: "size-4",
|
873
873
|
xmlns: "http://www.w3.org/2000/svg",
|
874
874
|
viewBox: "0 0 24 24",
|
@@ -879,7 +879,7 @@ const Vs = /* @__PURE__ */ C(ys, [["render", Is]]), Ds = {}, Ps = {
|
|
879
879
|
"stroke-linejoin": "round"
|
880
880
|
};
|
881
881
|
function js(t, e, s, a, n, o) {
|
882
|
-
return r(), i("svg",
|
882
|
+
return r(), i("svg", Fs, e[0] || (e[0] = [
|
883
883
|
l("rect", {
|
884
884
|
width: "18",
|
885
885
|
height: "18",
|
@@ -891,14 +891,14 @@ function js(t, e, s, a, n, o) {
|
|
891
891
|
l("path", { d: "m8 9 3 3-3 3" }, null, -1)
|
892
892
|
]));
|
893
893
|
}
|
894
|
-
const
|
894
|
+
const Ms = /* @__PURE__ */ C(Ps, [["render", js]]), Ls = {
|
895
895
|
emits: ["filterChange"],
|
896
896
|
props: {
|
897
897
|
scheme: { type: Object },
|
898
898
|
onFilters: { type: Number },
|
899
899
|
table: { type: String }
|
900
900
|
},
|
901
|
-
components: { IconFilter:
|
901
|
+
components: { IconFilter: Je },
|
902
902
|
data() {
|
903
903
|
return {
|
904
904
|
isFilters: !1
|
@@ -909,32 +909,35 @@ const Fs = /* @__PURE__ */ C(Ds, [["render", js]]), Ms = {
|
|
909
909
|
this.isFilters && t.classList.contains("filter-container") && (this.isFilters = !1);
|
910
910
|
}
|
911
911
|
}
|
912
|
-
},
|
913
|
-
|
914
|
-
|
912
|
+
}, zs = {
|
913
|
+
key: 0,
|
914
|
+
class: "px-[7px] text-[10px] py-[1px] font-[700] text-white bg-blue-500 rounded-full"
|
915
|
+
}, qs = { class: "filter-content h-screen bg-white w-[400px] overflow-x-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500" };
|
916
|
+
function Bs(t, e, s, a, n, o) {
|
917
|
+
const u = p("IconFilter"), f = p("VsFilter");
|
915
918
|
return r(), i(T, null, [
|
916
919
|
l("button", {
|
917
920
|
onClick: e[0] || (e[0] = (h) => n.isFilters = !n.isFilters),
|
918
921
|
class: "py-2 px-2.5 max-h-[34px] inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none"
|
919
922
|
}, [
|
920
|
-
x(
|
923
|
+
x(u, {
|
921
924
|
height: "16",
|
922
925
|
width: "16"
|
923
926
|
}),
|
924
|
-
e[4] || (e[4] =
|
925
|
-
s.onFilters ? (r(), i("span",
|
927
|
+
e[4] || (e[4] = P(" Фільтри ")),
|
928
|
+
s.onFilters ? (r(), i("span", zs, A(s.onFilters), 1)) : v("", !0)
|
926
929
|
]),
|
927
|
-
x(
|
930
|
+
x(z, { name: "fade" }, {
|
928
931
|
default: S(() => {
|
929
932
|
var h;
|
930
933
|
return [
|
931
|
-
(r(), k(
|
932
|
-
|
934
|
+
(r(), k(st, { to: "#modal" }, [
|
935
|
+
L(l("div", {
|
933
936
|
onClick: e[3] || (e[3] = (...b) => o.closeFilter && o.closeFilter(...b)),
|
934
937
|
style: { height: "100vh" },
|
935
938
|
class: "fixed filter-container top-0 flex justify-end items-center z-[12] right-0 left-0 bottom-0 bg-[rgba(0,0,0,0.2)]"
|
936
939
|
}, [
|
937
|
-
l("div",
|
940
|
+
l("div", qs, [
|
938
941
|
(h = s.scheme) != null && h.length ? (r(), k(f, {
|
939
942
|
key: 0,
|
940
943
|
ref: "filter",
|
@@ -961,25 +964,25 @@ function qs(t, e, s, a, n, o) {
|
|
961
964
|
})
|
962
965
|
], 64);
|
963
966
|
}
|
964
|
-
const
|
967
|
+
const Os = /* @__PURE__ */ C(Ls, [["render", Bs]]), Ns = {
|
965
968
|
props: { tabsList: { type: Array, default: () => [] }, filterState: String }
|
966
|
-
},
|
969
|
+
}, Us = {
|
967
970
|
class: "relative flex space-x-1 mb-[20px] after:absolute after:w-[99%] after:bottom-0 after:inset-x-0 after:border-b-2 after:border-gray-200 dark:after:border-neutral-700",
|
968
971
|
"aria-label": "Tabs",
|
969
972
|
role: "tablist",
|
970
973
|
"aria-orientation": "horizontal"
|
971
|
-
},
|
972
|
-
function
|
973
|
-
return r(), i("nav",
|
974
|
-
(r(!0), i(T, null,
|
975
|
-
onClick: (f) => t.$emit("update:filterState",
|
974
|
+
}, Es = ["onClick"];
|
975
|
+
function Hs(t, e, s, a, n, o) {
|
976
|
+
return r(), i("nav", Us, [
|
977
|
+
(r(!0), i(T, null, D(s.tabsList, (u) => (r(), i("button", {
|
978
|
+
onClick: (f) => t.$emit("update:filterState", u == null ? void 0 : u.name),
|
976
979
|
class: I(["hs-tab-active:after:bg-gray-800 hs-tab-active:text-gray-800 px-2.5 py-1.5 mb-2 relative inline-flex justify-center items-center gap-x-2 hover:bg-gray-100 text-gray-500 hover:text-gray-800 text-sm rounded-lg disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100 after:absolute after:-bottom-2 after:inset-x-0 after:z-10 after:h-0.5 after:pointer-events-none dark:hs-tab-active:text-neutral-200 dark:hs-tab-active:after:bg-neutral-400 dark:text-neutral-500 dark:hover:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700 active", {
|
977
|
-
" font-semibold after:absolute after:bottom-[-8px] after:left-2.5 after:right-2.5 after:z-10 after:h-0.5 after:bg-gray-800": (
|
980
|
+
" font-semibold after:absolute after:bottom-[-8px] after:left-2.5 after:right-2.5 after:z-10 after:h-0.5 after:bg-gray-800": (u == null ? void 0 : u.name) === s.filterState
|
978
981
|
}])
|
979
|
-
}, A(
|
982
|
+
}, A(u == null ? void 0 : u.label), 11, Es))), 256))
|
980
983
|
]);
|
981
984
|
}
|
982
|
-
const
|
985
|
+
const Rs = /* @__PURE__ */ C(Ns, [["render", Hs]]), Ws = {}, Js = {
|
983
986
|
xmlns: "http://www.w3.org/2000/svg",
|
984
987
|
viewBox: "0 0 24 24",
|
985
988
|
fill: "none",
|
@@ -989,8 +992,8 @@ const Hs = /* @__PURE__ */ C(Os, [["render", Es]]), Rs = {}, Ws = {
|
|
989
992
|
"stroke-linejoin": "round",
|
990
993
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-filter"
|
991
994
|
};
|
992
|
-
function
|
993
|
-
return r(), i("svg",
|
995
|
+
function Gs(t, e, s, a, n, o) {
|
996
|
+
return r(), i("svg", Js, e[0] || (e[0] = [
|
994
997
|
l("path", {
|
995
998
|
stroke: "none",
|
996
999
|
d: "M0 0h24v24H0z",
|
@@ -999,45 +1002,45 @@ function Js(t, e, s, a, n, o) {
|
|
999
1002
|
l("path", { d: "M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z" }, null, -1)
|
1000
1003
|
]));
|
1001
1004
|
}
|
1002
|
-
const
|
1003
|
-
components: { IconFilter2:
|
1005
|
+
const Ks = /* @__PURE__ */ C(Ws, [["render", Gs]]), Qs = {
|
1006
|
+
components: { IconFilter2: Ks, IconCheck2: De },
|
1004
1007
|
props: { filterCustom: String, customList: Array }
|
1005
|
-
},
|
1006
|
-
function
|
1007
|
-
const
|
1008
|
+
}, Xs = { class: "py-2 max-h-[34px] px-2.5 inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700" }, Ys = { class: "flex flex-col p-[2px] gap-[2px] w-[170px]" }, Zs = ["onClick"], en = { class: "text-sm text-gray-800" };
|
1009
|
+
function tn(t, e, s, a, n, o) {
|
1010
|
+
const u = p("IconFilter2"), f = p("IconCheck2"), h = p("VsPopover");
|
1008
1011
|
return r(), k(h, {
|
1009
1012
|
ref: "popover",
|
1010
1013
|
placement: "bottom"
|
1011
1014
|
}, {
|
1012
1015
|
reference: S(() => [
|
1013
|
-
l("button",
|
1014
|
-
x(
|
1016
|
+
l("button", Xs, [
|
1017
|
+
x(u, {
|
1015
1018
|
height: "20",
|
1016
1019
|
width: "20"
|
1017
1020
|
})
|
1018
1021
|
])
|
1019
1022
|
]),
|
1020
1023
|
default: S(() => [
|
1021
|
-
l("div",
|
1022
|
-
(r(!0), i(T, null,
|
1024
|
+
l("div", Ys, [
|
1025
|
+
(r(!0), i(T, null, D(s.customList, (b, d) => (r(), i("button", {
|
1023
1026
|
onClick: (_) => {
|
1024
1027
|
var m;
|
1025
1028
|
t.$emit("update:filterCustom", b == null ? void 0 : b.name), (m = t.$refs) == null || m.popover.togglePopover();
|
1026
1029
|
},
|
1027
|
-
key:
|
1030
|
+
key: d,
|
1028
1031
|
class: I(["flex items-center px-3 py-1 rounded-md cursor-pointer group hover:bg-gray-100", { "bg-gray-100": s.filterCustom === (b == null ? void 0 : b.name) }])
|
1029
1032
|
}, [
|
1030
|
-
l("span",
|
1033
|
+
l("span", en, A(b == null ? void 0 : b.label), 1),
|
1031
1034
|
s.filterCustom === (b == null ? void 0 : b.name) ? (r(), k(f, {
|
1032
1035
|
key: 0,
|
1033
1036
|
class: "ml-auto size-3 shrink-0"
|
1034
1037
|
})) : v("", !0)
|
1035
|
-
], 10,
|
1038
|
+
], 10, Zs))), 128)),
|
1036
1039
|
l("button", {
|
1037
1040
|
class: "flex items-center px-3 py-1 rounded-md cursor-pointer group hover:bg-gray-100",
|
1038
1041
|
onClick: e[0] || (e[0] = (b) => {
|
1039
|
-
var
|
1040
|
-
t.$emit("update:filterCustom", void 0), (
|
1042
|
+
var d;
|
1043
|
+
t.$emit("update:filterCustom", void 0), (d = t.$refs) == null || d.popover.togglePopover();
|
1041
1044
|
})
|
1042
1045
|
}, " Скинути фільтри ")
|
1043
1046
|
])
|
@@ -1045,70 +1048,70 @@ function en(t, e, s, a, n, o) {
|
|
1045
1048
|
_: 1
|
1046
1049
|
}, 512);
|
1047
1050
|
}
|
1048
|
-
const
|
1051
|
+
const sn = /* @__PURE__ */ C(Qs, [["render", tn]]), nn = { class: "flex items-center gap-x-2" }, ln = {
|
1049
1052
|
__name: "admin-table-custom-buttons",
|
1050
1053
|
props: {
|
1051
1054
|
slots: Object
|
1052
1055
|
},
|
1053
1056
|
setup(t) {
|
1054
|
-
var f, h, b,
|
1055
|
-
const { asyncTemplateSlot: e } = (_ = (
|
1057
|
+
var f, h, b, d, _;
|
1058
|
+
const { asyncTemplateSlot: e } = (_ = (d = (b = (h = (f = Pe()) == null ? void 0 : f.appContext) == null ? void 0 : h.app) == null ? void 0 : b.config) == null ? void 0 : d.globalProperties) == null ? void 0 : _.utils, s = B(""), a = B(""), n = t, o = () => {
|
1056
1059
|
var m, g, w, y, $;
|
1057
1060
|
if ((m = n.slots) != null && m.panelLeft || (a.value = "div"), (w = (g = n.slots) == null ? void 0 : g.panelLeft) != null && w.includes("<")) {
|
1058
|
-
const
|
1061
|
+
const V = e("PanelLeft", (y = n.slots) == null ? void 0 : y.panelLeft, [
|
1059
1062
|
"name"
|
1060
1063
|
]);
|
1061
|
-
a.value =
|
1064
|
+
a.value = V;
|
1062
1065
|
} else
|
1063
1066
|
a.value = ($ = n.slots) == null ? void 0 : $.panelLeft;
|
1064
|
-
},
|
1067
|
+
}, u = () => {
|
1065
1068
|
var m, g, w, y, $;
|
1066
1069
|
if ((m = n.slots) != null && m.panelRight || (s.value = "div"), (w = (g = n.slots) == null ? void 0 : g.panelRight) != null && w.includes("<")) {
|
1067
|
-
const
|
1070
|
+
const V = e("PanelRight", (y = n.slots) == null ? void 0 : y.panelRight, [
|
1068
1071
|
"name"
|
1069
1072
|
]);
|
1070
|
-
s.value =
|
1073
|
+
s.value = V;
|
1071
1074
|
} else
|
1072
1075
|
s.value = ($ = n.slots) == null ? void 0 : $.panelRight;
|
1073
1076
|
};
|
1074
|
-
return o(),
|
1077
|
+
return o(), u(), (m, g) => (r(), i("div", nn, [
|
1075
1078
|
(r(), k(O(a.value))),
|
1076
1079
|
(r(), k(O(s.value)))
|
1077
1080
|
]));
|
1078
1081
|
}
|
1079
|
-
},
|
1082
|
+
}, rn = (t, e = 300) => {
|
1080
1083
|
let s;
|
1081
1084
|
return function(...a) {
|
1082
1085
|
clearTimeout(s), s = setTimeout(() => {
|
1083
1086
|
t.apply(this, a);
|
1084
1087
|
}, e);
|
1085
1088
|
};
|
1086
|
-
},
|
1089
|
+
}, on = {
|
1087
1090
|
__name: "admin-custom-button-add",
|
1088
1091
|
props: {
|
1089
1092
|
slots: Object
|
1090
1093
|
},
|
1091
1094
|
setup(t) {
|
1092
|
-
var o,
|
1093
|
-
const { asyncTemplateSlot: e } = (b = (h = (f = (
|
1095
|
+
var o, u, f, h, b;
|
1096
|
+
const { asyncTemplateSlot: e } = (b = (h = (f = (u = (o = Pe()) == null ? void 0 : o.appContext) == null ? void 0 : u.app) == null ? void 0 : f.config) == null ? void 0 : h.globalProperties) == null ? void 0 : b.utils, s = B(""), a = t;
|
1094
1097
|
return (() => {
|
1095
|
-
var
|
1096
|
-
if ((
|
1098
|
+
var d, _, m, g, w;
|
1099
|
+
if ((d = a.slots) != null && d.addButton || (s.value = "div"), (m = (_ = a.slots) == null ? void 0 : _.addButton) != null && m.includes("<")) {
|
1097
1100
|
const y = e("addButton", (g = a.slots) == null ? void 0 : g.addButton, [
|
1098
1101
|
"IconPlus"
|
1099
1102
|
]);
|
1100
1103
|
s.value = y;
|
1101
1104
|
} else
|
1102
1105
|
s.value = (w = a.slots) == null ? void 0 : w.addButton;
|
1103
|
-
})(), (
|
1106
|
+
})(), (d, _) => s.value ? (r(), k(O(s.value), {
|
1104
1107
|
key: 0,
|
1105
1108
|
IconPlus: N
|
1106
1109
|
})) : v("", !0);
|
1107
1110
|
}
|
1108
|
-
},
|
1111
|
+
}, an = {
|
1109
1112
|
key: 0,
|
1110
1113
|
class: "px-1 py-3 text-gray-800 font-[500]"
|
1111
|
-
},
|
1114
|
+
}, dn = {
|
1112
1115
|
key: 1,
|
1113
1116
|
class: "px-1 py-3 text-gray-800 font-[700]"
|
1114
1117
|
}, un = {
|
@@ -1120,22 +1123,22 @@ const tn = /* @__PURE__ */ C(Ks, [["render", en]]), sn = { class: "flex items-ce
|
|
1120
1123
|
},
|
1121
1124
|
setup(t) {
|
1122
1125
|
return (e, s) => (r(), i("tr", null, [
|
1123
|
-
(r(!0), i(T, null,
|
1126
|
+
(r(!0), i(T, null, D(t.columns, (a) => {
|
1124
1127
|
var n;
|
1125
1128
|
return r(), i(T, {
|
1126
1129
|
key: a == null ? void 0 : a.name
|
1127
1130
|
}, [
|
1128
|
-
(n = t.agg) != null && n[a == null ? void 0 : a.name] ? (r(), i("td",
|
1131
|
+
(n = t.agg) != null && n[a == null ? void 0 : a.name] ? (r(), i("td", an, [
|
1129
1132
|
x(U, {
|
1130
1133
|
column: a,
|
1131
1134
|
row: t.agg
|
1132
1135
|
}, null, 8, ["column", "row"])
|
1133
|
-
])) : (r(), i("td",
|
1136
|
+
])) : (r(), i("td", dn))
|
1134
1137
|
], 64);
|
1135
1138
|
}), 128))
|
1136
1139
|
]));
|
1137
1140
|
}
|
1138
|
-
},
|
1141
|
+
}, cn = {}, pn = {
|
1139
1142
|
xmlns: "http://www.w3.org/2000/svg",
|
1140
1143
|
viewBox: "0 0 24 24",
|
1141
1144
|
fill: "none",
|
@@ -1145,8 +1148,8 @@ const tn = /* @__PURE__ */ C(Ks, [["render", en]]), sn = { class: "flex items-ce
|
|
1145
1148
|
"stroke-linejoin": "round",
|
1146
1149
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"
|
1147
1150
|
};
|
1148
|
-
function
|
1149
|
-
return r(), i("svg",
|
1151
|
+
function hn(t, e, s, a, n, o) {
|
1152
|
+
return r(), i("svg", pn, e[0] || (e[0] = [
|
1150
1153
|
l("path", {
|
1151
1154
|
stroke: "none",
|
1152
1155
|
d: "M0 0h24v24H0z",
|
@@ -1155,7 +1158,7 @@ function pn(t, e, s, a, n, o) {
|
|
1155
1158
|
l("path", { d: "M6 9l6 6l6 -6" }, null, -1)
|
1156
1159
|
]));
|
1157
1160
|
}
|
1158
|
-
const
|
1161
|
+
const bn = /* @__PURE__ */ C(cn, [["render", hn]]), fn = {}, gn = {
|
1159
1162
|
xmlns: "http://www.w3.org/2000/svg",
|
1160
1163
|
viewBox: "0 0 24 24",
|
1161
1164
|
fill: "none",
|
@@ -1165,8 +1168,8 @@ const hn = /* @__PURE__ */ C(dn, [["render", pn]]), bn = {}, fn = {
|
|
1165
1168
|
"stroke-linejoin": "round",
|
1166
1169
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-check"
|
1167
1170
|
};
|
1168
|
-
function
|
1169
|
-
return r(), i("svg",
|
1171
|
+
function mn(t, e, s, a, n, o) {
|
1172
|
+
return r(), i("svg", gn, e[0] || (e[0] = [
|
1170
1173
|
l("path", {
|
1171
1174
|
stroke: "none",
|
1172
1175
|
d: "M0 0h24v24H0z",
|
@@ -1175,8 +1178,8 @@ function gn(t, e, s, a, n, o) {
|
|
1175
1178
|
l("path", { d: "M5 12l5 5l10 -10" }, null, -1)
|
1176
1179
|
]));
|
1177
1180
|
}
|
1178
|
-
const
|
1179
|
-
components: { IconChevronDown:
|
1181
|
+
const xn = /* @__PURE__ */ C(fn, [["render", mn]]), yn = nt({
|
1182
|
+
components: { IconChevronDown: bn, IconCheck: xn },
|
1180
1183
|
props: {
|
1181
1184
|
total: { type: Number, default: () => 0 },
|
1182
1185
|
pageSize: { type: Number, default: () => 20 },
|
@@ -1189,7 +1192,7 @@ const mn = /* @__PURE__ */ C(bn, [["render", gn]]), xn = st({
|
|
1189
1192
|
page: 1,
|
1190
1193
|
pages: [],
|
1191
1194
|
isDropdownOpen: !1,
|
1192
|
-
pageSizeLocal:
|
1195
|
+
pageSizeLocal: null
|
1193
1196
|
};
|
1194
1197
|
},
|
1195
1198
|
mounted() {
|
@@ -1208,8 +1211,8 @@ const mn = /* @__PURE__ */ C(bn, [["render", gn]]), xn = st({
|
|
1208
1211
|
this.page = t, this.updatePages(t);
|
1209
1212
|
}
|
1210
1213
|
},
|
1211
|
-
pageSizeLocal() {
|
1212
|
-
this.isDropdownOpen = !1, this.setCurrentPage(1);
|
1214
|
+
pageSizeLocal(t, e) {
|
1215
|
+
e && (this.isDropdownOpen = !1, this.setCurrentPage(1));
|
1213
1216
|
}
|
1214
1217
|
},
|
1215
1218
|
computed: {
|
@@ -1258,25 +1261,25 @@ const mn = /* @__PURE__ */ C(bn, [["render", gn]]), xn = st({
|
|
1258
1261
|
t < 1 || t > this.pagesCount || this.page === t || (this.page = t, this.$emit("pageChange", this.page, this.pageSizeLocal), this.updatePages(t));
|
1259
1262
|
}
|
1260
1263
|
}
|
1261
|
-
}),
|
1264
|
+
}), kn = { class: "flex items-center w-full" }, vn = { class: "flex items-center mx-[8px]" }, _n = { class: "min-h-[38px] flex justify-center items-center text-stone-500 py-2 px-1.5 text-sm" }, wn = {
|
1262
1265
|
key: 0,
|
1263
|
-
class: "flex
|
1264
|
-
},
|
1265
|
-
function
|
1266
|
-
const
|
1267
|
-
return r(), i("nav",
|
1266
|
+
class: "flex items-center justify-center ml-3 gap-x-5"
|
1267
|
+
}, Cn = { class: "relative" }, $n = { class: "z-50 bg-white shadow-md rounded-lg p-1 space-y-0.5 dark:bg-neutral-800 dark:border dark:border-neutral-700 dark:divide-neutral-700 absolute bottom-[100%]" }, An = ["onClick"];
|
1268
|
+
function Tn(t, e, s, a, n, o) {
|
1269
|
+
const u = p("IconChevronDown"), f = p("IconCheck");
|
1270
|
+
return r(), i("nav", kn, [
|
1268
1271
|
l("button", {
|
1269
1272
|
type: "button",
|
1270
1273
|
onClick: e[0] || (e[0] = (...h) => t.handleClickPrev && t.handleClickPrev(...h)),
|
1271
1274
|
class: I(["min-h-[38px] min-w-[38px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 text-sm rounded-lg text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100", { "opacity-50 pointer-events-none": t.disablePrevClick }])
|
1272
1275
|
}, [
|
1273
|
-
x(
|
1276
|
+
x(u, {
|
1274
1277
|
height: "16",
|
1275
1278
|
width: "16",
|
1276
1279
|
class: "rotate-90"
|
1277
1280
|
})
|
1278
1281
|
], 2),
|
1279
|
-
l("div",
|
1282
|
+
l("div", vn, [
|
1280
1283
|
l("span", {
|
1281
1284
|
ref: "currentPage",
|
1282
1285
|
contenteditable: "true",
|
@@ -1284,35 +1287,35 @@ function An(t, e, s, a, n, o) {
|
|
1284
1287
|
class: "min-h-[38px] max-h-[38px] overflow-hidden min-w-[38px] flex justify-center items-center bg-stone-100 text-stone-800 py-2 px-3 text-sm rounded-lg disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:text-white"
|
1285
1288
|
}, A(t.page), 545),
|
1286
1289
|
e[4] || (e[4] = l("span", { class: "min-h-[38px] flex justify-center items-center text-stone-500 py-2 px-1.5 text-sm" }, "з", -1)),
|
1287
|
-
l("span",
|
1290
|
+
l("span", _n, A(t.pagesCount), 1)
|
1288
1291
|
]),
|
1289
1292
|
l("button", {
|
1290
1293
|
type: "button",
|
1291
1294
|
onClick: e[2] || (e[2] = (...h) => t.handleClickNext && t.handleClickNext(...h)),
|
1292
1295
|
class: I([{ "opacity-50 pointer-events-none": t.disableNextClick }, "min-h-[38px] min-w-[38px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 text-sm rounded-lg text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"])
|
1293
1296
|
}, [
|
1294
|
-
x(
|
1297
|
+
x(u, {
|
1295
1298
|
height: "16",
|
1296
1299
|
width: "16",
|
1297
1300
|
class: "-rotate-90"
|
1298
1301
|
})
|
1299
1302
|
], 2),
|
1300
|
-
t.pageSizes.length ? (r(), i("div",
|
1301
|
-
l("div",
|
1302
|
-
|
1303
|
-
(r(!0), i(T, null,
|
1303
|
+
t.pageSizes.length ? (r(), i("div", wn, [
|
1304
|
+
l("div", Cn, [
|
1305
|
+
L(l("div", $n, [
|
1306
|
+
(r(!0), i(T, null, D(t.pageSizes, (h) => (r(), i("button", {
|
1304
1307
|
type: "button",
|
1305
1308
|
class: "w-full flex items-center gap-x-3.5 py-2 px-3 rounded-lg text-sm",
|
1306
1309
|
onClick: (b) => t.pageSizeLocal = h
|
1307
1310
|
}, [
|
1308
|
-
|
1311
|
+
P(A(h) + " ", 1),
|
1309
1312
|
h === t.pageSizeLocal ? (r(), k(f, {
|
1310
1313
|
key: 0,
|
1311
1314
|
width: "14",
|
1312
1315
|
height: "14",
|
1313
1316
|
class: "text-blue-600"
|
1314
1317
|
})) : v("", !0)
|
1315
|
-
], 8,
|
1318
|
+
], 8, An))), 256))
|
1316
1319
|
], 512), [
|
1317
1320
|
[E, t.isDropdownOpen]
|
1318
1321
|
]),
|
@@ -1322,8 +1325,8 @@ function An(t, e, s, a, n, o) {
|
|
1322
1325
|
class: "text-sm h-[32px] min-w-8 py-3 px-3.5 inline-flex items-center gap-x-1 rounded-lg border border-gray-200 text-gray-800 shadow-sm hover:bg-gray-50 focus:outline-none focus:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none dark:border-neutral-700 dark:text-white dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",
|
1323
1326
|
onClick: e[3] || (e[3] = (h) => t.isDropdownOpen = !t.isDropdownOpen)
|
1324
1327
|
}, [
|
1325
|
-
|
1326
|
-
x(
|
1328
|
+
P(A(t.pageSizeLocal) + " ", 1),
|
1329
|
+
x(u, {
|
1327
1330
|
height: "16",
|
1328
1331
|
width: "16"
|
1329
1332
|
})
|
@@ -1332,26 +1335,26 @@ function An(t, e, s, a, n, o) {
|
|
1332
1335
|
])) : v("", !0)
|
1333
1336
|
]);
|
1334
1337
|
}
|
1335
|
-
const
|
1338
|
+
const Sn = /* @__PURE__ */ C(yn, [["render", Tn]]), In = {
|
1336
1339
|
props: { table: String, title: String },
|
1337
1340
|
components: {
|
1338
|
-
AdminTableControl:
|
1339
|
-
AdminTableExport:
|
1340
|
-
AdminTableColumnsHidden:
|
1341
|
-
AdminTableColumn:
|
1342
|
-
AdminNodata:
|
1341
|
+
AdminTableControl: yt,
|
1342
|
+
AdminTableExport: Et,
|
1343
|
+
AdminTableColumnsHidden: is,
|
1344
|
+
AdminTableColumn: dt,
|
1345
|
+
AdminNodata: Ge,
|
1343
1346
|
IconPlus: N,
|
1344
|
-
IconSearch:
|
1345
|
-
AdminTableCardInfo:
|
1346
|
-
IconOpenCard:
|
1347
|
+
IconSearch: Ke,
|
1348
|
+
AdminTableCardInfo: Ds,
|
1349
|
+
IconOpenCard: Ms,
|
1347
1350
|
AdminComponentIs: U,
|
1348
|
-
AdminTableFilters:
|
1349
|
-
AdminTableTabs:
|
1350
|
-
AdminTableCustomFilters:
|
1351
|
-
AdminTableCustomButtons:
|
1352
|
-
AdminCustomButtonAdd:
|
1351
|
+
AdminTableFilters: Os,
|
1352
|
+
AdminTableTabs: Rs,
|
1353
|
+
AdminTableCustomFilters: sn,
|
1354
|
+
AdminTableCustomButtons: ln,
|
1355
|
+
AdminCustomButtonAdd: on,
|
1353
1356
|
AdminTableTotalsList: un,
|
1354
|
-
AdminTablePagination:
|
1357
|
+
AdminTablePagination: Sn
|
1355
1358
|
},
|
1356
1359
|
data() {
|
1357
1360
|
return {
|
@@ -1407,7 +1410,7 @@ const Tn = /* @__PURE__ */ C(xn, [["render", An]]), Sn = {
|
|
1407
1410
|
this.tableData = null, await this.getTableData();
|
1408
1411
|
},
|
1409
1412
|
searchValue: {
|
1410
|
-
handler:
|
1413
|
+
handler: rn(async function(t) {
|
1411
1414
|
var e;
|
1412
1415
|
await this.getTableData(), this.$router.push({
|
1413
1416
|
...this.$route,
|
@@ -1424,7 +1427,10 @@ const Tn = /* @__PURE__ */ C(xn, [["render", An]]), Sn = {
|
|
1424
1427
|
},
|
1425
1428
|
limit(t) {
|
1426
1429
|
var e;
|
1427
|
-
this.$router.replace({
|
1430
|
+
this.$router.replace({
|
1431
|
+
...this.$route,
|
1432
|
+
query: { ...(e = this.$route) == null ? void 0 : e.query, limit: t }
|
1433
|
+
});
|
1428
1434
|
},
|
1429
1435
|
filterState(t) {
|
1430
1436
|
var e;
|
@@ -1453,8 +1459,8 @@ const Tn = /* @__PURE__ */ C(xn, [["render", An]]), Sn = {
|
|
1453
1459
|
},
|
1454
1460
|
methods: {
|
1455
1461
|
async checkUrlMounted() {
|
1456
|
-
var t, e, s, a, n, o,
|
1457
|
-
this.page = ((e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.page) || 1, this.limit = ((a = (s = this.$route) == null ? void 0 : s.query) == null ? void 0 : a.limit) || 20, this.filters = ((
|
1462
|
+
var t, e, s, a, n, o, u, f, h, b, d, _, m, g, w, y, $, V, M;
|
1463
|
+
this.page = ((e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.page) || 1, this.limit = ((a = (s = this.$route) == null ? void 0 : s.query) == null ? void 0 : a.limit) || 20, this.filters = ((u = decodeURI((o = (n = this.$route) == null ? void 0 : n.query) == null ? void 0 : o.filter)) == null ? void 0 : u.replaceAll("+", " ")) || null, this.filters && (this.onFilters = ((h = (f = this.filters) == null ? void 0 : f.split("=")) == null ? void 0 : h.length) - 1), this.filterState = ((d = (b = this.$route) == null ? void 0 : b.query) == null ? void 0 : d.filterState) || null, this.filterCustom = ((m = (_ = this.$route) == null ? void 0 : _.query) == null ? void 0 : m.custom) || null, this.searchValue = ((w = (g = this.$route) == null ? void 0 : g.query) == null ? void 0 : w.search) || "", this.visibleColumns = ((V = ($ = (y = this.$route) == null ? void 0 : y.query) == null ? void 0 : $.columns) == null ? void 0 : V.split(",")) || [], (M = this.$route) != null && M.query.card && (this.isVisibleCardInfo = !0);
|
1458
1464
|
},
|
1459
1465
|
rowWidth(t) {
|
1460
1466
|
var s, a;
|
@@ -1468,9 +1474,9 @@ const Tn = /* @__PURE__ */ C(xn, [["render", An]]), Sn = {
|
|
1468
1474
|
this.page = 1, this.visibleColumns = [], this.filterCustom = null, this.filterState = null, this.isVisibleCardInfo = !1, this.filterScheme = null, this.filters = null, this.onFilters = 0, this.searchValue = "";
|
1469
1475
|
},
|
1470
1476
|
async getTableData() {
|
1471
|
-
var t, e, s, a, n, o,
|
1477
|
+
var t, e, s, a, n, o, u, f, h, b, d;
|
1472
1478
|
try {
|
1473
|
-
const { data: _ } = await
|
1479
|
+
const { data: _ } = await j.get(`/api/template/table/${this.table}`), m = await j.get(`/api/table-data/${this.table}`, {
|
1474
1480
|
params: {
|
1475
1481
|
page: this.page,
|
1476
1482
|
search: this.searchValue || null,
|
@@ -1484,17 +1490,17 @@ const Tn = /* @__PURE__ */ C(xn, [["render", An]]), Sn = {
|
|
1484
1490
|
this.tableData = {
|
1485
1491
|
..._,
|
1486
1492
|
...(m == null ? void 0 : m.data) || {}
|
1487
|
-
}, this.initialHiddenColumns = (o = (n = (a = (s = this.tableData) == null ? void 0 : s.columns) == null ? void 0 : a.filter((g) => (g == null ? void 0 : g.hidden) !== !0)) == null ? void 0 : n.map((g) => g == null ? void 0 : g.name)) == null ? void 0 : o.join(","), (
|
1493
|
+
}, this.initialHiddenColumns = (o = (n = (a = (s = this.tableData) == null ? void 0 : s.columns) == null ? void 0 : a.filter((g) => (g == null ? void 0 : g.hidden) !== !0)) == null ? void 0 : n.map((g) => g == null ? void 0 : g.name)) == null ? void 0 : o.join(","), (u = this.visibleColumns) != null && u.length ? (f = this.tableData) == null || f.columns.forEach((g) => {
|
1488
1494
|
var w;
|
1489
1495
|
(w = this.visibleColumns) != null && w.includes(g == null ? void 0 : g.name) ? g.hidden = !1 : g.hidden = !0;
|
1490
|
-
}) : this.visibleColumns = (
|
1496
|
+
}) : this.visibleColumns = (d = (b = (h = this.tableData) == null ? void 0 : h.columns) == null ? void 0 : b.filter((g) => (g == null ? void 0 : g.hidden) !== !0)) == null ? void 0 : d.map((g) => g == null ? void 0 : g.name);
|
1491
1497
|
} catch {
|
1492
1498
|
}
|
1493
1499
|
},
|
1494
1500
|
async getFilters() {
|
1495
1501
|
var t;
|
1496
1502
|
try {
|
1497
|
-
const { data: e } = await
|
1503
|
+
const { data: e } = await j.get(`/api/table-filter/${this.table}`);
|
1498
1504
|
this.filterScheme = (t = e == null ? void 0 : e.list) == null ? void 0 : t.map((s) => ({
|
1499
1505
|
...s,
|
1500
1506
|
label: (s == null ? void 0 : s.label) || (s == null ? void 0 : s.ua)
|
@@ -1533,29 +1539,36 @@ const Tn = /* @__PURE__ */ C(xn, [["render", An]]), Sn = {
|
|
1533
1539
|
...this.$route,
|
1534
1540
|
query: { ...(t = this.$route) == null ? void 0 : t.query, card: void 0 }
|
1535
1541
|
});
|
1542
|
+
},
|
1543
|
+
getCustomStyles(t) {
|
1544
|
+
return [
|
1545
|
+
t != null && t.link ? " text-blue-600 hover:underline decoration-2" : "",
|
1546
|
+
t != null && t.align ? ` text-${(t == null ? void 0 : t.align) || "left"}` : "",
|
1547
|
+
`text-${(t == null ? void 0 : t.wrap) || "wrap"}`
|
1548
|
+
];
|
1536
1549
|
}
|
1537
1550
|
}
|
1538
|
-
},
|
1551
|
+
}, Vn = { class: "w-[calc(100vw - 320px)] bg-gray-50" }, Dn = { class: "h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white border rounded-xl" }, Pn = { class: "text-lg font-semibold text-gray-800 dark:text-neutral-200" }, Fn = {
|
1539
1552
|
style: { height: "calc(100vh - 155px)" },
|
1540
1553
|
class: "bg-gray-50 p-[20px] flex pt-[10px] lg:w-[calc(100vw-260px)] w-[100vw]"
|
1541
|
-
}, jn = { class: "bg-white w-full rounded-xl border p-[20px] pr-0" },
|
1554
|
+
}, jn = { class: "bg-white w-full rounded-xl border p-[20px] pr-0" }, Mn = { class: "flex" }, Ln = { class: "flex gap-[6px] ml-auto" }, zn = { class: "inline-block w-full align-middle" }, qn = {
|
1542
1555
|
key: 0,
|
1543
1556
|
class: "relative min-w-full text-[13px] divide-y divide-gray-200 table-fixed w-max dark:divide-neutral-700"
|
1544
|
-
},
|
1557
|
+
}, Bn = { class: "sticky top-[-1px] z-[2] bg-white w-full after:absolute after:content-[''] after:block after:w-full after:h-px after:bg-stone-200" }, On = { class: "right-0" }, Nn = {
|
1545
1558
|
key: 0,
|
1546
1559
|
class: "w-[70px] sticky right-0 top-0"
|
1547
|
-
},
|
1560
|
+
}, Un = { class: "divide-y divide-gray-200 z-[1] relative" }, En = ["onClick"], Hn = ["onClick"], Rn = { class: "p-[10px] flex justify-start items-center w-full" }, Wn = { class: "w-[200px] md:inline-flex hidden" }, Jn = { class: "text-sm text-gray-600 dark:text-neutral-400" }, Gn = { class: "font-semibold text-gray-800 dark:text-neutral-200" }, Kn = { key: 0 }, Qn = {
|
1548
1561
|
key: 0,
|
1549
1562
|
class: "font-semibold text-gray-800 dark:text-neutral-200"
|
1550
1563
|
};
|
1551
1564
|
function Xn(t, e, s, a, n, o) {
|
1552
|
-
var H, R, W, J, G, K, Q, X, Y, Z, ee, te, se, ne, le, re, oe, ae, ie,
|
1553
|
-
const
|
1554
|
-
return r(), i("div",
|
1555
|
-
l("div",
|
1556
|
-
l("h2",
|
1565
|
+
var H, R, W, J, G, K, Q, X, Y, Z, ee, te, se, ne, le, re, oe, ae, ie, de, ue, ce, pe, he, be, fe, ge;
|
1566
|
+
const u = p("AdminCustomButtonAdd"), f = p("IconPlus"), h = p("router-link"), b = p("AdminTableTabs"), d = p("IconSearch"), _ = p("VsText"), m = p("AdminTableCustomButtons"), g = p("AdminTableCustomFilters"), w = p("AdminTableColumnsHidden"), y = p("AdminTableExport"), $ = p("AdminTableFilters"), V = p("IconOpenCard"), M = p("AdminTableColumn"), q = p("AdminComponentIs"), Fe = p("AdminTableControl"), je = p("AdminTableTotalsList"), Me = p("AdminNodata"), Le = p("AdminTablePagination"), ze = p("AdminTableCardInfo");
|
1567
|
+
return r(), i("div", Vn, [
|
1568
|
+
l("div", Dn, [
|
1569
|
+
l("h2", Pn, A(s.title), 1),
|
1557
1570
|
o.isForm ? (r(), i(T, { key: 0 }, [
|
1558
|
-
(R = (H = n.tableData) == null ? void 0 : H.slots) != null && R.addButton ? (r(), k(
|
1571
|
+
(R = (H = n.tableData) == null ? void 0 : H.slots) != null && R.addButton ? (r(), k(u, {
|
1559
1572
|
key: 0,
|
1560
1573
|
slots: (W = n.tableData) == null ? void 0 : W.slots
|
1561
1574
|
}, null, 8, ["slots"])) : (r(), k(h, {
|
@@ -1568,13 +1581,13 @@ function Xn(t, e, s, a, n, o) {
|
|
1568
1581
|
height: "16",
|
1569
1582
|
width: "16"
|
1570
1583
|
}),
|
1571
|
-
e[5] || (e[5] =
|
1584
|
+
e[5] || (e[5] = P(" Додати "))
|
1572
1585
|
]),
|
1573
1586
|
_: 1
|
1574
1587
|
}, 8, ["to"]))
|
1575
1588
|
], 64)) : v("", !0)
|
1576
1589
|
]),
|
1577
|
-
l("div",
|
1590
|
+
l("div", Fn, [
|
1578
1591
|
l("div", jn, [
|
1579
1592
|
(Q = (K = n.tableData) == null ? void 0 : K.filterState) != null && Q.length ? (r(), k(b, {
|
1580
1593
|
key: 0,
|
@@ -1582,14 +1595,14 @@ function Xn(t, e, s, a, n, o) {
|
|
1582
1595
|
filterState: n.filterState,
|
1583
1596
|
"onUpdate:filterState": e[0] || (e[0] = (c) => n.filterState = c)
|
1584
1597
|
}, null, 8, ["tabsList", "filterState"])) : v("", !0),
|
1585
|
-
l("div",
|
1598
|
+
l("div", Mn, [
|
1586
1599
|
l("div", {
|
1587
1600
|
class: I([n.isVisibleCardInfo ? "w-[calc(100%-360px)]" : "w-full"])
|
1588
1601
|
}, [
|
1589
1602
|
l("div", {
|
1590
1603
|
class: I(["flex sm:grid sm:grid-cols-2 gap-x-2 sm:gap-x-5 mb-[10px] relative", { "pr-[20px]": !n.isVisibleCardInfo }])
|
1591
1604
|
}, [
|
1592
|
-
x(
|
1605
|
+
x(d, {
|
1593
1606
|
height: "14",
|
1594
1607
|
width: "14",
|
1595
1608
|
class: "absolute top-[10px] left-[14px] text-gray-500 z-[1]"
|
@@ -1601,7 +1614,7 @@ function Xn(t, e, s, a, n, o) {
|
|
1601
1614
|
clearable: !0,
|
1602
1615
|
class: "[&>input]:py-[7px] [&>input]:max-h-[36px] [&>input]:ps-10 [&>input]:pe-8 [&>input]:block [&>input]:w-full [&>input]:bg-gray-100 [&>input]:border-transparent [&>input]:rounded-lg [&>input]:text-sm [&>input]:focus:bg-white [&>input]:focus:border-blue-500 [&>input]:focus:ring-blue-500 [&>input]:disabled:opacity-50 [&>input]:disabled:pointer-events-none [&>input]:dark:bg-neutral-700 [&>input]:dark:border-transparent [&>input]:dark:text-neutral-400 [&>input]:dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600"
|
1603
1616
|
}, null, 8, ["modelValue"]),
|
1604
|
-
l("div",
|
1617
|
+
l("div", Ln, [
|
1605
1618
|
(Y = n.tableData) != null && Y.slots ? (r(), k(m, {
|
1606
1619
|
key: 0,
|
1607
1620
|
slots: (Z = n.tableData) == null ? void 0 : Z.slots
|
@@ -1636,7 +1649,7 @@ function Xn(t, e, s, a, n, o) {
|
|
1636
1649
|
onClick: e[4] || (e[4] = (...c) => o.toggleCardInfo && o.toggleCardInfo(...c)),
|
1637
1650
|
class: "py-2 px-2.5 max-h-[34px] md:inline-flex hidden items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"
|
1638
1651
|
}, [
|
1639
|
-
x(
|
1652
|
+
x(V, {
|
1640
1653
|
class: I({ "rotate-180 duration-300": !n.isVisibleCardInfo })
|
1641
1654
|
}, null, 8, ["class"])
|
1642
1655
|
])
|
@@ -1646,18 +1659,18 @@ function Xn(t, e, s, a, n, o) {
|
|
1646
1659
|
class: I(["flex items-start justify-start w-full space-y-5", { "pr-[20px]": !n.isVisibleCardInfo }])
|
1647
1660
|
}, [
|
1648
1661
|
l("div", {
|
1649
|
-
style:
|
1662
|
+
style: Ve({
|
1650
1663
|
height: (ie = (ae = n.tableData) == null ? void 0 : ae.filterState) != null && ie.length ? "calc(100vh - 370px)" : "calc(100vh - 330px)"
|
1651
1664
|
}),
|
1652
1665
|
class: "overflow-x-auto w-full [&::-webkit-scrollbar]:h-2 [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-stone-100 [&::-webkit-scrollbar-thumb]:bg-stone-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500"
|
1653
1666
|
}, [
|
1654
|
-
l("div",
|
1655
|
-
o.isNoData ? (r(), k(
|
1656
|
-
l("thead",
|
1657
|
-
l("tr",
|
1658
|
-
(r(!0), i(T, null,
|
1667
|
+
l("div", zn, [
|
1668
|
+
o.isNoData ? (r(), k(Me, { key: 1 })) : (r(), i("table", qn, [
|
1669
|
+
l("thead", Bn, [
|
1670
|
+
l("tr", On, [
|
1671
|
+
(r(!0), i(T, null, D(o.columns, (c) => (r(), k(M, {
|
1659
1672
|
key: c.name,
|
1660
|
-
style:
|
1673
|
+
style: Ve({
|
1661
1674
|
width: o.rowWidth(c == null ? void 0 : c.name),
|
1662
1675
|
textAlign: c == null ? void 0 : c.align,
|
1663
1676
|
wordBreak: c == null ? void 0 : c.wrap
|
@@ -1666,28 +1679,32 @@ function Xn(t, e, s, a, n, o) {
|
|
1666
1679
|
activeColumn: n.activeColumn,
|
1667
1680
|
onChangeActive: o.changeActiveColumn
|
1668
1681
|
}, null, 8, ["style", "data", "activeColumn", "onChangeActive"]))), 128)),
|
1669
|
-
(
|
1682
|
+
(ue = (de = o.getActions) == null ? void 0 : de.filter(
|
1670
1683
|
(c) => c !== "add" && c !== "view"
|
1671
|
-
)) != null &&
|
1684
|
+
)) != null && ue.length ? (r(), i("th", Nn)) : v("", !0)
|
1672
1685
|
])
|
1673
1686
|
]),
|
1674
|
-
l("tbody",
|
1675
|
-
(r(!0), i(T, null,
|
1676
|
-
var me, xe, ye, ke, ve, _e, we, Ce, $e, Ae, Te;
|
1687
|
+
l("tbody", Un, [
|
1688
|
+
(r(!0), i(T, null, D((ce = n.tableData) == null ? void 0 : ce.rows, (c, qe) => {
|
1689
|
+
var me, xe, ye, ke, ve, _e, we, Ce, $e, Ae, Te, Se;
|
1677
1690
|
return r(), i("tr", {
|
1678
|
-
key: (c == null ? void 0 : c.id) ||
|
1691
|
+
key: (c == null ? void 0 : c.id) || qe,
|
1679
1692
|
class: I({
|
1680
1693
|
"bg-gray-50": ((xe = (me = t.$route) == null ? void 0 : me.query) == null ? void 0 : xe.card) === (c == null ? void 0 : c.id)
|
1681
1694
|
})
|
1682
1695
|
}, [
|
1683
|
-
l("td",
|
1696
|
+
l("td", {
|
1697
|
+
class: I(["px-1 py-3 text-gray-600 pe-4", [
|
1698
|
+
(ye = o.columns[0]) != null && ye.align ? `text-${((ke = o.columns[0]) == null ? void 0 : ke.align) || "left"}` : ""
|
1699
|
+
]])
|
1700
|
+
}, [
|
1684
1701
|
l("button", {
|
1685
|
-
onClick: (
|
1702
|
+
onClick: (F) => {
|
1686
1703
|
o.pushToCard(c == null ? void 0 : c.id), o.pushToLinkCard(o.columns[0], c);
|
1687
1704
|
},
|
1688
1705
|
class: I(["font-medium", [
|
1689
|
-
(
|
1690
|
-
(
|
1706
|
+
...o.getCustomStyles(o.columns[0]),
|
1707
|
+
((ve = this.tableData) == null ? void 0 : ve.card) === !1 ? "" : " text-blue-600 decoration-2 focus:outline-none focus:underline hover:text-blue-600 hover:underline"
|
1691
1708
|
]])
|
1692
1709
|
}, [
|
1693
1710
|
x(q, {
|
@@ -1697,34 +1714,31 @@ function Xn(t, e, s, a, n, o) {
|
|
1697
1714
|
onUpdateTable: o.getTableData
|
1698
1715
|
}, null, 8, ["row", "column", "table", "onUpdateTable"])
|
1699
1716
|
], 10, En)
|
1700
|
-
]),
|
1701
|
-
(r(!0), i(T, null,
|
1717
|
+
], 2),
|
1718
|
+
(r(!0), i(T, null, D((_e = o.columns) == null ? void 0 : _e.slice(1), (F) => (r(), i("td", {
|
1702
1719
|
onClick: (sl) => {
|
1703
|
-
o.changeActiveCardInfo(c == null ? void 0 : c.id), o.pushToLinkCard(
|
1720
|
+
o.changeActiveCardInfo(c == null ? void 0 : c.id), o.pushToLinkCard(F, c);
|
1704
1721
|
},
|
1705
|
-
class: I(["px-1 py-3 text-gray-600 pe-3
|
1706
|
-
|
1707
|
-
"text-blue-600 hover:underline decoration-2": P == null ? void 0 : P.link
|
1708
|
-
}]),
|
1709
|
-
key: P.name
|
1722
|
+
class: I(["px-1 py-3 text-gray-600 pe-3", o.getCustomStyles(F)]),
|
1723
|
+
key: F.name
|
1710
1724
|
}, [
|
1711
1725
|
x(q, {
|
1712
1726
|
row: c,
|
1713
|
-
column:
|
1727
|
+
column: F,
|
1714
1728
|
table: s.table,
|
1715
1729
|
onUpdateTable: o.getTableData
|
1716
1730
|
}, null, 8, ["row", "column", "table", "onUpdateTable"])
|
1717
1731
|
], 10, Hn))), 128)),
|
1718
|
-
(
|
1719
|
-
(
|
1720
|
-
)) != null &&
|
1732
|
+
(Ce = (we = o.getActions) == null ? void 0 : we.filter(
|
1733
|
+
(F) => F !== "add" && F !== "view"
|
1734
|
+
)) != null && Ce.length ? (r(), i("td", {
|
1721
1735
|
key: 0,
|
1722
1736
|
class: I(["text-center sticky right-0 w-[80px] px-[10px]", {
|
1723
|
-
"bg-gray-50": ((
|
1724
|
-
"bg-white": ((
|
1737
|
+
"bg-gray-50": ((Ae = ($e = t.$route) == null ? void 0 : $e.query) == null ? void 0 : Ae.card) === (c == null ? void 0 : c.id),
|
1738
|
+
"bg-white": ((Se = (Te = t.$route) == null ? void 0 : Te.query) == null ? void 0 : Se.card) !== (c == null ? void 0 : c.id)
|
1725
1739
|
}])
|
1726
1740
|
}, [
|
1727
|
-
x(
|
1741
|
+
x(Fe, {
|
1728
1742
|
actions: o.getActions,
|
1729
1743
|
isForm: o.isForm,
|
1730
1744
|
item: c,
|
@@ -1747,13 +1761,13 @@ function Xn(t, e, s, a, n, o) {
|
|
1747
1761
|
l("div", Wn, [
|
1748
1762
|
l("p", Jn, [
|
1749
1763
|
l("span", Gn, [
|
1750
|
-
|
1764
|
+
P(A(n.filters || n.searchValue ? "Знайдено" : "Об'єктів") + " " + A(((he = n.tableData) == null ? void 0 : he.count) || "0 ") + " ", 1),
|
1751
1765
|
n.filters || n.searchValue ? (r(), i("span", Kn, " з")) : v("", !0)
|
1752
1766
|
]),
|
1753
1767
|
n.filters || n.searchValue ? (r(), i("span", Qn, A(" " + ((be = n.tableData) == null ? void 0 : be.filtered) || 0), 1)) : v("", !0)
|
1754
1768
|
])
|
1755
1769
|
]),
|
1756
|
-
Math.ceil(((fe = n.tableData) == null ? void 0 : fe.filtered) / n.limit) > 1 ? (r(), k(
|
1770
|
+
Math.ceil(((fe = n.tableData) == null ? void 0 : fe.filtered) / n.limit) > 1 ? (r(), k(Le, {
|
1757
1771
|
key: 0,
|
1758
1772
|
class: "justify-end",
|
1759
1773
|
"default-page": parseInt(o.defaultPage),
|
@@ -1764,11 +1778,11 @@ function Xn(t, e, s, a, n, o) {
|
|
1764
1778
|
}, null, 8, ["default-page", "total", "onPageChange", "pageSize"])) : v("", !0)
|
1765
1779
|
])
|
1766
1780
|
], 2),
|
1767
|
-
x(
|
1781
|
+
x(z, { name: "slide-fade" }, {
|
1768
1782
|
default: S(() => {
|
1769
1783
|
var c;
|
1770
1784
|
return [
|
1771
|
-
n.isVisibleCardInfo ? (r(), k(
|
1785
|
+
n.isVisibleCardInfo ? (r(), k(ze, {
|
1772
1786
|
key: 0,
|
1773
1787
|
table: s.table,
|
1774
1788
|
columns: (c = n.tableData) == null ? void 0 : c.columns,
|
@@ -1783,7 +1797,7 @@ function Xn(t, e, s, a, n, o) {
|
|
1783
1797
|
])
|
1784
1798
|
]);
|
1785
1799
|
}
|
1786
|
-
const Yn = /* @__PURE__ */ C(
|
1800
|
+
const Yn = /* @__PURE__ */ C(In, [["render", Xn], ["__scopeId", "data-v-9370dca8"]]), Zn = {
|
1787
1801
|
components: { AdminTable: Yn },
|
1788
1802
|
data() {
|
1789
1803
|
return {
|
@@ -1796,13 +1810,13 @@ const Yn = /* @__PURE__ */ C(Sn, [["render", Xn], ["__scopeId", "data-v-df0b453f
|
|
1796
1810
|
$route: {
|
1797
1811
|
async handler() {
|
1798
1812
|
var t;
|
1799
|
-
(t =
|
1813
|
+
(t = Ie) != null && t.value || await this.getMenu(), await this.checkPageType();
|
1800
1814
|
},
|
1801
1815
|
deep: !0
|
1802
1816
|
},
|
1803
1817
|
title(t) {
|
1804
1818
|
var e;
|
1805
|
-
t && (document.title = (((e =
|
1819
|
+
t && (document.title = (((e = Qe.value) == null ? void 0 : e.titlePrefix) || "") + t);
|
1806
1820
|
}
|
1807
1821
|
},
|
1808
1822
|
async mounted() {
|
@@ -1817,11 +1831,11 @@ const Yn = /* @__PURE__ */ C(Sn, [["render", Xn], ["__scopeId", "data-v-df0b453f
|
|
1817
1831
|
},
|
1818
1832
|
async checkPageType() {
|
1819
1833
|
var a, n;
|
1820
|
-
const t = this.flattenMenu(
|
1834
|
+
const t = this.flattenMenu(Ie.value);
|
1821
1835
|
t != null && t.length || this.$router.replace("/404");
|
1822
1836
|
const e = t == null ? void 0 : t.find((o) => {
|
1823
|
-
var
|
1824
|
-
return (o == null ? void 0 : o.path) == ((f = (
|
1837
|
+
var u, f;
|
1838
|
+
return (o == null ? void 0 : o.path) == ((f = (u = this.$route) == null ? void 0 : u.params) == null ? void 0 : f.catchAll);
|
1825
1839
|
});
|
1826
1840
|
this.title = e == null ? void 0 : e.ua, e || this.$router.replace("/404"), e != null && e.component && this.$router.replace((n = (a = this.$route) == null ? void 0 : a.params) == null ? void 0 : n.catchAll);
|
1827
1841
|
const s = e == null ? void 0 : e.table;
|
@@ -1830,7 +1844,7 @@ const Yn = /* @__PURE__ */ C(Sn, [["render", Xn], ["__scopeId", "data-v-df0b453f
|
|
1830
1844
|
async getInterface() {
|
1831
1845
|
var t, e;
|
1832
1846
|
try {
|
1833
|
-
const { data: s } = await
|
1847
|
+
const { data: s } = await j.get(
|
1834
1848
|
`/api/template/interface/${((e = (t = this.$route) == null ? void 0 : t.params) == null ? void 0 : e.catchAll) || ""}`
|
1835
1849
|
);
|
1836
1850
|
this.interface = s || "";
|
@@ -1841,8 +1855,8 @@ const Yn = /* @__PURE__ */ C(Sn, [["render", Xn], ["__scopeId", "data-v-df0b453f
|
|
1841
1855
|
}
|
1842
1856
|
}, el = ["innerHTML"];
|
1843
1857
|
function tl(t, e, s, a, n, o) {
|
1844
|
-
const
|
1845
|
-
return n.table ? (r(), k(
|
1858
|
+
const u = p("AdminTable");
|
1859
|
+
return n.table ? (r(), k(u, {
|
1846
1860
|
key: 0,
|
1847
1861
|
table: n.table,
|
1848
1862
|
title: n.title
|