@opengis/admin 0.1.94 → 0.1.97

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. package/README.md +29 -29
  2. package/config.js +4 -4
  3. package/dist/{IconChevronDown-Ckqp2kHy.js → IconChevronDown-C6C2qgO7.js} +1 -1
  4. package/dist/{add-page-CA861uWt.js → add-page-Bz9AriTG.js} +1 -1
  5. package/dist/{admin-interface-CwikaMBm.js → admin-interface-QcGlLoY3.js} +51 -51
  6. package/dist/{admin-view-DqduP4RF.js → admin-view-AjnQFK-4.js} +3 -3
  7. package/dist/admin.js +1 -1
  8. package/dist/admin.umd.cjs +7 -7
  9. package/dist/assets/logo.svg +41 -41
  10. package/dist/{card-view-DZF9Tt0-.js → card-view-BFYrLzFg.js} +1 -1
  11. package/dist/{edit-page-WEzJslvP.js → edit-page-BlHpTvcw.js} +1 -1
  12. package/dist/{import-file-BW7hdzkG.js → import-file-2vpw3792.js} +22 -15
  13. package/dist/style.css +1 -1
  14. package/module/settings/card/admin.roles.table/access.hbs +27 -27
  15. package/module/settings/card/admin.roles.table/general_info.hbs +16 -16
  16. package/module/settings/card/admin.roles.table/index.yml +14 -14
  17. package/module/settings/card/admin.roles.table/users.hbs +27 -27
  18. package/module/settings/card/admin.routes.table/general_info.hbs +40 -40
  19. package/module/settings/card/admin.routes.table/index.yml +8 -8
  20. package/module/settings/card/admin.routes.table/users.hbs +33 -33
  21. package/module/settings/card/admin.users.table/general_info.hbs +25 -25
  22. package/module/settings/card/admin.users.table/index.yml +12 -12
  23. package/module/settings/card/admin.users.table/logs.hbs +30 -30
  24. package/module/settings/card/admin.users.table/user_roles.hbs +24 -24
  25. package/module/settings/cls/core.actions.json +17 -17
  26. package/module/settings/cls/core.scope.json +13 -13
  27. package/module/settings/cls/properties.site_status.json +13 -13
  28. package/module/settings/cls/properties.widget_status.json +13 -13
  29. package/module/settings/cls/users.user_type.json +13 -13
  30. package/module/settings/form/admin.access.form.json +36 -36
  31. package/module/settings/form/admin.custom_column.form.json +71 -71
  32. package/module/settings/form/admin.properties.form.json +15 -15
  33. package/module/settings/form/admin.roles.form.json +19 -19
  34. package/module/settings/form/admin.routes.form.json +25 -25
  35. package/module/settings/form/admin.user_properties.form.json +15 -15
  36. package/module/settings/form/admin.user_roles.form.json +21 -21
  37. package/module/settings/form/admin.users.form.json +153 -153
  38. package/module/settings/form/user.user_roles.form.json +13 -13
  39. package/module/settings/interface/admin.properties.json +4 -4
  40. package/module/settings/interface/admin.roles.json +4 -4
  41. package/module/settings/interface/admin.routes.json +4 -4
  42. package/module/settings/interface/admin.users.json +4 -4
  43. package/module/settings/menu.json +50 -50
  44. package/module/settings/select/core.roles.json +2 -2
  45. package/module/settings/select/core.routes.sql +1 -1
  46. package/module/settings/select/core.user_mentioned.sql +1 -1
  47. package/module/settings/select/core.user_uid.sql +1 -1
  48. package/module/settings/table/admin.access.table.json +83 -83
  49. package/module/settings/table/admin.custom_column.table.json +99 -99
  50. package/module/settings/table/admin.properties.table.json +39 -39
  51. package/module/settings/table/admin.roles.table.json +64 -64
  52. package/module/settings/table/admin.routes.table.json +68 -68
  53. package/module/settings/table/admin.user_properties.table.json +34 -34
  54. package/module/settings/table/admin.user_roles.table.json +72 -72
  55. package/module/settings/table/admin.users.table.json +121 -121
  56. package/package.json +81 -81
  57. package/plugin.js +29 -29
  58. package/server/helpers/controllers/badge.js +11 -11
  59. package/server/helpers/controllers/hb.js +2 -2
  60. package/server/helpers/controllers/map.js +2 -2
  61. package/server/helpers/controllers/mls.js +2 -2
  62. package/server/helpers/controllers/token.js +16 -16
  63. package/server/helpers/controllers/vue.js +2 -2
  64. package/server/helpers/index.mjs +29 -29
  65. package/server/helpers/list/buttonHelper.js +10 -10
  66. package/server/helpers/list/descriptionList.js +34 -34
  67. package/server/helpers/list/tableList.js +65 -65
  68. package/server/helpers/list/utils/button.js +5 -5
  69. package/server/plugins/access/funcs/getAdminAccess.js +14 -14
  70. package/server/plugins/access/index.mjs +6 -6
  71. package/server/plugins/adminHook.js +81 -81
  72. package/server/plugins/cron.js +10 -10
  73. package/server/plugins/docs.js +28 -28
  74. package/server/plugins/hook.js +226 -226
  75. package/server/plugins/vite.js +71 -71
  76. package/server/routes/access/controllers/access.group.js +29 -29
  77. package/server/routes/access/controllers/access.group.post.js +43 -43
  78. package/server/routes/access/index.mjs +63 -63
  79. package/server/routes/calendar/controllers/calendar.data.js +87 -87
  80. package/server/routes/calendar/index.mjs +7 -7
  81. package/server/routes/calendar/schema.js +21 -21
  82. package/server/routes/data/controllers/cardData.js +89 -89
  83. package/server/routes/data/controllers/cardTabData.js +49 -49
  84. package/server/routes/data/controllers/funcs/getFilterSQL/index.js +92 -92
  85. package/server/routes/data/controllers/funcs/getFilterSQL/util/formatValue.js +170 -170
  86. package/server/routes/data/controllers/funcs/getFilterSQL/util/getCustomQuery.js +13 -13
  87. package/server/routes/data/controllers/funcs/getFilterSQL/util/getFilterQuery.js +64 -64
  88. package/server/routes/data/controllers/funcs/getFilterSQL/util/getOptimizedQuery.js +12 -12
  89. package/server/routes/data/controllers/funcs/getFilterSQL/util/getTableSql.js +34 -34
  90. package/server/routes/data/controllers/tableData.js +20 -20
  91. package/server/routes/data/controllers/tableDataId.js +27 -27
  92. package/server/routes/data/controllers/tableFilter.js +67 -67
  93. package/server/routes/data/controllers/tokenInfo.js +9 -9
  94. package/server/routes/data/controllers/utils/assignTokens.js +30 -30
  95. package/server/routes/data/controllers/utils/conditions.js +20 -20
  96. package/server/routes/data/controllers/utils/getColumns.js +8 -8
  97. package/server/routes/data/index.mjs +17 -17
  98. package/server/routes/data/schema.js +54 -54
  99. package/server/routes/menu/controllers/getMenu.js +67 -67
  100. package/server/routes/menu/index.mjs +5 -5
  101. package/server/routes/notifications/controllers/readNotifications.js +27 -27
  102. package/server/routes/notifications/controllers/testEmail.js +35 -35
  103. package/server/routes/notifications/controllers/userNotifications.js +53 -53
  104. package/server/routes/notifications/funcs/addNotification.js +21 -21
  105. package/server/routes/notifications/funcs/sendNotification.js +92 -105
  106. package/server/routes/notifications/hook/onWidgetSet.js +57 -57
  107. package/server/routes/notifications/index.mjs +27 -27
  108. package/server/routes/notifications/schema.js +16 -16
  109. package/server/routes/properties/controllers/admin.properties.get.js +29 -29
  110. package/server/routes/properties/controllers/user.properties.get.js +30 -30
  111. package/server/routes/properties/controllers/user.properties.post.js +30 -30
  112. package/server/routes/properties/funcs/getSettings.js +56 -56
  113. package/server/routes/properties/funcs/setSettings.js +44 -44
  114. package/server/routes/properties/funcs/utils/dataInsert.js +26 -26
  115. package/server/routes/properties/index.mjs +14 -14
  116. package/server/routes/properties/schema.js +10 -10
  117. package/server/routes/root.mjs +3 -3
  118. package/server/routes/templates/controllers/getTemplate.js +26 -26
  119. package/server/routes/templates/index.mjs +16 -16
  120. package/server/routes/templates/schema.js +8 -8
  121. package/server/routes/user/controllers/user.cls.id.js +14 -14
  122. package/server/routes/user/controllers/user.cls.js +71 -71
  123. package/server/routes/user/controllers/user.cls.post.js +52 -52
  124. package/server/routes/user/controllers/user.info.js +17 -17
  125. package/server/routes/user/schema.js +14 -14
  126. package/server/routes/widget/controllers/utils/historyFormat.js +75 -75
  127. package/server/routes/widget/controllers/utils/obj2db.js +13 -13
  128. package/server/routes/widget/controllers/widget.del.js +41 -41
  129. package/server/routes/widget/controllers/widget.get.js +96 -96
  130. package/server/routes/widget/controllers/widget.set.js +76 -76
  131. package/server/routes/widget/index.mjs +11 -11
  132. package/server/routes/widget/schema.js +12 -12
  133. package/server/templates/cls/itree.recrzone_category.json +73 -73
  134. package/server/templates/cls/test.json +9 -9
  135. package/server/templates/form/admin.user_cls.data.form.json +49 -49
  136. package/server/templates/form/admin.user_group_rel.form.json +21 -21
  137. package/server/templates/form/cp_building.form.json +32 -32
  138. package/server/templates/form/form-user-pass.json +10 -10
  139. package/server/templates/form/form-user_group.json +39 -39
  140. package/server/templates/form/form-users.json +156 -156
  141. package/server/templates/form/user_group_access.form.json +22 -22
  142. package/server/templates/select/account_id.json +2 -2
  143. package/server/templates/table/gis.dataset.table.json +43 -43
  144. package/server/templates/table/management.user_group.table.json +112 -112
  145. package/server/templates/table/management.users.table.json +126 -126
  146. package/utils.js +29 -29
