@opengis/admin 0.1.22 → 0.1.24
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/IconSearch-C8Y-Yjr2.js +26 -0
- package/dist/{add-page-B0biDpqv.js → add-page-BspLXytu.js} +2 -2
- package/dist/{admin-interface-Cy2lcga3.js → admin-interface-81GXyCpn.js} +258 -244
- package/dist/{admin-view-DktC47Va.js → admin-view-DaFjKeQf.js} +155 -162
- package/dist/admin.js +1 -1
- package/dist/admin.umd.cjs +33 -33
- package/dist/{card-page-BK1iaeyq.js → card-page-utYuShXw.js} +1 -1
- package/dist/{card-view-BCmJFSR_.js → card-view-CboNdj7O.js} +1 -1
- package/dist/{edit-page-CQwOGMga.js → edit-page-CZXJ8D5x.js} +1 -1
- package/dist/{import-file-CzCwLSil.js → import-file-Ce09Q27V.js} +806 -812
- package/package.json +1 -1
|
@@ -1,22 +1,25 @@
|
|
|
1
|
-
import { _ as b, a as
|
|
2
|
-
import { u as
|
|
3
|
-
import { openBlock as
|
|
4
|
-
|
|
1
|
+
import { _ as b, a as v } from "./import-file-Ce09Q27V.js";
|
|
2
|
+
import { u as B } from "./userMenu-CT1xO2Pt.js";
|
|
3
|
+
import { openBlock as o, createElementBlock as i, createStaticVNode as A, createTextVNode as $, toDisplayString as S, createCommentVNode as w, createElementVNode as l, Fragment as x, resolveComponent as u, createVNode as h, withCtx as _, createBlock as y, withModifiers as ee, renderList as C, withDirectives as Q, vModelCheckbox as te, normalizeClass as re, resolveDynamicComponent as K, Transition as le, vShow as ne } from "vue";
|
|
4
|
+
import { I as se } from "./IconSearch-C8Y-Yjr2.js";
|
|
5
|
+
const oe = {}, ae = {
|
|
6
|
+
class: "h21yx vs0hq",
|
|
5
7
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8
|
+
width: "24",
|
|
9
|
+
height: "24",
|
|
6
10
|
viewBox: "0 0 24 24",
|
|
7
11
|
fill: "none",
|
|
8
12
|
stroke: "currentColor",
|
|
9
13
|
"stroke-width": "2",
|
|
10
14
|
"stroke-linecap": "round",
|
|
11
|
-
"stroke-linejoin": "round"
|
|
12
|
-
class: "icon icon-tabler icons-tabler-outline icon-tabler-adjustments-horizontal"
|
|
15
|
+
"stroke-linejoin": "round"
|
|
13
16
|
};
|
|
14
|
-
function
|
|
15
|
-
return
|
|
16
|
-
|
|
17
|
+
function ie(t, e, r, a, n, s) {
|
|
18
|
+
return o(), i("svg", ae, e[0] || (e[0] = [
|
|
19
|
+
A('<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)
|
|
17
20
|
]));
|
|
18
21
|
}
|
|
19
|
-
const
|
|
22
|
+
const ue = /* @__PURE__ */ b(oe, [["render", ie]]), ce = {
|
|
20
23
|
data() {
|
|
21
24
|
return {
|
|
22
25
|
currentSort: ""
|
|
@@ -62,10 +65,10 @@ const le = /* @__PURE__ */ b(ee, [["render", re]]), ne = {
|
|
|
62
65
|
},
|
|
63
66
|
handleClickSortBtn(t) {
|
|
64
67
|
this.$emit("change-active", this.data.name), this.currentSort = this.changeCurrentSort(t);
|
|
65
|
-
const e = this.$route.query, { sort: r, ...
|
|
68
|
+
const e = this.$route.query, { sort: r, ...a } = e, n = this.currentSort ? `${this.data.name}-${this.currentSort}` : "";
|
|
66
69
|
this.$router.replace({
|
|
67
70
|
query: {
|
|
68
|
-
...
|
|
71
|
+
...a,
|
|
69
72
|
...n && { sort: n }
|
|
70
73
|
}
|
|
71
74
|
});
|
|
@@ -74,10 +77,10 @@ const le = /* @__PURE__ */ b(ee, [["render", re]]), ne = {
|
|
|
74
77
|
return `${this.data.name}-${t}` === this.selectedSortParam;
|
|
75
78
|
}
|
|
76
79
|
}
|
|
77
|
-
},
|
|
80
|
+
}, de = {
|
|
78
81
|
scope: "col",
|
|
79
82
|
class: "min-w-[200px] max-w-[300px] text-start"
|
|
80
|
-
},
|
|
83
|
+
}, he = {
|
|
81
84
|
class: "flex-shrink-0 size-3.5",
|
|
82
85
|
xmlns: "http://www.w3.org/2000/svg",
|
|
83
86
|
width: "24",
|
|
@@ -88,33 +91,33 @@ const le = /* @__PURE__ */ b(ee, [["render", re]]), ne = {
|
|
|
88
91
|
"stroke-width": "2",
|
|
89
92
|
"stroke-linecap": "round",
|
|
90
93
|
"stroke-linejoin": "round"
|
|
91
|
-
},
|
|
94
|
+
}, pe = {
|
|
92
95
|
key: 0,
|
|
93
96
|
d: "m7 15 5 5 5-5"
|
|
94
|
-
},
|
|
97
|
+
}, be = {
|
|
95
98
|
key: 1,
|
|
96
99
|
d: "m7 9 5-5 5 5"
|
|
97
|
-
},
|
|
100
|
+
}, me = {
|
|
98
101
|
key: 1,
|
|
99
102
|
class: "text-sm text-gray-800 px-[4px] py-2.5 text-start font-normal text-gray-500"
|
|
100
103
|
};
|
|
101
|
-
function
|
|
102
|
-
return
|
|
103
|
-
s.getVisibleIcon ? (
|
|
104
|
+
function fe(t, e, r, a, n, s) {
|
|
105
|
+
return o(), i("th", de, [
|
|
106
|
+
s.getVisibleIcon ? (o(), i("button", {
|
|
104
107
|
key: 0,
|
|
105
108
|
type: "button",
|
|
106
109
|
class: "text-sm text-gray-800 px-[4px] py-2.5 text-start font-normal text-gray-500 flex items-center gap-[6px]",
|
|
107
110
|
onClick: e[0] || (e[0] = (m) => s.handleClickSortBtn(n.currentSort))
|
|
108
111
|
}, [
|
|
109
|
-
$(
|
|
110
|
-
(
|
|
111
|
-
n.currentSort === "asc" || n.currentSort === "" ? (
|
|
112
|
-
n.currentSort === "desc" || n.currentSort === "" ? (
|
|
112
|
+
$(S(s.label) + " ", 1),
|
|
113
|
+
(o(), i("svg", he, [
|
|
114
|
+
n.currentSort === "asc" || n.currentSort === "" ? (o(), i("path", pe)) : w("", !0),
|
|
115
|
+
n.currentSort === "desc" || n.currentSort === "" ? (o(), i("path", be)) : w("", !0)
|
|
113
116
|
]))
|
|
114
|
-
])) : (
|
|
117
|
+
])) : (o(), i("p", me, S(s.label), 1))
|
|
115
118
|
]);
|
|
116
119
|
}
|
|
117
|
-
const
|
|
120
|
+
const ge = /* @__PURE__ */ b(ce, [["render", fe]]), xe = {}, ye = {
|
|
118
121
|
xmlns: "http://www.w3.org/2000/svg",
|
|
119
122
|
viewBox: "0 0 24 24",
|
|
120
123
|
fill: "none",
|
|
@@ -124,8 +127,8 @@ const de = /* @__PURE__ */ b(ne, [["render", ce]]), he = {}, pe = {
|
|
|
124
127
|
"stroke-linejoin": "round",
|
|
125
128
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-dots-vertical"
|
|
126
129
|
};
|
|
127
|
-
function
|
|
128
|
-
return
|
|
130
|
+
function ke(t, e, r, a, n, s) {
|
|
131
|
+
return o(), i("svg", ye, e[0] || (e[0] = [
|
|
129
132
|
l("path", {
|
|
130
133
|
stroke: "none",
|
|
131
134
|
d: "M0 0h24v24H0z",
|
|
@@ -136,7 +139,7 @@ function be(t, e, r, o, n, s) {
|
|
|
136
139
|
l("path", { d: "M12 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" }, null, -1)
|
|
137
140
|
]));
|
|
138
141
|
}
|
|
139
|
-
const
|
|
142
|
+
const _e = /* @__PURE__ */ b(xe, [["render", ke]]), we = {}, ve = {
|
|
140
143
|
class: "flex-shrink-0 size-3.5",
|
|
141
144
|
xmlns: "http://www.w3.org/2000/svg",
|
|
142
145
|
viewBox: "0 0 24 24",
|
|
@@ -146,21 +149,21 @@ const me = /* @__PURE__ */ b(he, [["render", be]]), fe = {}, ge = {
|
|
|
146
149
|
"stroke-linecap": "round",
|
|
147
150
|
"stroke-linejoin": "round"
|
|
148
151
|
};
|
|
149
|
-
function
|
|
150
|
-
return
|
|
151
|
-
|
|
152
|
+
function Ce(t, e, r, a, n, s) {
|
|
153
|
+
return o(), i("svg", ve, e[0] || (e[0] = [
|
|
154
|
+
A('<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)
|
|
152
155
|
]));
|
|
153
156
|
}
|
|
154
|
-
const
|
|
157
|
+
const $e = /* @__PURE__ */ b(we, [["render", Ce]]), Se = {
|
|
155
158
|
props: {
|
|
156
159
|
height: { type: String, default: "16" },
|
|
157
160
|
width: { type: String, default: "12" },
|
|
158
161
|
color: { type: String, default: "black" }
|
|
159
162
|
}
|
|
160
|
-
},
|
|
161
|
-
function
|
|
162
|
-
return
|
|
163
|
-
(
|
|
163
|
+
}, Fe = { style: { display: "none" } }, Te = ["height", "width", "fill"];
|
|
164
|
+
function Ve(t, e, r, a, n, s) {
|
|
165
|
+
return o(), i(x, null, [
|
|
166
|
+
(o(), i("svg", Fe, e[0] || (e[0] = [
|
|
164
167
|
l("symbol", {
|
|
165
168
|
id: "icon-pencil",
|
|
166
169
|
viewBox: "0 0 32 32"
|
|
@@ -168,20 +171,20 @@ function ve(t, e, r, o, n, s) {
|
|
|
168
171
|
l("path", { d: "M27 0c2.761 0 5 2.239 5 5 0 1.126-0.372 2.164-1 3l-2 2-7-7 2-2c0.836-0.628 1.874-1 3-1zM2 23l-2 9 9-2 18.5-18.5-7-7-18.5 18.5zM22.362 11.362l-14 14-1.724-1.724 14-14 1.724 1.724z" })
|
|
169
172
|
], -1)
|
|
170
173
|
]))),
|
|
171
|
-
(
|
|
174
|
+
(o(), i("svg", {
|
|
172
175
|
height: r.height,
|
|
173
176
|
width: r.width,
|
|
174
177
|
fill: r.color
|
|
175
178
|
}, e[1] || (e[1] = [
|
|
176
179
|
l("use", { "xlink:href": "#icon-pencil" }, null, -1)
|
|
177
|
-
]), 8,
|
|
180
|
+
]), 8, Te))
|
|
178
181
|
], 64);
|
|
179
182
|
}
|
|
180
|
-
const
|
|
183
|
+
const De = /* @__PURE__ */ b(Se, [["render", Ve]]), Ae = {
|
|
181
184
|
components: {
|
|
182
|
-
IconMore:
|
|
183
|
-
IconDelete:
|
|
184
|
-
IconEdit:
|
|
185
|
+
IconMore: _e,
|
|
186
|
+
IconDelete: $e,
|
|
187
|
+
IconEdit: De
|
|
185
188
|
},
|
|
186
189
|
emits: ["updateTable"],
|
|
187
190
|
props: { item: Object, table: String, isForm: null },
|
|
@@ -201,7 +204,7 @@ const Ce = /* @__PURE__ */ b(ke, [["render", ve]]), $e = {
|
|
|
201
204
|
async getData() {
|
|
202
205
|
var t;
|
|
203
206
|
try {
|
|
204
|
-
const { data: e } = await
|
|
207
|
+
const { data: e } = await v.get(
|
|
205
208
|
`/api/table/${this.table}/${(t = this.item) == null ? void 0 : t.id}`
|
|
206
209
|
);
|
|
207
210
|
this.formValue = e;
|
|
@@ -215,7 +218,7 @@ const Ce = /* @__PURE__ */ b(ke, [["render", ve]]), $e = {
|
|
|
215
218
|
async deleteElement() {
|
|
216
219
|
var t;
|
|
217
220
|
try {
|
|
218
|
-
|
|
221
|
+
v.delete(`/api/table/${this.table}/${(t = this.item) == null ? void 0 : t.id}`), this.$notify({
|
|
219
222
|
title: "Успішно!",
|
|
220
223
|
message: "Об`єкт успішно видалeно",
|
|
221
224
|
type: "success"
|
|
@@ -229,44 +232,44 @@ const Ce = /* @__PURE__ */ b(ke, [["render", ve]]), $e = {
|
|
|
229
232
|
}
|
|
230
233
|
}
|
|
231
234
|
}
|
|
232
|
-
},
|
|
235
|
+
}, Me = { class: "hs-dropdown [--placement:bottom-right] inline-flex" }, Ie = { class: "gap-x-2 p-[4px] rounded-lg shadow-sm hover:border-transparent border focus:outline-none text-black hover:bg-gray-50" }, Be = { class: "flex flex-col items-start" }, Ee = {
|
|
233
236
|
key: 1,
|
|
234
237
|
class: "h-[1px] w-[80%] bg-gray-200 ml-auto mr-auto"
|
|
235
|
-
},
|
|
236
|
-
function
|
|
237
|
-
const m =
|
|
238
|
-
return
|
|
239
|
-
l("div",
|
|
240
|
-
h(
|
|
238
|
+
}, je = { class: "p-4" }, Pe = { class: "mt-4 flex justify-end gap-x-3" };
|
|
239
|
+
function ze(t, e, r, a, n, s) {
|
|
240
|
+
const m = u("IconMore"), c = u("IconEdit"), f = u("router-link"), g = u("IconDelete"), F = u("VsPopover"), M = u("VsDialog");
|
|
241
|
+
return o(), i(x, null, [
|
|
242
|
+
l("div", Me, [
|
|
243
|
+
h(F, {
|
|
241
244
|
trigger: "click",
|
|
242
245
|
placement: "bottom-left"
|
|
243
246
|
}, {
|
|
244
|
-
reference:
|
|
245
|
-
l("button",
|
|
247
|
+
reference: _(() => [
|
|
248
|
+
l("button", Ie, [
|
|
246
249
|
h(m, {
|
|
247
250
|
height: "16",
|
|
248
251
|
width: "16"
|
|
249
252
|
})
|
|
250
253
|
])
|
|
251
254
|
]),
|
|
252
|
-
default:
|
|
255
|
+
default: _(() => {
|
|
253
256
|
var k, T, V;
|
|
254
257
|
return [
|
|
255
|
-
l("div",
|
|
256
|
-
r.isForm ? (
|
|
258
|
+
l("div", Be, [
|
|
259
|
+
r.isForm ? (o(), y(f, {
|
|
257
260
|
key: 0,
|
|
258
261
|
to: `/edit?table=${(T = (k = t.$route) == null ? void 0 : k.params) == null ? void 0 : T.catchAll}&id=${(V = r.item) == null ? void 0 : V.id}`,
|
|
259
262
|
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"
|
|
260
263
|
}, {
|
|
261
|
-
default:
|
|
262
|
-
h(
|
|
264
|
+
default: _(() => [
|
|
265
|
+
h(c, { color: "#000" }),
|
|
263
266
|
e[4] || (e[4] = $(" Редагувати "))
|
|
264
267
|
]),
|
|
265
268
|
_: 1
|
|
266
|
-
}, 8, ["to"])) :
|
|
267
|
-
r.isForm ? (
|
|
269
|
+
}, 8, ["to"])) : w("", !0),
|
|
270
|
+
r.isForm ? (o(), i("div", Ee)) : w("", !0),
|
|
268
271
|
l("button", {
|
|
269
|
-
onClick: e[0] || (e[0] =
|
|
272
|
+
onClick: e[0] || (e[0] = ee((...I) => s.openConfirm && s.openConfirm(...I), ["stop"])),
|
|
270
273
|
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"
|
|
271
274
|
}, [
|
|
272
275
|
h(g),
|
|
@@ -278,15 +281,15 @@ function De(t, e, r, o, n, s) {
|
|
|
278
281
|
_: 1
|
|
279
282
|
})
|
|
280
283
|
]),
|
|
281
|
-
h(
|
|
284
|
+
h(M, {
|
|
282
285
|
visible: n.isDeleteConfirm,
|
|
283
286
|
"onUpdate:visible": e[3] || (e[3] = (k) => n.isDeleteConfirm = k),
|
|
284
287
|
title: "Ви впевнені?"
|
|
285
288
|
}, {
|
|
286
|
-
default:
|
|
287
|
-
l("div",
|
|
289
|
+
default: _(() => [
|
|
290
|
+
l("div", je, [
|
|
288
291
|
e[6] || (e[6] = l("p", { class: "mt-1 text-gray-500 dark:text-neutral-500" }, " Ви впевнені, що хочете видалити цей об'єкт? ", -1)),
|
|
289
|
-
l("div",
|
|
292
|
+
l("div", Pe, [
|
|
290
293
|
l("button", {
|
|
291
294
|
type: "button",
|
|
292
295
|
class: "py-2 px-3 inline-flex items-center gap-x-2 text-sm 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",
|
|
@@ -304,7 +307,7 @@ function De(t, e, r, o, n, s) {
|
|
|
304
307
|
}, 8, ["visible"])
|
|
305
308
|
], 64);
|
|
306
309
|
}
|
|
307
|
-
const
|
|
310
|
+
const Le = /* @__PURE__ */ b(Ae, [["render", ze]]), Ue = {}, qe = {
|
|
308
311
|
class: "flex-shrink-0 mt-0.5 size-3.5",
|
|
309
312
|
xmlns: "http://www.w3.org/2000/svg",
|
|
310
313
|
viewBox: "0 0 24 24",
|
|
@@ -314,15 +317,15 @@ const Ie = /* @__PURE__ */ b($e, [["render", De]]), Be = {}, Ee = {
|
|
|
314
317
|
"stroke-linecap": "round",
|
|
315
318
|
"stroke-linejoin": "round"
|
|
316
319
|
};
|
|
317
|
-
function
|
|
318
|
-
return
|
|
320
|
+
function Oe(t, e, r, a, n, s) {
|
|
321
|
+
return o(), i("svg", qe, e[0] || (e[0] = [
|
|
319
322
|
l("path", { d: "m3 16 4 4 4-4" }, null, -1),
|
|
320
323
|
l("path", { d: "M7 20V4" }, null, -1),
|
|
321
324
|
l("path", { d: "m21 8-4-4-4 4" }, null, -1),
|
|
322
325
|
l("path", { d: "M17 4v16" }, null, -1)
|
|
323
326
|
]));
|
|
324
327
|
}
|
|
325
|
-
const
|
|
328
|
+
const He = /* @__PURE__ */ b(Ue, [["render", Oe]]), Ne = {
|
|
326
329
|
props: {
|
|
327
330
|
columns: { type: Object, default: () => {
|
|
328
331
|
} },
|
|
@@ -338,7 +341,7 @@ const Pe = /* @__PURE__ */ b(Be, [["render", je]]), ze = {
|
|
|
338
341
|
methods: {
|
|
339
342
|
async exportTable() {
|
|
340
343
|
try {
|
|
341
|
-
const t = await
|
|
344
|
+
const t = await v.get("/api/export", {
|
|
342
345
|
params: {
|
|
343
346
|
table: this.table,
|
|
344
347
|
format: this.format,
|
|
@@ -347,11 +350,11 @@ const Pe = /* @__PURE__ */ b(Be, [["render", je]]), ze = {
|
|
|
347
350
|
responseType: "blob"
|
|
348
351
|
}), e = new Blob([t.data], {
|
|
349
352
|
type: "application/octet-stream"
|
|
350
|
-
}), r = window.URL.createObjectURL(e),
|
|
351
|
-
|
|
353
|
+
}), r = window.URL.createObjectURL(e), a = document.createElement("a");
|
|
354
|
+
a.href = r, a.setAttribute(
|
|
352
355
|
"download",
|
|
353
356
|
`${this.table.split(".")[0]}.${this.format}`
|
|
354
|
-
), document.body.appendChild(
|
|
357
|
+
), document.body.appendChild(a), a.click(), document.body.removeChild(a), window.URL.revokeObjectURL(r), this.$notify({
|
|
355
358
|
type: "success",
|
|
356
359
|
title: "Експорт",
|
|
357
360
|
message: "Файл успішно експортовано!"
|
|
@@ -368,16 +371,16 @@ const Pe = /* @__PURE__ */ b(Be, [["render", je]]), ze = {
|
|
|
368
371
|
this.format = t;
|
|
369
372
|
}
|
|
370
373
|
}
|
|
371
|
-
},
|
|
372
|
-
function
|
|
373
|
-
const m =
|
|
374
|
-
return
|
|
374
|
+
}, Re = { class: "p-4" }, Ge = { class: "pb-5 mb-5 last:pb-0 last:mb-0 border-b last:border-b-0 border-gray-200 dark:border-neutral-700" }, We = { class: "mt-2 flex row flex-wrap gap-y-[5px] gap-x-[10px]" }, Ze = { class: "pb-5 mb-5 last:pb-0 last:mb-0 border-b last:border-b-0 border-gray-200 dark:border-neutral-700" }, Je = { class: "mt-2 space-y-2" }, Ke = ["id", "onChange"], Qe = ["for"], Xe = { class: "pb-5 last:pb-0 last:mb-0 border-b last:border-b-0 border-gray-200 dark:border-neutral-700" }, Ye = { class: "text-center" };
|
|
375
|
+
function et(t, e, r, a, n, s) {
|
|
376
|
+
const m = u("VsCheckbox");
|
|
377
|
+
return o(), i(x, null, [
|
|
375
378
|
e[4] || (e[4] = l("div", { class: "dark:border-neutral-700" }, null, -1)),
|
|
376
|
-
l("div",
|
|
377
|
-
l("div",
|
|
379
|
+
l("div", Re, [
|
|
380
|
+
l("div", Ge, [
|
|
378
381
|
e[2] || (e[2] = l("label", { class: "text-sm text-gray-500 dark:text-neutral-500" }, " Виберіть стовпці таблиці для експорту: ", -1)),
|
|
379
|
-
l("div",
|
|
380
|
-
(
|
|
382
|
+
l("div", We, [
|
|
383
|
+
(o(!0), i(x, null, C(r.columns, (c, f) => (o(), i("div", {
|
|
381
384
|
class: "flex items-center",
|
|
382
385
|
key: f,
|
|
383
386
|
style: { width: "calc((100% - 10px) / 2)" }
|
|
@@ -386,16 +389,16 @@ function Ze(t, e, r, o, n, s) {
|
|
|
386
389
|
class: "py-0 shrink-0 border-gray-300 rounded text-blue-600 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",
|
|
387
390
|
modelValue: n.cols,
|
|
388
391
|
"onUpdate:modelValue": e[0] || (e[0] = (g) => n.cols = g),
|
|
389
|
-
value:
|
|
390
|
-
label:
|
|
392
|
+
value: c == null ? void 0 : c.name,
|
|
393
|
+
label: c == null ? void 0 : c.ua
|
|
391
394
|
}, null, 8, ["modelValue", "value", "label"])
|
|
392
395
|
]))), 128))
|
|
393
396
|
])
|
|
394
397
|
]),
|
|
395
|
-
l("div",
|
|
398
|
+
l("div", Ze, [
|
|
396
399
|
e[3] || (e[3] = l("label", { class: "text-sm text-gray-500 dark:text-neutral-500" }, " Виберіть формат таблиці: ", -1)),
|
|
397
|
-
l("div",
|
|
398
|
-
(
|
|
400
|
+
l("div", Je, [
|
|
401
|
+
(o(!0), i(x, null, C(n.tableFormats, (c, f) => (o(), i("div", {
|
|
399
402
|
class: "flex items-center",
|
|
400
403
|
key: f
|
|
401
404
|
}, [
|
|
@@ -403,30 +406,30 @@ function Ze(t, e, r, o, n, s) {
|
|
|
403
406
|
type: "radio",
|
|
404
407
|
name: "hs-pro-duecmfm",
|
|
405
408
|
class: "shrink-0 border-gray-300 rounded-full text-blue-600 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",
|
|
406
|
-
id:
|
|
407
|
-
onChange: (g) => s.selectFormat(
|
|
408
|
-
}, null, 40,
|
|
409
|
+
id: c,
|
|
410
|
+
onChange: (g) => s.selectFormat(c)
|
|
411
|
+
}, null, 40, Ke),
|
|
409
412
|
l("label", {
|
|
410
|
-
for:
|
|
413
|
+
for: c,
|
|
411
414
|
class: "text-sm text-gray-800 ms-3 dark:text-neutral-400"
|
|
412
|
-
}, " Формат " +
|
|
415
|
+
}, " Формат " + S(c), 9, Qe)
|
|
413
416
|
]))), 128))
|
|
414
417
|
])
|
|
415
418
|
]),
|
|
416
|
-
l("div",
|
|
417
|
-
l("div",
|
|
419
|
+
l("div", Xe, [
|
|
420
|
+
l("div", Ye, [
|
|
418
421
|
l("button", {
|
|
419
422
|
type: "button",
|
|
420
423
|
class: "p-2 inline-flex items-center gap-x-2 text-xs font-medium rounded-lg border border-transparent bg-blue-600 text-white hover:bg-blue-700 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:ring-2 focus:ring-blue-500",
|
|
421
|
-
onClick: e[1] || (e[1] = (...
|
|
424
|
+
onClick: e[1] || (e[1] = (...c) => s.exportTable && s.exportTable(...c))
|
|
422
425
|
}, " Завантажити таблицю ")
|
|
423
426
|
])
|
|
424
427
|
])
|
|
425
428
|
])
|
|
426
429
|
], 64);
|
|
427
430
|
}
|
|
428
|
-
const
|
|
429
|
-
components: { IconExport:
|
|
431
|
+
const tt = /* @__PURE__ */ b(Ne, [["render", et]]), rt = {
|
|
432
|
+
components: { IconExport: He, AdminTableExportForm: tt },
|
|
430
433
|
props: { table: String, columns: Array },
|
|
431
434
|
data() {
|
|
432
435
|
return {
|
|
@@ -434,9 +437,9 @@ const Je = /* @__PURE__ */ b(ze, [["render", Ze]]), Ke = {
|
|
|
434
437
|
};
|
|
435
438
|
}
|
|
436
439
|
};
|
|
437
|
-
function
|
|
438
|
-
const m =
|
|
439
|
-
return
|
|
440
|
+
function lt(t, e, r, a, n, s) {
|
|
441
|
+
const m = u("IconExport"), c = u("AdminTableExportForm"), f = u("VsDialog");
|
|
442
|
+
return o(), i(x, null, [
|
|
440
443
|
l("button", {
|
|
441
444
|
onClick: e[0] || (e[0] = (g) => n.isOpen = !0),
|
|
442
445
|
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"
|
|
@@ -466,8 +469,8 @@ function Qe(t, e, r, o, n, s) {
|
|
|
466
469
|
"onUpdate:visible": e[1] || (e[1] = (g) => n.isOpen = g),
|
|
467
470
|
title: "Експорт таблиці"
|
|
468
471
|
}, {
|
|
469
|
-
default:
|
|
470
|
-
h(
|
|
472
|
+
default: _(() => [
|
|
473
|
+
h(c, {
|
|
471
474
|
table: r.table,
|
|
472
475
|
columns: r.columns
|
|
473
476
|
}, null, 8, ["table", "columns"])
|
|
@@ -476,7 +479,7 @@ function Qe(t, e, r, o, n, s) {
|
|
|
476
479
|
}, 8, ["visible"])
|
|
477
480
|
], 64);
|
|
478
481
|
}
|
|
479
|
-
const
|
|
482
|
+
const nt = /* @__PURE__ */ b(rt, [["render", lt]]), st = {}, ot = {
|
|
480
483
|
xmlns: "http://www.w3.org/2000/svg",
|
|
481
484
|
viewBox: "0 0 24 24",
|
|
482
485
|
fill: "none",
|
|
@@ -486,12 +489,12 @@ const Xe = /* @__PURE__ */ b(Ke, [["render", Qe]]), Ye = {}, et = {
|
|
|
486
489
|
"stroke-linejoin": "round",
|
|
487
490
|
class: "icon icon-tabler icons-tabler-outline icon-tabler-columns"
|
|
488
491
|
};
|
|
489
|
-
function
|
|
490
|
-
return
|
|
491
|
-
|
|
492
|
+
function at(t, e, r, a, n, s) {
|
|
493
|
+
return o(), i("svg", ot, e[0] || (e[0] = [
|
|
494
|
+
A('<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)
|
|
492
495
|
]));
|
|
493
496
|
}
|
|
494
|
-
const
|
|
497
|
+
const it = /* @__PURE__ */ b(st, [["render", at]]), ut = {
|
|
495
498
|
props: { column: Object },
|
|
496
499
|
emits: ["update-column"],
|
|
497
500
|
data() {
|
|
@@ -508,50 +511,50 @@ const rt = /* @__PURE__ */ b(Ye, [["render", tt]]), lt = {
|
|
|
508
511
|
var t;
|
|
509
512
|
((t = this.column) == null ? void 0 : t.hidden) !== !0 && (this.value = !0);
|
|
510
513
|
}
|
|
511
|
-
},
|
|
512
|
-
function
|
|
513
|
-
var m,
|
|
514
|
-
return
|
|
515
|
-
|
|
514
|
+
}, ct = { class: "flex w-full gap-[8px] items-centr" };
|
|
515
|
+
function dt(t, e, r, a, n, s) {
|
|
516
|
+
var m, c;
|
|
517
|
+
return o(), i("label", ct, [
|
|
518
|
+
Q(l("input", {
|
|
516
519
|
"onUpdate:modelValue": e[0] || (e[0] = (f) => n.value = f),
|
|
517
520
|
type: "checkbox"
|
|
518
521
|
}, null, 512), [
|
|
519
|
-
[
|
|
522
|
+
[te, n.value]
|
|
520
523
|
]),
|
|
521
|
-
$(" " +
|
|
524
|
+
$(" " + S(((m = r.column) == null ? void 0 : m.ua) || ((c = r.column) == null ? void 0 : c.title)), 1)
|
|
522
525
|
]);
|
|
523
526
|
}
|
|
524
|
-
const
|
|
525
|
-
components: { IconColumns:
|
|
527
|
+
const ht = /* @__PURE__ */ b(ut, [["render", dt]]), pt = {
|
|
528
|
+
components: { IconColumns: it, AdminTableColumnsHiddenItem: ht },
|
|
526
529
|
emits: ["update-columns"],
|
|
527
530
|
props: { columns: Array },
|
|
528
531
|
methods: {
|
|
529
532
|
updateColumn(t) {
|
|
530
|
-
const e = this.columns.findIndex((
|
|
533
|
+
const e = this.columns.findIndex((a) => (a == null ? void 0 : a.name) === (t == null ? void 0 : t.name)), r = this.columns;
|
|
531
534
|
r[e] = t, this.$emit("update-columns", [...r]);
|
|
532
535
|
}
|
|
533
536
|
}
|
|
534
|
-
},
|
|
535
|
-
function
|
|
536
|
-
const m =
|
|
537
|
-
return
|
|
537
|
+
}, bt = { 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" }, mt = { class: "flex flex-col gap-[3px] h-[400px] w-[300px] 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" };
|
|
538
|
+
function ft(t, e, r, a, n, s) {
|
|
539
|
+
const m = u("IconColumns"), c = u("AdminTableColumnsHiddenItem"), f = u("VsPopover");
|
|
540
|
+
return o(), y(f, {
|
|
538
541
|
trigger: "click",
|
|
539
542
|
placement: "bottom"
|
|
540
543
|
}, {
|
|
541
|
-
reference:
|
|
542
|
-
l("button",
|
|
544
|
+
reference: _(() => [
|
|
545
|
+
l("button", bt, [
|
|
543
546
|
h(m, {
|
|
544
547
|
height: "20",
|
|
545
548
|
width: "16"
|
|
546
549
|
})
|
|
547
550
|
])
|
|
548
551
|
]),
|
|
549
|
-
default:
|
|
552
|
+
default: _(() => [
|
|
550
553
|
l("div", null, [
|
|
551
554
|
e[0] || (e[0] = l("h2", { class: "text-sm mb-[8px]" }, "Оберіть колонки, щоб приховати", -1)),
|
|
552
|
-
l("ul",
|
|
553
|
-
(
|
|
554
|
-
h(
|
|
555
|
+
l("ul", mt, [
|
|
556
|
+
(o(!0), i(x, null, C(r.columns, (g, F) => (o(), i("li", { key: F }, [
|
|
557
|
+
h(c, {
|
|
555
558
|
column: g,
|
|
556
559
|
onUpdateColumn: s.updateColumn
|
|
557
560
|
}, null, 8, ["column", "onUpdateColumn"])
|
|
@@ -562,14 +565,14 @@ function ct(t, e, r, o, n, s) {
|
|
|
562
565
|
_: 1
|
|
563
566
|
});
|
|
564
567
|
}
|
|
565
|
-
const
|
|
568
|
+
const gt = /* @__PURE__ */ b(pt, [["render", ft]]), xt = {}, yt = {
|
|
566
569
|
class: "hidden sm:block shrink-0 size-3",
|
|
567
570
|
xmlns: "http://www.w3.org/2000/svg",
|
|
568
571
|
fill: "currentColor",
|
|
569
572
|
viewBox: "0 0 16 16"
|
|
570
573
|
};
|
|
571
|
-
function
|
|
572
|
-
return
|
|
574
|
+
function kt(t, e, r, a, n, s) {
|
|
575
|
+
return o(), i("svg", yt, e[0] || (e[0] = [
|
|
573
576
|
l("path", {
|
|
574
577
|
"fill-rule": "evenodd",
|
|
575
578
|
"clip-rule": "evenodd",
|
|
@@ -577,22 +580,23 @@ function bt(t, e, r, o, n, s) {
|
|
|
577
580
|
}, null, -1)
|
|
578
581
|
]));
|
|
579
582
|
}
|
|
580
|
-
const
|
|
581
|
-
function
|
|
582
|
-
return
|
|
583
|
-
|
|
583
|
+
const _t = /* @__PURE__ */ b(xt, [["render", kt]]), wt = {}, vt = { class: "vs-table-interface__table-wrp w-full rounded h-fit overflow-hidden" };
|
|
584
|
+
function Ct(t, e, r, a, n, s) {
|
|
585
|
+
return o(), i("div", vt, e[0] || (e[0] = [
|
|
586
|
+
A('<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)
|
|
584
587
|
]));
|
|
585
588
|
}
|
|
586
|
-
const
|
|
589
|
+
const $t = /* @__PURE__ */ b(wt, [["render", Ct]]), St = {
|
|
587
590
|
props: { table: String, title: String },
|
|
588
591
|
components: {
|
|
589
|
-
IconFilter:
|
|
590
|
-
AdminTableControl:
|
|
591
|
-
AdminTableExport:
|
|
592
|
-
AdminTableColumnsHidden:
|
|
593
|
-
AdminTableColumn:
|
|
594
|
-
AdminNodata:
|
|
595
|
-
IconPlus:
|
|
592
|
+
IconFilter: ue,
|
|
593
|
+
AdminTableControl: Le,
|
|
594
|
+
AdminTableExport: nt,
|
|
595
|
+
AdminTableColumnsHidden: gt,
|
|
596
|
+
AdminTableColumn: ge,
|
|
597
|
+
AdminNodata: $t,
|
|
598
|
+
IconPlus: _t,
|
|
599
|
+
IconSearch: se
|
|
596
600
|
},
|
|
597
601
|
data() {
|
|
598
602
|
return {
|
|
@@ -601,15 +605,15 @@ const yt = /* @__PURE__ */ b(ft, [["render", xt]]), kt = {
|
|
|
601
605
|
filterScheme: [],
|
|
602
606
|
page: 1,
|
|
603
607
|
searchValue: "",
|
|
604
|
-
limit:
|
|
608
|
+
limit: 0,
|
|
605
609
|
filters: null,
|
|
606
610
|
activeColumn: "",
|
|
607
611
|
onFilters: 0
|
|
608
612
|
};
|
|
609
613
|
},
|
|
610
614
|
mounted() {
|
|
611
|
-
var t, e;
|
|
612
|
-
this.page = ((e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.page) || 1, this.getTableData(), this.getFilters();
|
|
615
|
+
var t, e, r, a;
|
|
616
|
+
this.page = ((e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.page) || 1, this.limit = ((a = (r = this.$route) == null ? void 0 : r.query) == null ? void 0 : a.limit) || 20, this.getTableData(), this.getFilters();
|
|
613
617
|
},
|
|
614
618
|
computed: {
|
|
615
619
|
defaultPage() {
|
|
@@ -635,24 +639,28 @@ const yt = /* @__PURE__ */ b(ft, [["render", xt]]), kt = {
|
|
|
635
639
|
},
|
|
636
640
|
watch: {
|
|
637
641
|
async table() {
|
|
638
|
-
await this.getTableData();
|
|
642
|
+
this.tableData = null, await this.getTableData();
|
|
639
643
|
},
|
|
640
644
|
searchValue() {
|
|
641
645
|
this.getTableData();
|
|
642
646
|
},
|
|
643
647
|
$route: {
|
|
644
648
|
handler(t, e) {
|
|
645
|
-
var r,
|
|
646
|
-
((r = t == null ? void 0 : t.params) == null ? void 0 : r.catchAll) !== ((
|
|
649
|
+
var r, a;
|
|
650
|
+
((r = t == null ? void 0 : t.params) == null ? void 0 : r.catchAll) !== ((a = e == null ? void 0 : e.params) == null ? void 0 : a.catchAll) && (this.filterScheme = null, this.filters = null, this.onFilters = 0, this.getFilters());
|
|
647
651
|
},
|
|
648
652
|
deep: !0
|
|
653
|
+
},
|
|
654
|
+
limit(t) {
|
|
655
|
+
var e;
|
|
656
|
+
this.$router.push({ query: { ...(e = this.$route) == null ? void 0 : e.query, limit: t } });
|
|
649
657
|
}
|
|
650
658
|
},
|
|
651
659
|
methods: {
|
|
652
660
|
async getTableData() {
|
|
653
661
|
var t, e;
|
|
654
662
|
try {
|
|
655
|
-
const { data: r } = await
|
|
663
|
+
const { data: r } = await v.get(`/api/template/table/${this.table}`), a = await v.get(`/api/table-data/${this.table}`, {
|
|
656
664
|
params: {
|
|
657
665
|
page: this.page,
|
|
658
666
|
search: this.searchValue || null,
|
|
@@ -663,7 +671,7 @@ const yt = /* @__PURE__ */ b(ft, [["render", xt]]), kt = {
|
|
|
663
671
|
});
|
|
664
672
|
this.tableData = {
|
|
665
673
|
...r,
|
|
666
|
-
...(
|
|
674
|
+
...(a == null ? void 0 : a.data) || {}
|
|
667
675
|
};
|
|
668
676
|
} catch {
|
|
669
677
|
}
|
|
@@ -671,7 +679,7 @@ const yt = /* @__PURE__ */ b(ft, [["render", xt]]), kt = {
|
|
|
671
679
|
async getFilters() {
|
|
672
680
|
var t;
|
|
673
681
|
try {
|
|
674
|
-
const { data: e } = await
|
|
682
|
+
const { data: e } = await v.get(`/api/table-filter/${this.table}`);
|
|
675
683
|
this.filterScheme = (t = e == null ? void 0 : e.list) == null ? void 0 : t.map((r) => ({
|
|
676
684
|
...r,
|
|
677
685
|
label: (r == null ? void 0 : r.label) || (r == null ? void 0 : r.ua)
|
|
@@ -691,38 +699,42 @@ const yt = /* @__PURE__ */ b(ft, [["render", xt]]), kt = {
|
|
|
691
699
|
},
|
|
692
700
|
async filterChange({ url: t, state: e }) {
|
|
693
701
|
var r;
|
|
694
|
-
this.filters = t, this.onFilters = (r = Object.entries(e)) == null ? void 0 : r.length, this.page = 1, await this.getTableData();
|
|
702
|
+
this.filters = t !== "no-url" ? t : null, this.onFilters = (r = Object.entries(e)) == null ? void 0 : r.length, this.page = 1, await this.getTableData();
|
|
695
703
|
},
|
|
696
704
|
changeActiveColumn(t) {
|
|
697
705
|
this.activeColumn = t, this.getTableData();
|
|
706
|
+
},
|
|
707
|
+
pushToCard(t) {
|
|
708
|
+
var e;
|
|
709
|
+
((e = this.tableData) == null ? void 0 : e.card) === !1 || this.$router.push(`/card/${this.table}/${t}`);
|
|
698
710
|
}
|
|
699
711
|
}
|
|
700
|
-
},
|
|
712
|
+
}, Ft = { class: "w-[calc(100vw - 320px)]" }, Tt = { class: "h-[76px] bg-gray-50 flex items-center justify-between px-[30px]" }, Vt = { class: "text-xl font-medium h-[20px]" }, Dt = {
|
|
701
713
|
style: { height: "calc(100vh - 140px)", width: "calc(100vw - 260px)" },
|
|
702
714
|
class: "bg-gray-50 p-[20px] flex pt-[10px]"
|
|
703
|
-
},
|
|
715
|
+
}, At = { class: "bg-white w-full rounded-xl border p-[20px]" }, Mt = { class: "flex sm:grid sm:grid-cols-2 gap-x-2 sm:gap-x-5 mb-[10px] relative" }, It = { class: "flex gap-[6px] ml-auto" }, Bt = {
|
|
704
716
|
key: 0,
|
|
705
717
|
class: "font-medium text-[10px] py-0.5 px-[5px] bg-gray-800 text-white leading-3 rounded-full dark:bg-neutral-500"
|
|
706
|
-
},
|
|
718
|
+
}, Et = { class: "space-y-5 flex items-start w-full justify-start" }, jt = {
|
|
707
719
|
style: { height: "calc(100vh - 310px)" },
|
|
708
720
|
class: "overflow-x-auto w-full border-t [&::-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"
|
|
709
|
-
},
|
|
721
|
+
}, Pt = { class: "inline-block w-full align-middle" }, zt = {
|
|
710
722
|
key: 0,
|
|
711
723
|
class: "divide-y divide-gray-200 min-w-full dark:divide-neutral-700 relative table-fixed"
|
|
712
|
-
},
|
|
713
|
-
function
|
|
714
|
-
var j, P, z, L, U
|
|
715
|
-
const m =
|
|
716
|
-
return
|
|
717
|
-
l("div",
|
|
718
|
-
l("div",
|
|
719
|
-
l("h2",
|
|
720
|
-
s.isForm ? (
|
|
724
|
+
}, Lt = { class: "sticky top-0 bg-white w-full relative after:absolute after:content-[''] after:block after:w-full after:h-px after:bg-stone-200" }, Ut = { class: "border-stone-200 right-0 z-[1]" }, qt = { class: "divide-y divide-gray-200" }, Ot = { class: "min-w-[200px] text-start pe-4 py-3 text-sm text-gray-600" }, Ht = ["onClick"], Nt = { class: "text-center sticky right-0 bg-white w-[80px] px-[10px]" }, Rt = { class: "p-[20px] flex justify-end w-full" }, Gt = { 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" };
|
|
725
|
+
function Wt(t, e, r, a, n, s) {
|
|
726
|
+
var E, j, P, z, L, U;
|
|
727
|
+
const m = u("IconPlus"), c = u("router-link"), f = u("IconSearch"), g = u("VsText"), F = u("AdminTableColumnsHidden"), M = u("AdminTableExport"), k = u("IconFilter"), T = u("AdminTableColumn"), V = u("AdminTableControl"), I = u("AdminNodata"), X = u("VsPagination"), Y = u("VsFilter");
|
|
728
|
+
return o(), i(x, null, [
|
|
729
|
+
l("div", Ft, [
|
|
730
|
+
l("div", Tt, [
|
|
731
|
+
l("h2", Vt, S(r.title), 1),
|
|
732
|
+
s.isForm ? (o(), y(c, {
|
|
721
733
|
key: 0,
|
|
722
|
-
to: `/add?table=${(
|
|
734
|
+
to: `/add?table=${(j = (E = t.$route) == null ? void 0 : E.params) == null ? void 0 : j.catchAll}`,
|
|
723
735
|
class: "py-2 px-3 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-blue-600 text-white hover:bg-blue-700 hover:text-white duration-300"
|
|
724
736
|
}, {
|
|
725
|
-
default:
|
|
737
|
+
default: _(() => [
|
|
726
738
|
h(m, {
|
|
727
739
|
height: "16",
|
|
728
740
|
width: "16"
|
|
@@ -730,47 +742,52 @@ function Ut(t, e, r, o, n, s) {
|
|
|
730
742
|
e[5] || (e[5] = $(" Додати "))
|
|
731
743
|
]),
|
|
732
744
|
_: 1
|
|
733
|
-
}, 8, ["to"])) :
|
|
745
|
+
}, 8, ["to"])) : w("", !0)
|
|
734
746
|
]),
|
|
735
|
-
l("div",
|
|
736
|
-
l("div",
|
|
737
|
-
l("div",
|
|
747
|
+
l("div", Dt, [
|
|
748
|
+
l("div", At, [
|
|
749
|
+
l("div", Mt, [
|
|
738
750
|
h(f, {
|
|
751
|
+
height: "14",
|
|
752
|
+
width: "14",
|
|
753
|
+
class: "absolute top-[10px] left-[14px] text-gray-500 z-[1]"
|
|
754
|
+
}),
|
|
755
|
+
h(g, {
|
|
739
756
|
modelValue: n.searchValue,
|
|
740
757
|
"onUpdate:modelValue": e[0] || (e[0] = (d) => n.searchValue = d),
|
|
741
758
|
placeholder: "Пошук...",
|
|
742
759
|
clearable: !0,
|
|
743
760
|
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"
|
|
744
761
|
}, null, 8, ["modelValue"]),
|
|
745
|
-
l("div",
|
|
746
|
-
h(
|
|
747
|
-
columns: (
|
|
762
|
+
l("div", It, [
|
|
763
|
+
h(F, {
|
|
764
|
+
columns: (P = n.tableData) == null ? void 0 : P.columns,
|
|
748
765
|
onUpdateColumns: e[1] || (e[1] = (d) => n.tableData.columns = d)
|
|
749
766
|
}, null, 8, ["columns"]),
|
|
750
767
|
h(M, {
|
|
751
768
|
table: r.table,
|
|
752
|
-
columns: (
|
|
769
|
+
columns: (z = n.tableData) == null ? void 0 : z.columns
|
|
753
770
|
}, null, 8, ["table", "columns"]),
|
|
754
771
|
l("button", {
|
|
755
772
|
onClick: e[2] || (e[2] = (d) => n.isFilters = !n.isFilters),
|
|
756
773
|
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"
|
|
757
774
|
}, [
|
|
758
|
-
h(
|
|
775
|
+
h(k, {
|
|
759
776
|
height: "16",
|
|
760
777
|
width: "16"
|
|
761
778
|
}),
|
|
762
779
|
e[6] || (e[6] = $(" Фільтри ")),
|
|
763
|
-
n.onFilters ? (
|
|
780
|
+
n.onFilters ? (o(), i("span", Bt, S(n.onFilters), 1)) : w("", !0)
|
|
764
781
|
])
|
|
765
782
|
])
|
|
766
783
|
]),
|
|
767
|
-
l("div",
|
|
768
|
-
l("div",
|
|
769
|
-
l("div",
|
|
770
|
-
s.isNoData ? (
|
|
771
|
-
l("thead",
|
|
772
|
-
l("tr",
|
|
773
|
-
(
|
|
784
|
+
l("div", Et, [
|
|
785
|
+
l("div", jt, [
|
|
786
|
+
l("div", Pt, [
|
|
787
|
+
s.isNoData ? (o(), y(I, { key: 1 })) : (o(), i("table", zt, [
|
|
788
|
+
l("thead", Lt, [
|
|
789
|
+
l("tr", Ut, [
|
|
790
|
+
(o(!0), i(x, null, C(s.columns, (d) => (o(), y(T, {
|
|
774
791
|
key: d.name,
|
|
775
792
|
data: d,
|
|
776
793
|
activeColumn: n.activeColumn,
|
|
@@ -779,38 +796,34 @@ function Ut(t, e, r, o, n, s) {
|
|
|
779
796
|
e[7] || (e[7] = l("th", { class: "w-[70px] sticky right-0 top-0 bg-white" }, null, -1))
|
|
780
797
|
])
|
|
781
798
|
]),
|
|
782
|
-
l("tbody",
|
|
783
|
-
(
|
|
784
|
-
var H;
|
|
785
|
-
return
|
|
786
|
-
l("td",
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
class: "text-sm
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
];
|
|
802
|
-
}),
|
|
803
|
-
_: 2
|
|
804
|
-
}, 1032, ["to"])
|
|
799
|
+
l("tbody", qt, [
|
|
800
|
+
(o(!0), i(x, null, C((L = n.tableData) == null ? void 0 : L.rows, (d, D) => {
|
|
801
|
+
var q, O, H, N, R, G, W, Z;
|
|
802
|
+
return o(), i("tr", { key: D }, [
|
|
803
|
+
l("td", Ot, [
|
|
804
|
+
l("button", {
|
|
805
|
+
onClick: () => s.pushToCard(d == null ? void 0 : d.id),
|
|
806
|
+
class: re(["text-sm font-medium", [
|
|
807
|
+
((q = n.tableData) == null ? void 0 : q.card) === !1 ? "" : "text-blue-600 decoration-2 focus:outline-none focus:underline hover:text-blue-600 hover:underline"
|
|
808
|
+
]])
|
|
809
|
+
}, [
|
|
810
|
+
(o(), y(K(
|
|
811
|
+
((O = s.columns[0]) == null ? void 0 : O.format) === "custom" ? (H = s.columns[0]) == null ? void 0 : H.component : t.$componentsConfig[`table-format-${((R = (N = s.columns[0]) == null ? void 0 : N.format) == null ? void 0 : R.toLowerCase()) || "text"}`]
|
|
812
|
+
), {
|
|
813
|
+
name: (G = s.columns[0]) == null ? void 0 : G.name,
|
|
814
|
+
data: d,
|
|
815
|
+
value: d == null ? void 0 : d[(W = s.columns[0]) == null ? void 0 : W.name]
|
|
816
|
+
}, null, 8, ["name", "data", "value"]))
|
|
817
|
+
], 10, Ht)
|
|
805
818
|
]),
|
|
806
|
-
(
|
|
807
|
-
var
|
|
808
|
-
return
|
|
819
|
+
(o(!0), i(x, null, C((Z = s.columns) == null ? void 0 : Z.slice(1), (p) => {
|
|
820
|
+
var J;
|
|
821
|
+
return o(), i("td", {
|
|
809
822
|
class: "min-w-[300px] w-full text-start px-[4px] py-3 text-sm text-gray-600",
|
|
810
823
|
key: p.name
|
|
811
824
|
}, [
|
|
812
|
-
(
|
|
813
|
-
(p == null ? void 0 : p.format) === "custom" ? p == null ? void 0 : p.component : t.$componentsConfig[`table-format-${((
|
|
825
|
+
(o(), y(K(
|
|
826
|
+
(p == null ? void 0 : p.format) === "custom" ? p == null ? void 0 : p.component : t.$componentsConfig[`table-format-${((J = p == null ? void 0 : p.format) == null ? void 0 : J.toLowerCase()) || "text"}`]
|
|
814
827
|
), {
|
|
815
828
|
name: p == null ? void 0 : p.name,
|
|
816
829
|
data: d,
|
|
@@ -818,8 +831,8 @@ function Ut(t, e, r, o, n, s) {
|
|
|
818
831
|
}, null, 8, ["name", "data", "value"]))
|
|
819
832
|
]);
|
|
820
833
|
}), 128)),
|
|
821
|
-
l("td",
|
|
822
|
-
h(
|
|
834
|
+
l("td", Nt, [
|
|
835
|
+
h(V, {
|
|
823
836
|
isForm: s.isForm,
|
|
824
837
|
item: d,
|
|
825
838
|
table: r.table,
|
|
@@ -833,32 +846,33 @@ function Ut(t, e, r, o, n, s) {
|
|
|
833
846
|
])
|
|
834
847
|
])
|
|
835
848
|
]),
|
|
836
|
-
l("div",
|
|
837
|
-
|
|
849
|
+
l("div", Rt, [
|
|
850
|
+
n.limit ? (o(), y(X, {
|
|
851
|
+
key: 0,
|
|
838
852
|
goTo: !1,
|
|
839
853
|
class: "justify-end",
|
|
840
854
|
"default-page": s.defaultPage,
|
|
841
|
-
total: ((
|
|
855
|
+
total: ((U = n.tableData) == null ? void 0 : U.total) || 0,
|
|
842
856
|
pageSize: n.limit,
|
|
843
857
|
onPageChange: s.handlePageChange,
|
|
844
858
|
pageSizes: [10, 16, 20],
|
|
845
859
|
onPageSizeChange: s.changeLimit
|
|
846
|
-
}, null, 8, ["default-page", "total", "pageSize", "onPageChange", "onPageSizeChange"])
|
|
860
|
+
}, null, 8, ["default-page", "total", "pageSize", "onPageChange", "onPageSizeChange"])) : w("", !0)
|
|
847
861
|
])
|
|
848
862
|
])
|
|
849
863
|
])
|
|
850
864
|
]),
|
|
851
|
-
h(
|
|
852
|
-
default:
|
|
865
|
+
h(le, { name: "fade" }, {
|
|
866
|
+
default: _(() => {
|
|
853
867
|
var d;
|
|
854
868
|
return [
|
|
855
|
-
|
|
856
|
-
onClick: e[4] || (e[4] = (...
|
|
869
|
+
Q(l("div", {
|
|
870
|
+
onClick: e[4] || (e[4] = (...D) => s.closeFilter && s.closeFilter(...D)),
|
|
857
871
|
style: { height: "100vh" },
|
|
858
872
|
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)]"
|
|
859
873
|
}, [
|
|
860
|
-
l("div",
|
|
861
|
-
(d = n.filterScheme) != null && d.length ? (
|
|
874
|
+
l("div", Gt, [
|
|
875
|
+
(d = n.filterScheme) != null && d.length ? (o(), y(Y, {
|
|
862
876
|
key: 0,
|
|
863
877
|
ref: "filter",
|
|
864
878
|
scheme: n.filterScheme,
|
|
@@ -868,11 +882,11 @@ function Ut(t, e, r, o, n, s) {
|
|
|
868
882
|
name: "filter",
|
|
869
883
|
onFilterChange: s.filterChange,
|
|
870
884
|
closeFilterBtn: !0,
|
|
871
|
-
onFilterClose: e[3] || (e[3] = (
|
|
872
|
-
}, null, 8, ["scheme", "onFilterChange"])) :
|
|
885
|
+
onFilterClose: e[3] || (e[3] = (D) => n.isFilters = !1)
|
|
886
|
+
}, null, 8, ["scheme", "onFilterChange"])) : w("", !0)
|
|
873
887
|
])
|
|
874
888
|
], 512), [
|
|
875
|
-
[
|
|
889
|
+
[ne, n.isFilters]
|
|
876
890
|
])
|
|
877
891
|
];
|
|
878
892
|
}),
|
|
@@ -880,8 +894,8 @@ function Ut(t, e, r, o, n, s) {
|
|
|
880
894
|
})
|
|
881
895
|
], 64);
|
|
882
896
|
}
|
|
883
|
-
const
|
|
884
|
-
components: { AdminTable:
|
|
897
|
+
const Zt = /* @__PURE__ */ b(St, [["render", Wt]]), Jt = {
|
|
898
|
+
components: { AdminTable: Zt },
|
|
885
899
|
data() {
|
|
886
900
|
return {
|
|
887
901
|
table: !1,
|
|
@@ -893,7 +907,7 @@ const Ot = /* @__PURE__ */ b(kt, [["render", Ut]]), Ht = {
|
|
|
893
907
|
$route: {
|
|
894
908
|
async handler() {
|
|
895
909
|
var t;
|
|
896
|
-
(t =
|
|
910
|
+
(t = B) != null && t.value || await this.getMenu(), await this.checkPageType();
|
|
897
911
|
},
|
|
898
912
|
deep: !0
|
|
899
913
|
},
|
|
@@ -913,17 +927,17 @@ const Ot = /* @__PURE__ */ b(kt, [["render", Ut]]), Ht = {
|
|
|
913
927
|
},
|
|
914
928
|
async getMenu() {
|
|
915
929
|
try {
|
|
916
|
-
const { data: t } = await
|
|
917
|
-
|
|
930
|
+
const { data: t } = await v.get("/api/user-menu");
|
|
931
|
+
B.value = t;
|
|
918
932
|
} catch {
|
|
919
933
|
}
|
|
920
934
|
},
|
|
921
935
|
async checkPageType() {
|
|
922
|
-
const t = this.flattenMenu(
|
|
936
|
+
const t = this.flattenMenu(B.value);
|
|
923
937
|
t != null && t.length || this.$router.replace("/404");
|
|
924
|
-
const e = t == null ? void 0 : t.find((
|
|
938
|
+
const e = t == null ? void 0 : t.find((a) => {
|
|
925
939
|
var n, s;
|
|
926
|
-
return (
|
|
940
|
+
return (a == null ? void 0 : a.path) == ((s = (n = this.$route) == null ? void 0 : n.params) == null ? void 0 : s.catchAll);
|
|
927
941
|
});
|
|
928
942
|
this.title = e == null ? void 0 : e.ua, e || this.$router.replace("/404");
|
|
929
943
|
const r = e == null ? void 0 : e.table;
|
|
@@ -932,7 +946,7 @@ const Ot = /* @__PURE__ */ b(kt, [["render", Ut]]), Ht = {
|
|
|
932
946
|
async getInterface() {
|
|
933
947
|
var t, e;
|
|
934
948
|
try {
|
|
935
|
-
const { data: r } = await
|
|
949
|
+
const { data: r } = await v.get(
|
|
936
950
|
`/api/template/interface/${((e = (t = this.$route) == null ? void 0 : t.params) == null ? void 0 : e.catchAll) || ""}`
|
|
937
951
|
);
|
|
938
952
|
this.interface = r || "";
|
|
@@ -941,21 +955,21 @@ const Ot = /* @__PURE__ */ b(kt, [["render", Ut]]), Ht = {
|
|
|
941
955
|
}
|
|
942
956
|
}
|
|
943
957
|
}
|
|
944
|
-
},
|
|
945
|
-
function
|
|
946
|
-
const m =
|
|
947
|
-
return n.table ? (
|
|
958
|
+
}, Kt = ["innerHTML"];
|
|
959
|
+
function Qt(t, e, r, a, n, s) {
|
|
960
|
+
const m = u("AdminTable");
|
|
961
|
+
return n.table ? (o(), y(m, {
|
|
948
962
|
key: 0,
|
|
949
963
|
table: n.table,
|
|
950
964
|
title: n.title
|
|
951
|
-
}, null, 8, ["table", "title"])) : (
|
|
965
|
+
}, null, 8, ["table", "title"])) : (o(), i("div", {
|
|
952
966
|
key: 1,
|
|
953
967
|
class: "w-full bg-gray-50",
|
|
954
968
|
style: { height: "calc(100vh - 120px)" },
|
|
955
969
|
innerHTML: n.interface
|
|
956
|
-
}, null, 8,
|
|
970
|
+
}, null, 8, Kt));
|
|
957
971
|
}
|
|
958
|
-
const
|
|
972
|
+
const rr = /* @__PURE__ */ b(Jt, [["render", Qt]]);
|
|
959
973
|
export {
|
|
960
|
-
|
|
974
|
+
rr as default
|
|
961
975
|
};
|