@opengis/admin 0.1.75 → 0.1.77

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