@opengis/admin 0.1.53 → 0.1.55
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +29 -29
- package/config.js +4 -4
- package/dist/{add-page-DxsI9oTt.js → add-page-CWG_sjY-.js} +1 -1
- package/dist/{admin-interface-D1Z9zulm.js → admin-interface-AsFloazv.js} +67 -67
- package/dist/{admin-view-DE_wFOGr.js → admin-view-QbbIb27N.js} +2 -2
- package/dist/admin.js +1 -1
- package/dist/admin.umd.cjs +40 -40
- package/dist/{card-page-BEJ2rFfi.js → card-page-DCoKtnma.js} +22 -22
- package/dist/{card-view-RRo1C2UV.js → card-view-B-tInKRH.js} +1 -1
- package/dist/{edit-page-D4hRn8sR.js → edit-page-BBYenvB9.js} +1 -1
- package/dist/{import-file-CL8r9Pju.js → import-file-YqGiZOb_.js} +20 -13
- package/dist/style.css +1 -1
- package/module/settings/card/admin.roles.table/access.hbs +27 -27
- package/module/settings/card/admin.roles.table/general_info.hbs +16 -16
- package/module/settings/card/admin.roles.table/index.yml +14 -14
- package/module/settings/card/admin.roles.table/users.hbs +27 -27
- package/module/settings/card/admin.routes.table/general_info.hbs +40 -40
- package/module/settings/card/admin.routes.table/index.yml +8 -8
- package/module/settings/card/admin.routes.table/users.hbs +33 -33
- package/module/settings/card/admin.users.table/general_info.hbs +25 -25
- package/module/settings/card/admin.users.table/index.yml +12 -12
- package/module/settings/card/admin.users.table/logs.hbs +30 -30
- package/module/settings/card/admin.users.table/user_roles.hbs +24 -24
- package/module/settings/cls/core.actions.json +13 -13
- package/module/settings/cls/core.scope.json +13 -13
- package/module/settings/cls/properties.site_status.json +13 -13
- package/module/settings/cls/properties.widget_status.json +13 -13
- package/module/settings/cls/users.user_type.json +13 -13
- package/module/settings/form/admin.access.form.json +36 -36
- package/module/settings/form/admin.custom_column.form.json +71 -71
- package/module/settings/form/admin.properties.form.json +15 -15
- package/module/settings/form/admin.roles.form.json +19 -19
- package/module/settings/form/admin.routes.form.json +25 -25
- package/module/settings/form/admin.user_properties.form.json +15 -15
- package/module/settings/form/admin.user_roles.form.json +21 -21
- package/module/settings/form/admin.users.form.json +150 -150
- package/module/settings/form/user.user_roles.form.json +13 -13
- package/module/settings/interface/admin.properties.json +4 -4
- package/module/settings/interface/admin.roles.json +4 -4
- package/module/settings/interface/admin.routes.json +4 -4
- package/module/settings/interface/admin.users.json +4 -4
- package/module/settings/menu.json +50 -50
- package/module/settings/select/core.roles.json +2 -2
- package/module/settings/select/core.routes.sql +1 -1
- package/module/settings/select/core.user_uid.sql +1 -1
- package/module/settings/table/admin.access.table.json +77 -77
- package/module/settings/table/admin.custom_column.table.json +94 -94
- package/module/settings/table/admin.properties.table.json +33 -33
- package/module/settings/table/admin.roles.table.json +58 -58
- package/module/settings/table/admin.routes.table.json +67 -67
- package/module/settings/table/admin.user_properties.table.json +28 -28
- package/module/settings/table/admin.user_roles.table.json +66 -66
- package/module/settings/table/admin.users.table.json +119 -119
- package/package.json +81 -81
- package/plugin.js +162 -162
- package/server/helpers/controllers/badge.js +11 -11
- package/server/helpers/controllers/hb.js +2 -2
- package/server/helpers/controllers/map.js +2 -2
- package/server/helpers/controllers/mls.js +2 -2
- package/server/helpers/controllers/vue.js +2 -2
- package/server/helpers/index.mjs +13 -13
- package/server/plugins/docs.js +28 -28
- package/server/plugins/hook.js +229 -229
- package/server/plugins/vite.js +69 -69
- package/server/routes/calendar/controllers/calendar.data.js +89 -0
- package/server/routes/calendar/index.mjs +17 -0
- package/server/routes/data/controllers/cardData.js +56 -56
- package/server/routes/data/controllers/cardTabData.js +49 -49
- package/server/routes/data/controllers/funcs/getFilterSQL/index.js +92 -92
- package/server/routes/data/controllers/funcs/getFilterSQL/util/formatValue.js +170 -170
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getCustomQuery.js +13 -13
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getFilterQuery.js +64 -64
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getOptimizedQuery.js +12 -12
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getTableSql.js +34 -34
- package/server/routes/data/controllers/tableData.js +145 -149
- package/server/routes/data/controllers/tableDataId.js +27 -27
- package/server/routes/data/controllers/tableFilter.js +63 -63
- package/server/routes/data/controllers/utils/assignTokens.js +30 -30
- package/server/routes/data/controllers/utils/getColumns.js +21 -21
- package/server/routes/data/index.mjs +15 -15
- package/server/routes/data/schema.js +7 -7
- package/server/routes/menu/controllers/getMenu.js +34 -35
- package/server/routes/menu/index.mjs +5 -5
- package/server/routes/notifications/controllers/readNotifications.js +30 -30
- package/server/routes/notifications/controllers/userNotifications.js +64 -64
- package/server/routes/notifications/hook/onWidgetSet.js +63 -63
- package/server/routes/notifications/index.mjs +40 -40
- package/server/routes/properties/controllers/admin.properties.get.js +29 -29
- package/server/routes/properties/controllers/user.properties.get.js +34 -34
- package/server/routes/properties/controllers/user.properties.post.js +30 -30
- package/server/routes/properties/funcs/getSettings.js +56 -56
- package/server/routes/properties/funcs/setSettings.js +44 -44
- package/server/routes/properties/funcs/utils/dataInsert.js +26 -26
- package/server/routes/properties/index.mjs +26 -26
- package/server/routes/root.mjs +3 -3
- package/server/routes/templates/controllers/getTemplate.js +16 -16
- package/server/routes/templates/index.mjs +14 -14
- package/server/templates/cls/itree.recrzone_category.json +73 -73
- package/server/templates/cls/test.json +9 -9
- package/server/templates/form/admin.user_cls.data.form.json +49 -49
- package/server/templates/form/admin.user_group_rel.form.json +21 -21
- package/server/templates/form/cp_building.form.json +32 -32
- package/server/templates/form/form-user-pass.json +10 -10
- package/server/templates/form/form-user_group.json +39 -39
- package/server/templates/form/form-users.json +156 -156
- package/server/templates/form/user_group_access.form.json +22 -22
- package/server/templates/select/account_id.json +2 -2
- package/server/templates/table/gis.dataset.table.json +43 -43
- package/server/templates/table/management.user_group.table.json +112 -112
- package/server/templates/table/management.users.table.json +126 -126
- package/utils.js +21 -50
package/README.md
CHANGED
@@ -1,29 +1,29 @@
|
|
1
|
-
# settings
|
2
|
-
|
3
|
-
[![NPM version](https://img.shields.io/npm/v/@opengis/admin)](https://www.npmjs.com/package/@opengis/admin)
|
4
|
-
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/)
|
5
|
-
|
6
|
-
It standardizes the entire authorization process, while taking care of everything from login to logout
|
7
|
-
|
8
|
-
## Install
|
9
|
-
|
10
|
-
```bash
|
11
|
-
npm i @opengis/admin
|
12
|
-
```
|
13
|
-
|
14
|
-
## Publish
|
15
|
-
|
16
|
-
```bash
|
17
|
-
npm run build
|
18
|
-
npm publish
|
19
|
-
```
|
20
|
-
|
21
|
-
## Usage
|
22
|
-
|
23
|
-
```js
|
24
|
-
fastify.register(import('@opengis/admin'), config);
|
25
|
-
```
|
26
|
-
|
27
|
-
## Documenation
|
28
|
-
|
29
|
-
For a detailed understanding of `admin`, its features, and how to use them, refer to our [Documentation](https://apidocs.softpro.ua/opengis/plugin/).
|
1
|
+
# settings
|
2
|
+
|
3
|
+
[![NPM version](https://img.shields.io/npm/v/@opengis/admin)](https://www.npmjs.com/package/@opengis/admin)
|
4
|
+
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/)
|
5
|
+
|
6
|
+
It standardizes the entire authorization process, while taking care of everything from login to logout
|
7
|
+
|
8
|
+
## Install
|
9
|
+
|
10
|
+
```bash
|
11
|
+
npm i @opengis/admin
|
12
|
+
```
|
13
|
+
|
14
|
+
## Publish
|
15
|
+
|
16
|
+
```bash
|
17
|
+
npm run build
|
18
|
+
npm publish
|
19
|
+
```
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
```js
|
24
|
+
fastify.register(import('@opengis/admin'), config);
|
25
|
+
```
|
26
|
+
|
27
|
+
## Documenation
|
28
|
+
|
29
|
+
For a detailed understanding of `admin`, its features, and how to use them, refer to our [Documentation](https://apidocs.softpro.ua/opengis/plugin/).
|
package/config.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import { readFile } from 'fs/promises';
|
2
|
-
import fs from 'fs';
|
3
|
-
const config = fs.existsSync('config.json') ? JSON.parse(await readFile('config.json')) : {};
|
4
|
-
|
1
|
+
import { readFile } from 'fs/promises';
|
2
|
+
import fs from 'fs';
|
3
|
+
const config = fs.existsSync('config.json') ? JSON.parse(await readFile('config.json')) : {};
|
4
|
+
|
5
5
|
export default config;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { _ as m, u as b, a as c } from "./import-file-
|
1
|
+
import { _ as m, u as b, a as c } from "./import-file-YqGiZOb_.js";
|
2
2
|
import { resolveComponent as h, openBlock as i, createElementBlock as d, createElementVNode as a, createBlock as p, createCommentVNode as f } from "vue";
|
3
3
|
const g = {
|
4
4
|
data() {
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { _ as f, b as ue, a as A, V as he, c as
|
2
|
-
import { openBlock as s, createElementBlock as i, createTextVNode as F, toDisplayString as I, createCommentVNode as v, createStaticVNode as z, Fragment as C, createElementVNode as l, resolveComponent as d, createVNode as
|
1
|
+
import { _ as f, b as ue, a as A, V as he, c as pe, d as be, e as fe, I as me, u as re } from "./import-file-YqGiZOb_.js";
|
2
|
+
import { openBlock as s, createElementBlock as i, createTextVNode as F, toDisplayString as I, createCommentVNode as v, createStaticVNode as z, Fragment as C, createElementVNode as l, resolveComponent as d, createVNode as b, withCtx as y, createBlock as x, withModifiers as ge, renderList as T, withDirectives as P, vModelCheckbox as xe, resolveDynamicComponent as ye, Transition as q, renderSlot as _e, vShow as ne, normalizeClass as V, normalizeStyle as j } from "vue";
|
3
3
|
const ke = {
|
4
4
|
data() {
|
5
5
|
return {
|
@@ -202,16 +202,16 @@ const qe = /* @__PURE__ */ f(Me, [["render", Pe]]), Be = {
|
|
202
202
|
class: "h-[1px] w-[80%] bg-gray-200 ml-auto mr-auto"
|
203
203
|
}, Ee = { class: "p-4" }, Ne = { class: "flex justify-end mt-4 gap-x-3" };
|
204
204
|
function He(t, e, r, a, n, o) {
|
205
|
-
const c = d("IconMore"),
|
205
|
+
const c = d("IconMore"), p = d("IconEdit"), h = d("router-link"), u = d("IconDelete"), _ = d("VsPopover"), w = d("VsDialog");
|
206
206
|
return s(), i(C, null, [
|
207
207
|
l("div", Le, [
|
208
|
-
|
208
|
+
b(_, {
|
209
209
|
trigger: "click",
|
210
210
|
placement: "bottom"
|
211
211
|
}, {
|
212
212
|
reference: y(() => [
|
213
213
|
l("button", Ue, [
|
214
|
-
|
214
|
+
b(c, {
|
215
215
|
height: "16",
|
216
216
|
width: "16"
|
217
217
|
})
|
@@ -227,7 +227,7 @@ function He(t, e, r, a, n, o) {
|
|
227
227
|
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"
|
228
228
|
}, {
|
229
229
|
default: y(() => [
|
230
|
-
p
|
230
|
+
b(p, { color: "#000" }),
|
231
231
|
e[4] || (e[4] = F(" Редагувати "))
|
232
232
|
]),
|
233
233
|
_: 1
|
@@ -238,7 +238,7 @@ function He(t, e, r, a, n, o) {
|
|
238
238
|
onClick: e[0] || (e[0] = ge((...M) => o.openConfirm && o.openConfirm(...M), ["stop"])),
|
239
239
|
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"
|
240
240
|
}, [
|
241
|
-
|
241
|
+
b(u),
|
242
242
|
e[5] || (e[5] = l("span", { class: "text-gray-800" }, "Видалити", -1))
|
243
243
|
])) : v("", !0)
|
244
244
|
])
|
@@ -247,7 +247,7 @@ function He(t, e, r, a, n, o) {
|
|
247
247
|
_: 1
|
248
248
|
})
|
249
249
|
]),
|
250
|
-
|
250
|
+
b(w, {
|
251
251
|
visible: n.isDeleteConfirm,
|
252
252
|
"onUpdate:visible": e[3] || (e[3] = (k) => n.isDeleteConfirm = k),
|
253
253
|
title: "Ви впевнені?"
|
@@ -337,13 +337,13 @@ const Ke = /* @__PURE__ */ f(Ge, [["render", Je]]), Qe = {
|
|
337
337
|
}
|
338
338
|
}, Xe = { class: "p-4" }, Ye = { class: "pb-5 mb-5 last:pb-0 last:mb-0 border-b last:border-b-0 border-gray-200 dark:border-neutral-700" }, et = { class: "mt-2 flex row flex-wrap gap-y-[5px] gap-x-[10px]" }, tt = { class: "pb-5 mb-5 last:pb-0 last:mb-0 border-b last:border-b-0 border-gray-200 dark:border-neutral-700" }, rt = { class: "mt-2 space-y-2" }, nt = ["id", "onChange"], lt = ["for"], ot = { class: "flex w-full justify-end p-[20px] gap-[6px] border-t" };
|
339
339
|
function st(t, e, r, a, n, o) {
|
340
|
-
const c = d("IconExport"),
|
340
|
+
const c = d("IconExport"), p = d("VsCheckbox"), h = d("VsDialog");
|
341
341
|
return s(), i(C, null, [
|
342
342
|
l("button", {
|
343
343
|
onClick: e[0] || (e[0] = (u) => n.isOpen = !0),
|
344
344
|
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"
|
345
345
|
}, [
|
346
|
-
|
346
|
+
b(c, {
|
347
347
|
height: "16",
|
348
348
|
width: "16"
|
349
349
|
}),
|
@@ -363,7 +363,7 @@ function st(t, e, r, a, n, o) {
|
|
363
363
|
l("path", { d: "m6 9 6 6 6-6" })
|
364
364
|
], -1))
|
365
365
|
]),
|
366
|
-
|
366
|
+
b(h, {
|
367
367
|
visible: n.isOpen,
|
368
368
|
"onUpdate:visible": e[3] || (e[3] = (u) => n.isOpen = u),
|
369
369
|
title: "Експорт таблиці",
|
@@ -394,7 +394,7 @@ function st(t, e, r, a, n, o) {
|
|
394
394
|
key: _,
|
395
395
|
style: { width: "calc((100% - 10px) / 2)" }
|
396
396
|
}, [
|
397
|
-
p
|
397
|
+
b(p, {
|
398
398
|
class: "[&>label]:text-sm [&>label]:text-gray-800 [&>label]:ms-3 !gap-x-[1px] !p-0",
|
399
399
|
modelValue: n.cols,
|
400
400
|
"onUpdate:modelValue": e[1] || (e[1] = (w) => n.cols = w),
|
@@ -463,20 +463,20 @@ const ut = /* @__PURE__ */ f(it, [["render", ct]]), ht = {
|
|
463
463
|
var t;
|
464
464
|
((t = this.column) == null ? void 0 : t.hidden) !== !0 && (this.value = !0);
|
465
465
|
}
|
466
|
-
},
|
467
|
-
function
|
468
|
-
var c,
|
469
|
-
return s(), i("label",
|
466
|
+
}, pt = { class: "flex w-full gap-[8px] items-centr" };
|
467
|
+
function bt(t, e, r, a, n, o) {
|
468
|
+
var c, p;
|
469
|
+
return s(), i("label", pt, [
|
470
470
|
P(l("input", {
|
471
471
|
"onUpdate:modelValue": e[0] || (e[0] = (h) => n.value = h),
|
472
472
|
type: "checkbox"
|
473
473
|
}, null, 512), [
|
474
474
|
[xe, n.value]
|
475
475
|
]),
|
476
|
-
F(" " + I(((c = r.column) == null ? void 0 : c.ua) || ((
|
476
|
+
F(" " + I(((c = r.column) == null ? void 0 : c.ua) || ((p = r.column) == null ? void 0 : p.title)), 1)
|
477
477
|
]);
|
478
478
|
}
|
479
|
-
const ft = /* @__PURE__ */ f(ht, [["render",
|
479
|
+
const ft = /* @__PURE__ */ f(ht, [["render", bt]]), mt = {
|
480
480
|
components: { IconColumns: ut, AdminTableColumnsHiddenItem: ft },
|
481
481
|
emits: ["update-columns"],
|
482
482
|
props: { columns: Array },
|
@@ -488,14 +488,14 @@ const ft = /* @__PURE__ */ f(ht, [["render", pt]]), mt = {
|
|
488
488
|
}
|
489
489
|
}, gt = { class: "py-2 px-2.5 inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 shadow-sm hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700" }, xt = { class: "py-[10px] px-[10px] w-[260px]" }, yt = { 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" };
|
490
490
|
function _t(t, e, r, a, n, o) {
|
491
|
-
const c = d("IconColumns"),
|
491
|
+
const c = d("IconColumns"), p = d("AdminTableColumnsHiddenItem"), h = d("VsPopover");
|
492
492
|
return s(), x(h, {
|
493
493
|
trigger: "click",
|
494
494
|
placement: "bottom"
|
495
495
|
}, {
|
496
496
|
reference: y(() => [
|
497
497
|
l("button", gt, [
|
498
|
-
|
498
|
+
b(c, {
|
499
499
|
height: "20",
|
500
500
|
width: "16"
|
501
501
|
})
|
@@ -506,7 +506,7 @@ function _t(t, e, r, a, n, o) {
|
|
506
506
|
e[0] || (e[0] = l("h2", { class: "text-sm mb-[8px]" }, "Оберіть колонки, щоб приховати", -1)),
|
507
507
|
l("ul", yt, [
|
508
508
|
(s(!0), i(C, null, T(r.columns, (u, _) => (s(), i("li", { key: _ }, [
|
509
|
-
p
|
509
|
+
b(p, {
|
510
510
|
column: u,
|
511
511
|
onUpdateColumn: o.updateColumn
|
512
512
|
}, null, 8, ["column", "onUpdateColumn"])
|
@@ -542,9 +542,9 @@ const St = /* @__PURE__ */ f($t, [["render", Tt]]), Vt = {
|
|
542
542
|
props: { row: Object, column: Object, table: String }
|
543
543
|
};
|
544
544
|
function At(t, e, r, a, n, o) {
|
545
|
-
var c,
|
545
|
+
var c, p, h, u, _, w, k, $;
|
546
546
|
return s(), x(ye(
|
547
|
-
((c = r.column) == null ? void 0 : c.format) === "custom" ? (
|
547
|
+
((c = r.column) == null ? void 0 : c.format) === "custom" ? (p = r.column) == null ? void 0 : p.component : t.$componentsConfig[`table-format-${((u = (h = r.column) == null ? void 0 : h.format) == null ? void 0 : u.toLowerCase()) || "text"}`]
|
548
548
|
), {
|
549
549
|
onUpdateTable: e[0] || (e[0] = (m) => t.$emit("update-table")),
|
550
550
|
name: (_ = r.column) == null ? void 0 : _.name,
|
@@ -582,7 +582,7 @@ const jt = /* @__PURE__ */ f(Ft, [["render", Mt]]), zt = {
|
|
582
582
|
}
|
583
583
|
}, Pt = { class: "hs-accordion" }, qt = { class: "py-0.5 flex items-center gap-x-0.5 w-full" }, Bt = { class: "text-sm font-medium" }, Lt = { class: "w-full duration-150 before:block before:absolute relative inline-block b cursor-pointer" };
|
584
584
|
function Ut(t, e, r, a, n, o) {
|
585
|
-
const c = d("IconPlus"),
|
585
|
+
const c = d("IconPlus"), p = d("IconMinus");
|
586
586
|
return s(), i("div", null, [
|
587
587
|
l("div", null, [
|
588
588
|
l("div", Pt, [
|
@@ -597,13 +597,13 @@ function Ut(t, e, r, a, n, o) {
|
|
597
597
|
class: "size-6 flex justify-center items-center hover:bg-gray-100 rounded-md",
|
598
598
|
onClick: e[1] || (e[1] = (h) => n.expanded = !n.expanded)
|
599
599
|
}, [
|
600
|
-
n.expanded ? (s(), x(
|
600
|
+
n.expanded ? (s(), x(p, {
|
601
601
|
key: 1,
|
602
602
|
width: "14"
|
603
603
|
})) : (s(), x(c, { key: 0 }))
|
604
604
|
])
|
605
605
|
]),
|
606
|
-
|
606
|
+
b(q, { name: "fade" }, {
|
607
607
|
default: y(() => [
|
608
608
|
P(l("div", Lt, [
|
609
609
|
_e(t.$slots, "default", {}, void 0, !0)
|
@@ -617,13 +617,13 @@ function Ut(t, e, r, a, n, o) {
|
|
617
617
|
])
|
618
618
|
]);
|
619
619
|
}
|
620
|
-
const Wt = /* @__PURE__ */ f(zt, [["render", Ut], ["__scopeId", "data-v-
|
620
|
+
const Wt = /* @__PURE__ */ f(zt, [["render", Ut], ["__scopeId", "data-v-f5ecdb9a"]]), Ot = {
|
621
621
|
components: {
|
622
622
|
AdminComponentIs: oe,
|
623
623
|
AdminTree: Wt,
|
624
624
|
VsNoData: he,
|
625
|
-
VsWidgetComments:
|
626
|
-
VsWidgetMap:
|
625
|
+
VsWidgetComments: pe,
|
626
|
+
VsWidgetMap: be,
|
627
627
|
VsWidgetFileList: fe
|
628
628
|
},
|
629
629
|
props: { table: String, columns: Array, row: Object }
|
@@ -636,14 +636,14 @@ const Wt = /* @__PURE__ */ f(zt, [["render", Ut], ["__scopeId", "data-v-4139bc00
|
|
636
636
|
}, Ht = { class: "py-1 flex justify-between items-center gap-x-4" }, Rt = { class: "col-span-1" }, Gt = { class: "inline-flex items-center gap-x-2 text-[13px] text-gray-500 dark:text-neutral-500" }, Zt = { class: "col-span-2" }, Jt = { class: "font-medium text-[13px] text-gray-800 dark:text-neutral-200" }, Kt = { class: "table-info-card" }, Qt = { class: "table-info-card" };
|
637
637
|
function Xt(t, e, r, a, n, o) {
|
638
638
|
var k, $;
|
639
|
-
const c = d("AdminComponentIs"),
|
639
|
+
const c = d("AdminComponentIs"), p = d("AdminTree"), h = d("VsWidgetMap"), u = d("VsNoData"), _ = d("VsWidgetComments"), w = d("VsWidgetFileList");
|
640
640
|
return s(), i("div", Et, [
|
641
641
|
e[0] || (e[0] = l("div", { class: "p-[10px] pl-[18px] pb-[18px] border-b" }, [
|
642
642
|
l("h2", { class: "text-sm font-medium" }, "Інформація про об'єкт")
|
643
643
|
], -1)),
|
644
644
|
l("div", Nt, [
|
645
645
|
($ = (k = t.$route) == null ? void 0 : k.query) != null && $.card ? (s(), i(C, { key: 0 }, [
|
646
|
-
r.row ? (s(), x(
|
646
|
+
r.row ? (s(), x(p, {
|
647
647
|
key: 0,
|
648
648
|
title: "Основна інформація",
|
649
649
|
class: "border-b p-[10px] py-[16px] w-[280px]"
|
@@ -655,7 +655,7 @@ function Xt(t, e, r, a, n, o) {
|
|
655
655
|
]),
|
656
656
|
l("dd", Zt, [
|
657
657
|
l("p", Jt, [
|
658
|
-
|
658
|
+
b(c, {
|
659
659
|
row: r.row,
|
660
660
|
column: m,
|
661
661
|
table: r.table
|
@@ -666,7 +666,7 @@ function Xt(t, e, r, a, n, o) {
|
|
666
666
|
]),
|
667
667
|
_: 1
|
668
668
|
})) : v("", !0),
|
669
|
-
p
|
669
|
+
b(p, {
|
670
670
|
title: "Карта",
|
671
671
|
class: "border-b p-[10px] py-[16px] w-[280px]"
|
672
672
|
}, {
|
@@ -687,7 +687,7 @@ function Xt(t, e, r, a, n, o) {
|
|
687
687
|
}),
|
688
688
|
_: 1
|
689
689
|
}),
|
690
|
-
p
|
690
|
+
b(p, {
|
691
691
|
title: "Коментарі",
|
692
692
|
class: "border-b p-[10px] py-[16px] w-[280px]"
|
693
693
|
}, {
|
@@ -695,7 +695,7 @@ function Xt(t, e, r, a, n, o) {
|
|
695
695
|
var m;
|
696
696
|
return [
|
697
697
|
l("div", Kt, [
|
698
|
-
|
698
|
+
b(_, {
|
699
699
|
id: (m = r.row) == null ? void 0 : m.id
|
700
700
|
}, null, 8, ["id"])
|
701
701
|
])
|
@@ -703,7 +703,7 @@ function Xt(t, e, r, a, n, o) {
|
|
703
703
|
}),
|
704
704
|
_: 1
|
705
705
|
}),
|
706
|
-
p
|
706
|
+
b(p, {
|
707
707
|
title: "Файли",
|
708
708
|
class: "border-b p-[10px] py-[16px] w-[280px]"
|
709
709
|
}, {
|
@@ -711,7 +711,7 @@ function Xt(t, e, r, a, n, o) {
|
|
711
711
|
var m;
|
712
712
|
return [
|
713
713
|
l("div", Qt, [
|
714
|
-
|
714
|
+
b(w, {
|
715
715
|
id: (m = r.row) == null ? void 0 : m.id
|
716
716
|
}, null, 8, ["id"])
|
717
717
|
])
|
@@ -784,20 +784,20 @@ const ar = /* @__PURE__ */ f(lr, [["render", sr]]), ir = {
|
|
784
784
|
class: "font-medium text-[10px] py-0.5 px-[5px] bg-gray-800 text-white leading-3 rounded-full dark:bg-neutral-500"
|
785
785
|
}, cr = { 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" };
|
786
786
|
function ur(t, e, r, a, n, o) {
|
787
|
-
const c = d("IconFilter"),
|
787
|
+
const c = d("IconFilter"), p = d("VsFilter");
|
788
788
|
return s(), i(C, null, [
|
789
789
|
l("button", {
|
790
790
|
onClick: e[0] || (e[0] = (h) => n.isFilters = !n.isFilters),
|
791
791
|
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"
|
792
792
|
}, [
|
793
|
-
|
793
|
+
b(c, {
|
794
794
|
height: "16",
|
795
795
|
width: "16"
|
796
796
|
}),
|
797
797
|
e[4] || (e[4] = F(" Фільтри ")),
|
798
798
|
r.onFilters ? (s(), i("span", dr, I(r.onFilters), 1)) : v("", !0)
|
799
799
|
]),
|
800
|
-
|
800
|
+
b(q, { name: "fade" }, {
|
801
801
|
default: y(() => {
|
802
802
|
var h;
|
803
803
|
return [
|
@@ -807,7 +807,7 @@ function ur(t, e, r, a, n, o) {
|
|
807
807
|
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)]"
|
808
808
|
}, [
|
809
809
|
l("div", cr, [
|
810
|
-
(h = r.scheme) != null && h.length ? (s(), x(
|
810
|
+
(h = r.scheme) != null && h.length ? (s(), x(p, {
|
811
811
|
key: 0,
|
812
812
|
ref: "filter",
|
813
813
|
scheme: r.scheme,
|
@@ -829,25 +829,25 @@ function ur(t, e, r, a, n, o) {
|
|
829
829
|
})
|
830
830
|
], 64);
|
831
831
|
}
|
832
|
-
const hr = /* @__PURE__ */ f(ir, [["render", ur]]),
|
832
|
+
const hr = /* @__PURE__ */ f(ir, [["render", ur]]), pr = {
|
833
833
|
props: { tabsList: { type: Array, default: () => [] }, filterState: String }
|
834
|
-
},
|
834
|
+
}, br = {
|
835
835
|
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",
|
836
836
|
"aria-label": "Tabs",
|
837
837
|
role: "tablist",
|
838
838
|
"aria-orientation": "horizontal"
|
839
839
|
}, fr = ["onClick"];
|
840
840
|
function mr(t, e, r, a, n, o) {
|
841
|
-
return s(), i("nav",
|
841
|
+
return s(), i("nav", br, [
|
842
842
|
(s(!0), i(C, null, T(r.tabsList, (c) => (s(), i("button", {
|
843
|
-
onClick: (
|
843
|
+
onClick: (p) => t.$emit("update:filterState", c == null ? void 0 : c.name),
|
844
844
|
class: V(["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", {
|
845
845
|
" 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": (c == null ? void 0 : c.name) === r.filterState
|
846
846
|
}])
|
847
847
|
}, I(c == null ? void 0 : c.label), 11, fr))), 256))
|
848
848
|
]);
|
849
849
|
}
|
850
|
-
const gr = /* @__PURE__ */ f(
|
850
|
+
const gr = /* @__PURE__ */ f(pr, [["render", mr]]), xr = {}, yr = {
|
851
851
|
xmlns: "http://www.w3.org/2000/svg",
|
852
852
|
viewBox: "0 0 24 24",
|
853
853
|
fill: "none",
|
@@ -872,14 +872,14 @@ const kr = /* @__PURE__ */ f(xr, [["render", _r]]), wr = {
|
|
872
872
|
props: { filterCustom: String, customList: Array }
|
873
873
|
}, vr = { 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" }, Cr = { class: "flex flex-col gap-[4px]" }, $r = ["onClick"];
|
874
874
|
function Ir(t, e, r, a, n, o) {
|
875
|
-
const c = d("IconFilter2"),
|
876
|
-
return s(), x(
|
875
|
+
const c = d("IconFilter2"), p = d("VsPopover");
|
876
|
+
return s(), x(p, {
|
877
877
|
ref: "popover",
|
878
878
|
placement: "bottom"
|
879
879
|
}, {
|
880
880
|
reference: y(() => [
|
881
881
|
l("button", vr, [
|
882
|
-
|
882
|
+
b(c, {
|
883
883
|
height: "20",
|
884
884
|
width: "20"
|
885
885
|
})
|
@@ -1010,8 +1010,8 @@ const Tr = /* @__PURE__ */ f(wr, [["render", Ir]]), Sr = {
|
|
1010
1010
|
},
|
1011
1011
|
methods: {
|
1012
1012
|
async checkUrlMounted() {
|
1013
|
-
var t, e, r, a, n, o, c,
|
1014
|
-
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.filterState = ((o = (n = this.$route) == null ? void 0 : n.query) == null ? void 0 : o.filterState) || null, this.filterCustom = ((
|
1013
|
+
var t, e, r, a, n, o, c, p, h;
|
1014
|
+
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.filterState = ((o = (n = this.$route) == null ? void 0 : n.query) == null ? void 0 : o.filterState) || null, this.filterCustom = ((p = (c = this.$route) == null ? void 0 : c.query) == null ? void 0 : p.filterCustom) || null, (h = this.$route) != null && h.query.card && (this.isVisibleCardInfo = !0);
|
1015
1015
|
},
|
1016
1016
|
unmountedData() {
|
1017
1017
|
this.page = 1, this.filterCustom = null, this.filterState = null, this.isVisibleCardInfo = !1, this.filterScheme = null, this.filters = null, this.onFilters = 0;
|
@@ -1093,17 +1093,17 @@ const Tr = /* @__PURE__ */ f(wr, [["render", Ir]]), Sr = {
|
|
1093
1093
|
}, Hr = { class: "p-[20px] flex justify-end w-full" };
|
1094
1094
|
function Rr(t, e, r, a, n, o) {
|
1095
1095
|
var B, L, U, W, O, E, N, H, R, G, Z, J, K, Q;
|
1096
|
-
const c = d("IconPlus"),
|
1096
|
+
const c = d("IconPlus"), p = d("router-link"), h = d("AdminTableTabs"), u = d("IconSearch"), _ = d("VsText"), w = d("AdminTableCustomFilters"), k = d("AdminTableColumnsHidden"), $ = d("AdminTableExport"), m = d("AdminTableFilters"), S = d("IconOpenCard"), D = d("AdminTableColumn"), M = d("AdminComponentIs"), se = d("AdminTableControl"), ae = d("AdminNodata"), ie = d("VsPagination"), de = d("AdminTableCardInfo");
|
1097
1097
|
return s(), i("div", Vr, [
|
1098
1098
|
l("div", Ar, [
|
1099
1099
|
l("h2", Fr, I(r.title), 1),
|
1100
|
-
o.isForm ? (s(), x(
|
1100
|
+
o.isForm ? (s(), x(p, {
|
1101
1101
|
key: 0,
|
1102
1102
|
to: `/add?table=${(L = (B = t.$route) == null ? void 0 : B.params) == null ? void 0 : L.catchAll}`,
|
1103
1103
|
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"
|
1104
1104
|
}, {
|
1105
1105
|
default: y(() => [
|
1106
|
-
|
1106
|
+
b(c, {
|
1107
1107
|
height: "16",
|
1108
1108
|
width: "16"
|
1109
1109
|
}),
|
@@ -1125,12 +1125,12 @@ function Rr(t, e, r, a, n, o) {
|
|
1125
1125
|
l("div", {
|
1126
1126
|
class: V(["flex sm:grid sm:grid-cols-2 gap-x-2 sm:gap-x-5 mb-[10px] relative", { "pr-[20px]": !n.isVisibleCardInfo }])
|
1127
1127
|
}, [
|
1128
|
-
|
1128
|
+
b(u, {
|
1129
1129
|
height: "14",
|
1130
1130
|
width: "14",
|
1131
1131
|
class: "absolute top-[10px] left-[14px] text-gray-500 z-[1]"
|
1132
1132
|
}),
|
1133
|
-
|
1133
|
+
b(_, {
|
1134
1134
|
modelValue: n.searchValue,
|
1135
1135
|
"onUpdate:modelValue": e[1] || (e[1] = (g) => n.searchValue = g),
|
1136
1136
|
placeholder: "Пошук...",
|
@@ -1144,15 +1144,15 @@ function Rr(t, e, r, a, n, o) {
|
|
1144
1144
|
filterCustom: n.filterCustom,
|
1145
1145
|
"onUpdate:filterCustom": e[2] || (e[2] = (g) => n.filterCustom = g)
|
1146
1146
|
}, null, 8, ["customList", "filterCustom"])) : v("", !0),
|
1147
|
-
|
1147
|
+
b(k, {
|
1148
1148
|
columns: (R = n.tableData) == null ? void 0 : R.columns,
|
1149
1149
|
onUpdateColumns: e[3] || (e[3] = (g) => n.tableData.columns = g)
|
1150
1150
|
}, null, 8, ["columns"]),
|
1151
|
-
|
1151
|
+
b($, {
|
1152
1152
|
table: r.table,
|
1153
1153
|
columns: (G = n.tableData) == null ? void 0 : G.columns
|
1154
1154
|
}, null, 8, ["table", "columns"]),
|
1155
|
-
|
1155
|
+
b(m, {
|
1156
1156
|
scheme: n.filterScheme,
|
1157
1157
|
onFilters: n.onFilters,
|
1158
1158
|
onFilterChange: o.filterChange
|
@@ -1161,7 +1161,7 @@ function Rr(t, e, r, a, n, o) {
|
|
1161
1161
|
onClick: e[4] || (e[4] = (...g) => o.toggleCardInfo && o.toggleCardInfo(...g)),
|
1162
1162
|
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"
|
1163
1163
|
}, [
|
1164
|
-
|
1164
|
+
b(S, {
|
1165
1165
|
class: V({ "rotate-180 duration-300": !n.isVisibleCardInfo })
|
1166
1166
|
}, null, 8, ["class"])
|
1167
1167
|
])
|
@@ -1204,7 +1204,7 @@ function Rr(t, e, r, a, n, o) {
|
|
1204
1204
|
((X = n.tableData) == null ? void 0 : X.card) === !1 ? "" : "text-blue-600 decoration-2 focus:outline-none focus:underline hover:text-blue-600 hover:underline"
|
1205
1205
|
]])
|
1206
1206
|
}, [
|
1207
|
-
|
1207
|
+
b(M, {
|
1208
1208
|
row: g,
|
1209
1209
|
column: o.columns[0],
|
1210
1210
|
table: r.table,
|
@@ -1218,7 +1218,7 @@ function Rr(t, e, r, a, n, o) {
|
|
1218
1218
|
style: j({ minWidth: o.rowWidth, maxWidth: o.rowWidth }),
|
1219
1219
|
key: te.name
|
1220
1220
|
}, [
|
1221
|
-
|
1221
|
+
b(M, {
|
1222
1222
|
row: g,
|
1223
1223
|
column: te,
|
1224
1224
|
table: r.table,
|
@@ -1226,7 +1226,7 @@ function Rr(t, e, r, a, n, o) {
|
|
1226
1226
|
}, null, 8, ["row", "column", "table", "onUpdateTable"])
|
1227
1227
|
], 14, Er))), 128)),
|
1228
1228
|
(ee = o.getActions) != null && ee.length ? (s(), i("td", Nr, [
|
1229
|
-
|
1229
|
+
b(se, {
|
1230
1230
|
actions: o.getActions,
|
1231
1231
|
isForm: o.isForm,
|
1232
1232
|
item: g,
|
@@ -1255,7 +1255,7 @@ function Rr(t, e, r, a, n, o) {
|
|
1255
1255
|
}, null, 8, ["default-page", "total", "pageSize", "onPageChange", "onPageSizeChange"])) : v("", !0)
|
1256
1256
|
])
|
1257
1257
|
]),
|
1258
|
-
|
1258
|
+
b(q, { name: "slide-fade" }, {
|
1259
1259
|
default: y(() => [
|
1260
1260
|
n.isVisibleCardInfo ? (s(), x(de, {
|
1261
1261
|
key: 0,
|
@@ -1271,7 +1271,7 @@ function Rr(t, e, r, a, n, o) {
|
|
1271
1271
|
])
|
1272
1272
|
]);
|
1273
1273
|
}
|
1274
|
-
const Gr = /* @__PURE__ */ f(Sr, [["render", Rr], ["__scopeId", "data-v-
|
1274
|
+
const Gr = /* @__PURE__ */ f(Sr, [["render", Rr], ["__scopeId", "data-v-d1eaaef8"]]), Zr = {
|
1275
1275
|
components: { AdminTable: Gr },
|
1276
1276
|
data() {
|
1277
1277
|
return {
|
@@ -1307,8 +1307,8 @@ const Gr = /* @__PURE__ */ f(Sr, [["render", Rr], ["__scopeId", "data-v-bbbe9039
|
|
1307
1307
|
const t = this.flattenMenu(re.value);
|
1308
1308
|
t != null && t.length || this.$router.replace("/404");
|
1309
1309
|
const e = t == null ? void 0 : t.find((o) => {
|
1310
|
-
var c,
|
1311
|
-
return (o == null ? void 0 : o.path) == ((
|
1310
|
+
var c, p;
|
1311
|
+
return (o == null ? void 0 : o.path) == ((p = (c = this.$route) == null ? void 0 : c.params) == null ? void 0 : p.catchAll);
|
1312
1312
|
});
|
1313
1313
|
this.title = e == null ? void 0 : e.ua, e || this.$router.replace("/404"), e != null && e.component && this.$router.replace((n = (a = this.$route) == null ? void 0 : a.params) == null ? void 0 : n.catchAll);
|
1314
1314
|
const r = e == null ? void 0 : e.table;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { _ as h, I as T, u as E, a as O } from "./import-file-
|
1
|
+
import { _ as h, I as T, u as E, a as O } from "./import-file-YqGiZOb_.js";
|
2
2
|
import { openBlock as r, createElementBlock as l, createElementVNode as o, createStaticVNode as A, resolveComponent as p, normalizeClass as z, createTextVNode as Z, toDisplayString as I, createVNode as u, Transition as Q, withCtx as D, withDirectives as F, Fragment as j, renderList as U, vShow as q, createCommentVNode as N, withModifiers as G } from "vue";
|
3
3
|
const J = {}, K = {
|
4
4
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -467,7 +467,7 @@ function oe(t, e, n, a, s, i) {
|
|
467
467
|
])
|
468
468
|
]);
|
469
469
|
}
|
470
|
-
const re = /* @__PURE__ */ h(Y1, [["render", oe], ["__scopeId", "data-v-
|
470
|
+
const re = /* @__PURE__ */ h(Y1, [["render", oe], ["__scopeId", "data-v-776e8b33"]]);
|
471
471
|
export {
|
472
472
|
re as default
|
473
473
|
};
|
package/dist/admin.js
CHANGED