@opengis/admin 0.1.80 → 0.1.82
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +29 -29
- package/config.js +4 -4
- package/dist/{IconChevronDown-DWLdkAUG.js → IconChevronDown-TOHGDzb9.js} +1 -1
- package/dist/{add-page-GDPnGgQK.js → add-page-DVsruEe8.js} +1 -1
- package/dist/{admin-interface-DOqhM3SD.js → admin-interface-CqPS5k9y.js} +363 -363
- package/dist/{admin-view-xnJ3u3oI.js → admin-view-DtZwCxNO.js} +4 -4
- package/dist/admin.js +1 -1
- package/dist/admin.umd.cjs +85 -85
- package/dist/assets/logo.svg +41 -41
- package/dist/card-page-DiSMqrtf.js +358 -0
- package/dist/{card-view-CuKF08UR.js → card-view-RC_RStl7.js} +1 -1
- package/dist/{edit-page-J0eDzIuJ.js → edit-page-B0syX8OD.js} +1 -1
- package/dist/{import-file-REG5YZVe.js → import-file-BihjtZo9.js} +8208 -8008
- package/dist/style.css +1 -1
- package/module/settings/card/admin.roles.table/access.hbs +27 -27
- package/module/settings/card/admin.roles.table/general_info.hbs +16 -16
- package/module/settings/card/admin.roles.table/index.yml +14 -14
- package/module/settings/card/admin.roles.table/users.hbs +27 -27
- package/module/settings/card/admin.routes.table/general_info.hbs +40 -40
- package/module/settings/card/admin.routes.table/index.yml +8 -8
- package/module/settings/card/admin.routes.table/users.hbs +33 -33
- package/module/settings/card/admin.users.table/general_info.hbs +25 -25
- package/module/settings/card/admin.users.table/index.yml +12 -12
- package/module/settings/card/admin.users.table/logs.hbs +30 -30
- package/module/settings/card/admin.users.table/user_roles.hbs +24 -24
- package/module/settings/cls/core.actions.json +17 -13
- 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/form/admin.access.form.json +36 -36
- package/module/settings/form/admin.custom_column.form.json +71 -71
- package/module/settings/form/admin.properties.form.json +15 -15
- package/module/settings/form/admin.roles.form.json +19 -19
- package/module/settings/form/admin.routes.form.json +25 -25
- package/module/settings/form/admin.user_properties.form.json +15 -15
- package/module/settings/form/admin.user_roles.form.json +21 -21
- package/module/settings/form/admin.users.form.json +153 -153
- package/module/settings/form/user.user_roles.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/menu.json +50 -50
- package/module/settings/select/core.roles.json +2 -2
- 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.access.table.json +83 -83
- package/module/settings/table/admin.custom_column.table.json +99 -99
- package/module/settings/table/admin.properties.table.json +39 -39
- package/module/settings/table/admin.roles.table.json +64 -64
- package/module/settings/table/admin.routes.table.json +68 -68
- package/module/settings/table/admin.user_properties.table.json +34 -34
- package/module/settings/table/admin.user_roles.table.json +72 -72
- package/module/settings/table/admin.users.table.json +121 -121
- package/package.json +82 -82
- package/plugin.js +29 -27
- package/server/helpers/controllers/badge.js +11 -11
- package/server/helpers/controllers/hb.js +2 -2
- package/server/helpers/controllers/map.js +2 -2
- package/server/helpers/controllers/mls.js +2 -2
- package/server/helpers/controllers/token.js +15 -15
- package/server/helpers/controllers/vue.js +2 -2
- package/server/helpers/index.mjs +17 -17
- package/server/plugins/access/funcs/getAdminAccess.js +15 -0
- package/server/plugins/access/index.mjs +6 -0
- package/server/plugins/adminHook.js +93 -93
- package/server/plugins/cron.js +10 -10
- package/server/plugins/docs.js +28 -28
- package/server/plugins/hook.js +223 -223
- package/server/plugins/vite.js +71 -71
- package/server/routes/access/controllers/access.group.js +33 -0
- package/server/routes/access/controllers/access.group.post.js +44 -0
- package/server/routes/access/index.mjs +63 -0
- 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 +81 -94
- 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 +20 -14
- package/server/routes/data/controllers/tableDataId.js +27 -27
- package/server/routes/data/controllers/tableFilter.js +63 -63
- package/server/routes/data/controllers/tokenInfo.js +10 -0
- package/server/routes/data/controllers/utils/assignTokens.js +30 -30
- package/server/routes/data/controllers/utils/getColumns.js +8 -8
- package/server/routes/data/index.mjs +17 -15
- package/server/routes/data/schema.js +54 -54
- package/server/routes/menu/controllers/getMenu.js +67 -67
- 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 +105 -105
- 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/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 +26 -22
- 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.cls.post.js +52 -52
- package/server/routes/user/controllers/user.info.js +17 -17
- package/server/routes/user/schema.js +14 -14
- package/server/routes/widget/controllers/utils/historyFormat.js +75 -75
- package/server/routes/widget/controllers/utils/obj2db.js +13 -13
- package/server/routes/widget/controllers/widget.del.js +41 -41
- package/server/routes/widget/controllers/widget.get.js +96 -96
- 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 -26
- package/dist/card-page-DhYFr0FI.js +0 -280
@@ -1,7 +1,48 @@
|
|
1
|
-
import { _ as k, b as
|
2
|
-
import { openBlock as
|
3
|
-
import { I as
|
4
|
-
const
|
1
|
+
import { _ as k, b as Te, a as D, c as Ve, d as De, e as Fe, f as Me, I as je, u as xe, s as qe } from "./import-file-BihjtZo9.js";
|
2
|
+
import { openBlock as r, createElementBlock as a, createStaticVNode as j, Fragment as $, createElementVNode as l, createTextVNode as F, toDisplayString as A, createCommentVNode as w, resolveComponent as h, createVNode as x, withCtx as C, createBlock as _, withModifiers as Be, renderList as V, normalizeClass as I, withDirectives as z, vModelCheckbox as ze, resolveDynamicComponent as B, Transition as P, renderSlot as Pe, vShow as ke, getCurrentInstance as Le, ref as ye, normalizeStyle as _e } from "vue";
|
3
|
+
import { I as Ue } from "./IconChevronDown-TOHGDzb9.js";
|
4
|
+
const Oe = {}, Ee = {
|
5
|
+
class: "flex-shrink-0 size-3.5",
|
6
|
+
xmlns: "http://www.w3.org/2000/svg",
|
7
|
+
viewBox: "0 0 24 24",
|
8
|
+
fill: "none",
|
9
|
+
stroke: "currentColor",
|
10
|
+
"stroke-width": "2",
|
11
|
+
"stroke-linecap": "round",
|
12
|
+
"stroke-linejoin": "round"
|
13
|
+
};
|
14
|
+
function Ne(t, e, s, i, n, o) {
|
15
|
+
return r(), a("svg", Ee, e[0] || (e[0] = [
|
16
|
+
j('<path d="M3 6h18"></path><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"></path><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"></path><line x1="10" x2="10" y1="11" y2="17"></line><line x1="14" x2="14" y1="11" y2="17"></line>', 5)
|
17
|
+
]));
|
18
|
+
}
|
19
|
+
const He = /* @__PURE__ */ k(Oe, [["render", Ne]]), Re = {
|
20
|
+
props: {
|
21
|
+
height: { type: String, default: "16" },
|
22
|
+
width: { type: String, default: "12" },
|
23
|
+
color: { type: String, default: "black" }
|
24
|
+
}
|
25
|
+
}, We = { style: { display: "none" } }, Ge = ["height", "width", "fill"];
|
26
|
+
function Ze(t, e, s, i, n, o) {
|
27
|
+
return r(), a($, null, [
|
28
|
+
(r(), a("svg", We, e[0] || (e[0] = [
|
29
|
+
l("symbol", {
|
30
|
+
id: "icon-pencil",
|
31
|
+
viewBox: "0 0 32 32"
|
32
|
+
}, [
|
33
|
+
l("path", { d: "M27 0c2.761 0 5 2.239 5 5 0 1.126-0.372 2.164-1 3l-2 2-7-7 2-2c0.836-0.628 1.874-1 3-1zM2 23l-2 9 9-2 18.5-18.5-7-7-18.5 18.5zM22.362 11.362l-14 14-1.724-1.724 14-14 1.724 1.724z" })
|
34
|
+
], -1)
|
35
|
+
]))),
|
36
|
+
(r(), a("svg", {
|
37
|
+
height: s.height,
|
38
|
+
width: s.width,
|
39
|
+
fill: s.color
|
40
|
+
}, e[1] || (e[1] = [
|
41
|
+
l("use", { "xlink:href": "#icon-pencil" }, null, -1)
|
42
|
+
]), 8, Ge))
|
43
|
+
], 64);
|
44
|
+
}
|
45
|
+
const Je = /* @__PURE__ */ k(Re, [["render", Ze]]), Ke = {
|
5
46
|
data() {
|
6
47
|
return {
|
7
48
|
currentSort: ""
|
@@ -59,10 +100,10 @@ const Ue = {
|
|
59
100
|
return `${this.data.name}-${t}` === this.selectedSortParam;
|
60
101
|
}
|
61
102
|
}
|
62
|
-
},
|
103
|
+
}, Qe = {
|
63
104
|
scope: "col",
|
64
105
|
class: "text-start px-2 py-1"
|
65
|
-
},
|
106
|
+
}, Xe = {
|
66
107
|
class: "flex-shrink-0 size-3.5",
|
67
108
|
xmlns: "http://www.w3.org/2000/svg",
|
68
109
|
width: "24",
|
@@ -73,78 +114,37 @@ const Ue = {
|
|
73
114
|
"stroke-width": "2",
|
74
115
|
"stroke-linecap": "round",
|
75
116
|
"stroke-linejoin": "round"
|
76
|
-
},
|
117
|
+
}, Ye = {
|
77
118
|
key: 0,
|
78
119
|
d: "m7 15 5 5 5-5"
|
79
|
-
},
|
120
|
+
}, et = {
|
80
121
|
key: 1,
|
81
122
|
d: "m7 9 5-5 5 5"
|
82
|
-
},
|
123
|
+
}, tt = {
|
83
124
|
key: 1,
|
84
125
|
class: "text-sm text-stone-500 px-[4px] py-2.5 text-start font-normal text-gray-500"
|
85
126
|
};
|
86
|
-
function
|
87
|
-
return
|
88
|
-
o.getVisibleIcon ? (
|
127
|
+
function nt(t, e, s, i, n, o) {
|
128
|
+
return r(), a("th", Qe, [
|
129
|
+
o.getVisibleIcon ? (r(), a("button", {
|
89
130
|
key: 0,
|
90
131
|
type: "button",
|
91
132
|
class: "text-sm text-stone-500 px-[4px] py-2.5 text-start font-normal text-gray-500 flex items-center gap-[6px]",
|
92
133
|
onClick: e[0] || (e[0] = (u) => o.handleClickSortBtn(n.currentSort))
|
93
134
|
}, [
|
94
|
-
|
95
|
-
(
|
96
|
-
n.currentSort === "asc" || n.currentSort === "" ? (
|
97
|
-
n.currentSort === "desc" || n.currentSort === "" ? (
|
135
|
+
F(A(o.label) + " ", 1),
|
136
|
+
(r(), a("svg", Xe, [
|
137
|
+
n.currentSort === "asc" || n.currentSort === "" ? (r(), a("path", Ye)) : w("", !0),
|
138
|
+
n.currentSort === "desc" || n.currentSort === "" ? (r(), a("path", et)) : w("", !0)
|
98
139
|
]))
|
99
|
-
])) : (
|
140
|
+
])) : (r(), a("p", tt, A(o.label), 1))
|
100
141
|
]);
|
101
142
|
}
|
102
|
-
const
|
103
|
-
class: "flex-shrink-0 size-3.5",
|
104
|
-
xmlns: "http://www.w3.org/2000/svg",
|
105
|
-
viewBox: "0 0 24 24",
|
106
|
-
fill: "none",
|
107
|
-
stroke: "currentColor",
|
108
|
-
"stroke-width": "2",
|
109
|
-
"stroke-linecap": "round",
|
110
|
-
"stroke-linejoin": "round"
|
111
|
-
};
|
112
|
-
function Ke(t, e, s, i, n, o) {
|
113
|
-
return l(), a("svg", Je, e[0] || (e[0] = [
|
114
|
-
j('<path d="M3 6h18"></path><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"></path><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"></path><line x1="10" x2="10" y1="11" y2="17"></line><line x1="14" x2="14" y1="11" y2="17"></line>', 5)
|
115
|
-
]));
|
116
|
-
}
|
117
|
-
const Qe = /* @__PURE__ */ k(Ze, [["render", Ke]]), Xe = {
|
118
|
-
props: {
|
119
|
-
height: { type: String, default: "16" },
|
120
|
-
width: { type: String, default: "12" },
|
121
|
-
color: { type: String, default: "black" }
|
122
|
-
}
|
123
|
-
}, Ye = { style: { display: "none" } }, et = ["height", "width", "fill"];
|
124
|
-
function tt(t, e, s, i, n, o) {
|
125
|
-
return l(), a($, null, [
|
126
|
-
(l(), a("svg", Ye, e[0] || (e[0] = [
|
127
|
-
r("symbol", {
|
128
|
-
id: "icon-pencil",
|
129
|
-
viewBox: "0 0 32 32"
|
130
|
-
}, [
|
131
|
-
r("path", { d: "M27 0c2.761 0 5 2.239 5 5 0 1.126-0.372 2.164-1 3l-2 2-7-7 2-2c0.836-0.628 1.874-1 3-1zM2 23l-2 9 9-2 18.5-18.5-7-7-18.5 18.5zM22.362 11.362l-14 14-1.724-1.724 14-14 1.724 1.724z" })
|
132
|
-
], -1)
|
133
|
-
]))),
|
134
|
-
(l(), a("svg", {
|
135
|
-
height: s.height,
|
136
|
-
width: s.width,
|
137
|
-
fill: s.color
|
138
|
-
}, e[1] || (e[1] = [
|
139
|
-
r("use", { "xlink:href": "#icon-pencil" }, null, -1)
|
140
|
-
]), 8, et))
|
141
|
-
], 64);
|
142
|
-
}
|
143
|
-
const nt = /* @__PURE__ */ k(Xe, [["render", tt]]), st = {
|
143
|
+
const st = /* @__PURE__ */ k(Ke, [["render", nt]]), lt = {
|
144
144
|
components: {
|
145
|
-
IconMore:
|
146
|
-
IconDelete:
|
147
|
-
IconEdit:
|
145
|
+
IconMore: Te,
|
146
|
+
IconDelete: He,
|
147
|
+
IconEdit: Je
|
148
148
|
},
|
149
149
|
emits: ["updateTable"],
|
150
150
|
props: {
|
@@ -170,7 +170,7 @@ const nt = /* @__PURE__ */ k(Xe, [["render", tt]]), st = {
|
|
170
170
|
async getData() {
|
171
171
|
var t;
|
172
172
|
try {
|
173
|
-
const { data: e } = await
|
173
|
+
const { data: e } = await D.get(
|
174
174
|
`/api/table/${this.table}/${(t = this.item) == null ? void 0 : t.id}`
|
175
175
|
);
|
176
176
|
this.formValue = e;
|
@@ -184,10 +184,10 @@ const nt = /* @__PURE__ */ k(Xe, [["render", tt]]), st = {
|
|
184
184
|
async deleteElement() {
|
185
185
|
var t;
|
186
186
|
try {
|
187
|
-
const { data: e } = await
|
187
|
+
const { data: e } = await D.get(
|
188
188
|
`/api/table/${this.table}/${(t = this.item) == null ? void 0 : t.id}`
|
189
189
|
);
|
190
|
-
await
|
190
|
+
await D.delete(`/api/table/${e == null ? void 0 : e.token}`), await this.$notify({
|
191
191
|
title: "Успішно!",
|
192
192
|
message: "Об`єкт успішно видалeно",
|
193
193
|
type: "success"
|
@@ -203,20 +203,20 @@ const nt = /* @__PURE__ */ k(Xe, [["render", tt]]), st = {
|
|
203
203
|
}
|
204
204
|
}
|
205
205
|
}
|
206
|
-
}, rt = { class: "hs-dropdown [--placement:bottom-right] inline-flex" },
|
206
|
+
}, rt = { class: "hs-dropdown [--placement:bottom-right] inline-flex" }, ot = { 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" }, at = { class: "flex flex-col items-start" }, it = {
|
207
207
|
key: 1,
|
208
208
|
class: "h-[1px] w-[80%] bg-gray-200 ml-auto mr-auto"
|
209
|
-
},
|
210
|
-
function
|
209
|
+
}, ct = { class: "p-4" }, ut = { class: "flex justify-end mt-4 gap-x-3" };
|
210
|
+
function dt(t, e, s, i, n, o) {
|
211
211
|
const u = h("IconMore"), b = h("IconEdit"), f = h("router-link"), g = h("IconDelete"), v = h("VsPopover"), c = h("VsDialog");
|
212
|
-
return
|
213
|
-
|
212
|
+
return r(), a($, null, [
|
213
|
+
l("div", rt, [
|
214
214
|
x(v, {
|
215
215
|
trigger: "click",
|
216
216
|
placement: "bottom-left"
|
217
217
|
}, {
|
218
218
|
reference: C(() => [
|
219
|
-
|
219
|
+
l("button", ot, [
|
220
220
|
x(u, {
|
221
221
|
height: "16",
|
222
222
|
width: "16"
|
@@ -224,28 +224,28 @@ function ut(t, e, s, i, n, o) {
|
|
224
224
|
])
|
225
225
|
]),
|
226
226
|
default: C(() => {
|
227
|
-
var m, p, S, y,
|
227
|
+
var m, p, S, y, T;
|
228
228
|
return [
|
229
|
-
|
230
|
-
(m = s.actions) != null && m.includes("edit") && s.isForm ? (
|
229
|
+
l("div", at, [
|
230
|
+
(m = s.actions) != null && m.includes("edit") && s.isForm ? (r(), _(f, {
|
231
231
|
key: 0,
|
232
232
|
to: `/edit?table=${(S = (p = t.$route) == null ? void 0 : p.params) == null ? void 0 : S.catchAll}&id=${(y = s.item) == null ? void 0 : y.id}`,
|
233
233
|
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"
|
234
234
|
}, {
|
235
235
|
default: C(() => [
|
236
236
|
x(b, { color: "#000" }),
|
237
|
-
e[4] || (e[4] =
|
237
|
+
e[4] || (e[4] = F(" Редагувати "))
|
238
238
|
]),
|
239
239
|
_: 1
|
240
240
|
}, 8, ["to"])) : w("", !0),
|
241
|
-
s.isForm ? (
|
242
|
-
(
|
241
|
+
s.isForm ? (r(), a("div", it)) : w("", !0),
|
242
|
+
(T = s.actions) != null && T.includes("del") ? (r(), a("button", {
|
243
243
|
key: 2,
|
244
|
-
onClick: e[0] || (e[0] =
|
244
|
+
onClick: e[0] || (e[0] = Be((...q) => o.openConfirm && o.openConfirm(...q), ["stop"])),
|
245
245
|
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"
|
246
246
|
}, [
|
247
247
|
x(g),
|
248
|
-
e[5] || (e[5] =
|
248
|
+
e[5] || (e[5] = l("span", { class: "text-gray-800" }, "Видалити", -1))
|
249
249
|
])) : w("", !0)
|
250
250
|
])
|
251
251
|
];
|
@@ -260,15 +260,15 @@ function ut(t, e, s, i, n, o) {
|
|
260
260
|
title: "Ви впевнені?"
|
261
261
|
}, {
|
262
262
|
default: C(() => [
|
263
|
-
|
264
|
-
e[6] || (e[6] =
|
265
|
-
|
266
|
-
|
263
|
+
l("div", ct, [
|
264
|
+
e[6] || (e[6] = l("p", { class: "mt-1 text-gray-500 dark:text-neutral-500" }, " Ви впевнені, що хочете видалити цей об'єкт? ", -1)),
|
265
|
+
l("div", ut, [
|
266
|
+
l("button", {
|
267
267
|
type: "button",
|
268
268
|
class: "inline-flex items-center px-3 py-2 text-sm font-medium text-gray-800 bg-white border border-gray-200 rounded-lg shadow-sm gap-x-2 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",
|
269
269
|
onClick: e[1] || (e[1] = (m) => n.isDeleteConfirm = !1)
|
270
270
|
}, " Скасувати "),
|
271
|
-
|
271
|
+
l("button", {
|
272
272
|
type: "button",
|
273
273
|
class: "inline-flex items-center px-3 py-2 text-sm font-semibold text-white bg-red-500 border border-transparent rounded-lg gap-x-2 hover:bg-red-600 disabled:opacity-50 disabled:pointer-events-none",
|
274
274
|
onClick: e[2] || (e[2] = (...m) => o.deleteElement && o.deleteElement(...m))
|
@@ -280,7 +280,7 @@ function ut(t, e, s, i, n, o) {
|
|
280
280
|
}, 8, ["visible"])
|
281
281
|
], 64);
|
282
282
|
}
|
283
|
-
const
|
283
|
+
const ht = /* @__PURE__ */ k(lt, [["render", dt]]), pt = {}, ft = {
|
284
284
|
class: "flex-shrink-0 mt-0.5 size-3.5",
|
285
285
|
xmlns: "http://www.w3.org/2000/svg",
|
286
286
|
viewBox: "0 0 24 24",
|
@@ -290,15 +290,15 @@ const dt = /* @__PURE__ */ k(st, [["render", ut]]), ht = {}, pt = {
|
|
290
290
|
"stroke-linecap": "round",
|
291
291
|
"stroke-linejoin": "round"
|
292
292
|
};
|
293
|
-
function
|
294
|
-
return
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
293
|
+
function bt(t, e, s, i, n, o) {
|
294
|
+
return r(), a("svg", ft, e[0] || (e[0] = [
|
295
|
+
l("path", { d: "m3 16 4 4 4-4" }, null, -1),
|
296
|
+
l("path", { d: "M7 20V4" }, null, -1),
|
297
|
+
l("path", { d: "m21 8-4-4-4 4" }, null, -1),
|
298
|
+
l("path", { d: "M17 4v16" }, null, -1)
|
299
299
|
]));
|
300
300
|
}
|
301
|
-
const
|
301
|
+
const mt = /* @__PURE__ */ k(pt, [["render", bt]]), gt = {}, xt = {
|
302
302
|
xmlns: "http://www.w3.org/2000/svg",
|
303
303
|
width: "24",
|
304
304
|
height: "24",
|
@@ -310,19 +310,19 @@ const bt = /* @__PURE__ */ k(ht, [["render", ft]]), mt = {}, gt = {
|
|
310
310
|
"stroke-linejoin": "round",
|
311
311
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-rosette-discount-check"
|
312
312
|
};
|
313
|
-
function
|
314
|
-
return
|
315
|
-
|
313
|
+
function yt(t, e, s, i, n, o) {
|
314
|
+
return r(), a("svg", xt, e[0] || (e[0] = [
|
315
|
+
l("path", {
|
316
316
|
stroke: "none",
|
317
317
|
d: "M0 0h24v24H0z",
|
318
318
|
fill: "none"
|
319
319
|
}, null, -1),
|
320
|
-
|
321
|
-
|
320
|
+
l("path", { d: "M5 7.2a2.2 2.2 0 0 1 2.2 -2.2h1a2.2 2.2 0 0 0 1.55 -.64l.7 -.7a2.2 2.2 0 0 1 3.12 0l.7 .7c.412 .41 .97 .64 1.55 .64h1a2.2 2.2 0 0 1 2.2 2.2v1c0 .58 .23 1.138 .64 1.55l.7 .7a2.2 2.2 0 0 1 0 3.12l-.7 .7a2.2 2.2 0 0 0 -.64 1.55v1a2.2 2.2 0 0 1 -2.2 2.2h-1a2.2 2.2 0 0 0 -1.55 .64l-.7 .7a2.2 2.2 0 0 1 -3.12 0l-.7 -.7a2.2 2.2 0 0 0 -1.55 -.64h-1a2.2 2.2 0 0 1 -2.2 -2.2v-1a2.2 2.2 0 0 0 -.64 -1.55l-.7 -.7a2.2 2.2 0 0 1 0 -3.12l.7 -.7a2.2 2.2 0 0 0 .64 -1.55v-1" }, null, -1),
|
321
|
+
l("path", { d: "M9 12l2 2l4 -4" }, null, -1)
|
322
322
|
]));
|
323
323
|
}
|
324
|
-
const
|
325
|
-
components: { IconExport:
|
324
|
+
const _t = /* @__PURE__ */ k(gt, [["render", yt]]), kt = {
|
325
|
+
components: { IconExport: mt, IconChevronDown: Ue, IconSuccess: _t },
|
326
326
|
props: {
|
327
327
|
table: String,
|
328
328
|
columns: Array,
|
@@ -375,7 +375,7 @@ const yt = /* @__PURE__ */ k(mt, [["render", xt]]), _t = {
|
|
375
375
|
return;
|
376
376
|
}
|
377
377
|
try {
|
378
|
-
const e = await
|
378
|
+
const e = await D.get("/api/export", {
|
379
379
|
params: {
|
380
380
|
table: this.table,
|
381
381
|
format: this.format,
|
@@ -420,26 +420,26 @@ const yt = /* @__PURE__ */ k(mt, [["render", xt]]), _t = {
|
|
420
420
|
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";
|
421
421
|
}
|
422
422
|
}
|
423
|
-
},
|
423
|
+
}, vt = {
|
424
424
|
key: 0,
|
425
425
|
class: "flex flex-col items-center"
|
426
|
-
},
|
426
|
+
}, wt = {
|
427
427
|
key: 1,
|
428
428
|
class: "p-4"
|
429
|
-
},
|
429
|
+
}, Ct = { class: "pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700" }, $t = { class: "flex items-center" }, St = { class: "flex items-center gap-[10px] ml-auto" }, At = ["onClick"], It = {
|
430
430
|
key: 0,
|
431
431
|
class: "block h-[8px] w-[8px] rounded-full bg-blue-500"
|
432
|
-
},
|
432
|
+
}, Tt = { class: "mt-2 flex row flex-wrap gap-y-[5px] gap-x-[10px]" }, Vt = { class: "pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700" }, Dt = { class: "mt-2 space-y-2" }, Ft = ["id", "onChange"], Mt = ["for"], jt = {
|
433
433
|
key: 0,
|
434
434
|
class: "flex w-full justify-end p-[20px] gap-[6px] border-t"
|
435
|
-
},
|
435
|
+
}, qt = {
|
436
436
|
key: 1,
|
437
437
|
class: "flex w-full justify-end p-[20px] gap-[6px] border-t"
|
438
438
|
};
|
439
|
-
function
|
439
|
+
function Bt(t, e, s, i, n, o) {
|
440
440
|
const u = h("IconExport"), b = h("IconChevronDown"), f = h("IconSuccess"), g = h("VsCheckbox"), v = h("VsDialog");
|
441
|
-
return
|
442
|
-
|
441
|
+
return r(), a($, null, [
|
442
|
+
l("button", {
|
443
443
|
onClick: e[0] || (e[0] = (c) => n.isOpen = !0),
|
444
444
|
class: "py-2 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"
|
445
445
|
}, [
|
@@ -447,7 +447,7 @@ function qt(t, e, s, i, n, o) {
|
|
447
447
|
height: "16",
|
448
448
|
width: "16"
|
449
449
|
}),
|
450
|
-
e[7] || (e[7] =
|
450
|
+
e[7] || (e[7] = F(" Експорт ")),
|
451
451
|
x(b, {
|
452
452
|
height: "12",
|
453
453
|
width: "16"
|
@@ -461,24 +461,24 @@ function qt(t, e, s, i, n, o) {
|
|
461
461
|
closeClickBack: !0
|
462
462
|
}, {
|
463
463
|
footer: C(() => [
|
464
|
-
n.isSuccessTemplate ? (
|
465
|
-
|
464
|
+
n.isSuccessTemplate ? (r(), a("div", jt, [
|
465
|
+
l("button", {
|
466
466
|
type: "button",
|
467
467
|
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",
|
468
468
|
onClick: e[2] || (e[2] = (c) => n.isOpen = !1)
|
469
469
|
}, " Закрити "),
|
470
|
-
|
470
|
+
l("button", {
|
471
471
|
type: "button",
|
472
472
|
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",
|
473
473
|
onClick: e[3] || (e[3] = (c) => n.isSuccessTemplate = !1)
|
474
474
|
}, " Вигрузити ще ")
|
475
|
-
])) : (
|
476
|
-
|
475
|
+
])) : (r(), a("div", qt, [
|
476
|
+
l("button", {
|
477
477
|
type: "button",
|
478
478
|
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",
|
479
479
|
onClick: e[4] || (e[4] = (c) => n.isOpen = !1)
|
480
480
|
}, " Скасувати "),
|
481
|
-
|
481
|
+
l("button", {
|
482
482
|
type: "button",
|
483
483
|
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",
|
484
484
|
onClick: e[5] || (e[5] = (...c) => o.exportTable && o.exportTable(...c))
|
@@ -486,34 +486,34 @@ function qt(t, e, s, i, n, o) {
|
|
486
486
|
]))
|
487
487
|
]),
|
488
488
|
default: C(() => [
|
489
|
-
n.isSuccessTemplate ? (
|
489
|
+
n.isSuccessTemplate ? (r(), a("div", vt, [
|
490
490
|
x(f, {
|
491
491
|
height: "100",
|
492
492
|
width: "100",
|
493
493
|
class: "text-green-200 mb-[20px]"
|
494
494
|
}),
|
495
|
-
e[8] || (e[8] =
|
496
|
-
])) : (
|
497
|
-
|
498
|
-
|
499
|
-
e[9] || (e[9] =
|
500
|
-
|
501
|
-
(
|
495
|
+
e[8] || (e[8] = l("h2", null, "Звіт сформовано і збережено", -1))
|
496
|
+
])) : (r(), a("div", wt, [
|
497
|
+
l("div", Ct, [
|
498
|
+
l("div", $t, [
|
499
|
+
e[9] || (e[9] = l("h2", { class: "text-sm text-gray-500" }, " Виберіть стовпці таблиці для експорту: ", -1)),
|
500
|
+
l("div", St, [
|
501
|
+
(r(!0), a($, null, V(n.actions, (c) => (r(), a("button", {
|
502
502
|
key: c == null ? void 0 : c.name,
|
503
503
|
onClick: c == null ? void 0 : c.function,
|
504
504
|
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"
|
505
505
|
}, [
|
506
|
-
|
506
|
+
l("span", {
|
507
507
|
class: I(["h-[14px] w-[14px] border rounded-full flex items-center justify-center", { "border-blue-500": (c == null ? void 0 : c.name) === n.activeAction }])
|
508
508
|
}, [
|
509
|
-
(c == null ? void 0 : c.name) === n.activeAction ? (
|
509
|
+
(c == null ? void 0 : c.name) === n.activeAction ? (r(), a("span", It)) : w("", !0)
|
510
510
|
], 2),
|
511
|
-
|
512
|
-
], 8,
|
511
|
+
F(" " + A(c == null ? void 0 : c.label), 1)
|
512
|
+
], 8, At))), 128))
|
513
513
|
])
|
514
514
|
]),
|
515
|
-
|
516
|
-
(
|
515
|
+
l("div", Tt, [
|
516
|
+
(r(!0), a($, null, V(s.columns, (c, m) => (r(), a("div", {
|
517
517
|
class: "flex items-center",
|
518
518
|
key: m,
|
519
519
|
style: { width: "calc((100% - 10px) / 2)" }
|
@@ -528,24 +528,24 @@ function qt(t, e, s, i, n, o) {
|
|
528
528
|
]))), 128))
|
529
529
|
])
|
530
530
|
]),
|
531
|
-
|
532
|
-
e[10] || (e[10] =
|
533
|
-
|
534
|
-
(
|
531
|
+
l("div", Vt, [
|
532
|
+
e[10] || (e[10] = l("h2", { class: "text-sm text-gray-500" }, "Виберіть формат таблиці:", -1)),
|
533
|
+
l("div", Dt, [
|
534
|
+
(r(!0), a($, null, V(n.tableFormats, (c, m) => (r(), a("div", {
|
535
535
|
class: "flex items-center",
|
536
536
|
key: m
|
537
537
|
}, [
|
538
|
-
|
538
|
+
l("input", {
|
539
539
|
type: "radio",
|
540
540
|
name: "hs-pro-duecmfm",
|
541
541
|
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",
|
542
542
|
id: c,
|
543
543
|
onChange: (p) => o.selectFormat(c)
|
544
|
-
}, null, 40,
|
545
|
-
|
544
|
+
}, null, 40, Ft),
|
545
|
+
l("label", {
|
546
546
|
for: c,
|
547
547
|
class: "text-sm text-gray-800 ms-3 dark:text-neutral-400"
|
548
|
-
}, " Формат " + A(c), 9,
|
548
|
+
}, " Формат " + A(c), 9, Mt)
|
549
549
|
]))), 128))
|
550
550
|
])
|
551
551
|
])
|
@@ -555,7 +555,7 @@ function qt(t, e, s, i, n, o) {
|
|
555
555
|
}, 8, ["visible"])
|
556
556
|
], 64);
|
557
557
|
}
|
558
|
-
const
|
558
|
+
const zt = /* @__PURE__ */ k(kt, [["render", Bt]]), Pt = {}, Lt = {
|
559
559
|
xmlns: "http://www.w3.org/2000/svg",
|
560
560
|
viewBox: "0 0 24 24",
|
561
561
|
fill: "none",
|
@@ -565,12 +565,12 @@ const Bt = /* @__PURE__ */ k(_t, [["render", qt]]), zt = {}, Pt = {
|
|
565
565
|
"stroke-linejoin": "round",
|
566
566
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-columns"
|
567
567
|
};
|
568
|
-
function
|
569
|
-
return
|
568
|
+
function Ut(t, e, s, i, n, o) {
|
569
|
+
return r(), a("svg", Lt, e[0] || (e[0] = [
|
570
570
|
j('<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)
|
571
571
|
]));
|
572
572
|
}
|
573
|
-
const
|
573
|
+
const Ot = /* @__PURE__ */ k(Pt, [["render", Ut]]), Et = {
|
574
574
|
props: { column: Object },
|
575
575
|
emits: ["update-column"],
|
576
576
|
data() {
|
@@ -587,21 +587,21 @@ const Ut = /* @__PURE__ */ k(zt, [["render", Lt]]), Ot = {
|
|
587
587
|
var t;
|
588
588
|
((t = this.column) == null ? void 0 : t.hidden) !== !0 && (this.value = !0);
|
589
589
|
}
|
590
|
-
},
|
591
|
-
function
|
590
|
+
}, Nt = { class: "flex w-full gap-[8px] items-centr" };
|
591
|
+
function Ht(t, e, s, i, n, o) {
|
592
592
|
var u, b;
|
593
|
-
return
|
594
|
-
z(
|
593
|
+
return r(), a("label", Nt, [
|
594
|
+
z(l("input", {
|
595
595
|
"onUpdate:modelValue": e[0] || (e[0] = (f) => n.value = f),
|
596
596
|
type: "checkbox"
|
597
597
|
}, null, 512), [
|
598
|
-
[
|
598
|
+
[ze, n.value]
|
599
599
|
]),
|
600
|
-
|
600
|
+
F(" " + A(((u = s.column) == null ? void 0 : u.ua) || ((b = s.column) == null ? void 0 : b.title)), 1)
|
601
601
|
]);
|
602
602
|
}
|
603
|
-
const
|
604
|
-
components: { IconColumns:
|
603
|
+
const Rt = /* @__PURE__ */ k(Et, [["render", Ht]]), Wt = {
|
604
|
+
components: { IconColumns: Ot, AdminTableColumnsHiddenItem: Rt },
|
605
605
|
emits: ["update-columns"],
|
606
606
|
props: { columns: Array },
|
607
607
|
methods: {
|
@@ -610,15 +610,15 @@ const Ht = /* @__PURE__ */ k(Ot, [["render", Nt]]), Rt = {
|
|
610
610
|
s[e] = t, this.$emit("update-columns", [...s]);
|
611
611
|
}
|
612
612
|
}
|
613
|
-
},
|
614
|
-
function
|
613
|
+
}, Gt = { class: "py-2 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" }, Zt = { class: "py-[10px] px-[10px] w-[260px]" }, Jt = { class: "flex flex-col gap-[3px] max-h-[400px] w-full 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" };
|
614
|
+
function Kt(t, e, s, i, n, o) {
|
615
615
|
const u = h("IconColumns"), b = h("AdminTableColumnsHiddenItem"), f = h("VsPopover");
|
616
|
-
return
|
616
|
+
return r(), _(f, {
|
617
617
|
trigger: "click",
|
618
618
|
placement: "bottom"
|
619
619
|
}, {
|
620
620
|
reference: C(() => [
|
621
|
-
|
621
|
+
l("button", Gt, [
|
622
622
|
x(u, {
|
623
623
|
height: "20",
|
624
624
|
width: "16"
|
@@ -626,10 +626,10 @@ function Jt(t, e, s, i, n, o) {
|
|
626
626
|
])
|
627
627
|
]),
|
628
628
|
default: C(() => [
|
629
|
-
|
630
|
-
e[0] || (e[0] =
|
631
|
-
|
632
|
-
(
|
629
|
+
l("div", Zt, [
|
630
|
+
e[0] || (e[0] = l("h2", { class: "text-sm mb-[8px]" }, "Оберіть колонки, щоб приховати", -1)),
|
631
|
+
l("ul", Jt, [
|
632
|
+
(r(!0), a($, null, V(s.columns, (g, v) => (r(), a("li", { key: v }, [
|
633
633
|
x(b, {
|
634
634
|
column: g,
|
635
635
|
onUpdateColumn: o.updateColumn
|
@@ -641,33 +641,33 @@ function Jt(t, e, s, i, n, o) {
|
|
641
641
|
_: 1
|
642
642
|
});
|
643
643
|
}
|
644
|
-
const
|
644
|
+
const Qt = /* @__PURE__ */ k(Wt, [["render", Kt]]), Xt = {}, Yt = {
|
645
645
|
class: "hidden sm:block shrink-0 size-3",
|
646
646
|
xmlns: "http://www.w3.org/2000/svg",
|
647
647
|
fill: "currentColor",
|
648
648
|
viewBox: "0 0 16 16"
|
649
649
|
};
|
650
|
-
function
|
651
|
-
return
|
652
|
-
|
650
|
+
function en(t, e, s, i, n, o) {
|
651
|
+
return r(), a("svg", Yt, e[0] || (e[0] = [
|
652
|
+
l("path", {
|
653
653
|
"fill-rule": "evenodd",
|
654
654
|
"clip-rule": "evenodd",
|
655
655
|
d: "M8 1C8.55228 1 9 1.44772 9 2V7L14 7C14.5523 7 15 7.44771 15 8C15 8.55228 14.5523 9 14 9L9 9V14C9 14.5523 8.55228 15 8 15C7.44772 15 7 14.5523 7 14V9.00001L2 9.00001C1.44772 9.00001 1 8.5523 1 8.00001C0.999999 7.44773 1.44771 7.00001 2 7.00001L7 7.00001V2C7 1.44772 7.44772 1 8 1Z"
|
656
656
|
}, null, -1)
|
657
657
|
]));
|
658
658
|
}
|
659
|
-
const
|
660
|
-
function
|
661
|
-
return
|
659
|
+
const ve = /* @__PURE__ */ k(Xt, [["render", en]]), tn = {}, nn = { class: "vs-table-interface__table-wrp w-full rounded h-fit overflow-hidden" };
|
660
|
+
function sn(t, e, s, i, n, o) {
|
661
|
+
return r(), a("div", nn, e[0] || (e[0] = [
|
662
662
|
j('<div><div class="p-5 min-h-[500px] flex flex-col justify-center items-center text-center"><svg class="w-48 mx-auto" viewBox="0 0 178 90" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="27" y="50.5" width="124" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="27" y="50.5" width="124" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-50 dark:stroke-neutral-700/10"></rect><rect x="34.5" y="58" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="61" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="66.5" y="73" width="77" height="6" rx="3" fill="currentColor" class="fill-gray-50 dark:fill-neutral-700/30"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" fill="currentColor" class="fill-white dark:fill-neutral-800"></rect><rect x="19.5" y="28.5" width="139" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/30"></rect><rect x="27" y="36" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="39" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><rect x="59" y="51" width="92" height="6" rx="3" fill="currentColor" class="fill-gray-100 dark:fill-neutral-700/70"></rect><g filter="url(#filter1)"><rect x="12" y="6" width="154" height="40" rx="8" fill="currentColor" class="fill-white dark:fill-neutral-800" shape-rendering="crispEdges"></rect><rect x="12.5" y="6.5" width="153" height="39" rx="7.5" stroke="currentColor" class="stroke-gray-100 dark:stroke-neutral-700/60" shape-rendering="crispEdges"></rect><rect x="20" y="14" width="24" height="24" rx="4" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="17" width="60" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect><rect x="52" y="29" width="106" height="6" rx="3" fill="currentColor" class="fill-gray-200 dark:fill-neutral-700"></rect></g><defs><filter id="filter1" x="0" y="0" width="178" height="64" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"></feFlood><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"></feColorMatrix><feOffset dy="6"></feOffset><feGaussianBlur stdDeviation="6"></feGaussianBlur><feComposite in2="hardAlpha" operator="out"></feComposite><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0"></feColorMatrix><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1187_14810"></feBlend><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_1187_14810" result="shape"></feBlend></filter></defs></svg><div class="max-w-sm mx-auto mt-6"><p class="font-medium text-gray-800 dark:text-neutral-200"> Дані для відображення відсутні </p><p class="mt-2 text-sm text-gray-500 dark:text-neutral-500"> Змініть параметри пошуку або спробуйте пізніше </p></div></div></div>', 1)
|
663
663
|
]));
|
664
664
|
}
|
665
|
-
const
|
665
|
+
const ln = /* @__PURE__ */ k(tn, [["render", sn]]), rn = {
|
666
666
|
props: { row: Object, column: Object, table: String }
|
667
667
|
};
|
668
|
-
function
|
668
|
+
function on(t, e, s, i, n, o) {
|
669
669
|
var u, b, f, g, v, c, m, p;
|
670
|
-
return
|
670
|
+
return r(), _(B(
|
671
671
|
((u = s.column) == null ? void 0 : u.format) === "custom" ? (b = s.column) == null ? void 0 : b.component : `table-format-${((g = (f = s.column) == null ? void 0 : f.format) == null ? void 0 : g.toLowerCase()) || "text"}`
|
672
672
|
), {
|
673
673
|
onUpdateTable: e[0] || (e[0] = (S) => t.$emit("update-table")),
|
@@ -679,7 +679,7 @@ function ln(t, e, s, i, n, o) {
|
|
679
679
|
edit: (p = s.column) == null ? void 0 : p.edit
|
680
680
|
}, null, 40, ["name", "data", "value", "table", "column", "edit"]);
|
681
681
|
}
|
682
|
-
const
|
682
|
+
const we = /* @__PURE__ */ k(rn, [["render", on]]), an = {}, cn = {
|
683
683
|
xmlns: "http://www.w3.org/2000/svg",
|
684
684
|
viewBox: "0 0 24 24",
|
685
685
|
fill: "none",
|
@@ -689,18 +689,18 @@ const ve = /* @__PURE__ */ k(rn, [["render", ln]]), on = {}, an = {
|
|
689
689
|
"stroke-linejoin": "round",
|
690
690
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-minus"
|
691
691
|
};
|
692
|
-
function
|
693
|
-
return
|
694
|
-
|
692
|
+
function un(t, e, s, i, n, o) {
|
693
|
+
return r(), a("svg", cn, e[0] || (e[0] = [
|
694
|
+
l("path", {
|
695
695
|
stroke: "none",
|
696
696
|
d: "M0 0h24v24H0z",
|
697
697
|
fill: "none"
|
698
698
|
}, null, -1),
|
699
|
-
|
699
|
+
l("path", { d: "M5 12l14 0" }, null, -1)
|
700
700
|
]));
|
701
701
|
}
|
702
|
-
const
|
703
|
-
components: { IconPlus:
|
702
|
+
const dn = /* @__PURE__ */ k(an, [["render", un]]), hn = {
|
703
|
+
components: { IconPlus: ve, IconMinus: dn },
|
704
704
|
props: {
|
705
705
|
title: String,
|
706
706
|
defaultValue: { type: Boolean, default: () => !1 }
|
@@ -708,35 +708,35 @@ const un = /* @__PURE__ */ k(on, [["render", cn]]), dn = {
|
|
708
708
|
data() {
|
709
709
|
return { expanded: this.defaultValue };
|
710
710
|
}
|
711
|
-
},
|
712
|
-
function
|
711
|
+
}, pn = { class: "hs-accordion" }, fn = { class: "py-0.5 flex items-center gap-x-0.5 w-full" }, bn = { class: "text-sm font-medium" }, mn = { class: "relative inline-block w-full duration-150 cursor-pointer before:block before:absolute b" };
|
712
|
+
function gn(t, e, s, i, n, o) {
|
713
713
|
const u = h("IconPlus"), b = h("IconMinus");
|
714
|
-
return
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
714
|
+
return r(), a("div", null, [
|
715
|
+
l("div", null, [
|
716
|
+
l("div", pn, [
|
717
|
+
l("div", fn, [
|
718
|
+
l("div", {
|
719
719
|
onClick: e[0] || (e[0] = (f) => n.expanded = !n.expanded),
|
720
720
|
class: "rounded-md cursor-pointer grow"
|
721
721
|
}, [
|
722
|
-
|
722
|
+
l("span", bn, A(s.title), 1)
|
723
723
|
]),
|
724
|
-
|
724
|
+
l("button", {
|
725
725
|
class: "flex items-center justify-center rounded-md size-6 hover:bg-gray-100",
|
726
726
|
onClick: e[1] || (e[1] = (f) => n.expanded = !n.expanded)
|
727
727
|
}, [
|
728
|
-
n.expanded ? (
|
728
|
+
n.expanded ? (r(), _(b, {
|
729
729
|
key: 1,
|
730
730
|
width: "14"
|
731
|
-
})) : (
|
731
|
+
})) : (r(), _(u, { key: 0 }))
|
732
732
|
])
|
733
733
|
]),
|
734
734
|
x(P, { name: "fade" }, {
|
735
735
|
default: C(() => [
|
736
|
-
z(
|
737
|
-
|
736
|
+
z(l("div", mn, [
|
737
|
+
Pe(t.$slots, "default", {}, void 0, !0)
|
738
738
|
], 512), [
|
739
|
-
[
|
739
|
+
[ke, n.expanded]
|
740
740
|
])
|
741
741
|
]),
|
742
742
|
_: 3
|
@@ -745,45 +745,45 @@ function mn(t, e, s, i, n, o) {
|
|
745
745
|
])
|
746
746
|
]);
|
747
747
|
}
|
748
|
-
const
|
748
|
+
const xn = /* @__PURE__ */ k(hn, [["render", gn], ["__scopeId", "data-v-c6318482"]]), yn = {
|
749
749
|
components: {
|
750
|
-
AdminComponentIs:
|
751
|
-
AdminTree:
|
752
|
-
VsNoData:
|
753
|
-
VsWidgetComments:
|
754
|
-
VsWidgetMap:
|
755
|
-
VsWidgetFileList:
|
750
|
+
AdminComponentIs: we,
|
751
|
+
AdminTree: xn,
|
752
|
+
VsNoData: Ve,
|
753
|
+
VsWidgetComments: De,
|
754
|
+
VsWidgetMap: Fe,
|
755
|
+
VsWidgetFileList: Me
|
756
756
|
},
|
757
757
|
props: { table: String, columns: Array, row: Object }
|
758
|
-
},
|
758
|
+
}, _n = {
|
759
759
|
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",
|
760
760
|
style: { height: "calc(100vh - 310px)" }
|
761
|
-
},
|
761
|
+
}, kn = {
|
762
762
|
class: "border-l",
|
763
763
|
style: { height: "calc(100vh - 360px)" }
|
764
|
-
},
|
765
|
-
function
|
764
|
+
}, vn = { class: "flex items-center justify-between py-1 gap-x-4" }, wn = { class: "col-span-1" }, Cn = { class: "inline-flex items-center gap-x-2 text-[13px] text-gray-500 dark:text-neutral-500" }, $n = { class: "col-span-2" }, Sn = { class: "font-medium text-[13px] text-gray-800 dark:text-neutral-200" }, An = { class: "table-info-card" }, In = { class: "table-info-card" };
|
765
|
+
function Tn(t, e, s, i, n, o) {
|
766
766
|
var m, p, S;
|
767
767
|
const u = h("AdminComponentIs"), b = h("AdminTree"), f = h("VsWidgetMap"), g = h("VsNoData"), v = h("VsWidgetComments"), c = h("VsWidgetFileList");
|
768
|
-
return
|
769
|
-
e[0] || (e[0] =
|
770
|
-
|
768
|
+
return r(), a("div", _n, [
|
769
|
+
e[0] || (e[0] = l("div", { class: "p-[10px] pl-[18px] pb-[18px] border-b" }, [
|
770
|
+
l("h2", { class: "text-sm font-medium" }, "Інформація про об'єкт")
|
771
771
|
], -1)),
|
772
|
-
|
773
|
-
(p = (m = t.$route) == null ? void 0 : m.query) != null && p.card ? (
|
774
|
-
s.row ? (
|
772
|
+
l("div", kn, [
|
773
|
+
(p = (m = t.$route) == null ? void 0 : m.query) != null && p.card ? (r(), a($, { key: 0 }, [
|
774
|
+
s.row ? (r(), _(b, {
|
775
775
|
key: 0,
|
776
776
|
defaultValue: !0,
|
777
777
|
title: "Основна інформація",
|
778
778
|
class: "border-b p-[10px] py-[16px]"
|
779
779
|
}, {
|
780
780
|
default: C(() => [
|
781
|
-
(
|
782
|
-
|
783
|
-
|
781
|
+
(r(!0), a($, null, V(s.columns, (y) => (r(), a("dl", vn, [
|
782
|
+
l("dt", wn, [
|
783
|
+
l("p", Cn, A((y == null ? void 0 : y.ua) || (y == null ? void 0 : y.title)) + ": ", 1)
|
784
784
|
]),
|
785
|
-
|
786
|
-
|
785
|
+
l("dd", $n, [
|
786
|
+
l("p", Sn, [
|
787
787
|
x(u, {
|
788
788
|
row: s.row,
|
789
789
|
column: y,
|
@@ -795,19 +795,19 @@ function In(t, e, s, i, n, o) {
|
|
795
795
|
]),
|
796
796
|
_: 1
|
797
797
|
})) : w("", !0),
|
798
|
-
(S = s.row) != null && S.geom ? (
|
798
|
+
(S = s.row) != null && S.geom ? (r(), _(b, {
|
799
799
|
key: 1,
|
800
800
|
title: "Карта",
|
801
801
|
class: "border-b p-[10px] py-[16px]"
|
802
802
|
}, {
|
803
803
|
default: C(() => {
|
804
|
-
var y,
|
804
|
+
var y, T;
|
805
805
|
return [
|
806
|
-
(y = s.row) != null && y.geom ? (
|
806
|
+
(y = s.row) != null && y.geom ? (r(), _(f, {
|
807
807
|
key: 0,
|
808
|
-
geometry: (
|
808
|
+
geometry: (T = s.row) == null ? void 0 : T.geom,
|
809
809
|
zoom: 14
|
810
|
-
}, null, 8, ["geometry"])) : (
|
810
|
+
}, null, 8, ["geometry"])) : (r(), _(g, {
|
811
811
|
key: 1,
|
812
812
|
title: "У об'єкта відсутня геометрія",
|
813
813
|
text: "",
|
@@ -824,7 +824,7 @@ function In(t, e, s, i, n, o) {
|
|
824
824
|
default: C(() => {
|
825
825
|
var y;
|
826
826
|
return [
|
827
|
-
|
827
|
+
l("div", An, [
|
828
828
|
x(v, {
|
829
829
|
id: (y = s.row) == null ? void 0 : y.id
|
830
830
|
}, null, 8, ["id"])
|
@@ -840,7 +840,7 @@ function In(t, e, s, i, n, o) {
|
|
840
840
|
default: C(() => {
|
841
841
|
var y;
|
842
842
|
return [
|
843
|
-
|
843
|
+
l("div", In, [
|
844
844
|
x(c, {
|
845
845
|
id: (y = s.row) == null ? void 0 : y.id
|
846
846
|
}, null, 8, ["id"])
|
@@ -849,14 +849,14 @@ function In(t, e, s, i, n, o) {
|
|
849
849
|
}),
|
850
850
|
_: 1
|
851
851
|
})
|
852
|
-
], 64)) : (
|
852
|
+
], 64)) : (r(), _(g, {
|
853
853
|
key: 1,
|
854
854
|
text: "Оберіть один з об'єктів в таблиці для відображення інформаціі про нього"
|
855
855
|
}))
|
856
856
|
])
|
857
857
|
]);
|
858
858
|
}
|
859
|
-
const
|
859
|
+
const Vn = /* @__PURE__ */ k(yn, [["render", Tn]]), Dn = {}, Fn = {
|
860
860
|
class: "hidden xl:block shrink-0 size-4",
|
861
861
|
xmlns: "http://www.w3.org/2000/svg",
|
862
862
|
viewBox: "0 0 24 24",
|
@@ -866,20 +866,20 @@ const Tn = /* @__PURE__ */ k(xn, [["render", In]]), Vn = {}, Dn = {
|
|
866
866
|
"stroke-linecap": "round",
|
867
867
|
"stroke-linejoin": "round"
|
868
868
|
};
|
869
|
-
function
|
870
|
-
return
|
871
|
-
|
869
|
+
function Mn(t, e, s, i, n, o) {
|
870
|
+
return r(), a("svg", Fn, e[0] || (e[0] = [
|
871
|
+
l("rect", {
|
872
872
|
width: "18",
|
873
873
|
height: "18",
|
874
874
|
x: "3",
|
875
875
|
y: "3",
|
876
876
|
rx: "2"
|
877
877
|
}, null, -1),
|
878
|
-
|
879
|
-
|
878
|
+
l("path", { d: "M15 3v18" }, null, -1),
|
879
|
+
l("path", { d: "m8 9 3 3-3 3" }, null, -1)
|
880
880
|
]));
|
881
881
|
}
|
882
|
-
const
|
882
|
+
const jn = /* @__PURE__ */ k(Dn, [["render", Mn]]), qn = {}, Bn = {
|
883
883
|
class: "h21yx vs0hq",
|
884
884
|
xmlns: "http://www.w3.org/2000/svg",
|
885
885
|
width: "24",
|
@@ -891,15 +891,15 @@ const Mn = /* @__PURE__ */ k(Vn, [["render", Fn]]), jn = {}, qn = {
|
|
891
891
|
"stroke-linecap": "round",
|
892
892
|
"stroke-linejoin": "round"
|
893
893
|
};
|
894
|
-
function
|
895
|
-
return
|
894
|
+
function zn(t, e, s, i, n, o) {
|
895
|
+
return r(), a("svg", Bn, e[0] || (e[0] = [
|
896
896
|
j('<line x1="21" x2="14" y1="4" y2="4"></line><line x1="10" x2="3" y1="4" y2="4"></line><line x1="21" x2="12" y1="12" y2="12"></line><line x1="8" x2="3" y1="12" y2="12"></line><line x1="21" x2="16" y1="20" y2="20"></line><line x1="12" x2="3" y1="20" y2="20"></line><line x1="14" x2="14" y1="2" y2="6"></line><line x1="8" x2="8" y1="10" y2="14"></line><line x1="16" x2="16" y1="18" y2="22"></line>', 9)
|
897
897
|
]));
|
898
898
|
}
|
899
|
-
const
|
899
|
+
const Pn = /* @__PURE__ */ k(qn, [["render", zn]]), Ln = {
|
900
900
|
emits: ["filterChange"],
|
901
901
|
props: { scheme: { type: Object }, onFilters: { type: Number } },
|
902
|
-
components: { IconFilter:
|
902
|
+
components: { IconFilter: Pn },
|
903
903
|
data() {
|
904
904
|
return {
|
905
905
|
isFilters: !1
|
@@ -910,14 +910,14 @@ const zn = /* @__PURE__ */ k(jn, [["render", Bn]]), Pn = {
|
|
910
910
|
this.isFilters && t.classList.contains("filter-container") && (this.isFilters = !1);
|
911
911
|
}
|
912
912
|
}
|
913
|
-
},
|
913
|
+
}, Un = {
|
914
914
|
key: 0,
|
915
915
|
class: "font-medium text-[10px] py-0.5 px-[5px] bg-gray-800 text-white leading-3 rounded-full dark:bg-neutral-500"
|
916
|
-
},
|
917
|
-
function
|
916
|
+
}, On = { class: "filter-content h-screen bg-white w-[400px] p-[20px] pt-[10px] overflow-x-auto bg-white [&::-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" };
|
917
|
+
function En(t, e, s, i, n, o) {
|
918
918
|
const u = h("IconFilter"), b = h("VsFilter");
|
919
|
-
return
|
920
|
-
|
919
|
+
return r(), a($, null, [
|
920
|
+
l("button", {
|
921
921
|
onClick: e[0] || (e[0] = (f) => n.isFilters = !n.isFilters),
|
922
922
|
class: "py-2 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"
|
923
923
|
}, [
|
@@ -925,20 +925,20 @@ function On(t, e, s, i, n, o) {
|
|
925
925
|
height: "16",
|
926
926
|
width: "16"
|
927
927
|
}),
|
928
|
-
e[4] || (e[4] =
|
929
|
-
s.onFilters ? (
|
928
|
+
e[4] || (e[4] = F(" Фільтри ")),
|
929
|
+
s.onFilters ? (r(), a("span", Un, A(s.onFilters), 1)) : w("", !0)
|
930
930
|
]),
|
931
931
|
x(P, { name: "fade" }, {
|
932
932
|
default: C(() => {
|
933
933
|
var f;
|
934
934
|
return [
|
935
|
-
z(
|
935
|
+
z(l("div", {
|
936
936
|
onClick: e[3] || (e[3] = (...g) => o.closeFilter && o.closeFilter(...g)),
|
937
937
|
style: { height: "100vh" },
|
938
938
|
class: "fixed filter-container top-0 flex justify-end items-center z-[2] right-0 left-0 bottom-0 bg-[rgba(0,0,0,0.5)]"
|
939
939
|
}, [
|
940
|
-
|
941
|
-
(f = s.scheme) != null && f.length ? (
|
940
|
+
l("div", On, [
|
941
|
+
(f = s.scheme) != null && f.length ? (r(), _(b, {
|
942
942
|
key: 0,
|
943
943
|
ref: "filter",
|
944
944
|
scheme: s.scheme,
|
@@ -952,7 +952,7 @@ function On(t, e, s, i, n, o) {
|
|
952
952
|
}, null, 8, ["scheme"])) : w("", !0)
|
953
953
|
])
|
954
954
|
], 512), [
|
955
|
-
[
|
955
|
+
[ke, n.isFilters]
|
956
956
|
])
|
957
957
|
];
|
958
958
|
}),
|
@@ -960,25 +960,25 @@ function On(t, e, s, i, n, o) {
|
|
960
960
|
})
|
961
961
|
], 64);
|
962
962
|
}
|
963
|
-
const
|
963
|
+
const Nn = /* @__PURE__ */ k(Ln, [["render", En]]), Hn = {
|
964
964
|
props: { tabsList: { type: Array, default: () => [] }, filterState: String }
|
965
|
-
},
|
965
|
+
}, Rn = {
|
966
966
|
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",
|
967
967
|
"aria-label": "Tabs",
|
968
968
|
role: "tablist",
|
969
969
|
"aria-orientation": "horizontal"
|
970
|
-
},
|
971
|
-
function
|
972
|
-
return
|
973
|
-
(
|
970
|
+
}, Wn = ["onClick"];
|
971
|
+
function Gn(t, e, s, i, n, o) {
|
972
|
+
return r(), a("nav", Rn, [
|
973
|
+
(r(!0), a($, null, V(s.tabsList, (u) => (r(), a("button", {
|
974
974
|
onClick: (b) => t.$emit("update:filterState", u == null ? void 0 : u.name),
|
975
975
|
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", {
|
976
976
|
" 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
|
977
977
|
}])
|
978
|
-
}, A(u == null ? void 0 : u.label), 11,
|
978
|
+
}, A(u == null ? void 0 : u.label), 11, Wn))), 256))
|
979
979
|
]);
|
980
980
|
}
|
981
|
-
const
|
981
|
+
const Zn = /* @__PURE__ */ k(Hn, [["render", Gn]]), Jn = {}, Kn = {
|
982
982
|
xmlns: "http://www.w3.org/2000/svg",
|
983
983
|
viewBox: "0 0 24 24",
|
984
984
|
fill: "none",
|
@@ -988,28 +988,28 @@ const Gn = /* @__PURE__ */ k(Nn, [["render", Wn]]), Zn = {}, Jn = {
|
|
988
988
|
"stroke-linejoin": "round",
|
989
989
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-filter"
|
990
990
|
};
|
991
|
-
function
|
992
|
-
return
|
993
|
-
|
991
|
+
function Qn(t, e, s, i, n, o) {
|
992
|
+
return r(), a("svg", Kn, e[0] || (e[0] = [
|
993
|
+
l("path", {
|
994
994
|
stroke: "none",
|
995
995
|
d: "M0 0h24v24H0z",
|
996
996
|
fill: "none"
|
997
997
|
}, null, -1),
|
998
|
-
|
998
|
+
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)
|
999
999
|
]));
|
1000
1000
|
}
|
1001
|
-
const
|
1002
|
-
components: { IconFilter2:
|
1001
|
+
const Xn = /* @__PURE__ */ k(Jn, [["render", Qn]]), Yn = {
|
1002
|
+
components: { IconFilter2: Xn },
|
1003
1003
|
props: { filterCustom: String, customList: Array }
|
1004
|
-
},
|
1005
|
-
function
|
1004
|
+
}, es = { class: "py-2 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" }, ts = { class: "flex flex-col gap-[4px]" }, ns = ["onClick"];
|
1005
|
+
function ss(t, e, s, i, n, o) {
|
1006
1006
|
const u = h("IconFilter2"), b = h("VsPopover");
|
1007
|
-
return
|
1007
|
+
return r(), _(b, {
|
1008
1008
|
ref: "popover",
|
1009
1009
|
placement: "bottom"
|
1010
1010
|
}, {
|
1011
1011
|
reference: C(() => [
|
1012
|
-
|
1012
|
+
l("button", es, [
|
1013
1013
|
x(u, {
|
1014
1014
|
height: "20",
|
1015
1015
|
width: "20"
|
@@ -1017,16 +1017,16 @@ function ns(t, e, s, i, n, o) {
|
|
1017
1017
|
])
|
1018
1018
|
]),
|
1019
1019
|
default: C(() => [
|
1020
|
-
|
1021
|
-
(
|
1020
|
+
l("div", ts, [
|
1021
|
+
(r(!0), a($, null, V(s.customList, (f, g) => (r(), a("button", {
|
1022
1022
|
onClick: (v) => {
|
1023
1023
|
var c;
|
1024
1024
|
t.$emit("update:filterCustom", f == null ? void 0 : f.name), (c = t.$refs) == null || c.popover.togglePopover();
|
1025
1025
|
},
|
1026
1026
|
key: g,
|
1027
1027
|
class: I(["p-[8px] block rounded-lg w-[140px] text-start hover:bg-gray-100 !duration-300", { "bg-gray-100": s.filterCustom === (f == null ? void 0 : f.name) }])
|
1028
|
-
}, A(f == null ? void 0 : f.label), 11,
|
1029
|
-
|
1028
|
+
}, A(f == null ? void 0 : f.label), 11, ns))), 128)),
|
1029
|
+
l("button", {
|
1030
1030
|
class: "p-[8px] block rounded-lg w-[140px] text-start hover:bg-gray-100 !duration-300",
|
1031
1031
|
onClick: e[0] || (e[0] = (f) => {
|
1032
1032
|
var g;
|
@@ -1038,14 +1038,14 @@ function ns(t, e, s, i, n, o) {
|
|
1038
1038
|
_: 1
|
1039
1039
|
}, 512);
|
1040
1040
|
}
|
1041
|
-
const
|
1041
|
+
const ls = /* @__PURE__ */ k(Yn, [["render", ss]]), rs = { class: "flex items-center gap-x-2" }, os = {
|
1042
1042
|
__name: "admin-table-custom-buttons",
|
1043
1043
|
props: {
|
1044
1044
|
slots: Object
|
1045
1045
|
},
|
1046
1046
|
setup(t) {
|
1047
1047
|
var b, f, g, v, c;
|
1048
|
-
const { asyncTemplateSlot: e } = (c = (v = (g = (f = (b =
|
1048
|
+
const { asyncTemplateSlot: e } = (c = (v = (g = (f = (b = Le()) == null ? void 0 : b.appContext) == null ? void 0 : f.app) == null ? void 0 : g.config) == null ? void 0 : v.globalProperties) == null ? void 0 : c.utils, s = ye(""), i = ye(""), n = t, o = () => {
|
1049
1049
|
var m;
|
1050
1050
|
if (n.slots.panelLeft.includes("<")) {
|
1051
1051
|
const p = e("PanelLeft", (m = n.slots) == null ? void 0 : m.panelLeft, [
|
@@ -1064,35 +1064,35 @@ const ss = /* @__PURE__ */ k(Xn, [["render", ns]]), rs = { class: "flex items-ce
|
|
1064
1064
|
} else
|
1065
1065
|
s.value = n.slots.panelRight;
|
1066
1066
|
};
|
1067
|
-
return o(), u(), (m, p) => (
|
1068
|
-
(
|
1069
|
-
(
|
1067
|
+
return o(), u(), (m, p) => (r(), a("div", rs, [
|
1068
|
+
(r(), _(B(i.value))),
|
1069
|
+
(r(), _(B(s.value)))
|
1070
1070
|
]));
|
1071
1071
|
}
|
1072
|
-
},
|
1072
|
+
}, as = (t, e = 300) => {
|
1073
1073
|
let s;
|
1074
1074
|
return function(...i) {
|
1075
1075
|
clearTimeout(s), s = setTimeout(() => {
|
1076
1076
|
t.apply(this, i);
|
1077
1077
|
}, e);
|
1078
1078
|
};
|
1079
|
-
},
|
1079
|
+
}, is = {
|
1080
1080
|
props: { table: String, title: String },
|
1081
1081
|
components: {
|
1082
|
-
AdminTableControl:
|
1083
|
-
AdminTableExport:
|
1084
|
-
AdminTableColumnsHidden:
|
1085
|
-
AdminTableColumn:
|
1086
|
-
AdminNodata:
|
1087
|
-
IconPlus:
|
1088
|
-
IconSearch:
|
1089
|
-
AdminTableCardInfo:
|
1090
|
-
IconOpenCard:
|
1091
|
-
AdminComponentIs:
|
1092
|
-
AdminTableFilters:
|
1093
|
-
AdminTableTabs:
|
1094
|
-
AdminTableCustomFilters:
|
1095
|
-
AdminTableCustomButtons:
|
1082
|
+
AdminTableControl: ht,
|
1083
|
+
AdminTableExport: zt,
|
1084
|
+
AdminTableColumnsHidden: Qt,
|
1085
|
+
AdminTableColumn: st,
|
1086
|
+
AdminNodata: ln,
|
1087
|
+
IconPlus: ve,
|
1088
|
+
IconSearch: je,
|
1089
|
+
AdminTableCardInfo: Vn,
|
1090
|
+
IconOpenCard: jn,
|
1091
|
+
AdminComponentIs: we,
|
1092
|
+
AdminTableFilters: Nn,
|
1093
|
+
AdminTableTabs: Zn,
|
1094
|
+
AdminTableCustomFilters: ls,
|
1095
|
+
AdminTableCustomButtons: os
|
1096
1096
|
},
|
1097
1097
|
data() {
|
1098
1098
|
return {
|
@@ -1148,7 +1148,7 @@ const ss = /* @__PURE__ */ k(Xn, [["render", ns]]), rs = { class: "flex items-ce
|
|
1148
1148
|
this.tableData = null, await this.getTableData();
|
1149
1149
|
},
|
1150
1150
|
searchValue: {
|
1151
|
-
handler:
|
1151
|
+
handler: as(async function(t) {
|
1152
1152
|
var e;
|
1153
1153
|
await this.getTableData(), this.$router.push({
|
1154
1154
|
...this.$route,
|
@@ -1194,8 +1194,8 @@ const ss = /* @__PURE__ */ k(Xn, [["render", ns]]), rs = { class: "flex items-ce
|
|
1194
1194
|
},
|
1195
1195
|
methods: {
|
1196
1196
|
async checkUrlMounted() {
|
1197
|
-
var t, e, s, i, n, o, u, b, f, g, v, c, m, p, S, y;
|
1198
|
-
this.page = ((e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.page) || 1, this.limit = ((i = (s = this.$route) == null ? void 0 : s.query) == null ? void 0 : i.limit) || 20, this.filters = decodeURI((o = (n = this.$route) == null ? void 0 : n.query) == null ? void 0 : o.filter)
|
1197
|
+
var t, e, s, i, n, o, u, b, f, g, v, c, m, p, S, y, T;
|
1198
|
+
this.page = ((e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.page) || 1, this.limit = ((i = (s = this.$route) == null ? void 0 : s.query) == null ? void 0 : i.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.filterState = ((f = (b = this.$route) == null ? void 0 : b.query) == null ? void 0 : f.filterState) || null, this.filterCustom = ((v = (g = this.$route) == null ? void 0 : g.query) == null ? void 0 : v.custom) || null, this.searchValue = ((m = (c = this.$route) == null ? void 0 : c.query) == null ? void 0 : m.search) || "", this.visibleColumns = ((y = (S = (p = this.$route) == null ? void 0 : p.query) == null ? void 0 : S.columns) == null ? void 0 : y.split(",")) || [], (T = this.$route) != null && T.query.card && (this.isVisibleCardInfo = !0);
|
1199
1199
|
},
|
1200
1200
|
rowWidth(t) {
|
1201
1201
|
var s, i;
|
@@ -1211,7 +1211,7 @@ const ss = /* @__PURE__ */ k(Xn, [["render", ns]]), rs = { class: "flex items-ce
|
|
1211
1211
|
async getTableData() {
|
1212
1212
|
var t, e, s, i, n, o, u, b, f, g, v;
|
1213
1213
|
try {
|
1214
|
-
const { data: c } = await
|
1214
|
+
const { data: c } = await D.get(`/api/template/table/${this.table}`), m = await D.get(`/api/table-data/${this.table}`, {
|
1215
1215
|
params: {
|
1216
1216
|
page: this.page,
|
1217
1217
|
search: this.searchValue || null,
|
@@ -1235,7 +1235,7 @@ const ss = /* @__PURE__ */ k(Xn, [["render", ns]]), rs = { class: "flex items-ce
|
|
1235
1235
|
async getFilters() {
|
1236
1236
|
var t;
|
1237
1237
|
try {
|
1238
|
-
const { data: e } = await
|
1238
|
+
const { data: e } = await D.get(`/api/table-filter/${this.table}`);
|
1239
1239
|
this.filterScheme = (t = e == null ? void 0 : e.list) == null ? void 0 : t.map((s) => ({
|
1240
1240
|
...s,
|
1241
1241
|
label: (s == null ? void 0 : s.label) || (s == null ? void 0 : s.ua)
|
@@ -1276,26 +1276,26 @@ const ss = /* @__PURE__ */ k(Xn, [["render", ns]]), rs = { class: "flex items-ce
|
|
1276
1276
|
});
|
1277
1277
|
}
|
1278
1278
|
}
|
1279
|
-
},
|
1279
|
+
}, cs = { class: "w-[calc(100vw - 320px)] bg-gray-50" }, us = { class: "h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white border rounded-xl" }, ds = { class: "text-xl font-medium" }, hs = {
|
1280
1280
|
style: { height: "calc(100vh - 155px)", width: "calc(100vw - 260px)" },
|
1281
1281
|
class: "bg-gray-50 p-[20px] flex pt-[10px]"
|
1282
|
-
},
|
1282
|
+
}, ps = { class: "bg-white w-full rounded-xl border p-[20px] pr-0" }, fs = { class: "flex" }, bs = { class: "flex gap-[6px] ml-auto" }, ms = { class: "inline-block w-full align-middle" }, gs = {
|
1283
1283
|
key: 0,
|
1284
1284
|
class: "relative min-w-full divide-y divide-gray-200 table-fixed dark:divide-neutral-700"
|
1285
|
-
},
|
1285
|
+
}, xs = { class: "sticky top-[-1px] bg-white w-full after:absolute after:content-[''] after:block after:w-full after:h-px after:bg-stone-200" }, ys = { class: "right-0 border-t border-stone-200" }, _s = {
|
1286
1286
|
key: 0,
|
1287
1287
|
class: "w-[70px] sticky right-0 top-0"
|
1288
|
-
},
|
1288
|
+
}, ks = { class: "divide-y divide-gray-200" }, vs = { class: "px-4 py-3 text-sm text-gray-600" }, ws = ["onClick"], Cs = ["onClick"], $s = { class: "p-[20px] flex justify-start items-center w-full" }, Ss = { class: "w-[200px]" }, As = { class: "text-sm text-gray-600 dark:text-neutral-400" }, Is = { class: "font-semibold text-gray-800 dark:text-neutral-200" }, Ts = { key: 0 }, Vs = {
|
1289
1289
|
key: 0,
|
1290
1290
|
class: "font-semibold text-gray-800 dark:text-neutral-200"
|
1291
1291
|
};
|
1292
|
-
function
|
1293
|
-
var U, O, E, N, H, R, W, G, Z, J, K, Q, X, Y, ee, te, ne, se, re,
|
1294
|
-
const u = h("IconPlus"), b = h("router-link"), f = h("AdminTableTabs"), g = h("IconSearch"), v = h("VsText"), c = h("AdminTableCustomButtons"), m = h("AdminTableCustomFilters"), p = h("AdminTableColumnsHidden"), S = h("AdminTableExport"), y = h("AdminTableFilters"),
|
1295
|
-
return
|
1296
|
-
|
1297
|
-
|
1298
|
-
o.isForm ? (
|
1292
|
+
function Ds(t, e, s, i, n, o) {
|
1293
|
+
var U, O, E, N, H, R, W, G, Z, J, K, Q, X, Y, ee, te, ne, se, le, re, oe, ae;
|
1294
|
+
const u = h("IconPlus"), b = h("router-link"), f = h("AdminTableTabs"), g = h("IconSearch"), v = h("VsText"), c = h("AdminTableCustomButtons"), m = h("AdminTableCustomFilters"), p = h("AdminTableColumnsHidden"), S = h("AdminTableExport"), y = h("AdminTableFilters"), T = h("IconOpenCard"), q = h("AdminTableColumn"), L = h("AdminComponentIs"), Ce = h("AdminTableControl"), $e = h("AdminNodata"), Se = h("VsPagination"), Ae = h("AdminTableCardInfo");
|
1295
|
+
return r(), a("div", cs, [
|
1296
|
+
l("div", us, [
|
1297
|
+
l("h2", ds, A(s.title), 1),
|
1298
|
+
o.isForm ? (r(), _(b, {
|
1299
1299
|
key: 0,
|
1300
1300
|
to: `/add?table=${(O = (U = t.$route) == null ? void 0 : U.params) == null ? void 0 : O.catchAll}`,
|
1301
1301
|
class: "inline-flex items-center px-3 py-2 text-sm font-medium text-white duration-300 bg-blue-600 border border-transparent rounded-lg gap-x-2 hover:bg-blue-700 hover:text-white"
|
@@ -1305,24 +1305,24 @@ function Vs(t, e, s, i, n, o) {
|
|
1305
1305
|
height: "16",
|
1306
1306
|
width: "16"
|
1307
1307
|
}),
|
1308
|
-
e[5] || (e[5] =
|
1308
|
+
e[5] || (e[5] = F(" Додати "))
|
1309
1309
|
]),
|
1310
1310
|
_: 1
|
1311
1311
|
}, 8, ["to"])) : w("", !0)
|
1312
1312
|
]),
|
1313
|
-
|
1314
|
-
|
1315
|
-
(N = (E = n.tableData) == null ? void 0 : E.filterState) != null && N.length ? (
|
1313
|
+
l("div", hs, [
|
1314
|
+
l("div", ps, [
|
1315
|
+
(N = (E = n.tableData) == null ? void 0 : E.filterState) != null && N.length ? (r(), _(f, {
|
1316
1316
|
key: 0,
|
1317
1317
|
tabsList: (H = n.tableData) == null ? void 0 : H.filterState,
|
1318
1318
|
filterState: n.filterState,
|
1319
1319
|
"onUpdate:filterState": e[0] || (e[0] = (d) => n.filterState = d)
|
1320
1320
|
}, null, 8, ["tabsList", "filterState"])) : w("", !0),
|
1321
|
-
|
1322
|
-
|
1321
|
+
l("div", fs, [
|
1322
|
+
l("div", {
|
1323
1323
|
class: I([n.isVisibleCardInfo ? "w-[calc(100%-360px)]" : "w-full"])
|
1324
1324
|
}, [
|
1325
|
-
|
1325
|
+
l("div", {
|
1326
1326
|
class: I(["flex sm:grid sm:grid-cols-2 gap-x-2 sm:gap-x-5 mb-[10px] relative", { "pr-[20px]": !n.isVisibleCardInfo }])
|
1327
1327
|
}, [
|
1328
1328
|
x(g, {
|
@@ -1337,12 +1337,12 @@ function Vs(t, e, s, i, n, o) {
|
|
1337
1337
|
clearable: !0,
|
1338
1338
|
class: "[&>input]:py-[7px] [&>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"
|
1339
1339
|
}, null, 8, ["modelValue"]),
|
1340
|
-
|
1341
|
-
(R = n.tableData) != null && R.slots ? (
|
1340
|
+
l("div", bs, [
|
1341
|
+
(R = n.tableData) != null && R.slots ? (r(), _(c, {
|
1342
1342
|
key: 0,
|
1343
1343
|
slots: (W = n.tableData) == null ? void 0 : W.slots
|
1344
1344
|
}, null, 8, ["slots"])) : w("", !0),
|
1345
|
-
(Z = (G = n.tableData) == null ? void 0 : G.filterCustom) != null && Z.length ? (
|
1345
|
+
(Z = (G = n.tableData) == null ? void 0 : G.filterCustom) != null && Z.length ? (r(), _(m, {
|
1346
1346
|
key: 1,
|
1347
1347
|
customList: (J = n.tableData) == null ? void 0 : J.filterCustom,
|
1348
1348
|
filterCustom: n.filterCustom,
|
@@ -1360,38 +1360,38 @@ function Vs(t, e, s, i, n, o) {
|
|
1360
1360
|
"filter-custom": n.filterCustom,
|
1361
1361
|
filters: n.filters
|
1362
1362
|
}, null, 8, ["table", "columns", "page", "filter-state", "filter-custom", "filters"]),
|
1363
|
-
(X = n.filterScheme) != null && X.length ? (
|
1363
|
+
(X = n.filterScheme) != null && X.length ? (r(), _(y, {
|
1364
1364
|
key: 2,
|
1365
1365
|
scheme: n.filterScheme,
|
1366
1366
|
onFilters: n.onFilters,
|
1367
1367
|
onFilterChange: o.filterChange
|
1368
1368
|
}, null, 8, ["scheme", "onFilters", "onFilterChange"])) : w("", !0),
|
1369
|
-
|
1369
|
+
l("button", {
|
1370
1370
|
onClick: e[4] || (e[4] = (...d) => o.toggleCardInfo && o.toggleCardInfo(...d)),
|
1371
1371
|
class: "py-2 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"
|
1372
1372
|
}, [
|
1373
|
-
x(
|
1373
|
+
x(T, {
|
1374
1374
|
class: I({ "rotate-180 duration-300": !n.isVisibleCardInfo })
|
1375
1375
|
}, null, 8, ["class"])
|
1376
1376
|
])
|
1377
1377
|
])
|
1378
1378
|
], 2),
|
1379
|
-
|
1379
|
+
l("div", {
|
1380
1380
|
class: I(["flex items-start justify-start w-full space-y-5", { "pr-[20px]": !n.isVisibleCardInfo }])
|
1381
1381
|
}, [
|
1382
|
-
|
1383
|
-
style:
|
1382
|
+
l("div", {
|
1383
|
+
style: _e({
|
1384
1384
|
height: (ee = (Y = n.tableData) == null ? void 0 : Y.filterState) != null && ee.length ? "calc(100vh - 370px)" : "calc(100vh - 330px)"
|
1385
1385
|
}),
|
1386
1386
|
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"
|
1387
1387
|
}, [
|
1388
|
-
|
1389
|
-
o.isNoData ? (
|
1390
|
-
|
1391
|
-
|
1392
|
-
(
|
1388
|
+
l("div", ms, [
|
1389
|
+
o.isNoData ? (r(), _($e, { key: 1 })) : (r(), a("table", gs, [
|
1390
|
+
l("thead", xs, [
|
1391
|
+
l("tr", ys, [
|
1392
|
+
(r(!0), a($, null, V(o.columns, (d) => (r(), _(q, {
|
1393
1393
|
key: d.name,
|
1394
|
-
style:
|
1394
|
+
style: _e({
|
1395
1395
|
width: o.rowWidth(d == null ? void 0 : d.name),
|
1396
1396
|
textAlign: d == null ? void 0 : d.align,
|
1397
1397
|
wordBreak: d == null ? void 0 : d.wrap
|
@@ -1400,23 +1400,23 @@ function Vs(t, e, s, i, n, o) {
|
|
1400
1400
|
activeColumn: n.activeColumn,
|
1401
1401
|
onChangeActive: o.changeActiveColumn
|
1402
1402
|
}, null, 8, ["style", "data", "activeColumn", "onChangeActive"]))), 128)),
|
1403
|
-
(ne = (te = o.getActions) == null ? void 0 : te.filter((d) => d !== "add")) != null && ne.length ? (
|
1403
|
+
(ne = (te = o.getActions) == null ? void 0 : te.filter((d) => d !== "add")) != null && ne.length ? (r(), a("th", _s)) : w("", !0)
|
1404
1404
|
])
|
1405
1405
|
]),
|
1406
|
-
|
1407
|
-
(
|
1408
|
-
var
|
1409
|
-
return
|
1410
|
-
key:
|
1406
|
+
l("tbody", ks, [
|
1407
|
+
(r(!0), a($, null, V((se = n.tableData) == null ? void 0 : se.rows, (d, Ie) => {
|
1408
|
+
var ie, ce, ue, de, he, pe, fe, be, me, ge;
|
1409
|
+
return r(), a("tr", {
|
1410
|
+
key: Ie,
|
1411
1411
|
class: I({
|
1412
|
-
"bg-gray-50": ((
|
1412
|
+
"bg-gray-50": ((ce = (ie = t.$route) == null ? void 0 : ie.query) == null ? void 0 : ce.card) === (d == null ? void 0 : d.id)
|
1413
1413
|
})
|
1414
1414
|
}, [
|
1415
|
-
|
1416
|
-
|
1415
|
+
l("td", vs, [
|
1416
|
+
l("button", {
|
1417
1417
|
onClick: () => o.pushToCard(d == null ? void 0 : d.id),
|
1418
1418
|
class: I(["text-sm font-medium", [
|
1419
|
-
((
|
1419
|
+
((ue = n.tableData) == null ? void 0 : ue.card) === !1 ? "" : "text-blue-600 decoration-2 focus:outline-none focus:underline hover:text-blue-600 hover:underline"
|
1420
1420
|
]])
|
1421
1421
|
}, [
|
1422
1422
|
x(L, {
|
@@ -1425,10 +1425,10 @@ function Vs(t, e, s, i, n, o) {
|
|
1425
1425
|
table: s.table,
|
1426
1426
|
onUpdateTable: o.getTableData
|
1427
1427
|
}, null, 8, ["row", "column", "table", "onUpdateTable"])
|
1428
|
-
], 10,
|
1428
|
+
], 10, ws)
|
1429
1429
|
]),
|
1430
|
-
(
|
1431
|
-
onClick: (
|
1430
|
+
(r(!0), a($, null, V((de = o.columns) == null ? void 0 : de.slice(1), (M) => (r(), a("td", {
|
1431
|
+
onClick: (Bs) => o.changeActiveCardInfo(d == null ? void 0 : d.id),
|
1432
1432
|
class: I(["px-3 py-3 text-sm text-gray-600 text-start whitespace-nowrap", { "cursor-pointer": n.isVisibleCardInfo }]),
|
1433
1433
|
key: M.name
|
1434
1434
|
}, [
|
@@ -1438,15 +1438,15 @@ function Vs(t, e, s, i, n, o) {
|
|
1438
1438
|
table: s.table,
|
1439
1439
|
onUpdateTable: o.getTableData
|
1440
1440
|
}, null, 8, ["row", "column", "table", "onUpdateTable"])
|
1441
|
-
], 10,
|
1442
|
-
(
|
1441
|
+
], 10, Cs))), 128)),
|
1442
|
+
(pe = (he = o.getActions) == null ? void 0 : he.filter((M) => M !== "add")) != null && pe.length ? (r(), a("td", {
|
1443
1443
|
key: 0,
|
1444
1444
|
class: I(["text-center sticky right-0 w-[80px] px-[10px]", {
|
1445
|
-
"bg-gray-50": ((
|
1446
|
-
"bg-white": ((
|
1445
|
+
"bg-gray-50": ((be = (fe = t.$route) == null ? void 0 : fe.query) == null ? void 0 : be.card) === (d == null ? void 0 : d.id),
|
1446
|
+
"bg-white": ((ge = (me = t.$route) == null ? void 0 : me.query) == null ? void 0 : ge.card) !== (d == null ? void 0 : d.id)
|
1447
1447
|
}])
|
1448
1448
|
}, [
|
1449
|
-
x(
|
1449
|
+
x(Ce, {
|
1450
1450
|
actions: o.getActions,
|
1451
1451
|
isForm: o.isForm,
|
1452
1452
|
item: d,
|
@@ -1461,27 +1461,27 @@ function Vs(t, e, s, i, n, o) {
|
|
1461
1461
|
])
|
1462
1462
|
], 4)
|
1463
1463
|
], 2),
|
1464
|
-
|
1465
|
-
|
1466
|
-
|
1467
|
-
|
1468
|
-
|
1469
|
-
n.filters || n.searchValue ? (
|
1464
|
+
l("div", $s, [
|
1465
|
+
l("div", Ss, [
|
1466
|
+
l("p", As, [
|
1467
|
+
l("span", Is, [
|
1468
|
+
F(A(n.filters || n.searchValue ? "Знайдено" : "Об'єктів") + " " + A(((le = n.tableData) == null ? void 0 : le.count) || "0 ") + " ", 1),
|
1469
|
+
n.filters || n.searchValue ? (r(), a("span", Ts, " з")) : w("", !0)
|
1470
1470
|
]),
|
1471
|
-
n.filters || n.searchValue ? (
|
1471
|
+
n.filters || n.searchValue ? (r(), a("span", Vs, A(" " + ((re = n.tableData) == null ? void 0 : re.filtered) || 0), 1)) : w("", !0)
|
1472
1472
|
])
|
1473
1473
|
]),
|
1474
|
-
n.limit ? (
|
1474
|
+
Math.ceil(((oe = n.tableData) == null ? void 0 : oe.filtered) / n.limit) > 1 ? (r(), _(Se, {
|
1475
1475
|
key: 0,
|
1476
1476
|
goTo: !1,
|
1477
1477
|
class: "justify-end",
|
1478
1478
|
"default-page": parseInt(o.defaultPage),
|
1479
|
-
total: ((
|
1479
|
+
total: ((ae = n.tableData) == null ? void 0 : ae.filtered) || 0,
|
1480
1480
|
pageSize: parseInt(n.limit),
|
1481
1481
|
onPageChange: o.handlePageChange,
|
1482
1482
|
pageSizes: [10, 16, 20],
|
1483
1483
|
onPageSizeChange: o.changeLimit,
|
1484
|
-
backgroundColor: "#
|
1484
|
+
backgroundColor: "#F3F4F6"
|
1485
1485
|
}, null, 8, ["default-page", "total", "pageSize", "onPageChange", "onPageSizeChange"])) : w("", !0)
|
1486
1486
|
])
|
1487
1487
|
], 2),
|
@@ -1489,7 +1489,7 @@ function Vs(t, e, s, i, n, o) {
|
|
1489
1489
|
default: C(() => {
|
1490
1490
|
var d;
|
1491
1491
|
return [
|
1492
|
-
n.isVisibleCardInfo ? (
|
1492
|
+
n.isVisibleCardInfo ? (r(), _(Ae, {
|
1493
1493
|
key: 0,
|
1494
1494
|
table: s.table,
|
1495
1495
|
columns: (d = n.tableData) == null ? void 0 : d.columns,
|
@@ -1504,8 +1504,8 @@ function Vs(t, e, s, i, n, o) {
|
|
1504
1504
|
])
|
1505
1505
|
]);
|
1506
1506
|
}
|
1507
|
-
const
|
1508
|
-
components: { AdminTable:
|
1507
|
+
const Fs = /* @__PURE__ */ k(is, [["render", Ds], ["__scopeId", "data-v-ef9b0865"]]), Ms = {
|
1508
|
+
components: { AdminTable: Fs },
|
1509
1509
|
data() {
|
1510
1510
|
return {
|
1511
1511
|
table: !1,
|
@@ -1517,13 +1517,13 @@ const Ds = /* @__PURE__ */ k(as, [["render", Vs], ["__scopeId", "data-v-33658824
|
|
1517
1517
|
$route: {
|
1518
1518
|
async handler() {
|
1519
1519
|
var t;
|
1520
|
-
(t =
|
1520
|
+
(t = xe) != null && t.value || await this.getMenu(), await this.checkPageType();
|
1521
1521
|
},
|
1522
1522
|
deep: !0
|
1523
1523
|
},
|
1524
1524
|
title(t) {
|
1525
1525
|
var e;
|
1526
|
-
t && (document.title = (((e =
|
1526
|
+
t && (document.title = (((e = qe.value) == null ? void 0 : e.titlePrefix) || "") + t);
|
1527
1527
|
}
|
1528
1528
|
},
|
1529
1529
|
async mounted() {
|
@@ -1538,7 +1538,7 @@ const Ds = /* @__PURE__ */ k(as, [["render", Vs], ["__scopeId", "data-v-33658824
|
|
1538
1538
|
},
|
1539
1539
|
async checkPageType() {
|
1540
1540
|
var i, n;
|
1541
|
-
const t = this.flattenMenu(
|
1541
|
+
const t = this.flattenMenu(xe.value);
|
1542
1542
|
t != null && t.length || this.$router.replace("/404");
|
1543
1543
|
const e = t == null ? void 0 : t.find((o) => {
|
1544
1544
|
var u, b;
|
@@ -1551,7 +1551,7 @@ const Ds = /* @__PURE__ */ k(as, [["render", Vs], ["__scopeId", "data-v-33658824
|
|
1551
1551
|
async getInterface() {
|
1552
1552
|
var t, e;
|
1553
1553
|
try {
|
1554
|
-
const { data: s } = await
|
1554
|
+
const { data: s } = await D.get(
|
1555
1555
|
`/api/template/interface/${((e = (t = this.$route) == null ? void 0 : t.params) == null ? void 0 : e.catchAll) || ""}`
|
1556
1556
|
);
|
1557
1557
|
this.interface = s || "";
|
@@ -1560,21 +1560,21 @@ const Ds = /* @__PURE__ */ k(as, [["render", Vs], ["__scopeId", "data-v-33658824
|
|
1560
1560
|
}
|
1561
1561
|
}
|
1562
1562
|
}
|
1563
|
-
},
|
1564
|
-
function
|
1563
|
+
}, js = ["innerHTML"];
|
1564
|
+
function qs(t, e, s, i, n, o) {
|
1565
1565
|
const u = h("AdminTable");
|
1566
|
-
return n.table ? (
|
1566
|
+
return n.table ? (r(), _(u, {
|
1567
1567
|
key: 0,
|
1568
1568
|
table: n.table,
|
1569
1569
|
title: n.title
|
1570
|
-
}, null, 8, ["table", "title"])) : (
|
1570
|
+
}, null, 8, ["table", "title"])) : (r(), a("div", {
|
1571
1571
|
key: 1,
|
1572
1572
|
class: "w-full bg-gray-50",
|
1573
1573
|
style: { height: "calc(100vh - 120px)" },
|
1574
1574
|
innerHTML: n.interface
|
1575
|
-
}, null, 8,
|
1575
|
+
}, null, 8, js));
|
1576
1576
|
}
|
1577
|
-
const
|
1577
|
+
const Us = /* @__PURE__ */ k(Ms, [["render", qs]]);
|
1578
1578
|
export {
|
1579
|
-
|
1579
|
+
Us as default
|
1580
1580
|
};
|