@opengis/admin 0.1.75 → 0.1.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{IconChevronDown-DpFXvgwL.js → IconChevronDown-BMnTiJIv.js} +1 -1
- package/dist/{add-page-B34T9kD5.js → add-page-BxK4iJe4.js} +1 -1
- package/dist/{admin-interface-B7RH9jC0.js → admin-interface-D9vWpTqM.js} +591 -534
- package/dist/{admin-view-CB6GnWqy.js → admin-view-DPtlpZue.js} +144 -139
- package/dist/admin.js +1 -1
- package/dist/admin.umd.cjs +51 -51
- package/dist/assets/favicon.svg +1 -0
- package/dist/assets/logo.svg +42 -0
- package/dist/{card-page-B2ZFa7Pi.js → card-page-KnsaeAPW.js} +3 -3
- package/dist/{card-view-BRWlfh-Z.js → card-view-BAC53pSQ.js} +1 -1
- package/dist/{edit-page-BUhpjmtA.js → edit-page-D2KM1hue.js} +1 -1
- package/dist/{import-file-C08TESFR.js → import-file-C3Slz6rJ.js} +4770 -4754
- package/dist/style.css +1 -1
- package/module/settings/select/core.user_mentioned.sql +2 -0
- package/package.json +4 -4
- package/plugin.js +3 -0
- package/server/helpers/index.mjs +7 -5
- package/server/routes/calendar/controllers/calendar.data.js +3 -3
- package/server/routes/data/controllers/cardData.js +5 -5
- package/server/routes/data/controllers/cardTabData.js +5 -5
- package/server/routes/data/controllers/funcs/getFilterSQL/index.js +3 -3
- package/server/routes/data/controllers/tableData.js +4 -3
- package/server/routes/data/controllers/tableDataId.js +3 -1
- package/server/routes/data/controllers/tableFilter.js +3 -3
- package/server/routes/data/controllers/utils/assignTokens.js +6 -6
- package/server/routes/notifications/controllers/readNotifications.js +9 -5
- package/server/routes/notifications/controllers/testEmail.js +35 -0
- package/server/routes/notifications/controllers/userNotifications.js +1 -1
- package/server/routes/notifications/funcs/addNotification.js +21 -0
- package/server/routes/notifications/funcs/sendNotification.js +105 -0
- package/server/routes/notifications/funcs/utils/sendEmail.js +39 -0
- package/server/routes/notifications/hook/onWidgetSet.js +4 -4
- package/server/routes/notifications/index.mjs +14 -2
- package/server/routes/notifications/schema.js +7 -1
- package/server/routes/properties/controllers/admin.properties.get.js +2 -2
- package/server/routes/user/controllers/user.cls.id.js +14 -0
- package/server/routes/user/controllers/user.cls.js +71 -0
- package/server/routes/user/controllers/user.cls.post.js +52 -0
- package/server/routes/user/controllers/user.info.js +17 -0
- package/server/routes/user/index.mjs +15 -0
- package/server/routes/user/schema.js +14 -0
- package/server/routes/widget/controllers/utils/historyFormat.js +75 -0
- package/server/routes/widget/controllers/utils/obj2db.js +13 -0
- package/server/routes/widget/controllers/widget.del.js +41 -0
- package/server/routes/widget/controllers/widget.get.js +96 -0
- package/server/routes/widget/controllers/widget.set.js +76 -0
- package/server/routes/widget/index.mjs +39 -0
- package/utils.js +5 -0
@@ -1,7 +1,7 @@
|
|
1
|
-
import { _, b as
|
2
|
-
import { openBlock as l, createElementBlock as
|
3
|
-
import { I as
|
4
|
-
const
|
1
|
+
import { _ as k, b as Ie, a as V, c as Te, d as Ve, e as De, f as Fe, I as Me, u as ge, s as je } from "./import-file-C3Slz6rJ.js";
|
2
|
+
import { openBlock as l, createElementBlock as a, createTextVNode as D, toDisplayString as A, createCommentVNode as w, createStaticVNode as j, Fragment as $, createElementVNode as r, resolveComponent as h, createVNode as x, withCtx as C, createBlock as _, withModifiers as qe, renderList as T, normalizeClass as I, withDirectives as z, vModelCheckbox as Be, resolveDynamicComponent as B, Transition as P, renderSlot as ze, vShow as _e, getCurrentInstance as Pe, ref as xe, normalizeStyle as ye } from "vue";
|
3
|
+
import { I as Le } from "./IconChevronDown-BMnTiJIv.js";
|
4
|
+
const Ue = {
|
5
5
|
data() {
|
6
6
|
return {
|
7
7
|
currentSort: ""
|
@@ -47,11 +47,11 @@ const Ce = {
|
|
47
47
|
},
|
48
48
|
handleClickSortBtn(t) {
|
49
49
|
this.$emit("change-active", this.data.name), this.currentSort = this.changeCurrentSort(t);
|
50
|
-
const e = this.$route.query, { sort:
|
50
|
+
const e = this.$route.query, { sort: s, ...i } = e, n = this.currentSort ? `${this.data.name}-${this.currentSort}` : "";
|
51
51
|
this.$router.replace({
|
52
52
|
query: {
|
53
|
-
...
|
54
|
-
...
|
53
|
+
...i,
|
54
|
+
...n && { sort: n }
|
55
55
|
}
|
56
56
|
});
|
57
57
|
},
|
@@ -59,10 +59,10 @@ const Ce = {
|
|
59
59
|
return `${this.data.name}-${t}` === this.selectedSortParam;
|
60
60
|
}
|
61
61
|
}
|
62
|
-
},
|
62
|
+
}, Oe = {
|
63
63
|
scope: "col",
|
64
64
|
class: "text-start px-2 py-1"
|
65
|
-
},
|
65
|
+
}, Ee = {
|
66
66
|
class: "flex-shrink-0 size-3.5",
|
67
67
|
xmlns: "http://www.w3.org/2000/svg",
|
68
68
|
width: "24",
|
@@ -73,33 +73,33 @@ const Ce = {
|
|
73
73
|
"stroke-width": "2",
|
74
74
|
"stroke-linecap": "round",
|
75
75
|
"stroke-linejoin": "round"
|
76
|
-
},
|
76
|
+
}, Ne = {
|
77
77
|
key: 0,
|
78
78
|
d: "m7 15 5 5 5-5"
|
79
|
-
},
|
79
|
+
}, He = {
|
80
80
|
key: 1,
|
81
81
|
d: "m7 9 5-5 5 5"
|
82
|
-
},
|
82
|
+
}, Re = {
|
83
83
|
key: 1,
|
84
84
|
class: "text-sm text-stone-500 px-[4px] py-2.5 text-start font-normal text-gray-500"
|
85
85
|
};
|
86
|
-
function
|
87
|
-
return l(),
|
88
|
-
o.getVisibleIcon ? (l(),
|
86
|
+
function We(t, e, s, i, n, o) {
|
87
|
+
return l(), a("th", Oe, [
|
88
|
+
o.getVisibleIcon ? (l(), a("button", {
|
89
89
|
key: 0,
|
90
90
|
type: "button",
|
91
91
|
class: "text-sm text-stone-500 px-[4px] py-2.5 text-start font-normal text-gray-500 flex items-center gap-[6px]",
|
92
|
-
onClick: e[0] || (e[0] = (u) => o.handleClickSortBtn(
|
92
|
+
onClick: e[0] || (e[0] = (u) => o.handleClickSortBtn(n.currentSort))
|
93
93
|
}, [
|
94
|
-
D(
|
95
|
-
(l(),
|
96
|
-
|
97
|
-
|
94
|
+
D(A(o.label) + " ", 1),
|
95
|
+
(l(), a("svg", Ee, [
|
96
|
+
n.currentSort === "asc" || n.currentSort === "" ? (l(), a("path", Ne)) : w("", !0),
|
97
|
+
n.currentSort === "desc" || n.currentSort === "" ? (l(), a("path", He)) : w("", !0)
|
98
98
|
]))
|
99
|
-
])) : (l(),
|
99
|
+
])) : (l(), a("p", Re, A(o.label), 1))
|
100
100
|
]);
|
101
101
|
}
|
102
|
-
const
|
102
|
+
const Ge = /* @__PURE__ */ k(Ue, [["render", We]]), Ze = {}, Je = {
|
103
103
|
class: "flex-shrink-0 size-3.5",
|
104
104
|
xmlns: "http://www.w3.org/2000/svg",
|
105
105
|
viewBox: "0 0 24 24",
|
@@ -109,42 +109,42 @@ const De = /* @__PURE__ */ _(Ce, [["render", Ve]]), Fe = {}, Me = {
|
|
109
109
|
"stroke-linecap": "round",
|
110
110
|
"stroke-linejoin": "round"
|
111
111
|
};
|
112
|
-
function
|
113
|
-
return l(),
|
112
|
+
function Ke(t, e, s, i, n, o) {
|
113
|
+
return l(), a("svg", Je, e[0] || (e[0] = [
|
114
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
115
|
]));
|
116
116
|
}
|
117
|
-
const
|
117
|
+
const Qe = /* @__PURE__ */ k(Ze, [["render", Ke]]), Xe = {
|
118
118
|
props: {
|
119
119
|
height: { type: String, default: "16" },
|
120
120
|
width: { type: String, default: "12" },
|
121
121
|
color: { type: String, default: "black" }
|
122
122
|
}
|
123
|
-
},
|
124
|
-
function
|
125
|
-
return l(),
|
126
|
-
(l(),
|
127
|
-
|
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
128
|
id: "icon-pencil",
|
129
129
|
viewBox: "0 0 32 32"
|
130
130
|
}, [
|
131
|
-
|
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
132
|
], -1)
|
133
133
|
]))),
|
134
|
-
(l(),
|
135
|
-
height:
|
136
|
-
width:
|
137
|
-
fill:
|
134
|
+
(l(), a("svg", {
|
135
|
+
height: s.height,
|
136
|
+
width: s.width,
|
137
|
+
fill: s.color
|
138
138
|
}, e[1] || (e[1] = [
|
139
|
-
|
140
|
-
]), 8,
|
139
|
+
r("use", { "xlink:href": "#icon-pencil" }, null, -1)
|
140
|
+
]), 8, et))
|
141
141
|
], 64);
|
142
142
|
}
|
143
|
-
const
|
143
|
+
const nt = /* @__PURE__ */ k(Xe, [["render", tt]]), st = {
|
144
144
|
components: {
|
145
|
-
IconMore:
|
146
|
-
IconDelete:
|
147
|
-
IconEdit:
|
145
|
+
IconMore: Ie,
|
146
|
+
IconDelete: Qe,
|
147
|
+
IconEdit: nt
|
148
148
|
},
|
149
149
|
emits: ["updateTable"],
|
150
150
|
props: {
|
@@ -203,75 +203,75 @@ const Ue = /* @__PURE__ */ _(ze, [["render", Le]]), Oe = {
|
|
203
203
|
}
|
204
204
|
}
|
205
205
|
}
|
206
|
-
},
|
206
|
+
}, rt = { class: "hs-dropdown [--placement:bottom-right] inline-flex" }, lt = { 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" }, ot = { class: "flex flex-col items-start" }, at = {
|
207
207
|
key: 1,
|
208
208
|
class: "h-[1px] w-[80%] bg-gray-200 ml-auto mr-auto"
|
209
|
-
},
|
210
|
-
function
|
211
|
-
const u =
|
212
|
-
return l(),
|
213
|
-
|
214
|
-
|
209
|
+
}, it = { class: "p-4" }, ct = { class: "flex justify-end mt-4 gap-x-3" };
|
210
|
+
function ut(t, e, s, i, n, o) {
|
211
|
+
const u = h("IconMore"), b = h("IconEdit"), f = h("router-link"), g = h("IconDelete"), v = h("VsPopover"), c = h("VsDialog");
|
212
|
+
return l(), a($, null, [
|
213
|
+
r("div", rt, [
|
214
|
+
x(v, {
|
215
215
|
trigger: "click",
|
216
216
|
placement: "bottom-left"
|
217
217
|
}, {
|
218
|
-
reference:
|
219
|
-
|
220
|
-
|
218
|
+
reference: C(() => [
|
219
|
+
r("button", lt, [
|
220
|
+
x(u, {
|
221
221
|
height: "16",
|
222
222
|
width: "16"
|
223
223
|
})
|
224
224
|
])
|
225
225
|
]),
|
226
|
-
default:
|
227
|
-
var
|
226
|
+
default: C(() => {
|
227
|
+
var m, p, S, y, F;
|
228
228
|
return [
|
229
|
-
|
230
|
-
(
|
229
|
+
r("div", ot, [
|
230
|
+
(m = s.actions) != null && m.includes("edit") && s.isForm ? (l(), _(f, {
|
231
231
|
key: 0,
|
232
|
-
to: `/edit?table=${(
|
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
|
-
default:
|
236
|
-
|
235
|
+
default: C(() => [
|
236
|
+
x(b, { color: "#000" }),
|
237
237
|
e[4] || (e[4] = D(" Редагувати "))
|
238
238
|
]),
|
239
239
|
_: 1
|
240
|
-
}, 8, ["to"])) :
|
241
|
-
|
242
|
-
(F =
|
240
|
+
}, 8, ["to"])) : w("", !0),
|
241
|
+
s.isForm ? (l(), a("div", at)) : w("", !0),
|
242
|
+
(F = s.actions) != null && F.includes("del") ? (l(), a("button", {
|
243
243
|
key: 2,
|
244
|
-
onClick: e[0] || (e[0] =
|
244
|
+
onClick: e[0] || (e[0] = qe((...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
|
-
|
248
|
-
e[5] || (e[5] =
|
249
|
-
])) :
|
247
|
+
x(g),
|
248
|
+
e[5] || (e[5] = r("span", { class: "text-gray-800" }, "Видалити", -1))
|
249
|
+
])) : w("", !0)
|
250
250
|
])
|
251
251
|
];
|
252
252
|
}),
|
253
253
|
_: 1
|
254
254
|
})
|
255
255
|
]),
|
256
|
-
|
257
|
-
visible:
|
258
|
-
"onUpdate:visible": e[3] || (e[3] = (
|
256
|
+
x(c, {
|
257
|
+
visible: n.isDeleteConfirm,
|
258
|
+
"onUpdate:visible": e[3] || (e[3] = (m) => n.isDeleteConfirm = m),
|
259
259
|
size: "small",
|
260
260
|
title: "Ви впевнені?"
|
261
261
|
}, {
|
262
|
-
default:
|
263
|
-
|
264
|
-
e[6] || (e[6] =
|
265
|
-
|
266
|
-
|
262
|
+
default: C(() => [
|
263
|
+
r("div", it, [
|
264
|
+
e[6] || (e[6] = r("p", { class: "mt-1 text-gray-500 dark:text-neutral-500" }, " Ви впевнені, що хочете видалити цей об'єкт? ", -1)),
|
265
|
+
r("div", ct, [
|
266
|
+
r("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
|
-
onClick: e[1] || (e[1] = (
|
269
|
+
onClick: e[1] || (e[1] = (m) => n.isDeleteConfirm = !1)
|
270
270
|
}, " Скасувати "),
|
271
|
-
|
271
|
+
r("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
|
-
onClick: e[2] || (e[2] = (...
|
274
|
+
onClick: e[2] || (e[2] = (...m) => o.deleteElement && o.deleteElement(...m))
|
275
275
|
}, " Так, я впевнена/ий ")
|
276
276
|
])
|
277
277
|
])
|
@@ -280,7 +280,7 @@ function Ze(t, e, n, a, r, o) {
|
|
280
280
|
}, 8, ["visible"])
|
281
281
|
], 64);
|
282
282
|
}
|
283
|
-
const
|
283
|
+
const dt = /* @__PURE__ */ k(st, [["render", ut]]), ht = {}, pt = {
|
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 Je = /* @__PURE__ */ _(Oe, [["render", Ze]]), Ke = {}, Qe = {
|
|
290
290
|
"stroke-linecap": "round",
|
291
291
|
"stroke-linejoin": "round"
|
292
292
|
};
|
293
|
-
function
|
294
|
-
return l(),
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
293
|
+
function ft(t, e, s, i, n, o) {
|
294
|
+
return l(), a("svg", pt, e[0] || (e[0] = [
|
295
|
+
r("path", { d: "m3 16 4 4 4-4" }, null, -1),
|
296
|
+
r("path", { d: "M7 20V4" }, null, -1),
|
297
|
+
r("path", { d: "m21 8-4-4-4 4" }, null, -1),
|
298
|
+
r("path", { d: "M17 4v16" }, null, -1)
|
299
299
|
]));
|
300
300
|
}
|
301
|
-
const
|
301
|
+
const bt = /* @__PURE__ */ k(ht, [["render", ft]]), mt = {}, gt = {
|
302
302
|
xmlns: "http://www.w3.org/2000/svg",
|
303
303
|
width: "24",
|
304
304
|
height: "24",
|
@@ -310,19 +310,19 @@ const Ye = /* @__PURE__ */ _(Ke, [["render", Xe]]), et = {}, tt = {
|
|
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 l(),
|
315
|
-
|
313
|
+
function xt(t, e, s, i, n, o) {
|
314
|
+
return l(), a("svg", gt, e[0] || (e[0] = [
|
315
|
+
r("path", {
|
316
316
|
stroke: "none",
|
317
317
|
d: "M0 0h24v24H0z",
|
318
318
|
fill: "none"
|
319
319
|
}, null, -1),
|
320
|
-
|
321
|
-
|
320
|
+
r("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
|
+
r("path", { d: "M9 12l2 2l4 -4" }, null, -1)
|
322
322
|
]));
|
323
323
|
}
|
324
|
-
const
|
325
|
-
components: { IconExport:
|
324
|
+
const yt = /* @__PURE__ */ k(mt, [["render", xt]]), _t = {
|
325
|
+
components: { IconExport: bt, IconChevronDown: Le, IconSuccess: yt },
|
326
326
|
props: {
|
327
327
|
table: String,
|
328
328
|
columns: Array,
|
@@ -386,13 +386,13 @@ const nt = /* @__PURE__ */ _(et, [["render", rt]]), st = {
|
|
386
386
|
custom: this.filterCustom || null
|
387
387
|
},
|
388
388
|
responseType: "blob"
|
389
|
-
}),
|
389
|
+
}), s = new Blob([e.data], {
|
390
390
|
type: "application/octet-stream"
|
391
|
-
}),
|
392
|
-
|
391
|
+
}), i = window.URL.createObjectURL(s), n = document.createElement("a");
|
392
|
+
n.href = i, n.setAttribute(
|
393
393
|
"download",
|
394
394
|
`${this.table.split(".")[0]}.${this.format}`
|
395
|
-
), document.body.appendChild(
|
395
|
+
), document.body.appendChild(n), n.click(), document.body.removeChild(n), window.URL.revokeObjectURL(i), this.$notify({
|
396
396
|
type: "success",
|
397
397
|
title: "Експорт",
|
398
398
|
message: "Файл успішно експортовано!"
|
@@ -417,135 +417,135 @@ const nt = /* @__PURE__ */ _(et, [["render", rt]]), st = {
|
|
417
417
|
},
|
418
418
|
choceVisible() {
|
419
419
|
var t, e;
|
420
|
-
this.cols = (e = (t = this.columns) == null ? void 0 : t.filter((
|
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
|
+
}, kt = {
|
424
424
|
key: 0,
|
425
425
|
class: "flex flex-col items-center"
|
426
|
-
},
|
426
|
+
}, vt = {
|
427
427
|
key: 1,
|
428
428
|
class: "p-4"
|
429
|
-
},
|
429
|
+
}, wt = { class: "pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700" }, Ct = { class: "flex items-center" }, $t = { class: "flex items-center gap-[10px] ml-auto" }, St = ["onClick"], At = {
|
430
430
|
key: 0,
|
431
431
|
class: "block h-[8px] w-[8px] rounded-full bg-blue-500"
|
432
|
-
},
|
432
|
+
}, It = { class: "mt-2 flex row flex-wrap gap-y-[5px] gap-x-[10px]" }, Tt = { class: "pb-5 mb-5 border-b border-gray-200 last:pb-0 last:mb-0 last:border-b-0 dark:border-neutral-700" }, Vt = { class: "mt-2 space-y-2" }, Dt = ["id", "onChange"], Ft = ["for"], Mt = {
|
433
433
|
key: 0,
|
434
434
|
class: "flex w-full justify-end p-[20px] gap-[6px] border-t"
|
435
|
-
},
|
435
|
+
}, jt = {
|
436
436
|
key: 1,
|
437
437
|
class: "flex w-full justify-end p-[20px] gap-[6px] border-t"
|
438
438
|
};
|
439
|
-
function
|
440
|
-
const u =
|
441
|
-
return l(),
|
442
|
-
|
443
|
-
onClick: e[0] || (e[0] = (c) =>
|
439
|
+
function qt(t, e, s, i, n, o) {
|
440
|
+
const u = h("IconExport"), b = h("IconChevronDown"), f = h("IconSuccess"), g = h("VsCheckbox"), v = h("VsDialog");
|
441
|
+
return l(), a($, null, [
|
442
|
+
r("button", {
|
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
|
}, [
|
446
|
-
|
446
|
+
x(u, {
|
447
447
|
height: "16",
|
448
448
|
width: "16"
|
449
449
|
}),
|
450
450
|
e[7] || (e[7] = D(" Експорт ")),
|
451
|
-
|
451
|
+
x(b, {
|
452
452
|
height: "12",
|
453
453
|
width: "16"
|
454
454
|
})
|
455
455
|
]),
|
456
|
-
|
457
|
-
visible:
|
458
|
-
"onUpdate:visible": e[6] || (e[6] = (c) =>
|
456
|
+
x(v, {
|
457
|
+
visible: n.isOpen,
|
458
|
+
"onUpdate:visible": e[6] || (e[6] = (c) => n.isOpen = c),
|
459
459
|
title: "Експорт таблиці",
|
460
460
|
size: "small",
|
461
461
|
closeClickBack: !0
|
462
462
|
}, {
|
463
|
-
footer:
|
464
|
-
|
465
|
-
|
463
|
+
footer: C(() => [
|
464
|
+
n.isSuccessTemplate ? (l(), a("div", Mt, [
|
465
|
+
r("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
|
-
onClick: e[2] || (e[2] = (c) =>
|
468
|
+
onClick: e[2] || (e[2] = (c) => n.isOpen = !1)
|
469
469
|
}, " Закрити "),
|
470
|
-
|
470
|
+
r("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
|
-
onClick: e[3] || (e[3] = (c) =>
|
473
|
+
onClick: e[3] || (e[3] = (c) => n.isSuccessTemplate = !1)
|
474
474
|
}, " Вигрузити ще ")
|
475
|
-
])) : (l(),
|
476
|
-
|
475
|
+
])) : (l(), a("div", jt, [
|
476
|
+
r("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
|
-
onClick: e[4] || (e[4] = (c) =>
|
479
|
+
onClick: e[4] || (e[4] = (c) => n.isOpen = !1)
|
480
480
|
}, " Скасувати "),
|
481
|
-
|
481
|
+
r("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))
|
485
485
|
}, " Завантажити таблицю ")
|
486
486
|
]))
|
487
487
|
]),
|
488
|
-
default:
|
489
|
-
|
490
|
-
f
|
488
|
+
default: C(() => [
|
489
|
+
n.isSuccessTemplate ? (l(), a("div", kt, [
|
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
|
-
])) : (l(),
|
497
|
-
|
498
|
-
|
499
|
-
e[9] || (e[9] =
|
500
|
-
|
501
|
-
(l(!0),
|
495
|
+
e[8] || (e[8] = r("h2", null, "Звіт сформовано і збережено", -1))
|
496
|
+
])) : (l(), a("div", vt, [
|
497
|
+
r("div", wt, [
|
498
|
+
r("div", Ct, [
|
499
|
+
e[9] || (e[9] = r("h2", { class: "text-sm text-gray-500" }, " Виберіть стовпці таблиці для експорту: ", -1)),
|
500
|
+
r("div", $t, [
|
501
|
+
(l(!0), a($, null, T(n.actions, (c) => (l(), 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
|
-
|
507
|
-
class:
|
506
|
+
r("span", {
|
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) ===
|
509
|
+
(c == null ? void 0 : c.name) === n.activeAction ? (l(), a("span", At)) : w("", !0)
|
510
510
|
], 2),
|
511
|
-
D(" " +
|
512
|
-
], 8,
|
511
|
+
D(" " + A(c == null ? void 0 : c.label), 1)
|
512
|
+
], 8, St))), 128))
|
513
513
|
])
|
514
514
|
]),
|
515
|
-
|
516
|
-
(l(!0),
|
515
|
+
r("div", It, [
|
516
|
+
(l(!0), a($, null, T(s.columns, (c, m) => (l(), a("div", {
|
517
517
|
class: "flex items-center",
|
518
|
-
key:
|
518
|
+
key: m,
|
519
519
|
style: { width: "calc((100% - 10px) / 2)" }
|
520
520
|
}, [
|
521
|
-
|
521
|
+
x(g, {
|
522
522
|
class: "[&>label]:text-sm [&>label]:text-gray-800 [&>label]:ms-3 !gap-x-[1px] !p-0",
|
523
|
-
modelValue:
|
524
|
-
"onUpdate:modelValue": e[1] || (e[1] = (
|
523
|
+
modelValue: n.cols,
|
524
|
+
"onUpdate:modelValue": e[1] || (e[1] = (p) => n.cols = p),
|
525
525
|
value: c == null ? void 0 : c.name,
|
526
526
|
label: c == null ? void 0 : c.ua
|
527
527
|
}, null, 8, ["modelValue", "value", "label"])
|
528
528
|
]))), 128))
|
529
529
|
])
|
530
530
|
]),
|
531
|
-
|
532
|
-
e[10] || (e[10] =
|
533
|
-
|
534
|
-
(l(!0),
|
531
|
+
r("div", Tt, [
|
532
|
+
e[10] || (e[10] = r("h2", { class: "text-sm text-gray-500" }, "Виберіть формат таблиці:", -1)),
|
533
|
+
r("div", Vt, [
|
534
|
+
(l(!0), a($, null, T(n.tableFormats, (c, m) => (l(), a("div", {
|
535
535
|
class: "flex items-center",
|
536
|
-
key:
|
536
|
+
key: m
|
537
537
|
}, [
|
538
|
-
|
538
|
+
r("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
|
-
onChange: (
|
544
|
-
}, null, 40,
|
545
|
-
|
543
|
+
onChange: (p) => o.selectFormat(c)
|
544
|
+
}, null, 40, Dt),
|
545
|
+
r("label", {
|
546
546
|
for: c,
|
547
547
|
class: "text-sm text-gray-800 ms-3 dark:text-neutral-400"
|
548
|
-
}, " Формат " +
|
548
|
+
}, " Формат " + A(c), 9, Ft)
|
549
549
|
]))), 128))
|
550
550
|
])
|
551
551
|
])
|
@@ -555,7 +555,7 @@ function yt(t, e, n, a, r, o) {
|
|
555
555
|
}, 8, ["visible"])
|
556
556
|
], 64);
|
557
557
|
}
|
558
|
-
const
|
558
|
+
const Bt = /* @__PURE__ */ k(_t, [["render", qt]]), zt = {}, Pt = {
|
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 _t = /* @__PURE__ */ _(st, [["render", yt]]), kt = {}, vt = {
|
|
565
565
|
"stroke-linejoin": "round",
|
566
566
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-columns"
|
567
567
|
};
|
568
|
-
function
|
569
|
-
return l(),
|
568
|
+
function Lt(t, e, s, i, n, o) {
|
569
|
+
return l(), a("svg", Pt, 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 Ut = /* @__PURE__ */ k(zt, [["render", Lt]]), Ot = {
|
574
574
|
props: { column: Object },
|
575
575
|
emits: ["update-column"],
|
576
576
|
data() {
|
@@ -587,50 +587,50 @@ const Ct = /* @__PURE__ */ _(kt, [["render", wt]]), $t = {
|
|
587
587
|
var t;
|
588
588
|
((t = this.column) == null ? void 0 : t.hidden) !== !0 && (this.value = !0);
|
589
589
|
}
|
590
|
-
},
|
591
|
-
function
|
590
|
+
}, Et = { class: "flex w-full gap-[8px] items-centr" };
|
591
|
+
function Nt(t, e, s, i, n, o) {
|
592
592
|
var u, b;
|
593
|
-
return l(),
|
594
|
-
|
595
|
-
"onUpdate:modelValue": e[0] || (e[0] = (
|
593
|
+
return l(), a("label", Et, [
|
594
|
+
z(r("input", {
|
595
|
+
"onUpdate:modelValue": e[0] || (e[0] = (f) => n.value = f),
|
596
596
|
type: "checkbox"
|
597
597
|
}, null, 512), [
|
598
|
-
[
|
598
|
+
[Be, n.value]
|
599
599
|
]),
|
600
|
-
D(" " +
|
600
|
+
D(" " + 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 Ht = /* @__PURE__ */ k(Ot, [["render", Nt]]), Rt = {
|
604
|
+
components: { IconColumns: Ut, AdminTableColumnsHiddenItem: Ht },
|
605
605
|
emits: ["update-columns"],
|
606
606
|
props: { columns: Array },
|
607
607
|
methods: {
|
608
608
|
updateColumn(t) {
|
609
|
-
const e = this.columns.findIndex((
|
610
|
-
|
609
|
+
const e = this.columns.findIndex((i) => (i == null ? void 0 : i.name) === (t == null ? void 0 : t.name)), s = this.columns;
|
610
|
+
s[e] = t, this.$emit("update-columns", [...s]);
|
611
611
|
}
|
612
612
|
}
|
613
|
-
},
|
614
|
-
function
|
615
|
-
const u =
|
616
|
-
return l(),
|
613
|
+
}, Wt = { 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" }, Gt = { class: "py-[10px] px-[10px] w-[260px]" }, Zt = { 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 Jt(t, e, s, i, n, o) {
|
615
|
+
const u = h("IconColumns"), b = h("AdminTableColumnsHiddenItem"), f = h("VsPopover");
|
616
|
+
return l(), _(f, {
|
617
617
|
trigger: "click",
|
618
618
|
placement: "bottom"
|
619
619
|
}, {
|
620
|
-
reference:
|
621
|
-
|
622
|
-
|
620
|
+
reference: C(() => [
|
621
|
+
r("button", Wt, [
|
622
|
+
x(u, {
|
623
623
|
height: "20",
|
624
624
|
width: "16"
|
625
625
|
})
|
626
626
|
])
|
627
627
|
]),
|
628
|
-
default:
|
629
|
-
|
630
|
-
e[0] || (e[0] =
|
631
|
-
|
632
|
-
(l(!0),
|
633
|
-
|
628
|
+
default: C(() => [
|
629
|
+
r("div", Gt, [
|
630
|
+
e[0] || (e[0] = r("h2", { class: "text-sm mb-[8px]" }, "Оберіть колонки, щоб приховати", -1)),
|
631
|
+
r("ul", Zt, [
|
632
|
+
(l(!0), a($, null, T(s.columns, (g, v) => (l(), a("li", { key: v }, [
|
633
|
+
x(b, {
|
634
634
|
column: g,
|
635
635
|
onUpdateColumn: o.updateColumn
|
636
636
|
}, null, 8, ["column", "onUpdateColumn"])
|
@@ -641,45 +641,45 @@ function Mt(t, e, n, a, r, o) {
|
|
641
641
|
_: 1
|
642
642
|
});
|
643
643
|
}
|
644
|
-
const
|
644
|
+
const Kt = /* @__PURE__ */ k(Rt, [["render", Jt]]), Qt = {}, Xt = {
|
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 l(),
|
652
|
-
|
650
|
+
function Yt(t, e, s, i, n, o) {
|
651
|
+
return l(), a("svg", Xt, e[0] || (e[0] = [
|
652
|
+
r("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 l(),
|
659
|
+
const ke = /* @__PURE__ */ k(Qt, [["render", Yt]]), en = {}, tn = { class: "vs-table-interface__table-wrp w-full rounded h-fit overflow-hidden" };
|
660
|
+
function nn(t, e, s, i, n, o) {
|
661
|
+
return l(), a("div", tn, 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 sn = /* @__PURE__ */ k(en, [["render", nn]]), rn = {
|
666
666
|
props: { row: Object, column: Object, table: String }
|
667
667
|
};
|
668
|
-
function
|
669
|
-
var u, b,
|
670
|
-
return l(),
|
671
|
-
((u =
|
668
|
+
function ln(t, e, s, i, n, o) {
|
669
|
+
var u, b, f, g, v, c, m, p;
|
670
|
+
return l(), _(B(
|
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
|
-
onUpdateTable: e[0] || (e[0] = (
|
674
|
-
name: (
|
675
|
-
data:
|
676
|
-
value: (
|
677
|
-
table:
|
678
|
-
column:
|
679
|
-
edit: (
|
673
|
+
onUpdateTable: e[0] || (e[0] = (S) => t.$emit("update-table")),
|
674
|
+
name: (v = s.column) == null ? void 0 : v.name,
|
675
|
+
data: s.row,
|
676
|
+
value: (m = s.row) == null ? void 0 : m[(c = s.column) == null ? void 0 : c.name],
|
677
|
+
table: s.table,
|
678
|
+
column: s.column,
|
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 ve = /* @__PURE__ */ k(rn, [["render", ln]]), on = {}, an = {
|
683
683
|
xmlns: "http://www.w3.org/2000/svg",
|
684
684
|
viewBox: "0 0 24 24",
|
685
685
|
fill: "none",
|
@@ -689,51 +689,54 @@ const ie = /* @__PURE__ */ _(Et, [["render", Ht]]), Nt = {}, Wt = {
|
|
689
689
|
"stroke-linejoin": "round",
|
690
690
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-minus"
|
691
691
|
};
|
692
|
-
function
|
693
|
-
return l(),
|
694
|
-
|
692
|
+
function cn(t, e, s, i, n, o) {
|
693
|
+
return l(), a("svg", an, e[0] || (e[0] = [
|
694
|
+
r("path", {
|
695
695
|
stroke: "none",
|
696
696
|
d: "M0 0h24v24H0z",
|
697
697
|
fill: "none"
|
698
698
|
}, null, -1),
|
699
|
-
|
699
|
+
r("path", { d: "M5 12l14 0" }, null, -1)
|
700
700
|
]));
|
701
701
|
}
|
702
|
-
const
|
703
|
-
components: { IconPlus:
|
704
|
-
props: {
|
702
|
+
const un = /* @__PURE__ */ k(on, [["render", cn]]), dn = {
|
703
|
+
components: { IconPlus: ke, IconMinus: un },
|
704
|
+
props: {
|
705
|
+
title: String,
|
706
|
+
defaultValue: { type: Boolean, default: () => !1 }
|
707
|
+
},
|
705
708
|
data() {
|
706
|
-
return { expanded:
|
709
|
+
return { expanded: this.defaultValue };
|
707
710
|
}
|
708
|
-
},
|
709
|
-
function
|
710
|
-
const u =
|
711
|
-
return l(),
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
onClick: e[0] || (e[0] = (
|
717
|
-
class: "
|
711
|
+
}, hn = { class: "hs-accordion" }, pn = { class: "py-0.5 flex items-center gap-x-0.5 w-full" }, fn = { class: "text-sm font-medium" }, bn = { class: "relative inline-block w-full duration-150 cursor-pointer before:block before:absolute b" };
|
712
|
+
function mn(t, e, s, i, n, o) {
|
713
|
+
const u = h("IconPlus"), b = h("IconMinus");
|
714
|
+
return l(), a("div", null, [
|
715
|
+
r("div", null, [
|
716
|
+
r("div", hn, [
|
717
|
+
r("div", pn, [
|
718
|
+
r("div", {
|
719
|
+
onClick: e[0] || (e[0] = (f) => n.expanded = !n.expanded),
|
720
|
+
class: "rounded-md cursor-pointer grow"
|
718
721
|
}, [
|
719
|
-
|
722
|
+
r("span", fn, A(s.title), 1)
|
720
723
|
]),
|
721
|
-
|
722
|
-
class: "
|
723
|
-
onClick: e[1] || (e[1] = (
|
724
|
+
r("button", {
|
725
|
+
class: "flex items-center justify-center rounded-md size-6 hover:bg-gray-100",
|
726
|
+
onClick: e[1] || (e[1] = (f) => n.expanded = !n.expanded)
|
724
727
|
}, [
|
725
|
-
|
728
|
+
n.expanded ? (l(), _(b, {
|
726
729
|
key: 1,
|
727
730
|
width: "14"
|
728
|
-
})) : (l(),
|
731
|
+
})) : (l(), _(u, { key: 0 }))
|
729
732
|
])
|
730
733
|
]),
|
731
|
-
|
732
|
-
default:
|
733
|
-
|
734
|
-
|
734
|
+
x(P, { name: "fade" }, {
|
735
|
+
default: C(() => [
|
736
|
+
z(r("div", bn, [
|
737
|
+
ze(t.$slots, "default", {}, void 0, !0)
|
735
738
|
], 512), [
|
736
|
-
[
|
739
|
+
[_e, n.expanded]
|
737
740
|
])
|
738
741
|
]),
|
739
742
|
_: 3
|
@@ -742,67 +745,69 @@ function Yt(t, e, n, a, r, o) {
|
|
742
745
|
])
|
743
746
|
]);
|
744
747
|
}
|
745
|
-
const
|
748
|
+
const gn = /* @__PURE__ */ k(dn, [["render", mn], ["__scopeId", "data-v-c6318482"]]), xn = {
|
746
749
|
components: {
|
747
|
-
AdminComponentIs:
|
748
|
-
AdminTree:
|
749
|
-
VsNoData:
|
750
|
-
VsWidgetComments:
|
751
|
-
VsWidgetMap:
|
752
|
-
VsWidgetFileList:
|
750
|
+
AdminComponentIs: ve,
|
751
|
+
AdminTree: gn,
|
752
|
+
VsNoData: Te,
|
753
|
+
VsWidgetComments: Ve,
|
754
|
+
VsWidgetMap: De,
|
755
|
+
VsWidgetFileList: Fe
|
753
756
|
},
|
754
757
|
props: { table: String, columns: Array, row: Object }
|
755
|
-
},
|
758
|
+
}, yn = {
|
756
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",
|
757
760
|
style: { height: "calc(100vh - 310px)" }
|
758
|
-
},
|
761
|
+
}, _n = {
|
759
762
|
class: "border-l",
|
760
763
|
style: { height: "calc(100vh - 360px)" }
|
761
|
-
},
|
762
|
-
function
|
763
|
-
var
|
764
|
-
const u =
|
765
|
-
return l(),
|
766
|
-
e[0] || (e[0] =
|
767
|
-
|
764
|
+
}, kn = { class: "flex items-center justify-between py-1 gap-x-4" }, vn = { class: "col-span-1" }, wn = { class: "inline-flex items-center gap-x-2 text-[13px] text-gray-500 dark:text-neutral-500" }, Cn = { class: "col-span-2" }, $n = { class: "font-medium text-[13px] text-gray-800 dark:text-neutral-200" }, Sn = { class: "table-info-card" }, An = { class: "table-info-card" };
|
765
|
+
function In(t, e, s, i, n, o) {
|
766
|
+
var m, p, S;
|
767
|
+
const u = h("AdminComponentIs"), b = h("AdminTree"), f = h("VsWidgetMap"), g = h("VsNoData"), v = h("VsWidgetComments"), c = h("VsWidgetFileList");
|
768
|
+
return l(), a("div", yn, [
|
769
|
+
e[0] || (e[0] = r("div", { class: "p-[10px] pl-[18px] pb-[18px] border-b" }, [
|
770
|
+
r("h2", { class: "text-sm font-medium" }, "Інформація про об'єкт")
|
768
771
|
], -1)),
|
769
|
-
|
770
|
-
(
|
771
|
-
|
772
|
+
r("div", _n, [
|
773
|
+
(p = (m = t.$route) == null ? void 0 : m.query) != null && p.card ? (l(), a($, { key: 0 }, [
|
774
|
+
s.row ? (l(), _(b, {
|
772
775
|
key: 0,
|
776
|
+
defaultValue: !0,
|
773
777
|
title: "Основна інформація",
|
774
778
|
class: "border-b p-[10px] py-[16px]"
|
775
779
|
}, {
|
776
|
-
default:
|
777
|
-
(l(!0),
|
778
|
-
|
779
|
-
|
780
|
+
default: C(() => [
|
781
|
+
(l(!0), a($, null, T(s.columns, (y) => (l(), a("dl", kn, [
|
782
|
+
r("dt", vn, [
|
783
|
+
r("p", wn, A((y == null ? void 0 : y.ua) || (y == null ? void 0 : y.title)) + ": ", 1)
|
780
784
|
]),
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
row:
|
785
|
-
column:
|
786
|
-
table:
|
785
|
+
r("dd", Cn, [
|
786
|
+
r("p", $n, [
|
787
|
+
x(u, {
|
788
|
+
row: s.row,
|
789
|
+
column: y,
|
790
|
+
table: s.table
|
787
791
|
}, null, 8, ["row", "column", "table"])
|
788
792
|
])
|
789
793
|
])
|
790
794
|
]))), 256))
|
791
795
|
]),
|
792
796
|
_: 1
|
793
|
-
})) :
|
794
|
-
|
797
|
+
})) : w("", !0),
|
798
|
+
(S = s.row) != null && S.geom ? (l(), _(b, {
|
799
|
+
key: 1,
|
795
800
|
title: "Карта",
|
796
801
|
class: "border-b p-[10px] py-[16px]"
|
797
802
|
}, {
|
798
|
-
default:
|
799
|
-
var
|
803
|
+
default: C(() => {
|
804
|
+
var y, F;
|
800
805
|
return [
|
801
|
-
(
|
806
|
+
(y = s.row) != null && y.geom ? (l(), _(f, {
|
802
807
|
key: 0,
|
803
|
-
geometry: (
|
808
|
+
geometry: (F = s.row) == null ? void 0 : F.geom,
|
804
809
|
zoom: 14
|
805
|
-
}, null, 8, ["geometry"])) : (l(),
|
810
|
+
}, null, 8, ["geometry"])) : (l(), _(g, {
|
806
811
|
key: 1,
|
807
812
|
title: "У об'єкта відсутня геометрія",
|
808
813
|
text: "",
|
@@ -811,47 +816,47 @@ function dr(t, e, n, a, r, o) {
|
|
811
816
|
];
|
812
817
|
}),
|
813
818
|
_: 1
|
814
|
-
}),
|
815
|
-
|
819
|
+
})) : w("", !0),
|
820
|
+
x(b, {
|
816
821
|
title: "Коментарі",
|
817
822
|
class: "border-b p-[10px] py-[16px]"
|
818
823
|
}, {
|
819
|
-
default:
|
820
|
-
var
|
824
|
+
default: C(() => {
|
825
|
+
var y;
|
821
826
|
return [
|
822
|
-
|
823
|
-
|
824
|
-
id: (
|
827
|
+
r("div", Sn, [
|
828
|
+
x(v, {
|
829
|
+
id: (y = s.row) == null ? void 0 : y.id
|
825
830
|
}, null, 8, ["id"])
|
826
831
|
])
|
827
832
|
];
|
828
833
|
}),
|
829
834
|
_: 1
|
830
835
|
}),
|
831
|
-
|
836
|
+
x(b, {
|
832
837
|
title: "Файли",
|
833
838
|
class: "border-b p-[10px] py-[16px]"
|
834
839
|
}, {
|
835
|
-
default:
|
836
|
-
var
|
840
|
+
default: C(() => {
|
841
|
+
var y;
|
837
842
|
return [
|
838
|
-
|
839
|
-
|
840
|
-
id: (
|
843
|
+
r("div", An, [
|
844
|
+
x(c, {
|
845
|
+
id: (y = s.row) == null ? void 0 : y.id
|
841
846
|
}, null, 8, ["id"])
|
842
847
|
])
|
843
848
|
];
|
844
849
|
}),
|
845
850
|
_: 1
|
846
851
|
})
|
847
|
-
], 64)) : (l(),
|
852
|
+
], 64)) : (l(), _(g, {
|
848
853
|
key: 1,
|
849
854
|
text: "Оберіть один з об'єктів в таблиці для відображення інформаціі про нього"
|
850
855
|
}))
|
851
856
|
])
|
852
857
|
]);
|
853
858
|
}
|
854
|
-
const
|
859
|
+
const Tn = /* @__PURE__ */ k(xn, [["render", In]]), Vn = {}, Dn = {
|
855
860
|
class: "hidden xl:block shrink-0 size-4",
|
856
861
|
xmlns: "http://www.w3.org/2000/svg",
|
857
862
|
viewBox: "0 0 24 24",
|
@@ -861,20 +866,20 @@ const hr = /* @__PURE__ */ _(tr, [["render", dr]]), pr = {}, br = {
|
|
861
866
|
"stroke-linecap": "round",
|
862
867
|
"stroke-linejoin": "round"
|
863
868
|
};
|
864
|
-
function
|
865
|
-
return l(),
|
866
|
-
|
869
|
+
function Fn(t, e, s, i, n, o) {
|
870
|
+
return l(), a("svg", Dn, e[0] || (e[0] = [
|
871
|
+
r("rect", {
|
867
872
|
width: "18",
|
868
873
|
height: "18",
|
869
874
|
x: "3",
|
870
875
|
y: "3",
|
871
876
|
rx: "2"
|
872
877
|
}, null, -1),
|
873
|
-
|
874
|
-
|
878
|
+
r("path", { d: "M15 3v18" }, null, -1),
|
879
|
+
r("path", { d: "m8 9 3 3-3 3" }, null, -1)
|
875
880
|
]));
|
876
881
|
}
|
877
|
-
const
|
882
|
+
const Mn = /* @__PURE__ */ k(Vn, [["render", Fn]]), jn = {}, qn = {
|
878
883
|
class: "h21yx vs0hq",
|
879
884
|
xmlns: "http://www.w3.org/2000/svg",
|
880
885
|
width: "24",
|
@@ -886,15 +891,15 @@ const mr = /* @__PURE__ */ _(pr, [["render", fr]]), gr = {}, xr = {
|
|
886
891
|
"stroke-linecap": "round",
|
887
892
|
"stroke-linejoin": "round"
|
888
893
|
};
|
889
|
-
function
|
890
|
-
return l(),
|
894
|
+
function Bn(t, e, s, i, n, o) {
|
895
|
+
return l(), a("svg", qn, e[0] || (e[0] = [
|
891
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)
|
892
897
|
]));
|
893
898
|
}
|
894
|
-
const
|
899
|
+
const zn = /* @__PURE__ */ k(jn, [["render", Bn]]), Pn = {
|
895
900
|
emits: ["filterChange"],
|
896
901
|
props: { scheme: { type: Object }, onFilters: { type: Number } },
|
897
|
-
components: { IconFilter:
|
902
|
+
components: { IconFilter: zn },
|
898
903
|
data() {
|
899
904
|
return {
|
900
905
|
isFilters: !1
|
@@ -905,49 +910,49 @@ const _r = /* @__PURE__ */ _(gr, [["render", yr]]), kr = {
|
|
905
910
|
this.isFilters && t.classList.contains("filter-container") && (this.isFilters = !1);
|
906
911
|
}
|
907
912
|
}
|
908
|
-
},
|
913
|
+
}, Ln = {
|
909
914
|
key: 0,
|
910
915
|
class: "font-medium text-[10px] py-0.5 px-[5px] bg-gray-800 text-white leading-3 rounded-full dark:bg-neutral-500"
|
911
|
-
},
|
912
|
-
function
|
913
|
-
const u =
|
914
|
-
return l(),
|
915
|
-
|
916
|
-
onClick: e[0] || (e[0] = (
|
916
|
+
}, Un = { 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 On(t, e, s, i, n, o) {
|
918
|
+
const u = h("IconFilter"), b = h("VsFilter");
|
919
|
+
return l(), a($, null, [
|
920
|
+
r("button", {
|
921
|
+
onClick: e[0] || (e[0] = (f) => n.isFilters = !n.isFilters),
|
917
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"
|
918
923
|
}, [
|
919
|
-
|
924
|
+
x(u, {
|
920
925
|
height: "16",
|
921
926
|
width: "16"
|
922
927
|
}),
|
923
928
|
e[4] || (e[4] = D(" Фільтри ")),
|
924
|
-
|
929
|
+
s.onFilters ? (l(), a("span", Ln, A(s.onFilters), 1)) : w("", !0)
|
925
930
|
]),
|
926
|
-
|
927
|
-
default:
|
928
|
-
var
|
931
|
+
x(P, { name: "fade" }, {
|
932
|
+
default: C(() => {
|
933
|
+
var f;
|
929
934
|
return [
|
930
|
-
|
935
|
+
z(r("div", {
|
931
936
|
onClick: e[3] || (e[3] = (...g) => o.closeFilter && o.closeFilter(...g)),
|
932
937
|
style: { height: "100vh" },
|
933
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)]"
|
934
939
|
}, [
|
935
|
-
|
936
|
-
(
|
940
|
+
r("div", Un, [
|
941
|
+
(f = s.scheme) != null && f.length ? (l(), _(b, {
|
937
942
|
key: 0,
|
938
943
|
ref: "filter",
|
939
|
-
scheme:
|
944
|
+
scheme: s.scheme,
|
940
945
|
layout: "default",
|
941
946
|
"apply-vue-router": "",
|
942
947
|
history: "",
|
943
948
|
name: "filter",
|
944
949
|
onFilterChange: e[1] || (e[1] = (g) => t.$emit("filterChange", g)),
|
945
950
|
closeFilterBtn: !0,
|
946
|
-
onFilterClose: e[2] || (e[2] = (g) =>
|
947
|
-
}, null, 8, ["scheme"])) :
|
951
|
+
onFilterClose: e[2] || (e[2] = (g) => n.isFilters = !1)
|
952
|
+
}, null, 8, ["scheme"])) : w("", !0)
|
948
953
|
])
|
949
954
|
], 512), [
|
950
|
-
[
|
955
|
+
[_e, n.isFilters]
|
951
956
|
])
|
952
957
|
];
|
953
958
|
}),
|
@@ -955,25 +960,25 @@ function Cr(t, e, n, a, r, o) {
|
|
955
960
|
})
|
956
961
|
], 64);
|
957
962
|
}
|
958
|
-
const
|
963
|
+
const En = /* @__PURE__ */ k(Pn, [["render", On]]), Nn = {
|
959
964
|
props: { tabsList: { type: Array, default: () => [] }, filterState: String }
|
960
|
-
},
|
965
|
+
}, Hn = {
|
961
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",
|
962
967
|
"aria-label": "Tabs",
|
963
968
|
role: "tablist",
|
964
969
|
"aria-orientation": "horizontal"
|
965
|
-
},
|
966
|
-
function
|
967
|
-
return l(),
|
968
|
-
(l(!0),
|
970
|
+
}, Rn = ["onClick"];
|
971
|
+
function Wn(t, e, s, i, n, o) {
|
972
|
+
return l(), a("nav", Hn, [
|
973
|
+
(l(!0), a($, null, T(s.tabsList, (u) => (l(), a("button", {
|
969
974
|
onClick: (b) => t.$emit("update:filterState", u == null ? void 0 : u.name),
|
970
|
-
class:
|
971
|
-
" 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) ===
|
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
|
+
" 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
|
972
977
|
}])
|
973
|
-
},
|
978
|
+
}, A(u == null ? void 0 : u.label), 11, Rn))), 256))
|
974
979
|
]);
|
975
980
|
}
|
976
|
-
const
|
981
|
+
const Gn = /* @__PURE__ */ k(Nn, [["render", Wn]]), Zn = {}, Jn = {
|
977
982
|
xmlns: "http://www.w3.org/2000/svg",
|
978
983
|
viewBox: "0 0 24 24",
|
979
984
|
fill: "none",
|
@@ -983,47 +988,47 @@ const Vr = /* @__PURE__ */ _(Sr, [["render", Tr]]), Dr = {}, Fr = {
|
|
983
988
|
"stroke-linejoin": "round",
|
984
989
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-filter"
|
985
990
|
};
|
986
|
-
function
|
987
|
-
return l(),
|
988
|
-
|
991
|
+
function Kn(t, e, s, i, n, o) {
|
992
|
+
return l(), a("svg", Jn, e[0] || (e[0] = [
|
993
|
+
r("path", {
|
989
994
|
stroke: "none",
|
990
995
|
d: "M0 0h24v24H0z",
|
991
996
|
fill: "none"
|
992
997
|
}, null, -1),
|
993
|
-
|
998
|
+
r("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)
|
994
999
|
]));
|
995
1000
|
}
|
996
|
-
const
|
997
|
-
components: { IconFilter2:
|
1001
|
+
const Qn = /* @__PURE__ */ k(Zn, [["render", Kn]]), Xn = {
|
1002
|
+
components: { IconFilter2: Qn },
|
998
1003
|
props: { filterCustom: String, customList: Array }
|
999
|
-
},
|
1000
|
-
function
|
1001
|
-
const u =
|
1002
|
-
return l(),
|
1004
|
+
}, Yn = { 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" }, es = { class: "flex flex-col gap-[4px]" }, ts = ["onClick"];
|
1005
|
+
function ns(t, e, s, i, n, o) {
|
1006
|
+
const u = h("IconFilter2"), b = h("VsPopover");
|
1007
|
+
return l(), _(b, {
|
1003
1008
|
ref: "popover",
|
1004
1009
|
placement: "bottom"
|
1005
1010
|
}, {
|
1006
|
-
reference:
|
1007
|
-
|
1008
|
-
|
1011
|
+
reference: C(() => [
|
1012
|
+
r("button", Yn, [
|
1013
|
+
x(u, {
|
1009
1014
|
height: "20",
|
1010
1015
|
width: "20"
|
1011
1016
|
})
|
1012
1017
|
])
|
1013
1018
|
]),
|
1014
|
-
default:
|
1015
|
-
|
1016
|
-
(l(!0),
|
1017
|
-
onClick: (
|
1019
|
+
default: C(() => [
|
1020
|
+
r("div", es, [
|
1021
|
+
(l(!0), a($, null, T(s.customList, (f, g) => (l(), a("button", {
|
1022
|
+
onClick: (v) => {
|
1018
1023
|
var c;
|
1019
|
-
t.$emit("update:filterCustom",
|
1024
|
+
t.$emit("update:filterCustom", f == null ? void 0 : f.name), (c = t.$refs) == null || c.popover.togglePopover();
|
1020
1025
|
},
|
1021
1026
|
key: g,
|
1022
|
-
class:
|
1023
|
-
},
|
1024
|
-
|
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, ts))), 128)),
|
1029
|
+
r("button", {
|
1025
1030
|
class: "p-[8px] block rounded-lg w-[140px] text-start hover:bg-gray-100 !duration-300",
|
1026
|
-
onClick: e[0] || (e[0] = (
|
1031
|
+
onClick: e[0] || (e[0] = (f) => {
|
1027
1032
|
var g;
|
1028
1033
|
t.$emit("update:filterCustom", void 0), (g = t.$refs) == null || g.popover.togglePopover();
|
1029
1034
|
})
|
@@ -1033,29 +1038,61 @@ function Lr(t, e, n, a, r, o) {
|
|
1033
1038
|
_: 1
|
1034
1039
|
}, 512);
|
1035
1040
|
}
|
1036
|
-
const
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1041
|
+
const ss = /* @__PURE__ */ k(Xn, [["render", ns]]), rs = { class: "flex items-center gap-x-2" }, ls = {
|
1042
|
+
__name: "admin-table-custom-buttons",
|
1043
|
+
props: {
|
1044
|
+
slots: Object
|
1045
|
+
},
|
1046
|
+
setup(t) {
|
1047
|
+
var b, f, g, v, c;
|
1048
|
+
const { asyncTemplateSlot: e } = (c = (v = (g = (f = (b = Pe()) == 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 = xe(""), i = xe(""), n = t, o = () => {
|
1049
|
+
var m;
|
1050
|
+
if (n.slots.panelLeft.includes("<")) {
|
1051
|
+
const p = e("PanelLeft", (m = n.slots) == null ? void 0 : m.panelLeft, [
|
1052
|
+
"name"
|
1053
|
+
]);
|
1054
|
+
i.value = p;
|
1055
|
+
} else
|
1056
|
+
i.value = n.slots.panelLeft;
|
1057
|
+
}, u = () => {
|
1058
|
+
var m;
|
1059
|
+
if (n.slots.panelRight.includes("<")) {
|
1060
|
+
const p = e("PanelRight", (m = n.slots) == null ? void 0 : m.panelRight, [
|
1061
|
+
"name"
|
1062
|
+
]);
|
1063
|
+
s.value = p;
|
1064
|
+
} else
|
1065
|
+
s.value = n.slots.panelRight;
|
1066
|
+
};
|
1067
|
+
return o(), u(), (m, p) => (l(), a("div", rs, [
|
1068
|
+
(l(), _(B(i.value))),
|
1069
|
+
(l(), _(B(s.value)))
|
1070
|
+
]));
|
1071
|
+
}
|
1072
|
+
}, os = (t, e = 300) => {
|
1073
|
+
let s;
|
1074
|
+
return function(...i) {
|
1075
|
+
clearTimeout(s), s = setTimeout(() => {
|
1076
|
+
t.apply(this, i);
|
1041
1077
|
}, e);
|
1042
1078
|
};
|
1043
|
-
},
|
1079
|
+
}, as = {
|
1044
1080
|
props: { table: String, title: String },
|
1045
1081
|
components: {
|
1046
|
-
AdminTableControl:
|
1047
|
-
AdminTableExport:
|
1048
|
-
AdminTableColumnsHidden:
|
1049
|
-
AdminTableColumn:
|
1050
|
-
AdminNodata:
|
1051
|
-
IconPlus:
|
1052
|
-
IconSearch:
|
1053
|
-
AdminTableCardInfo:
|
1054
|
-
IconOpenCard:
|
1055
|
-
AdminComponentIs:
|
1056
|
-
AdminTableFilters:
|
1057
|
-
AdminTableTabs:
|
1058
|
-
AdminTableCustomFilters:
|
1082
|
+
AdminTableControl: dt,
|
1083
|
+
AdminTableExport: Bt,
|
1084
|
+
AdminTableColumnsHidden: Kt,
|
1085
|
+
AdminTableColumn: Ge,
|
1086
|
+
AdminNodata: sn,
|
1087
|
+
IconPlus: ke,
|
1088
|
+
IconSearch: Me,
|
1089
|
+
AdminTableCardInfo: Tn,
|
1090
|
+
IconOpenCard: Mn,
|
1091
|
+
AdminComponentIs: ve,
|
1092
|
+
AdminTableFilters: En,
|
1093
|
+
AdminTableTabs: Gn,
|
1094
|
+
AdminTableCustomFilters: ss,
|
1095
|
+
AdminTableCustomButtons: ls
|
1059
1096
|
},
|
1060
1097
|
data() {
|
1061
1098
|
return {
|
@@ -1084,7 +1121,7 @@ const Ur = /* @__PURE__ */ _(qr, [["render", Lr]]), Or = (t, e = 300) => {
|
|
1084
1121
|
},
|
1085
1122
|
columns() {
|
1086
1123
|
var t, e;
|
1087
|
-
return (e = (t = this.tableData) == null ? void 0 : t.columns) == null ? void 0 : e.filter((
|
1124
|
+
return (e = (t = this.tableData) == null ? void 0 : t.columns) == null ? void 0 : e.filter((s) => (s == null ? void 0 : s.hidden) !== !0);
|
1088
1125
|
},
|
1089
1126
|
isForm() {
|
1090
1127
|
var t;
|
@@ -1096,9 +1133,9 @@ const Ur = /* @__PURE__ */ _(qr, [["render", Lr]]), Or = (t, e = 300) => {
|
|
1096
1133
|
},
|
1097
1134
|
activeCardRow() {
|
1098
1135
|
var t, e;
|
1099
|
-
return ((e = (t = this.tableData) == null ? void 0 : t.rows) == null ? void 0 : e.find((
|
1100
|
-
var
|
1101
|
-
return (
|
1136
|
+
return ((e = (t = this.tableData) == null ? void 0 : t.rows) == null ? void 0 : e.find((s) => {
|
1137
|
+
var i, n;
|
1138
|
+
return (s == null ? void 0 : s.id) === ((n = (i = this.$route) == null ? void 0 : i.query) == null ? void 0 : n.card);
|
1102
1139
|
})) || {};
|
1103
1140
|
},
|
1104
1141
|
getActions() {
|
@@ -1111,7 +1148,7 @@ const Ur = /* @__PURE__ */ _(qr, [["render", Lr]]), Or = (t, e = 300) => {
|
|
1111
1148
|
this.tableData = null, await this.getTableData();
|
1112
1149
|
},
|
1113
1150
|
searchValue: {
|
1114
|
-
handler:
|
1151
|
+
handler: os(async function(t) {
|
1115
1152
|
var e;
|
1116
1153
|
await this.getTableData(), this.$router.push({
|
1117
1154
|
...this.$route,
|
@@ -1121,8 +1158,8 @@ const Ur = /* @__PURE__ */ _(qr, [["render", Lr]]), Or = (t, e = 300) => {
|
|
1121
1158
|
},
|
1122
1159
|
$route: {
|
1123
1160
|
handler(t, e) {
|
1124
|
-
var
|
1125
|
-
((
|
1161
|
+
var s, i;
|
1162
|
+
((s = t == null ? void 0 : t.params) == null ? void 0 : s.catchAll) !== ((i = e == null ? void 0 : e.params) == null ? void 0 : i.catchAll) && (this.visibleColumns = [], this.unmountedData(), this.getFilters());
|
1126
1163
|
},
|
1127
1164
|
deep: !0
|
1128
1165
|
},
|
@@ -1145,36 +1182,36 @@ const Ur = /* @__PURE__ */ _(qr, [["render", Lr]]), Or = (t, e = 300) => {
|
|
1145
1182
|
}), this.getTableData();
|
1146
1183
|
},
|
1147
1184
|
columns(t) {
|
1148
|
-
var e,
|
1185
|
+
var e, s, i, n;
|
1149
1186
|
this.visibleColumns = t == null ? void 0 : t.map((o) => o == null ? void 0 : o.name), this.initialHiddenColumns === ((e = this.visibleColumns) == null ? void 0 : e.join(",")) && (this.visibleColumns = []), this.$router.replace({
|
1150
1187
|
...this.$route,
|
1151
1188
|
query: {
|
1152
|
-
...(
|
1153
|
-
columns: (
|
1189
|
+
...(s = this.$route) == null ? void 0 : s.query,
|
1190
|
+
columns: (i = this.visibleColumns) != null && i.length ? (n = this.visibleColumns) == null ? void 0 : n.join(",") : void 0
|
1154
1191
|
}
|
1155
1192
|
});
|
1156
1193
|
}
|
1157
1194
|
},
|
1158
1195
|
methods: {
|
1159
1196
|
async checkUrlMounted() {
|
1160
|
-
var t, e,
|
1161
|
-
this.page = ((e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.page) || 1, this.limit = ((
|
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) || void 0, this.filterState = ((b = (u = this.$route) == null ? void 0 : u.query) == null ? void 0 : b.filterState) || null, this.filterCustom = ((g = (f = this.$route) == null ? void 0 : f.query) == null ? void 0 : g.custom) || null, this.searchValue = ((c = (v = this.$route) == null ? void 0 : v.query) == null ? void 0 : c.search) || "", this.visibleColumns = ((S = (p = (m = this.$route) == null ? void 0 : m.query) == null ? void 0 : p.columns) == null ? void 0 : S.split(",")) || [], (y = this.$route) != null && y.query.card && (this.isVisibleCardInfo = !0);
|
1162
1199
|
},
|
1163
1200
|
rowWidth(t) {
|
1164
|
-
var
|
1165
|
-
const e = (
|
1201
|
+
var s, i;
|
1202
|
+
const e = (i = (s = this.tableData) == null ? void 0 : s.columns) == null ? void 0 : i.find((n) => n.name === t);
|
1166
1203
|
if (e) {
|
1167
|
-
const
|
1168
|
-
return
|
1204
|
+
const n = e == null ? void 0 : e.width;
|
1205
|
+
return n != null && n.includes("px") ? n : `${n}px`;
|
1169
1206
|
}
|
1170
1207
|
},
|
1171
1208
|
unmountedData() {
|
1172
1209
|
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 = "";
|
1173
1210
|
},
|
1174
1211
|
async getTableData() {
|
1175
|
-
var t, e,
|
1212
|
+
var t, e, s, i, n, o, u, b, f, g, v;
|
1176
1213
|
try {
|
1177
|
-
const { data: c } = await V.get(`/api/template/table/${this.table}`),
|
1214
|
+
const { data: c } = await V.get(`/api/template/table/${this.table}`), m = await V.get(`/api/table-data/${this.table}`, {
|
1178
1215
|
params: {
|
1179
1216
|
page: this.page,
|
1180
1217
|
search: this.searchValue || null,
|
@@ -1187,11 +1224,11 @@ const Ur = /* @__PURE__ */ _(qr, [["render", Lr]]), Or = (t, e = 300) => {
|
|
1187
1224
|
});
|
1188
1225
|
this.tableData = {
|
1189
1226
|
...c,
|
1190
|
-
...(
|
1191
|
-
}, this.initialHiddenColumns = (o = (
|
1192
|
-
var
|
1193
|
-
(
|
1194
|
-
}) : this.visibleColumns = (
|
1227
|
+
...(m == null ? void 0 : m.data) || {}
|
1228
|
+
}, this.initialHiddenColumns = (o = (n = (i = (s = this.tableData) == null ? void 0 : s.columns) == null ? void 0 : i.filter((p) => (p == null ? void 0 : p.hidden) !== !0)) == null ? void 0 : n.map((p) => p == null ? void 0 : p.name)) == null ? void 0 : o.join(","), (u = this.visibleColumns) != null && u.length ? (b = this.tableData) == null || b.columns.forEach((p) => {
|
1229
|
+
var S;
|
1230
|
+
(S = this.visibleColumns) != null && S.includes(p == null ? void 0 : p.name) ? p.hidden = !1 : p.hidden = !0;
|
1231
|
+
}) : this.visibleColumns = (v = (g = (f = this.tableData) == null ? void 0 : f.columns) == null ? void 0 : g.filter((p) => (p == null ? void 0 : p.hidden) !== !0)) == null ? void 0 : v.map((p) => p == null ? void 0 : p.name);
|
1195
1232
|
} catch {
|
1196
1233
|
}
|
1197
1234
|
},
|
@@ -1199,9 +1236,9 @@ const Ur = /* @__PURE__ */ _(qr, [["render", Lr]]), Or = (t, e = 300) => {
|
|
1199
1236
|
var t;
|
1200
1237
|
try {
|
1201
1238
|
const { data: e } = await V.get(`/api/table-filter/${this.table}`);
|
1202
|
-
this.filterScheme = (t = e == null ? void 0 : e.list) == null ? void 0 : t.map((
|
1203
|
-
...
|
1204
|
-
label: (
|
1239
|
+
this.filterScheme = (t = e == null ? void 0 : e.list) == null ? void 0 : t.map((s) => ({
|
1240
|
+
...s,
|
1241
|
+
label: (s == null ? void 0 : s.label) || (s == null ? void 0 : s.ua)
|
1205
1242
|
}));
|
1206
1243
|
} catch {
|
1207
1244
|
}
|
@@ -1214,8 +1251,8 @@ const Ur = /* @__PURE__ */ _(qr, [["render", Lr]]), Or = (t, e = 300) => {
|
|
1214
1251
|
this.limit = await t, this.defaultPage = 1, await this.getTableData();
|
1215
1252
|
},
|
1216
1253
|
async filterChange({ url: t, state: e }) {
|
1217
|
-
var
|
1218
|
-
this.filters = t !== "no-url" ? t : null, this.onFilters = (
|
1254
|
+
var s;
|
1255
|
+
this.filters = t !== "no-url" ? t : null, this.onFilters = (s = Object.entries(e)) == null ? void 0 : s.length, this.page = 1, await this.getTableData();
|
1219
1256
|
},
|
1220
1257
|
changeActiveColumn(t) {
|
1221
1258
|
this.activeColumn = t, this.getTableData();
|
@@ -1239,208 +1276,227 @@ const Ur = /* @__PURE__ */ _(qr, [["render", Lr]]), Or = (t, e = 300) => {
|
|
1239
1276
|
});
|
1240
1277
|
}
|
1241
1278
|
}
|
1242
|
-
},
|
1279
|
+
}, is = { class: "w-[calc(100vw - 320px)] bg-gray-50" }, cs = { class: "h-[76px] mt-[15px] flex items-center justify-between mx-[20px] px-[20px] bg-white border rounded-xl" }, us = { class: "text-xl font-medium" }, ds = {
|
1243
1280
|
style: { height: "calc(100vh - 155px)", width: "calc(100vw - 260px)" },
|
1244
1281
|
class: "bg-gray-50 p-[20px] flex pt-[10px]"
|
1245
|
-
},
|
1282
|
+
}, hs = { class: "bg-white w-full rounded-xl border p-[20px] pr-0" }, ps = { class: "flex" }, fs = { class: "flex gap-[6px] ml-auto" }, bs = { class: "inline-block w-full align-middle" }, ms = {
|
1246
1283
|
key: 0,
|
1247
1284
|
class: "relative min-w-full divide-y divide-gray-200 table-fixed dark:divide-neutral-700"
|
1248
|
-
},
|
1285
|
+
}, gs = { class: "sticky top-[-1px] bg-white w-full after:absolute after:content-[''] after:block after:w-full after:h-px after:bg-stone-200" }, xs = { class: "right-0 border-t border-stone-200" }, ys = {
|
1249
1286
|
key: 0,
|
1250
|
-
class: "
|
1251
|
-
},
|
1287
|
+
class: "w-[70px] sticky right-0 top-0"
|
1288
|
+
}, _s = { class: "divide-y divide-gray-200" }, ks = { class: "px-4 py-3 text-sm text-gray-600" }, vs = ["onClick"], ws = ["onClick"], Cs = { class: "p-[20px] flex justify-start items-center w-full" }, $s = { class: "w-[200px]" }, Ss = { class: "text-sm text-gray-600 dark:text-neutral-400" }, As = { class: "font-semibold text-gray-800 dark:text-neutral-200" }, Is = { key: 0 }, Ts = {
|
1252
1289
|
key: 0,
|
1253
1290
|
class: "font-semibold text-gray-800 dark:text-neutral-200"
|
1254
1291
|
};
|
1255
|
-
function
|
1256
|
-
var
|
1257
|
-
const u =
|
1258
|
-
return l(),
|
1259
|
-
|
1260
|
-
|
1261
|
-
o.isForm ? (l(),
|
1292
|
+
function Vs(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, re, le, oe;
|
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"), F = h("IconOpenCard"), q = h("AdminTableColumn"), L = h("AdminComponentIs"), we = h("AdminTableControl"), Ce = h("AdminNodata"), $e = h("VsPagination"), Se = h("AdminTableCardInfo");
|
1295
|
+
return l(), a("div", is, [
|
1296
|
+
r("div", cs, [
|
1297
|
+
r("h2", us, A(s.title), 1),
|
1298
|
+
o.isForm ? (l(), _(b, {
|
1262
1299
|
key: 0,
|
1263
|
-
to: `/add?table=${(
|
1300
|
+
to: `/add?table=${(O = (U = t.$route) == null ? void 0 : U.params) == null ? void 0 : O.catchAll}`,
|
1264
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"
|
1265
1302
|
}, {
|
1266
|
-
default:
|
1267
|
-
|
1303
|
+
default: C(() => [
|
1304
|
+
x(u, {
|
1268
1305
|
height: "16",
|
1269
1306
|
width: "16"
|
1270
1307
|
}),
|
1271
1308
|
e[5] || (e[5] = D(" Додати "))
|
1272
1309
|
]),
|
1273
1310
|
_: 1
|
1274
|
-
}, 8, ["to"])) :
|
1311
|
+
}, 8, ["to"])) : w("", !0)
|
1275
1312
|
]),
|
1276
|
-
|
1277
|
-
|
1278
|
-
(
|
1313
|
+
r("div", ds, [
|
1314
|
+
r("div", hs, [
|
1315
|
+
(N = (E = n.tableData) == null ? void 0 : E.filterState) != null && N.length ? (l(), _(f, {
|
1279
1316
|
key: 0,
|
1280
|
-
tabsList: (
|
1281
|
-
filterState:
|
1282
|
-
"onUpdate:filterState": e[0] || (e[0] = (
|
1283
|
-
}, null, 8, ["tabsList", "filterState"])) :
|
1284
|
-
|
1285
|
-
|
1286
|
-
class:
|
1317
|
+
tabsList: (H = n.tableData) == null ? void 0 : H.filterState,
|
1318
|
+
filterState: n.filterState,
|
1319
|
+
"onUpdate:filterState": e[0] || (e[0] = (d) => n.filterState = d)
|
1320
|
+
}, null, 8, ["tabsList", "filterState"])) : w("", !0),
|
1321
|
+
r("div", ps, [
|
1322
|
+
r("div", {
|
1323
|
+
class: I([n.isVisibleCardInfo ? "w-[calc(100%-360px)]" : "w-full"])
|
1287
1324
|
}, [
|
1288
|
-
|
1289
|
-
class:
|
1325
|
+
r("div", {
|
1326
|
+
class: I(["flex sm:grid sm:grid-cols-2 gap-x-2 sm:gap-x-5 mb-[10px] relative", { "pr-[20px]": !n.isVisibleCardInfo }])
|
1290
1327
|
}, [
|
1291
|
-
|
1328
|
+
x(g, {
|
1292
1329
|
height: "14",
|
1293
1330
|
width: "14",
|
1294
1331
|
class: "absolute top-[10px] left-[14px] text-gray-500 z-[1]"
|
1295
1332
|
}),
|
1296
|
-
|
1297
|
-
modelValue:
|
1298
|
-
"onUpdate:modelValue": e[1] || (e[1] = (
|
1333
|
+
x(v, {
|
1334
|
+
modelValue: n.searchValue,
|
1335
|
+
"onUpdate:modelValue": e[1] || (e[1] = (d) => n.searchValue = d),
|
1299
1336
|
placeholder: "Пошук...",
|
1300
1337
|
clearable: !0,
|
1301
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"
|
1302
1339
|
}, null, 8, ["modelValue"]),
|
1303
|
-
|
1304
|
-
(
|
1340
|
+
r("div", fs, [
|
1341
|
+
(R = n.tableData) != null && R.slots ? (l(), _(c, {
|
1305
1342
|
key: 0,
|
1306
|
-
|
1307
|
-
|
1308
|
-
|
1309
|
-
|
1310
|
-
|
1311
|
-
|
1312
|
-
|
1343
|
+
slots: (W = n.tableData) == null ? void 0 : W.slots
|
1344
|
+
}, null, 8, ["slots"])) : w("", !0),
|
1345
|
+
(Z = (G = n.tableData) == null ? void 0 : G.filterCustom) != null && Z.length ? (l(), _(m, {
|
1346
|
+
key: 1,
|
1347
|
+
customList: (J = n.tableData) == null ? void 0 : J.filterCustom,
|
1348
|
+
filterCustom: n.filterCustom,
|
1349
|
+
"onUpdate:filterCustom": e[2] || (e[2] = (d) => n.filterCustom = d)
|
1350
|
+
}, null, 8, ["customList", "filterCustom"])) : w("", !0),
|
1351
|
+
x(p, {
|
1352
|
+
columns: (K = n.tableData) == null ? void 0 : K.columns,
|
1353
|
+
onUpdateColumns: e[3] || (e[3] = (d) => n.tableData.columns = d)
|
1313
1354
|
}, null, 8, ["columns"]),
|
1314
|
-
|
1315
|
-
table:
|
1316
|
-
columns: (
|
1317
|
-
page:
|
1318
|
-
"filter-state":
|
1319
|
-
"filter-custom":
|
1320
|
-
filters:
|
1355
|
+
x(S, {
|
1356
|
+
table: s.table,
|
1357
|
+
columns: (Q = n.tableData) == null ? void 0 : Q.columns,
|
1358
|
+
page: n.page,
|
1359
|
+
"filter-state": n.filterState,
|
1360
|
+
"filter-custom": n.filterCustom,
|
1361
|
+
filters: n.filters
|
1321
1362
|
}, null, 8, ["table", "columns", "page", "filter-state", "filter-custom", "filters"]),
|
1322
|
-
|
1323
|
-
|
1324
|
-
|
1363
|
+
(X = n.filterScheme) != null && X.length ? (l(), _(y, {
|
1364
|
+
key: 2,
|
1365
|
+
scheme: n.filterScheme,
|
1366
|
+
onFilters: n.onFilters,
|
1325
1367
|
onFilterChange: o.filterChange
|
1326
|
-
}, null, 8, ["scheme", "onFilters", "onFilterChange"]),
|
1327
|
-
|
1328
|
-
onClick: e[4] || (e[4] = (...
|
1368
|
+
}, null, 8, ["scheme", "onFilters", "onFilterChange"])) : w("", !0),
|
1369
|
+
r("button", {
|
1370
|
+
onClick: e[4] || (e[4] = (...d) => o.toggleCardInfo && o.toggleCardInfo(...d)),
|
1329
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"
|
1330
1372
|
}, [
|
1331
|
-
|
1332
|
-
class:
|
1373
|
+
x(F, {
|
1374
|
+
class: I({ "rotate-180 duration-300": !n.isVisibleCardInfo })
|
1333
1375
|
}, null, 8, ["class"])
|
1334
1376
|
])
|
1335
1377
|
])
|
1336
1378
|
], 2),
|
1337
|
-
|
1338
|
-
class:
|
1379
|
+
r("div", {
|
1380
|
+
class: I(["flex items-start justify-start w-full space-y-5", { "pr-[20px]": !n.isVisibleCardInfo }])
|
1339
1381
|
}, [
|
1340
|
-
|
1341
|
-
style:
|
1342
|
-
height: (
|
1382
|
+
r("div", {
|
1383
|
+
style: ye({
|
1384
|
+
height: (ee = (Y = n.tableData) == null ? void 0 : Y.filterState) != null && ee.length ? "calc(100vh - 370px)" : "calc(100vh - 330px)"
|
1343
1385
|
}),
|
1344
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"
|
1345
1387
|
}, [
|
1346
|
-
|
1347
|
-
o.isNoData ? (l(),
|
1348
|
-
|
1349
|
-
|
1350
|
-
(l(!0),
|
1351
|
-
key:
|
1352
|
-
style:
|
1353
|
-
width: o.rowWidth(
|
1354
|
-
textAlign:
|
1355
|
-
wordBreak:
|
1388
|
+
r("div", bs, [
|
1389
|
+
o.isNoData ? (l(), _(Ce, { key: 1 })) : (l(), a("table", ms, [
|
1390
|
+
r("thead", gs, [
|
1391
|
+
r("tr", xs, [
|
1392
|
+
(l(!0), a($, null, T(o.columns, (d) => (l(), _(q, {
|
1393
|
+
key: d.name,
|
1394
|
+
style: ye({
|
1395
|
+
width: o.rowWidth(d == null ? void 0 : d.name),
|
1396
|
+
textAlign: d == null ? void 0 : d.align,
|
1397
|
+
wordBreak: d == null ? void 0 : d.wrap
|
1356
1398
|
}),
|
1357
|
-
data:
|
1358
|
-
activeColumn:
|
1399
|
+
data: d,
|
1400
|
+
activeColumn: n.activeColumn,
|
1359
1401
|
onChangeActive: o.changeActiveColumn
|
1360
1402
|
}, null, 8, ["style", "data", "activeColumn", "onChangeActive"]))), 128)),
|
1361
|
-
|
1403
|
+
(ne = (te = o.getActions) == null ? void 0 : te.filter((d) => d !== "add")) != null && ne.length ? (l(), a("th", ys)) : w("", !0)
|
1362
1404
|
])
|
1363
1405
|
]),
|
1364
|
-
|
1365
|
-
(l(!0),
|
1366
|
-
var
|
1367
|
-
return l(),
|
1368
|
-
|
1369
|
-
|
1370
|
-
|
1371
|
-
|
1372
|
-
|
1406
|
+
r("tbody", _s, [
|
1407
|
+
(l(!0), a($, null, T((se = n.tableData) == null ? void 0 : se.rows, (d, Ae) => {
|
1408
|
+
var ae, ie, ce, ue, de, he, pe, fe, be, me;
|
1409
|
+
return l(), a("tr", {
|
1410
|
+
key: Ae,
|
1411
|
+
class: I({
|
1412
|
+
"bg-gray-50": ((ie = (ae = t.$route) == null ? void 0 : ae.query) == null ? void 0 : ie.card) === (d == null ? void 0 : d.id)
|
1413
|
+
})
|
1414
|
+
}, [
|
1415
|
+
r("td", ks, [
|
1416
|
+
r("button", {
|
1417
|
+
onClick: () => o.pushToCard(d == null ? void 0 : d.id),
|
1418
|
+
class: I(["text-sm font-medium", [
|
1419
|
+
((ce = n.tableData) == null ? void 0 : ce.card) === !1 ? "" : "text-blue-600 decoration-2 focus:outline-none focus:underline hover:text-blue-600 hover:underline"
|
1373
1420
|
]])
|
1374
1421
|
}, [
|
1375
|
-
|
1376
|
-
row:
|
1422
|
+
x(L, {
|
1423
|
+
row: d,
|
1377
1424
|
column: o.columns[0],
|
1378
|
-
table:
|
1425
|
+
table: s.table,
|
1379
1426
|
onUpdateTable: o.getTableData
|
1380
1427
|
}, null, 8, ["row", "column", "table", "onUpdateTable"])
|
1381
|
-
], 10,
|
1428
|
+
], 10, vs)
|
1382
1429
|
]),
|
1383
|
-
(l(!0),
|
1384
|
-
onClick: (
|
1385
|
-
class:
|
1386
|
-
key:
|
1430
|
+
(l(!0), a($, null, T((ue = o.columns) == null ? void 0 : ue.slice(1), (M) => (l(), a("td", {
|
1431
|
+
onClick: (qs) => o.changeActiveCardInfo(d == null ? void 0 : d.id),
|
1432
|
+
class: I(["px-3 py-3 text-sm text-gray-600 text-start whitespace-nowrap", { "cursor-pointer": n.isVisibleCardInfo }]),
|
1433
|
+
key: M.name
|
1387
1434
|
}, [
|
1388
|
-
|
1389
|
-
row:
|
1390
|
-
column:
|
1391
|
-
table:
|
1435
|
+
x(L, {
|
1436
|
+
row: d,
|
1437
|
+
column: M,
|
1438
|
+
table: s.table,
|
1392
1439
|
onUpdateTable: o.getTableData
|
1393
1440
|
}, null, 8, ["row", "column", "table", "onUpdateTable"])
|
1394
|
-
], 10,
|
1395
|
-
(
|
1396
|
-
|
1441
|
+
], 10, ws))), 128)),
|
1442
|
+
(he = (de = o.getActions) == null ? void 0 : de.filter((M) => M !== "add")) != null && he.length ? (l(), a("td", {
|
1443
|
+
key: 0,
|
1444
|
+
class: I(["text-center sticky right-0 w-[80px] px-[10px]", {
|
1445
|
+
"bg-gray-50": ((fe = (pe = t.$route) == null ? void 0 : pe.query) == null ? void 0 : fe.card) === (d == null ? void 0 : d.id),
|
1446
|
+
"bg-white": ((me = (be = t.$route) == null ? void 0 : be.query) == null ? void 0 : me.card) !== (d == null ? void 0 : d.id)
|
1447
|
+
}])
|
1448
|
+
}, [
|
1449
|
+
x(we, {
|
1397
1450
|
actions: o.getActions,
|
1398
1451
|
isForm: o.isForm,
|
1399
|
-
item:
|
1400
|
-
table:
|
1452
|
+
item: d,
|
1453
|
+
table: s.table,
|
1401
1454
|
onUpdateTable: o.getTableData
|
1402
1455
|
}, null, 8, ["actions", "isForm", "item", "table", "onUpdateTable"])
|
1403
|
-
])) :
|
1404
|
-
]);
|
1456
|
+
], 2)) : w("", !0)
|
1457
|
+
], 2);
|
1405
1458
|
}), 128))
|
1406
1459
|
])
|
1407
1460
|
]))
|
1408
1461
|
])
|
1409
1462
|
], 4)
|
1410
1463
|
], 2),
|
1411
|
-
|
1412
|
-
|
1413
|
-
|
1414
|
-
|
1415
|
-
D(
|
1416
|
-
|
1464
|
+
r("div", Cs, [
|
1465
|
+
r("div", $s, [
|
1466
|
+
r("p", Ss, [
|
1467
|
+
r("span", As, [
|
1468
|
+
D(A(n.filters || n.searchValue ? "Знайдено" : "Об'єктів") + " " + A(((re = n.tableData) == null ? void 0 : re.count) || "0 ") + " ", 1),
|
1469
|
+
n.filters || n.searchValue ? (l(), a("span", Is, " з")) : w("", !0)
|
1417
1470
|
]),
|
1418
|
-
|
1471
|
+
n.filters || n.searchValue ? (l(), a("span", Ts, A(" " + ((le = n.tableData) == null ? void 0 : le.filtered) || 0), 1)) : w("", !0)
|
1419
1472
|
])
|
1420
1473
|
]),
|
1421
|
-
|
1474
|
+
n.limit ? (l(), _($e, {
|
1422
1475
|
key: 0,
|
1423
1476
|
goTo: !1,
|
1424
1477
|
class: "justify-end",
|
1425
1478
|
"default-page": parseInt(o.defaultPage),
|
1426
|
-
total: ((
|
1427
|
-
pageSize: parseInt(
|
1479
|
+
total: ((oe = n.tableData) == null ? void 0 : oe.filtered) || 0,
|
1480
|
+
pageSize: parseInt(n.limit),
|
1428
1481
|
onPageChange: o.handlePageChange,
|
1429
1482
|
pageSizes: [10, 16, 20],
|
1430
1483
|
onPageSizeChange: o.changeLimit,
|
1431
1484
|
backgroundColor: "#D6D3D1"
|
1432
|
-
}, null, 8, ["default-page", "total", "pageSize", "onPageChange", "onPageSizeChange"])) :
|
1485
|
+
}, null, 8, ["default-page", "total", "pageSize", "onPageChange", "onPageSizeChange"])) : w("", !0)
|
1433
1486
|
])
|
1434
1487
|
], 2),
|
1435
|
-
|
1436
|
-
default:
|
1437
|
-
|
1438
|
-
|
1439
|
-
|
1440
|
-
|
1441
|
-
|
1442
|
-
|
1443
|
-
|
1488
|
+
x(P, { name: "slide-fade" }, {
|
1489
|
+
default: C(() => {
|
1490
|
+
var d;
|
1491
|
+
return [
|
1492
|
+
n.isVisibleCardInfo ? (l(), _(Se, {
|
1493
|
+
key: 0,
|
1494
|
+
table: s.table,
|
1495
|
+
columns: (d = n.tableData) == null ? void 0 : d.columns,
|
1496
|
+
row: o.activeCardRow
|
1497
|
+
}, null, 8, ["table", "columns", "row"])) : w("", !0)
|
1498
|
+
];
|
1499
|
+
}),
|
1444
1500
|
_: 1
|
1445
1501
|
})
|
1446
1502
|
])
|
@@ -1448,8 +1504,8 @@ function hn(t, e, n, a, r, o) {
|
|
1448
1504
|
])
|
1449
1505
|
]);
|
1450
1506
|
}
|
1451
|
-
const
|
1452
|
-
components: { AdminTable:
|
1507
|
+
const Ds = /* @__PURE__ */ k(as, [["render", Vs], ["__scopeId", "data-v-f77b0b94"]]), Fs = {
|
1508
|
+
components: { AdminTable: Ds },
|
1453
1509
|
data() {
|
1454
1510
|
return {
|
1455
1511
|
table: !1,
|
@@ -1461,12 +1517,13 @@ const pn = /* @__PURE__ */ _(Er, [["render", hn], ["__scopeId", "data-v-0b56a902
|
|
1461
1517
|
$route: {
|
1462
1518
|
async handler() {
|
1463
1519
|
var t;
|
1464
|
-
(t =
|
1520
|
+
(t = ge) != null && t.value || await this.getMenu(), await this.checkPageType();
|
1465
1521
|
},
|
1466
1522
|
deep: !0
|
1467
1523
|
},
|
1468
1524
|
title(t) {
|
1469
|
-
|
1525
|
+
var e;
|
1526
|
+
t && (document.title = (((e = je.value) == null ? void 0 : e.titlePrefix) || "") + t);
|
1470
1527
|
}
|
1471
1528
|
},
|
1472
1529
|
async mounted() {
|
@@ -1475,49 +1532,49 @@ const pn = /* @__PURE__ */ _(Er, [["render", hn], ["__scopeId", "data-v-0b56a902
|
|
1475
1532
|
methods: {
|
1476
1533
|
flattenMenu(t) {
|
1477
1534
|
const e = [];
|
1478
|
-
return t.forEach((
|
1479
|
-
|
1535
|
+
return t.forEach((s) => {
|
1536
|
+
s.menu ? e.push(...this.flattenMenu(s.menu)) : e.push(s);
|
1480
1537
|
}), e;
|
1481
1538
|
},
|
1482
1539
|
async checkPageType() {
|
1483
|
-
var
|
1484
|
-
const t = this.flattenMenu(
|
1540
|
+
var i, n;
|
1541
|
+
const t = this.flattenMenu(ge.value);
|
1485
1542
|
t != null && t.length || this.$router.replace("/404");
|
1486
1543
|
const e = t == null ? void 0 : t.find((o) => {
|
1487
1544
|
var u, b;
|
1488
1545
|
return (o == null ? void 0 : o.path) == ((b = (u = this.$route) == null ? void 0 : u.params) == null ? void 0 : b.catchAll);
|
1489
1546
|
});
|
1490
|
-
this.title = e == null ? void 0 : e.ua, e || this.$router.replace("/404"), e != null && e.component && this.$router.replace((
|
1491
|
-
const
|
1492
|
-
this.table =
|
1547
|
+
this.title = e == null ? void 0 : e.ua, e || this.$router.replace("/404"), e != null && e.component && this.$router.replace((n = (i = this.$route) == null ? void 0 : i.params) == null ? void 0 : n.catchAll);
|
1548
|
+
const s = e == null ? void 0 : e.table;
|
1549
|
+
this.table = s || !1, !s && this.getInterface();
|
1493
1550
|
},
|
1494
1551
|
async getInterface() {
|
1495
1552
|
var t, e;
|
1496
1553
|
try {
|
1497
|
-
const { data:
|
1554
|
+
const { data: s } = await V.get(
|
1498
1555
|
`/api/template/interface/${((e = (t = this.$route) == null ? void 0 : t.params) == null ? void 0 : e.catchAll) || ""}`
|
1499
1556
|
);
|
1500
|
-
this.interface =
|
1557
|
+
this.interface = s || "";
|
1501
1558
|
} catch {
|
1502
1559
|
this.interface = "";
|
1503
1560
|
}
|
1504
1561
|
}
|
1505
1562
|
}
|
1506
|
-
},
|
1507
|
-
function
|
1508
|
-
const u =
|
1509
|
-
return
|
1563
|
+
}, Ms = ["innerHTML"];
|
1564
|
+
function js(t, e, s, i, n, o) {
|
1565
|
+
const u = h("AdminTable");
|
1566
|
+
return n.table ? (l(), _(u, {
|
1510
1567
|
key: 0,
|
1511
|
-
table:
|
1512
|
-
title:
|
1513
|
-
}, null, 8, ["table", "title"])) : (l(),
|
1568
|
+
table: n.table,
|
1569
|
+
title: n.title
|
1570
|
+
}, null, 8, ["table", "title"])) : (l(), a("div", {
|
1514
1571
|
key: 1,
|
1515
1572
|
class: "w-full bg-gray-50",
|
1516
1573
|
style: { height: "calc(100vh - 120px)" },
|
1517
|
-
innerHTML:
|
1518
|
-
}, null, 8,
|
1574
|
+
innerHTML: n.interface
|
1575
|
+
}, null, 8, Ms));
|
1519
1576
|
}
|
1520
|
-
const
|
1577
|
+
const Ls = /* @__PURE__ */ k(Fs, [["render", js]]);
|
1521
1578
|
export {
|
1522
|
-
|
1579
|
+
Ls as default
|
1523
1580
|
};
|