@opengis/bi 1.2.25 → 1.2.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bi.js +13 -12
- package/dist/bi.umd.cjs +68 -63
- package/dist/{import-file-CDgZ5DVo.js → import-file-DN5MrFOd.js} +1132 -1105
- package/dist/{vs-funnel-bar-DqAvALNw.js → vs-funnel-bar-DwVkX7Q2.js} +1 -1
- package/dist/{vs-list-BpJ1x8Jt.js → vs-list-BWyOIZbY.js} +1 -1
- package/dist/{vs-map-Bv1DE5Cy.js → vs-map-BeYJ2aj0.js} +2 -2
- package/dist/{vs-map-cluster-Bi6VgdLb.js → vs-map-cluster-ltvourI_.js} +2 -2
- package/dist/{vs-number-DcNzw794.js → vs-number-BvAcFzRT.js} +1 -1
- package/dist/{vs-table-BNtAxSD5.js → vs-table-CBFIS-pF.js} +1 -1
- package/dist/{vs-text-BrR4ghm-.js → vs-text-GIhpwEL4.js} +1 -1
- package/package.json +2 -2
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
var us = Object.defineProperty;
|
|
2
2
|
var hs = (s, e, t) => e in s ? us(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
|
|
3
3
|
var P = (s, e, t) => hs(s, typeof e != "symbol" ? e + "" : e, t);
|
|
4
|
-
import { h as
|
|
4
|
+
import { h as Ke, defineComponent as ge, ref as I, computed as q, onUnmounted as Ue, createElementBlock as x, openBlock as h, Fragment as U, createElementVNode as c, createCommentVNode as A, createTextVNode as X, toDisplayString as W, renderList as Z, mergeModels as Be, useModel as Gt, withDirectives as et, normalizeClass as se, vModelCheckbox as ps, defineAsyncComponent as M, onMounted as le, watch as ae, normalizeStyle as Ge, createBlock as E, createVNode as T, unref as N, withModifiers as Ht, resolveDynamicComponent as Zt, createStaticVNode as fs, mergeProps as he, resolveComponent as K, withCtx as j, Teleport as gs, Transition as ms, renderSlot as Rt, getCurrentInstance as me, onErrorCaptured as bs, inject as Qt, vModelText as xs, vModelSelect as ys, provide as Qe, readonly as ws } from "vue";
|
|
5
|
+
import { useRouter as we, useRoute as vs } from "vue-router";
|
|
5
6
|
/**
|
|
6
7
|
* @license lucide-vue-next v0.577.0 - ISC
|
|
7
8
|
*
|
|
8
9
|
* This source code is licensed under the ISC license.
|
|
9
10
|
* See the LICENSE file in the root directory of this source tree.
|
|
10
11
|
*/
|
|
11
|
-
const
|
|
12
|
+
const ks = (s) => {
|
|
12
13
|
for (const e in s)
|
|
13
14
|
if (e.startsWith("aria-") || e === "role" || e === "title")
|
|
14
15
|
return !0;
|
|
@@ -27,7 +28,7 @@ const Vt = (s) => s === "";
|
|
|
27
28
|
* This source code is licensed under the ISC license.
|
|
28
29
|
* See the LICENSE file in the root directory of this source tree.
|
|
29
30
|
*/
|
|
30
|
-
const
|
|
31
|
+
const $s = (...s) => s.filter((e, t, a) => !!e && e.trim() !== "" && a.indexOf(e) === t).join(" ").trim();
|
|
31
32
|
/**
|
|
32
33
|
* @license lucide-vue-next v0.577.0 - ISC
|
|
33
34
|
*
|
|
@@ -41,7 +42,7 @@ const Lt = (s) => s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
|
41
42
|
* This source code is licensed under the ISC license.
|
|
42
43
|
* See the LICENSE file in the root directory of this source tree.
|
|
43
44
|
*/
|
|
44
|
-
const
|
|
45
|
+
const _s = (s) => s.replace(
|
|
45
46
|
/^([A-Z])|[\s-_]+(\w)/g,
|
|
46
47
|
(e, t, a) => a ? a.toUpperCase() : t.toLowerCase()
|
|
47
48
|
);
|
|
@@ -51,8 +52,8 @@ const $s = (s) => s.replace(
|
|
|
51
52
|
* This source code is licensed under the ISC license.
|
|
52
53
|
* See the LICENSE file in the root directory of this source tree.
|
|
53
54
|
*/
|
|
54
|
-
const
|
|
55
|
-
const e =
|
|
55
|
+
const Ds = (s) => {
|
|
56
|
+
const e = _s(s);
|
|
56
57
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
57
58
|
};
|
|
58
59
|
/**
|
|
@@ -78,7 +79,7 @@ var ze = {
|
|
|
78
79
|
* This source code is licensed under the ISC license.
|
|
79
80
|
* See the LICENSE file in the root directory of this source tree.
|
|
80
81
|
*/
|
|
81
|
-
const
|
|
82
|
+
const Cs = ({
|
|
82
83
|
name: s,
|
|
83
84
|
iconNode: e,
|
|
84
85
|
absoluteStrokeWidth: t,
|
|
@@ -88,7 +89,7 @@ const Ds = ({
|
|
|
88
89
|
size: n = ze.width,
|
|
89
90
|
color: o = ze.stroke,
|
|
90
91
|
...l
|
|
91
|
-
}, { slots:
|
|
92
|
+
}, { slots: d }) => Ke(
|
|
92
93
|
"svg",
|
|
93
94
|
{
|
|
94
95
|
...ze,
|
|
@@ -97,14 +98,14 @@ const Ds = ({
|
|
|
97
98
|
height: n,
|
|
98
99
|
stroke: o,
|
|
99
100
|
"stroke-width": Vt(t) || Vt(a) || t === !0 || a === !0 ? Number(r || i || ze["stroke-width"]) * 24 / Number(n) : r || i || ze["stroke-width"],
|
|
100
|
-
class:
|
|
101
|
+
class: $s(
|
|
101
102
|
"lucide",
|
|
102
103
|
l.class,
|
|
103
|
-
...s ? [`lucide-${Lt(
|
|
104
|
+
...s ? [`lucide-${Lt(Ds(s))}-icon`, `lucide-${Lt(s)}`] : ["lucide-icon"]
|
|
104
105
|
),
|
|
105
|
-
...!
|
|
106
|
+
...!d.default && !ks(l) && { "aria-hidden": "true" }
|
|
106
107
|
},
|
|
107
|
-
[...e.map((u) =>
|
|
108
|
+
[...e.map((u) => Ke(...u)), ...d.default ? [d.default()] : []]
|
|
108
109
|
);
|
|
109
110
|
/**
|
|
110
111
|
* @license lucide-vue-next v0.577.0 - ISC
|
|
@@ -112,8 +113,8 @@ const Ds = ({
|
|
|
112
113
|
* This source code is licensed under the ISC license.
|
|
113
114
|
* See the LICENSE file in the root directory of this source tree.
|
|
114
115
|
*/
|
|
115
|
-
const
|
|
116
|
-
|
|
116
|
+
const ee = (s, e) => (t, { slots: a, attrs: r }) => Ke(
|
|
117
|
+
Cs,
|
|
117
118
|
{
|
|
118
119
|
...r,
|
|
119
120
|
...t,
|
|
@@ -128,7 +129,19 @@ const se = (s, e) => (t, { slots: a, attrs: r }) => et(
|
|
|
128
129
|
* This source code is licensed under the ISC license.
|
|
129
130
|
* See the LICENSE file in the root directory of this source tree.
|
|
130
131
|
*/
|
|
131
|
-
const
|
|
132
|
+
const zs = ee("arrow-up-down", [
|
|
133
|
+
["path", { d: "m21 16-4 4-4-4", key: "f6ql7i" }],
|
|
134
|
+
["path", { d: "M17 20V4", key: "1ejh1v" }],
|
|
135
|
+
["path", { d: "m3 8 4-4 4 4", key: "11wl7u" }],
|
|
136
|
+
["path", { d: "M7 4v16", key: "1glfcx" }]
|
|
137
|
+
]);
|
|
138
|
+
/**
|
|
139
|
+
* @license lucide-vue-next v0.577.0 - ISC
|
|
140
|
+
*
|
|
141
|
+
* This source code is licensed under the ISC license.
|
|
142
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
143
|
+
*/
|
|
144
|
+
const Ts = ee("chevron-right", [
|
|
132
145
|
["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]
|
|
133
146
|
]);
|
|
134
147
|
/**
|
|
@@ -137,7 +150,7 @@ const Cs = se("chevron-right", [
|
|
|
137
150
|
* This source code is licensed under the ISC license.
|
|
138
151
|
* See the LICENSE file in the root directory of this source tree.
|
|
139
152
|
*/
|
|
140
|
-
const
|
|
153
|
+
const Is = ee("download", [
|
|
141
154
|
["path", { d: "M12 15V3", key: "m9g1x1" }],
|
|
142
155
|
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
|
|
143
156
|
["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
|
|
@@ -148,7 +161,7 @@ const zs = se("download", [
|
|
|
148
161
|
* This source code is licensed under the ISC license.
|
|
149
162
|
* See the LICENSE file in the root directory of this source tree.
|
|
150
163
|
*/
|
|
151
|
-
const
|
|
164
|
+
const Ss = ee("ellipsis-vertical", [
|
|
152
165
|
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
153
166
|
["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
|
|
154
167
|
["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
|
|
@@ -159,7 +172,7 @@ const Ts = se("ellipsis-vertical", [
|
|
|
159
172
|
* This source code is licensed under the ISC license.
|
|
160
173
|
* See the LICENSE file in the root directory of this source tree.
|
|
161
174
|
*/
|
|
162
|
-
const
|
|
175
|
+
const Rs = ee("funnel", [
|
|
163
176
|
[
|
|
164
177
|
"path",
|
|
165
178
|
{
|
|
@@ -174,7 +187,7 @@ const Is = se("funnel", [
|
|
|
174
187
|
* This source code is licensed under the ISC license.
|
|
175
188
|
* See the LICENSE file in the root directory of this source tree.
|
|
176
189
|
*/
|
|
177
|
-
const
|
|
190
|
+
const Vs = ee("layout-dashboard", [
|
|
178
191
|
["rect", { width: "7", height: "9", x: "3", y: "3", rx: "1", key: "10lvy0" }],
|
|
179
192
|
["rect", { width: "7", height: "5", x: "14", y: "3", rx: "1", key: "16une8" }],
|
|
180
193
|
["rect", { width: "7", height: "9", x: "14", y: "12", rx: "1", key: "1hutg5" }],
|
|
@@ -186,7 +199,7 @@ const Ss = se("layout-dashboard", [
|
|
|
186
199
|
* This source code is licensed under the ISC license.
|
|
187
200
|
* See the LICENSE file in the root directory of this source tree.
|
|
188
201
|
*/
|
|
189
|
-
const
|
|
202
|
+
const Ls = ee("layout-grid", [
|
|
190
203
|
["rect", { width: "7", height: "7", x: "3", y: "3", rx: "1", key: "1g98yp" }],
|
|
191
204
|
["rect", { width: "7", height: "7", x: "14", y: "3", rx: "1", key: "6d4xhi" }],
|
|
192
205
|
["rect", { width: "7", height: "7", x: "14", y: "14", rx: "1", key: "nxv5o0" }],
|
|
@@ -198,7 +211,7 @@ const Rs = se("layout-grid", [
|
|
|
198
211
|
* This source code is licensed under the ISC license.
|
|
199
212
|
* See the LICENSE file in the root directory of this source tree.
|
|
200
213
|
*/
|
|
201
|
-
const
|
|
214
|
+
const Ws = ee("pencil", [
|
|
202
215
|
[
|
|
203
216
|
"path",
|
|
204
217
|
{
|
|
@@ -214,7 +227,7 @@ const Vs = se("pencil", [
|
|
|
214
227
|
* This source code is licensed under the ISC license.
|
|
215
228
|
* See the LICENSE file in the root directory of this source tree.
|
|
216
229
|
*/
|
|
217
|
-
const
|
|
230
|
+
const Xt = ee("plus", [
|
|
218
231
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
219
232
|
["path", { d: "M12 5v14", key: "s699le" }]
|
|
220
233
|
]);
|
|
@@ -224,7 +237,7 @@ const Qt = se("plus", [
|
|
|
224
237
|
* This source code is licensed under the ISC license.
|
|
225
238
|
* See the LICENSE file in the root directory of this source tree.
|
|
226
239
|
*/
|
|
227
|
-
const
|
|
240
|
+
const Ns = ee("save", [
|
|
228
241
|
[
|
|
229
242
|
"path",
|
|
230
243
|
{
|
|
@@ -241,7 +254,7 @@ const Ls = se("save", [
|
|
|
241
254
|
* This source code is licensed under the ISC license.
|
|
242
255
|
* See the LICENSE file in the root directory of this source tree.
|
|
243
256
|
*/
|
|
244
|
-
const Wt =
|
|
257
|
+
const Wt = ee("search", [
|
|
245
258
|
["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
|
|
246
259
|
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
|
|
247
260
|
]);
|
|
@@ -251,7 +264,7 @@ const Wt = se("search", [
|
|
|
251
264
|
* This source code is licensed under the ISC license.
|
|
252
265
|
* See the LICENSE file in the root directory of this source tree.
|
|
253
266
|
*/
|
|
254
|
-
const
|
|
267
|
+
const Es = ee("table-2", [
|
|
255
268
|
[
|
|
256
269
|
"path",
|
|
257
270
|
{
|
|
@@ -266,7 +279,7 @@ const Ws = se("table-2", [
|
|
|
266
279
|
* This source code is licensed under the ISC license.
|
|
267
280
|
* See the LICENSE file in the root directory of this source tree.
|
|
268
281
|
*/
|
|
269
|
-
const
|
|
282
|
+
const js = ee("trash-2", [
|
|
270
283
|
["path", { d: "M10 11v6", key: "nco0om" }],
|
|
271
284
|
["path", { d: "M14 11v6", key: "outv1u" }],
|
|
272
285
|
["path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6", key: "miytrc" }],
|
|
@@ -279,15 +292,15 @@ const Ns = se("trash-2", [
|
|
|
279
292
|
* This source code is licensed under the ISC license.
|
|
280
293
|
* See the LICENSE file in the root directory of this source tree.
|
|
281
294
|
*/
|
|
282
|
-
const
|
|
295
|
+
const Bs = ee("x", [
|
|
283
296
|
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
284
297
|
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
285
|
-
]),
|
|
298
|
+
]), Xe = {
|
|
286
299
|
week: "Тиждень",
|
|
287
300
|
month: "Місяць",
|
|
288
301
|
quarter: "Квартал",
|
|
289
302
|
year: "Рік"
|
|
290
|
-
},
|
|
303
|
+
}, Os = ["onClick"], Ps = { class: "flex items-center justify-between w-full" }, As = { key: 0 }, Fs = /* @__PURE__ */ ge({
|
|
291
304
|
__name: "vs-bi-dropdown",
|
|
292
305
|
props: {
|
|
293
306
|
title: {},
|
|
@@ -296,35 +309,35 @@ const Es = se("x", [
|
|
|
296
309
|
},
|
|
297
310
|
emits: ["selected"],
|
|
298
311
|
setup(s, { emit: e }) {
|
|
299
|
-
const t = s, a = e, r = I(!1), i = I(t.value ?? null), n = I(null), o =
|
|
300
|
-
const
|
|
301
|
-
return typeof
|
|
302
|
-
}), l =
|
|
303
|
-
const
|
|
312
|
+
const t = s, a = e, r = I(!1), i = I(t.value ?? null), n = I(null), o = q(() => {
|
|
313
|
+
const m = t.options;
|
|
314
|
+
return typeof m == "string" ? m.split(",").map((b, k) => ({ id: k, text: b.trim() })) : Array.isArray(m) ? m : [];
|
|
315
|
+
}), l = q(() => {
|
|
316
|
+
const m = o.value.find(
|
|
304
317
|
(b) => (b.id ?? b) === i.value
|
|
305
318
|
);
|
|
306
|
-
return
|
|
307
|
-
}),
|
|
308
|
-
const b = (
|
|
319
|
+
return m ? m.text ?? String(m) : t.title ?? "";
|
|
320
|
+
}), d = (m) => {
|
|
321
|
+
const b = (m == null ? void 0 : m.id) ?? m;
|
|
309
322
|
i.value = b, r.value = !1, a("selected", b), document.removeEventListener("click", u);
|
|
310
|
-
}, u = (
|
|
311
|
-
n.value && !n.value.contains(
|
|
312
|
-
},
|
|
323
|
+
}, u = (m) => {
|
|
324
|
+
n.value && !n.value.contains(m.target) && (r.value = !1, document.removeEventListener("click", u));
|
|
325
|
+
}, p = () => {
|
|
313
326
|
r.value = !r.value, r.value ? setTimeout(() => {
|
|
314
327
|
document.addEventListener("click", u);
|
|
315
328
|
}, 200) : document.removeEventListener("click", u);
|
|
316
|
-
}, v = (
|
|
329
|
+
}, v = (m) => (Xe == null ? void 0 : Xe[m]) ?? m;
|
|
317
330
|
return Ue(() => {
|
|
318
331
|
document.removeEventListener("click", u);
|
|
319
|
-
}), (
|
|
320
|
-
|
|
332
|
+
}), (m, b) => (h(), x(U, null, [
|
|
333
|
+
c("button", {
|
|
321
334
|
type: "button",
|
|
322
335
|
"aria-expanded": "true",
|
|
323
336
|
class: "hs-select-disabled:pointer-events-none hs-select-disabled:opacity-50 relative group pr-2 -ms-2 py-1.5 pl-2.5 inline-flex shrink-0 justify-center items-center gap-x-1.5 text-sm text-gray-800 rounded-lg hover:bg-gray-100 focus:outline-none focus:bg-gray-100 before:absolute before:inset-0 before:z-[1] dark:text-neutral-400 dark:hover:bg-neutral-800 dark:focus:bg-neutral-700",
|
|
324
|
-
onClick:
|
|
337
|
+
onClick: p
|
|
325
338
|
}, [
|
|
326
339
|
X(W(v(l.value)) + " ", 1),
|
|
327
|
-
b[0] || (b[0] =
|
|
340
|
+
b[0] || (b[0] = c("svg", {
|
|
328
341
|
class: "shrink-0 size-3.5 text-gray-600 dark:text-neutral-400",
|
|
329
342
|
xmlns: "http://www.w3.org/2000/svg",
|
|
330
343
|
width: "16",
|
|
@@ -336,10 +349,10 @@ const Es = se("x", [
|
|
|
336
349
|
"stroke-linecap": "round",
|
|
337
350
|
"stroke-linejoin": "round"
|
|
338
351
|
}, [
|
|
339
|
-
|
|
352
|
+
c("path", { d: "m6 9 6 6 6-6" })
|
|
340
353
|
], -1))
|
|
341
354
|
]),
|
|
342
|
-
r.value ? (
|
|
355
|
+
r.value ? (h(), x("div", {
|
|
343
356
|
key: 0,
|
|
344
357
|
ref_key: "biDropdown",
|
|
345
358
|
ref: n,
|
|
@@ -350,15 +363,15 @@ const Es = se("x", [
|
|
|
350
363
|
"aria-orientation": "vertical",
|
|
351
364
|
style: { "margin-top": "10px" }
|
|
352
365
|
}, [
|
|
353
|
-
(
|
|
366
|
+
(h(!0), x(U, null, Z(o.value, (k) => (h(), x("div", {
|
|
354
367
|
key: k.id || k,
|
|
355
368
|
class: "cursor-pointer selected hs-selected:bg-gray-100 dark:hs-selected:bg-neutral-800 py-1.5 px-2 w-full text-[13px] text-gray-800 rounded-lg hover:bg-gray-100 focus:outline-none focus:bg-gray-100 dark:text-neutral-300 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700",
|
|
356
|
-
onClick: (
|
|
369
|
+
onClick: (D) => d(k)
|
|
357
370
|
}, [
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
i.value === (k.id || k) ? (
|
|
361
|
-
|
|
371
|
+
c("div", Ps, [
|
|
372
|
+
c("span", null, W(v(k.text || k)), 1),
|
|
373
|
+
i.value === (k.id || k) ? (h(), x("span", As, [...b[1] || (b[1] = [
|
|
374
|
+
c("svg", {
|
|
362
375
|
class: "shrink-0 h-3.5 w-3.5 text-gray-800 dark:text-neutral-200",
|
|
363
376
|
xmlns: "http:.w3.org/2000/svg",
|
|
364
377
|
width: "24",
|
|
@@ -370,15 +383,15 @@ const Es = se("x", [
|
|
|
370
383
|
"stroke-linecap": "round",
|
|
371
384
|
"stroke-linejoin": "round"
|
|
372
385
|
}, [
|
|
373
|
-
|
|
386
|
+
c("polyline", { points: "20 6 9 17 4 12" })
|
|
374
387
|
], -1)
|
|
375
388
|
])])) : A("", !0)
|
|
376
389
|
])
|
|
377
|
-
], 8,
|
|
390
|
+
], 8, Os))), 128))
|
|
378
391
|
], 512)) : A("", !0)
|
|
379
392
|
], 64));
|
|
380
393
|
}
|
|
381
|
-
}),
|
|
394
|
+
}), qs = { class: "flex items-center space-x-2" }, Ms = /* @__PURE__ */ ge({
|
|
382
395
|
__name: "vs-bi-switch",
|
|
383
396
|
props: /* @__PURE__ */ Be({
|
|
384
397
|
leftLabel: {},
|
|
@@ -396,12 +409,12 @@ const Es = se("x", [
|
|
|
396
409
|
const t = e, a = Gt(s, "modelValue"), r = () => {
|
|
397
410
|
t("update:is-enabled", a);
|
|
398
411
|
};
|
|
399
|
-
return (i, n) => (
|
|
400
|
-
s.leftLabel ? (
|
|
412
|
+
return (i, n) => (h(), x("div", qs, [
|
|
413
|
+
s.leftLabel ? (h(), x("div", {
|
|
401
414
|
key: 0,
|
|
402
|
-
class:
|
|
415
|
+
class: se(["transition-colors", { "text-blue-500": !a.value }])
|
|
403
416
|
}, W(s.leftLabel), 3)) : A("", !0),
|
|
404
|
-
|
|
417
|
+
et(c("input", {
|
|
405
418
|
"onUpdate:modelValue": n[0] || (n[0] = (o) => a.value = o),
|
|
406
419
|
type: "checkbox",
|
|
407
420
|
class: "relative w-11 h-6 p-px bg-gray-100 border-transparent text-transparent rounded-full cursor-pointer transition-colors ease-in-out duration-200 focus:ring-blue-600 disabled:opacity-50 disabled:pointer-events-none checked:bg-none checked:text-blue-600 checked:border-blue-600 focus:checked:border-blue-600 dark:bg-neutral-800 dark:border-neutral-700 dark:checked:bg-blue-500 dark:checked:border-blue-500 dark:focus:ring-offset-gray-600 before:inline-block before:size-5 before:bg-white checked:before:bg-blue-200 before:translate-x-0 checked:before:translate-x-full before:rounded-full before:shadow before:h-5 before:w-5 before:transform before:ring-0 before:transition before:ease-in-out before:duration-200 dark:before:bg-neutral-400 dark:checked:before:bg-blue-200",
|
|
@@ -409,9 +422,9 @@ const Es = se("x", [
|
|
|
409
422
|
}, null, 544), [
|
|
410
423
|
[ps, a.value]
|
|
411
424
|
]),
|
|
412
|
-
s.rightLabel ? (
|
|
425
|
+
s.rightLabel ? (h(), x("div", {
|
|
413
426
|
key: 1,
|
|
414
|
-
class:
|
|
427
|
+
class: se(["transition-colors", { "text-blue-500": a.value }])
|
|
415
428
|
}, W(s.rightLabel), 3)) : A("", !0)
|
|
416
429
|
]));
|
|
417
430
|
}
|
|
@@ -420,36 +433,36 @@ const Es = se("x", [
|
|
|
420
433
|
for (const [a, r] of e)
|
|
421
434
|
t[a] = r;
|
|
422
435
|
return t;
|
|
423
|
-
},
|
|
424
|
-
function
|
|
425
|
-
return
|
|
426
|
-
|
|
427
|
-
|
|
436
|
+
}, Us = {}, Gs = { class: "flex items-center justify-center h-full" };
|
|
437
|
+
function Hs(s, e) {
|
|
438
|
+
return h(), x("div", Gs, [...e[0] || (e[0] = [
|
|
439
|
+
c("div", { class: "text-center text-gray-500" }, [
|
|
440
|
+
c("h2", { class: "text-2xl font-bold" }, "No data available")
|
|
428
441
|
], -1)
|
|
429
442
|
])]);
|
|
430
443
|
}
|
|
431
|
-
const
|
|
432
|
-
"bi-bar": M(() => Promise.resolve().then(() =>
|
|
433
|
-
"bi-number": M(() => import("./vs-number-
|
|
434
|
-
"bi-text": M(() => import("./vs-text-
|
|
435
|
-
"bi-listbar": M(() => Promise.resolve().then(() =>
|
|
436
|
-
"bi-pie": M(() => Promise.resolve().then(() =>
|
|
437
|
-
"bi-donut": M(() => Promise.resolve().then(() =>
|
|
438
|
-
"bi-line": M(() => Promise.resolve().then(() =>
|
|
439
|
-
"bi-stat": M(() => Promise.resolve().then(() =>
|
|
440
|
-
"bi-pivot": M(() => Promise.resolve().then(() =>
|
|
441
|
-
"bi-progress": M(() => Promise.resolve().then(() =>
|
|
442
|
-
"bi-funnel": M(() => import("./vs-funnel-bar-
|
|
443
|
-
"bi-map": M(() => import("./vs-map-
|
|
444
|
-
"bi-cluster": M(() => import("./vs-map-cluster-
|
|
445
|
-
"bi-table": M(() => import("./vs-table-
|
|
444
|
+
const Zs = /* @__PURE__ */ Q(Us, [["render", Hs]]), Nt = {
|
|
445
|
+
"bi-bar": M(() => Promise.resolve().then(() => ei)),
|
|
446
|
+
"bi-number": M(() => import("./vs-number-BvAcFzRT.js")),
|
|
447
|
+
"bi-text": M(() => import("./vs-text-GIhpwEL4.js")),
|
|
448
|
+
"bi-listbar": M(() => Promise.resolve().then(() => Ki)),
|
|
449
|
+
"bi-pie": M(() => Promise.resolve().then(() => ci)),
|
|
450
|
+
"bi-donut": M(() => Promise.resolve().then(() => ni)),
|
|
451
|
+
"bi-line": M(() => Promise.resolve().then(() => gi)),
|
|
452
|
+
"bi-stat": M(() => Promise.resolve().then(() => Ri)),
|
|
453
|
+
"bi-pivot": M(() => Promise.resolve().then(() => bo)),
|
|
454
|
+
"bi-progress": M(() => Promise.resolve().then(() => Mi)),
|
|
455
|
+
"bi-funnel": M(() => import("./vs-funnel-bar-DwVkX7Q2.js")),
|
|
456
|
+
"bi-map": M(() => import("./vs-map-BeYJ2aj0.js")),
|
|
457
|
+
"bi-cluster": M(() => import("./vs-map-cluster-ltvourI_.js")),
|
|
458
|
+
"bi-table": M(() => import("./vs-table-CBFIS-pF.js"))
|
|
446
459
|
};
|
|
447
|
-
let
|
|
448
|
-
function
|
|
449
|
-
|
|
460
|
+
let Yt = "/api";
|
|
461
|
+
function He(s) {
|
|
462
|
+
Yt = s || "/api";
|
|
450
463
|
}
|
|
451
|
-
function
|
|
452
|
-
const t =
|
|
464
|
+
function Qs(s, e) {
|
|
465
|
+
const t = Yt.replace(/\/$/, ""), r = s.startsWith("http") || s.startsWith("//") || t && s.startsWith(t) ? s : `${t}${s.startsWith("/") ? s : `/${s}`}`;
|
|
453
466
|
if (!e || !Object.keys(e).length) return r;
|
|
454
467
|
const i = new URLSearchParams();
|
|
455
468
|
Object.entries(e).forEach(([o, l]) => {
|
|
@@ -459,7 +472,7 @@ function Hs(s, e) {
|
|
|
459
472
|
return n ? `${r}${r.includes("?") ? "&" : "?"}${n}` : r;
|
|
460
473
|
}
|
|
461
474
|
async function Ee(s, e = {}) {
|
|
462
|
-
const { params: t, ...a } = e, r =
|
|
475
|
+
const { params: t, ...a } = e, r = Qs(s, t), i = {
|
|
463
476
|
...a.headers
|
|
464
477
|
};
|
|
465
478
|
a.body != null && (i["Content-Type"] = i["Content-Type"] ?? "application/json");
|
|
@@ -489,13 +502,13 @@ const H = {
|
|
|
489
502
|
delete(s) {
|
|
490
503
|
return Ee(s, { method: "DELETE" });
|
|
491
504
|
}
|
|
492
|
-
},
|
|
505
|
+
}, Xs = {
|
|
493
506
|
key: 0,
|
|
494
507
|
class: "text-[16px] flex max-w-full items-center min-h-0 justify-between h-fit shrink-0"
|
|
495
|
-
},
|
|
508
|
+
}, Ys = { class: "flex items-center justify-between w-full gap-2" }, Js = { class: "flex items-center gap-2 min-w-0" }, Ks = { class: "text-gray-800 inline-block line-clamp-1 font-semibold" }, ea = { class: "flex flex-col justify-end" }, ta = {
|
|
496
509
|
key: 0,
|
|
497
510
|
class: "flex items-center justify-end w-full gap-2"
|
|
498
|
-
},
|
|
511
|
+
}, Oe = /* @__PURE__ */ ge({
|
|
499
512
|
__name: "vs-widget",
|
|
500
513
|
props: {
|
|
501
514
|
dashboard: {},
|
|
@@ -509,117 +522,117 @@ const H = {
|
|
|
509
522
|
},
|
|
510
523
|
emits: ["update:current-widget-data"],
|
|
511
524
|
setup(s, { emit: e }) {
|
|
512
|
-
const t = s, a = e, r = I(null), i = I(null), n = I(null), o = I({}), l = I([]),
|
|
513
|
-
var
|
|
514
|
-
const
|
|
515
|
-
return ((
|
|
516
|
-
}), u =
|
|
517
|
-
var
|
|
518
|
-
const
|
|
519
|
-
return (
|
|
520
|
-
}),
|
|
521
|
-
var
|
|
522
|
-
return t.height || ((
|
|
523
|
-
}), v =
|
|
524
|
-
var
|
|
525
|
-
const
|
|
526
|
-
return !
|
|
527
|
-
name:
|
|
528
|
-
options: w
|
|
525
|
+
const t = s, a = e, r = I(null), i = I(null), n = I(null), o = I({}), l = I([]), d = q(() => {
|
|
526
|
+
var f, w;
|
|
527
|
+
const y = (f = t.dashboardWidgets) == null ? void 0 : f.find(($) => $.name === t.widget);
|
|
528
|
+
return ((w = y == null ? void 0 : y.data) == null ? void 0 : w.title) ?? (y == null ? void 0 : y.title) ?? "";
|
|
529
|
+
}), u = q(() => {
|
|
530
|
+
var f;
|
|
531
|
+
const y = (f = t.dashboardWidgets) == null ? void 0 : f.find((w) => w.name === t.widget);
|
|
532
|
+
return (y == null ? void 0 : y.type) ?? "text";
|
|
533
|
+
}), p = q(() => {
|
|
534
|
+
var y, f;
|
|
535
|
+
return t.height || ((f = (y = o.value) == null ? void 0 : y.style) == null ? void 0 : f.height) || 480;
|
|
536
|
+
}), v = q(() => {
|
|
537
|
+
var f;
|
|
538
|
+
const y = (f = o.value) == null ? void 0 : f.controls;
|
|
539
|
+
return !y || typeof y == "boolean" ? [] : Object.keys(y).map((w) => ({
|
|
540
|
+
name: w,
|
|
541
|
+
options: y[w]
|
|
529
542
|
}));
|
|
530
|
-
}),
|
|
531
|
-
const
|
|
532
|
-
return
|
|
543
|
+
}), m = q(() => {
|
|
544
|
+
const y = u.value ? `bi-${u.value}` : "";
|
|
545
|
+
return y && y in Nt ? Nt[y] : null;
|
|
533
546
|
});
|
|
534
|
-
function b(
|
|
535
|
-
var
|
|
536
|
-
(
|
|
547
|
+
function b(y, f) {
|
|
548
|
+
var w, $;
|
|
549
|
+
($ = (w = i.value) == null ? void 0 : w.changeStyle) == null || $.call(w, y, f);
|
|
537
550
|
}
|
|
538
|
-
function k(
|
|
539
|
-
const
|
|
540
|
-
|
|
551
|
+
function k(y, f) {
|
|
552
|
+
const w = l.value.find(($) => $.name === f);
|
|
553
|
+
w ? w.option = y : l.value.push({ name: f, option: y }), D();
|
|
541
554
|
}
|
|
542
|
-
function
|
|
543
|
-
var
|
|
544
|
-
let
|
|
545
|
-
l.value.forEach((
|
|
546
|
-
|
|
547
|
-
}), (
|
|
555
|
+
function D() {
|
|
556
|
+
var f, w;
|
|
557
|
+
let y = `/bi-data?dashboard=${t.dashboard}&widget=${t.widget}`;
|
|
558
|
+
l.value.forEach(($) => {
|
|
559
|
+
y += `&${$.name}=${$.option}`;
|
|
560
|
+
}), (w = (f = i.value) == null ? void 0 : f.getDataFromURL) == null || w.call(f, y);
|
|
548
561
|
}
|
|
549
562
|
function V() {
|
|
550
|
-
const
|
|
551
|
-
if (
|
|
552
|
-
const
|
|
563
|
+
const y = n.value;
|
|
564
|
+
if (y != null && y.getDataURL) {
|
|
565
|
+
const f = y.getDataURL({
|
|
553
566
|
type: "png",
|
|
554
567
|
pixelRatio: 2,
|
|
555
568
|
backgroundColor: "#ffffff"
|
|
556
|
-
}),
|
|
557
|
-
|
|
569
|
+
}), w = document.createElement("a");
|
|
570
|
+
w.href = f, w.download = "chart.png", document.body.appendChild(w), w.click(), document.body.removeChild(w);
|
|
558
571
|
}
|
|
559
572
|
}
|
|
560
573
|
return le(() => {
|
|
561
|
-
t.prefix &&
|
|
562
|
-
}),
|
|
574
|
+
t.prefix && He(t.prefix);
|
|
575
|
+
}), ae(
|
|
563
576
|
() => t.filterURl,
|
|
564
|
-
(
|
|
565
|
-
var
|
|
566
|
-
|
|
577
|
+
(y) => {
|
|
578
|
+
var f, w;
|
|
579
|
+
y && ((w = (f = i.value) == null ? void 0 : f.setFilter) == null || w.call(f, y));
|
|
567
580
|
}
|
|
568
|
-
),
|
|
581
|
+
), ae(
|
|
569
582
|
() => t.selectedWidget,
|
|
570
|
-
(
|
|
571
|
-
var
|
|
572
|
-
|
|
583
|
+
(y, f) => {
|
|
584
|
+
var w;
|
|
585
|
+
y !== f && y === ((w = o.value) == null ? void 0 : w.id) && a("update:current-widget-data", o.value);
|
|
573
586
|
}
|
|
574
|
-
),
|
|
587
|
+
), ae(
|
|
575
588
|
o,
|
|
576
|
-
(
|
|
577
|
-
(
|
|
589
|
+
(y, f) => {
|
|
590
|
+
(y == null ? void 0 : y.id) !== (f == null ? void 0 : f.id) && a("update:current-widget-data", y);
|
|
578
591
|
},
|
|
579
592
|
{ deep: !0 }
|
|
580
|
-
), (
|
|
581
|
-
var
|
|
582
|
-
return
|
|
593
|
+
), (y, f) => {
|
|
594
|
+
var w, $, _;
|
|
595
|
+
return h(), x("div", {
|
|
583
596
|
ref_key: "widgetRef",
|
|
584
597
|
ref: r,
|
|
585
598
|
class: "box-border relative p-4 bg-white border border-gray-200 rounded-xl shadow-sm select-auto overflow-hidden",
|
|
586
|
-
style: Ge({ height:
|
|
599
|
+
style: Ge({ height: p.value + "px", maxHeight: p.value + "px" })
|
|
587
600
|
}, [
|
|
588
|
-
["text", "cluster", "map"].includes(u.value) ? A("", !0) : (
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
601
|
+
["text", "cluster", "map"].includes(u.value) ? A("", !0) : (h(), x("div", Xs, [
|
|
602
|
+
c("div", Ys, [
|
|
603
|
+
c("div", Js, [
|
|
604
|
+
c("span", Ks, W(d.value), 1)
|
|
592
605
|
]),
|
|
593
|
-
|
|
594
|
-
(
|
|
595
|
-
(
|
|
596
|
-
(
|
|
597
|
-
), (
|
|
606
|
+
c("div", ea, [
|
|
607
|
+
(w = v.value) != null && w.length ? (h(), x("span", ta, [
|
|
608
|
+
(h(!0), x(U, null, Z(($ = v.value) == null ? void 0 : $.filter(
|
|
609
|
+
(g) => (g == null ? void 0 : g.options) && (g == null ? void 0 : g.name) !== "export"
|
|
610
|
+
), (g) => {
|
|
598
611
|
var C, z;
|
|
599
|
-
return
|
|
600
|
-
key:
|
|
612
|
+
return h(), x("div", {
|
|
613
|
+
key: g == null ? void 0 : g.name
|
|
601
614
|
}, [
|
|
602
|
-
Array.isArray(
|
|
615
|
+
Array.isArray(g == null ? void 0 : g.options) ? (h(), E(Fs, {
|
|
603
616
|
key: 0,
|
|
604
|
-
title:
|
|
605
|
-
options:
|
|
606
|
-
value: ((z = (C = o.value) == null ? void 0 : C.data) == null ? void 0 : z[
|
|
607
|
-
onSelected: (R) => k(R,
|
|
608
|
-
}, null, 8, ["title", "options", "value", "onSelected"])) : typeof
|
|
617
|
+
title: g == null ? void 0 : g.name,
|
|
618
|
+
options: g == null ? void 0 : g.options,
|
|
619
|
+
value: ((z = (C = o.value) == null ? void 0 : C.data) == null ? void 0 : z[g == null ? void 0 : g.name]) ?? null,
|
|
620
|
+
onSelected: (R) => k(R, g == null ? void 0 : g.name)
|
|
621
|
+
}, null, 8, ["title", "options", "value", "onSelected"])) : typeof g.options == "boolean" ? (h(), E(Ms, {
|
|
609
622
|
key: 1,
|
|
610
|
-
"left-label":
|
|
611
|
-
"model-value": !!(
|
|
612
|
-
"onUpdate:isEnabled": (R) => b(
|
|
623
|
+
"left-label": g == null ? void 0 : g.name,
|
|
624
|
+
"model-value": !!(g != null && g.options),
|
|
625
|
+
"onUpdate:isEnabled": (R) => b(g == null ? void 0 : g.name, R)
|
|
613
626
|
}, null, 8, ["left-label", "model-value", "onUpdate:isEnabled"])) : A("", !0)
|
|
614
627
|
]);
|
|
615
628
|
}), 128)),
|
|
616
|
-
(
|
|
629
|
+
(_ = v.value) != null && _.some((g) => (g == null ? void 0 : g.name) === "export") ? (h(), x("button", {
|
|
617
630
|
key: 0,
|
|
618
631
|
type: "button",
|
|
619
632
|
class: "h-[32px] w-[32px] rounded-lg hover:bg-gray-100 duration-100 flex items-center justify-center",
|
|
620
633
|
onClick: V
|
|
621
634
|
}, [
|
|
622
|
-
T(
|
|
635
|
+
T(N(Is), {
|
|
623
636
|
size: 16,
|
|
624
637
|
class: "text-gray-800"
|
|
625
638
|
})
|
|
@@ -628,20 +641,24 @@ const H = {
|
|
|
628
641
|
])
|
|
629
642
|
])
|
|
630
643
|
])),
|
|
631
|
-
|
|
632
|
-
|
|
644
|
+
c("div", {
|
|
645
|
+
class: "w-full h-full",
|
|
646
|
+
onClick: f[2] || (f[2] = Ht(() => {
|
|
647
|
+
}, ["stop"]))
|
|
648
|
+
}, [
|
|
649
|
+
m.value ? (h(), E(Zt(m.value), {
|
|
633
650
|
key: 0,
|
|
634
651
|
ref_key: "chartRef",
|
|
635
652
|
ref: i,
|
|
636
653
|
"current-widget": n.value,
|
|
637
|
-
"onUpdate:currentWidget":
|
|
654
|
+
"onUpdate:currentWidget": f[0] || (f[0] = (g) => n.value = g),
|
|
638
655
|
"widget-data": o.value,
|
|
639
|
-
"onUpdate:widgetData":
|
|
656
|
+
"onUpdate:widgetData": f[1] || (f[1] = (g) => o.value = g),
|
|
640
657
|
dashboard: s.dashboard,
|
|
641
|
-
title:
|
|
658
|
+
title: d.value,
|
|
642
659
|
widget: s.widget,
|
|
643
660
|
"prefetched-data": s.prefetchedData
|
|
644
|
-
}, null, 40, ["current-widget", "widget-data", "dashboard", "title", "widget", "prefetched-data"])) : (
|
|
661
|
+
}, null, 40, ["current-widget", "widget-data", "dashboard", "title", "widget", "prefetched-data"])) : (h(), E(Zs, {
|
|
645
662
|
key: 1,
|
|
646
663
|
class: "w-full h-full"
|
|
647
664
|
}))
|
|
@@ -649,72 +666,72 @@ const H = {
|
|
|
649
666
|
], 4);
|
|
650
667
|
};
|
|
651
668
|
}
|
|
652
|
-
}),
|
|
669
|
+
}), sa = { class: "w-full overflow-hidden rounded vs-table-interface__table-wrp h-fit" }, aa = { class: "p-5 min-h-[500px] flex flex-col justify-center items-center text-center" }, ra = { class: "max-w-sm mx-auto mt-6" }, na = { class: "font-medium text-gray-800 dark:text-neutral-200" }, ia = { class: "mt-2 text-sm text-gray-500 dark:text-neutral-500" }, Pe = /* @__PURE__ */ ge({
|
|
653
670
|
__name: "vs-new-nodata",
|
|
654
671
|
props: {
|
|
655
672
|
title: { default: "Дані для відображення відсутні" },
|
|
656
673
|
text: { default: "Змініть параметри пошуку або спробуйте пізніше" }
|
|
657
674
|
},
|
|
658
675
|
setup(s) {
|
|
659
|
-
return (e, t) => (
|
|
660
|
-
|
|
661
|
-
|
|
676
|
+
return (e, t) => (h(), x("div", sa, [
|
|
677
|
+
c("div", null, [
|
|
678
|
+
c("div", aa, [
|
|
662
679
|
t[0] || (t[0] = fs('<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>', 1)),
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
680
|
+
c("div", ra, [
|
|
681
|
+
c("p", na, W(s.title), 1),
|
|
682
|
+
c("p", ia, W(s.text), 1)
|
|
666
683
|
])
|
|
667
684
|
])
|
|
668
685
|
])
|
|
669
686
|
]));
|
|
670
687
|
}
|
|
671
|
-
}),
|
|
688
|
+
}), oa = {
|
|
672
689
|
__name: "filter",
|
|
673
690
|
setup(s) {
|
|
674
|
-
return (e, t) => (
|
|
691
|
+
return (e, t) => (h(), E(N(Rs), he(e.$attrs, { size: 24 }), null, 16));
|
|
675
692
|
}
|
|
676
|
-
},
|
|
677
|
-
components: { filterIcon:
|
|
693
|
+
}, la = {
|
|
694
|
+
components: { filterIcon: oa },
|
|
678
695
|
props: ["filterScheme"],
|
|
679
696
|
emits: ["filters:changed"]
|
|
680
|
-
},
|
|
697
|
+
}, da = { class: "flex items-center" }, ca = {
|
|
681
698
|
key: 0,
|
|
682
699
|
type: "button",
|
|
683
700
|
class: "py-2 px-2.5 ml-3 h-[38px] inline-flex items-center gap-x-1.5 text-xs font-medium rounded-lg border border-gray-200 bg-white text-gray-800 hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-50 opacity-60 cursor-not-allowed",
|
|
684
701
|
disabled: "",
|
|
685
702
|
title: "Фільтри вимкнено (v3-filter видалено)"
|
|
686
703
|
};
|
|
687
|
-
function
|
|
688
|
-
const n =
|
|
689
|
-
return
|
|
690
|
-
t.filterScheme ? (
|
|
704
|
+
function ua(s, e, t, a, r, i) {
|
|
705
|
+
const n = K("filterIcon");
|
|
706
|
+
return h(), x("div", da, [
|
|
707
|
+
t.filterScheme ? (h(), x("button", ca, [
|
|
691
708
|
T(n),
|
|
692
709
|
e[0] || (e[0] = X(" Фільтри ", -1))
|
|
693
710
|
])) : A("", !0)
|
|
694
711
|
]);
|
|
695
712
|
}
|
|
696
|
-
const
|
|
697
|
-
components: { VsFilterHeader:
|
|
713
|
+
const ha = /* @__PURE__ */ Q(la, [["render", ua]]), pa = {
|
|
714
|
+
components: { VsFilterHeader: ha },
|
|
698
715
|
props: {
|
|
699
716
|
dashboardData: { type: Object, default: null },
|
|
700
717
|
filters: { type: Array, default: null }
|
|
701
718
|
}
|
|
702
|
-
},
|
|
719
|
+
}, fa = { class: "bg-white px-5 flex gap-4 h-[90px] border border-gray-200 rounded-xl mb-2 pt-[3px] justify-between items-center" }, ga = { class: "grow" }, ma = { class: "text-lg font-semibold text-stone-800 dark:text-neutral-200" }, ba = {
|
|
703
720
|
key: 0,
|
|
704
721
|
class: "inline-flex items-center text-sm gap-x-2 text-stone-800 hover:text-stone-500 focus:outline-none focus:text-stone-500 dark:text-neutral-200 dark:hover:text-neutral-400 dark:focus:text-neutral-400"
|
|
705
|
-
},
|
|
722
|
+
}, xa = {
|
|
706
723
|
key: 0,
|
|
707
724
|
class: "flex items-center gap-3"
|
|
708
725
|
};
|
|
709
|
-
function
|
|
710
|
-
var o, l,
|
|
711
|
-
const n =
|
|
712
|
-
return
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
(l = t.dashboardData) != null && l.description ? (
|
|
726
|
+
function ya(s, e, t, a, r, i) {
|
|
727
|
+
var o, l, d;
|
|
728
|
+
const n = K("VsFilterHeader");
|
|
729
|
+
return h(), x("div", fa, [
|
|
730
|
+
c("div", ga, [
|
|
731
|
+
c("h1", ma, W((o = t.dashboardData) == null ? void 0 : o.title), 1),
|
|
732
|
+
(l = t.dashboardData) != null && l.description ? (h(), x("button", ba, W((d = t.dashboardData) == null ? void 0 : d.description), 1)) : A("", !0)
|
|
716
733
|
]),
|
|
717
|
-
t.filters ? (
|
|
734
|
+
t.filters ? (h(), x("div", xa, [
|
|
718
735
|
T(n, {
|
|
719
736
|
filterScheme: t.filters,
|
|
720
737
|
"onFilters:changed": e[0] || (e[0] = (u) => s.$emit("filters:changed", u))
|
|
@@ -722,22 +739,13 @@ function xa(s, e, t, a, r, i) {
|
|
|
722
739
|
])) : A("", !0)
|
|
723
740
|
]);
|
|
724
741
|
}
|
|
725
|
-
const
|
|
726
|
-
var Kt = {};
|
|
727
|
-
const wa = Symbol(Kt.NODE_ENV !== "production" ? "router" : ""), va = Symbol(Kt.NODE_ENV !== "production" ? "route location" : "");
|
|
728
|
-
function we() {
|
|
729
|
-
return He(wa);
|
|
730
|
-
}
|
|
731
|
-
function ka(s) {
|
|
732
|
-
return He(va);
|
|
733
|
-
}
|
|
734
|
-
const $a = {
|
|
742
|
+
const wa = /* @__PURE__ */ Q(pa, [["render", ya]]), va = {
|
|
735
743
|
key: 0,
|
|
736
744
|
class: "text-gray-400 shrink-0"
|
|
737
|
-
},
|
|
745
|
+
}, ka = ["onClick"], $a = ["onClick"], _a = {
|
|
738
746
|
key: 4,
|
|
739
747
|
class: "text-gray-900 font-medium truncate"
|
|
740
|
-
},
|
|
748
|
+
}, Jt = {
|
|
741
749
|
__name: "vs-breadcrumbs",
|
|
742
750
|
props: {
|
|
743
751
|
items: {
|
|
@@ -748,25 +756,25 @@ const $a = {
|
|
|
748
756
|
compact: { type: Boolean, default: !1 }
|
|
749
757
|
},
|
|
750
758
|
setup(s) {
|
|
751
|
-
const e = s, t = we(), a =
|
|
759
|
+
const e = s, t = we(), a = q(() => Array.isArray(e.items) ? e.items : []);
|
|
752
760
|
function r(i) {
|
|
753
761
|
t != null && t.push ? t.push(i) : typeof i == "string" && (window != null && window.location) && (window.location.href = i);
|
|
754
762
|
}
|
|
755
763
|
return (i, n) => {
|
|
756
|
-
const o =
|
|
757
|
-
return
|
|
758
|
-
class:
|
|
764
|
+
const o = K("router-link");
|
|
765
|
+
return h(), x("nav", {
|
|
766
|
+
class: se(["flex items-center gap-2 text-sm text-gray-600", s.compact ? "py-1" : "py-6"]),
|
|
759
767
|
"aria-label": "Breadcrumb"
|
|
760
768
|
}, [
|
|
761
|
-
(
|
|
762
|
-
|
|
763
|
-
T(
|
|
769
|
+
(h(!0), x(U, null, Z(a.value, (l, d) => (h(), x(U, { key: d }, [
|
|
770
|
+
d > 0 ? (h(), x("span", va, [
|
|
771
|
+
T(N(Ts), { class: "w-4 h-4" })
|
|
764
772
|
])) : A("", !0),
|
|
765
|
-
typeof l.onClick == "function" ? (
|
|
773
|
+
typeof l.onClick == "function" ? (h(), x("span", {
|
|
766
774
|
key: 1,
|
|
767
775
|
class: "hover:text-gray-900 transition-colors cursor-pointer",
|
|
768
776
|
onClick: (u) => l.onClick()
|
|
769
|
-
}, W(l.label), 9,
|
|
777
|
+
}, W(l.label), 9, ka)) : N(t) && l.to ? (h(), E(o, {
|
|
770
778
|
key: 2,
|
|
771
779
|
to: l.to,
|
|
772
780
|
class: "hover:text-gray-900 transition-colors"
|
|
@@ -775,17 +783,17 @@ const $a = {
|
|
|
775
783
|
X(W(l.label), 1)
|
|
776
784
|
]),
|
|
777
785
|
_: 2
|
|
778
|
-
}, 1032, ["to"])) : l.to ? (
|
|
786
|
+
}, 1032, ["to"])) : l.to ? (h(), x("span", {
|
|
779
787
|
key: 3,
|
|
780
788
|
class: "hover:text-gray-900 transition-colors cursor-pointer",
|
|
781
789
|
onClick: (u) => r(l.to)
|
|
782
|
-
}, W(l.label), 9,
|
|
790
|
+
}, W(l.label), 9, $a)) : (h(), x("span", _a, W(l.label), 1))
|
|
783
791
|
], 64))), 128))
|
|
784
792
|
], 2);
|
|
785
793
|
};
|
|
786
794
|
}
|
|
787
|
-
},
|
|
788
|
-
components: { VsWidget: Oe, VsNewNodata: Pe, VsHeader:
|
|
795
|
+
}, Da = {
|
|
796
|
+
components: { VsWidget: Oe, VsNewNodata: Pe, VsHeader: wa, VsBreadcrumbs: Jt },
|
|
789
797
|
props: ["id", "prefix"],
|
|
790
798
|
data() {
|
|
791
799
|
return {
|
|
@@ -798,7 +806,7 @@ const $a = {
|
|
|
798
806
|
};
|
|
799
807
|
},
|
|
800
808
|
async mounted() {
|
|
801
|
-
|
|
809
|
+
He(this.prefix || "/api"), await this.fetchData();
|
|
802
810
|
},
|
|
803
811
|
methods: {
|
|
804
812
|
async fetchData() {
|
|
@@ -833,33 +841,33 @@ const $a = {
|
|
|
833
841
|
}), this.filterURl += e);
|
|
834
842
|
}
|
|
835
843
|
}
|
|
836
|
-
},
|
|
837
|
-
function
|
|
844
|
+
}, Ca = { class: "w-full pb-8 overflow-y-auto mx-auto" }, za = { class: "grid flex-grow w-full grid-cols-12 gap-4 h-fit" };
|
|
845
|
+
function Ta(s, e, t, a, r, i) {
|
|
838
846
|
var l;
|
|
839
|
-
const n =
|
|
840
|
-
return
|
|
841
|
-
|
|
842
|
-
r.error || !r.dashboardData ? (
|
|
847
|
+
const n = K("VsNewNodata"), o = K("VsWidget");
|
|
848
|
+
return h(), x("div", Ca, [
|
|
849
|
+
c("div", za, [
|
|
850
|
+
r.error || !r.dashboardData ? (h(), E(n, {
|
|
843
851
|
key: 0,
|
|
844
852
|
class: "col-span-12"
|
|
845
853
|
})) : A("", !0),
|
|
846
|
-
(
|
|
847
|
-
var
|
|
848
|
-
return
|
|
854
|
+
(h(!0), x(U, null, Z(((l = r.dashboardData) == null ? void 0 : l.panels) || [], (d, u) => {
|
|
855
|
+
var p;
|
|
856
|
+
return h(), x("div", {
|
|
849
857
|
key: u,
|
|
850
|
-
class:
|
|
858
|
+
class: se([`col-span-12 lg:col-span-${d.col || 12}`, "flex flex-col gap-[10px]"])
|
|
851
859
|
}, [
|
|
852
|
-
(
|
|
860
|
+
(p = d.widgets) != null && p.length ? (h(!0), x(U, { key: 0 }, Z(d.widgets, (v) => (h(), E(o, {
|
|
853
861
|
key: v,
|
|
854
862
|
dashboard: t.id,
|
|
855
863
|
widget: v,
|
|
856
864
|
"dashboard-widgets": r.dashboardData.widgets,
|
|
857
865
|
"filter-u-rl": r.filterURl
|
|
858
|
-
}, null, 8, ["dashboard", "widget", "dashboard-widgets", "filter-u-rl"]))), 128)) : (
|
|
866
|
+
}, null, 8, ["dashboard", "widget", "dashboard-widgets", "filter-u-rl"]))), 128)) : (h(), E(o, {
|
|
859
867
|
key: 1,
|
|
860
868
|
class: "flex flex-col",
|
|
861
869
|
dashboard: t.id,
|
|
862
|
-
widget:
|
|
870
|
+
widget: d.widget,
|
|
863
871
|
"dashboard-widgets": r.dashboardData.widgets,
|
|
864
872
|
"filter-u-rl": r.filterURl
|
|
865
873
|
}, null, 8, ["dashboard", "widget", "dashboard-widgets", "filter-u-rl"]))
|
|
@@ -868,21 +876,21 @@ function Sa(s, e, t, a, r, i) {
|
|
|
868
876
|
])
|
|
869
877
|
]);
|
|
870
878
|
}
|
|
871
|
-
const vo = /* @__PURE__ */ Q(
|
|
872
|
-
var
|
|
879
|
+
const vo = /* @__PURE__ */ Q(Da, [["render", Ta]]);
|
|
880
|
+
var Ia = /* @__PURE__ */ ((s) => (s.Dashboard = "/dashboard", s.BiPlatform = "/bi-platform", s.EditorBase = "/editor", s.AllDashboards = "/dashboards", s.DashboardByName = "/dashboards/:name", s))(Ia || {}), Et;
|
|
873
881
|
((s) => {
|
|
874
882
|
((e) => {
|
|
875
883
|
e.Bar = "bar", e.ListBar = "listbar", e.Number = "number", e.Text = "text", e.Pie = "pie", e.Heatmap = "heatmap", e.Calendar = "calendar", e.Line = "line", e.Stat = "stat", e.Pivot = "pivot", e.Funnel = "funnel", e.Progress = "progress";
|
|
876
884
|
})(s.Types || (s.Types = {}));
|
|
877
885
|
})(Et || (Et = {}));
|
|
878
|
-
var
|
|
879
|
-
const
|
|
886
|
+
var J = /* @__PURE__ */ ((s) => (s.AllDashboards = "all-dashboards", s.BiPlatform = "bi-platform", s.Dashboard = "dashboard", s.Erobota = "erobota", s.Datatest = "datatest", s.Sourcedate = "sourcedate", s.Widgetwidget = "widgetwidget", s.Test = "test", s.Demo = "demo", s.Crm = "crm", s.Editor = "editor-all-dashboards", s.EditorDashboard = "editor-dashboard", s.EditorWidget = "editor-widget", s.Editordetails = "editordetails", s.Dbtables = "dbtables", s.Biviewer = "biviewer", s.Biviewerinner = "biviewerinner", s.Bieditor = "bieditor", s.Bieditorinner = "bieditorinner", s))(J || {});
|
|
887
|
+
const Sa = {
|
|
880
888
|
key: 0,
|
|
881
889
|
class: "vs-modal-wrapper fixed inset-0 flex items-center justify-center p-4"
|
|
882
|
-
},
|
|
890
|
+
}, Ra = { class: "flex items-center justify-between shrink-0 py-2.5 px-4 border-b border-gray-200 dark:border-[#454545]" }, Va = { class: "font-medium text-gray-800 dark:text-white" }, La = { class: "vs-modal-content flex-1 min-h-0 overflow-auto p-4" }, Wa = {
|
|
883
891
|
key: 0,
|
|
884
892
|
class: "shrink-0 border-t border-gray-200 dark:border-neutral-700"
|
|
885
|
-
},
|
|
893
|
+
}, Na = {
|
|
886
894
|
__name: "vs-modal",
|
|
887
895
|
props: {
|
|
888
896
|
visible: { type: Boolean, default: !1 },
|
|
@@ -893,7 +901,7 @@ const Va = {
|
|
|
893
901
|
},
|
|
894
902
|
emits: ["close", "update:visible"],
|
|
895
903
|
setup(s, { emit: e }) {
|
|
896
|
-
const t = s, a = e, r =
|
|
904
|
+
const t = s, a = e, r = q(() => t.size === "small" ? "md:max-w-[40%] w-full max-w-md" : t.size === "lg" ? "md:max-w-[70%] w-full max-w-4xl" : "md:max-w-[50%] w-full max-w-lg");
|
|
897
905
|
function i() {
|
|
898
906
|
a("update:visible", !1), a("close");
|
|
899
907
|
}
|
|
@@ -904,35 +912,35 @@ const Va = {
|
|
|
904
912
|
window.addEventListener("keydown", n);
|
|
905
913
|
}), Ue(() => {
|
|
906
914
|
window.removeEventListener("keydown", n);
|
|
907
|
-
}), (o, l) => (
|
|
908
|
-
s.visible ? (
|
|
909
|
-
|
|
915
|
+
}), (o, l) => (h(), E(gs, { to: s.teleport }, [
|
|
916
|
+
s.visible ? (h(), x("div", Sa, [
|
|
917
|
+
c("div", {
|
|
910
918
|
class: "absolute inset-0 bg-black/50",
|
|
911
919
|
"aria-hidden": "true",
|
|
912
|
-
onMousedown: l[0] || (l[0] = (
|
|
920
|
+
onMousedown: l[0] || (l[0] = (d) => s.closeClickBack && d.target === d.currentTarget && i())
|
|
913
921
|
}, null, 32),
|
|
914
922
|
T(ms, {
|
|
915
923
|
name: "vs-modal",
|
|
916
924
|
appear: ""
|
|
917
925
|
}, {
|
|
918
926
|
default: j(() => [
|
|
919
|
-
s.visible ? (
|
|
927
|
+
s.visible ? (h(), x("div", {
|
|
920
928
|
key: 0,
|
|
921
|
-
class:
|
|
929
|
+
class: se(["vs-modal-panel relative flex flex-col bg-white dark:bg-[#1A1A1A] rounded-xl shadow-xl max-h-[85vh] min-w-0 border border-gray-200 dark:border-[#454545]", r.value]),
|
|
922
930
|
role: "dialog",
|
|
923
931
|
"aria-modal": "true",
|
|
924
|
-
onMousedown: l[1] || (l[1] =
|
|
932
|
+
onMousedown: l[1] || (l[1] = Ht(() => {
|
|
925
933
|
}, ["stop"]))
|
|
926
934
|
}, [
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
935
|
+
c("div", Ra, [
|
|
936
|
+
c("h3", Va, W(s.title), 1),
|
|
937
|
+
c("button", {
|
|
930
938
|
type: "button",
|
|
931
939
|
class: "size-8 inline-flex justify-center items-center rounded-full bg-gray-100 text-gray-800 hover:bg-gray-200 dark:bg-neutral-700 dark:hover:bg-neutral-600 dark:text-neutral-300",
|
|
932
940
|
"aria-label": "Закрити",
|
|
933
941
|
onClick: i
|
|
934
942
|
}, [...l[2] || (l[2] = [
|
|
935
|
-
|
|
943
|
+
c("svg", {
|
|
936
944
|
class: "w-4 h-4",
|
|
937
945
|
xmlns: "http://www.w3.org/2000/svg",
|
|
938
946
|
fill: "none",
|
|
@@ -940,7 +948,7 @@ const Va = {
|
|
|
940
948
|
stroke: "currentColor",
|
|
941
949
|
"stroke-width": "2"
|
|
942
950
|
}, [
|
|
943
|
-
|
|
951
|
+
c("path", {
|
|
944
952
|
"stroke-linecap": "round",
|
|
945
953
|
"stroke-linejoin": "round",
|
|
946
954
|
d: "M6 18L18 6M6 6l12 12"
|
|
@@ -948,10 +956,10 @@ const Va = {
|
|
|
948
956
|
], -1)
|
|
949
957
|
])])
|
|
950
958
|
]),
|
|
951
|
-
|
|
959
|
+
c("div", La, [
|
|
952
960
|
Rt(o.$slots, "default", {}, void 0, !0)
|
|
953
961
|
]),
|
|
954
|
-
o.$slots.footer ? (
|
|
962
|
+
o.$slots.footer ? (h(), x("div", Wa, [
|
|
955
963
|
Rt(o.$slots, "footer", {}, void 0, !0)
|
|
956
964
|
])) : A("", !0)
|
|
957
965
|
], 34)) : A("", !0)
|
|
@@ -961,12 +969,12 @@ const Va = {
|
|
|
961
969
|
])) : A("", !0)
|
|
962
970
|
], 8, ["to"]));
|
|
963
971
|
}
|
|
964
|
-
}, Ve = /* @__PURE__ */ Q(
|
|
972
|
+
}, Ve = /* @__PURE__ */ Q(Na, [["__scopeId", "data-v-5722a50f"]]), Ea = {
|
|
965
973
|
__name: "icon-plus",
|
|
966
974
|
setup(s) {
|
|
967
|
-
return (e, t) => (
|
|
975
|
+
return (e, t) => (h(), E(N(Xt), he(e.$attrs, { size: 24 }), null, 16));
|
|
968
976
|
}
|
|
969
|
-
},
|
|
977
|
+
}, ja = { class: "mb-4 overflow-auto scrollbar max-h-96" }, Ba = {
|
|
970
978
|
__name: "vs-editor-create-widget",
|
|
971
979
|
props: {
|
|
972
980
|
columns: {
|
|
@@ -980,19 +988,19 @@ const Va = {
|
|
|
980
988
|
emits: ["update-data"],
|
|
981
989
|
setup(s, { expose: e, emit: t }) {
|
|
982
990
|
var b;
|
|
983
|
-
const a = M(() => import("@opengis/form")), r = (b = me().proxy) == null ? void 0 : b.$notify, i = t, n = s, o = I(!1), l = I({}),
|
|
991
|
+
const a = M(() => import("@opengis/form")), r = (b = me().proxy) == null ? void 0 : b.$notify, i = t, n = s, o = I(!1), l = I({}), d = I();
|
|
984
992
|
function u() {
|
|
985
993
|
o.value = !0;
|
|
986
994
|
}
|
|
987
|
-
function
|
|
995
|
+
function p() {
|
|
988
996
|
o.value = !1;
|
|
989
997
|
}
|
|
990
|
-
e({ open: u, close:
|
|
998
|
+
e({ open: u, close: p });
|
|
991
999
|
const v = async () => {
|
|
992
1000
|
var k;
|
|
993
1001
|
try {
|
|
994
|
-
const
|
|
995
|
-
typeof
|
|
1002
|
+
const D = (k = d.value) == null ? void 0 : k.doValidation;
|
|
1003
|
+
typeof D == "function" && await D(), await H.post(
|
|
996
1004
|
`/bi-dashboard/${n.selectedDashboard}`,
|
|
997
1005
|
l.value
|
|
998
1006
|
), await r({
|
|
@@ -1000,16 +1008,16 @@ const Va = {
|
|
|
1000
1008
|
title: "Успішно!",
|
|
1001
1009
|
message: "Віджет успішно створено"
|
|
1002
1010
|
}), await i("update-data"), l.value = {}, o.value = !1;
|
|
1003
|
-
} catch (
|
|
1004
|
-
const V = (
|
|
1011
|
+
} catch (D) {
|
|
1012
|
+
const V = (D == null ? void 0 : D.message) || "При спробі створити віджет сталася помилка. Перевірте обов'язкові поля (зокрема Type).";
|
|
1005
1013
|
r == null || r({
|
|
1006
1014
|
type: "error",
|
|
1007
1015
|
title: "Помилка!",
|
|
1008
1016
|
message: V
|
|
1009
1017
|
});
|
|
1010
1018
|
}
|
|
1011
|
-
},
|
|
1012
|
-
var k,
|
|
1019
|
+
}, m = q(() => {
|
|
1020
|
+
var k, D, V, y;
|
|
1013
1021
|
return {
|
|
1014
1022
|
title: {
|
|
1015
1023
|
type: "text",
|
|
@@ -1023,12 +1031,12 @@ const Va = {
|
|
|
1023
1031
|
view: "buttons",
|
|
1024
1032
|
style: { size: "xs" },
|
|
1025
1033
|
validators: ["required"],
|
|
1026
|
-
options: (
|
|
1027
|
-
(
|
|
1028
|
-
)) == null ? void 0 :
|
|
1029
|
-
id:
|
|
1030
|
-
text:
|
|
1031
|
-
type:
|
|
1034
|
+
options: (D = (k = n.columns) == null ? void 0 : k.filter(
|
|
1035
|
+
(f) => (f == null ? void 0 : f.type) == "text" || (f == null ? void 0 : f.type) === "date" || (f == null ? void 0 : f.type) === "timestamp without time zone" || (f == null ? void 0 : f.type) === "boolean" || (f == null ? void 0 : f.type) === "integer"
|
|
1036
|
+
)) == null ? void 0 : D.map(({ name: f, type: w }) => ({
|
|
1037
|
+
id: f,
|
|
1038
|
+
text: f,
|
|
1039
|
+
type: w
|
|
1032
1040
|
}))
|
|
1033
1041
|
},
|
|
1034
1042
|
metric: {
|
|
@@ -1039,10 +1047,10 @@ const Va = {
|
|
|
1039
1047
|
style: { size: "xs" },
|
|
1040
1048
|
options: [
|
|
1041
1049
|
{ id: "count", label: "count" },
|
|
1042
|
-
...(
|
|
1043
|
-
id:
|
|
1044
|
-
text:
|
|
1045
|
-
type:
|
|
1050
|
+
...(y = (V = n.columns) == null ? void 0 : V.filter((f) => (f == null ? void 0 : f.type) === "numeric" || (f == null ? void 0 : f.type) === "double precision")) == null ? void 0 : y.map(({ name: f, type: w }) => ({
|
|
1051
|
+
id: f,
|
|
1052
|
+
text: f,
|
|
1053
|
+
type: w
|
|
1046
1054
|
}))
|
|
1047
1055
|
]
|
|
1048
1056
|
},
|
|
@@ -1148,21 +1156,21 @@ const Va = {
|
|
|
1148
1156
|
}
|
|
1149
1157
|
};
|
|
1150
1158
|
});
|
|
1151
|
-
return (k,
|
|
1152
|
-
const V =
|
|
1153
|
-
return
|
|
1154
|
-
s.inline ? A("", !0) : (
|
|
1159
|
+
return (k, D) => {
|
|
1160
|
+
const V = K("VsPopover");
|
|
1161
|
+
return h(), x("div", null, [
|
|
1162
|
+
s.inline ? A("", !0) : (h(), E(V, {
|
|
1155
1163
|
key: 0,
|
|
1156
1164
|
placement: "right",
|
|
1157
1165
|
trigger: "hover"
|
|
1158
1166
|
}, {
|
|
1159
1167
|
reference: j(() => [
|
|
1160
|
-
|
|
1161
|
-
|
|
1168
|
+
c("div", null, [
|
|
1169
|
+
c("button", {
|
|
1162
1170
|
class: "z-50 flex items-center justify-center h-[50px] !w-[50px] text-2xl text-white transition-colors bg-blue-500 rounded-full cursor-pointer hover:bg-blue-700",
|
|
1163
1171
|
onClick: u
|
|
1164
1172
|
}, [
|
|
1165
|
-
T(
|
|
1173
|
+
T(Ea, {
|
|
1166
1174
|
height: "20",
|
|
1167
1175
|
width: "20"
|
|
1168
1176
|
})
|
|
@@ -1170,7 +1178,7 @@ const Va = {
|
|
|
1170
1178
|
])
|
|
1171
1179
|
]),
|
|
1172
1180
|
default: j(() => [
|
|
1173
|
-
|
|
1181
|
+
D[1] || (D[1] = X(" Створити віджет ", -1))
|
|
1174
1182
|
]),
|
|
1175
1183
|
_: 1
|
|
1176
1184
|
})),
|
|
@@ -1178,29 +1186,29 @@ const Va = {
|
|
|
1178
1186
|
teleport: "#modal",
|
|
1179
1187
|
visible: o.value,
|
|
1180
1188
|
title: "Створити віджет",
|
|
1181
|
-
onClose:
|
|
1189
|
+
onClose: p
|
|
1182
1190
|
}, {
|
|
1183
1191
|
footer: j(() => [
|
|
1184
|
-
|
|
1185
|
-
|
|
1192
|
+
c("div", { class: "flex justify-end p-[20px] gap-[10px] border-t w-full" }, [
|
|
1193
|
+
c("button", {
|
|
1186
1194
|
style: { border: "1px solid #000" },
|
|
1187
|
-
onClick:
|
|
1195
|
+
onClick: p,
|
|
1188
1196
|
class: "py-2 px-3 inline-flex items-center gap-x-2 text-sm whitespace-nowrap text-black border-gray-200 rounded-lg !border-gray-200 hover:bg-gray-100 duration-300"
|
|
1189
1197
|
}, " Скасувати "),
|
|
1190
|
-
|
|
1198
|
+
c("button", {
|
|
1191
1199
|
onClick: v,
|
|
1192
1200
|
class: "py-2 px-3 inline-flex items-center gap-x-2 text-[14px] font-[400] whitespace-nowrap text-white bg-blue-500 rounded-lg !border-gray-200 hover:bg-blue-700 duration-300"
|
|
1193
1201
|
}, " Створити ")
|
|
1194
1202
|
])
|
|
1195
1203
|
]),
|
|
1196
1204
|
default: j(() => [
|
|
1197
|
-
|
|
1198
|
-
T(
|
|
1205
|
+
c("div", ja, [
|
|
1206
|
+
T(N(a), {
|
|
1199
1207
|
ref_key: "form",
|
|
1200
|
-
ref:
|
|
1201
|
-
schema:
|
|
1208
|
+
ref: d,
|
|
1209
|
+
schema: m.value,
|
|
1202
1210
|
values: l.value,
|
|
1203
|
-
"onUpdate:values":
|
|
1211
|
+
"onUpdate:values": D[0] || (D[0] = (y) => l.value = y)
|
|
1204
1212
|
}, null, 8, ["schema", "values"])
|
|
1205
1213
|
])
|
|
1206
1214
|
]),
|
|
@@ -1209,17 +1217,17 @@ const Va = {
|
|
|
1209
1217
|
]);
|
|
1210
1218
|
};
|
|
1211
1219
|
}
|
|
1212
|
-
},
|
|
1220
|
+
}, Kt = {
|
|
1213
1221
|
__name: "delete",
|
|
1214
1222
|
setup(s) {
|
|
1215
|
-
return (e, t) => (
|
|
1223
|
+
return (e, t) => (h(), E(N(js), he(e.$attrs, { size: 24 }), null, 16));
|
|
1216
1224
|
}
|
|
1217
1225
|
}, es = {
|
|
1218
1226
|
__name: "edit",
|
|
1219
1227
|
setup(s) {
|
|
1220
|
-
return (e, t) => (
|
|
1228
|
+
return (e, t) => (h(), E(N(Ws), he(e.$attrs, { size: 24 }), null, 16));
|
|
1221
1229
|
}
|
|
1222
|
-
},
|
|
1230
|
+
}, Oa = { class: "space-y-4" }, Pa = {
|
|
1223
1231
|
__name: "vs-editor-form-style",
|
|
1224
1232
|
props: {
|
|
1225
1233
|
widgetName: { type: String },
|
|
@@ -1229,14 +1237,14 @@ const Va = {
|
|
|
1229
1237
|
},
|
|
1230
1238
|
emits: ["update-dashboard"],
|
|
1231
1239
|
setup(s, { expose: e, emit: t }) {
|
|
1232
|
-
var _,
|
|
1233
|
-
const a = M(() => import("@opengis/form")), { $notify: r } = me().proxy, i = t, n = s, o = I(null), l =
|
|
1240
|
+
var $, _, g, C;
|
|
1241
|
+
const a = M(() => import("@opengis/form")), { $notify: r } = me().proxy, i = t, n = s, o = I(null), l = q(() => n.dashboardId || o.value), d = (($ = n.data) == null ? void 0 : $.type) || ((g = (_ = n.data) == null ? void 0 : _.data) == null ? void 0 : g.type), p = {
|
|
1234
1242
|
pie: { label: !1, legend: !0, tooltip: !0 },
|
|
1235
1243
|
donut: { label: !1, legend: !0, tooltip: !0 },
|
|
1236
1244
|
bar: { label: !1, legend: !1, tooltip: !0 },
|
|
1237
1245
|
line: { label: !1, legend: !1, tooltip: !0 },
|
|
1238
1246
|
funnel: { label: !1, legend: !1, tooltip: !0 }
|
|
1239
|
-
}[
|
|
1247
|
+
}[d] || { label: !1, legend: !1, tooltip: !0 }, v = {
|
|
1240
1248
|
show: {
|
|
1241
1249
|
label: "Підпис",
|
|
1242
1250
|
type: "switcher",
|
|
@@ -1269,7 +1277,7 @@ const Va = {
|
|
|
1269
1277
|
{ id: "bottom", text: "Bottom" }
|
|
1270
1278
|
]
|
|
1271
1279
|
}
|
|
1272
|
-
},
|
|
1280
|
+
}, m = {
|
|
1273
1281
|
show: {
|
|
1274
1282
|
label: "Легенда",
|
|
1275
1283
|
type: "switcher",
|
|
@@ -1281,41 +1289,41 @@ const Va = {
|
|
|
1281
1289
|
type: "switcher",
|
|
1282
1290
|
title: "Показати тултіп"
|
|
1283
1291
|
}
|
|
1284
|
-
}, k = (C = n.data) == null ? void 0 : C.style,
|
|
1285
|
-
k != null && k.label ? { ...k.label } : { show:
|
|
1292
|
+
}, k = (C = n.data) == null ? void 0 : C.style, D = I(
|
|
1293
|
+
k != null && k.label ? { ...k.label } : { show: p.label }
|
|
1286
1294
|
), V = I(
|
|
1287
|
-
k != null && k.legend ? { ...k.legend } : { show:
|
|
1288
|
-
),
|
|
1289
|
-
k != null && k.tooltip ? { ...k.tooltip } : { show:
|
|
1290
|
-
),
|
|
1295
|
+
k != null && k.legend ? { ...k.legend } : { show: p.legend }
|
|
1296
|
+
), y = I(
|
|
1297
|
+
k != null && k.tooltip ? { ...k.tooltip } : { show: p.tooltip }
|
|
1298
|
+
), f = () => {
|
|
1291
1299
|
const z = new CustomEvent(`update-style-${n.widgetName}`);
|
|
1292
1300
|
z.chartId = n.widgetName, z.options = {
|
|
1293
1301
|
options: {
|
|
1294
1302
|
legend: V.value,
|
|
1295
|
-
tooltip:
|
|
1296
|
-
label:
|
|
1303
|
+
tooltip: y.value,
|
|
1304
|
+
label: D.value
|
|
1297
1305
|
},
|
|
1298
|
-
seriesOptions:
|
|
1306
|
+
seriesOptions: D.value
|
|
1299
1307
|
}, window.dispatchEvent(z);
|
|
1300
1308
|
};
|
|
1301
|
-
|
|
1302
|
-
const
|
|
1309
|
+
ae(D, f, { deep: !0 }), ae(V, f, { deep: !0 }), ae(y, f, { deep: !0 });
|
|
1310
|
+
const w = async () => {
|
|
1303
1311
|
try {
|
|
1304
1312
|
await H.put(`/bi-dashboard/${l.value}/${n.widgetName}`, {
|
|
1305
1313
|
style: {
|
|
1306
1314
|
legend: V.value,
|
|
1307
|
-
tooltip:
|
|
1308
|
-
label:
|
|
1315
|
+
tooltip: y.value,
|
|
1316
|
+
label: D.value
|
|
1309
1317
|
}
|
|
1310
1318
|
});
|
|
1311
1319
|
const z = new CustomEvent(`update-style-${n.widgetName}`);
|
|
1312
1320
|
z.chartId = n.widgetName, z.options = {
|
|
1313
1321
|
options: {
|
|
1314
1322
|
legend: V.value,
|
|
1315
|
-
tooltip:
|
|
1316
|
-
label:
|
|
1323
|
+
tooltip: y.value,
|
|
1324
|
+
label: D.value
|
|
1317
1325
|
},
|
|
1318
|
-
seriesOptions:
|
|
1326
|
+
seriesOptions: D.value
|
|
1319
1327
|
}, window.dispatchEvent(z), i("update-dashboard"), r({
|
|
1320
1328
|
type: "success",
|
|
1321
1329
|
title: "Успішно!",
|
|
@@ -1331,24 +1339,24 @@ const Va = {
|
|
|
1331
1339
|
};
|
|
1332
1340
|
return le(() => {
|
|
1333
1341
|
const z = new URLSearchParams(window.top.location.search);
|
|
1334
|
-
o.value = z.get("dashboard"),
|
|
1335
|
-
}), e({ requestUpdateWidget:
|
|
1336
|
-
T(
|
|
1342
|
+
o.value = z.get("dashboard"), f();
|
|
1343
|
+
}), e({ requestUpdateWidget: w }), (z, R) => (h(), x("div", Oa, [
|
|
1344
|
+
T(N(a), {
|
|
1337
1345
|
schema: v,
|
|
1338
|
-
values:
|
|
1339
|
-
"onUpdate:values": R[0] || (R[0] = (
|
|
1346
|
+
values: D.value,
|
|
1347
|
+
"onUpdate:values": R[0] || (R[0] = (F) => D.value = F),
|
|
1340
1348
|
class: "p-0"
|
|
1341
1349
|
}, null, 8, ["values"]),
|
|
1342
|
-
T(
|
|
1343
|
-
schema:
|
|
1350
|
+
T(N(a), {
|
|
1351
|
+
schema: m,
|
|
1344
1352
|
values: V.value,
|
|
1345
|
-
"onUpdate:values": R[1] || (R[1] = (
|
|
1353
|
+
"onUpdate:values": R[1] || (R[1] = (F) => V.value = F),
|
|
1346
1354
|
class: "p-0"
|
|
1347
1355
|
}, null, 8, ["values"]),
|
|
1348
|
-
T(
|
|
1356
|
+
T(N(a), {
|
|
1349
1357
|
schema: b,
|
|
1350
|
-
values:
|
|
1351
|
-
"onUpdate:values": R[2] || (R[2] = (
|
|
1358
|
+
values: y.value,
|
|
1359
|
+
"onUpdate:values": R[2] || (R[2] = (F) => y.value = F),
|
|
1352
1360
|
class: "p-0"
|
|
1353
1361
|
}, null, 8, ["values"])
|
|
1354
1362
|
]));
|
|
@@ -1372,29 +1380,29 @@ let be = st();
|
|
|
1372
1380
|
function ts(s) {
|
|
1373
1381
|
be = s;
|
|
1374
1382
|
}
|
|
1375
|
-
const ss = /[&<>"']/,
|
|
1383
|
+
const ss = /[&<>"']/, Aa = new RegExp(ss.source, "g"), as = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, Fa = new RegExp(as.source, "g"), qa = {
|
|
1376
1384
|
"&": "&",
|
|
1377
1385
|
"<": "<",
|
|
1378
1386
|
">": ">",
|
|
1379
1387
|
'"': """,
|
|
1380
1388
|
"'": "'"
|
|
1381
|
-
}, jt = (s) =>
|
|
1382
|
-
function
|
|
1389
|
+
}, jt = (s) => qa[s];
|
|
1390
|
+
function te(s, e) {
|
|
1383
1391
|
if (e) {
|
|
1384
1392
|
if (ss.test(s))
|
|
1385
|
-
return s.replace(
|
|
1393
|
+
return s.replace(Aa, jt);
|
|
1386
1394
|
} else if (as.test(s))
|
|
1387
|
-
return s.replace(
|
|
1395
|
+
return s.replace(Fa, jt);
|
|
1388
1396
|
return s;
|
|
1389
1397
|
}
|
|
1390
|
-
const
|
|
1398
|
+
const Ma = /(^|[^\[])\^/g;
|
|
1391
1399
|
function O(s, e) {
|
|
1392
1400
|
let t = typeof s == "string" ? s : s.source;
|
|
1393
1401
|
e = e || "";
|
|
1394
1402
|
const a = {
|
|
1395
1403
|
replace: (r, i) => {
|
|
1396
1404
|
let n = typeof i == "string" ? i : i.source;
|
|
1397
|
-
return n = n.replace(
|
|
1405
|
+
return n = n.replace(Ma, "$1"), t = t.replace(r, n), a;
|
|
1398
1406
|
},
|
|
1399
1407
|
getRegex: () => new RegExp(t, e)
|
|
1400
1408
|
};
|
|
@@ -1411,8 +1419,8 @@ function Bt(s) {
|
|
|
1411
1419
|
const Se = { exec: () => null };
|
|
1412
1420
|
function Ot(s, e) {
|
|
1413
1421
|
const t = s.replace(/\|/g, (i, n, o) => {
|
|
1414
|
-
let l = !1,
|
|
1415
|
-
for (; --
|
|
1422
|
+
let l = !1, d = n;
|
|
1423
|
+
for (; --d >= 0 && o[d] === "\\"; )
|
|
1416
1424
|
l = !l;
|
|
1417
1425
|
return l ? "|" : " |";
|
|
1418
1426
|
}), a = t.split(/ \|/);
|
|
@@ -1436,7 +1444,7 @@ function Te(s, e, t) {
|
|
|
1436
1444
|
r++;
|
|
1437
1445
|
return s.slice(0, a - r);
|
|
1438
1446
|
}
|
|
1439
|
-
function
|
|
1447
|
+
function Ua(s, e) {
|
|
1440
1448
|
if (s.indexOf(e[1]) === -1)
|
|
1441
1449
|
return -1;
|
|
1442
1450
|
let t = 0;
|
|
@@ -1450,7 +1458,7 @@ function Ha(s, e) {
|
|
|
1450
1458
|
return -1;
|
|
1451
1459
|
}
|
|
1452
1460
|
function Pt(s, e, t, a) {
|
|
1453
|
-
const r = e.href, i = e.title ?
|
|
1461
|
+
const r = e.href, i = e.title ? te(e.title) : null, n = s[1].replace(/\\([\[\]])/g, "$1");
|
|
1454
1462
|
if (s[0].charAt(0) !== "!") {
|
|
1455
1463
|
a.state.inLink = !0;
|
|
1456
1464
|
const o = {
|
|
@@ -1468,10 +1476,10 @@ function Pt(s, e, t, a) {
|
|
|
1468
1476
|
raw: t,
|
|
1469
1477
|
href: r,
|
|
1470
1478
|
title: i,
|
|
1471
|
-
text:
|
|
1479
|
+
text: te(n)
|
|
1472
1480
|
};
|
|
1473
1481
|
}
|
|
1474
|
-
function
|
|
1482
|
+
function Ga(s, e) {
|
|
1475
1483
|
const t = s.match(/^(\s+)(?:```)/);
|
|
1476
1484
|
if (t === null)
|
|
1477
1485
|
return e;
|
|
@@ -1519,7 +1527,7 @@ class Ae {
|
|
|
1519
1527
|
fences(e) {
|
|
1520
1528
|
const t = this.rules.block.fences.exec(e);
|
|
1521
1529
|
if (t) {
|
|
1522
|
-
const a = t[0], r =
|
|
1530
|
+
const a = t[0], r = Ga(a, t[3] || "");
|
|
1523
1531
|
return {
|
|
1524
1532
|
type: "code",
|
|
1525
1533
|
raw: a,
|
|
@@ -1564,38 +1572,38 @@ class Ae {
|
|
|
1564
1572
|
for (; a.length > 0; ) {
|
|
1565
1573
|
let o = !1;
|
|
1566
1574
|
const l = [];
|
|
1567
|
-
let
|
|
1568
|
-
for (
|
|
1569
|
-
if (/^ {0,3}>/.test(a[
|
|
1570
|
-
l.push(a[
|
|
1575
|
+
let d;
|
|
1576
|
+
for (d = 0; d < a.length; d++)
|
|
1577
|
+
if (/^ {0,3}>/.test(a[d]))
|
|
1578
|
+
l.push(a[d]), o = !0;
|
|
1571
1579
|
else if (!o)
|
|
1572
|
-
l.push(a[
|
|
1580
|
+
l.push(a[d]);
|
|
1573
1581
|
else
|
|
1574
1582
|
break;
|
|
1575
|
-
a = a.slice(
|
|
1583
|
+
a = a.slice(d);
|
|
1576
1584
|
const u = l.join(`
|
|
1577
|
-
`),
|
|
1585
|
+
`), p = u.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g, `
|
|
1578
1586
|
$1`).replace(/^ {0,3}>[ \t]?/gm, "");
|
|
1579
1587
|
r = r ? `${r}
|
|
1580
1588
|
${u}` : u, i = i ? `${i}
|
|
1581
|
-
${
|
|
1589
|
+
${p}` : p;
|
|
1582
1590
|
const v = this.lexer.state.top;
|
|
1583
|
-
if (this.lexer.state.top = !0, this.lexer.blockTokens(
|
|
1591
|
+
if (this.lexer.state.top = !0, this.lexer.blockTokens(p, n, !0), this.lexer.state.top = v, a.length === 0)
|
|
1584
1592
|
break;
|
|
1585
|
-
const
|
|
1586
|
-
if ((
|
|
1593
|
+
const m = n[n.length - 1];
|
|
1594
|
+
if ((m == null ? void 0 : m.type) === "code")
|
|
1587
1595
|
break;
|
|
1588
|
-
if ((
|
|
1589
|
-
const b =
|
|
1596
|
+
if ((m == null ? void 0 : m.type) === "blockquote") {
|
|
1597
|
+
const b = m, k = b.raw + `
|
|
1590
1598
|
` + a.join(`
|
|
1591
|
-
`),
|
|
1592
|
-
n[n.length - 1] =
|
|
1599
|
+
`), D = this.blockquote(k);
|
|
1600
|
+
n[n.length - 1] = D, r = r.substring(0, r.length - b.raw.length) + D.raw, i = i.substring(0, i.length - b.text.length) + D.text;
|
|
1593
1601
|
break;
|
|
1594
|
-
} else if ((
|
|
1595
|
-
const b =
|
|
1602
|
+
} else if ((m == null ? void 0 : m.type) === "list") {
|
|
1603
|
+
const b = m, k = b.raw + `
|
|
1596
1604
|
` + a.join(`
|
|
1597
|
-
`),
|
|
1598
|
-
n[n.length - 1] =
|
|
1605
|
+
`), D = this.list(k);
|
|
1606
|
+
n[n.length - 1] = D, r = r.substring(0, r.length - m.raw.length) + D.raw, i = i.substring(0, i.length - b.raw.length) + D.raw, a = k.substring(n[n.length - 1].raw.length).split(`
|
|
1599
1607
|
`);
|
|
1600
1608
|
continue;
|
|
1601
1609
|
}
|
|
@@ -1624,51 +1632,51 @@ ${f}` : f;
|
|
|
1624
1632
|
const n = new RegExp(`^( {0,3}${a})((?:[ ][^\\n]*)?(?:\\n|$))`);
|
|
1625
1633
|
let o = !1;
|
|
1626
1634
|
for (; e; ) {
|
|
1627
|
-
let l = !1,
|
|
1635
|
+
let l = !1, d = "", u = "";
|
|
1628
1636
|
if (!(t = n.exec(e)) || this.rules.block.hr.test(e))
|
|
1629
1637
|
break;
|
|
1630
|
-
|
|
1631
|
-
let
|
|
1638
|
+
d = t[0], e = e.substring(d.length);
|
|
1639
|
+
let p = t[2].split(`
|
|
1632
1640
|
`, 1)[0].replace(/^\t+/, (V) => " ".repeat(3 * V.length)), v = e.split(`
|
|
1633
|
-
`, 1)[0],
|
|
1634
|
-
if (this.options.pedantic ? (b = 2, u =
|
|
1641
|
+
`, 1)[0], m = !p.trim(), b = 0;
|
|
1642
|
+
if (this.options.pedantic ? (b = 2, u = p.trimStart()) : m ? b = t[1].length + 1 : (b = t[2].search(/[^ ]/), b = b > 4 ? 1 : b, u = p.slice(b), b += t[1].length), m && /^[ \t]*$/.test(v) && (d += v + `
|
|
1635
1643
|
`, e = e.substring(v.length + 1), l = !0), !l) {
|
|
1636
|
-
const V = new RegExp(`^ {0,${Math.min(3, b - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),
|
|
1644
|
+
const V = new RegExp(`^ {0,${Math.min(3, b - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`), y = new RegExp(`^ {0,${Math.min(3, b - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), f = new RegExp(`^ {0,${Math.min(3, b - 1)}}(?:\`\`\`|~~~)`), w = new RegExp(`^ {0,${Math.min(3, b - 1)}}#`), $ = new RegExp(`^ {0,${Math.min(3, b - 1)}}<(?:[a-z].*>|!--)`, "i");
|
|
1637
1645
|
for (; e; ) {
|
|
1638
|
-
const
|
|
1646
|
+
const _ = e.split(`
|
|
1639
1647
|
`, 1)[0];
|
|
1640
|
-
let
|
|
1641
|
-
if (v =
|
|
1648
|
+
let g;
|
|
1649
|
+
if (v = _, this.options.pedantic ? (v = v.replace(/^ {1,4}(?=( {4})*[^ ])/g, " "), g = v) : g = v.replace(/\t/g, " "), f.test(v) || w.test(v) || $.test(v) || V.test(v) || y.test(v))
|
|
1642
1650
|
break;
|
|
1643
|
-
if (
|
|
1651
|
+
if (g.search(/[^ ]/) >= b || !v.trim())
|
|
1644
1652
|
u += `
|
|
1645
|
-
` +
|
|
1653
|
+
` + g.slice(b);
|
|
1646
1654
|
else {
|
|
1647
|
-
if (
|
|
1655
|
+
if (m || p.replace(/\t/g, " ").search(/[^ ]/) >= 4 || f.test(p) || w.test(p) || y.test(p))
|
|
1648
1656
|
break;
|
|
1649
1657
|
u += `
|
|
1650
1658
|
` + v;
|
|
1651
1659
|
}
|
|
1652
|
-
!
|
|
1653
|
-
`, e = e.substring(
|
|
1660
|
+
!m && !v.trim() && (m = !0), d += _ + `
|
|
1661
|
+
`, e = e.substring(_.length + 1), p = g.slice(b);
|
|
1654
1662
|
}
|
|
1655
1663
|
}
|
|
1656
|
-
i.loose || (o ? i.loose = !0 : /\n[ \t]*\n[ \t]*$/.test(
|
|
1657
|
-
let k = null,
|
|
1658
|
-
this.options.gfm && (k = /^\[[ xX]\] /.exec(u), k && (
|
|
1664
|
+
i.loose || (o ? i.loose = !0 : /\n[ \t]*\n[ \t]*$/.test(d) && (o = !0));
|
|
1665
|
+
let k = null, D;
|
|
1666
|
+
this.options.gfm && (k = /^\[[ xX]\] /.exec(u), k && (D = k[0] !== "[ ] ", u = u.replace(/^\[[ xX]\] +/, ""))), i.items.push({
|
|
1659
1667
|
type: "list_item",
|
|
1660
|
-
raw:
|
|
1668
|
+
raw: d,
|
|
1661
1669
|
task: !!k,
|
|
1662
|
-
checked:
|
|
1670
|
+
checked: D,
|
|
1663
1671
|
loose: !1,
|
|
1664
1672
|
text: u,
|
|
1665
1673
|
tokens: []
|
|
1666
|
-
}), i.raw +=
|
|
1674
|
+
}), i.raw += d;
|
|
1667
1675
|
}
|
|
1668
1676
|
i.items[i.items.length - 1].raw = i.items[i.items.length - 1].raw.trimEnd(), i.items[i.items.length - 1].text = i.items[i.items.length - 1].text.trimEnd(), i.raw = i.raw.trimEnd();
|
|
1669
1677
|
for (let l = 0; l < i.items.length; l++)
|
|
1670
1678
|
if (this.lexer.state.top = !1, i.items[l].tokens = this.lexer.blockTokens(i.items[l].text, []), !i.loose) {
|
|
1671
|
-
const
|
|
1679
|
+
const d = i.items[l].tokens.filter((p) => p.type === "space"), u = d.length > 0 && d.some((p) => /\n.*\n/.test(p.raw));
|
|
1672
1680
|
i.loose = u;
|
|
1673
1681
|
}
|
|
1674
1682
|
if (i.loose)
|
|
@@ -1724,11 +1732,11 @@ ${f}` : f;
|
|
|
1724
1732
|
align: n.align[o]
|
|
1725
1733
|
});
|
|
1726
1734
|
for (const o of i)
|
|
1727
|
-
n.rows.push(Ot(o, n.header.length).map((l,
|
|
1735
|
+
n.rows.push(Ot(o, n.header.length).map((l, d) => ({
|
|
1728
1736
|
text: l,
|
|
1729
1737
|
tokens: this.lexer.inline(l),
|
|
1730
1738
|
header: !1,
|
|
1731
|
-
align: n.align[
|
|
1739
|
+
align: n.align[d]
|
|
1732
1740
|
})));
|
|
1733
1741
|
return n;
|
|
1734
1742
|
}
|
|
@@ -1773,7 +1781,7 @@ ${f}` : f;
|
|
|
1773
1781
|
return {
|
|
1774
1782
|
type: "escape",
|
|
1775
1783
|
raw: t[0],
|
|
1776
|
-
text:
|
|
1784
|
+
text: te(t[1])
|
|
1777
1785
|
};
|
|
1778
1786
|
}
|
|
1779
1787
|
tag(e) {
|
|
@@ -1799,7 +1807,7 @@ ${f}` : f;
|
|
|
1799
1807
|
if ((a.length - n.length) % 2 === 0)
|
|
1800
1808
|
return;
|
|
1801
1809
|
} else {
|
|
1802
|
-
const n =
|
|
1810
|
+
const n = Ua(t[2], "()");
|
|
1803
1811
|
if (n > -1) {
|
|
1804
1812
|
const l = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + n;
|
|
1805
1813
|
t[2] = t[2].substring(0, n), t[0] = t[0].substring(0, l).trim(), t[3] = "";
|
|
@@ -1838,35 +1846,35 @@ ${f}` : f;
|
|
|
1838
1846
|
return;
|
|
1839
1847
|
if (!(r[1] || r[2] || "") || !a || this.rules.inline.punctuation.exec(a)) {
|
|
1840
1848
|
const n = [...r[0]].length - 1;
|
|
1841
|
-
let o, l,
|
|
1842
|
-
const
|
|
1843
|
-
for (
|
|
1849
|
+
let o, l, d = n, u = 0;
|
|
1850
|
+
const p = r[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;
|
|
1851
|
+
for (p.lastIndex = 0, t = t.slice(-1 * e.length + n); (r = p.exec(t)) != null; ) {
|
|
1844
1852
|
if (o = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !o)
|
|
1845
1853
|
continue;
|
|
1846
1854
|
if (l = [...o].length, r[3] || r[4]) {
|
|
1847
|
-
|
|
1855
|
+
d += l;
|
|
1848
1856
|
continue;
|
|
1849
1857
|
} else if ((r[5] || r[6]) && n % 3 && !((n + l) % 3)) {
|
|
1850
1858
|
u += l;
|
|
1851
1859
|
continue;
|
|
1852
1860
|
}
|
|
1853
|
-
if (
|
|
1861
|
+
if (d -= l, d > 0)
|
|
1854
1862
|
continue;
|
|
1855
|
-
l = Math.min(l, l +
|
|
1856
|
-
const v = [...r[0]][0].length,
|
|
1863
|
+
l = Math.min(l, l + d + u);
|
|
1864
|
+
const v = [...r[0]][0].length, m = e.slice(0, n + r.index + v + l);
|
|
1857
1865
|
if (Math.min(n, l) % 2) {
|
|
1858
|
-
const k =
|
|
1866
|
+
const k = m.slice(1, -1);
|
|
1859
1867
|
return {
|
|
1860
1868
|
type: "em",
|
|
1861
|
-
raw:
|
|
1869
|
+
raw: m,
|
|
1862
1870
|
text: k,
|
|
1863
1871
|
tokens: this.lexer.inlineTokens(k)
|
|
1864
1872
|
};
|
|
1865
1873
|
}
|
|
1866
|
-
const b =
|
|
1874
|
+
const b = m.slice(2, -2);
|
|
1867
1875
|
return {
|
|
1868
1876
|
type: "strong",
|
|
1869
|
-
raw:
|
|
1877
|
+
raw: m,
|
|
1870
1878
|
text: b,
|
|
1871
1879
|
tokens: this.lexer.inlineTokens(b)
|
|
1872
1880
|
};
|
|
@@ -1878,7 +1886,7 @@ ${f}` : f;
|
|
|
1878
1886
|
if (t) {
|
|
1879
1887
|
let a = t[2].replace(/\n/g, " ");
|
|
1880
1888
|
const r = /[^ ]/.test(a), i = /^ /.test(a) && / $/.test(a);
|
|
1881
|
-
return r && i && (a = a.substring(1, a.length - 1)), a =
|
|
1889
|
+
return r && i && (a = a.substring(1, a.length - 1)), a = te(a, !0), {
|
|
1882
1890
|
type: "codespan",
|
|
1883
1891
|
raw: t[0],
|
|
1884
1892
|
text: a
|
|
@@ -1907,7 +1915,7 @@ ${f}` : f;
|
|
|
1907
1915
|
const t = this.rules.inline.autolink.exec(e);
|
|
1908
1916
|
if (t) {
|
|
1909
1917
|
let a, r;
|
|
1910
|
-
return t[2] === "@" ? (a =
|
|
1918
|
+
return t[2] === "@" ? (a = te(t[1]), r = "mailto:" + a) : (a = te(t[1]), r = a), {
|
|
1911
1919
|
type: "link",
|
|
1912
1920
|
raw: t[0],
|
|
1913
1921
|
text: a,
|
|
@@ -1928,13 +1936,13 @@ ${f}` : f;
|
|
|
1928
1936
|
if (t = this.rules.inline.url.exec(e)) {
|
|
1929
1937
|
let r, i;
|
|
1930
1938
|
if (t[2] === "@")
|
|
1931
|
-
r =
|
|
1939
|
+
r = te(t[0]), i = "mailto:" + r;
|
|
1932
1940
|
else {
|
|
1933
1941
|
let n;
|
|
1934
1942
|
do
|
|
1935
1943
|
n = t[0], t[0] = ((a = this.rules.inline._backpedal.exec(t[0])) == null ? void 0 : a[0]) ?? "";
|
|
1936
1944
|
while (n !== t[0]);
|
|
1937
|
-
r =
|
|
1945
|
+
r = te(t[0]), t[1] === "www." ? i = "http://" + t[0] : i = t[0];
|
|
1938
1946
|
}
|
|
1939
1947
|
return {
|
|
1940
1948
|
type: "link",
|
|
@@ -1955,7 +1963,7 @@ ${f}` : f;
|
|
|
1955
1963
|
const t = this.rules.inline.text.exec(e);
|
|
1956
1964
|
if (t) {
|
|
1957
1965
|
let a;
|
|
1958
|
-
return this.lexer.state.inRawBlock ? a = t[0] : a =
|
|
1966
|
+
return this.lexer.state.inRawBlock ? a = t[0] : a = te(t[0]), {
|
|
1959
1967
|
type: "text",
|
|
1960
1968
|
raw: t[0],
|
|
1961
1969
|
text: a
|
|
@@ -1963,25 +1971,25 @@ ${f}` : f;
|
|
|
1963
1971
|
}
|
|
1964
1972
|
}
|
|
1965
1973
|
}
|
|
1966
|
-
const
|
|
1967
|
-
blockquote:
|
|
1968
|
-
code:
|
|
1969
|
-
def:
|
|
1970
|
-
fences:
|
|
1971
|
-
heading:
|
|
1974
|
+
const Ha = /^(?:[ \t]*(?:\n|$))+/, Za = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, Qa = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, We = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, Xa = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, rs = /(?:[*+-]|\d{1,9}[.)])/, ns = O(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g, rs).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).getRegex(), at = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, Ya = /^[^\n]+/, rt = /(?!\s*\])(?:\\.|[^\[\]\\])+/, Ja = O(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", rt).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), Ka = O(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, rs).getRegex(), Ze = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", nt = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, er = O("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", nt).replace("tag", Ze).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), is = O(at).replace("hr", We).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Ze).getRegex(), tr = O(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", is).getRegex(), it = {
|
|
1975
|
+
blockquote: tr,
|
|
1976
|
+
code: Za,
|
|
1977
|
+
def: Ja,
|
|
1978
|
+
fences: Qa,
|
|
1979
|
+
heading: Xa,
|
|
1972
1980
|
hr: We,
|
|
1973
|
-
html:
|
|
1981
|
+
html: er,
|
|
1974
1982
|
lheading: ns,
|
|
1975
|
-
list:
|
|
1976
|
-
newline:
|
|
1983
|
+
list: Ka,
|
|
1984
|
+
newline: Ha,
|
|
1977
1985
|
paragraph: is,
|
|
1978
1986
|
table: Se,
|
|
1979
|
-
text:
|
|
1980
|
-
}, At = O("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", We).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",
|
|
1987
|
+
text: Ya
|
|
1988
|
+
}, At = O("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", We).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Ze).getRegex(), sr = {
|
|
1981
1989
|
...it,
|
|
1982
1990
|
table: At,
|
|
1983
|
-
paragraph: O(at).replace("hr", We).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", At).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",
|
|
1984
|
-
},
|
|
1991
|
+
paragraph: O(at).replace("hr", We).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", At).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Ze).getRegex()
|
|
1992
|
+
}, ar = {
|
|
1985
1993
|
...it,
|
|
1986
1994
|
html: O(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", nt).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
|
|
1987
1995
|
def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
|
|
@@ -1991,28 +1999,28 @@ const Qa = /^(?:[ \t]*(?:\n|$))+/, Xa = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*
|
|
|
1991
1999
|
lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
|
1992
2000
|
paragraph: O(at).replace("hr", We).replace("heading", ` *#{1,6} *[^
|
|
1993
2001
|
]`).replace("lheading", ns).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
|
|
1994
|
-
}, os = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,
|
|
2002
|
+
}, os = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, rr = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, ls = /^( {2,}|\\)\n(?!\s*$)/, nr = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, Ne = "\\p{P}\\p{S}", ir = O(/^((?![*_])[\spunctuation])/, "u").replace(/punctuation/g, Ne).getRegex(), or = /\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g, lr = O(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/, "u").replace(/punct/g, Ne).getRegex(), dr = O("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])", "gu").replace(/punct/g, Ne).getRegex(), cr = O("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])", "gu").replace(/punct/g, Ne).getRegex(), ur = O(/\\([punct])/, "gu").replace(/punct/g, Ne).getRegex(), hr = O(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), pr = O(nt).replace("(?:-->|$)", "-->").getRegex(), fr = O("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", pr).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), Fe = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/, gr = O(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label", Fe).replace("href", /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), ds = O(/^!?\[(label)\]\[(ref)\]/).replace("label", Fe).replace("ref", rt).getRegex(), cs = O(/^!?\[(ref)\](?:\[\])?/).replace("ref", rt).getRegex(), mr = O("reflink|nolink(?!\\()", "g").replace("reflink", ds).replace("nolink", cs).getRegex(), ot = {
|
|
1995
2003
|
_backpedal: Se,
|
|
1996
2004
|
// only used for GFM url
|
|
1997
|
-
anyPunctuation:
|
|
1998
|
-
autolink:
|
|
1999
|
-
blockSkip:
|
|
2005
|
+
anyPunctuation: ur,
|
|
2006
|
+
autolink: hr,
|
|
2007
|
+
blockSkip: or,
|
|
2000
2008
|
br: ls,
|
|
2001
|
-
code:
|
|
2009
|
+
code: rr,
|
|
2002
2010
|
del: Se,
|
|
2003
|
-
emStrongLDelim:
|
|
2004
|
-
emStrongRDelimAst:
|
|
2005
|
-
emStrongRDelimUnd:
|
|
2011
|
+
emStrongLDelim: lr,
|
|
2012
|
+
emStrongRDelimAst: dr,
|
|
2013
|
+
emStrongRDelimUnd: cr,
|
|
2006
2014
|
escape: os,
|
|
2007
|
-
link:
|
|
2008
|
-
nolink:
|
|
2009
|
-
punctuation:
|
|
2010
|
-
reflink:
|
|
2011
|
-
reflinkSearch:
|
|
2012
|
-
tag:
|
|
2013
|
-
text:
|
|
2015
|
+
link: gr,
|
|
2016
|
+
nolink: cs,
|
|
2017
|
+
punctuation: ir,
|
|
2018
|
+
reflink: ds,
|
|
2019
|
+
reflinkSearch: mr,
|
|
2020
|
+
tag: fr,
|
|
2021
|
+
text: nr,
|
|
2014
2022
|
url: Se
|
|
2015
|
-
},
|
|
2023
|
+
}, br = {
|
|
2016
2024
|
...ot,
|
|
2017
2025
|
link: O(/^!?\[(label)\]\((.*?)\)/).replace("label", Fe).getRegex(),
|
|
2018
2026
|
reflink: O(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", Fe).getRegex()
|
|
@@ -2023,21 +2031,21 @@ const Qa = /^(?:[ \t]*(?:\n|$))+/, Xa = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*
|
|
|
2023
2031
|
_backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
|
|
2024
2032
|
del: /^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,
|
|
2025
2033
|
text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/
|
|
2026
|
-
},
|
|
2034
|
+
}, xr = {
|
|
2027
2035
|
...tt,
|
|
2028
2036
|
br: O(ls).replace("{2,}", "*").getRegex(),
|
|
2029
2037
|
text: O(tt.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
|
|
2030
2038
|
}, je = {
|
|
2031
2039
|
normal: it,
|
|
2032
|
-
gfm:
|
|
2033
|
-
pedantic:
|
|
2040
|
+
gfm: sr,
|
|
2041
|
+
pedantic: ar
|
|
2034
2042
|
}, Ie = {
|
|
2035
2043
|
normal: ot,
|
|
2036
2044
|
gfm: tt,
|
|
2037
|
-
breaks:
|
|
2038
|
-
pedantic:
|
|
2045
|
+
breaks: xr,
|
|
2046
|
+
pedantic: br
|
|
2039
2047
|
};
|
|
2040
|
-
class
|
|
2048
|
+
class re {
|
|
2041
2049
|
constructor(e) {
|
|
2042
2050
|
P(this, "tokens");
|
|
2043
2051
|
P(this, "options");
|
|
@@ -2068,13 +2076,13 @@ class ae {
|
|
|
2068
2076
|
* Static Lex Method
|
|
2069
2077
|
*/
|
|
2070
2078
|
static lex(e, t) {
|
|
2071
|
-
return new
|
|
2079
|
+
return new re(t).lex(e);
|
|
2072
2080
|
}
|
|
2073
2081
|
/**
|
|
2074
2082
|
* Static Lex Inline Method
|
|
2075
2083
|
*/
|
|
2076
2084
|
static lexInline(e, t) {
|
|
2077
|
-
return new
|
|
2085
|
+
return new re(t).inlineTokens(e);
|
|
2078
2086
|
}
|
|
2079
2087
|
/**
|
|
2080
2088
|
* Preprocessing
|
|
@@ -2148,9 +2156,9 @@ class ae {
|
|
|
2148
2156
|
if (n = e, this.options.extensions && this.options.extensions.startBlock) {
|
|
2149
2157
|
let o = 1 / 0;
|
|
2150
2158
|
const l = e.slice(1);
|
|
2151
|
-
let
|
|
2159
|
+
let d;
|
|
2152
2160
|
this.options.extensions.startBlock.forEach((u) => {
|
|
2153
|
-
|
|
2161
|
+
d = u.call({ lexer: this }, l), typeof d == "number" && d >= 0 && (o = Math.min(o, d));
|
|
2154
2162
|
}), o < 1 / 0 && o >= 0 && (n = e.substring(0, o + 1));
|
|
2155
2163
|
}
|
|
2156
2164
|
if (this.state.top && (r = this.tokenizer.paragraph(n))) {
|
|
@@ -2183,7 +2191,7 @@ class ae {
|
|
|
2183
2191
|
* Lexing/Compiling
|
|
2184
2192
|
*/
|
|
2185
2193
|
inlineTokens(e, t = []) {
|
|
2186
|
-
let a, r, i, n = e, o, l,
|
|
2194
|
+
let a, r, i, n = e, o, l, d;
|
|
2187
2195
|
if (this.tokens.links) {
|
|
2188
2196
|
const u = Object.keys(this.tokens.links);
|
|
2189
2197
|
if (u.length > 0)
|
|
@@ -2195,7 +2203,7 @@ class ae {
|
|
|
2195
2203
|
for (; (o = this.tokenizer.rules.inline.anyPunctuation.exec(n)) != null; )
|
|
2196
2204
|
n = n.slice(0, o.index) + "++" + n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
|
|
2197
2205
|
for (; e; )
|
|
2198
|
-
if (l || (
|
|
2206
|
+
if (l || (d = ""), l = !1, !(this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some((u) => (a = u.call({ lexer: this }, e, t)) ? (e = e.substring(a.raw.length), t.push(a), !0) : !1))) {
|
|
2199
2207
|
if (a = this.tokenizer.escape(e)) {
|
|
2200
2208
|
e = e.substring(a.raw.length), t.push(a);
|
|
2201
2209
|
continue;
|
|
@@ -2212,7 +2220,7 @@ class ae {
|
|
|
2212
2220
|
e = e.substring(a.raw.length), r = t[t.length - 1], r && a.type === "text" && r.type === "text" ? (r.raw += a.raw, r.text += a.text) : t.push(a);
|
|
2213
2221
|
continue;
|
|
2214
2222
|
}
|
|
2215
|
-
if (a = this.tokenizer.emStrong(e, n,
|
|
2223
|
+
if (a = this.tokenizer.emStrong(e, n, d)) {
|
|
2216
2224
|
e = e.substring(a.raw.length), t.push(a);
|
|
2217
2225
|
continue;
|
|
2218
2226
|
}
|
|
@@ -2238,14 +2246,14 @@ class ae {
|
|
|
2238
2246
|
}
|
|
2239
2247
|
if (i = e, this.options.extensions && this.options.extensions.startInline) {
|
|
2240
2248
|
let u = 1 / 0;
|
|
2241
|
-
const
|
|
2249
|
+
const p = e.slice(1);
|
|
2242
2250
|
let v;
|
|
2243
|
-
this.options.extensions.startInline.forEach((
|
|
2244
|
-
v =
|
|
2251
|
+
this.options.extensions.startInline.forEach((m) => {
|
|
2252
|
+
v = m.call({ lexer: this }, p), typeof v == "number" && v >= 0 && (u = Math.min(u, v));
|
|
2245
2253
|
}), u < 1 / 0 && u >= 0 && (i = e.substring(0, u + 1));
|
|
2246
2254
|
}
|
|
2247
2255
|
if (a = this.tokenizer.inlineText(i)) {
|
|
2248
|
-
e = e.substring(a.raw.length), a.raw.slice(-1) !== "_" && (
|
|
2256
|
+
e = e.substring(a.raw.length), a.raw.slice(-1) !== "_" && (d = a.raw.slice(-1)), l = !0, r = t[t.length - 1], r && r.type === "text" ? (r.raw += a.raw, r.text += a.text) : t.push(a);
|
|
2249
2257
|
continue;
|
|
2250
2258
|
}
|
|
2251
2259
|
if (e) {
|
|
@@ -2274,8 +2282,8 @@ class qe {
|
|
|
2274
2282
|
var n;
|
|
2275
2283
|
const r = (n = (t || "").match(/^\S*/)) == null ? void 0 : n[0], i = e.replace(/\n$/, "") + `
|
|
2276
2284
|
`;
|
|
2277
|
-
return r ? '<pre><code class="language-' +
|
|
2278
|
-
` : "<pre><code>" + (a ? i :
|
|
2285
|
+
return r ? '<pre><code class="language-' + te(r) + '">' + (a ? i : te(i, !0)) + `</code></pre>
|
|
2286
|
+
` : "<pre><code>" + (a ? i : te(i, !0)) + `</code></pre>
|
|
2279
2287
|
`;
|
|
2280
2288
|
}
|
|
2281
2289
|
blockquote({ tokens: e }) {
|
|
@@ -2423,7 +2431,7 @@ class lt {
|
|
|
2423
2431
|
return "";
|
|
2424
2432
|
}
|
|
2425
2433
|
}
|
|
2426
|
-
class
|
|
2434
|
+
class ne {
|
|
2427
2435
|
constructor(e) {
|
|
2428
2436
|
P(this, "options");
|
|
2429
2437
|
P(this, "renderer");
|
|
@@ -2434,13 +2442,13 @@ class re {
|
|
|
2434
2442
|
* Static Parse Method
|
|
2435
2443
|
*/
|
|
2436
2444
|
static parse(e, t) {
|
|
2437
|
-
return new
|
|
2445
|
+
return new ne(t).parse(e);
|
|
2438
2446
|
}
|
|
2439
2447
|
/**
|
|
2440
2448
|
* Static Parse Inline Method
|
|
2441
2449
|
*/
|
|
2442
2450
|
static parseInline(e, t) {
|
|
2443
|
-
return new
|
|
2451
|
+
return new ne(t).parseInline(e);
|
|
2444
2452
|
}
|
|
2445
2453
|
/**
|
|
2446
2454
|
* Parse Loop
|
|
@@ -2613,13 +2621,13 @@ class Re {
|
|
|
2613
2621
|
* Provide function to tokenize markdown
|
|
2614
2622
|
*/
|
|
2615
2623
|
provideLexer() {
|
|
2616
|
-
return this.block ?
|
|
2624
|
+
return this.block ? re.lex : re.lexInline;
|
|
2617
2625
|
}
|
|
2618
2626
|
/**
|
|
2619
2627
|
* Provide function to parse tokens
|
|
2620
2628
|
*/
|
|
2621
2629
|
provideParser() {
|
|
2622
|
-
return this.block ?
|
|
2630
|
+
return this.block ? ne.parse : ne.parseInline;
|
|
2623
2631
|
}
|
|
2624
2632
|
}
|
|
2625
2633
|
P(Re, "passThroughHooks", /* @__PURE__ */ new Set([
|
|
@@ -2627,16 +2635,16 @@ P(Re, "passThroughHooks", /* @__PURE__ */ new Set([
|
|
|
2627
2635
|
"postprocess",
|
|
2628
2636
|
"processAllTokens"
|
|
2629
2637
|
]));
|
|
2630
|
-
class
|
|
2638
|
+
class yr {
|
|
2631
2639
|
constructor(...e) {
|
|
2632
2640
|
P(this, "defaults", st());
|
|
2633
2641
|
P(this, "options", this.setOptions);
|
|
2634
2642
|
P(this, "parse", this.parseMarkdown(!0));
|
|
2635
2643
|
P(this, "parseInline", this.parseMarkdown(!1));
|
|
2636
|
-
P(this, "Parser",
|
|
2644
|
+
P(this, "Parser", ne);
|
|
2637
2645
|
P(this, "Renderer", qe);
|
|
2638
2646
|
P(this, "TextRenderer", lt);
|
|
2639
|
-
P(this, "Lexer",
|
|
2647
|
+
P(this, "Lexer", re);
|
|
2640
2648
|
P(this, "Tokenizer", Ae);
|
|
2641
2649
|
P(this, "Hooks", Re);
|
|
2642
2650
|
this.use(...e);
|
|
@@ -2654,8 +2662,8 @@ class vr {
|
|
|
2654
2662
|
for (const l of o.header)
|
|
2655
2663
|
a = a.concat(this.walkTokens(l.tokens, t));
|
|
2656
2664
|
for (const l of o.rows)
|
|
2657
|
-
for (const
|
|
2658
|
-
a = a.concat(this.walkTokens(
|
|
2665
|
+
for (const d of l)
|
|
2666
|
+
a = a.concat(this.walkTokens(d.tokens, t));
|
|
2659
2667
|
break;
|
|
2660
2668
|
}
|
|
2661
2669
|
case "list": {
|
|
@@ -2666,8 +2674,8 @@ class vr {
|
|
|
2666
2674
|
default: {
|
|
2667
2675
|
const o = n;
|
|
2668
2676
|
(i = (r = this.defaults.extensions) == null ? void 0 : r.childTokens) != null && i[o.type] ? this.defaults.extensions.childTokens[o.type].forEach((l) => {
|
|
2669
|
-
const
|
|
2670
|
-
a = a.concat(this.walkTokens(
|
|
2677
|
+
const d = o[l].flat(1 / 0);
|
|
2678
|
+
a = a.concat(this.walkTokens(d, t));
|
|
2671
2679
|
}) : o.tokens && (a = a.concat(this.walkTokens(o.tokens, t)));
|
|
2672
2680
|
}
|
|
2673
2681
|
}
|
|
@@ -2701,10 +2709,10 @@ class vr {
|
|
|
2701
2709
|
throw new Error(`renderer '${n}' does not exist`);
|
|
2702
2710
|
if (["options", "parser"].includes(n))
|
|
2703
2711
|
continue;
|
|
2704
|
-
const o = n, l = a.renderer[o],
|
|
2712
|
+
const o = n, l = a.renderer[o], d = i[o];
|
|
2705
2713
|
i[o] = (...u) => {
|
|
2706
|
-
let
|
|
2707
|
-
return
|
|
2714
|
+
let p = l.apply(i, u);
|
|
2715
|
+
return p === !1 && (p = d.apply(i, u)), p || "";
|
|
2708
2716
|
};
|
|
2709
2717
|
}
|
|
2710
2718
|
r.renderer = i;
|
|
@@ -2716,10 +2724,10 @@ class vr {
|
|
|
2716
2724
|
throw new Error(`tokenizer '${n}' does not exist`);
|
|
2717
2725
|
if (["options", "rules", "lexer"].includes(n))
|
|
2718
2726
|
continue;
|
|
2719
|
-
const o = n, l = a.tokenizer[o],
|
|
2727
|
+
const o = n, l = a.tokenizer[o], d = i[o];
|
|
2720
2728
|
i[o] = (...u) => {
|
|
2721
|
-
let
|
|
2722
|
-
return
|
|
2729
|
+
let p = l.apply(i, u);
|
|
2730
|
+
return p === !1 && (p = d.apply(i, u)), p;
|
|
2723
2731
|
};
|
|
2724
2732
|
}
|
|
2725
2733
|
r.tokenizer = i;
|
|
@@ -2731,15 +2739,15 @@ class vr {
|
|
|
2731
2739
|
throw new Error(`hook '${n}' does not exist`);
|
|
2732
2740
|
if (["options", "block"].includes(n))
|
|
2733
2741
|
continue;
|
|
2734
|
-
const o = n, l = a.hooks[o],
|
|
2742
|
+
const o = n, l = a.hooks[o], d = i[o];
|
|
2735
2743
|
Re.passThroughHooks.has(n) ? i[o] = (u) => {
|
|
2736
2744
|
if (this.defaults.async)
|
|
2737
|
-
return Promise.resolve(l.call(i, u)).then((v) =>
|
|
2738
|
-
const
|
|
2739
|
-
return
|
|
2745
|
+
return Promise.resolve(l.call(i, u)).then((v) => d.call(i, v));
|
|
2746
|
+
const p = l.call(i, u);
|
|
2747
|
+
return d.call(i, p);
|
|
2740
2748
|
} : i[o] = (...u) => {
|
|
2741
|
-
let
|
|
2742
|
-
return
|
|
2749
|
+
let p = l.apply(i, u);
|
|
2750
|
+
return p === !1 && (p = d.apply(i, u)), p;
|
|
2743
2751
|
};
|
|
2744
2752
|
}
|
|
2745
2753
|
r.hooks = i;
|
|
@@ -2758,10 +2766,10 @@ class vr {
|
|
|
2758
2766
|
return this.defaults = { ...this.defaults, ...e }, this;
|
|
2759
2767
|
}
|
|
2760
2768
|
lexer(e, t) {
|
|
2761
|
-
return
|
|
2769
|
+
return re.lex(e, t ?? this.defaults);
|
|
2762
2770
|
}
|
|
2763
2771
|
parser(e, t) {
|
|
2764
|
-
return
|
|
2772
|
+
return ne.parse(e, t ?? this.defaults);
|
|
2765
2773
|
}
|
|
2766
2774
|
parseMarkdown(e) {
|
|
2767
2775
|
return (a, r) => {
|
|
@@ -2773,15 +2781,15 @@ class vr {
|
|
|
2773
2781
|
if (typeof a != "string")
|
|
2774
2782
|
return o(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(a) + ", string expected"));
|
|
2775
2783
|
n.hooks && (n.hooks.options = n, n.hooks.block = e);
|
|
2776
|
-
const l = n.hooks ? n.hooks.provideLexer() : e ?
|
|
2784
|
+
const l = n.hooks ? n.hooks.provideLexer() : e ? re.lex : re.lexInline, d = n.hooks ? n.hooks.provideParser() : e ? ne.parse : ne.parseInline;
|
|
2777
2785
|
if (n.async)
|
|
2778
|
-
return Promise.resolve(n.hooks ? n.hooks.preprocess(a) : a).then((u) => l(u, n)).then((u) => n.hooks ? n.hooks.processAllTokens(u) : u).then((u) => n.walkTokens ? Promise.all(this.walkTokens(u, n.walkTokens)).then(() => u) : u).then((u) =>
|
|
2786
|
+
return Promise.resolve(n.hooks ? n.hooks.preprocess(a) : a).then((u) => l(u, n)).then((u) => n.hooks ? n.hooks.processAllTokens(u) : u).then((u) => n.walkTokens ? Promise.all(this.walkTokens(u, n.walkTokens)).then(() => u) : u).then((u) => d(u, n)).then((u) => n.hooks ? n.hooks.postprocess(u) : u).catch(o);
|
|
2779
2787
|
try {
|
|
2780
2788
|
n.hooks && (a = n.hooks.preprocess(a));
|
|
2781
2789
|
let u = l(a, n);
|
|
2782
2790
|
n.hooks && (u = n.hooks.processAllTokens(u)), n.walkTokens && this.walkTokens(u, n.walkTokens);
|
|
2783
|
-
let
|
|
2784
|
-
return n.hooks && (
|
|
2791
|
+
let p = d(u, n);
|
|
2792
|
+
return n.hooks && (p = n.hooks.postprocess(p)), p;
|
|
2785
2793
|
} catch (u) {
|
|
2786
2794
|
return o(u);
|
|
2787
2795
|
}
|
|
@@ -2791,7 +2799,7 @@ class vr {
|
|
|
2791
2799
|
return (a) => {
|
|
2792
2800
|
if (a.message += `
|
|
2793
2801
|
Please report this to https://github.com/markedjs/marked.`, e) {
|
|
2794
|
-
const r = "<p>An error occurred:</p><pre>" +
|
|
2802
|
+
const r = "<p>An error occurred:</p><pre>" + te(a.message + "", !0) + "</pre>";
|
|
2795
2803
|
return t ? Promise.resolve(r) : r;
|
|
2796
2804
|
}
|
|
2797
2805
|
if (t)
|
|
@@ -2800,7 +2808,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
|
|
|
2800
2808
|
};
|
|
2801
2809
|
}
|
|
2802
2810
|
}
|
|
2803
|
-
const fe = new
|
|
2811
|
+
const fe = new yr();
|
|
2804
2812
|
function B(s, e) {
|
|
2805
2813
|
return fe.parse(s, e);
|
|
2806
2814
|
}
|
|
@@ -2816,12 +2824,12 @@ B.walkTokens = function(s, e) {
|
|
|
2816
2824
|
return fe.walkTokens(s, e);
|
|
2817
2825
|
};
|
|
2818
2826
|
B.parseInline = fe.parseInline;
|
|
2819
|
-
B.Parser =
|
|
2820
|
-
B.parser =
|
|
2827
|
+
B.Parser = ne;
|
|
2828
|
+
B.parser = ne.parse;
|
|
2821
2829
|
B.Renderer = qe;
|
|
2822
2830
|
B.TextRenderer = lt;
|
|
2823
|
-
B.Lexer =
|
|
2824
|
-
B.lexer =
|
|
2831
|
+
B.Lexer = re;
|
|
2832
|
+
B.lexer = re.lex;
|
|
2825
2833
|
B.Tokenizer = Ae;
|
|
2826
2834
|
B.Hooks = Re;
|
|
2827
2835
|
B.parse = B;
|
|
@@ -2830,9 +2838,9 @@ B.setOptions;
|
|
|
2830
2838
|
B.use;
|
|
2831
2839
|
B.walkTokens;
|
|
2832
2840
|
B.parseInline;
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
const
|
|
2841
|
+
ne.parse;
|
|
2842
|
+
re.lex;
|
|
2843
|
+
const wr = { class: "space-y-4" }, vr = {
|
|
2836
2844
|
__name: "vs-editor-form-data",
|
|
2837
2845
|
props: {
|
|
2838
2846
|
widgetName: { type: String },
|
|
@@ -2843,30 +2851,30 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
2843
2851
|
},
|
|
2844
2852
|
emits: ["update-dashboard"],
|
|
2845
2853
|
setup(s, { expose: e, emit: t }) {
|
|
2846
|
-
var _,
|
|
2847
|
-
const a = M(() => import("@opengis/form")), { $notify: r } = me().proxy, i = t, n = s, o = typeof window < "u" ? new URLSearchParams(window.top.location.search) : null, l = I((o == null ? void 0 : o.get("dashboard")) || null),
|
|
2854
|
+
var $, _, g, C, z, R, F, Y, ie, ce, ve, ke, $e, _e, De, G, ue, Ce, ct, ut, ht, pt, ft, gt, mt, bt, xt, yt, wt, vt, kt, $t, _t, Dt, Ct, zt, Tt, It;
|
|
2855
|
+
const a = M(() => import("@opengis/form")), { $notify: r } = me().proxy, i = t, n = s, o = typeof window < "u" ? new URLSearchParams(window.top.location.search) : null, l = I((o == null ? void 0 : o.get("dashboard")) || null), d = I([]), u = q(() => {
|
|
2848
2856
|
const S = n.columns ?? [];
|
|
2849
|
-
return S.length ? S :
|
|
2850
|
-
}),
|
|
2857
|
+
return S.length ? S : d.value;
|
|
2858
|
+
}), p = q(() => n.dashboardId || l.value);
|
|
2851
2859
|
async function v() {
|
|
2852
2860
|
if (n.columns !== null) return;
|
|
2853
|
-
const S =
|
|
2861
|
+
const S = p.value;
|
|
2854
2862
|
if (!(u.value.length || !S || !n.widgetName))
|
|
2855
2863
|
try {
|
|
2856
2864
|
const L = await H.get(`/bi-data?dashboard=${S}&widget=${n.widgetName}`);
|
|
2857
|
-
Array.isArray(L == null ? void 0 : L.columns) && L.columns.length && (
|
|
2865
|
+
Array.isArray(L == null ? void 0 : L.columns) && L.columns.length && (d.value = L.columns);
|
|
2858
2866
|
} catch {
|
|
2859
2867
|
}
|
|
2860
2868
|
}
|
|
2861
|
-
const
|
|
2869
|
+
const m = (S) => (S == null ? void 0 : S.name) != null ? { id: S.name, text: S.title || S.name } : null, b = (S) => Array.isArray(S) ? [...S].sort((L, oe) => {
|
|
2862
2870
|
const xe = L.text && L.text !== L.id, St = oe.text && oe.text !== oe.id;
|
|
2863
2871
|
return xe && !St ? -1 : !xe && St ? 1 : (L.text || "").localeCompare(oe.text || "", void 0, { sensitivity: "base" });
|
|
2864
|
-
}) : S, k =
|
|
2872
|
+
}) : S, k = q(() => {
|
|
2865
2873
|
const S = (u.value ?? []).filter(
|
|
2866
2874
|
(L) => (L == null ? void 0 : L.type) == "text" || (L == null ? void 0 : L.type) === "date" || (L == null ? void 0 : L.type) === "timestamp without time zone" || (L == null ? void 0 : L.type) === "boolean" || (L == null ? void 0 : L.type) === "integer"
|
|
2867
|
-
).map(
|
|
2875
|
+
).map(m).filter(Boolean);
|
|
2868
2876
|
return b(S);
|
|
2869
|
-
}),
|
|
2877
|
+
}), D = q(() => `${n.widgetName}-${k.value.length}-${(u.value ?? []).length}`), V = q(() => ({
|
|
2870
2878
|
text: {
|
|
2871
2879
|
type: "Text",
|
|
2872
2880
|
label: "Текст",
|
|
@@ -2912,7 +2920,7 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
2912
2920
|
options: [
|
|
2913
2921
|
{ id: "count", text: "count" },
|
|
2914
2922
|
...b(
|
|
2915
|
-
u.value.filter((S) => (S == null ? void 0 : S.type) === "numeric" || (S == null ? void 0 : S.type) === "double precision").map(
|
|
2923
|
+
u.value.filter((S) => (S == null ? void 0 : S.type) === "numeric" || (S == null ? void 0 : S.type) === "double precision").map(m).filter(Boolean)
|
|
2916
2924
|
)
|
|
2917
2925
|
]
|
|
2918
2926
|
},
|
|
@@ -2936,7 +2944,7 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
2936
2944
|
...b(
|
|
2937
2945
|
u.value.filter(
|
|
2938
2946
|
(S) => (S == null ? void 0 : S.type) == "text" || (S == null ? void 0 : S.type) === "boolean" || (S == null ? void 0 : S.type) === "integer"
|
|
2939
|
-
).map(
|
|
2947
|
+
).map(m).filter(Boolean)
|
|
2940
2948
|
)
|
|
2941
2949
|
],
|
|
2942
2950
|
conditions: ["type", "==", "bar"]
|
|
@@ -2946,7 +2954,7 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
2946
2954
|
label: "Колонки",
|
|
2947
2955
|
style: { size: "xs" },
|
|
2948
2956
|
options: b(
|
|
2949
|
-
(u.value ?? []).map(
|
|
2957
|
+
(u.value ?? []).map(m).filter(Boolean)
|
|
2950
2958
|
),
|
|
2951
2959
|
conditions: ["type", "in", ["table", "map"]]
|
|
2952
2960
|
},
|
|
@@ -2965,27 +2973,27 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
2965
2973
|
type: "Text",
|
|
2966
2974
|
hidden: !0
|
|
2967
2975
|
}
|
|
2968
|
-
})),
|
|
2969
|
-
x: ((
|
|
2976
|
+
})), y = I({
|
|
2977
|
+
x: ((_ = ($ = n.data) == null ? void 0 : $.data) == null ? void 0 : _.x) || ((g = n.data) == null ? void 0 : g.x) || null,
|
|
2970
2978
|
metric: ((z = (C = n.data) == null ? void 0 : C.data) == null ? void 0 : z.metric) || ((R = n.data) == null ? void 0 : R.metric) || null,
|
|
2971
|
-
columns: ((
|
|
2972
|
-
granularity: ((ve = (
|
|
2979
|
+
columns: ((Y = (F = n.data) == null ? void 0 : F.data) == null ? void 0 : Y.columns) || ((ie = n.data) == null ? void 0 : ie.columns) || null,
|
|
2980
|
+
granularity: ((ve = (ce = n.data) == null ? void 0 : ce.data) == null ? void 0 : ve.granularity) || ((ke = n.data) == null ? void 0 : ke.granularity) || null,
|
|
2973
2981
|
type: ((_e = ($e = n.data) == null ? void 0 : $e.data) == null ? void 0 : _e.type) || ((De = n.data) == null ? void 0 : De.type) || null,
|
|
2974
2982
|
groupby: ((ue = (G = n.data) == null ? void 0 : G.data) == null ? void 0 : ue.groupby) || n.data.groupby || null,
|
|
2975
|
-
fx: ((
|
|
2983
|
+
fx: ((ct = (Ce = n.data) == null ? void 0 : Ce.data) == null ? void 0 : ct.fx) || ((ut = n.data) == null ? void 0 : ut.fx) || null,
|
|
2976
2984
|
query: ((pt = (ht = n.data) == null ? void 0 : ht.data) == null ? void 0 : pt.query) || ((ft = n.data) == null ? void 0 : ft.query) || null,
|
|
2977
2985
|
y_type: ((mt = (gt = n.data) == null ? void 0 : gt.data) == null ? void 0 : mt.y_type) || ((bt = n.data) == null ? void 0 : bt.y_type) || null,
|
|
2978
2986
|
tableSQL: ((yt = (xt = n.data) == null ? void 0 : xt.data) == null ? void 0 : yt.tableSQL) || ((wt = n.data) == null ? void 0 : wt.tableSQL) || null,
|
|
2979
2987
|
cls: ((kt = (vt = n.data) == null ? void 0 : vt.data) == null ? void 0 : kt.cls) || (($t = n.data) == null ? void 0 : $t.cls) || null,
|
|
2980
2988
|
text: ((Dt = (_t = n.data) == null ? void 0 : _t.data) == null ? void 0 : Dt.text) || ((Ct = n.data) == null ? void 0 : Ct.text) || null,
|
|
2981
2989
|
table: ((Tt = (zt = n.data) == null ? void 0 : zt.data) == null ? void 0 : Tt.table) || ((It = n.data) == null ? void 0 : It.table) || null
|
|
2982
|
-
}),
|
|
2990
|
+
}), f = async () => {
|
|
2983
2991
|
try {
|
|
2984
|
-
await H.put(`/bi-dashboard/${
|
|
2985
|
-
data:
|
|
2992
|
+
await H.put(`/bi-dashboard/${p.value}/${n.widgetName}`, {
|
|
2993
|
+
data: y.value
|
|
2986
2994
|
});
|
|
2987
|
-
let S = `/bi-data?dashboard=${
|
|
2988
|
-
Object.entries(
|
|
2995
|
+
let S = `/bi-data?dashboard=${p.value}&widget=${n.widgetName}`;
|
|
2996
|
+
Object.entries(y.value).forEach(([oe, xe]) => {
|
|
2989
2997
|
S += `&${oe}=${xe}`;
|
|
2990
2998
|
});
|
|
2991
2999
|
const L = new CustomEvent(`update-data-${n.widgetName}`);
|
|
@@ -3001,10 +3009,10 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3001
3009
|
message: "При спробі оновити данні сталася помилка"
|
|
3002
3010
|
});
|
|
3003
3011
|
}
|
|
3004
|
-
},
|
|
3012
|
+
}, w = async () => {
|
|
3005
3013
|
try {
|
|
3006
|
-
let S = `/bi-data?dashboard=${
|
|
3007
|
-
Object.entries(
|
|
3014
|
+
let S = `/bi-data?dashboard=${p.value}&widget=${n.widgetName}`;
|
|
3015
|
+
Object.entries(y.value).forEach(([oe, xe]) => {
|
|
3008
3016
|
S += `&${oe}=${xe}`;
|
|
3009
3017
|
});
|
|
3010
3018
|
const L = new CustomEvent(`update-data-${n.widgetName}`);
|
|
@@ -3017,24 +3025,24 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3017
3025
|
});
|
|
3018
3026
|
}
|
|
3019
3027
|
};
|
|
3020
|
-
return
|
|
3021
|
-
|
|
3022
|
-
}, { deep: !0 }),
|
|
3028
|
+
return ae(y, () => {
|
|
3029
|
+
w();
|
|
3030
|
+
}, { deep: !0 }), ae(
|
|
3023
3031
|
() => [n.widgetName, n.dashboardId, l.value],
|
|
3024
3032
|
() => {
|
|
3025
|
-
|
|
3033
|
+
d.value = [], v();
|
|
3026
3034
|
},
|
|
3027
3035
|
{ immediate: !0 }
|
|
3028
|
-
), e({ requestUpdateWidget:
|
|
3029
|
-
(
|
|
3030
|
-
key:
|
|
3036
|
+
), e({ requestUpdateWidget: f }), (S, L) => (h(), x("div", wr, [
|
|
3037
|
+
(h(), E(N(a), {
|
|
3038
|
+
key: D.value,
|
|
3031
3039
|
schema: V.value,
|
|
3032
|
-
values:
|
|
3033
|
-
"onUpdate:values": L[0] || (L[0] = (oe) =>
|
|
3040
|
+
values: y.value,
|
|
3041
|
+
"onUpdate:values": L[0] || (L[0] = (oe) => y.value = oe)
|
|
3034
3042
|
}, null, 8, ["schema", "values"]))
|
|
3035
3043
|
]));
|
|
3036
3044
|
}
|
|
3037
|
-
},
|
|
3045
|
+
}, kr = { class: "space-y-4" }, $r = {
|
|
3038
3046
|
__name: "vs-editor-form-yaml",
|
|
3039
3047
|
props: {
|
|
3040
3048
|
yamlValue: { type: null, default: () => "" },
|
|
@@ -3044,42 +3052,42 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3044
3052
|
emits: ["update-dashboard"],
|
|
3045
3053
|
setup(s, { expose: e, emit: t }) {
|
|
3046
3054
|
const a = typeof window < "u" ? window.echarts : null, r = M(
|
|
3047
|
-
() => import("@opengis/form").then((
|
|
3048
|
-
), i = I(null), { $notify: n } = me().proxy, o = t, l = s,
|
|
3049
|
-
const
|
|
3050
|
-
...(
|
|
3051
|
-
data: k.map((
|
|
3052
|
-
name:
|
|
3055
|
+
() => import("@opengis/form").then((m) => m.VsInputMonaco)
|
|
3056
|
+
), i = I(null), { $notify: n } = me().proxy, o = t, l = s, d = (m, { dimensions: b, source: k }) => {
|
|
3057
|
+
const D = m.getOption(), { data: V, ...y } = (D == null ? void 0 : D.series)[0], [, ...f] = b || [], w = f.map(($, _) => ({
|
|
3058
|
+
...(D == null ? void 0 : D.series[_]) || {},
|
|
3059
|
+
data: k.map((g) => g[_ + 1]),
|
|
3060
|
+
name: $
|
|
3053
3061
|
}));
|
|
3054
|
-
|
|
3062
|
+
m == null || m.setOption(
|
|
3055
3063
|
{
|
|
3056
|
-
|
|
3064
|
+
...D || {},
|
|
3057
3065
|
dataset: {
|
|
3058
3066
|
dimensions: b,
|
|
3059
3067
|
source: k
|
|
3060
3068
|
},
|
|
3061
|
-
series:
|
|
3069
|
+
series: w,
|
|
3062
3070
|
xAxis: { type: "category" },
|
|
3063
3071
|
yAxis: {}
|
|
3064
3072
|
},
|
|
3065
3073
|
!0
|
|
3066
3074
|
);
|
|
3067
|
-
}, u = (
|
|
3068
|
-
const b = document.getElementById(
|
|
3075
|
+
}, u = (m) => {
|
|
3076
|
+
const b = document.getElementById(m);
|
|
3069
3077
|
if (!b) return null;
|
|
3070
3078
|
const k = a == null ? void 0 : a.getInstanceByDom(b);
|
|
3071
3079
|
return k || null;
|
|
3072
|
-
},
|
|
3080
|
+
}, p = I(l.yamlValue), v = async () => {
|
|
3073
3081
|
try {
|
|
3074
3082
|
await H.put(`/bi-dashboard/${i.value}/${l.widgetName}`, {
|
|
3075
|
-
yml:
|
|
3083
|
+
yml: p.value
|
|
3076
3084
|
});
|
|
3077
|
-
const
|
|
3078
|
-
if (
|
|
3085
|
+
const m = u(l.widgetName);
|
|
3086
|
+
if (m) {
|
|
3079
3087
|
const b = await H.get(
|
|
3080
3088
|
`/bi-data?dashboard=${i.value}&widget=${l.widgetName}`
|
|
3081
3089
|
);
|
|
3082
|
-
|
|
3090
|
+
d(m, b);
|
|
3083
3091
|
}
|
|
3084
3092
|
o("update-dashboard"), n({
|
|
3085
3093
|
type: "success",
|
|
@@ -3095,12 +3103,12 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3095
3103
|
}
|
|
3096
3104
|
};
|
|
3097
3105
|
return le(() => {
|
|
3098
|
-
const
|
|
3099
|
-
i.value =
|
|
3100
|
-
}), e({ requestUpdateWidget: v }), (
|
|
3101
|
-
T(
|
|
3102
|
-
modelValue:
|
|
3103
|
-
"onUpdate:modelValue": b[0] || (b[0] = (k) =>
|
|
3106
|
+
const m = new URLSearchParams(window.top.location.search);
|
|
3107
|
+
i.value = m.get("dashboard");
|
|
3108
|
+
}), e({ requestUpdateWidget: v }), (m, b) => (h(), x("div", kr, [
|
|
3109
|
+
T(N(r), {
|
|
3110
|
+
modelValue: p.value,
|
|
3111
|
+
"onUpdate:modelValue": b[0] || (b[0] = (k) => p.value = k),
|
|
3104
3112
|
syntax: "yaml",
|
|
3105
3113
|
theme: "vs-light",
|
|
3106
3114
|
height: 400,
|
|
@@ -3108,7 +3116,7 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3108
3116
|
}, null, 8, ["modelValue"])
|
|
3109
3117
|
]));
|
|
3110
3118
|
}
|
|
3111
|
-
},
|
|
3119
|
+
}, _r = { class: "pt-[10px]" }, Dr = {
|
|
3112
3120
|
__name: "vs-editor-form-controls",
|
|
3113
3121
|
props: {
|
|
3114
3122
|
widgetName: { type: String },
|
|
@@ -3132,9 +3140,9 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3132
3140
|
groupby: {
|
|
3133
3141
|
ua: "Groupby",
|
|
3134
3142
|
type: "checkbox",
|
|
3135
|
-
options: (u = i.columns) == null ? void 0 : u.map(({ name:
|
|
3143
|
+
options: (u = i.columns) == null ? void 0 : u.map(({ name: p }) => p)
|
|
3136
3144
|
}
|
|
3137
|
-
}, l = I(i.controls || {}),
|
|
3145
|
+
}, l = I(i.controls || {}), d = async () => {
|
|
3138
3146
|
try {
|
|
3139
3147
|
await H.put(`/bi-dashboard/${n.value}/${i.widgetName}`, {
|
|
3140
3148
|
controls: l.value
|
|
@@ -3152,22 +3160,22 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3152
3160
|
}
|
|
3153
3161
|
};
|
|
3154
3162
|
return le(() => {
|
|
3155
|
-
const
|
|
3156
|
-
n.value =
|
|
3157
|
-
}), (
|
|
3158
|
-
const
|
|
3159
|
-
return
|
|
3160
|
-
T(
|
|
3163
|
+
const p = new URLSearchParams(window.top.location.search);
|
|
3164
|
+
n.value = p.get("dashboard");
|
|
3165
|
+
}), (p, v) => {
|
|
3166
|
+
const m = K("VsButton");
|
|
3167
|
+
return h(), x("div", _r, [
|
|
3168
|
+
T(m, {
|
|
3161
3169
|
class: "ml-[10px] mb-[10px]",
|
|
3162
3170
|
type: "plain",
|
|
3163
|
-
onClick:
|
|
3171
|
+
onClick: d
|
|
3164
3172
|
}, {
|
|
3165
3173
|
default: j(() => [...v[1] || (v[1] = [
|
|
3166
3174
|
X(" Зберегти ", -1)
|
|
3167
3175
|
])]),
|
|
3168
3176
|
_: 1
|
|
3169
3177
|
}),
|
|
3170
|
-
T(
|
|
3178
|
+
T(N(t), {
|
|
3171
3179
|
schema: o,
|
|
3172
3180
|
values: l.value,
|
|
3173
3181
|
"onUpdate:values": v[0] || (v[0] = (b) => l.value = b)
|
|
@@ -3176,11 +3184,11 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3176
3184
|
};
|
|
3177
3185
|
}
|
|
3178
3186
|
}, Ft = {
|
|
3179
|
-
"vs-editor-form-style":
|
|
3180
|
-
"vs-editor-form-data":
|
|
3181
|
-
"vs-editor-form-yaml":
|
|
3182
|
-
"vs-editor-form-controls":
|
|
3183
|
-
},
|
|
3187
|
+
"vs-editor-form-style": Pa,
|
|
3188
|
+
"vs-editor-form-data": vr,
|
|
3189
|
+
"vs-editor-form-yaml": $r,
|
|
3190
|
+
"vs-editor-form-controls": Dr
|
|
3191
|
+
}, Cr = {
|
|
3184
3192
|
key: 0,
|
|
3185
3193
|
class: "p-4 text-sm text-amber-700 bg-amber-50 rounded-lg"
|
|
3186
3194
|
}, qt = {
|
|
@@ -3198,13 +3206,13 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3198
3206
|
}
|
|
3199
3207
|
e({ save: r });
|
|
3200
3208
|
const i = I(!1);
|
|
3201
|
-
return
|
|
3209
|
+
return bs((n, o, l) => (console.error("Editor tab error:", n, l), i.value = !0, !1)), ae(
|
|
3202
3210
|
() => t.tabComponent,
|
|
3203
3211
|
() => {
|
|
3204
3212
|
i.value = !1;
|
|
3205
3213
|
},
|
|
3206
3214
|
{ immediate: !0 }
|
|
3207
|
-
), (n, o) => i.value ? (
|
|
3215
|
+
), (n, o) => i.value ? (h(), x("div", Cr, " Помилка завантаження вмісту. Переключіть таб або оновіть сторінку. ")) : (h(), E(Zt(s.tabComponent), he({
|
|
3208
3216
|
ref_key: "tabRef",
|
|
3209
3217
|
ref: a,
|
|
3210
3218
|
key: s.tabKey || "tab"
|
|
@@ -3212,16 +3220,16 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3212
3220
|
onUpdateDashboard: o[0] || (o[0] = (l) => n.$emit("update-dashboard"))
|
|
3213
3221
|
}), null, 16));
|
|
3214
3222
|
}
|
|
3215
|
-
},
|
|
3223
|
+
}, zr = { class: "h-full flex flex-col bg-white shrink-0 !w-[400px] border rounded-xl overflow-hidden border-gray-200" }, Tr = {
|
|
3216
3224
|
key: 0,
|
|
3217
3225
|
class: "flex flex-col min-h-0 flex-1"
|
|
3218
|
-
},
|
|
3226
|
+
}, Ir = { class: "flex items-center border-b border-gray-200 bg-white shrink-0 px-4 h-[49px]" }, Sr = { class: "flex items-center gap-6 min-w-0 -mb-[14px]" }, Rr = ["onClick"], Vr = {
|
|
3219
3227
|
key: 0,
|
|
3220
3228
|
class: "absolute bottom-0 left-0 right-0 h-0.5 bg-blue-600 rounded-full"
|
|
3221
|
-
},
|
|
3229
|
+
}, Lr = { class: "flex items-center gap-1 ml-auto shrink-0" }, Wr = {
|
|
3222
3230
|
key: 1,
|
|
3223
3231
|
class: "flex-1 min-h-0 overflow-auto px-4 py-4 [&::-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"
|
|
3224
|
-
},
|
|
3232
|
+
}, Nr = { key: 0 }, Er = { key: 1 }, jr = { class: "p-4" }, Br = { class: "flex justify-end mt-4 gap-x-3" }, Or = { class: "flex justify-end p-[20px] gap-[10px] border-t w-full" }, Pr = {
|
|
3225
3233
|
__name: "vs-editor-forms",
|
|
3226
3234
|
props: /* @__PURE__ */ Be({
|
|
3227
3235
|
selectedWidgetData: {
|
|
@@ -3234,7 +3242,7 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3234
3242
|
default: () => ""
|
|
3235
3243
|
},
|
|
3236
3244
|
currentWidgetData: {
|
|
3237
|
-
type:
|
|
3245
|
+
type: Object,
|
|
3238
3246
|
default: () => ""
|
|
3239
3247
|
}
|
|
3240
3248
|
}, {
|
|
@@ -3243,8 +3251,8 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3243
3251
|
}),
|
|
3244
3252
|
emits: /* @__PURE__ */ Be(["update-data"], ["update:selectedWidget"]),
|
|
3245
3253
|
setup(s, { emit: e }) {
|
|
3246
|
-
var
|
|
3247
|
-
const t = M(() => import("@opengis/form")), a = (
|
|
3254
|
+
var w, $;
|
|
3255
|
+
const t = M(() => import("@opengis/form")), a = ($ = (w = me()) == null ? void 0 : w.proxy) == null ? void 0 : $.$notify, r = we(), i = e, n = I(null), o = s, l = I(!1), d = I(!0), u = I(!1), p = I({}), v = Gt(s, "selectedWidget"), m = [
|
|
3248
3256
|
"table",
|
|
3249
3257
|
"text",
|
|
3250
3258
|
"number",
|
|
@@ -3257,49 +3265,49 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3257
3265
|
try {
|
|
3258
3266
|
await H.delete(
|
|
3259
3267
|
`/bi-dashboard/${o.selectedDashboard}/${o.selectedWidgetData.name}`
|
|
3260
|
-
), r.hasRoute(
|
|
3261
|
-
name:
|
|
3268
|
+
), r.hasRoute(J.EditorDashboard) ? r.push({
|
|
3269
|
+
name: J.EditorDashboard,
|
|
3262
3270
|
params: { dashboardId: o.selectedDashboard }
|
|
3263
3271
|
}) : v.value = "", i("update-data"), l.value = !1, a({
|
|
3264
3272
|
type: "success",
|
|
3265
3273
|
title: "Успішно!",
|
|
3266
3274
|
message: "Віджет успішно видалено"
|
|
3267
3275
|
});
|
|
3268
|
-
} catch (
|
|
3269
|
-
console.error(
|
|
3276
|
+
} catch (_) {
|
|
3277
|
+
console.error(_), a({
|
|
3270
3278
|
type: "error",
|
|
3271
3279
|
title: "Помилка!",
|
|
3272
3280
|
message: "При спробі видалити віджет виникла помилка"
|
|
3273
3281
|
});
|
|
3274
3282
|
}
|
|
3275
|
-
},
|
|
3276
|
-
const
|
|
3283
|
+
}, D = q(() => {
|
|
3284
|
+
const _ = [
|
|
3277
3285
|
{ id: "data", label: "Дані" },
|
|
3278
3286
|
{ id: "style", label: "Стилі" },
|
|
3279
3287
|
{ id: "yaml", label: "{ }" }
|
|
3280
3288
|
// { id: 'controls', label: 'Контролси' },
|
|
3281
3289
|
];
|
|
3282
|
-
return
|
|
3290
|
+
return _ == null ? void 0 : _.filter((g) => {
|
|
3283
3291
|
var C, z, R;
|
|
3284
|
-
return
|
|
3292
|
+
return g.id === "style" ? !(m != null && m.includes(
|
|
3285
3293
|
((C = o.selectedWidgetData) == null ? void 0 : C.type) || ((R = (z = o.selectedWidgetData) == null ? void 0 : z.data) == null ? void 0 : R.type)
|
|
3286
3294
|
)) : !0;
|
|
3287
3295
|
});
|
|
3288
3296
|
}), V = () => {
|
|
3289
|
-
var
|
|
3290
|
-
|
|
3291
|
-
title: (
|
|
3292
|
-
type: (
|
|
3297
|
+
var _, g, C, z, R, F, Y, ie, ce;
|
|
3298
|
+
p.value = {
|
|
3299
|
+
title: (_ = o.selectedWidgetData) == null ? void 0 : _.title,
|
|
3300
|
+
type: (g = o.selectedWidgetData) == null ? void 0 : g.type,
|
|
3293
3301
|
table: (C = o.selectedWidgetData) == null ? void 0 : C.table_name,
|
|
3294
3302
|
query: (R = (z = o.selectedWidgetData) == null ? void 0 : z.data) == null ? void 0 : R.query,
|
|
3295
|
-
x: (
|
|
3296
|
-
cls: (
|
|
3303
|
+
x: (Y = (F = o.selectedWidgetData) == null ? void 0 : F.data) == null ? void 0 : Y.x,
|
|
3304
|
+
cls: (ce = (ie = o.selectedWidgetData) == null ? void 0 : ie.data) == null ? void 0 : ce.cls
|
|
3297
3305
|
}, u.value = !0;
|
|
3298
|
-
},
|
|
3306
|
+
}, y = async () => {
|
|
3299
3307
|
try {
|
|
3300
3308
|
await H.put(
|
|
3301
3309
|
`/bi-dashboard/${o.selectedDashboard}/${o.selectedWidgetData.name}`,
|
|
3302
|
-
|
|
3310
|
+
p.value
|
|
3303
3311
|
), a({
|
|
3304
3312
|
type: "success",
|
|
3305
3313
|
title: "Успішно!",
|
|
@@ -3313,10 +3321,10 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3313
3321
|
});
|
|
3314
3322
|
}
|
|
3315
3323
|
};
|
|
3316
|
-
|
|
3317
|
-
|
|
3324
|
+
ae(v, () => {
|
|
3325
|
+
d.value = !1, setTimeout(() => d.value = !0);
|
|
3318
3326
|
});
|
|
3319
|
-
const
|
|
3327
|
+
const f = {
|
|
3320
3328
|
title: {
|
|
3321
3329
|
type: "text",
|
|
3322
3330
|
ua: "Заголовок",
|
|
@@ -3404,44 +3412,44 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3404
3412
|
placeholder: "Cls"
|
|
3405
3413
|
}
|
|
3406
3414
|
};
|
|
3407
|
-
return (
|
|
3408
|
-
var z, R,
|
|
3409
|
-
const C =
|
|
3410
|
-
return
|
|
3411
|
-
|
|
3412
|
-
s.selectedWidgetData ? (
|
|
3413
|
-
|
|
3414
|
-
|
|
3415
|
-
(
|
|
3415
|
+
return (_, g) => {
|
|
3416
|
+
var z, R, F, Y, ie, ce, ve, ke, $e, _e, De;
|
|
3417
|
+
const C = K("VsPopover");
|
|
3418
|
+
return h(), x(U, null, [
|
|
3419
|
+
c("div", zr, [
|
|
3420
|
+
s.selectedWidgetData ? (h(), x("div", Tr, [
|
|
3421
|
+
c("div", Ir, [
|
|
3422
|
+
c("nav", Sr, [
|
|
3423
|
+
(h(!0), x(U, null, Z(D.value, (G) => (h(), x("button", {
|
|
3416
3424
|
key: G.id,
|
|
3417
3425
|
type: "button",
|
|
3418
|
-
class:
|
|
3426
|
+
class: se(["relative pb-3 pt-1 text-sm font-medium transition-colors whitespace-nowrap", b.value === G.id ? "text-blue-600" : "text-gray-600 hover:text-gray-900"]),
|
|
3419
3427
|
onClick: (ue) => b.value = G.id
|
|
3420
3428
|
}, [
|
|
3421
3429
|
X(W(G.label) + " ", 1),
|
|
3422
|
-
b.value === G.id ? (
|
|
3423
|
-
], 10,
|
|
3430
|
+
b.value === G.id ? (h(), x("span", Vr)) : A("", !0)
|
|
3431
|
+
], 10, Rr))), 128))
|
|
3424
3432
|
]),
|
|
3425
|
-
|
|
3433
|
+
c("div", Lr, [
|
|
3426
3434
|
T(C, {
|
|
3427
3435
|
placement: "left",
|
|
3428
3436
|
trigger: "hover"
|
|
3429
3437
|
}, {
|
|
3430
3438
|
reference: j(() => [
|
|
3431
|
-
|
|
3439
|
+
c("button", {
|
|
3432
3440
|
type: "button",
|
|
3433
3441
|
class: "h-8 w-8 flex items-center justify-center rounded-lg text-gray-500 hover:text-gray-700 hover:bg-gray-100 transition-colors",
|
|
3434
3442
|
title: "Зберегти",
|
|
3435
|
-
onClick:
|
|
3443
|
+
onClick: g[0] || (g[0] = (G) => {
|
|
3436
3444
|
var ue, Ce;
|
|
3437
3445
|
return (Ce = (ue = n.value) == null ? void 0 : ue.save) == null ? void 0 : Ce.call(ue);
|
|
3438
3446
|
})
|
|
3439
3447
|
}, [
|
|
3440
|
-
T(
|
|
3448
|
+
T(N(Ns), { class: "h-4 w-4" })
|
|
3441
3449
|
])
|
|
3442
3450
|
]),
|
|
3443
3451
|
default: j(() => [
|
|
3444
|
-
|
|
3452
|
+
g[9] || (g[9] = X(" Зберегти ", -1))
|
|
3445
3453
|
]),
|
|
3446
3454
|
_: 1
|
|
3447
3455
|
}),
|
|
@@ -3450,7 +3458,7 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3450
3458
|
trigger: "hover"
|
|
3451
3459
|
}, {
|
|
3452
3460
|
reference: j(() => [
|
|
3453
|
-
|
|
3461
|
+
c("button", {
|
|
3454
3462
|
type: "button",
|
|
3455
3463
|
class: "h-8 w-8 flex items-center justify-center rounded-lg text-gray-500 hover:text-gray-700 hover:bg-gray-100 transition-colors",
|
|
3456
3464
|
onClick: V
|
|
@@ -3459,7 +3467,7 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3459
3467
|
])
|
|
3460
3468
|
]),
|
|
3461
3469
|
default: j(() => [
|
|
3462
|
-
|
|
3470
|
+
g[10] || (g[10] = X(" Редагувати віджет ", -1))
|
|
3463
3471
|
]),
|
|
3464
3472
|
_: 1
|
|
3465
3473
|
}),
|
|
@@ -3468,71 +3476,71 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3468
3476
|
trigger: "hover"
|
|
3469
3477
|
}, {
|
|
3470
3478
|
reference: j(() => [
|
|
3471
|
-
|
|
3479
|
+
c("button", {
|
|
3472
3480
|
type: "button",
|
|
3473
3481
|
class: "h-8 w-8 flex items-center justify-center rounded-lg text-gray-500 hover:text-gray-700 hover:bg-gray-100 transition-colors",
|
|
3474
|
-
onClick:
|
|
3482
|
+
onClick: g[1] || (g[1] = (G) => l.value = !0)
|
|
3475
3483
|
}, [
|
|
3476
|
-
T(
|
|
3484
|
+
T(N(Kt), { class: "h-4 w-4" })
|
|
3477
3485
|
])
|
|
3478
3486
|
]),
|
|
3479
3487
|
default: j(() => [
|
|
3480
|
-
|
|
3488
|
+
g[11] || (g[11] = X(" Видалити віджет ", -1))
|
|
3481
3489
|
]),
|
|
3482
3490
|
_: 1
|
|
3483
3491
|
})
|
|
3484
3492
|
])
|
|
3485
3493
|
]),
|
|
3486
|
-
(z = s.currentWidgetData) != null && z.status ? (
|
|
3494
|
+
(z = s.currentWidgetData) != null && z.status ? (h(), E(Pe, {
|
|
3487
3495
|
key: 0,
|
|
3488
3496
|
title: (R = s.currentWidgetData) == null ? void 0 : R.title,
|
|
3489
|
-
text: (
|
|
3490
|
-
}, null, 8, ["title", "text"])) : (
|
|
3491
|
-
|
|
3497
|
+
text: (F = s.currentWidgetData) == null ? void 0 : F.message
|
|
3498
|
+
}, null, 8, ["title", "text"])) : (h(), x("div", Wr, [
|
|
3499
|
+
d.value && s.currentWidgetData ? (h(), x("div", Nr, [
|
|
3492
3500
|
T(qt, {
|
|
3493
3501
|
ref_key: "tabPanelRef",
|
|
3494
3502
|
ref: n,
|
|
3495
3503
|
"tab-key": b.value,
|
|
3496
|
-
"tab-component":
|
|
3497
|
-
widgetName: (
|
|
3504
|
+
"tab-component": N(Ft)["vs-editor-form-" + b.value],
|
|
3505
|
+
widgetName: (Y = s.selectedWidgetData) == null ? void 0 : Y.name,
|
|
3498
3506
|
dashboardId: s.selectedDashboard,
|
|
3499
3507
|
yamlValue: ((ie = s.selectedWidgetData) == null ? void 0 : ie.yml) || "",
|
|
3500
3508
|
data: s.selectedWidgetData,
|
|
3501
|
-
controls: (
|
|
3509
|
+
controls: (ce = s.selectedWidgetData) == null ? void 0 : ce.controls,
|
|
3502
3510
|
columns: (ve = s.currentWidgetData) == null ? void 0 : ve.columns,
|
|
3503
|
-
onUpdateDashboard:
|
|
3511
|
+
onUpdateDashboard: g[2] || (g[2] = (G) => _.$emit("update-data"))
|
|
3504
3512
|
}, null, 8, ["tab-key", "tab-component", "widgetName", "dashboardId", "yamlValue", "data", "controls", "columns"])
|
|
3505
|
-
])) : (
|
|
3513
|
+
])) : (h(), x("div", Er, [
|
|
3506
3514
|
T(qt, {
|
|
3507
3515
|
ref_key: "tabPanelRef",
|
|
3508
3516
|
ref: n,
|
|
3509
3517
|
"tab-key": b.value,
|
|
3510
|
-
"tab-component":
|
|
3518
|
+
"tab-component": N(Ft)["vs-editor-form-" + b.value],
|
|
3511
3519
|
widgetName: (ke = s.selectedWidgetData) == null ? void 0 : ke.name,
|
|
3512
3520
|
dashboardId: s.selectedDashboard,
|
|
3513
3521
|
yamlValue: (($e = s.selectedWidgetData) == null ? void 0 : $e.yml) || "",
|
|
3514
3522
|
data: s.selectedWidgetData,
|
|
3515
3523
|
controls: (_e = s.selectedWidgetData) == null ? void 0 : _e.controls,
|
|
3516
3524
|
columns: (De = s.currentWidgetData) == null ? void 0 : De.columns,
|
|
3517
|
-
onUpdateDashboard:
|
|
3525
|
+
onUpdateDashboard: g[3] || (g[3] = (G) => _.$emit("update-data"))
|
|
3518
3526
|
}, null, 8, ["tab-key", "tab-component", "widgetName", "dashboardId", "yamlValue", "data", "controls", "columns"])
|
|
3519
3527
|
])),
|
|
3520
3528
|
T(Ve, {
|
|
3521
3529
|
teleport: "#modal",
|
|
3522
3530
|
visible: l.value,
|
|
3523
3531
|
title: "Ви впевнені?",
|
|
3524
|
-
onClose:
|
|
3532
|
+
onClose: g[5] || (g[5] = (G) => l.value = !1)
|
|
3525
3533
|
}, {
|
|
3526
3534
|
default: j(() => [
|
|
3527
|
-
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
|
|
3535
|
+
c("div", jr, [
|
|
3536
|
+
g[12] || (g[12] = c("p", { class: "mt-1 text-gray-500 dark:text-neutral-500" }, " Ви впевнені, що хочете видалити цей віджет? ", -1)),
|
|
3537
|
+
c("div", Br, [
|
|
3538
|
+
c("button", {
|
|
3531
3539
|
type: "button",
|
|
3532
3540
|
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",
|
|
3533
|
-
onClick:
|
|
3541
|
+
onClick: g[4] || (g[4] = (G) => l.value = !1)
|
|
3534
3542
|
}, " Скасувати "),
|
|
3535
|
-
|
|
3543
|
+
c("button", {
|
|
3536
3544
|
type: "button",
|
|
3537
3545
|
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",
|
|
3538
3546
|
onClick: k
|
|
@@ -3543,7 +3551,7 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3543
3551
|
_: 1
|
|
3544
3552
|
}, 8, ["visible"])
|
|
3545
3553
|
]))
|
|
3546
|
-
])) : (
|
|
3554
|
+
])) : (h(), E(Pe, {
|
|
3547
3555
|
key: 1,
|
|
3548
3556
|
title: "Оберіть один з віджетів",
|
|
3549
3557
|
text: "",
|
|
@@ -3554,27 +3562,27 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3554
3562
|
teleport: "#modal",
|
|
3555
3563
|
visible: u.value,
|
|
3556
3564
|
title: "Редагувати віджет",
|
|
3557
|
-
onClose:
|
|
3565
|
+
onClose: g[8] || (g[8] = (G) => u.value = !1)
|
|
3558
3566
|
}, {
|
|
3559
3567
|
footer: j(() => [
|
|
3560
|
-
|
|
3561
|
-
|
|
3568
|
+
c("div", Or, [
|
|
3569
|
+
c("button", {
|
|
3562
3570
|
style: { border: "1px solid #000" },
|
|
3563
|
-
onClick:
|
|
3571
|
+
onClick: g[7] || (g[7] = (G) => u.value = !1),
|
|
3564
3572
|
class: "py-2 px-3 inline-flex items-center gap-x-2 text-sm whitespace-nowrap text-black border-gray-200 rounded-lg hover:bg-gray-100 duration-300"
|
|
3565
3573
|
}, " Скасувати "),
|
|
3566
|
-
|
|
3567
|
-
onClick:
|
|
3574
|
+
c("button", {
|
|
3575
|
+
onClick: y,
|
|
3568
3576
|
class: "py-2 px-3 inline-flex items-center gap-x-2 text-[14px] font-[400] whitespace-nowrap text-white bg-blue-500 rounded-lg hover:bg-blue-700 duration-300"
|
|
3569
3577
|
}, " Зберегти ")
|
|
3570
3578
|
])
|
|
3571
3579
|
]),
|
|
3572
3580
|
default: j(() => [
|
|
3573
|
-
|
|
3581
|
+
f ? (h(), E(N(t), {
|
|
3574
3582
|
key: 0,
|
|
3575
|
-
schema:
|
|
3576
|
-
values:
|
|
3577
|
-
"onUpdate:values":
|
|
3583
|
+
schema: f,
|
|
3584
|
+
values: p.value,
|
|
3585
|
+
"onUpdate:values": g[6] || (g[6] = (G) => p.value = G)
|
|
3578
3586
|
}, null, 8, ["values"])) : A("", !0)
|
|
3579
3587
|
]),
|
|
3580
3588
|
_: 1
|
|
@@ -3582,10 +3590,10 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3582
3590
|
], 64);
|
|
3583
3591
|
};
|
|
3584
3592
|
}
|
|
3585
|
-
},
|
|
3593
|
+
}, Ar = { class: "overflow-hidden flex flex-col min-h-[480px]" }, Fr = { class: "flex-1 flex min-h-0 gap-4" }, qr = { class: "flex-1 min-w-0 pb-4 overflow-auto bg-gray-50/50" }, Mr = {
|
|
3586
3594
|
key: 1,
|
|
3587
3595
|
class: "flex items-center justify-center h-full"
|
|
3588
|
-
},
|
|
3596
|
+
}, Ur = { class: "w-[400px] shrink-0 flex flex-col" }, Gr = {
|
|
3589
3597
|
__name: "vs-widget-editor-panel",
|
|
3590
3598
|
props: {
|
|
3591
3599
|
selectedWidget: { type: String, default: "" },
|
|
@@ -3610,21 +3618,21 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3610
3618
|
function n() {
|
|
3611
3619
|
a("update-data");
|
|
3612
3620
|
}
|
|
3613
|
-
|
|
3621
|
+
ae(
|
|
3614
3622
|
() => [t.selectedDashboard, t.selectedWidget],
|
|
3615
3623
|
() => {
|
|
3616
3624
|
i();
|
|
3617
3625
|
},
|
|
3618
3626
|
{ immediate: !0 }
|
|
3619
3627
|
);
|
|
3620
|
-
const o =
|
|
3628
|
+
const o = q({
|
|
3621
3629
|
get: () => t.selectedWidget,
|
|
3622
3630
|
set: (l) => a("update:selectedWidget", l)
|
|
3623
3631
|
});
|
|
3624
|
-
return (l,
|
|
3625
|
-
|
|
3626
|
-
|
|
3627
|
-
r.value ? (
|
|
3632
|
+
return (l, d) => (h(), x("div", Ar, [
|
|
3633
|
+
c("div", Fr, [
|
|
3634
|
+
c("div", qr, [
|
|
3635
|
+
r.value ? (h(), E(Oe, {
|
|
3628
3636
|
key: 0,
|
|
3629
3637
|
dashboard: s.selectedDashboard,
|
|
3630
3638
|
widget: s.selectedWidget,
|
|
@@ -3633,14 +3641,14 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3633
3641
|
"prefetched-data": r.value,
|
|
3634
3642
|
"filter-u-rl": void 0,
|
|
3635
3643
|
class: "max-h-full"
|
|
3636
|
-
}, null, 8, ["dashboard", "widget", "selected-widget", "dashboard-widgets", "prefetched-data"])) : (
|
|
3637
|
-
|
|
3644
|
+
}, null, 8, ["dashboard", "widget", "selected-widget", "dashboard-widgets", "prefetched-data"])) : (h(), x("div", Mr, [...d[1] || (d[1] = [
|
|
3645
|
+
c("span", { class: "text-sm text-gray-400" }, "Завантаження...", -1)
|
|
3638
3646
|
])]))
|
|
3639
3647
|
]),
|
|
3640
|
-
|
|
3641
|
-
T(
|
|
3648
|
+
c("div", Ur, [
|
|
3649
|
+
T(Pr, {
|
|
3642
3650
|
selectedWidget: o.value,
|
|
3643
|
-
"onUpdate:selectedWidget":
|
|
3651
|
+
"onUpdate:selectedWidget": d[0] || (d[0] = (u) => o.value = u),
|
|
3644
3652
|
selectedWidgetData: s.selectedWidgetData,
|
|
3645
3653
|
currentWidgetData: r.value || s.currentWidgetData || { columns: [] },
|
|
3646
3654
|
selectedDashboard: s.selectedDashboard,
|
|
@@ -3650,30 +3658,30 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3650
3658
|
])
|
|
3651
3659
|
]));
|
|
3652
3660
|
}
|
|
3653
|
-
},
|
|
3661
|
+
}, Hr = {
|
|
3654
3662
|
__name: "icon-grid",
|
|
3655
3663
|
setup(s) {
|
|
3656
|
-
return (e, t) => (
|
|
3664
|
+
return (e, t) => (h(), E(N(Ls), he(e.$attrs, { size: 24 }), null, 16));
|
|
3657
3665
|
}
|
|
3658
|
-
},
|
|
3666
|
+
}, Zr = {
|
|
3659
3667
|
__name: "icon-table",
|
|
3660
3668
|
setup(s) {
|
|
3661
|
-
return (e, t) => (
|
|
3669
|
+
return (e, t) => (h(), E(N(Es), he(e.$attrs, { size: 24 }), null, 16));
|
|
3662
3670
|
}
|
|
3663
|
-
},
|
|
3671
|
+
}, Qr = {
|
|
3664
3672
|
__name: "icon-more",
|
|
3665
3673
|
setup(s) {
|
|
3666
|
-
return (e, t) => (
|
|
3674
|
+
return (e, t) => (h(), E(N(Ss), he(e.$attrs, { size: 24 }), null, 16));
|
|
3667
3675
|
}
|
|
3668
|
-
},
|
|
3676
|
+
}, Xr = M(() => import("@opengis/form")), Yr = {
|
|
3669
3677
|
components: {
|
|
3670
3678
|
VsModal: Ve,
|
|
3671
|
-
VForm:
|
|
3672
|
-
deleteIcon:
|
|
3679
|
+
VForm: Xr,
|
|
3680
|
+
deleteIcon: Kt,
|
|
3673
3681
|
editIcon: es,
|
|
3674
|
-
IconGrid:
|
|
3675
|
-
IconMore:
|
|
3676
|
-
IconTable:
|
|
3682
|
+
IconGrid: Hr,
|
|
3683
|
+
IconMore: Qr,
|
|
3684
|
+
IconTable: Zr
|
|
3677
3685
|
},
|
|
3678
3686
|
watch: {
|
|
3679
3687
|
dashboardData: {
|
|
@@ -3692,7 +3700,7 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3692
3700
|
}
|
|
3693
3701
|
const e = (a = s == null ? void 0 : s.panels) == null ? void 0 : a.map((r) => {
|
|
3694
3702
|
var o, l;
|
|
3695
|
-
const { title: i = "", type: n = "" } = ((l = (o = s == null ? void 0 : s.widgets) == null ? void 0 : o.find((
|
|
3703
|
+
const { title: i = "", type: n = "" } = ((l = (o = s == null ? void 0 : s.widgets) == null ? void 0 : o.find((d) => (d == null ? void 0 : d.name) === (r == null ? void 0 : r.widget))) == null ? void 0 : l.data) || {};
|
|
3696
3704
|
return { title: i, type: n, ...r };
|
|
3697
3705
|
});
|
|
3698
3706
|
this.formGridValue = {
|
|
@@ -3723,9 +3731,10 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3723
3731
|
label: "Опис"
|
|
3724
3732
|
},
|
|
3725
3733
|
{
|
|
3726
|
-
type: "
|
|
3734
|
+
type: "Select",
|
|
3727
3735
|
key: "table_name",
|
|
3728
3736
|
validators: ["required"],
|
|
3737
|
+
data: "pg.table_name",
|
|
3729
3738
|
label: "Назва таблиці"
|
|
3730
3739
|
},
|
|
3731
3740
|
{
|
|
@@ -3871,22 +3880,22 @@ const kr = { class: "space-y-4" }, $r = {
|
|
|
3871
3880
|
document.body.click();
|
|
3872
3881
|
}
|
|
3873
3882
|
}
|
|
3874
|
-
},
|
|
3883
|
+
}, Jr = {
|
|
3875
3884
|
key: 0,
|
|
3876
3885
|
class: "flex items-center gap-4"
|
|
3877
|
-
},
|
|
3878
|
-
function
|
|
3879
|
-
const n =
|
|
3880
|
-
return
|
|
3881
|
-
t.selected ? (
|
|
3886
|
+
}, Kr = { class: "h-[30px] w-[30px] flex items-center justify-center" }, en = { class: "flex flex-col items-start -ml-2 -mr-2" }, tn = { class: "p-4" }, sn = { class: "flex justify-end mt-4 gap-x-3" }, an = { class: "flex justify-end p-[20px] gap-[10px] border-t w-full" }, rn = { class: "flex justify-end p-[20px] gap-[10px] border-t w-full" };
|
|
3887
|
+
function nn(s, e, t, a, r, i) {
|
|
3888
|
+
const n = K("IconGrid"), o = K("VsPopover"), l = K("IconMore"), d = K("VsModal"), u = K("VForm");
|
|
3889
|
+
return h(), x("div", null, [
|
|
3890
|
+
t.selected ? (h(), x("div", Jr, [
|
|
3882
3891
|
T(o, {
|
|
3883
3892
|
placement: "left",
|
|
3884
3893
|
trigger: "hover"
|
|
3885
3894
|
}, {
|
|
3886
3895
|
reference: j(() => [
|
|
3887
|
-
|
|
3896
|
+
c("button", {
|
|
3888
3897
|
class: "h-[30px] w-[30px] flex items-center justify-center",
|
|
3889
|
-
onClick: e[0] || (e[0] = (
|
|
3898
|
+
onClick: e[0] || (e[0] = (p) => r.isFormGrid = !0)
|
|
3890
3899
|
}, [
|
|
3891
3900
|
T(n, { class: "h-[20px] text-gray-500" })
|
|
3892
3901
|
])
|
|
@@ -3903,20 +3912,20 @@ function ln(s, e, t, a, r, i) {
|
|
|
3903
3912
|
reference: j(() => [
|
|
3904
3913
|
T(o, { placement: "bottom-left" }, {
|
|
3905
3914
|
reference: j(() => [
|
|
3906
|
-
|
|
3915
|
+
c("button", Kr, [
|
|
3907
3916
|
T(l, { class: "h-[20px]" })
|
|
3908
3917
|
])
|
|
3909
3918
|
]),
|
|
3910
3919
|
default: j(() => [
|
|
3911
|
-
|
|
3912
|
-
|
|
3913
|
-
onClick: e[1] || (e[1] = (
|
|
3920
|
+
c("div", en, [
|
|
3921
|
+
c("button", {
|
|
3922
|
+
onClick: e[1] || (e[1] = (p) => {
|
|
3914
3923
|
i.closePopover(), r.isFormEdit = !0;
|
|
3915
3924
|
}),
|
|
3916
3925
|
class: "px-[8px] py-[4px] hover:bg-gray-100 w-full text-start rounded-lg"
|
|
3917
3926
|
}, " Редагувати дашборд "),
|
|
3918
|
-
|
|
3919
|
-
onClick: e[2] || (e[2] = (
|
|
3927
|
+
c("button", {
|
|
3928
|
+
onClick: e[2] || (e[2] = (p) => {
|
|
3920
3929
|
i.closePopover(), r.isDeleteConfirm = !0;
|
|
3921
3930
|
}),
|
|
3922
3931
|
class: "px-[8px] py-[4px] hover:bg-gray-100 w-full text-start rounded-lg"
|
|
@@ -3932,47 +3941,47 @@ function ln(s, e, t, a, r, i) {
|
|
|
3932
3941
|
_: 1
|
|
3933
3942
|
})
|
|
3934
3943
|
])) : A("", !0),
|
|
3935
|
-
T(
|
|
3944
|
+
T(d, {
|
|
3936
3945
|
teleport: "#modal",
|
|
3937
3946
|
visible: r.isDeleteConfirm,
|
|
3938
3947
|
size: "small",
|
|
3939
3948
|
title: "Ви впевнені?",
|
|
3940
|
-
onClose: e[5] || (e[5] = (
|
|
3949
|
+
onClose: e[5] || (e[5] = (p) => r.isDeleteConfirm = !1)
|
|
3941
3950
|
}, {
|
|
3942
3951
|
default: j(() => [
|
|
3943
|
-
|
|
3944
|
-
e[16] || (e[16] =
|
|
3945
|
-
|
|
3946
|
-
|
|
3952
|
+
c("div", tn, [
|
|
3953
|
+
e[16] || (e[16] = c("p", { class: "mt-1 text-gray-500 dark:text-neutral-500" }, " Ви впевнені, що хочете видалити цей дашборд? ", -1)),
|
|
3954
|
+
c("div", sn, [
|
|
3955
|
+
c("button", {
|
|
3947
3956
|
type: "button",
|
|
3948
3957
|
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",
|
|
3949
|
-
onClick: e[3] || (e[3] = (
|
|
3958
|
+
onClick: e[3] || (e[3] = (p) => r.isDeleteConfirm = !1)
|
|
3950
3959
|
}, " Скасувати "),
|
|
3951
|
-
|
|
3960
|
+
c("button", {
|
|
3952
3961
|
type: "button",
|
|
3953
3962
|
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",
|
|
3954
|
-
onClick: e[4] || (e[4] = (...
|
|
3963
|
+
onClick: e[4] || (e[4] = (...p) => i.deleteDashboard && i.deleteDashboard(...p))
|
|
3955
3964
|
}, " Так, я впевнена(ий) ")
|
|
3956
3965
|
])
|
|
3957
3966
|
])
|
|
3958
3967
|
]),
|
|
3959
3968
|
_: 1
|
|
3960
3969
|
}, 8, ["visible"]),
|
|
3961
|
-
T(
|
|
3970
|
+
T(d, {
|
|
3962
3971
|
teleport: "#modal",
|
|
3963
3972
|
visible: r.isFormEdit,
|
|
3964
3973
|
title: "Редагувати дашборд",
|
|
3965
|
-
onClose: e[9] || (e[9] = (
|
|
3974
|
+
onClose: e[9] || (e[9] = (p) => r.isFormEdit = !1)
|
|
3966
3975
|
}, {
|
|
3967
3976
|
footer: j(() => [
|
|
3968
|
-
|
|
3969
|
-
|
|
3977
|
+
c("div", an, [
|
|
3978
|
+
c("button", {
|
|
3970
3979
|
style: { border: "1px solid #000" },
|
|
3971
|
-
onClick: e[7] || (e[7] = (
|
|
3980
|
+
onClick: e[7] || (e[7] = (p) => r.isFormEdit = !1),
|
|
3972
3981
|
class: "py-2 px-3 inline-flex items-center gap-x-2 text-sm whitespace-nowrap text-black border-gray-200 rounded-lg !border-gray-200 hover:bg-gray-100 duration-300"
|
|
3973
3982
|
}, " Скасувати "),
|
|
3974
|
-
|
|
3975
|
-
onClick: e[8] || (e[8] = (...
|
|
3983
|
+
c("button", {
|
|
3984
|
+
onClick: e[8] || (e[8] = (...p) => i.editDashboard && i.editDashboard(...p)),
|
|
3976
3985
|
class: "py-2 px-3 inline-flex items-center gap-x-2 text-[14px] font-[400] whitespace-nowrap text-white bg-blue-500 rounded-lg !border-gray-200 hover:bg-blue-700 duration-300"
|
|
3977
3986
|
}, " Зберегти ")
|
|
3978
3987
|
])
|
|
@@ -3982,26 +3991,26 @@ function ln(s, e, t, a, r, i) {
|
|
|
3982
3991
|
ref: "formEdit",
|
|
3983
3992
|
schema: r.editDashboardScheme,
|
|
3984
3993
|
values: r.formEditValue,
|
|
3985
|
-
"onUpdate:values": e[6] || (e[6] = (
|
|
3994
|
+
"onUpdate:values": e[6] || (e[6] = (p) => r.formEditValue = p)
|
|
3986
3995
|
}, null, 8, ["schema", "values"])
|
|
3987
3996
|
]),
|
|
3988
3997
|
_: 1
|
|
3989
3998
|
}, 8, ["visible"]),
|
|
3990
|
-
T(
|
|
3999
|
+
T(d, {
|
|
3991
4000
|
teleport: "#modal",
|
|
3992
4001
|
visible: r.isFormGrid,
|
|
3993
4002
|
title: "Редагувати структуру дашборду",
|
|
3994
|
-
onClose: e[13] || (e[13] = (
|
|
4003
|
+
onClose: e[13] || (e[13] = (p) => r.isFormGrid = !1)
|
|
3995
4004
|
}, {
|
|
3996
4005
|
footer: j(() => [
|
|
3997
|
-
|
|
3998
|
-
|
|
4006
|
+
c("div", rn, [
|
|
4007
|
+
c("button", {
|
|
3999
4008
|
style: { border: "1px solid #000" },
|
|
4000
|
-
onClick: e[11] || (e[11] = (
|
|
4009
|
+
onClick: e[11] || (e[11] = (p) => r.isFormGrid = !1),
|
|
4001
4010
|
class: "py-2 px-3 inline-flex items-center gap-x-2 text-sm whitespace-nowrap text-black border-gray-200 rounded-lg !border-gray-200 hover:bg-gray-100 duration-300"
|
|
4002
4011
|
}, " Скасувати "),
|
|
4003
|
-
|
|
4004
|
-
onClick: e[12] || (e[12] = (...
|
|
4012
|
+
c("button", {
|
|
4013
|
+
onClick: e[12] || (e[12] = (...p) => i.editDashboardGrid && i.editDashboardGrid(...p)),
|
|
4005
4014
|
class: "py-2 px-3 inline-flex items-center gap-x-2 text-[14px] font-[400] whitespace-nowrap text-white bg-blue-500 rounded-lg !border-gray-200 hover:bg-blue-700 duration-300"
|
|
4006
4015
|
}, " Зберегти ")
|
|
4007
4016
|
])
|
|
@@ -4011,23 +4020,23 @@ function ln(s, e, t, a, r, i) {
|
|
|
4011
4020
|
ref: "formgrid",
|
|
4012
4021
|
schema: r.editGridScheme,
|
|
4013
4022
|
values: r.formGridValue,
|
|
4014
|
-
"onUpdate:values": e[10] || (e[10] = (
|
|
4023
|
+
"onUpdate:values": e[10] || (e[10] = (p) => r.formGridValue = p)
|
|
4015
4024
|
}, null, 8, ["schema", "values"])
|
|
4016
4025
|
]),
|
|
4017
4026
|
_: 1
|
|
4018
4027
|
}, 8, ["visible"])
|
|
4019
4028
|
]);
|
|
4020
4029
|
}
|
|
4021
|
-
const
|
|
4030
|
+
const on = /* @__PURE__ */ Q(Yr, [["render", nn]]), ln = { class: "flex-1 min-w-0 flex flex-col overflow-auto" }, dn = { class: "max-w-7xl mx-auto px-6 w-full flex flex-col min-h-0 flex-1" }, cn = { class: "relative z-10 shrink-0 mt-4 mb-6" }, un = { class: "flex items-center text-sm text-gray-600" }, hn = {
|
|
4022
4031
|
key: 0,
|
|
4023
4032
|
class: "flex items-center justify-between gap-4 mt-3"
|
|
4024
|
-
},
|
|
4033
|
+
}, pn = { class: "min-w-0" }, fn = { class: "text-2xl font-bold text-gray-900" }, gn = {
|
|
4025
4034
|
key: 0,
|
|
4026
4035
|
class: "mt-1.5 text-sm text-gray-600"
|
|
4027
|
-
},
|
|
4036
|
+
}, mn = { class: "flex items-center shrink-0" }, bn = {
|
|
4028
4037
|
key: 1,
|
|
4029
4038
|
class: "grid flex-grow w-full grid-cols-12 gap-4 py-4 pr-[15px] min-h-0 overflow-auto [&::-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"
|
|
4030
|
-
},
|
|
4039
|
+
}, xn = {
|
|
4031
4040
|
__name: "vs-editor",
|
|
4032
4041
|
props: {
|
|
4033
4042
|
prefix: String,
|
|
@@ -4038,122 +4047,122 @@ const cn = /* @__PURE__ */ Q(Jr, [["render", ln]]), dn = { class: "flex-1 min-w-
|
|
|
4038
4047
|
emits: ["back"],
|
|
4039
4048
|
setup(s, { emit: e }) {
|
|
4040
4049
|
const t = s;
|
|
4041
|
-
|
|
4042
|
-
const a = e, r = we(), i =
|
|
4043
|
-
|
|
4044
|
-
l.value =
|
|
4050
|
+
He(t.prefix || "/api");
|
|
4051
|
+
const a = e, r = we(), i = q(() => r.hasRoute(J.EditorWidget)), n = Qt("biClearDashboard", null), o = I(t.initialDashboardId || ""), l = I(t.initialWidgetId || ""), d = I(null), u = I(null), p = I(null);
|
|
4052
|
+
ae(() => t.initialWidgetId, (y) => {
|
|
4053
|
+
l.value = y || "";
|
|
4045
4054
|
});
|
|
4046
4055
|
const v = async () => {
|
|
4047
4056
|
if (!o.value) {
|
|
4048
|
-
|
|
4057
|
+
d.value = null;
|
|
4049
4058
|
return;
|
|
4050
4059
|
}
|
|
4051
4060
|
try {
|
|
4052
|
-
const
|
|
4061
|
+
const y = await H.get(
|
|
4053
4062
|
`/bi-dashboard/${o.value}`
|
|
4054
4063
|
);
|
|
4055
|
-
|
|
4056
|
-
} catch (
|
|
4057
|
-
console.error(
|
|
4064
|
+
d.value = y;
|
|
4065
|
+
} catch (y) {
|
|
4066
|
+
console.error(y);
|
|
4058
4067
|
}
|
|
4059
|
-
},
|
|
4068
|
+
}, m = q(
|
|
4060
4069
|
() => {
|
|
4061
|
-
var
|
|
4062
|
-
return (
|
|
4070
|
+
var y, f, w;
|
|
4071
|
+
return (w = Array.isArray((y = d.value) == null ? void 0 : y.widgets) ? (f = d.value) == null ? void 0 : f.widgets : []) == null ? void 0 : w.find(($) => ($ == null ? void 0 : $.name) === l.value);
|
|
4063
4072
|
}
|
|
4064
4073
|
);
|
|
4065
|
-
function b(
|
|
4074
|
+
function b(y) {
|
|
4066
4075
|
i.value ? r.push({
|
|
4067
|
-
name:
|
|
4068
|
-
params: { dashboardId: o.value, widgetId:
|
|
4069
|
-
}) : l.value =
|
|
4076
|
+
name: J.EditorWidget,
|
|
4077
|
+
params: { dashboardId: o.value, widgetId: y }
|
|
4078
|
+
}) : l.value = y;
|
|
4070
4079
|
}
|
|
4071
4080
|
function k() {
|
|
4072
4081
|
i.value ? r.push({
|
|
4073
|
-
name:
|
|
4082
|
+
name: J.EditorDashboard,
|
|
4074
4083
|
params: { dashboardId: o.value }
|
|
4075
4084
|
}) : l.value = "";
|
|
4076
4085
|
}
|
|
4077
|
-
function
|
|
4078
|
-
i.value ? r.push({ name:
|
|
4086
|
+
function D() {
|
|
4087
|
+
i.value ? r.push({ name: J.Editor }) : (typeof n == "function" && n(), a("back"));
|
|
4079
4088
|
}
|
|
4080
|
-
const V =
|
|
4081
|
-
var
|
|
4082
|
-
const
|
|
4083
|
-
if ((
|
|
4084
|
-
const z = ((
|
|
4085
|
-
!!l.value ?
|
|
4086
|
-
i.value ? { label: z, to: { name:
|
|
4089
|
+
const V = q(() => {
|
|
4090
|
+
var w, $, _, g, C;
|
|
4091
|
+
const f = [i.value ? { label: "Дашборди", to: { name: J.Editor } } : { label: "Дашборди", onClick: D }];
|
|
4092
|
+
if ((w = d.value) != null && w.title || o.value) {
|
|
4093
|
+
const z = (($ = d.value) == null ? void 0 : $.title) || o.value || "Редактор";
|
|
4094
|
+
!!l.value ? f.push(
|
|
4095
|
+
i.value ? { label: z, to: { name: J.EditorDashboard, params: { dashboardId: o.value } } } : { label: z, onClick: () => {
|
|
4087
4096
|
l.value = "";
|
|
4088
4097
|
} }
|
|
4089
|
-
) :
|
|
4098
|
+
) : f.push({ label: z });
|
|
4090
4099
|
} else
|
|
4091
|
-
|
|
4092
|
-
if (l.value &&
|
|
4093
|
-
const z = ((
|
|
4094
|
-
|
|
4100
|
+
f.push({ label: "Редактор" });
|
|
4101
|
+
if (l.value && m.value) {
|
|
4102
|
+
const z = ((g = (_ = m.value) == null ? void 0 : _.data) == null ? void 0 : g.title) || ((C = m.value) == null ? void 0 : C.title) || l.value;
|
|
4103
|
+
f.push({ label: z });
|
|
4095
4104
|
}
|
|
4096
|
-
return
|
|
4105
|
+
return f;
|
|
4097
4106
|
});
|
|
4098
|
-
return
|
|
4099
|
-
|
|
4107
|
+
return ae(o, (y, f) => {
|
|
4108
|
+
f && (l.value = ""), y ? v() : (d.value = null, D());
|
|
4100
4109
|
}), le(() => {
|
|
4101
4110
|
v();
|
|
4102
|
-
}), (
|
|
4103
|
-
var
|
|
4104
|
-
return
|
|
4105
|
-
class:
|
|
4111
|
+
}), (y, f) => {
|
|
4112
|
+
var w, $;
|
|
4113
|
+
return h(), x("div", {
|
|
4114
|
+
class: se(["flex w-full h-full", [s.customClass]])
|
|
4106
4115
|
}, [
|
|
4107
|
-
|
|
4108
|
-
|
|
4109
|
-
|
|
4110
|
-
|
|
4111
|
-
T(
|
|
4116
|
+
c("div", ln, [
|
|
4117
|
+
c("div", dn, [
|
|
4118
|
+
c("div", cn, [
|
|
4119
|
+
c("div", un, [
|
|
4120
|
+
T(Jt, {
|
|
4112
4121
|
items: V.value,
|
|
4113
4122
|
compact: ""
|
|
4114
4123
|
}, null, 8, ["items"])
|
|
4115
4124
|
]),
|
|
4116
|
-
o.value &&
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4125
|
+
o.value && d.value ? (h(), x("div", hn, [
|
|
4126
|
+
c("div", pn, [
|
|
4127
|
+
c("h1", fn, W(d.value.title || o.value), 1),
|
|
4128
|
+
d.value.description ? (h(), x("p", gn, W(d.value.description), 1)) : A("", !0)
|
|
4120
4129
|
]),
|
|
4121
|
-
|
|
4122
|
-
l.value ? (
|
|
4130
|
+
c("div", mn, [
|
|
4131
|
+
l.value ? (h(), x("button", {
|
|
4123
4132
|
key: 0,
|
|
4124
4133
|
type: "button",
|
|
4125
4134
|
class: "flex items-center gap-1.5 px-3 py-1.5 text-sm text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded-lg transition-colors",
|
|
4126
4135
|
onClick: k
|
|
4127
4136
|
}, [
|
|
4128
|
-
T(
|
|
4129
|
-
|
|
4130
|
-
])) : (
|
|
4131
|
-
T(
|
|
4137
|
+
T(N(Bs), { class: "w-4 h-4" }),
|
|
4138
|
+
f[5] || (f[5] = X(" Закрити ", -1))
|
|
4139
|
+
])) : (h(), x(U, { key: 1 }, [
|
|
4140
|
+
T(on, {
|
|
4132
4141
|
selected: o.value,
|
|
4133
|
-
"onUpdate:selected":
|
|
4134
|
-
dashboardData:
|
|
4135
|
-
columns: (
|
|
4136
|
-
selectedWidgetData:
|
|
4142
|
+
"onUpdate:selected": f[0] || (f[0] = (_) => o.value = _),
|
|
4143
|
+
dashboardData: d.value,
|
|
4144
|
+
columns: (w = d.value) == null ? void 0 : w.columns,
|
|
4145
|
+
selectedWidgetData: m.value,
|
|
4137
4146
|
prefix: s.prefix,
|
|
4138
4147
|
onUpdateEditor: v
|
|
4139
4148
|
}, null, 8, ["selected", "dashboardData", "columns", "selectedWidgetData", "prefix"]),
|
|
4140
|
-
|
|
4149
|
+
c("button", {
|
|
4141
4150
|
type: "button",
|
|
4142
4151
|
class: "ml-4 flex items-center gap-2 px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors shadow-sm font-medium",
|
|
4143
|
-
onClick:
|
|
4144
|
-
var
|
|
4145
|
-
return (C = (
|
|
4152
|
+
onClick: f[1] || (f[1] = (_) => {
|
|
4153
|
+
var g, C;
|
|
4154
|
+
return (C = (g = p.value) == null ? void 0 : g.open) == null ? void 0 : C.call(g);
|
|
4146
4155
|
})
|
|
4147
|
-
}, [...
|
|
4148
|
-
|
|
4156
|
+
}, [...f[6] || (f[6] = [
|
|
4157
|
+
c("span", { class: "leading-none" }, "+", -1),
|
|
4149
4158
|
X(" Створити віджет ", -1)
|
|
4150
4159
|
])]),
|
|
4151
|
-
o.value ? (
|
|
4160
|
+
o.value ? (h(), E(Ba, {
|
|
4152
4161
|
key: 0,
|
|
4153
4162
|
ref_key: "createWidgetRef",
|
|
4154
|
-
ref:
|
|
4163
|
+
ref: p,
|
|
4155
4164
|
inline: "",
|
|
4156
|
-
columns: (
|
|
4165
|
+
columns: ($ = d.value) == null ? void 0 : $.columns,
|
|
4157
4166
|
selectedDashboard: o.value,
|
|
4158
4167
|
onUpdateData: v
|
|
4159
4168
|
}, null, 8, ["columns", "selectedDashboard"])) : A("", !0)
|
|
@@ -4161,49 +4170,49 @@ const cn = /* @__PURE__ */ Q(Jr, [["render", ln]]), dn = { class: "flex-1 min-w-
|
|
|
4161
4170
|
])
|
|
4162
4171
|
])) : A("", !0)
|
|
4163
4172
|
]),
|
|
4164
|
-
l.value &&
|
|
4173
|
+
l.value && d.value ? (h(), E(Gr, {
|
|
4165
4174
|
key: 0,
|
|
4166
4175
|
"selected-widget": l.value,
|
|
4167
|
-
"onUpdate:selectedWidget":
|
|
4168
|
-
"selected-widget-data":
|
|
4176
|
+
"onUpdate:selectedWidget": f[2] || (f[2] = (_) => l.value = _),
|
|
4177
|
+
"selected-widget-data": m.value,
|
|
4169
4178
|
"current-widget-data": u.value,
|
|
4170
4179
|
"selected-dashboard": o.value,
|
|
4171
|
-
"dashboard-widgets":
|
|
4180
|
+
"dashboard-widgets": d.value.widgets || [],
|
|
4172
4181
|
onUpdateData: v
|
|
4173
|
-
}, null, 8, ["selected-widget", "selected-widget-data", "current-widget-data", "selected-dashboard", "dashboard-widgets"])) : (
|
|
4174
|
-
|
|
4182
|
+
}, null, 8, ["selected-widget", "selected-widget-data", "current-widget-data", "selected-dashboard", "dashboard-widgets"])) : (h(), x("div", bn, [
|
|
4183
|
+
d.value ? (h(!0), x(U, { key: 1 }, Z(d.value.panels, (_, g) => {
|
|
4175
4184
|
var C;
|
|
4176
|
-
return
|
|
4177
|
-
key:
|
|
4178
|
-
class:
|
|
4185
|
+
return h(), x("div", {
|
|
4186
|
+
key: g,
|
|
4187
|
+
class: se([`md:col-span-${_.col || 12} col-span-12`, "flex flex-col gap-[10px]"])
|
|
4179
4188
|
}, [
|
|
4180
|
-
(C =
|
|
4189
|
+
(C = _.widgets) != null && C.length ? (h(!0), x(U, { key: 0 }, Z(_.widgets, (z) => (h(), E(Oe, {
|
|
4181
4190
|
onClick: (R) => b(z),
|
|
4182
|
-
"onUpdate:currentWidgetData":
|
|
4191
|
+
"onUpdate:currentWidgetData": f[3] || (f[3] = (R) => u.value = R),
|
|
4183
4192
|
key: z,
|
|
4184
4193
|
dashboard: o.value,
|
|
4185
4194
|
widget: z,
|
|
4186
4195
|
selectedWidget: l.value,
|
|
4187
|
-
"dashboard-widgets":
|
|
4188
|
-
height: Number(
|
|
4189
|
-
class:
|
|
4196
|
+
"dashboard-widgets": d.value.widgets,
|
|
4197
|
+
height: Number(_.height ?? 480),
|
|
4198
|
+
class: se({
|
|
4190
4199
|
"border border-blue-500": l.value === z
|
|
4191
4200
|
})
|
|
4192
|
-
}, null, 8, ["onClick", "dashboard", "widget", "selectedWidget", "dashboard-widgets", "height", "class"]))), 128)) : (
|
|
4201
|
+
}, null, 8, ["onClick", "dashboard", "widget", "selectedWidget", "dashboard-widgets", "height", "class"]))), 128)) : (h(), E(Oe, {
|
|
4193
4202
|
key: 1,
|
|
4194
|
-
onClick: (z) => b(
|
|
4195
|
-
"onUpdate:currentWidgetData":
|
|
4196
|
-
class:
|
|
4197
|
-
"border border-blue-500": l.value ===
|
|
4203
|
+
onClick: (z) => b(_.widget),
|
|
4204
|
+
"onUpdate:currentWidgetData": f[4] || (f[4] = (z) => u.value = z),
|
|
4205
|
+
class: se(["flex flex-col", {
|
|
4206
|
+
"border border-blue-500": l.value === _.widget
|
|
4198
4207
|
}]),
|
|
4199
4208
|
dashboard: o.value,
|
|
4200
|
-
widget:
|
|
4209
|
+
widget: _.widget,
|
|
4201
4210
|
selectedWidget: l.value,
|
|
4202
|
-
"dashboard-widgets":
|
|
4203
|
-
height: Number(
|
|
4211
|
+
"dashboard-widgets": d.value.widgets,
|
|
4212
|
+
height: Number(_.height ?? 480)
|
|
4204
4213
|
}, null, 8, ["onClick", "class", "dashboard", "widget", "selectedWidget", "dashboard-widgets", "height"]))
|
|
4205
4214
|
], 2);
|
|
4206
|
-
}), 128)) : (
|
|
4215
|
+
}), 128)) : (h(), E(Pe, {
|
|
4207
4216
|
key: 0,
|
|
4208
4217
|
class: "col-span-12"
|
|
4209
4218
|
}))
|
|
@@ -4213,7 +4222,7 @@ const cn = /* @__PURE__ */ Q(Jr, [["render", ln]]), dn = { class: "flex-1 min-w-
|
|
|
4213
4222
|
], 2);
|
|
4214
4223
|
};
|
|
4215
4224
|
}
|
|
4216
|
-
},
|
|
4225
|
+
}, yn = /* @__PURE__ */ Q(xn, [["__scopeId", "data-v-f586e5b0"]]), wn = { class: "w-full h-screen" }, vn = /* @__PURE__ */ ge({
|
|
4217
4226
|
__name: "vs-editor-page",
|
|
4218
4227
|
props: {
|
|
4219
4228
|
prefix: { default: "/api" },
|
|
@@ -4222,8 +4231,8 @@ const cn = /* @__PURE__ */ Q(Jr, [["render", ln]]), dn = { class: "flex-1 min-w-
|
|
|
4222
4231
|
},
|
|
4223
4232
|
emits: ["back"],
|
|
4224
4233
|
setup(s) {
|
|
4225
|
-
return (e, t) => (
|
|
4226
|
-
T(
|
|
4234
|
+
return (e, t) => (h(), x("div", wn, [
|
|
4235
|
+
T(yn, {
|
|
4227
4236
|
customClass: "h-full w-full",
|
|
4228
4237
|
prefix: s.prefix,
|
|
4229
4238
|
"initial-dashboard-id": s.dashboardId,
|
|
@@ -4232,17 +4241,17 @@ const cn = /* @__PURE__ */ Q(Jr, [["render", ln]]), dn = { class: "flex-1 min-w-
|
|
|
4232
4241
|
}, null, 8, ["prefix", "initial-dashboard-id", "initial-widget-id"])
|
|
4233
4242
|
]));
|
|
4234
4243
|
}
|
|
4235
|
-
}),
|
|
4244
|
+
}), kn = { class: "relative group h-full" }, $n = { class: "flex items-start gap-3 flex-1 min-h-0" }, _n = { class: "p-2 bg-blue-50 rounded-lg group-hover:bg-blue-100 transition-colors shrink-0" }, Dn = { class: "flex-1 min-w-0 flex flex-col min-h-0" }, Cn = { class: "font-semibold text-gray-900 mb-1 truncate" }, zn = {
|
|
4236
4245
|
key: 0,
|
|
4237
4246
|
class: "text-sm text-gray-600 mb-2 line-clamp-2 min-h-10"
|
|
4238
|
-
},
|
|
4247
|
+
}, Tn = {
|
|
4239
4248
|
key: 1,
|
|
4240
4249
|
class: "text-sm text-gray-600 mb-2 line-clamp-2 min-h-10 invisible",
|
|
4241
4250
|
"aria-hidden": "true"
|
|
4242
|
-
},
|
|
4251
|
+
}, In = {
|
|
4243
4252
|
key: 2,
|
|
4244
4253
|
class: "text-sm text-gray-400 mt-1 shrink-0"
|
|
4245
|
-
},
|
|
4254
|
+
}, Sn = {
|
|
4246
4255
|
__name: "dashboard-card",
|
|
4247
4256
|
props: {
|
|
4248
4257
|
title: String,
|
|
@@ -4257,104 +4266,107 @@ const cn = /* @__PURE__ */ Q(Jr, [["render", ln]]), dn = { class: "flex-1 min-w-
|
|
|
4257
4266
|
setup(s) {
|
|
4258
4267
|
const e = s, t = we(), a = I(!1);
|
|
4259
4268
|
function r() {
|
|
4260
|
-
e.dashboardRouteName && (t.hasRoute(
|
|
4261
|
-
name:
|
|
4269
|
+
e.dashboardRouteName && (t.hasRoute(J.EditorDashboard) ? t.push({
|
|
4270
|
+
name: J.EditorDashboard,
|
|
4262
4271
|
params: { dashboardId: e.dashboardRouteName }
|
|
4263
4272
|
}) : e.onOpenEditor ? e.onOpenEditor(e.dashboardRouteName) : t.push({ path: "/editor", query: { dashboard: e.dashboardRouteName } }));
|
|
4264
4273
|
}
|
|
4265
4274
|
function i(n) {
|
|
4266
4275
|
n.target.closest(".dashboard-card-menu") || (a.value = !1);
|
|
4267
4276
|
}
|
|
4268
|
-
return le(() => document.addEventListener("click", i)), Ue(() => document.removeEventListener("click", i)), (n, o) => (
|
|
4269
|
-
|
|
4277
|
+
return le(() => document.addEventListener("click", i)), Ue(() => document.removeEventListener("click", i)), (n, o) => (h(), x("div", kn, [
|
|
4278
|
+
c("button", {
|
|
4270
4279
|
type: "button",
|
|
4271
4280
|
class: "w-full h-full bg-white border border-gray-200 rounded-lg p-6 hover:shadow-md hover:border-blue-200 transition-all text-left animate-fade-in flex flex-col",
|
|
4272
4281
|
onClick: r
|
|
4273
4282
|
}, [
|
|
4274
|
-
|
|
4275
|
-
|
|
4276
|
-
T(
|
|
4283
|
+
c("div", $n, [
|
|
4284
|
+
c("div", _n, [
|
|
4285
|
+
T(N(Vs), {
|
|
4277
4286
|
size: 24,
|
|
4278
4287
|
class: "w-5 h-5 text-blue-600"
|
|
4279
4288
|
})
|
|
4280
4289
|
]),
|
|
4281
|
-
|
|
4282
|
-
|
|
4283
|
-
s.description ? (
|
|
4284
|
-
s.widgetCount != null ? (
|
|
4290
|
+
c("div", Dn, [
|
|
4291
|
+
c("h3", Cn, W(s.title), 1),
|
|
4292
|
+
s.description ? (h(), x("p", zn, W(s.description), 1)) : (h(), x("p", Tn, " ")),
|
|
4293
|
+
s.widgetCount != null ? (h(), x("p", In, W(s.widgetCount) + " віджетів ", 1)) : A("", !0)
|
|
4285
4294
|
])
|
|
4286
4295
|
])
|
|
4287
4296
|
])
|
|
4288
4297
|
]));
|
|
4289
4298
|
}
|
|
4290
|
-
},
|
|
4299
|
+
}, Rn = /* @__PURE__ */ Q(Sn, [["__scopeId", "data-v-716ced89"]]), Vn = [
|
|
4291
4300
|
{ type: "Text", key: "name", label: "Назва", validators: ["required"], original: { type: "Text", ua: "Назва", col: 8 } },
|
|
4292
4301
|
{ type: "Text", key: "title", label: "Заголовок", validators: ["required"], original: { type: "Text", ua: "Титул", col: 8 } },
|
|
4293
4302
|
{ type: "Text", key: "description", label: "Опис", original: { type: "Text", ua: "Назва", col: 8 } },
|
|
4294
4303
|
{ type: "Text", key: "words", label: "Ключові слова", original: { type: "Text", ua: "Назва", col: 8 } },
|
|
4295
|
-
{ type: "
|
|
4304
|
+
{ type: "Select", data: "pg.table_name", key: "table_name", validators: ["required"], label: "Назва", original: { type: "select", ua: "Назва", col: 8, data: "pg.table_name" } },
|
|
4296
4305
|
{ type: "Text", key: "db", label: "База даних", original: { type: "Text", ua: "Назва", col: 8 } },
|
|
4297
4306
|
{ type: "Text", key: "category", label: "Категорія", original: { type: "Text", ua: "Категорія", col: 8 } },
|
|
4298
4307
|
{ type: "Switcher", key: "public", label: "Публічний", original: { type: "Text", ua: "Назва", col: 8 } }
|
|
4299
4308
|
];
|
|
4300
|
-
function
|
|
4309
|
+
function Ln(s) {
|
|
4301
4310
|
return !Array.isArray(s) || s.length === 0 ? {} : s.reduce((e, t) => {
|
|
4302
4311
|
if (!t || t.key == null) return e;
|
|
4303
4312
|
const { key: a, ...r } = t;
|
|
4304
4313
|
return e[a] = r, e;
|
|
4305
4314
|
}, {});
|
|
4306
4315
|
}
|
|
4307
|
-
const
|
|
4316
|
+
const Wn = { class: "flex-1 bg-gray-50" }, Nn = { class: "max-w-7xl mx-auto px-6 py-8" }, En = { class: "mb-6" }, jn = { class: "flex items-center justify-between mb-6" }, Bn = { class: "flex justify-end p-[20px] gap-[10px] border-t w-full" }, On = { class: "flex items-center space-x-4" }, Pn = { class: "flex-1 relative" }, An = { class: "relative" }, Fn = {
|
|
4308
4317
|
key: 0,
|
|
4309
4318
|
class: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"
|
|
4310
|
-
},
|
|
4319
|
+
}, qn = {
|
|
4311
4320
|
key: 1,
|
|
4312
4321
|
class: "flex flex-col items-center justify-center py-20 text-center"
|
|
4313
|
-
},
|
|
4322
|
+
}, Mn = { class: "mt-1 text-sm text-gray-400" }, Un = { class: "font-medium text-gray-500" }, Gn = /* @__PURE__ */ ge({
|
|
4314
4323
|
__name: "all-dashboards-page",
|
|
4315
4324
|
props: {
|
|
4316
4325
|
prefix: {}
|
|
4317
4326
|
},
|
|
4318
4327
|
setup(s) {
|
|
4319
|
-
const e = M(() => import("@opengis/form")), t =
|
|
4320
|
-
const
|
|
4321
|
-
|
|
4328
|
+
const e = M(() => import("@opengis/form")), t = Ln(Vn), a = I([]), r = I([]), i = we(), n = Qt("biSetDashboard", void 0), o = s, l = I(null), d = I(!1), u = I({}), p = I(""), v = I("title-asc"), m = q(() => {
|
|
4329
|
+
const w = p.value.trim().toLowerCase();
|
|
4330
|
+
let $ = a.value;
|
|
4331
|
+
w && ($ = $.filter((g) => g.title.toLowerCase().includes(w)));
|
|
4332
|
+
const _ = v.value === "title-asc" ? 1 : -1;
|
|
4333
|
+
return [...$].sort((g, C) => _ * g.title.localeCompare(C.title, "uk"));
|
|
4322
4334
|
});
|
|
4323
|
-
async function
|
|
4335
|
+
async function b() {
|
|
4324
4336
|
try {
|
|
4325
|
-
const
|
|
4326
|
-
r.value =
|
|
4337
|
+
const w = await H.get("/bi-dashboard?type=db"), $ = Array.isArray(w == null ? void 0 : w.rows) ? w.rows : [];
|
|
4338
|
+
r.value = $, a.value = $.map((_) => ({
|
|
4327
4339
|
routeName: String(_.name ?? ""),
|
|
4328
4340
|
title: _.title ?? _.name ?? "Без назви",
|
|
4329
4341
|
description: _.description ?? null,
|
|
4330
4342
|
modified: "-",
|
|
4331
4343
|
name: "-"
|
|
4332
4344
|
}));
|
|
4333
|
-
} catch (
|
|
4334
|
-
console.error("Failed to load dashboards",
|
|
4345
|
+
} catch (w) {
|
|
4346
|
+
console.error("Failed to load dashboards", w), r.value = [], a.value = [];
|
|
4335
4347
|
}
|
|
4336
4348
|
}
|
|
4337
|
-
async function
|
|
4338
|
-
var
|
|
4339
|
-
const
|
|
4349
|
+
async function k() {
|
|
4350
|
+
var $, _, g;
|
|
4351
|
+
const w = (_ = ($ = me()) == null ? void 0 : $.proxy) == null ? void 0 : _.$notify;
|
|
4340
4352
|
try {
|
|
4341
|
-
const
|
|
4342
|
-
typeof
|
|
4343
|
-
const { name:
|
|
4344
|
-
if (!
|
|
4345
|
-
|
|
4353
|
+
const C = (g = l.value) == null ? void 0 : g.validate();
|
|
4354
|
+
typeof C == "function" && await C();
|
|
4355
|
+
const { name: z, title: R, table_name: F } = u.value;
|
|
4356
|
+
if (!z || !R || !F) {
|
|
4357
|
+
w == null || w({ type: "error", title: "Помилка!", message: "Заповніть усі обов'язкові поля" });
|
|
4346
4358
|
return;
|
|
4347
4359
|
}
|
|
4348
|
-
await H.post("/bi-dashboard", u.value),
|
|
4360
|
+
await H.post("/bi-dashboard", u.value), d.value = !1, u.value = {}, w == null || w({
|
|
4349
4361
|
type: "success",
|
|
4350
4362
|
title: "Успішно!",
|
|
4351
4363
|
message: "Дашборд створено успішно"
|
|
4352
|
-
}), i.hasRoute(
|
|
4353
|
-
name:
|
|
4354
|
-
params: { dashboardId:
|
|
4355
|
-
}) : n ? n(
|
|
4364
|
+
}), i.hasRoute(J.EditorDashboard) ? i.push({
|
|
4365
|
+
name: J.EditorDashboard,
|
|
4366
|
+
params: { dashboardId: z }
|
|
4367
|
+
}) : n ? n(z) : await b();
|
|
4356
4368
|
} catch {
|
|
4357
|
-
|
|
4369
|
+
w == null || w({
|
|
4358
4370
|
type: "error",
|
|
4359
4371
|
title: "Помилка!",
|
|
4360
4372
|
message: "При спробі створити дашборд виникла помилка"
|
|
@@ -4362,119 +4374,134 @@ const En = { class: "flex-1 bg-gray-50" }, jn = { class: "max-w-7xl mx-auto px-6
|
|
|
4362
4374
|
}
|
|
4363
4375
|
}
|
|
4364
4376
|
le(() => {
|
|
4365
|
-
|
|
4377
|
+
He(o.prefix || "/api"), b();
|
|
4366
4378
|
});
|
|
4367
|
-
const
|
|
4368
|
-
const
|
|
4369
|
-
|
|
4379
|
+
const D = I(1), V = () => {
|
|
4380
|
+
const w = window.innerWidth;
|
|
4381
|
+
D.value = w >= 1024 ? 3 : w >= 768 ? 2 : 1;
|
|
4370
4382
|
};
|
|
4371
4383
|
le(() => {
|
|
4372
|
-
|
|
4384
|
+
V(), window.addEventListener("resize", V);
|
|
4373
4385
|
}), Ue(() => {
|
|
4374
|
-
window.removeEventListener("resize",
|
|
4386
|
+
window.removeEventListener("resize", V);
|
|
4375
4387
|
});
|
|
4376
|
-
const
|
|
4377
|
-
const
|
|
4378
|
-
let
|
|
4379
|
-
for (const
|
|
4380
|
-
const
|
|
4381
|
-
if (
|
|
4388
|
+
const y = (w) => w ? w.trim().length > 70 ? 2 : 1 : 0, f = (w) => {
|
|
4389
|
+
const $ = D.value || 1, g = Math.floor(w / $) * $, C = g + $, z = m.value.slice(g, C);
|
|
4390
|
+
let R = 0;
|
|
4391
|
+
for (const F of z) {
|
|
4392
|
+
const Y = y(F.description ?? null);
|
|
4393
|
+
if (Y > R && (R = Y), R === 2) break;
|
|
4382
4394
|
}
|
|
4383
|
-
return
|
|
4395
|
+
return R;
|
|
4384
4396
|
};
|
|
4385
|
-
return I("grid"), (
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
|
|
4390
|
-
|
|
4391
|
-
|
|
4397
|
+
return I("grid"), (w, $) => (h(), x("div", Wn, [
|
|
4398
|
+
c("div", Nn, [
|
|
4399
|
+
c("div", En, [
|
|
4400
|
+
c("div", jn, [
|
|
4401
|
+
$[7] || ($[7] = c("div", null, [
|
|
4402
|
+
c("h1", { class: "text-3xl font-bold text-gray-900" }, "Дашборди"),
|
|
4403
|
+
c("p", { class: "mt-2 text-gray-600" }, " Керуйте та переглядайте свої аналітичні дашборди ")
|
|
4392
4404
|
], -1)),
|
|
4393
|
-
|
|
4405
|
+
c("button", {
|
|
4394
4406
|
type: "button",
|
|
4395
4407
|
class: "flex items-center gap-2 px-4 py-2.5 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors shadow-sm font-medium",
|
|
4396
|
-
onClick:
|
|
4408
|
+
onClick: $[0] || ($[0] = (_) => d.value = !0)
|
|
4397
4409
|
}, [
|
|
4398
|
-
T(
|
|
4410
|
+
T(N(Xt), {
|
|
4399
4411
|
size: 24,
|
|
4400
4412
|
class: "w-4 h-4"
|
|
4401
4413
|
}),
|
|
4402
|
-
|
|
4414
|
+
$[6] || ($[6] = c("span", null, "Новий дашборд", -1))
|
|
4403
4415
|
])
|
|
4404
4416
|
]),
|
|
4405
4417
|
T(Ve, {
|
|
4406
4418
|
teleport: "#modal",
|
|
4407
|
-
visible:
|
|
4419
|
+
visible: d.value,
|
|
4408
4420
|
title: "Створити дашборд",
|
|
4409
|
-
onClose:
|
|
4421
|
+
onClose: $[3] || ($[3] = (_) => d.value = !1)
|
|
4410
4422
|
}, {
|
|
4411
4423
|
footer: j(() => [
|
|
4412
|
-
|
|
4413
|
-
|
|
4424
|
+
c("div", Bn, [
|
|
4425
|
+
c("button", {
|
|
4414
4426
|
type: "button",
|
|
4415
4427
|
class: "py-2 px-3 inline-flex items-center gap-x-2 text-sm whitespace-nowrap text-black border border-gray-200 rounded-lg hover:bg-gray-100 duration-300",
|
|
4416
|
-
onClick:
|
|
4428
|
+
onClick: $[2] || ($[2] = (_) => d.value = !1)
|
|
4417
4429
|
}, " Скасувати "),
|
|
4418
|
-
|
|
4430
|
+
c("button", {
|
|
4419
4431
|
type: "button",
|
|
4420
4432
|
class: "py-2 px-3 inline-flex items-center gap-x-2 text-[14px] font-[400] whitespace-nowrap text-white bg-blue-500 rounded-lg hover:bg-blue-700 duration-300",
|
|
4421
|
-
onClick:
|
|
4433
|
+
onClick: k
|
|
4422
4434
|
}, " Зберегти ")
|
|
4423
4435
|
])
|
|
4424
4436
|
]),
|
|
4425
4437
|
default: j(() => [
|
|
4426
|
-
T(
|
|
4438
|
+
T(N(e), {
|
|
4427
4439
|
ref_key: "createFormRef",
|
|
4428
4440
|
ref: l,
|
|
4429
|
-
schema:
|
|
4441
|
+
schema: N(t),
|
|
4430
4442
|
values: u.value,
|
|
4431
|
-
"onUpdate:values":
|
|
4443
|
+
"onUpdate:values": $[1] || ($[1] = (_) => u.value = _)
|
|
4432
4444
|
}, null, 8, ["schema", "values"])
|
|
4433
4445
|
]),
|
|
4434
4446
|
_: 1
|
|
4435
4447
|
}, 8, ["visible"]),
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
T(
|
|
4448
|
+
c("div", On, [
|
|
4449
|
+
c("div", Pn, [
|
|
4450
|
+
T(N(Wt), {
|
|
4439
4451
|
size: 24,
|
|
4440
4452
|
class: "absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"
|
|
4441
4453
|
}),
|
|
4442
|
-
|
|
4443
|
-
"onUpdate:modelValue":
|
|
4454
|
+
et(c("input", {
|
|
4455
|
+
"onUpdate:modelValue": $[4] || ($[4] = (_) => p.value = _),
|
|
4444
4456
|
type: "text",
|
|
4445
4457
|
placeholder: "Пошук дашбордів...",
|
|
4446
4458
|
class: "w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500"
|
|
4447
4459
|
}, null, 512), [
|
|
4448
|
-
[
|
|
4460
|
+
[xs, p.value]
|
|
4449
4461
|
])
|
|
4462
|
+
]),
|
|
4463
|
+
c("div", An, [
|
|
4464
|
+
et(c("select", {
|
|
4465
|
+
"onUpdate:modelValue": $[5] || ($[5] = (_) => v.value = _),
|
|
4466
|
+
class: "appearance-none pl-3 pr-8 py-2 border border-gray-300 rounded-lg bg-white text-sm text-gray-700 cursor-pointer focus:outline-none focus:ring-2 focus:ring-blue-500"
|
|
4467
|
+
}, [...$[8] || ($[8] = [
|
|
4468
|
+
c("option", { value: "title-asc" }, "Назва (А → Я)", -1),
|
|
4469
|
+
c("option", { value: "title-desc" }, "Назва (Я → А)", -1)
|
|
4470
|
+
])], 512), [
|
|
4471
|
+
[ys, v.value]
|
|
4472
|
+
]),
|
|
4473
|
+
T(N(zs), {
|
|
4474
|
+
size: 16,
|
|
4475
|
+
class: "absolute right-2.5 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"
|
|
4476
|
+
})
|
|
4450
4477
|
])
|
|
4451
4478
|
])
|
|
4452
4479
|
]),
|
|
4453
|
-
|
|
4454
|
-
(
|
|
4480
|
+
m.value.length ? (h(), x("div", Fn, [
|
|
4481
|
+
(h(!0), x(U, null, Z(m.value, (_, g) => (h(), x("div", {
|
|
4455
4482
|
key: _.routeName,
|
|
4456
4483
|
class: "cursor-pointer h-full"
|
|
4457
4484
|
}, [
|
|
4458
|
-
T(
|
|
4485
|
+
T(Rn, {
|
|
4459
4486
|
title: _.title,
|
|
4460
4487
|
description: _.description,
|
|
4461
4488
|
modified: _.modified,
|
|
4462
4489
|
name: _.name,
|
|
4463
|
-
reserveLines:
|
|
4490
|
+
reserveLines: f(g),
|
|
4464
4491
|
"dashboard-route-name": _.routeName,
|
|
4465
|
-
"on-open-editor":
|
|
4492
|
+
"on-open-editor": N(n)
|
|
4466
4493
|
}, null, 8, ["title", "description", "modified", "name", "reserveLines", "dashboard-route-name", "on-open-editor"])
|
|
4467
4494
|
]))), 128))
|
|
4468
|
-
])) : (
|
|
4469
|
-
T(
|
|
4495
|
+
])) : (h(), x("div", qn, [
|
|
4496
|
+
T(N(Wt), {
|
|
4470
4497
|
size: 48,
|
|
4471
4498
|
class: "text-gray-300 mb-4"
|
|
4472
4499
|
}),
|
|
4473
|
-
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
|
|
4500
|
+
$[11] || ($[11] = c("p", { class: "text-lg font-medium text-gray-500" }, "Дашбордів не знайдено", -1)),
|
|
4501
|
+
c("p", Mn, [
|
|
4502
|
+
$[9] || ($[9] = X(" За запитом «", -1)),
|
|
4503
|
+
c("span", Un, W(p.value), 1),
|
|
4504
|
+
$[10] || ($[10] = X("» нічого не знайдено. Спробуйте змінити пошуковий запит. ", -1))
|
|
4478
4505
|
])
|
|
4479
4506
|
]))
|
|
4480
4507
|
])
|
|
@@ -4486,30 +4513,30 @@ const En = { class: "flex-1 bg-gray-50" }, jn = { class: "max-w-7xl mx-auto px-6
|
|
|
4486
4513
|
prefix: { default: "/api" }
|
|
4487
4514
|
},
|
|
4488
4515
|
setup(s) {
|
|
4489
|
-
const e = s, t =
|
|
4490
|
-
() => a.hasRoute(
|
|
4516
|
+
const e = s, t = q(() => e.prefix), a = we(), r = vs(), i = q(
|
|
4517
|
+
() => a.hasRoute(J.EditorDashboard)
|
|
4491
4518
|
), n = I("");
|
|
4492
4519
|
le(() => {
|
|
4493
4520
|
var l;
|
|
4494
4521
|
if (!i.value) {
|
|
4495
|
-
const
|
|
4496
|
-
|
|
4522
|
+
const d = (l = r == null ? void 0 : r.query) == null ? void 0 : l.dashboard;
|
|
4523
|
+
d != null && typeof d == "string" && (n.value = d.trim());
|
|
4497
4524
|
}
|
|
4498
4525
|
});
|
|
4499
|
-
const o =
|
|
4500
|
-
return
|
|
4526
|
+
const o = q(() => n.value.length > 0);
|
|
4527
|
+
return Qe("biSetDashboard", (l) => {
|
|
4501
4528
|
n.value = l || "";
|
|
4502
|
-
}),
|
|
4529
|
+
}), Qe("biClearDashboard", () => {
|
|
4503
4530
|
n.value = "";
|
|
4504
|
-
}),
|
|
4505
|
-
const u =
|
|
4506
|
-
return i.value ? (
|
|
4507
|
-
o.value ? (
|
|
4531
|
+
}), Qe("biSelectedDashboardId", ws(n)), (l, d) => {
|
|
4532
|
+
const u = K("router-view");
|
|
4533
|
+
return i.value ? (h(), E(u, { key: 0 })) : (h(), x(U, { key: 1 }, [
|
|
4534
|
+
o.value ? (h(), E(vn, {
|
|
4508
4535
|
key: `editor-${n.value}`,
|
|
4509
4536
|
prefix: t.value,
|
|
4510
4537
|
"dashboard-id": n.value,
|
|
4511
|
-
onBack:
|
|
4512
|
-
}, null, 8, ["prefix", "dashboard-id"])) : (
|
|
4538
|
+
onBack: d[0] || (d[0] = (p) => n.value = "")
|
|
4539
|
+
}, null, 8, ["prefix", "dashboard-id"])) : (h(), E(Gn, {
|
|
4513
4540
|
key: 0,
|
|
4514
4541
|
prefix: t.value
|
|
4515
4542
|
}, null, 8, ["prefix"]))
|
|
@@ -4517,13 +4544,13 @@ const En = { class: "flex-1 bg-gray-50" }, jn = { class: "max-w-7xl mx-auto px-6
|
|
|
4517
4544
|
};
|
|
4518
4545
|
}
|
|
4519
4546
|
});
|
|
4520
|
-
function
|
|
4547
|
+
function de(s, e) {
|
|
4521
4548
|
const t = s && typeof s == "object" && "value" in s ? s.value : s;
|
|
4522
4549
|
if (t == null) return "";
|
|
4523
4550
|
const a = Number(t);
|
|
4524
4551
|
return Number.isNaN(a) ? String(t) : new Intl.NumberFormat("en", e ?? { notation: "compact" }).format(a);
|
|
4525
4552
|
}
|
|
4526
|
-
function
|
|
4553
|
+
function dt(s) {
|
|
4527
4554
|
if (!(s != null && s.includes("T"))) return s ?? "";
|
|
4528
4555
|
const [e, t, a] = s.split("T")[0].split("-");
|
|
4529
4556
|
return `${a}.${t}.${e}`;
|
|
@@ -4531,7 +4558,7 @@ function ct(s) {
|
|
|
4531
4558
|
function $o(s) {
|
|
4532
4559
|
return Intl.NumberFormat("en").format(s ?? 0);
|
|
4533
4560
|
}
|
|
4534
|
-
class
|
|
4561
|
+
class Hn {
|
|
4535
4562
|
static getTooltipOptions(e = !0) {
|
|
4536
4563
|
return {
|
|
4537
4564
|
show: e,
|
|
@@ -4546,7 +4573,7 @@ class Zn {
|
|
|
4546
4573
|
};
|
|
4547
4574
|
}
|
|
4548
4575
|
}
|
|
4549
|
-
const
|
|
4576
|
+
const Zn = {
|
|
4550
4577
|
show_label: !1,
|
|
4551
4578
|
show_legend: !1,
|
|
4552
4579
|
label: null,
|
|
@@ -4555,19 +4582,19 @@ const Qn = {
|
|
|
4555
4582
|
color: null,
|
|
4556
4583
|
title: null
|
|
4557
4584
|
};
|
|
4558
|
-
function
|
|
4585
|
+
function Qn() {
|
|
4559
4586
|
const s = "0123456789ABCDEF";
|
|
4560
4587
|
let e = "#";
|
|
4561
4588
|
for (let t = 0; t < 6; t += 1)
|
|
4562
4589
|
e += s[Math.floor(Math.random() * 16)];
|
|
4563
4590
|
return e;
|
|
4564
4591
|
}
|
|
4565
|
-
function Le(s =
|
|
4592
|
+
function Le(s = Zn) {
|
|
4566
4593
|
var t, a, r;
|
|
4567
4594
|
const e = {
|
|
4568
4595
|
label: {
|
|
4569
4596
|
show: ((t = s == null ? void 0 : s.label) == null ? void 0 : t.show) ?? (s == null ? void 0 : s.show_label) ?? !1,
|
|
4570
|
-
formatter: (s == null ? void 0 : s.formatter) ?? ((i) =>
|
|
4597
|
+
formatter: (s == null ? void 0 : s.formatter) ?? ((i) => de(i)),
|
|
4571
4598
|
...(s == null ? void 0 : s.label) || {}
|
|
4572
4599
|
},
|
|
4573
4600
|
legend: {
|
|
@@ -4589,7 +4616,7 @@ function Mt(s) {
|
|
|
4589
4616
|
fontWeight: 400,
|
|
4590
4617
|
label: s == null ? void 0 : s.label,
|
|
4591
4618
|
show: !0,
|
|
4592
|
-
formatter: (s == null ? void 0 : s.formatter) ?? ((e) =>
|
|
4619
|
+
formatter: (s == null ? void 0 : s.formatter) ?? ((e) => de(e)),
|
|
4593
4620
|
margin: (s == null ? void 0 : s.margin) ?? 7,
|
|
4594
4621
|
interval: (s == null ? void 0 : s.interval) ?? "auto",
|
|
4595
4622
|
rotate: (s == null ? void 0 : s.rotate) ?? 0
|
|
@@ -4727,11 +4754,11 @@ const ye = typeof window < "u" ? window.echarts : null, pe = {
|
|
|
4727
4754
|
}
|
|
4728
4755
|
},
|
|
4729
4756
|
async initChart(s, e, t) {
|
|
4730
|
-
var a, r, i, n, o, l,
|
|
4757
|
+
var a, r, i, n, o, l, d, u, p;
|
|
4731
4758
|
this.widgetInstance && this.widgetInstance.clear();
|
|
4732
4759
|
try {
|
|
4733
|
-
const v = this.$refs.chart,
|
|
4734
|
-
if (!
|
|
4760
|
+
const v = this.$refs.chart, m = ye == null ? void 0 : ye.init(v);
|
|
4761
|
+
if (!m) return;
|
|
4735
4762
|
const b = {
|
|
4736
4763
|
tooltip: {
|
|
4737
4764
|
show: ((r = (a = this.styleData) == null ? void 0 : a.tooltip) == null ? void 0 : r.show) !== !1,
|
|
@@ -4743,29 +4770,29 @@ const ye = typeof window < "u" ? window.echarts : null, pe = {
|
|
|
4743
4770
|
shadowColor: "transparent",
|
|
4744
4771
|
padding: [0, 0, 0, 0],
|
|
4745
4772
|
borderWidth: 0,
|
|
4746
|
-
position: (k,
|
|
4747
|
-
const [
|
|
4748
|
-
let R =
|
|
4749
|
-
return R +
|
|
4773
|
+
position: (k, D, V, y, f) => {
|
|
4774
|
+
const [w, $] = k, [_, g] = f.contentSize, [C, z] = f.viewSize;
|
|
4775
|
+
let R = w + 14, F = $ - g / 2;
|
|
4776
|
+
return R + _ > C && (R = w - _ - 14), R < 0 && (R = 0), F + g > z && (F = z - g), F < 0 && (F = 0), [R, F];
|
|
4750
4777
|
},
|
|
4751
4778
|
formatter: (k) => {
|
|
4752
|
-
var
|
|
4753
|
-
const V = (
|
|
4779
|
+
var g;
|
|
4780
|
+
const V = (g = k[0]) == null ? void 0 : g.axisValue, y = V ? this.formatDate(V) : "N/A", f = [...k].filter((C) => {
|
|
4754
4781
|
var z;
|
|
4755
4782
|
return parseFloat(C == null ? void 0 : C.data) || ((z = C == null ? void 0 : C.data) == null ? void 0 : z.value);
|
|
4756
4783
|
}).sort((C, z) => {
|
|
4757
|
-
var
|
|
4758
|
-
const R = parseFloat(((
|
|
4784
|
+
var Y, ie;
|
|
4785
|
+
const R = parseFloat(((Y = C == null ? void 0 : C.data) == null ? void 0 : Y.value) ?? (C == null ? void 0 : C.data)) || 0;
|
|
4759
4786
|
return (parseFloat(((ie = z == null ? void 0 : z.data) == null ? void 0 : ie.value) ?? (z == null ? void 0 : z.data)) || 0) - R;
|
|
4760
|
-
}),
|
|
4761
|
-
let
|
|
4787
|
+
}), w = f.slice(0, 8), $ = f.length - w.length;
|
|
4788
|
+
let _ = `
|
|
4762
4789
|
<div style="background-color: rgba(255, 255, 255, 0.95)" class="border border-gray-200 text-gray-800 rounded-lg shadow-md dark:bg-neutral-800 dark:border-neutral-700 min-w-28">
|
|
4763
4790
|
<div class="font-semibold text-sm border-b border-solid border-gray-200 text-gray-800 rounded-t-lg dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-200 px-2 py-1">
|
|
4764
|
-
${
|
|
4791
|
+
${y}
|
|
4765
4792
|
</div>
|
|
4766
4793
|
`;
|
|
4767
|
-
return
|
|
4768
|
-
|
|
4794
|
+
return w.forEach((C) => {
|
|
4795
|
+
_ += `
|
|
4769
4796
|
<div class="flex justify-between items-center text-xs px-2 py-0.5 text-gray-500 dark:text-neutral-400">
|
|
4770
4797
|
<span class="flex items-center">
|
|
4771
4798
|
<span class="w-2.5 h-2.5 me-1.5 rounded-sm" style="background-color: ${C.color};"></span>
|
|
@@ -4774,10 +4801,10 @@ const ye = typeof window < "u" ? window.echarts : null, pe = {
|
|
|
4774
4801
|
<span>${this.getMetricValue(C == null ? void 0 : C.data)}</span>
|
|
4775
4802
|
</div>
|
|
4776
4803
|
`;
|
|
4777
|
-
}),
|
|
4804
|
+
}), $ > 0 && (_ += `
|
|
4778
4805
|
<div class="text-xs px-2 py-0.5 text-gray-400 dark:text-neutral-500">
|
|
4779
|
-
... ще ${
|
|
4780
|
-
</div>`),
|
|
4806
|
+
... ще ${$}
|
|
4807
|
+
</div>`), _ += "</div>", _;
|
|
4781
4808
|
}
|
|
4782
4809
|
},
|
|
4783
4810
|
xAxis: {
|
|
@@ -4787,16 +4814,16 @@ const ye = typeof window < "u" ? window.echarts : null, pe = {
|
|
|
4787
4814
|
axisLabel: {
|
|
4788
4815
|
...Mt((o = this.styleData) == null ? void 0 : o.x_axis),
|
|
4789
4816
|
formatter: (k) => {
|
|
4790
|
-
var V,
|
|
4791
|
-
const
|
|
4792
|
-
return ((
|
|
4817
|
+
var V, y;
|
|
4818
|
+
const D = this.formatDate(k);
|
|
4819
|
+
return ((y = (V = this.styleData) == null ? void 0 : V.x_axis) == null ? void 0 : y.overflow) === "ellipsis" && D.length > 10 ? `${D.slice(0, 10)}...` : D;
|
|
4793
4820
|
}
|
|
4794
4821
|
}
|
|
4795
4822
|
},
|
|
4796
4823
|
yAxis: {
|
|
4797
4824
|
data: t != null && t.length ? t : null,
|
|
4798
4825
|
type: t ? "category" : "value",
|
|
4799
|
-
name: ((
|
|
4826
|
+
name: ((d = (l = this.styleData) == null ? void 0 : l.y_axis) == null ? void 0 : d.name) || "",
|
|
4800
4827
|
axisLabel: Mt((u = this.styleData) == null ? void 0 : u.y_axis)
|
|
4801
4828
|
},
|
|
4802
4829
|
series: s != null && s.length ? s : null,
|
|
@@ -4807,10 +4834,10 @@ const ye = typeof window < "u" ? window.echarts : null, pe = {
|
|
|
4807
4834
|
left: "0%",
|
|
4808
4835
|
top: "20px",
|
|
4809
4836
|
containLabel: !0,
|
|
4810
|
-
...((
|
|
4837
|
+
...((p = this.styleData) == null ? void 0 : p.grid) || {}
|
|
4811
4838
|
}
|
|
4812
4839
|
};
|
|
4813
|
-
await
|
|
4840
|
+
await m.setOption(b), m.resize(), this.widgetInstance = m, this.$emit("update:currentWidget", m);
|
|
4814
4841
|
} catch (v) {
|
|
4815
4842
|
console.error(v);
|
|
4816
4843
|
}
|
|
@@ -4835,7 +4862,7 @@ const ye = typeof window < "u" ? window.echarts : null, pe = {
|
|
|
4835
4862
|
...r,
|
|
4836
4863
|
...e.options,
|
|
4837
4864
|
tooltip: {
|
|
4838
|
-
...
|
|
4865
|
+
...Hn.getTooltipOptions(e.options.tooltip.show)
|
|
4839
4866
|
}
|
|
4840
4867
|
});
|
|
4841
4868
|
},
|
|
@@ -4858,13 +4885,13 @@ const ye = typeof window < "u" ? window.echarts : null, pe = {
|
|
|
4858
4885
|
getMetricValue(s) {
|
|
4859
4886
|
var a;
|
|
4860
4887
|
const e = (s == null ? void 0 : s.metric) || s;
|
|
4861
|
-
return parseFloat(e) ? (a =
|
|
4888
|
+
return parseFloat(e) ? (a = de(e, { notation: "standard" })) == null ? void 0 : a.replaceAll(
|
|
4862
4889
|
",",
|
|
4863
4890
|
" "
|
|
4864
4891
|
) : e;
|
|
4865
4892
|
}
|
|
4866
4893
|
}
|
|
4867
|
-
},
|
|
4894
|
+
}, Xn = {
|
|
4868
4895
|
name: "VsBar",
|
|
4869
4896
|
mixins: [pe],
|
|
4870
4897
|
data() {
|
|
@@ -4912,19 +4939,19 @@ const ye = typeof window < "u" ? window.echarts : null, pe = {
|
|
|
4912
4939
|
)
|
|
4913
4940
|
);
|
|
4914
4941
|
let o;
|
|
4915
|
-
this.dimensions[0].includes("date") ? o = n.map((v) =>
|
|
4916
|
-
let l,
|
|
4917
|
-
((e = this.styleData) == null ? void 0 : e.horizontal) === !0 ?
|
|
4942
|
+
this.dimensions[0].includes("date") ? o = n.map((v) => dt(v)) : o = [...n];
|
|
4943
|
+
let l, d;
|
|
4944
|
+
((e = this.styleData) == null ? void 0 : e.horizontal) === !0 ? d = [...o] : l = [...o];
|
|
4918
4945
|
const u = this.sourceData.filter(
|
|
4919
4946
|
(v) => parseFloat(v[this.dimensions[1]]) && v[this.dimensions[0]]
|
|
4920
4947
|
).map((v) => parseFloat(v[this.dimensions[1]]));
|
|
4921
|
-
let
|
|
4922
|
-
return ((t = this.styleData) == null ? void 0 : t.stack) !== !1 ?
|
|
4923
|
-
name:
|
|
4948
|
+
let p;
|
|
4949
|
+
return ((t = this.styleData) == null ? void 0 : t.stack) !== !1 ? p = this.prepareStackData() : ((a = this.styleData) == null ? void 0 : a.negative_waterfall) === !0 ? p = this.prepareNegativeWaterfall() : ((r = this.styleData) == null ? void 0 : r.waterfall) === !0 ? p = this.prepareWaterfallData(u) : ((i = this.styleData) == null ? void 0 : i.accumulative) === !0 ? p = this.prepareAccumulative(u) : p = this.dimensions.slice(1).map((m, b) => ({
|
|
4950
|
+
name: m,
|
|
4924
4951
|
type: "bar",
|
|
4925
4952
|
stack: `a${b}`,
|
|
4926
|
-
data: this.sourceData.filter((k) => parseFloat(k[
|
|
4927
|
-
})), { series:
|
|
4953
|
+
data: this.sourceData.filter((k) => parseFloat(k[m]) && m).map((k) => parseFloat(k[m]))
|
|
4954
|
+
})), { series: p, xs: l, ys: d };
|
|
4928
4955
|
} catch (n) {
|
|
4929
4956
|
return console.error(n), { series: [], xs: [], ys: [] };
|
|
4930
4957
|
}
|
|
@@ -5018,16 +5045,16 @@ const ye = typeof window < "u" ? window.echarts : null, pe = {
|
|
|
5018
5045
|
}
|
|
5019
5046
|
}, Yn = ["id"];
|
|
5020
5047
|
function Jn(s, e, t, a, r, i) {
|
|
5021
|
-
return
|
|
5048
|
+
return h(), x("div", {
|
|
5022
5049
|
id: i.uniqueID,
|
|
5023
5050
|
ref: "chart",
|
|
5024
5051
|
class: "h-full w-full min-h-[200px]"
|
|
5025
5052
|
}, null, 8, Yn);
|
|
5026
5053
|
}
|
|
5027
|
-
const
|
|
5054
|
+
const Kn = /* @__PURE__ */ Q(Xn, [["render", Jn]]), ei = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5028
5055
|
__proto__: null,
|
|
5029
|
-
default:
|
|
5030
|
-
}, Symbol.toStringTag, { value: "Module" })), Ye = typeof window < "u" ? window.echarts : null,
|
|
5056
|
+
default: Kn
|
|
5057
|
+
}, Symbol.toStringTag, { value: "Module" })), Ye = typeof window < "u" ? window.echarts : null, ti = {
|
|
5031
5058
|
name: "VsPie",
|
|
5032
5059
|
props: ["currentWidget"],
|
|
5033
5060
|
mixins: [pe],
|
|
@@ -5074,7 +5101,7 @@ const ei = /* @__PURE__ */ Q(Kn, [["render", Jn]]), ti = /* @__PURE__ */ Object.
|
|
|
5074
5101
|
const { name: t, value: a, percent: r } = s;
|
|
5075
5102
|
return `
|
|
5076
5103
|
<div style="background-color:${e[0]}; font-size:12px; font-family:Helvetica, Arial, sans-serif; color:#ffff; padding:5px; border-radius:5px;">
|
|
5077
|
-
${t == null ? void 0 : t.replace("null", "Не визначено")}: ${
|
|
5104
|
+
${t == null ? void 0 : t.replace("null", "Не визначено")}: ${de(a)} (${r}%)
|
|
5078
5105
|
</div>`;
|
|
5079
5106
|
},
|
|
5080
5107
|
prepareData() {
|
|
@@ -5096,13 +5123,13 @@ const ei = /* @__PURE__ */ Q(Kn, [["render", Jn]]), ti = /* @__PURE__ */ Object.
|
|
|
5096
5123
|
0
|
|
5097
5124
|
),
|
|
5098
5125
|
10
|
|
5099
|
-
),
|
|
5100
|
-
const
|
|
5126
|
+
), d = n.map((b, k) => {
|
|
5127
|
+
const D = (o[k] / l * 100).toFixed(2);
|
|
5101
5128
|
return {
|
|
5102
|
-
name: `${b} (${
|
|
5129
|
+
name: `${b} (${D}%)`,
|
|
5103
5130
|
value: o[k]
|
|
5104
5131
|
};
|
|
5105
|
-
}), u = ((e = this.styleData) == null ? void 0 : e.innerRadius) || "80%",
|
|
5132
|
+
}), u = ((e = this.styleData) == null ? void 0 : e.innerRadius) || "80%", p = ((t = this.styleData) == null ? void 0 : t.outerRadius) || "100%", v = [u, p];
|
|
5106
5133
|
return this.styleData.legend = Me.getLegendOpions({
|
|
5107
5134
|
borderRadius: 10,
|
|
5108
5135
|
height: "100%",
|
|
@@ -5126,7 +5153,7 @@ const ei = /* @__PURE__ */ Q(Kn, [["render", Jn]]), ti = /* @__PURE__ */ Object.
|
|
|
5126
5153
|
center: ["50%", "60%"],
|
|
5127
5154
|
height: "75%",
|
|
5128
5155
|
...Le(this.styleData),
|
|
5129
|
-
data:
|
|
5156
|
+
data: d
|
|
5130
5157
|
}
|
|
5131
5158
|
] };
|
|
5132
5159
|
} catch (n) {
|
|
@@ -5169,7 +5196,7 @@ const ei = /* @__PURE__ */ Q(Kn, [["render", Jn]]), ti = /* @__PURE__ */ Object.
|
|
|
5169
5196
|
series: s,
|
|
5170
5197
|
...Le(this.styleData || {}),
|
|
5171
5198
|
title: {
|
|
5172
|
-
text:
|
|
5199
|
+
text: de(r),
|
|
5173
5200
|
left: "center",
|
|
5174
5201
|
top: "41%",
|
|
5175
5202
|
textStyle: {
|
|
@@ -5188,18 +5215,18 @@ const ei = /* @__PURE__ */ Q(Kn, [["render", Jn]]), ti = /* @__PURE__ */ Object.
|
|
|
5188
5215
|
}
|
|
5189
5216
|
}
|
|
5190
5217
|
}
|
|
5191
|
-
},
|
|
5192
|
-
function
|
|
5193
|
-
return
|
|
5218
|
+
}, si = ["id"];
|
|
5219
|
+
function ai(s, e, t, a, r, i) {
|
|
5220
|
+
return h(), x("div", {
|
|
5194
5221
|
id: i.uniqueID,
|
|
5195
5222
|
ref: "chart",
|
|
5196
5223
|
class: "h-full min-h-[200px] flex items-center"
|
|
5197
|
-
}, null, 8,
|
|
5224
|
+
}, null, 8, si);
|
|
5198
5225
|
}
|
|
5199
|
-
const
|
|
5226
|
+
const ri = /* @__PURE__ */ Q(ti, [["render", ai]]), ni = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5200
5227
|
__proto__: null,
|
|
5201
|
-
default:
|
|
5202
|
-
}, Symbol.toStringTag, { value: "Module" })), Je = typeof window < "u" ? window.echarts : null,
|
|
5228
|
+
default: ri
|
|
5229
|
+
}, Symbol.toStringTag, { value: "Module" })), Je = typeof window < "u" ? window.echarts : null, ii = {
|
|
5203
5230
|
name: "VsPie",
|
|
5204
5231
|
props: ["currentWidget"],
|
|
5205
5232
|
mixins: [pe],
|
|
@@ -5246,7 +5273,7 @@ const ni = /* @__PURE__ */ Q(si, [["render", ri]]), ii = /* @__PURE__ */ Object.
|
|
|
5246
5273
|
const { name: t, value: a, percent: r } = s;
|
|
5247
5274
|
return `
|
|
5248
5275
|
<div style="background-color:${e[0]}; font-size:12px; font-family:Helvetica, Arial, sans-serif; color:#ffff; padding:5px; border-radius:5px;">
|
|
5249
|
-
${t == null ? void 0 : t.replace("null", "Не визначено")}: ${
|
|
5276
|
+
${t == null ? void 0 : t.replace("null", "Не визначено")}: ${de(a)} (${r}%)
|
|
5250
5277
|
</div>`;
|
|
5251
5278
|
},
|
|
5252
5279
|
prepareData() {
|
|
@@ -5255,25 +5282,25 @@ const ni = /* @__PURE__ */ Q(si, [["render", ri]]), ii = /* @__PURE__ */ Object.
|
|
|
5255
5282
|
this.styleData = this.styleData || {};
|
|
5256
5283
|
const i = Array.from(
|
|
5257
5284
|
new Set(
|
|
5258
|
-
(this.sourceData || []).map((
|
|
5285
|
+
(this.sourceData || []).map((m) => m[this.dimensions[0]])
|
|
5259
5286
|
)
|
|
5260
5287
|
), n = Array.from(
|
|
5261
5288
|
new Set(
|
|
5262
|
-
(this.sourceData || []).map((
|
|
5289
|
+
(this.sourceData || []).map((m) => m[this.dimensions[1]])
|
|
5263
5290
|
)
|
|
5264
5291
|
), o = parseInt(
|
|
5265
5292
|
(this.sourceData || []).reduce(
|
|
5266
|
-
(
|
|
5293
|
+
(m, b) => m + parseFloat(b == null ? void 0 : b.metric),
|
|
5267
5294
|
0
|
|
5268
5295
|
),
|
|
5269
5296
|
10
|
|
5270
|
-
), l = i.map((
|
|
5297
|
+
), l = i.map((m, b) => {
|
|
5271
5298
|
const k = (n[b] / o * 100).toFixed(2);
|
|
5272
5299
|
return {
|
|
5273
|
-
name: `${
|
|
5300
|
+
name: `${m} (${k}%)`,
|
|
5274
5301
|
value: n[b]
|
|
5275
5302
|
};
|
|
5276
|
-
}),
|
|
5303
|
+
}), d = ((s = this.styleData) == null ? void 0 : s.innerRadius) || "0%", u = ((e = this.styleData) == null ? void 0 : e.outerRadius) || "100%", p = [d, u];
|
|
5277
5304
|
return this.styleData.legend = Me.getLegendOpions({
|
|
5278
5305
|
borderRadius: 10,
|
|
5279
5306
|
height: "100%",
|
|
@@ -5281,7 +5308,7 @@ const ni = /* @__PURE__ */ Q(si, [["render", ri]]), ii = /* @__PURE__ */ Object.
|
|
|
5281
5308
|
type: "scroll",
|
|
5282
5309
|
itemWidth: 14,
|
|
5283
5310
|
itemHeight: 14,
|
|
5284
|
-
formatter: (
|
|
5311
|
+
formatter: (m) => m == null ? void 0 : m.replace("null", "Не визначено"),
|
|
5285
5312
|
textStyle: { fontSize: "14px" },
|
|
5286
5313
|
...((t = this.styleData) == null ? void 0 : t.legend) || {}
|
|
5287
5314
|
}), this.styleData.label = Me.getLabelOptions(
|
|
@@ -5290,7 +5317,7 @@ const ni = /* @__PURE__ */ Q(si, [["render", ri]]), ii = /* @__PURE__ */ Object.
|
|
|
5290
5317
|
{
|
|
5291
5318
|
name: this.titleCharts ? this.titleCharts : this.dimensions[0],
|
|
5292
5319
|
type: "pie",
|
|
5293
|
-
radius:
|
|
5320
|
+
radius: p,
|
|
5294
5321
|
center: ["50%", "60%"],
|
|
5295
5322
|
height: "75%",
|
|
5296
5323
|
...Le(this.styleData),
|
|
@@ -5340,18 +5367,18 @@ const ni = /* @__PURE__ */ Q(si, [["render", ri]]), ii = /* @__PURE__ */ Object.
|
|
|
5340
5367
|
}
|
|
5341
5368
|
}
|
|
5342
5369
|
}
|
|
5343
|
-
},
|
|
5344
|
-
function
|
|
5345
|
-
return
|
|
5370
|
+
}, oi = ["id"];
|
|
5371
|
+
function li(s, e, t, a, r, i) {
|
|
5372
|
+
return h(), x("div", {
|
|
5346
5373
|
id: i.uniqueID,
|
|
5347
5374
|
ref: "chart",
|
|
5348
5375
|
class: "h-full min-h-[200px] flex items-center"
|
|
5349
|
-
}, null, 8,
|
|
5376
|
+
}, null, 8, oi);
|
|
5350
5377
|
}
|
|
5351
|
-
const di = /* @__PURE__ */ Q(
|
|
5378
|
+
const di = /* @__PURE__ */ Q(ii, [["render", li]]), ci = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5352
5379
|
__proto__: null,
|
|
5353
5380
|
default: di
|
|
5354
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
5381
|
+
}, Symbol.toStringTag, { value: "Module" })), ui = {
|
|
5355
5382
|
name: "VsLine",
|
|
5356
5383
|
mixins: [pe],
|
|
5357
5384
|
data() {
|
|
@@ -5383,7 +5410,7 @@ const di = /* @__PURE__ */ Q(oi, [["render", ci]]), ui = /* @__PURE__ */ Object.
|
|
|
5383
5410
|
new Set(this.sourceData.map((n) => n[this.dimensions[0]]))
|
|
5384
5411
|
);
|
|
5385
5412
|
let a;
|
|
5386
|
-
this.dimensions[0].includes("date") ? a = t.map((n) =>
|
|
5413
|
+
this.dimensions[0].includes("date") ? a = t.map((n) => dt(n)) : a = [...t];
|
|
5387
5414
|
const r = this.sourceData.map(
|
|
5388
5415
|
(n) => parseFloat(n[this.dimensions[1]])
|
|
5389
5416
|
);
|
|
@@ -5408,18 +5435,18 @@ const di = /* @__PURE__ */ Q(oi, [["render", ci]]), ui = /* @__PURE__ */ Object.
|
|
|
5408
5435
|
}
|
|
5409
5436
|
}
|
|
5410
5437
|
}
|
|
5411
|
-
},
|
|
5412
|
-
function
|
|
5413
|
-
return
|
|
5438
|
+
}, hi = ["id"];
|
|
5439
|
+
function pi(s, e, t, a, r, i) {
|
|
5440
|
+
return h(), x("div", {
|
|
5414
5441
|
id: r.uniqueID,
|
|
5415
5442
|
ref: "chart",
|
|
5416
5443
|
style: { height: "400px" }
|
|
5417
|
-
}, null, 8,
|
|
5444
|
+
}, null, 8, hi);
|
|
5418
5445
|
}
|
|
5419
|
-
const
|
|
5446
|
+
const fi = /* @__PURE__ */ Q(ui, [["render", pi]]), gi = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5420
5447
|
__proto__: null,
|
|
5421
|
-
default:
|
|
5422
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
5448
|
+
default: fi
|
|
5449
|
+
}, Symbol.toStringTag, { value: "Module" })), mi = {
|
|
5423
5450
|
name: "VsStat",
|
|
5424
5451
|
mixins: [pe],
|
|
5425
5452
|
data() {
|
|
@@ -5444,27 +5471,27 @@ const gi = /* @__PURE__ */ Q(hi, [["render", fi]]), mi = /* @__PURE__ */ Object.
|
|
|
5444
5471
|
this.columns = Object.keys(this.sourceData[0]);
|
|
5445
5472
|
const s = this.getValues();
|
|
5446
5473
|
this.sumValue = s.reduce((e, t) => e + t, 0), this.sourceData.forEach((e, t) => {
|
|
5447
|
-
e.color = t < Ut.length - 1 ? Ut[t] :
|
|
5474
|
+
e.color = t < Ut.length - 1 ? Ut[t] : Qn();
|
|
5448
5475
|
});
|
|
5449
5476
|
},
|
|
5450
5477
|
formattedValue(s) {
|
|
5451
5478
|
const e = parseFloat(s);
|
|
5452
|
-
return
|
|
5479
|
+
return de(e);
|
|
5453
5480
|
}
|
|
5454
5481
|
}
|
|
5455
|
-
},
|
|
5482
|
+
}, bi = { class: "flex flex-col w-full h-full pt-[16px] rounded-xl" }, xi = { class: "flex flex-col justify-between w-full h-full" }, yi = { class: "w-full h-full pb-6 space-y-4" }, wi = { class: "flex w-full h-3 rounded-full gap-x-1 min-h-3 custom-x-scrollbar" }, vi = ["onMouseover"], ki = {
|
|
5456
5483
|
key: 0,
|
|
5457
5484
|
class: "absolute top-[-1] left-1/2 transform -translate-x-1/2 -translate-y-full bg-black text-white rounded px-2 py-1"
|
|
5458
|
-
},
|
|
5459
|
-
function
|
|
5460
|
-
return
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
5464
|
-
(
|
|
5465
|
-
var l,
|
|
5466
|
-
return
|
|
5467
|
-
class:
|
|
5485
|
+
}, $i = { class: "h-[calc(100%-40px)] w-full custom-scrollbar" }, _i = { class: "grid items-center justify-between grid-cols-2 py-2 gap-x-4" }, Di = { class: "flex items-center" }, Ci = { class: "text-sm text-gray-800" }, zi = { class: "text-end" }, Ti = { class: "text-sm text-gray-500" };
|
|
5486
|
+
function Ii(s, e, t, a, r, i) {
|
|
5487
|
+
return h(), x("div", bi, [
|
|
5488
|
+
c("div", xi, [
|
|
5489
|
+
c("div", yi, [
|
|
5490
|
+
c("div", wi, [
|
|
5491
|
+
(h(!0), x(U, null, Z(s.sourceData, (n, o) => {
|
|
5492
|
+
var l, d, u, p;
|
|
5493
|
+
return h(), x("div", {
|
|
5494
|
+
class: se(["flex flex-col min-w-[5px] justify-center min-h-2.5 h-2.5 text-xs text-white text-center whitespace-nowrap", `bg-[${n.color}]`]),
|
|
5468
5495
|
style: Ge({
|
|
5469
5496
|
width: `${parseFloat(n == null ? void 0 : n[(l = r.columns) == null ? void 0 : l[1]]) / r.sumValue * 100}%`
|
|
5470
5497
|
}),
|
|
@@ -5475,22 +5502,22 @@ function Si(s, e, t, a, r, i) {
|
|
|
5475
5502
|
onMouseover: (v) => r.showTooltip = o,
|
|
5476
5503
|
onMouseleave: e[0] || (e[0] = (v) => r.showTooltip = -1)
|
|
5477
5504
|
}, [
|
|
5478
|
-
r.showTooltip > -1 ? (
|
|
5479
|
-
], 46,
|
|
5505
|
+
r.showTooltip > -1 ? (h(), x("div", ki, W(s.sourceData[r.showTooltip][r.columns[0]]) + " " + W((parseFloat((p = (d = s.sourceData) == null ? void 0 : d[r.showTooltip]) == null ? void 0 : p[(u = r.columns) == null ? void 0 : u[1]]) / r.sumValue * 100).toFixed(2)) + "% ", 1)) : A("", !0)
|
|
5506
|
+
], 46, vi);
|
|
5480
5507
|
}), 256))
|
|
5481
5508
|
]),
|
|
5482
|
-
|
|
5483
|
-
(
|
|
5509
|
+
c("ul", $i, [
|
|
5510
|
+
(h(!0), x(U, null, Z(s.sourceData, (n) => {
|
|
5484
5511
|
var o, l;
|
|
5485
|
-
return
|
|
5486
|
-
|
|
5487
|
-
|
|
5488
|
-
class:
|
|
5512
|
+
return h(), x("li", _i, [
|
|
5513
|
+
c("div", Di, [
|
|
5514
|
+
c("span", {
|
|
5515
|
+
class: se(["shrink-0 size-2.5 inline-block rounded-sm me-2.5 min-w-[10px] w-[10px] h-[10px] min-h-[10px]", `bg-[${n.color}]`])
|
|
5489
5516
|
}, null, 2),
|
|
5490
|
-
|
|
5517
|
+
c("span", Ci, W((n == null ? void 0 : n[(o = r.columns) == null ? void 0 : o[0]]) || "Не визначено"), 1)
|
|
5491
5518
|
]),
|
|
5492
|
-
|
|
5493
|
-
|
|
5519
|
+
c("div", zi, [
|
|
5520
|
+
c("span", Ti, W(i.formattedValue(n == null ? void 0 : n[(l = r.columns) == null ? void 0 : l[1]]) || "-"), 1)
|
|
5494
5521
|
])
|
|
5495
5522
|
]);
|
|
5496
5523
|
}), 256))
|
|
@@ -5499,10 +5526,10 @@ function Si(s, e, t, a, r, i) {
|
|
|
5499
5526
|
])
|
|
5500
5527
|
]);
|
|
5501
5528
|
}
|
|
5502
|
-
const
|
|
5529
|
+
const Si = /* @__PURE__ */ Q(mi, [["render", Ii]]), Ri = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5503
5530
|
__proto__: null,
|
|
5504
|
-
default:
|
|
5505
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
5531
|
+
default: Si
|
|
5532
|
+
}, Symbol.toStringTag, { value: "Module" })), Vi = {
|
|
5506
5533
|
name: "VsProgressBar",
|
|
5507
5534
|
mixins: [pe],
|
|
5508
5535
|
data() {
|
|
@@ -5529,28 +5556,28 @@ const Ri = /* @__PURE__ */ Q(bi, [["render", Si]]), Vi = /* @__PURE__ */ Object.
|
|
|
5529
5556
|
this.maxValue = Math.max(...s);
|
|
5530
5557
|
},
|
|
5531
5558
|
formattedValue(s) {
|
|
5532
|
-
return
|
|
5559
|
+
return de(s);
|
|
5533
5560
|
}
|
|
5534
5561
|
}
|
|
5535
|
-
},
|
|
5562
|
+
}, Li = {
|
|
5536
5563
|
key: 0,
|
|
5537
5564
|
class: "flex flex-col h-full pt-[16px] rounded-xl"
|
|
5538
|
-
},
|
|
5565
|
+
}, Wi = { class: "h-full pt-0 pb-6 space-y-4" }, Ni = { class: "h-full space-y-4 custom-scrollbar" }, Ei = { class: "flex items-center justify-between mr-2 gap-x-2" }, ji = { class: "grid items-center w-full grid-cols-2 gap-x-2" }, Bi = { class: "text-sm text-gray-800" }, Oi = {
|
|
5539
5566
|
class: "flex justify-end",
|
|
5540
5567
|
role: "progressbar",
|
|
5541
5568
|
"aria-valuenow": "100",
|
|
5542
5569
|
"aria-valuemin": "0",
|
|
5543
5570
|
"aria-valuemax": "100"
|
|
5544
|
-
},
|
|
5545
|
-
function
|
|
5546
|
-
return r.columns ? (
|
|
5547
|
-
|
|
5548
|
-
|
|
5549
|
-
(
|
|
5550
|
-
|
|
5551
|
-
|
|
5552
|
-
|
|
5553
|
-
|
|
5571
|
+
}, Pi = { class: "min-w-[60px] text-end" }, Ai = { class: "text-sm text-gray-500" };
|
|
5572
|
+
function Fi(s, e, t, a, r, i) {
|
|
5573
|
+
return r.columns ? (h(), x("div", Li, [
|
|
5574
|
+
c("div", Wi, [
|
|
5575
|
+
c("ul", Ni, [
|
|
5576
|
+
(h(!0), x(U, null, Z(s.sourceData, (n, o) => (h(), x("li", Ei, [
|
|
5577
|
+
c("div", ji, [
|
|
5578
|
+
c("span", Bi, W(n[r.columns[0]]), 1),
|
|
5579
|
+
c("div", Oi, [
|
|
5580
|
+
c("div", {
|
|
5554
5581
|
class: "h-1.5 flex flex-col justify-center overflow-hidden bg-indigo-500 rounded-full text-xs text-white text-center whitespace-nowrap",
|
|
5555
5582
|
style: Ge({
|
|
5556
5583
|
width: `${parseFloat(n[r.columns[1]]) / r.maxValue * 100}%`
|
|
@@ -5558,18 +5585,18 @@ function qi(s, e, t, a, r, i) {
|
|
|
5558
5585
|
}, null, 4)
|
|
5559
5586
|
])
|
|
5560
5587
|
]),
|
|
5561
|
-
|
|
5562
|
-
|
|
5588
|
+
c("div", Pi, [
|
|
5589
|
+
c("span", Ai, W(i.formattedValue(n[r.columns[1]])), 1)
|
|
5563
5590
|
])
|
|
5564
5591
|
]))), 256))
|
|
5565
5592
|
])
|
|
5566
5593
|
])
|
|
5567
5594
|
])) : A("", !0);
|
|
5568
5595
|
}
|
|
5569
|
-
const
|
|
5596
|
+
const qi = /* @__PURE__ */ Q(Vi, [["render", Fi]]), Mi = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5570
5597
|
__proto__: null,
|
|
5571
|
-
default:
|
|
5572
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
5598
|
+
default: qi
|
|
5599
|
+
}, Symbol.toStringTag, { value: "Module" })), Ui = {
|
|
5573
5600
|
name: "VsListbar",
|
|
5574
5601
|
mixins: [pe],
|
|
5575
5602
|
props: ["source"],
|
|
@@ -5601,44 +5628,44 @@ const Mi = /* @__PURE__ */ Q(Li, [["render", qi]]), Ui = /* @__PURE__ */ Object.
|
|
|
5601
5628
|
this.maxValue = Math.max(...s || []), this.restDimensions = (a = this.columns) == null ? void 0 : a.filter((r, i) => i !== 0);
|
|
5602
5629
|
},
|
|
5603
5630
|
formattedValue(s) {
|
|
5604
|
-
return
|
|
5631
|
+
return de(s);
|
|
5605
5632
|
},
|
|
5606
5633
|
getWidth(s) {
|
|
5607
5634
|
return `${s / this.maxValue * 100}%`;
|
|
5608
5635
|
}
|
|
5609
5636
|
}
|
|
5610
|
-
},
|
|
5637
|
+
}, Gi = { class: "h-full pt-[20px] list-bar" }, Hi = { class: "space-y-2 custom-scrollbar h-[calc(100%-40px)]" }, Zi = { class: "relative w-full truncate" }, Qi = { class: "relative z-[1] text-sm block py-1 px-2 w-full text-sm truncate text-gray-800" }, Xi = { class: "text-[14px] text-gray-500" };
|
|
5611
5638
|
function Yi(s, e, t, a, r, i) {
|
|
5612
|
-
return
|
|
5613
|
-
|
|
5614
|
-
(
|
|
5615
|
-
var l,
|
|
5616
|
-
return
|
|
5639
|
+
return h(), x("div", Gi, [
|
|
5640
|
+
c("ul", Hi, [
|
|
5641
|
+
(h(!0), x(U, null, Z(s.sourceData, (n, o) => {
|
|
5642
|
+
var l, d, u;
|
|
5643
|
+
return h(), x("li", {
|
|
5617
5644
|
key: o,
|
|
5618
5645
|
class: "flex items-center justify-between w-full gap-x-2"
|
|
5619
5646
|
}, [
|
|
5620
|
-
|
|
5621
|
-
|
|
5622
|
-
|
|
5623
|
-
class:
|
|
5647
|
+
c("div", Zi, [
|
|
5648
|
+
c("span", Qi, W((n == null ? void 0 : n[(l = r.columns) == null ? void 0 : l[0]]) || "Без категорії"), 1),
|
|
5649
|
+
c("div", {
|
|
5650
|
+
class: se(["absolute inset-y-0 h-full rounded start-0", n != null && n[(d = r.columns) == null ? void 0 : d[0]] ? "bg-indigo-100" : "bg-gray-100"]),
|
|
5624
5651
|
style: Ge({ width: i.getWidth(n == null ? void 0 : n[(u = r.columns) == null ? void 0 : u[1]]) })
|
|
5625
5652
|
}, null, 6)
|
|
5626
5653
|
]),
|
|
5627
|
-
(
|
|
5654
|
+
(h(!0), x(U, null, Z(r.restDimensions, (p, v) => (h(), x("div", {
|
|
5628
5655
|
key: v,
|
|
5629
5656
|
class: "w-20 mr-2 text-end"
|
|
5630
5657
|
}, [
|
|
5631
|
-
|
|
5658
|
+
c("span", Xi, W(i.formattedValue(n == null ? void 0 : n[p])), 1)
|
|
5632
5659
|
]))), 128))
|
|
5633
5660
|
]);
|
|
5634
5661
|
}), 128))
|
|
5635
5662
|
])
|
|
5636
5663
|
]);
|
|
5637
5664
|
}
|
|
5638
|
-
const Ji = /* @__PURE__ */ Q(
|
|
5665
|
+
const Ji = /* @__PURE__ */ Q(Ui, [["render", Yi]]), Ki = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5639
5666
|
__proto__: null,
|
|
5640
5667
|
default: Ji
|
|
5641
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
5668
|
+
}, Symbol.toStringTag, { value: "Module" })), eo = {
|
|
5642
5669
|
name: "VsPivotTable",
|
|
5643
5670
|
mixins: [pe],
|
|
5644
5671
|
data() {
|
|
@@ -5663,46 +5690,46 @@ const Ji = /* @__PURE__ */ Q(Gi, [["render", Yi]]), eo = /* @__PURE__ */ Object.
|
|
|
5663
5690
|
const s = Array.from(
|
|
5664
5691
|
new Set(this.sourceData.map((e) => e[this.dimensions[0]]))
|
|
5665
5692
|
);
|
|
5666
|
-
this.dimensions[0].includes("date") ? this.xs = s.map((e) =>
|
|
5693
|
+
this.dimensions[0].includes("date") ? this.xs = s.map((e) => dt(e)) : this.xs = [...s], this.products = this.dimensions.filter((e, t) => t != 0), this.values = this.products.map((e, t) => ({
|
|
5667
5694
|
name: e,
|
|
5668
|
-
data: this.sourceData.filter((a) => parseFloat(a[e])).map((a) =>
|
|
5695
|
+
data: this.sourceData.filter((a) => parseFloat(a[e])).map((a) => de(parseFloat(a[e])))
|
|
5669
5696
|
}));
|
|
5670
5697
|
} catch (s) {
|
|
5671
5698
|
console.error(s);
|
|
5672
5699
|
}
|
|
5673
5700
|
}
|
|
5674
5701
|
}
|
|
5675
|
-
},
|
|
5702
|
+
}, to = { class: "flex flex-col h-full p-5 space-y-4 rounded-xl custom-scrollbar" }, so = { class: "overflow-x-auto [&::-webkit-scrollbar]:h-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 custom-scrollbar" }, ao = { class: "inline-block min-w-full align-middle" }, ro = { class: "min-w-full divide-y divide-gray-200" }, no = { class: "space-x-2" }, io = {
|
|
5676
5703
|
scope: "col",
|
|
5677
5704
|
class: "xl:min-w-[120px] min-w-48"
|
|
5678
|
-
},
|
|
5679
|
-
function
|
|
5680
|
-
return
|
|
5681
|
-
|
|
5682
|
-
|
|
5683
|
-
|
|
5684
|
-
|
|
5685
|
-
|
|
5686
|
-
e[0] || (e[0] =
|
|
5705
|
+
}, oo = { class: "py-2.5 text-text-start flex items-center gap-x-1 text-sm font-normal text-gray-500" }, lo = { class: "divide-y divide-gray-200 text-[12px]" }, co = { class: "py-3 size-px whitespace-nowrap" }, uo = { class: "flex items-center gap-x-3" }, ho = { class: "font-medium text-gray-800" }, po = { class: "py-3 size-px whitespace-nowrap" }, fo = { class: "text-gray-600" };
|
|
5706
|
+
function go(s, e, t, a, r, i) {
|
|
5707
|
+
return h(), x("div", to, [
|
|
5708
|
+
c("div", so, [
|
|
5709
|
+
c("div", ao, [
|
|
5710
|
+
c("table", ro, [
|
|
5711
|
+
c("thead", null, [
|
|
5712
|
+
c("tr", no, [
|
|
5713
|
+
e[0] || (e[0] = c("th", {
|
|
5687
5714
|
scope: "col",
|
|
5688
5715
|
class: "min-w-[200px]"
|
|
5689
5716
|
}, [
|
|
5690
|
-
|
|
5717
|
+
c("div", { class: "py-2.5 text-text-start flex items-center gap-x-1 text-sm font-normal text-gray-500" })
|
|
5691
5718
|
], -1)),
|
|
5692
|
-
(
|
|
5693
|
-
|
|
5719
|
+
(h(!0), x(U, null, Z(r.xs, (n) => (h(), x("th", io, [
|
|
5720
|
+
c("div", oo, W(n), 1)
|
|
5694
5721
|
]))), 256))
|
|
5695
5722
|
])
|
|
5696
5723
|
]),
|
|
5697
|
-
(
|
|
5698
|
-
|
|
5699
|
-
|
|
5700
|
-
|
|
5701
|
-
|
|
5724
|
+
(h(!0), x(U, null, Z(r.values, (n) => (h(), x("tbody", lo, [
|
|
5725
|
+
c("tr", null, [
|
|
5726
|
+
c("td", co, [
|
|
5727
|
+
c("div", uo, [
|
|
5728
|
+
c("span", ho, W(n.name), 1)
|
|
5702
5729
|
])
|
|
5703
5730
|
]),
|
|
5704
|
-
(
|
|
5705
|
-
|
|
5731
|
+
(h(!0), x(U, null, Z(r.xs, (o, l) => (h(), x("td", po, [
|
|
5732
|
+
c("span", fo, W(n.data[l]), 1)
|
|
5706
5733
|
]))), 256))
|
|
5707
5734
|
])
|
|
5708
5735
|
]))), 256))
|
|
@@ -5711,36 +5738,36 @@ function mo(s, e, t, a, r, i) {
|
|
|
5711
5738
|
])
|
|
5712
5739
|
]);
|
|
5713
5740
|
}
|
|
5714
|
-
const
|
|
5741
|
+
const mo = /* @__PURE__ */ Q(eo, [["render", go]]), bo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5715
5742
|
__proto__: null,
|
|
5716
|
-
default:
|
|
5743
|
+
default: mo
|
|
5717
5744
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
5718
5745
|
export {
|
|
5719
|
-
|
|
5720
|
-
|
|
5721
|
-
|
|
5722
|
-
|
|
5746
|
+
J as R,
|
|
5747
|
+
Ia as U,
|
|
5748
|
+
Kn as V,
|
|
5749
|
+
Bs as X,
|
|
5723
5750
|
Q as _,
|
|
5724
5751
|
Le as a,
|
|
5725
|
-
|
|
5752
|
+
dt as b,
|
|
5726
5753
|
pe as c,
|
|
5727
|
-
|
|
5728
|
-
|
|
5754
|
+
de as d,
|
|
5755
|
+
ee as e,
|
|
5729
5756
|
$o as f,
|
|
5730
5757
|
H as g,
|
|
5731
|
-
|
|
5732
|
-
|
|
5733
|
-
|
|
5734
|
-
|
|
5758
|
+
Zr as h,
|
|
5759
|
+
Hr as i,
|
|
5760
|
+
Gn as j,
|
|
5761
|
+
vn as k,
|
|
5735
5762
|
ko as l,
|
|
5736
5763
|
B as m,
|
|
5737
5764
|
di as n,
|
|
5738
|
-
|
|
5739
|
-
|
|
5740
|
-
|
|
5765
|
+
fi as o,
|
|
5766
|
+
Si as p,
|
|
5767
|
+
qi as q,
|
|
5741
5768
|
Ji as r,
|
|
5742
|
-
|
|
5769
|
+
mo as s,
|
|
5743
5770
|
vo as t,
|
|
5744
5771
|
Oe as u,
|
|
5745
|
-
|
|
5772
|
+
ri as v
|
|
5746
5773
|
};
|