package/README.md CHANGED
@@ -1,29 +1,29 @@
1
- # admin
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 web-site administration
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
+ # admin
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 web-site administration
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,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as t, createElementVNode as n } from "vue";
2
- import { _ as r } from "./import-file-BW7hdzkG.js";
2
+ import { _ as r } from "./import-file-2vpw3792.js";
3
3
  const l = {}, s = {
4
4
  xmlns: "http://www.w3.org/2000/svg",
5
5
  viewBox: "0 0 24 24",
@@ -1,4 +1,4 @@
1
- import { _ as g, u as f, c as u } from "./import-file-BW7hdzkG.js";
1
+ import { _ as g, u as f, c as u } from "./import-file-2vpw3792.js";
2
2
  import { resolveComponent as x, openBlock as b, createElementBlock as w, createElementVNode as n, createBlock as k, createCommentVNode as y } from "vue";
3
3
  const v = {
4
4
  data() {
@@ -1,6 +1,6 @@
1
- import { _ as v, d as Ve, c as F, V as Ie, e as De, f as Fe, g as je, A as Me, I as qe, u as ye, s as ze } from "./import-file-BW7hdzkG.js";
2
- import { openBlock as o, createElementBlock as a, createTextVNode as j, toDisplayString as T, createCommentVNode as w, createStaticVNode as L, Fragment as S, createElementVNode as l, resolveComponent as h, createVNode as x, withCtx as $, createBlock as _, renderList as D, withModifiers as Le, normalizeClass as I, withDirectives as P, vModelCheckbox as Pe, resolveDynamicComponent as z, Transition as B, renderSlot as Be, vShow as ke, getCurrentInstance as Ue, ref as _e, normalizeStyle as ve } from "vue";
3
- import { I as Oe } from "./IconChevronDown-Ckqp2kHy.js";
1
+ import { _ as v, d as Ve, c as F, V as Ie, e as De, f as Fe, g as je, A as Me, I as qe, u as ye, s as ze } from "./import-file-2vpw3792.js";
2
+ import { openBlock as o, createElementBlock as a, createTextVNode as j, toDisplayString as T, createCommentVNode as w, createStaticVNode as L, Fragment as S, createElementVNode as l, resolveComponent as p, createVNode as x, withCtx as $, createBlock as _, renderList as D, withModifiers as Le, normalizeClass as I, withDirectives as P, vModelCheckbox as Pe, resolveDynamicComponent as z, Transition as B, renderSlot as Be, vShow as ke, getCurrentInstance as Ue, ref as _e, normalizeStyle as ve } from "vue";
3
+ import { I as Oe } from "./IconChevronDown-C6C2qgO7.js";
4
4
  const Ee = {
5
5
  data() {
6
6
  return {
@@ -223,9 +223,9 @@ const lt = /* @__PURE__ */ v(et, [["render", st]]), ot = {
223
223
  }, rt = { class: "hs-dropdown [--placement:bottom-right] inline-flex" }, at = { 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" }, it = { class: "flex flex-col items-start" }, ct = ["onClick"], ut = { class: "text-gray-800" }, dt = {
224
224
  key: 1,
225
225
  class: "h-[1px] w-[80%] bg-gray-200 ml-auto mr-auto"
226
- }, bt = { class: "p-4" }, ht = { class: "flex justify-end mt-4 gap-x-3" };
227
- function pt(t, e, s, i, n, r) {
228
- const u = h("IconMore"), f = h("IconEdit"), p = h("router-link"), m = h("IconDelete"), k = h("VsPopover"), c = h("VsDialog");
226
+ }, bt = { class: "p-4" }, pt = { class: "flex justify-end mt-4 gap-x-3" };
227
+ function ht(t, e, s, i, n, r) {
228
+ const u = p("IconMore"), f = p("IconEdit"), h = p("router-link"), m = p("IconDelete"), k = p("VsPopover"), c = p("VsDialog");
229
229
  return o(), a(S, null, [
230
230
  l("div", rt, [
231
231
  x(k, {
@@ -244,7 +244,7 @@ function pt(t, e, s, i, n, r) {
244
244
  var g, d, C, y, A;
245
245
  return [
246
246
  l("div", it, [
247
- (g = s.actions) != null && g.includes("edit") && s.isForm ? (o(), _(p, {
247
+ (g = s.actions) != null && g.includes("edit") && s.isForm ? (o(), _(h, {
248
248
  key: 0,
249
249
  to: `/edit?table=${(C = (d = t.$route) == null ? void 0 : d.params) == null ? void 0 : C.catchAll}&id=${(y = s.item) == null ? void 0 : y.id}`,
250
250
  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"
@@ -287,7 +287,7 @@ function pt(t, e, s, i, n, r) {
287
287
  default: $(() => [
288
288
  l("div", bt, [
289
289
  e[6] || (e[6] = l("p", { class: "mt-1 text-gray-500 dark:text-neutral-500" }, " Ви впевнені, що хочете видалити цей об'єкт? ", -1)),
290
- l("div", ht, [
290
+ l("div", pt, [
291
291
  l("button", {
292
292
  type: "button",
293
293
  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",
@@ -305,7 +305,7 @@ function pt(t, e, s, i, n, r) {
305
305
  }, 8, ["visible"])
306
306
  ], 64);
307
307
  }
308
- const ft = /* @__PURE__ */ v(ot, [["render", pt]]), mt = {}, gt = {
308
+ const ft = /* @__PURE__ */ v(ot, [["render", ht]]), mt = {}, gt = {
309
309
  class: "flex-shrink-0 mt-0.5 size-3.5",
310
310
  xmlns: "http://www.w3.org/2000/svg",
311
311
  viewBox: "0 0 24 24",
@@ -462,7 +462,7 @@ const wt = /* @__PURE__ */ v(_t, [["render", kt]]), Ct = {
462
462
  class: "flex w-full justify-end p-[20px] gap-[6px] border-t"
463
463
  };
464
464
  function Bt(t, e, s, i, n, r) {
465
- const u = h("IconExport"), f = h("IconChevronDown"), p = h("IconSuccess"), m = h("VsCheckbox"), k = h("VsDialog");
465
+ const u = p("IconExport"), f = p("IconChevronDown"), h = p("IconSuccess"), m = p("VsCheckbox"), k = p("VsDialog");
466
466
  return o(), a(S, null, [
467
467
  l("button", {
468
468
  onClick: e[0] || (e[0] = (c) => n.isOpen = !0),
@@ -512,7 +512,7 @@ function Bt(t, e, s, i, n, r) {
512
512
  ]),
513
513
  default: $(() => [
514
514
  n.isSuccessTemplate ? (o(), a("div", $t, [
515
- x(p, {
515
+ x(h, {
516
516
  height: "100",
517
517
  width: "100",
518
518
  class: "text-green-200 mb-[20px]"
@@ -617,7 +617,7 @@ function Zt(t, e, s, i, n, r) {
617
617
  var u, f;
618
618
  return o(), a("label", Wt, [
619
619
  P(l("input", {
620
- "onUpdate:modelValue": e[0] || (e[0] = (p) => n.value = p),
620
+ "onUpdate:modelValue": e[0] || (e[0] = (h) => n.value = h),
621
621
  type: "checkbox"
622
622
  }, null, 512), [
623
623
  [Pe, n.value]
@@ -637,8 +637,8 @@ const Gt = /* @__PURE__ */ v(Rt, [["render", Zt]]), Jt = {
637
637
  }
638
638
  }, Kt = { 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" }, Qt = { class: "py-[10px] px-[10px] w-[260px]" }, Xt = { 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" };
639
639
  function Yt(t, e, s, i, n, r) {
640
- const u = h("IconColumns"), f = h("AdminTableColumnsHiddenItem"), p = h("VsPopover");
641
- return o(), _(p, {
640
+ const u = p("IconColumns"), f = p("AdminTableColumnsHiddenItem"), h = p("VsPopover");
641
+ return o(), _(h, {
642
642
  trigger: "click",
643
643
  placement: "bottom"
644
644
  }, {
@@ -685,9 +685,9 @@ const we = /* @__PURE__ */ v(tn, [["render", sn]]), ln = {
685
685
  props: { row: Object, column: Object, table: String }
686
686
  };
687
687
  function on(t, e, s, i, n, r) {
688
- var u, f, p, m, k, c, g, d;
688
+ var u, f, h, m, k, c, g, d;
689
689
  return o(), _(z(
690
- ((u = s.column) == null ? void 0 : u.format) === "custom" ? (f = s.column) == null ? void 0 : f.component : `table-format-${((m = (p = s.column) == null ? void 0 : p.format) == null ? void 0 : m.toLowerCase()) || "text"}`
690
+ ((u = s.column) == null ? void 0 : u.format) === "custom" ? (f = s.column) == null ? void 0 : f.component : `table-format-${((m = (h = s.column) == null ? void 0 : h.format) == null ? void 0 : m.toLowerCase()) || "text"}`
691
691
  ), {
692
692
  onUpdateTable: e[0] || (e[0] = (C) => t.$emit("update-table")),
693
693
  name: (k = s.column) == null ? void 0 : k.name,
@@ -727,22 +727,22 @@ const un = /* @__PURE__ */ v(rn, [["render", cn]]), dn = {
727
727
  data() {
728
728
  return { expanded: this.defaultValue };
729
729
  }
730
- }, bn = { class: "hs-accordion" }, hn = { class: "py-0.5 flex items-center gap-x-0.5 w-full" }, pn = { class: "text-sm font-medium" }, fn = { class: "relative inline-block w-full duration-150 cursor-pointer before:block before:absolute b" };
730
+ }, bn = { class: "hs-accordion" }, pn = { class: "py-0.5 flex items-center gap-x-0.5 w-full" }, hn = { class: "text-sm font-medium" }, fn = { class: "relative inline-block w-full duration-150 cursor-pointer before:block before:absolute b" };
731
731
  function mn(t, e, s, i, n, r) {
732
- const u = h("IconPlus"), f = h("IconMinus");
732
+ const u = p("IconPlus"), f = p("IconMinus");
733
733
  return o(), a("div", null, [
734
734
  l("div", null, [
735
735
  l("div", bn, [
736
- l("div", hn, [
736
+ l("div", pn, [
737
737
  l("div", {
738
- onClick: e[0] || (e[0] = (p) => n.expanded = !n.expanded),
738
+ onClick: e[0] || (e[0] = (h) => n.expanded = !n.expanded),
739
739
  class: "rounded-md cursor-pointer grow"
740
740
  }, [
741
- l("span", pn, T(s.title), 1)
741
+ l("span", hn, T(s.title), 1)
742
742
  ]),
743
743
  l("button", {
744
744
  class: "flex items-center justify-center rounded-md size-6 hover:bg-gray-100",
745
- onClick: e[1] || (e[1] = (p) => n.expanded = !n.expanded)
745
+ onClick: e[1] || (e[1] = (h) => n.expanded = !n.expanded)
746
746
  }, [
747
747
  n.expanded ? (o(), _(f, {
748
748
  key: 1,
@@ -764,7 +764,7 @@ function mn(t, e, s, i, n, r) {
764
764
  ])
765
765
  ]);
766
766
  }
767
- const gn = /* @__PURE__ */ v(dn, [["render", mn], ["__scopeId", "data-v-c6318482"]]), xn = {
767
+ const gn = /* @__PURE__ */ v(dn, [["render", mn], ["__scopeId", "data-v-e1f274c9"]]), xn = {
768
768
  components: {
769
769
  AdminComponentIs: Ce,
770
770
  AdminTree: gn,
@@ -783,7 +783,7 @@ const gn = /* @__PURE__ */ v(dn, [["render", mn], ["__scopeId", "data-v-c6318482
783
783
  }, vn = { class: "flex items-center justify-between py-1 gap-x-4" }, kn = { 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" }, An = { class: "table-info-card" }, Sn = { class: "table-info-card" };
784
784
  function Tn(t, e, s, i, n, r) {
785
785
  var g, d, C;
786
- const u = h("AdminComponentIs"), f = h("AdminTree"), p = h("VsWidgetMap"), m = h("VsNoData"), k = h("VsWidgetComments"), c = h("VsWidgetFileList");
786
+ const u = p("AdminComponentIs"), f = p("AdminTree"), h = p("VsWidgetMap"), m = p("VsNoData"), k = p("VsWidgetComments"), c = p("VsWidgetFileList");
787
787
  return o(), a("div", yn, [
788
788
  e[0] || (e[0] = l("div", { class: "p-[10px] pl-[18px] pb-[18px] border-b" }, [
789
789
  l("h2", { class: "text-sm font-medium" }, "Інформація про об'єкт")
@@ -822,7 +822,7 @@ function Tn(t, e, s, i, n, r) {
822
822
  default: $(() => {
823
823
  var y, A;
824
824
  return [
825
- (y = s.row) != null && y.geom ? (o(), _(p, {
825
+ (y = s.row) != null && y.geom ? (o(), _(h, {
826
826
  key: 0,
827
827
  geometry: (A = s.row) == null ? void 0 : A.geom,
828
828
  zoom: 14
@@ -934,10 +934,10 @@ const Ln = /* @__PURE__ */ v(Mn, [["render", zn]]), Pn = {
934
934
  class: "font-medium text-[10px] py-0.5 px-[5px] bg-gray-800 text-white leading-3 rounded-full dark:bg-neutral-500"
935
935
  }, 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" };
936
936
  function On(t, e, s, i, n, r) {
937
- const u = h("IconFilter"), f = h("VsFilter");
937
+ const u = p("IconFilter"), f = p("VsFilter");
938
938
  return o(), a(S, null, [
939
939
  l("button", {
940
- onClick: e[0] || (e[0] = (p) => n.isFilters = !n.isFilters),
940
+ onClick: e[0] || (e[0] = (h) => n.isFilters = !n.isFilters),
941
941
  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"
942
942
  }, [
943
943
  x(u, {
@@ -949,7 +949,7 @@ function On(t, e, s, i, n, r) {
949
949
  ]),
950
950
  x(B, { name: "fade" }, {
951
951
  default: $(() => {
952
- var p;
952
+ var h;
953
953
  return [
954
954
  P(l("div", {
955
955
  onClick: e[3] || (e[3] = (...m) => r.closeFilter && r.closeFilter(...m)),
@@ -957,7 +957,7 @@ function On(t, e, s, i, n, r) {
957
957
  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)]"
958
958
  }, [
959
959
  l("div", Un, [
960
- (p = s.scheme) != null && p.length ? (o(), _(f, {
960
+ (h = s.scheme) != null && h.length ? (o(), _(f, {
961
961
  key: 0,
962
962
  ref: "filter",
963
963
  scheme: s.scheme,
@@ -1022,7 +1022,7 @@ const Qn = /* @__PURE__ */ v(Gn, [["render", Kn]]), Xn = {
1022
1022
  props: { filterCustom: String, customList: Array }
1023
1023
  }, 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"];
1024
1024
  function ns(t, e, s, i, n, r) {
1025
- const u = h("IconFilter2"), f = h("VsPopover");
1025
+ const u = p("IconFilter2"), f = p("VsPopover");
1026
1026
  return o(), _(f, {
1027
1027
  ref: "popover",
1028
1028
  placement: "bottom"
@@ -1037,17 +1037,17 @@ function ns(t, e, s, i, n, r) {
1037
1037
  ]),
1038
1038
  default: $(() => [
1039
1039
  l("div", es, [
1040
- (o(!0), a(S, null, D(s.customList, (p, m) => (o(), a("button", {
1040
+ (o(!0), a(S, null, D(s.customList, (h, m) => (o(), a("button", {
1041
1041
  onClick: (k) => {
1042
1042
  var c;
1043
- t.$emit("update:filterCustom", p == null ? void 0 : p.name), (c = t.$refs) == null || c.popover.togglePopover();
1043
+ t.$emit("update:filterCustom", h == null ? void 0 : h.name), (c = t.$refs) == null || c.popover.togglePopover();
1044
1044
  },
1045
1045
  key: m,
1046
- class: I(["p-[8px] block rounded-lg w-[140px] text-start hover:bg-gray-100 !duration-300", { "bg-gray-100": s.filterCustom === (p == null ? void 0 : p.name) }])
1047
- }, T(p == null ? void 0 : p.label), 11, ts))), 128)),
1046
+ class: I(["p-[8px] block rounded-lg w-[140px] text-start hover:bg-gray-100 !duration-300", { "bg-gray-100": s.filterCustom === (h == null ? void 0 : h.name) }])
1047
+ }, T(h == null ? void 0 : h.label), 11, ts))), 128)),
1048
1048
  l("button", {
1049
1049
  class: "p-[8px] block rounded-lg w-[140px] text-start hover:bg-gray-100 !duration-300",
1050
- onClick: e[0] || (e[0] = (p) => {
1050
+ onClick: e[0] || (e[0] = (h) => {
1051
1051
  var m;
1052
1052
  t.$emit("update:filterCustom", void 0), (m = t.$refs) == null || m.popover.togglePopover();
1053
1053
  })
@@ -1063,8 +1063,8 @@ const ss = /* @__PURE__ */ v(Xn, [["render", ns]]), ls = { class: "flex items-ce
1063
1063
  slots: Object
1064
1064
  },
1065
1065
  setup(t) {
1066
- var f, p, m, k, c;
1067
- const { asyncTemplateSlot: e } = (c = (k = (m = (p = (f = Ue()) == null ? void 0 : f.appContext) == null ? void 0 : p.app) == null ? void 0 : m.config) == null ? void 0 : k.globalProperties) == null ? void 0 : c.utils, s = _e(""), i = _e(""), n = t, r = () => {
1066
+ var f, h, m, k, c;
1067
+ const { asyncTemplateSlot: e } = (c = (k = (m = (h = (f = Ue()) == null ? void 0 : f.appContext) == null ? void 0 : h.app) == null ? void 0 : m.config) == null ? void 0 : k.globalProperties) == null ? void 0 : c.utils, s = _e(""), i = _e(""), n = t, r = () => {
1068
1068
  var g, d, C, y, A;
1069
1069
  if ((g = n.slots) != null && g.panelLeft || (i.value = "div"), (C = (d = n.slots) == null ? void 0 : d.panelLeft) != null && C.includes("<")) {
1070
1070
  const V = e("PanelLeft", (y = n.slots) == null ? void 0 : y.panelLeft, [
@@ -1213,22 +1213,22 @@ const ss = /* @__PURE__ */ v(Xn, [["render", ns]]), ls = { class: "flex items-ce
1213
1213
  },
1214
1214
  methods: {
1215
1215
  async checkUrlMounted() {
1216
- var t, e, s, i, n, r, u, f, p, m, k, c, g, d, C, y, A;
1217
- this.page = ((e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.page) || 1, this.limit = ((i = (s = this.$route) == null ? void 0 : s.query) == null ? void 0 : i.limit) || 20, this.filters = ((u = decodeURI((r = (n = this.$route) == null ? void 0 : n.query) == null ? void 0 : r.filter)) == null ? void 0 : u.replaceAll("+", " ")) || null, this.filterState = ((p = (f = this.$route) == null ? void 0 : f.query) == null ? void 0 : p.filterState) || null, this.filterCustom = ((k = (m = this.$route) == null ? void 0 : m.query) == null ? void 0 : k.custom) || null, this.searchValue = ((g = (c = this.$route) == null ? void 0 : c.query) == null ? void 0 : g.search) || "", this.visibleColumns = ((y = (C = (d = this.$route) == null ? void 0 : d.query) == null ? void 0 : C.columns) == null ? void 0 : y.split(",")) || [], (A = this.$route) != null && A.query.card && (this.isVisibleCardInfo = !0);
1216
+ var t, e, s, i, n, r, u, f, h, m, k, c, g, d, C, y, A;
1217
+ this.page = ((e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.page) || 1, this.limit = ((i = (s = this.$route) == null ? void 0 : s.query) == null ? void 0 : i.limit) || 20, this.filters = ((u = decodeURI((r = (n = this.$route) == null ? void 0 : n.query) == null ? void 0 : r.filter)) == null ? void 0 : u.replaceAll("+", " ")) || null, this.filterState = ((h = (f = this.$route) == null ? void 0 : f.query) == null ? void 0 : h.filterState) || null, this.filterCustom = ((k = (m = this.$route) == null ? void 0 : m.query) == null ? void 0 : k.custom) || null, this.searchValue = ((g = (c = this.$route) == null ? void 0 : c.query) == null ? void 0 : g.search) || "", this.visibleColumns = ((y = (C = (d = this.$route) == null ? void 0 : d.query) == null ? void 0 : C.columns) == null ? void 0 : y.split(",")) || [], (A = this.$route) != null && A.query.card && (this.isVisibleCardInfo = !0);
1218
1218
  },
1219
1219
  rowWidth(t) {
1220
1220
  var s, i;
1221
1221
  const e = (i = (s = this.tableData) == null ? void 0 : s.columns) == null ? void 0 : i.find((n) => n.name === t);
1222
1222
  if (e) {
1223
1223
  const n = e == null ? void 0 : e.width;
1224
- return n != null && n.includes("px") ? n : `${n}px`;
1224
+ return typeof n == "number" ? `${n}px` : n != null && n.includes("px") ? n : `${n}px`;
1225
1225
  }
1226
1226
  },
1227
1227
  unmountedData() {
1228
1228
  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 = "";
1229
1229
  },
1230
1230
  async getTableData() {
1231
- var t, e, s, i, n, r, u, f, p, m, k;
1231
+ var t, e, s, i, n, r, u, f, h, m, k;
1232
1232
  try {
1233
1233
  const { data: c } = await F.get(`/api/template/table/${this.table}`), g = await F.get(`/api/table-data/${this.table}`, {
1234
1234
  params: {
@@ -1247,7 +1247,7 @@ const ss = /* @__PURE__ */ v(Xn, [["render", ns]]), ls = { class: "flex items-ce
1247
1247
  }, this.initialHiddenColumns = (r = (n = (i = (s = this.tableData) == null ? void 0 : s.columns) == null ? void 0 : i.filter((d) => (d == null ? void 0 : d.hidden) !== !0)) == null ? void 0 : n.map((d) => d == null ? void 0 : d.name)) == null ? void 0 : r.join(","), (u = this.visibleColumns) != null && u.length ? (f = this.tableData) == null || f.columns.forEach((d) => {
1248
1248
  var C;
1249
1249
  (C = this.visibleColumns) != null && C.includes(d == null ? void 0 : d.name) ? d.hidden = !1 : d.hidden = !0;
1250
- }) : this.visibleColumns = (k = (m = (p = this.tableData) == null ? void 0 : p.columns) == null ? void 0 : m.filter((d) => (d == null ? void 0 : d.hidden) !== !0)) == null ? void 0 : k.map((d) => d == null ? void 0 : d.name);
1250
+ }) : this.visibleColumns = (k = (m = (h = this.tableData) == null ? void 0 : h.columns) == null ? void 0 : m.filter((d) => (d == null ? void 0 : d.hidden) !== !0)) == null ? void 0 : k.map((d) => d == null ? void 0 : d.name);
1251
1251
  } catch {
1252
1252
  }
1253
1253
  },
@@ -1298,7 +1298,7 @@ const ss = /* @__PURE__ */ v(Xn, [["render", ns]]), ls = { class: "flex items-ce
1298
1298
  }, 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 = {
1299
1299
  style: { height: "calc(100vh - 155px)", width: "calc(100vw - 260px)" },
1300
1300
  class: "bg-gray-50 p-[20px] flex pt-[10px]"
1301
- }, bs = { class: "bg-white w-full rounded-xl border p-[20px] pr-0" }, hs = { class: "flex" }, ps = { class: "flex gap-[6px] ml-auto" }, fs = { class: "inline-block w-full align-middle" }, ms = {
1301
+ }, bs = { class: "bg-white w-full rounded-xl border p-[20px] pr-0" }, ps = { class: "flex" }, hs = { class: "flex gap-[6px] ml-auto" }, fs = { class: "inline-block w-full align-middle" }, ms = {
1302
1302
  key: 0,
1303
1303
  class: "relative w-max min-w-full divide-y divide-gray-200 table-fixed dark:divide-neutral-700"
1304
1304
  }, 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 = {
@@ -1310,7 +1310,7 @@ const ss = /* @__PURE__ */ v(Xn, [["render", ns]]), ls = { class: "flex items-ce
1310
1310
  };
1311
1311
  function Is(t, e, s, i, n, r) {
1312
1312
  var O, E, N, H, R, W, Z, G, J, K, Q, X, Y, ee, te, ne, se, le, oe, re, ae, ie;
1313
- const u = h("IconPlus"), f = h("router-link"), p = h("AdminTableTabs"), m = h("IconSearch"), k = h("VsText"), c = h("AdminTableCustomButtons"), g = h("AdminTableCustomFilters"), d = h("AdminTableColumnsHidden"), C = h("AdminTableExport"), y = h("AdminTableFilters"), A = h("IconOpenCard"), V = h("AdminTableColumn"), M = h("AdminComponentIs"), U = h("AdminTableControl"), $e = h("AdminNodata"), Ae = h("VsPagination"), Se = h("AdminTableCardInfo");
1313
+ const u = p("IconPlus"), f = p("router-link"), h = p("AdminTableTabs"), m = p("IconSearch"), k = p("VsText"), c = p("AdminTableCustomButtons"), g = p("AdminTableCustomFilters"), d = p("AdminTableColumnsHidden"), C = p("AdminTableExport"), y = p("AdminTableFilters"), A = p("IconOpenCard"), V = p("AdminTableColumn"), M = p("AdminComponentIs"), U = p("AdminTableControl"), $e = p("AdminNodata"), Ae = p("VsPagination"), Se = p("AdminTableCardInfo");
1314
1314
  return o(), a("div", is, [
1315
1315
  l("div", cs, [
1316
1316
  l("h2", us, T(s.title), 1),
@@ -1331,13 +1331,13 @@ function Is(t, e, s, i, n, r) {
1331
1331
  ]),
1332
1332
  l("div", ds, [
1333
1333
  l("div", bs, [
1334
- (H = (N = n.tableData) == null ? void 0 : N.filterState) != null && H.length ? (o(), _(p, {
1334
+ (H = (N = n.tableData) == null ? void 0 : N.filterState) != null && H.length ? (o(), _(h, {
1335
1335
  key: 0,
1336
1336
  tabsList: (R = n.tableData) == null ? void 0 : R.filterState,
1337
1337
  filterState: n.filterState,
1338
1338
  "onUpdate:filterState": e[0] || (e[0] = (b) => n.filterState = b)
1339
1339
  }, null, 8, ["tabsList", "filterState"])) : w("", !0),
1340
- l("div", hs, [
1340
+ l("div", ps, [
1341
1341
  l("div", {
1342
1342
  class: I([n.isVisibleCardInfo ? "w-[calc(100%-360px)]" : "w-full"])
1343
1343
  }, [
@@ -1356,7 +1356,7 @@ function Is(t, e, s, i, n, r) {
1356
1356
  clearable: !0,
1357
1357
  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"
1358
1358
  }, null, 8, ["modelValue"]),
1359
- l("div", ps, [
1359
+ l("div", hs, [
1360
1360
  (W = n.tableData) != null && W.slots ? (o(), _(c, {
1361
1361
  key: 0,
1362
1362
  slots: (Z = n.tableData) == null ? void 0 : Z.slots
@@ -1424,7 +1424,7 @@ function Is(t, e, s, i, n, r) {
1424
1424
  ]),
1425
1425
  l("tbody", _s, [
1426
1426
  (o(!0), a(S, null, D((le = n.tableData) == null ? void 0 : le.rows, (b, Te) => {
1427
- var ce, ue, de, be, he, pe, fe, me, ge, xe;
1427
+ var ce, ue, de, be, pe, he, fe, me, ge, xe;
1428
1428
  return o(), a("tr", {
1429
1429
  key: Te,
1430
1430
  class: I({
@@ -1458,7 +1458,7 @@ function Is(t, e, s, i, n, r) {
1458
1458
  onUpdateTable: r.getTableData
1459
1459
  }, null, 8, ["row", "column", "table", "onUpdateTable"])
1460
1460
  ], 10, ws))), 128)),
1461
- (pe = (he = r.getActions) == null ? void 0 : he.filter((q) => q !== "add")) != null && pe.length ? (o(), a("td", {
1461
+ (he = (pe = r.getActions) == null ? void 0 : pe.filter((q) => q !== "add")) != null && he.length ? (o(), a("td", {
1462
1462
  key: 0,
1463
1463
  class: I(["text-center sticky right-0 w-[80px] px-[10px]", {
1464
1464
  "bg-gray-50": ((me = (fe = t.$route) == null ? void 0 : fe.query) == null ? void 0 : me.card) === (b == null ? void 0 : b.id),
@@ -1523,7 +1523,7 @@ function Is(t, e, s, i, n, r) {
1523
1523
  ])
1524
1524
  ]);
1525
1525
  }
1526
- const Ds = /* @__PURE__ */ v(as, [["render", Is], ["__scopeId", "data-v-6b80b456"]]), Fs = {
1526
+ const Ds = /* @__PURE__ */ v(as, [["render", Is], ["__scopeId", "data-v-50f2b688"]]), Fs = {
1527
1527
  components: { AdminTable: Ds },
1528
1528
  data() {
1529
1529
  return {
@@ -1581,7 +1581,7 @@ const Ds = /* @__PURE__ */ v(as, [["render", Is], ["__scopeId", "data-v-6b80b456
1581
1581
  }
1582
1582
  }, js = ["innerHTML"];
1583
1583
  function Ms(t, e, s, i, n, r) {
1584
- const u = h("AdminTable");
1584
+ const u = p("AdminTable");
1585
1585
  return n.table ? (o(), _(u, {
1586
1586
  key: 0,
1587
1587
  table: n.table,
@@ -1,6 +1,6 @@
1
- import { _ as b, I as A, u as E, s as B, a as Q, b as F, c as S } from "./import-file-BW7hdzkG.js";
1
+ import { _ as b, I as A, u as E, s as B, a as Q, b as F, c as S } from "./import-file-2vpw3792.js";
2
2
  import { openBlock as n, createElementBlock as l, createElementVNode as s, createStaticVNode as q, resolveComponent as p, normalizeClass as I, createTextVNode as D, toDisplayString as Z, createVNode as d, Transition as G, withCtx as O, withDirectives as J, Fragment as N, renderList as U, vShow as K, withModifiers as P, createCommentVNode as T, createBlock as R, resolveDynamicComponent as W } from "vue";
3
- import { I as X } from "./IconChevronDown-Ckqp2kHy.js";
3
+ import { I as X } from "./IconChevronDown-C6C2qgO7.js";
4
4
  const Y = {}, e1 = {
5
5
  xmlns: "http://www.w3.org/2000/svg",
6
6
  viewBox: "0 0 24 24",
@@ -372,7 +372,7 @@ function F1(e, t, o, a, r, u) {
372
372
  ])
373
373
  ]);
374
374
  }
375
- const K1 = /* @__PURE__ */ b(T1, [["render", F1], ["__scopeId", "data-v-98158745"]]);
375
+ const K1 = /* @__PURE__ */ b(T1, [["render", F1], ["__scopeId", "data-v-68620ef3"]]);
376
376
  export {
377
377
  K1 as default
378
378
  };
package/dist/admin.js CHANGED
@@ -1,4 +1,4 @@
1
- import { h as f } from "./import-file-BW7hdzkG.js";
1
+ import { h as f } from "./import-file-2vpw3792.js";
2
2
  export {
3
3
  f as default
4
4
  };