@opengis/admin 0.1.74 → 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-B65ioxEK.js → IconChevronDown-BMnTiJIv.js} +1 -1
- package/dist/{add-page-Dva8zP3n.js → add-page-BxK4iJe4.js} +33 -30
- package/dist/{admin-interface-BfAJWo-U.js → admin-interface-D9vWpTqM.js} +598 -535
- package/dist/{admin-view-DW5O-fWK.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-TcYbRehu.js → card-page-KnsaeAPW.js} +3 -3
- package/dist/{card-view-CRIWNsOX.js → card-view-BAC53pSQ.js} +1 -1
- package/dist/{edit-page-Cx50IR_w.js → edit-page-D2KM1hue.js} +1 -1
- package/dist/{import-file-CFLFN46x.js → import-file-C3Slz6rJ.js} +4655 -4648
- package/dist/style.css +1 -1
- package/module/settings/form/admin.users.form.json +4 -1
- package/module/settings/select/core.user_mentioned.sql +2 -0
- package/package.json +5 -5
- 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
|
|
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
53
|
...i,
|
|
54
|
-
...
|
|
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
|
|
88
|
-
o.getVisibleIcon ? (
|
|
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
|
-
(
|
|
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
|
-
])) : (
|
|
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
|
|
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
|
|
126
|
-
(
|
|
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
|
-
(
|
|
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: {
|
|
@@ -170,7 +170,7 @@ const Ue = /* @__PURE__ */ _(ze, [["render", Le]]), Oe = {
|
|
|
170
170
|
async getData() {
|
|
171
171
|
var t;
|
|
172
172
|
try {
|
|
173
|
-
const { data: e } = await
|
|
173
|
+
const { data: e } = await V.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 Ue = /* @__PURE__ */ _(ze, [["render", Le]]), Oe = {
|
|
|
184
184
|
async deleteElement() {
|
|
185
185
|
var t;
|
|
186
186
|
try {
|
|
187
|
-
const { data: e } = await
|
|
187
|
+
const { data: e } = await V.get(
|
|
188
188
|
`/api/table/${this.table}/${(t = this.item) == null ? void 0 : t.id}`
|
|
189
189
|
);
|
|
190
|
-
await
|
|
190
|
+
await V.delete(`/api/table/${e == null ? void 0 : e.token}`), await this.$notify({
|
|
191
191
|
title: "Успішно!",
|
|
192
192
|
message: "Об`єкт успішно видалeно",
|
|
193
193
|
type: "success"
|
|
@@ -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
|
|
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, i, 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
|
|
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
|
|
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,
|
|
@@ -375,7 +375,7 @@ const rt = /* @__PURE__ */ _(et, [["render", nt]]), lt = {
|
|
|
375
375
|
return;
|
|
376
376
|
}
|
|
377
377
|
try {
|
|
378
|
-
const e = await
|
|
378
|
+
const e = await V.get("/api/export", {
|
|
379
379
|
params: {
|
|
380
380
|
table: this.table,
|
|
381
381
|
format: this.format,
|
|
@@ -386,13 +386,13 @@ const rt = /* @__PURE__ */ _(et, [["render", nt]]), lt = {
|
|
|
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
|
-
}), i = window.URL.createObjectURL(
|
|
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 rt = /* @__PURE__ */ _(et, [["render", nt]]), lt = {
|
|
|
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
|
|
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
|
-
])) : (
|
|
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
|
-
])) : (
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
e[9] || (e[9] =
|
|
500
|
-
|
|
501
|
-
(
|
|
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
|
-
(
|
|
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
|
-
(
|
|
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, i, 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__ */ _(lt, [["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
|
|
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
|
|
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((i) => (i == null ? void 0 : i.name) === (t == null ? void 0 : t.name)),
|
|
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
|
|
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
|
-
(
|
|
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, i, 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
|
|
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
|
|
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
|
|
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 ae = /* @__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
|
|
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
|
|
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
|
-
})) : (
|
|
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, i, 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
|
|
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
|
-
(
|
|
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
|
+
r("dd", Cn, [
|
|
786
|
+
r("p", $n, [
|
|
787
|
+
x(u, {
|
|
788
|
+
row: s.row,
|
|
785
789
|
column: y,
|
|
786
|
-
table:
|
|
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 y,
|
|
803
|
+
default: C(() => {
|
|
804
|
+
var y, F;
|
|
800
805
|
return [
|
|
801
|
-
(y =
|
|
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"])) : (
|
|
810
|
+
}, null, 8, ["geometry"])) : (l(), _(g, {
|
|
806
811
|
key: 1,
|
|
807
812
|
title: "У об'єкта відсутня геометрія",
|
|
808
813
|
text: "",
|
|
@@ -811,47 +816,47 @@ function hn(t, e, n, i, 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:
|
|
824
|
+
default: C(() => {
|
|
820
825
|
var y;
|
|
821
826
|
return [
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
id: (y =
|
|
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:
|
|
840
|
+
default: C(() => {
|
|
836
841
|
var y;
|
|
837
842
|
return [
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
id: (y =
|
|
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)) : (
|
|
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 pn = /* @__PURE__ */ _(tn, [["render", hn]]), bn = {}, fn = {
|
|
|
861
866
|
"stroke-linecap": "round",
|
|
862
867
|
"stroke-linejoin": "round"
|
|
863
868
|
};
|
|
864
|
-
function
|
|
865
|
-
return
|
|
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 gn = /* @__PURE__ */ _(bn, [["render", mn]]), xn = {}, yn = {
|
|
|
886
891
|
"stroke-linecap": "round",
|
|
887
892
|
"stroke-linejoin": "round"
|
|
888
893
|
};
|
|
889
|
-
function
|
|
890
|
-
return
|
|
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 kn = /* @__PURE__ */ _(xn, [["render", _n]]), vn = {
|
|
|
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
|
|
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 $n(t, e, n, i, 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
|
|
968
|
-
(
|
|
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 Dn = /* @__PURE__ */ _(In, [["render", Vn]]), Fn = {}, Mn = {
|
|
|
983
988
|
"stroke-linejoin": "round",
|
|
984
989
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-filter"
|
|
985
990
|
};
|
|
986
|
-
function
|
|
987
|
-
return
|
|
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
|
|
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
|
-
(
|
|
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 Un(t, e, n, i, r, o) {
|
|
|
1033
1038
|
_: 1
|
|
1034
1039
|
}, 512);
|
|
1035
1040
|
}
|
|
1036
|
-
const
|
|
1037
|
-
|
|
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;
|
|
1038
1074
|
return function(...i) {
|
|
1039
|
-
clearTimeout(
|
|
1075
|
+
clearTimeout(s), s = setTimeout(() => {
|
|
1040
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 On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (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 On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (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 i,
|
|
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,19 +1148,18 @@ const On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (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,
|
|
1118
1155
|
query: { ...(e = this.$route) == null ? void 0 : e.query, search: t || void 0 }
|
|
1119
1156
|
});
|
|
1120
|
-
}, 500)
|
|
1121
|
-
immediate: !0
|
|
1157
|
+
}, 500)
|
|
1122
1158
|
},
|
|
1123
1159
|
$route: {
|
|
1124
1160
|
handler(t, e) {
|
|
1125
|
-
var
|
|
1126
|
-
((
|
|
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());
|
|
1127
1163
|
},
|
|
1128
1164
|
deep: !0
|
|
1129
1165
|
},
|
|
@@ -1142,40 +1178,40 @@ const On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (t, e = 300) => {
|
|
|
1142
1178
|
var e;
|
|
1143
1179
|
this.$router.replace({
|
|
1144
1180
|
...this.$route,
|
|
1145
|
-
query: { ...(e = this.$route) == null ? void 0 : e.query,
|
|
1181
|
+
query: { ...(e = this.$route) == null ? void 0 : e.query, custom: t }
|
|
1146
1182
|
}), this.getTableData();
|
|
1147
1183
|
},
|
|
1148
1184
|
columns(t) {
|
|
1149
|
-
var e,
|
|
1185
|
+
var e, s, i, n;
|
|
1150
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({
|
|
1151
1187
|
...this.$route,
|
|
1152
1188
|
query: {
|
|
1153
|
-
...(
|
|
1154
|
-
columns: (i = this.visibleColumns) != null && i.length ? (
|
|
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
|
|
1155
1191
|
}
|
|
1156
1192
|
});
|
|
1157
1193
|
}
|
|
1158
1194
|
},
|
|
1159
1195
|
methods: {
|
|
1160
1196
|
async checkUrlMounted() {
|
|
1161
|
-
var t, e,
|
|
1162
|
-
this.page = ((e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.page) || 1, this.limit = ((i = (
|
|
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);
|
|
1163
1199
|
},
|
|
1164
1200
|
rowWidth(t) {
|
|
1165
|
-
var
|
|
1166
|
-
const e = (i = (
|
|
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);
|
|
1167
1203
|
if (e) {
|
|
1168
|
-
const
|
|
1169
|
-
return
|
|
1204
|
+
const n = e == null ? void 0 : e.width;
|
|
1205
|
+
return n != null && n.includes("px") ? n : `${n}px`;
|
|
1170
1206
|
}
|
|
1171
1207
|
},
|
|
1172
1208
|
unmountedData() {
|
|
1173
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 = "";
|
|
1174
1210
|
},
|
|
1175
1211
|
async getTableData() {
|
|
1176
|
-
var t, e,
|
|
1212
|
+
var t, e, s, i, n, o, u, b, f, g, v;
|
|
1177
1213
|
try {
|
|
1178
|
-
const { data: c } = await
|
|
1214
|
+
const { data: c } = await V.get(`/api/template/table/${this.table}`), m = await V.get(`/api/table-data/${this.table}`, {
|
|
1179
1215
|
params: {
|
|
1180
1216
|
page: this.page,
|
|
1181
1217
|
search: this.searchValue || null,
|
|
@@ -1188,21 +1224,21 @@ const On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (t, e = 300) => {
|
|
|
1188
1224
|
});
|
|
1189
1225
|
this.tableData = {
|
|
1190
1226
|
...c,
|
|
1191
|
-
...(
|
|
1192
|
-
}, this.initialHiddenColumns = (o = (
|
|
1193
|
-
var
|
|
1194
|
-
(
|
|
1195
|
-
}) : 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);
|
|
1196
1232
|
} catch {
|
|
1197
1233
|
}
|
|
1198
1234
|
},
|
|
1199
1235
|
async getFilters() {
|
|
1200
1236
|
var t;
|
|
1201
1237
|
try {
|
|
1202
|
-
const { data: e } = await
|
|
1203
|
-
this.filterScheme = (t = e == null ? void 0 : e.list) == null ? void 0 : t.map((
|
|
1204
|
-
...
|
|
1205
|
-
label: (
|
|
1238
|
+
const { data: e } = await V.get(`/api/table-filter/${this.table}`);
|
|
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)
|
|
1206
1242
|
}));
|
|
1207
1243
|
} catch {
|
|
1208
1244
|
}
|
|
@@ -1215,8 +1251,8 @@ const On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (t, e = 300) => {
|
|
|
1215
1251
|
this.limit = await t, this.defaultPage = 1, await this.getTableData();
|
|
1216
1252
|
},
|
|
1217
1253
|
async filterChange({ url: t, state: e }) {
|
|
1218
|
-
var
|
|
1219
|
-
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();
|
|
1220
1256
|
},
|
|
1221
1257
|
changeActiveColumn(t) {
|
|
1222
1258
|
this.activeColumn = t, this.getTableData();
|
|
@@ -1240,201 +1276,227 @@ const On = /* @__PURE__ */ _(zn, [["render", Un]]), En = (t, e = 300) => {
|
|
|
1240
1276
|
});
|
|
1241
1277
|
}
|
|
1242
1278
|
}
|
|
1243
|
-
},
|
|
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 = {
|
|
1244
1280
|
style: { height: "calc(100vh - 155px)", width: "calc(100vw - 260px)" },
|
|
1245
1281
|
class: "bg-gray-50 p-[20px] flex pt-[10px]"
|
|
1246
|
-
},
|
|
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 = {
|
|
1247
1283
|
key: 0,
|
|
1248
1284
|
class: "relative min-w-full divide-y divide-gray-200 table-fixed dark:divide-neutral-700"
|
|
1249
|
-
},
|
|
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 = {
|
|
1286
|
+
key: 0,
|
|
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 = {
|
|
1250
1289
|
key: 0,
|
|
1251
|
-
class: "
|
|
1252
|
-
}
|
|
1253
|
-
function
|
|
1254
|
-
var
|
|
1255
|
-
const u =
|
|
1256
|
-
return
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
o.isForm ? (
|
|
1290
|
+
class: "font-semibold text-gray-800 dark:text-neutral-200"
|
|
1291
|
+
};
|
|
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, {
|
|
1260
1299
|
key: 0,
|
|
1261
|
-
to: `/add?table=${(
|
|
1300
|
+
to: `/add?table=${(O = (U = t.$route) == null ? void 0 : U.params) == null ? void 0 : O.catchAll}`,
|
|
1262
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"
|
|
1263
1302
|
}, {
|
|
1264
|
-
default:
|
|
1265
|
-
|
|
1303
|
+
default: C(() => [
|
|
1304
|
+
x(u, {
|
|
1266
1305
|
height: "16",
|
|
1267
1306
|
width: "16"
|
|
1268
1307
|
}),
|
|
1269
1308
|
e[5] || (e[5] = D(" Додати "))
|
|
1270
1309
|
]),
|
|
1271
1310
|
_: 1
|
|
1272
|
-
}, 8, ["to"])) :
|
|
1311
|
+
}, 8, ["to"])) : w("", !0)
|
|
1273
1312
|
]),
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
(
|
|
1313
|
+
r("div", ds, [
|
|
1314
|
+
r("div", hs, [
|
|
1315
|
+
(N = (E = n.tableData) == null ? void 0 : E.filterState) != null && N.length ? (l(), _(f, {
|
|
1277
1316
|
key: 0,
|
|
1278
|
-
tabsList: (
|
|
1279
|
-
filterState:
|
|
1280
|
-
"onUpdate:filterState": e[0] || (e[0] = (
|
|
1281
|
-
}, null, 8, ["tabsList", "filterState"])) :
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
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"])
|
|
1285
1324
|
}, [
|
|
1286
|
-
|
|
1287
|
-
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 }])
|
|
1288
1327
|
}, [
|
|
1289
|
-
|
|
1328
|
+
x(g, {
|
|
1290
1329
|
height: "14",
|
|
1291
1330
|
width: "14",
|
|
1292
1331
|
class: "absolute top-[10px] left-[14px] text-gray-500 z-[1]"
|
|
1293
1332
|
}),
|
|
1294
|
-
|
|
1295
|
-
modelValue:
|
|
1296
|
-
"onUpdate:modelValue": e[1] || (e[1] = (
|
|
1333
|
+
x(v, {
|
|
1334
|
+
modelValue: n.searchValue,
|
|
1335
|
+
"onUpdate:modelValue": e[1] || (e[1] = (d) => n.searchValue = d),
|
|
1297
1336
|
placeholder: "Пошук...",
|
|
1298
1337
|
clearable: !0,
|
|
1299
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"
|
|
1300
1339
|
}, null, 8, ["modelValue"]),
|
|
1301
|
-
|
|
1302
|
-
(
|
|
1340
|
+
r("div", fs, [
|
|
1341
|
+
(R = n.tableData) != null && R.slots ? (l(), _(c, {
|
|
1303
1342
|
key: 0,
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
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)
|
|
1311
1354
|
}, null, 8, ["columns"]),
|
|
1312
|
-
|
|
1313
|
-
table:
|
|
1314
|
-
columns: (
|
|
1315
|
-
page:
|
|
1316
|
-
"filter-state":
|
|
1317
|
-
"filter-custom":
|
|
1318
|
-
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
|
|
1319
1362
|
}, null, 8, ["table", "columns", "page", "filter-state", "filter-custom", "filters"]),
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1363
|
+
(X = n.filterScheme) != null && X.length ? (l(), _(y, {
|
|
1364
|
+
key: 2,
|
|
1365
|
+
scheme: n.filterScheme,
|
|
1366
|
+
onFilters: n.onFilters,
|
|
1323
1367
|
onFilterChange: o.filterChange
|
|
1324
|
-
}, null, 8, ["scheme", "onFilters", "onFilterChange"]),
|
|
1325
|
-
|
|
1326
|
-
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)),
|
|
1327
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"
|
|
1328
1372
|
}, [
|
|
1329
|
-
|
|
1330
|
-
class:
|
|
1373
|
+
x(F, {
|
|
1374
|
+
class: I({ "rotate-180 duration-300": !n.isVisibleCardInfo })
|
|
1331
1375
|
}, null, 8, ["class"])
|
|
1332
1376
|
])
|
|
1333
1377
|
])
|
|
1334
1378
|
], 2),
|
|
1335
|
-
|
|
1336
|
-
class:
|
|
1379
|
+
r("div", {
|
|
1380
|
+
class: I(["flex items-start justify-start w-full space-y-5", { "pr-[20px]": !n.isVisibleCardInfo }])
|
|
1337
1381
|
}, [
|
|
1338
|
-
|
|
1339
|
-
style:
|
|
1340
|
-
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)"
|
|
1341
1385
|
}),
|
|
1342
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"
|
|
1343
1387
|
}, [
|
|
1344
|
-
|
|
1345
|
-
o.isNoData ? (
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
(
|
|
1349
|
-
key:
|
|
1350
|
-
style:
|
|
1351
|
-
width: o.rowWidth(
|
|
1352
|
-
textAlign:
|
|
1353
|
-
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
|
|
1354
1398
|
}),
|
|
1355
|
-
data:
|
|
1356
|
-
activeColumn:
|
|
1399
|
+
data: d,
|
|
1400
|
+
activeColumn: n.activeColumn,
|
|
1357
1401
|
onChangeActive: o.changeActiveColumn
|
|
1358
1402
|
}, null, 8, ["style", "data", "activeColumn", "onChangeActive"]))), 128)),
|
|
1359
|
-
|
|
1403
|
+
(ne = (te = o.getActions) == null ? void 0 : te.filter((d) => d !== "add")) != null && ne.length ? (l(), a("th", ys)) : w("", !0)
|
|
1360
1404
|
])
|
|
1361
1405
|
]),
|
|
1362
|
-
|
|
1363
|
-
(
|
|
1364
|
-
var
|
|
1365
|
-
return
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
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"
|
|
1371
1420
|
]])
|
|
1372
1421
|
}, [
|
|
1373
|
-
|
|
1374
|
-
row:
|
|
1422
|
+
x(L, {
|
|
1423
|
+
row: d,
|
|
1375
1424
|
column: o.columns[0],
|
|
1376
|
-
table:
|
|
1425
|
+
table: s.table,
|
|
1377
1426
|
onUpdateTable: o.getTableData
|
|
1378
1427
|
}, null, 8, ["row", "column", "table", "onUpdateTable"])
|
|
1379
|
-
], 10,
|
|
1428
|
+
], 10, vs)
|
|
1380
1429
|
]),
|
|
1381
|
-
(
|
|
1382
|
-
onClick: (
|
|
1383
|
-
class:
|
|
1384
|
-
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
|
|
1385
1434
|
}, [
|
|
1386
|
-
|
|
1387
|
-
row:
|
|
1388
|
-
column:
|
|
1389
|
-
table:
|
|
1435
|
+
x(L, {
|
|
1436
|
+
row: d,
|
|
1437
|
+
column: M,
|
|
1438
|
+
table: s.table,
|
|
1390
1439
|
onUpdateTable: o.getTableData
|
|
1391
1440
|
}, null, 8, ["row", "column", "table", "onUpdateTable"])
|
|
1392
|
-
], 10,
|
|
1393
|
-
(
|
|
1394
|
-
|
|
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, {
|
|
1395
1450
|
actions: o.getActions,
|
|
1396
1451
|
isForm: o.isForm,
|
|
1397
|
-
item:
|
|
1398
|
-
table:
|
|
1452
|
+
item: d,
|
|
1453
|
+
table: s.table,
|
|
1399
1454
|
onUpdateTable: o.getTableData
|
|
1400
1455
|
}, null, 8, ["actions", "isForm", "item", "table", "onUpdateTable"])
|
|
1401
|
-
])) :
|
|
1402
|
-
]);
|
|
1456
|
+
], 2)) : w("", !0)
|
|
1457
|
+
], 2);
|
|
1403
1458
|
}), 128))
|
|
1404
1459
|
])
|
|
1405
1460
|
]))
|
|
1406
1461
|
])
|
|
1407
1462
|
], 4)
|
|
1408
1463
|
], 2),
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
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)
|
|
1470
|
+
]),
|
|
1471
|
+
n.filters || n.searchValue ? (l(), a("span", Ts, A(" " + ((le = n.tableData) == null ? void 0 : le.filtered) || 0), 1)) : w("", !0)
|
|
1414
1472
|
])
|
|
1415
1473
|
]),
|
|
1416
|
-
|
|
1474
|
+
n.limit ? (l(), _($e, {
|
|
1417
1475
|
key: 0,
|
|
1418
1476
|
goTo: !1,
|
|
1419
1477
|
class: "justify-end",
|
|
1420
1478
|
"default-page": parseInt(o.defaultPage),
|
|
1421
|
-
total: ((
|
|
1422
|
-
pageSize: parseInt(
|
|
1479
|
+
total: ((oe = n.tableData) == null ? void 0 : oe.filtered) || 0,
|
|
1480
|
+
pageSize: parseInt(n.limit),
|
|
1423
1481
|
onPageChange: o.handlePageChange,
|
|
1424
1482
|
pageSizes: [10, 16, 20],
|
|
1425
|
-
onPageSizeChange: o.changeLimit
|
|
1426
|
-
|
|
1483
|
+
onPageSizeChange: o.changeLimit,
|
|
1484
|
+
backgroundColor: "#D6D3D1"
|
|
1485
|
+
}, null, 8, ["default-page", "total", "pageSize", "onPageChange", "onPageSizeChange"])) : w("", !0)
|
|
1427
1486
|
])
|
|
1428
1487
|
], 2),
|
|
1429
|
-
|
|
1430
|
-
default:
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
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
|
+
}),
|
|
1438
1500
|
_: 1
|
|
1439
1501
|
})
|
|
1440
1502
|
])
|
|
@@ -1442,8 +1504,8 @@ function dr(t, e, n, i, r, o) {
|
|
|
1442
1504
|
])
|
|
1443
1505
|
]);
|
|
1444
1506
|
}
|
|
1445
|
-
const
|
|
1446
|
-
components: { AdminTable:
|
|
1507
|
+
const Ds = /* @__PURE__ */ k(as, [["render", Vs], ["__scopeId", "data-v-f77b0b94"]]), Fs = {
|
|
1508
|
+
components: { AdminTable: Ds },
|
|
1447
1509
|
data() {
|
|
1448
1510
|
return {
|
|
1449
1511
|
table: !1,
|
|
@@ -1455,12 +1517,13 @@ const hr = /* @__PURE__ */ _(Hn, [["render", dr], ["__scopeId", "data-v-4fec8b49
|
|
|
1455
1517
|
$route: {
|
|
1456
1518
|
async handler() {
|
|
1457
1519
|
var t;
|
|
1458
|
-
(t =
|
|
1520
|
+
(t = ge) != null && t.value || await this.getMenu(), await this.checkPageType();
|
|
1459
1521
|
},
|
|
1460
1522
|
deep: !0
|
|
1461
1523
|
},
|
|
1462
1524
|
title(t) {
|
|
1463
|
-
|
|
1525
|
+
var e;
|
|
1526
|
+
t && (document.title = (((e = je.value) == null ? void 0 : e.titlePrefix) || "") + t);
|
|
1464
1527
|
}
|
|
1465
1528
|
},
|
|
1466
1529
|
async mounted() {
|
|
@@ -1469,49 +1532,49 @@ const hr = /* @__PURE__ */ _(Hn, [["render", dr], ["__scopeId", "data-v-4fec8b49
|
|
|
1469
1532
|
methods: {
|
|
1470
1533
|
flattenMenu(t) {
|
|
1471
1534
|
const e = [];
|
|
1472
|
-
return t.forEach((
|
|
1473
|
-
|
|
1535
|
+
return t.forEach((s) => {
|
|
1536
|
+
s.menu ? e.push(...this.flattenMenu(s.menu)) : e.push(s);
|
|
1474
1537
|
}), e;
|
|
1475
1538
|
},
|
|
1476
1539
|
async checkPageType() {
|
|
1477
|
-
var i,
|
|
1478
|
-
const t = this.flattenMenu(
|
|
1540
|
+
var i, n;
|
|
1541
|
+
const t = this.flattenMenu(ge.value);
|
|
1479
1542
|
t != null && t.length || this.$router.replace("/404");
|
|
1480
1543
|
const e = t == null ? void 0 : t.find((o) => {
|
|
1481
1544
|
var u, b;
|
|
1482
1545
|
return (o == null ? void 0 : o.path) == ((b = (u = this.$route) == null ? void 0 : u.params) == null ? void 0 : b.catchAll);
|
|
1483
1546
|
});
|
|
1484
|
-
this.title = e == null ? void 0 : e.ua, e || this.$router.replace("/404"), e != null && e.component && this.$router.replace((
|
|
1485
|
-
const
|
|
1486
|
-
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();
|
|
1487
1550
|
},
|
|
1488
1551
|
async getInterface() {
|
|
1489
1552
|
var t, e;
|
|
1490
1553
|
try {
|
|
1491
|
-
const { data:
|
|
1554
|
+
const { data: s } = await V.get(
|
|
1492
1555
|
`/api/template/interface/${((e = (t = this.$route) == null ? void 0 : t.params) == null ? void 0 : e.catchAll) || ""}`
|
|
1493
1556
|
);
|
|
1494
|
-
this.interface =
|
|
1557
|
+
this.interface = s || "";
|
|
1495
1558
|
} catch {
|
|
1496
1559
|
this.interface = "";
|
|
1497
1560
|
}
|
|
1498
1561
|
}
|
|
1499
1562
|
}
|
|
1500
|
-
},
|
|
1501
|
-
function
|
|
1502
|
-
const u =
|
|
1503
|
-
return
|
|
1563
|
+
}, Ms = ["innerHTML"];
|
|
1564
|
+
function js(t, e, s, i, n, o) {
|
|
1565
|
+
const u = h("AdminTable");
|
|
1566
|
+
return n.table ? (l(), _(u, {
|
|
1504
1567
|
key: 0,
|
|
1505
|
-
table:
|
|
1506
|
-
title:
|
|
1507
|
-
}, null, 8, ["table", "title"])) : (
|
|
1568
|
+
table: n.table,
|
|
1569
|
+
title: n.title
|
|
1570
|
+
}, null, 8, ["table", "title"])) : (l(), a("div", {
|
|
1508
1571
|
key: 1,
|
|
1509
1572
|
class: "w-full bg-gray-50",
|
|
1510
1573
|
style: { height: "calc(100vh - 120px)" },
|
|
1511
|
-
innerHTML:
|
|
1512
|
-
}, null, 8,
|
|
1574
|
+
innerHTML: n.interface
|
|
1575
|
+
}, null, 8, Ms));
|
|
1513
1576
|
}
|
|
1514
|
-
const
|
|
1577
|
+
const Ls = /* @__PURE__ */ k(Fs, [["render", js]]);
|
|
1515
1578
|
export {
|
|
1516
|
-
|
|
1579
|
+
Ls as default
|
|
1517
1580
|
};
|