@opengis/bi 1.2.1 → 1.2.2
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 +1 -1
- package/dist/bi.umd.cjs +42 -42
- package/dist/import-file-D8jh74Dz.js +3543 -0
- package/dist/{vs-funnel-bar-C8m-602x.js → vs-funnel-bar-T330oJNS.js} +3 -3
- package/dist/{vs-list-BJ0NjSm5.js → vs-list-DeHF_Oaf.js} +109 -109
- package/dist/{vs-map-PLlJqaaW.js → vs-map-Skt608pM.js} +8 -8
- package/dist/{vs-map-cluster-9tV6eiDA.js → vs-map-cluster-BRUiY_90.js} +21 -21
- package/dist/{vs-number-B2V_BPer.js → vs-number-Dd_21nn-.js} +3 -3
- package/dist/{vs-table-WGE9jyDq.js → vs-table-BwC29Zyc.js} +6 -6
- package/dist/{vs-text-DkLKRC7F.js → vs-text-DEJjWxDu.js} +32 -39
- package/package.json +77 -76
- package/server/routes/data/controllers/data.js +4 -3
- package/server/routes/dataset/controllers/export.js +2 -1
- package/dist/import-file-D06AZEtP.js +0 -3493
|
@@ -0,0 +1,3543 @@
|
|
|
1
|
+
import { createElementBlock as _, openBlock as x, createElementVNode as g, Fragment as P, renderList as U, normalizeStyle as Le, normalizeClass as Q, createCommentVNode as N, toDisplayString as E, ref as Ee, computed as Ke, onUnmounted as It, createTextVNode as pt, defineAsyncComponent as T, defineComponent as zt, mergeModels as Xe, useModel as Mt, withDirectives as Ht, vModelCheckbox as qt, resolveComponent as I, createBlock as M, createVNode as Ue, resolveDynamicComponent as Wt, createStaticVNode as mt, withCtx as Jt } from "vue";
|
|
2
|
+
function z(e, t) {
|
|
3
|
+
return e != null && e.value ? isNaN(e == null ? void 0 : e.value) ? e == null ? void 0 : e.value : new Intl.NumberFormat("en", t || {
|
|
4
|
+
notation: "compact"
|
|
5
|
+
}).format(e == null ? void 0 : e.value) : isNaN(e) ? e : new Intl.NumberFormat("en", t || {
|
|
6
|
+
notation: "compact"
|
|
7
|
+
}).format(e);
|
|
8
|
+
}
|
|
9
|
+
function Be(e) {
|
|
10
|
+
if (!(e != null && e.includes("T")))
|
|
11
|
+
return e;
|
|
12
|
+
const [t, s, r] = e.split("T")[0].split("-");
|
|
13
|
+
return `${r}.${s}.${t}`;
|
|
14
|
+
}
|
|
15
|
+
function Qi(e) {
|
|
16
|
+
return Intl.NumberFormat("en").format(e);
|
|
17
|
+
}
|
|
18
|
+
function gt(e, t) {
|
|
19
|
+
return function() {
|
|
20
|
+
return e.apply(t, arguments);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const { toString: Kt } = Object.prototype, { getPrototypeOf: je } = Object, { iterator: ye, toStringTag: bt } = Symbol, xe = /* @__PURE__ */ ((e) => (t) => {
|
|
24
|
+
const s = Kt.call(t);
|
|
25
|
+
return e[s] || (e[s] = s.slice(8, -1).toLowerCase());
|
|
26
|
+
})(/* @__PURE__ */ Object.create(null)), B = (e) => (e = e.toLowerCase(), (t) => xe(t) === e), _e = (e) => (t) => typeof t === e, { isArray: te } = Array, ee = _e("undefined");
|
|
27
|
+
function oe(e) {
|
|
28
|
+
return e !== null && !ee(e) && e.constructor !== null && !ee(e.constructor) && F(e.constructor.isBuffer) && e.constructor.isBuffer(e);
|
|
29
|
+
}
|
|
30
|
+
const wt = B("ArrayBuffer");
|
|
31
|
+
function Xt(e) {
|
|
32
|
+
let t;
|
|
33
|
+
return typeof ArrayBuffer < "u" && ArrayBuffer.isView ? t = ArrayBuffer.isView(e) : t = e && e.buffer && wt(e.buffer), t;
|
|
34
|
+
}
|
|
35
|
+
const Gt = _e("string"), F = _e("function"), yt = _e("number"), ae = (e) => e !== null && typeof e == "object", Qt = (e) => e === !0 || e === !1, pe = (e) => {
|
|
36
|
+
if (xe(e) !== "object")
|
|
37
|
+
return !1;
|
|
38
|
+
const t = je(e);
|
|
39
|
+
return (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) && !(bt in e) && !(ye in e);
|
|
40
|
+
}, Zt = (e) => {
|
|
41
|
+
if (!ae(e) || oe(e))
|
|
42
|
+
return !1;
|
|
43
|
+
try {
|
|
44
|
+
return Object.keys(e).length === 0 && Object.getPrototypeOf(e) === Object.prototype;
|
|
45
|
+
} catch {
|
|
46
|
+
return !1;
|
|
47
|
+
}
|
|
48
|
+
}, Yt = B("Date"), es = B("File"), ts = B("Blob"), ss = B("FileList"), rs = (e) => ae(e) && F(e.pipe), ns = (e) => {
|
|
49
|
+
let t;
|
|
50
|
+
return e && (typeof FormData == "function" && e instanceof FormData || F(e.append) && ((t = xe(e)) === "formdata" || // detect form-data instance
|
|
51
|
+
t === "object" && F(e.toString) && e.toString() === "[object FormData]"));
|
|
52
|
+
}, is = B("URLSearchParams"), [os, as, ls, cs] = ["ReadableStream", "Request", "Response", "Headers"].map(B), us = (e) => e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
|
|
53
|
+
function le(e, t, { allOwnKeys: s = !1 } = {}) {
|
|
54
|
+
if (e === null || typeof e > "u")
|
|
55
|
+
return;
|
|
56
|
+
let r, n;
|
|
57
|
+
if (typeof e != "object" && (e = [e]), te(e))
|
|
58
|
+
for (r = 0, n = e.length; r < n; r++)
|
|
59
|
+
t.call(null, e[r], r, e);
|
|
60
|
+
else {
|
|
61
|
+
if (oe(e))
|
|
62
|
+
return;
|
|
63
|
+
const i = s ? Object.getOwnPropertyNames(e) : Object.keys(e), o = i.length;
|
|
64
|
+
let a;
|
|
65
|
+
for (r = 0; r < o; r++)
|
|
66
|
+
a = i[r], t.call(null, e[a], a, e);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function xt(e, t) {
|
|
70
|
+
if (oe(e))
|
|
71
|
+
return null;
|
|
72
|
+
t = t.toLowerCase();
|
|
73
|
+
const s = Object.keys(e);
|
|
74
|
+
let r = s.length, n;
|
|
75
|
+
for (; r-- > 0; )
|
|
76
|
+
if (n = s[r], t === n.toLowerCase())
|
|
77
|
+
return n;
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
const X = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global, _t = (e) => !ee(e) && e !== X;
|
|
81
|
+
function Te() {
|
|
82
|
+
const { caseless: e, skipUndefined: t } = _t(this) && this || {}, s = {}, r = (n, i) => {
|
|
83
|
+
const o = e && xt(s, i) || i;
|
|
84
|
+
pe(s[o]) && pe(n) ? s[o] = Te(s[o], n) : pe(n) ? s[o] = Te({}, n) : te(n) ? s[o] = n.slice() : (!t || !ee(n)) && (s[o] = n);
|
|
85
|
+
};
|
|
86
|
+
for (let n = 0, i = arguments.length; n < i; n++)
|
|
87
|
+
arguments[n] && le(arguments[n], r);
|
|
88
|
+
return s;
|
|
89
|
+
}
|
|
90
|
+
const ds = (e, t, s, { allOwnKeys: r } = {}) => (le(t, (n, i) => {
|
|
91
|
+
s && F(n) ? e[i] = gt(n, s) : e[i] = n;
|
|
92
|
+
}, { allOwnKeys: r }), e), fs = (e) => (e.charCodeAt(0) === 65279 && (e = e.slice(1)), e), hs = (e, t, s, r) => {
|
|
93
|
+
e.prototype = Object.create(t.prototype, r), e.prototype.constructor = e, Object.defineProperty(e, "super", {
|
|
94
|
+
value: t.prototype
|
|
95
|
+
}), s && Object.assign(e.prototype, s);
|
|
96
|
+
}, ps = (e, t, s, r) => {
|
|
97
|
+
let n, i, o;
|
|
98
|
+
const a = {};
|
|
99
|
+
if (t = t || {}, e == null) return t;
|
|
100
|
+
do {
|
|
101
|
+
for (n = Object.getOwnPropertyNames(e), i = n.length; i-- > 0; )
|
|
102
|
+
o = n[i], (!r || r(o, e, t)) && !a[o] && (t[o] = e[o], a[o] = !0);
|
|
103
|
+
e = s !== !1 && je(e);
|
|
104
|
+
} while (e && (!s || s(e, t)) && e !== Object.prototype);
|
|
105
|
+
return t;
|
|
106
|
+
}, ms = (e, t, s) => {
|
|
107
|
+
e = String(e), (s === void 0 || s > e.length) && (s = e.length), s -= t.length;
|
|
108
|
+
const r = e.indexOf(t, s);
|
|
109
|
+
return r !== -1 && r === s;
|
|
110
|
+
}, gs = (e) => {
|
|
111
|
+
if (!e) return null;
|
|
112
|
+
if (te(e)) return e;
|
|
113
|
+
let t = e.length;
|
|
114
|
+
if (!yt(t)) return null;
|
|
115
|
+
const s = new Array(t);
|
|
116
|
+
for (; t-- > 0; )
|
|
117
|
+
s[t] = e[t];
|
|
118
|
+
return s;
|
|
119
|
+
}, bs = /* @__PURE__ */ ((e) => (t) => e && t instanceof e)(typeof Uint8Array < "u" && je(Uint8Array)), ws = (e, t) => {
|
|
120
|
+
const r = (e && e[ye]).call(e);
|
|
121
|
+
let n;
|
|
122
|
+
for (; (n = r.next()) && !n.done; ) {
|
|
123
|
+
const i = n.value;
|
|
124
|
+
t.call(e, i[0], i[1]);
|
|
125
|
+
}
|
|
126
|
+
}, ys = (e, t) => {
|
|
127
|
+
let s;
|
|
128
|
+
const r = [];
|
|
129
|
+
for (; (s = e.exec(t)) !== null; )
|
|
130
|
+
r.push(s);
|
|
131
|
+
return r;
|
|
132
|
+
}, xs = B("HTMLFormElement"), _s = (e) => e.toLowerCase().replace(
|
|
133
|
+
/[-_\s]([a-z\d])(\w*)/g,
|
|
134
|
+
function(s, r, n) {
|
|
135
|
+
return r.toUpperCase() + n;
|
|
136
|
+
}
|
|
137
|
+
), Ge = (({ hasOwnProperty: e }) => (t, s) => e.call(t, s))(Object.prototype), Ds = B("RegExp"), Dt = (e, t) => {
|
|
138
|
+
const s = Object.getOwnPropertyDescriptors(e), r = {};
|
|
139
|
+
le(s, (n, i) => {
|
|
140
|
+
let o;
|
|
141
|
+
(o = t(n, i, e)) !== !1 && (r[i] = o || n);
|
|
142
|
+
}), Object.defineProperties(e, r);
|
|
143
|
+
}, Ss = (e) => {
|
|
144
|
+
Dt(e, (t, s) => {
|
|
145
|
+
if (F(e) && ["arguments", "caller", "callee"].indexOf(s) !== -1)
|
|
146
|
+
return !1;
|
|
147
|
+
const r = e[s];
|
|
148
|
+
if (F(r)) {
|
|
149
|
+
if (t.enumerable = !1, "writable" in t) {
|
|
150
|
+
t.writable = !1;
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
t.set || (t.set = () => {
|
|
154
|
+
throw Error("Can not rewrite read-only method '" + s + "'");
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
}, ks = (e, t) => {
|
|
159
|
+
const s = {}, r = (n) => {
|
|
160
|
+
n.forEach((i) => {
|
|
161
|
+
s[i] = !0;
|
|
162
|
+
});
|
|
163
|
+
};
|
|
164
|
+
return te(e) ? r(e) : r(String(e).split(t)), s;
|
|
165
|
+
}, vs = () => {
|
|
166
|
+
}, Es = (e, t) => e != null && Number.isFinite(e = +e) ? e : t;
|
|
167
|
+
function Cs(e) {
|
|
168
|
+
return !!(e && F(e.append) && e[bt] === "FormData" && e[ye]);
|
|
169
|
+
}
|
|
170
|
+
const Os = (e) => {
|
|
171
|
+
const t = new Array(10), s = (r, n) => {
|
|
172
|
+
if (ae(r)) {
|
|
173
|
+
if (t.indexOf(r) >= 0)
|
|
174
|
+
return;
|
|
175
|
+
if (oe(r))
|
|
176
|
+
return r;
|
|
177
|
+
if (!("toJSON" in r)) {
|
|
178
|
+
t[n] = r;
|
|
179
|
+
const i = te(r) ? [] : {};
|
|
180
|
+
return le(r, (o, a) => {
|
|
181
|
+
const f = s(o, n + 1);
|
|
182
|
+
!ee(f) && (i[a] = f);
|
|
183
|
+
}), t[n] = void 0, i;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return r;
|
|
187
|
+
};
|
|
188
|
+
return s(e, 0);
|
|
189
|
+
}, Rs = B("AsyncFunction"), $s = (e) => e && (ae(e) || F(e)) && F(e.then) && F(e.catch), St = ((e, t) => e ? setImmediate : t ? ((s, r) => (X.addEventListener("message", ({ source: n, data: i }) => {
|
|
190
|
+
n === X && i === s && r.length && r.shift()();
|
|
191
|
+
}, !1), (n) => {
|
|
192
|
+
r.push(n), X.postMessage(s, "*");
|
|
193
|
+
}))(`axios@${Math.random()}`, []) : (s) => setTimeout(s))(
|
|
194
|
+
typeof setImmediate == "function",
|
|
195
|
+
F(X.postMessage)
|
|
196
|
+
), Ts = typeof queueMicrotask < "u" ? queueMicrotask.bind(X) : typeof process < "u" && process.nextTick || St, Ns = (e) => e != null && F(e[ye]), l = {
|
|
197
|
+
isArray: te,
|
|
198
|
+
isArrayBuffer: wt,
|
|
199
|
+
isBuffer: oe,
|
|
200
|
+
isFormData: ns,
|
|
201
|
+
isArrayBufferView: Xt,
|
|
202
|
+
isString: Gt,
|
|
203
|
+
isNumber: yt,
|
|
204
|
+
isBoolean: Qt,
|
|
205
|
+
isObject: ae,
|
|
206
|
+
isPlainObject: pe,
|
|
207
|
+
isEmptyObject: Zt,
|
|
208
|
+
isReadableStream: os,
|
|
209
|
+
isRequest: as,
|
|
210
|
+
isResponse: ls,
|
|
211
|
+
isHeaders: cs,
|
|
212
|
+
isUndefined: ee,
|
|
213
|
+
isDate: Yt,
|
|
214
|
+
isFile: es,
|
|
215
|
+
isBlob: ts,
|
|
216
|
+
isRegExp: Ds,
|
|
217
|
+
isFunction: F,
|
|
218
|
+
isStream: rs,
|
|
219
|
+
isURLSearchParams: is,
|
|
220
|
+
isTypedArray: bs,
|
|
221
|
+
isFileList: ss,
|
|
222
|
+
forEach: le,
|
|
223
|
+
merge: Te,
|
|
224
|
+
extend: ds,
|
|
225
|
+
trim: us,
|
|
226
|
+
stripBOM: fs,
|
|
227
|
+
inherits: hs,
|
|
228
|
+
toFlatObject: ps,
|
|
229
|
+
kindOf: xe,
|
|
230
|
+
kindOfTest: B,
|
|
231
|
+
endsWith: ms,
|
|
232
|
+
toArray: gs,
|
|
233
|
+
forEachEntry: ws,
|
|
234
|
+
matchAll: ys,
|
|
235
|
+
isHTMLForm: xs,
|
|
236
|
+
hasOwnProperty: Ge,
|
|
237
|
+
hasOwnProp: Ge,
|
|
238
|
+
// an alias to avoid ESLint no-prototype-builtins detection
|
|
239
|
+
reduceDescriptors: Dt,
|
|
240
|
+
freezeMethods: Ss,
|
|
241
|
+
toObjectSet: ks,
|
|
242
|
+
toCamelCase: _s,
|
|
243
|
+
noop: vs,
|
|
244
|
+
toFiniteNumber: Es,
|
|
245
|
+
findKey: xt,
|
|
246
|
+
global: X,
|
|
247
|
+
isContextDefined: _t,
|
|
248
|
+
isSpecCompliantForm: Cs,
|
|
249
|
+
toJSONObject: Os,
|
|
250
|
+
isAsyncFn: Rs,
|
|
251
|
+
isThenable: $s,
|
|
252
|
+
setImmediate: St,
|
|
253
|
+
asap: Ts,
|
|
254
|
+
isIterable: Ns
|
|
255
|
+
};
|
|
256
|
+
function D(e, t, s, r, n) {
|
|
257
|
+
Error.call(this), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack, this.message = e, this.name = "AxiosError", t && (this.code = t), s && (this.config = s), r && (this.request = r), n && (this.response = n, this.status = n.status ? n.status : null);
|
|
258
|
+
}
|
|
259
|
+
l.inherits(D, Error, {
|
|
260
|
+
toJSON: function() {
|
|
261
|
+
return {
|
|
262
|
+
// Standard
|
|
263
|
+
message: this.message,
|
|
264
|
+
name: this.name,
|
|
265
|
+
// Microsoft
|
|
266
|
+
description: this.description,
|
|
267
|
+
number: this.number,
|
|
268
|
+
// Mozilla
|
|
269
|
+
fileName: this.fileName,
|
|
270
|
+
lineNumber: this.lineNumber,
|
|
271
|
+
columnNumber: this.columnNumber,
|
|
272
|
+
stack: this.stack,
|
|
273
|
+
// Axios
|
|
274
|
+
config: l.toJSONObject(this.config),
|
|
275
|
+
code: this.code,
|
|
276
|
+
status: this.status
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
const kt = D.prototype, vt = {};
|
|
281
|
+
[
|
|
282
|
+
"ERR_BAD_OPTION_VALUE",
|
|
283
|
+
"ERR_BAD_OPTION",
|
|
284
|
+
"ECONNABORTED",
|
|
285
|
+
"ETIMEDOUT",
|
|
286
|
+
"ERR_NETWORK",
|
|
287
|
+
"ERR_FR_TOO_MANY_REDIRECTS",
|
|
288
|
+
"ERR_DEPRECATED",
|
|
289
|
+
"ERR_BAD_RESPONSE",
|
|
290
|
+
"ERR_BAD_REQUEST",
|
|
291
|
+
"ERR_CANCELED",
|
|
292
|
+
"ERR_NOT_SUPPORT",
|
|
293
|
+
"ERR_INVALID_URL"
|
|
294
|
+
// eslint-disable-next-line func-names
|
|
295
|
+
].forEach((e) => {
|
|
296
|
+
vt[e] = { value: e };
|
|
297
|
+
});
|
|
298
|
+
Object.defineProperties(D, vt);
|
|
299
|
+
Object.defineProperty(kt, "isAxiosError", { value: !0 });
|
|
300
|
+
D.from = (e, t, s, r, n, i) => {
|
|
301
|
+
const o = Object.create(kt);
|
|
302
|
+
l.toFlatObject(e, o, function(u) {
|
|
303
|
+
return u !== Error.prototype;
|
|
304
|
+
}, (d) => d !== "isAxiosError");
|
|
305
|
+
const a = e && e.message ? e.message : "Error", f = t == null && e ? e.code : t;
|
|
306
|
+
return D.call(o, a, f, s, r, n), e && o.cause == null && Object.defineProperty(o, "cause", { value: e, configurable: !0 }), o.name = e && e.name || "Error", i && Object.assign(o, i), o;
|
|
307
|
+
};
|
|
308
|
+
const Fs = null;
|
|
309
|
+
function Ne(e) {
|
|
310
|
+
return l.isPlainObject(e) || l.isArray(e);
|
|
311
|
+
}
|
|
312
|
+
function Et(e) {
|
|
313
|
+
return l.endsWith(e, "[]") ? e.slice(0, -2) : e;
|
|
314
|
+
}
|
|
315
|
+
function Qe(e, t, s) {
|
|
316
|
+
return e ? e.concat(t).map(function(n, i) {
|
|
317
|
+
return n = Et(n), !s && i ? "[" + n + "]" : n;
|
|
318
|
+
}).join(s ? "." : "") : t;
|
|
319
|
+
}
|
|
320
|
+
function As(e) {
|
|
321
|
+
return l.isArray(e) && !e.some(Ne);
|
|
322
|
+
}
|
|
323
|
+
const Ps = l.toFlatObject(l, {}, null, function(t) {
|
|
324
|
+
return /^is[A-Z]/.test(t);
|
|
325
|
+
});
|
|
326
|
+
function De(e, t, s) {
|
|
327
|
+
if (!l.isObject(e))
|
|
328
|
+
throw new TypeError("target must be an object");
|
|
329
|
+
t = t || new FormData(), s = l.toFlatObject(s, {
|
|
330
|
+
metaTokens: !0,
|
|
331
|
+
dots: !1,
|
|
332
|
+
indexes: !1
|
|
333
|
+
}, !1, function(p, m) {
|
|
334
|
+
return !l.isUndefined(m[p]);
|
|
335
|
+
});
|
|
336
|
+
const r = s.metaTokens, n = s.visitor || u, i = s.dots, o = s.indexes, f = (s.Blob || typeof Blob < "u" && Blob) && l.isSpecCompliantForm(t);
|
|
337
|
+
if (!l.isFunction(n))
|
|
338
|
+
throw new TypeError("visitor must be a function");
|
|
339
|
+
function d(c) {
|
|
340
|
+
if (c === null) return "";
|
|
341
|
+
if (l.isDate(c))
|
|
342
|
+
return c.toISOString();
|
|
343
|
+
if (l.isBoolean(c))
|
|
344
|
+
return c.toString();
|
|
345
|
+
if (!f && l.isBlob(c))
|
|
346
|
+
throw new D("Blob is not supported. Use a Buffer instead.");
|
|
347
|
+
return l.isArrayBuffer(c) || l.isTypedArray(c) ? f && typeof Blob == "function" ? new Blob([c]) : Buffer.from(c) : c;
|
|
348
|
+
}
|
|
349
|
+
function u(c, p, m) {
|
|
350
|
+
let k = c;
|
|
351
|
+
if (c && !m && typeof c == "object") {
|
|
352
|
+
if (l.endsWith(p, "{}"))
|
|
353
|
+
p = r ? p : p.slice(0, -2), c = JSON.stringify(c);
|
|
354
|
+
else if (l.isArray(c) && As(c) || (l.isFileList(c) || l.endsWith(p, "[]")) && (k = l.toArray(c)))
|
|
355
|
+
return p = Et(p), k.forEach(function(y, C) {
|
|
356
|
+
!(l.isUndefined(y) || y === null) && t.append(
|
|
357
|
+
// eslint-disable-next-line no-nested-ternary
|
|
358
|
+
o === !0 ? Qe([p], C, i) : o === null ? p : p + "[]",
|
|
359
|
+
d(y)
|
|
360
|
+
);
|
|
361
|
+
}), !1;
|
|
362
|
+
}
|
|
363
|
+
return Ne(c) ? !0 : (t.append(Qe(m, p, i), d(c)), !1);
|
|
364
|
+
}
|
|
365
|
+
const h = [], w = Object.assign(Ps, {
|
|
366
|
+
defaultVisitor: u,
|
|
367
|
+
convertValue: d,
|
|
368
|
+
isVisitable: Ne
|
|
369
|
+
});
|
|
370
|
+
function b(c, p) {
|
|
371
|
+
if (!l.isUndefined(c)) {
|
|
372
|
+
if (h.indexOf(c) !== -1)
|
|
373
|
+
throw Error("Circular reference detected in " + p.join("."));
|
|
374
|
+
h.push(c), l.forEach(c, function(k, S) {
|
|
375
|
+
(!(l.isUndefined(k) || k === null) && n.call(
|
|
376
|
+
t,
|
|
377
|
+
k,
|
|
378
|
+
l.isString(S) ? S.trim() : S,
|
|
379
|
+
p,
|
|
380
|
+
w
|
|
381
|
+
)) === !0 && b(k, p ? p.concat(S) : [S]);
|
|
382
|
+
}), h.pop();
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
if (!l.isObject(e))
|
|
386
|
+
throw new TypeError("data must be an object");
|
|
387
|
+
return b(e), t;
|
|
388
|
+
}
|
|
389
|
+
function Ze(e) {
|
|
390
|
+
const t = {
|
|
391
|
+
"!": "%21",
|
|
392
|
+
"'": "%27",
|
|
393
|
+
"(": "%28",
|
|
394
|
+
")": "%29",
|
|
395
|
+
"~": "%7E",
|
|
396
|
+
"%20": "+",
|
|
397
|
+
"%00": "\0"
|
|
398
|
+
};
|
|
399
|
+
return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g, function(r) {
|
|
400
|
+
return t[r];
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
function Ve(e, t) {
|
|
404
|
+
this._pairs = [], e && De(e, this, t);
|
|
405
|
+
}
|
|
406
|
+
const Ct = Ve.prototype;
|
|
407
|
+
Ct.append = function(t, s) {
|
|
408
|
+
this._pairs.push([t, s]);
|
|
409
|
+
};
|
|
410
|
+
Ct.toString = function(t) {
|
|
411
|
+
const s = t ? function(r) {
|
|
412
|
+
return t.call(this, r, Ze);
|
|
413
|
+
} : Ze;
|
|
414
|
+
return this._pairs.map(function(n) {
|
|
415
|
+
return s(n[0]) + "=" + s(n[1]);
|
|
416
|
+
}, "").join("&");
|
|
417
|
+
};
|
|
418
|
+
function Ls(e) {
|
|
419
|
+
return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+");
|
|
420
|
+
}
|
|
421
|
+
function Ot(e, t, s) {
|
|
422
|
+
if (!t)
|
|
423
|
+
return e;
|
|
424
|
+
const r = s && s.encode || Ls;
|
|
425
|
+
l.isFunction(s) && (s = {
|
|
426
|
+
serialize: s
|
|
427
|
+
});
|
|
428
|
+
const n = s && s.serialize;
|
|
429
|
+
let i;
|
|
430
|
+
if (n ? i = n(t, s) : i = l.isURLSearchParams(t) ? t.toString() : new Ve(t, s).toString(r), i) {
|
|
431
|
+
const o = e.indexOf("#");
|
|
432
|
+
o !== -1 && (e = e.slice(0, o)), e += (e.indexOf("?") === -1 ? "?" : "&") + i;
|
|
433
|
+
}
|
|
434
|
+
return e;
|
|
435
|
+
}
|
|
436
|
+
class Ye {
|
|
437
|
+
constructor() {
|
|
438
|
+
this.handlers = [];
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Add a new interceptor to the stack
|
|
442
|
+
*
|
|
443
|
+
* @param {Function} fulfilled The function to handle `then` for a `Promise`
|
|
444
|
+
* @param {Function} rejected The function to handle `reject` for a `Promise`
|
|
445
|
+
*
|
|
446
|
+
* @return {Number} An ID used to remove interceptor later
|
|
447
|
+
*/
|
|
448
|
+
use(t, s, r) {
|
|
449
|
+
return this.handlers.push({
|
|
450
|
+
fulfilled: t,
|
|
451
|
+
rejected: s,
|
|
452
|
+
synchronous: r ? r.synchronous : !1,
|
|
453
|
+
runWhen: r ? r.runWhen : null
|
|
454
|
+
}), this.handlers.length - 1;
|
|
455
|
+
}
|
|
456
|
+
/**
|
|
457
|
+
* Remove an interceptor from the stack
|
|
458
|
+
*
|
|
459
|
+
* @param {Number} id The ID that was returned by `use`
|
|
460
|
+
*
|
|
461
|
+
* @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
|
|
462
|
+
*/
|
|
463
|
+
eject(t) {
|
|
464
|
+
this.handlers[t] && (this.handlers[t] = null);
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Clear all interceptors from the stack
|
|
468
|
+
*
|
|
469
|
+
* @returns {void}
|
|
470
|
+
*/
|
|
471
|
+
clear() {
|
|
472
|
+
this.handlers && (this.handlers = []);
|
|
473
|
+
}
|
|
474
|
+
/**
|
|
475
|
+
* Iterate over all the registered interceptors
|
|
476
|
+
*
|
|
477
|
+
* This method is particularly useful for skipping over any
|
|
478
|
+
* interceptors that may have become `null` calling `eject`.
|
|
479
|
+
*
|
|
480
|
+
* @param {Function} fn The function to call for each interceptor
|
|
481
|
+
*
|
|
482
|
+
* @returns {void}
|
|
483
|
+
*/
|
|
484
|
+
forEach(t) {
|
|
485
|
+
l.forEach(this.handlers, function(r) {
|
|
486
|
+
r !== null && t(r);
|
|
487
|
+
});
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
const Rt = {
|
|
491
|
+
silentJSONParsing: !0,
|
|
492
|
+
forcedJSONParsing: !0,
|
|
493
|
+
clarifyTimeoutError: !1
|
|
494
|
+
}, Us = typeof URLSearchParams < "u" ? URLSearchParams : Ve, Bs = typeof FormData < "u" ? FormData : null, js = typeof Blob < "u" ? Blob : null, Vs = {
|
|
495
|
+
isBrowser: !0,
|
|
496
|
+
classes: {
|
|
497
|
+
URLSearchParams: Us,
|
|
498
|
+
FormData: Bs,
|
|
499
|
+
Blob: js
|
|
500
|
+
},
|
|
501
|
+
protocols: ["http", "https", "file", "blob", "url", "data"]
|
|
502
|
+
}, Ie = typeof window < "u" && typeof document < "u", Fe = typeof navigator == "object" && navigator || void 0, Is = Ie && (!Fe || ["ReactNative", "NativeScript", "NS"].indexOf(Fe.product) < 0), zs = typeof WorkerGlobalScope < "u" && // eslint-disable-next-line no-undef
|
|
503
|
+
self instanceof WorkerGlobalScope && typeof self.importScripts == "function", Ms = Ie && window.location.href || "http://localhost", Hs = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
504
|
+
__proto__: null,
|
|
505
|
+
hasBrowserEnv: Ie,
|
|
506
|
+
hasStandardBrowserEnv: Is,
|
|
507
|
+
hasStandardBrowserWebWorkerEnv: zs,
|
|
508
|
+
navigator: Fe,
|
|
509
|
+
origin: Ms
|
|
510
|
+
}, Symbol.toStringTag, { value: "Module" })), R = {
|
|
511
|
+
...Hs,
|
|
512
|
+
...Vs
|
|
513
|
+
};
|
|
514
|
+
function qs(e, t) {
|
|
515
|
+
return De(e, new R.classes.URLSearchParams(), {
|
|
516
|
+
visitor: function(s, r, n, i) {
|
|
517
|
+
return R.isNode && l.isBuffer(s) ? (this.append(r, s.toString("base64")), !1) : i.defaultVisitor.apply(this, arguments);
|
|
518
|
+
},
|
|
519
|
+
...t
|
|
520
|
+
});
|
|
521
|
+
}
|
|
522
|
+
function Ws(e) {
|
|
523
|
+
return l.matchAll(/\w+|\[(\w*)]/g, e).map((t) => t[0] === "[]" ? "" : t[1] || t[0]);
|
|
524
|
+
}
|
|
525
|
+
function Js(e) {
|
|
526
|
+
const t = {}, s = Object.keys(e);
|
|
527
|
+
let r;
|
|
528
|
+
const n = s.length;
|
|
529
|
+
let i;
|
|
530
|
+
for (r = 0; r < n; r++)
|
|
531
|
+
i = s[r], t[i] = e[i];
|
|
532
|
+
return t;
|
|
533
|
+
}
|
|
534
|
+
function $t(e) {
|
|
535
|
+
function t(s, r, n, i) {
|
|
536
|
+
let o = s[i++];
|
|
537
|
+
if (o === "__proto__") return !0;
|
|
538
|
+
const a = Number.isFinite(+o), f = i >= s.length;
|
|
539
|
+
return o = !o && l.isArray(n) ? n.length : o, f ? (l.hasOwnProp(n, o) ? n[o] = [n[o], r] : n[o] = r, !a) : ((!n[o] || !l.isObject(n[o])) && (n[o] = []), t(s, r, n[o], i) && l.isArray(n[o]) && (n[o] = Js(n[o])), !a);
|
|
540
|
+
}
|
|
541
|
+
if (l.isFormData(e) && l.isFunction(e.entries)) {
|
|
542
|
+
const s = {};
|
|
543
|
+
return l.forEachEntry(e, (r, n) => {
|
|
544
|
+
t(Ws(r), n, s, 0);
|
|
545
|
+
}), s;
|
|
546
|
+
}
|
|
547
|
+
return null;
|
|
548
|
+
}
|
|
549
|
+
function Ks(e, t, s) {
|
|
550
|
+
if (l.isString(e))
|
|
551
|
+
try {
|
|
552
|
+
return (t || JSON.parse)(e), l.trim(e);
|
|
553
|
+
} catch (r) {
|
|
554
|
+
if (r.name !== "SyntaxError")
|
|
555
|
+
throw r;
|
|
556
|
+
}
|
|
557
|
+
return (s || JSON.stringify)(e);
|
|
558
|
+
}
|
|
559
|
+
const ce = {
|
|
560
|
+
transitional: Rt,
|
|
561
|
+
adapter: ["xhr", "http", "fetch"],
|
|
562
|
+
transformRequest: [function(t, s) {
|
|
563
|
+
const r = s.getContentType() || "", n = r.indexOf("application/json") > -1, i = l.isObject(t);
|
|
564
|
+
if (i && l.isHTMLForm(t) && (t = new FormData(t)), l.isFormData(t))
|
|
565
|
+
return n ? JSON.stringify($t(t)) : t;
|
|
566
|
+
if (l.isArrayBuffer(t) || l.isBuffer(t) || l.isStream(t) || l.isFile(t) || l.isBlob(t) || l.isReadableStream(t))
|
|
567
|
+
return t;
|
|
568
|
+
if (l.isArrayBufferView(t))
|
|
569
|
+
return t.buffer;
|
|
570
|
+
if (l.isURLSearchParams(t))
|
|
571
|
+
return s.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), t.toString();
|
|
572
|
+
let a;
|
|
573
|
+
if (i) {
|
|
574
|
+
if (r.indexOf("application/x-www-form-urlencoded") > -1)
|
|
575
|
+
return qs(t, this.formSerializer).toString();
|
|
576
|
+
if ((a = l.isFileList(t)) || r.indexOf("multipart/form-data") > -1) {
|
|
577
|
+
const f = this.env && this.env.FormData;
|
|
578
|
+
return De(
|
|
579
|
+
a ? { "files[]": t } : t,
|
|
580
|
+
f && new f(),
|
|
581
|
+
this.formSerializer
|
|
582
|
+
);
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
return i || n ? (s.setContentType("application/json", !1), Ks(t)) : t;
|
|
586
|
+
}],
|
|
587
|
+
transformResponse: [function(t) {
|
|
588
|
+
const s = this.transitional || ce.transitional, r = s && s.forcedJSONParsing, n = this.responseType === "json";
|
|
589
|
+
if (l.isResponse(t) || l.isReadableStream(t))
|
|
590
|
+
return t;
|
|
591
|
+
if (t && l.isString(t) && (r && !this.responseType || n)) {
|
|
592
|
+
const o = !(s && s.silentJSONParsing) && n;
|
|
593
|
+
try {
|
|
594
|
+
return JSON.parse(t, this.parseReviver);
|
|
595
|
+
} catch (a) {
|
|
596
|
+
if (o)
|
|
597
|
+
throw a.name === "SyntaxError" ? D.from(a, D.ERR_BAD_RESPONSE, this, null, this.response) : a;
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
return t;
|
|
601
|
+
}],
|
|
602
|
+
/**
|
|
603
|
+
* A timeout in milliseconds to abort a request. If set to 0 (default) a
|
|
604
|
+
* timeout is not created.
|
|
605
|
+
*/
|
|
606
|
+
timeout: 0,
|
|
607
|
+
xsrfCookieName: "XSRF-TOKEN",
|
|
608
|
+
xsrfHeaderName: "X-XSRF-TOKEN",
|
|
609
|
+
maxContentLength: -1,
|
|
610
|
+
maxBodyLength: -1,
|
|
611
|
+
env: {
|
|
612
|
+
FormData: R.classes.FormData,
|
|
613
|
+
Blob: R.classes.Blob
|
|
614
|
+
},
|
|
615
|
+
validateStatus: function(t) {
|
|
616
|
+
return t >= 200 && t < 300;
|
|
617
|
+
},
|
|
618
|
+
headers: {
|
|
619
|
+
common: {
|
|
620
|
+
Accept: "application/json, text/plain, */*",
|
|
621
|
+
"Content-Type": void 0
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
};
|
|
625
|
+
l.forEach(["delete", "get", "head", "post", "put", "patch"], (e) => {
|
|
626
|
+
ce.headers[e] = {};
|
|
627
|
+
});
|
|
628
|
+
const Xs = l.toObjectSet([
|
|
629
|
+
"age",
|
|
630
|
+
"authorization",
|
|
631
|
+
"content-length",
|
|
632
|
+
"content-type",
|
|
633
|
+
"etag",
|
|
634
|
+
"expires",
|
|
635
|
+
"from",
|
|
636
|
+
"host",
|
|
637
|
+
"if-modified-since",
|
|
638
|
+
"if-unmodified-since",
|
|
639
|
+
"last-modified",
|
|
640
|
+
"location",
|
|
641
|
+
"max-forwards",
|
|
642
|
+
"proxy-authorization",
|
|
643
|
+
"referer",
|
|
644
|
+
"retry-after",
|
|
645
|
+
"user-agent"
|
|
646
|
+
]), Gs = (e) => {
|
|
647
|
+
const t = {};
|
|
648
|
+
let s, r, n;
|
|
649
|
+
return e && e.split(`
|
|
650
|
+
`).forEach(function(o) {
|
|
651
|
+
n = o.indexOf(":"), s = o.substring(0, n).trim().toLowerCase(), r = o.substring(n + 1).trim(), !(!s || t[s] && Xs[s]) && (s === "set-cookie" ? t[s] ? t[s].push(r) : t[s] = [r] : t[s] = t[s] ? t[s] + ", " + r : r);
|
|
652
|
+
}), t;
|
|
653
|
+
}, et = Symbol("internals");
|
|
654
|
+
function ne(e) {
|
|
655
|
+
return e && String(e).trim().toLowerCase();
|
|
656
|
+
}
|
|
657
|
+
function me(e) {
|
|
658
|
+
return e === !1 || e == null ? e : l.isArray(e) ? e.map(me) : String(e);
|
|
659
|
+
}
|
|
660
|
+
function Qs(e) {
|
|
661
|
+
const t = /* @__PURE__ */ Object.create(null), s = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
|
|
662
|
+
let r;
|
|
663
|
+
for (; r = s.exec(e); )
|
|
664
|
+
t[r[1]] = r[2];
|
|
665
|
+
return t;
|
|
666
|
+
}
|
|
667
|
+
const Zs = (e) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());
|
|
668
|
+
function Ce(e, t, s, r, n) {
|
|
669
|
+
if (l.isFunction(r))
|
|
670
|
+
return r.call(this, t, s);
|
|
671
|
+
if (n && (t = s), !!l.isString(t)) {
|
|
672
|
+
if (l.isString(r))
|
|
673
|
+
return t.indexOf(r) !== -1;
|
|
674
|
+
if (l.isRegExp(r))
|
|
675
|
+
return r.test(t);
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
function Ys(e) {
|
|
679
|
+
return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (t, s, r) => s.toUpperCase() + r);
|
|
680
|
+
}
|
|
681
|
+
function er(e, t) {
|
|
682
|
+
const s = l.toCamelCase(" " + t);
|
|
683
|
+
["get", "set", "has"].forEach((r) => {
|
|
684
|
+
Object.defineProperty(e, r + s, {
|
|
685
|
+
value: function(n, i, o) {
|
|
686
|
+
return this[r].call(this, t, n, i, o);
|
|
687
|
+
},
|
|
688
|
+
configurable: !0
|
|
689
|
+
});
|
|
690
|
+
});
|
|
691
|
+
}
|
|
692
|
+
let A = class {
|
|
693
|
+
constructor(t) {
|
|
694
|
+
t && this.set(t);
|
|
695
|
+
}
|
|
696
|
+
set(t, s, r) {
|
|
697
|
+
const n = this;
|
|
698
|
+
function i(a, f, d) {
|
|
699
|
+
const u = ne(f);
|
|
700
|
+
if (!u)
|
|
701
|
+
throw new Error("header name must be a non-empty string");
|
|
702
|
+
const h = l.findKey(n, u);
|
|
703
|
+
(!h || n[h] === void 0 || d === !0 || d === void 0 && n[h] !== !1) && (n[h || f] = me(a));
|
|
704
|
+
}
|
|
705
|
+
const o = (a, f) => l.forEach(a, (d, u) => i(d, u, f));
|
|
706
|
+
if (l.isPlainObject(t) || t instanceof this.constructor)
|
|
707
|
+
o(t, s);
|
|
708
|
+
else if (l.isString(t) && (t = t.trim()) && !Zs(t))
|
|
709
|
+
o(Gs(t), s);
|
|
710
|
+
else if (l.isObject(t) && l.isIterable(t)) {
|
|
711
|
+
let a = {}, f, d;
|
|
712
|
+
for (const u of t) {
|
|
713
|
+
if (!l.isArray(u))
|
|
714
|
+
throw TypeError("Object iterator must return a key-value pair");
|
|
715
|
+
a[d = u[0]] = (f = a[d]) ? l.isArray(f) ? [...f, u[1]] : [f, u[1]] : u[1];
|
|
716
|
+
}
|
|
717
|
+
o(a, s);
|
|
718
|
+
} else
|
|
719
|
+
t != null && i(s, t, r);
|
|
720
|
+
return this;
|
|
721
|
+
}
|
|
722
|
+
get(t, s) {
|
|
723
|
+
if (t = ne(t), t) {
|
|
724
|
+
const r = l.findKey(this, t);
|
|
725
|
+
if (r) {
|
|
726
|
+
const n = this[r];
|
|
727
|
+
if (!s)
|
|
728
|
+
return n;
|
|
729
|
+
if (s === !0)
|
|
730
|
+
return Qs(n);
|
|
731
|
+
if (l.isFunction(s))
|
|
732
|
+
return s.call(this, n, r);
|
|
733
|
+
if (l.isRegExp(s))
|
|
734
|
+
return s.exec(n);
|
|
735
|
+
throw new TypeError("parser must be boolean|regexp|function");
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
has(t, s) {
|
|
740
|
+
if (t = ne(t), t) {
|
|
741
|
+
const r = l.findKey(this, t);
|
|
742
|
+
return !!(r && this[r] !== void 0 && (!s || Ce(this, this[r], r, s)));
|
|
743
|
+
}
|
|
744
|
+
return !1;
|
|
745
|
+
}
|
|
746
|
+
delete(t, s) {
|
|
747
|
+
const r = this;
|
|
748
|
+
let n = !1;
|
|
749
|
+
function i(o) {
|
|
750
|
+
if (o = ne(o), o) {
|
|
751
|
+
const a = l.findKey(r, o);
|
|
752
|
+
a && (!s || Ce(r, r[a], a, s)) && (delete r[a], n = !0);
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
return l.isArray(t) ? t.forEach(i) : i(t), n;
|
|
756
|
+
}
|
|
757
|
+
clear(t) {
|
|
758
|
+
const s = Object.keys(this);
|
|
759
|
+
let r = s.length, n = !1;
|
|
760
|
+
for (; r--; ) {
|
|
761
|
+
const i = s[r];
|
|
762
|
+
(!t || Ce(this, this[i], i, t, !0)) && (delete this[i], n = !0);
|
|
763
|
+
}
|
|
764
|
+
return n;
|
|
765
|
+
}
|
|
766
|
+
normalize(t) {
|
|
767
|
+
const s = this, r = {};
|
|
768
|
+
return l.forEach(this, (n, i) => {
|
|
769
|
+
const o = l.findKey(r, i);
|
|
770
|
+
if (o) {
|
|
771
|
+
s[o] = me(n), delete s[i];
|
|
772
|
+
return;
|
|
773
|
+
}
|
|
774
|
+
const a = t ? Ys(i) : String(i).trim();
|
|
775
|
+
a !== i && delete s[i], s[a] = me(n), r[a] = !0;
|
|
776
|
+
}), this;
|
|
777
|
+
}
|
|
778
|
+
concat(...t) {
|
|
779
|
+
return this.constructor.concat(this, ...t);
|
|
780
|
+
}
|
|
781
|
+
toJSON(t) {
|
|
782
|
+
const s = /* @__PURE__ */ Object.create(null);
|
|
783
|
+
return l.forEach(this, (r, n) => {
|
|
784
|
+
r != null && r !== !1 && (s[n] = t && l.isArray(r) ? r.join(", ") : r);
|
|
785
|
+
}), s;
|
|
786
|
+
}
|
|
787
|
+
[Symbol.iterator]() {
|
|
788
|
+
return Object.entries(this.toJSON())[Symbol.iterator]();
|
|
789
|
+
}
|
|
790
|
+
toString() {
|
|
791
|
+
return Object.entries(this.toJSON()).map(([t, s]) => t + ": " + s).join(`
|
|
792
|
+
`);
|
|
793
|
+
}
|
|
794
|
+
getSetCookie() {
|
|
795
|
+
return this.get("set-cookie") || [];
|
|
796
|
+
}
|
|
797
|
+
get [Symbol.toStringTag]() {
|
|
798
|
+
return "AxiosHeaders";
|
|
799
|
+
}
|
|
800
|
+
static from(t) {
|
|
801
|
+
return t instanceof this ? t : new this(t);
|
|
802
|
+
}
|
|
803
|
+
static concat(t, ...s) {
|
|
804
|
+
const r = new this(t);
|
|
805
|
+
return s.forEach((n) => r.set(n)), r;
|
|
806
|
+
}
|
|
807
|
+
static accessor(t) {
|
|
808
|
+
const r = (this[et] = this[et] = {
|
|
809
|
+
accessors: {}
|
|
810
|
+
}).accessors, n = this.prototype;
|
|
811
|
+
function i(o) {
|
|
812
|
+
const a = ne(o);
|
|
813
|
+
r[a] || (er(n, o), r[a] = !0);
|
|
814
|
+
}
|
|
815
|
+
return l.isArray(t) ? t.forEach(i) : i(t), this;
|
|
816
|
+
}
|
|
817
|
+
};
|
|
818
|
+
A.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
|
|
819
|
+
l.reduceDescriptors(A.prototype, ({ value: e }, t) => {
|
|
820
|
+
let s = t[0].toUpperCase() + t.slice(1);
|
|
821
|
+
return {
|
|
822
|
+
get: () => e,
|
|
823
|
+
set(r) {
|
|
824
|
+
this[s] = r;
|
|
825
|
+
}
|
|
826
|
+
};
|
|
827
|
+
});
|
|
828
|
+
l.freezeMethods(A);
|
|
829
|
+
function Oe(e, t) {
|
|
830
|
+
const s = this || ce, r = t || s, n = A.from(r.headers);
|
|
831
|
+
let i = r.data;
|
|
832
|
+
return l.forEach(e, function(a) {
|
|
833
|
+
i = a.call(s, i, n.normalize(), t ? t.status : void 0);
|
|
834
|
+
}), n.normalize(), i;
|
|
835
|
+
}
|
|
836
|
+
function Tt(e) {
|
|
837
|
+
return !!(e && e.__CANCEL__);
|
|
838
|
+
}
|
|
839
|
+
function se(e, t, s) {
|
|
840
|
+
D.call(this, e ?? "canceled", D.ERR_CANCELED, t, s), this.name = "CanceledError";
|
|
841
|
+
}
|
|
842
|
+
l.inherits(se, D, {
|
|
843
|
+
__CANCEL__: !0
|
|
844
|
+
});
|
|
845
|
+
function Nt(e, t, s) {
|
|
846
|
+
const r = s.config.validateStatus;
|
|
847
|
+
!s.status || !r || r(s.status) ? e(s) : t(new D(
|
|
848
|
+
"Request failed with status code " + s.status,
|
|
849
|
+
[D.ERR_BAD_REQUEST, D.ERR_BAD_RESPONSE][Math.floor(s.status / 100) - 4],
|
|
850
|
+
s.config,
|
|
851
|
+
s.request,
|
|
852
|
+
s
|
|
853
|
+
));
|
|
854
|
+
}
|
|
855
|
+
function tr(e) {
|
|
856
|
+
const t = /^([-+\w]{1,25})(:?\/\/|:)/.exec(e);
|
|
857
|
+
return t && t[1] || "";
|
|
858
|
+
}
|
|
859
|
+
function sr(e, t) {
|
|
860
|
+
e = e || 10;
|
|
861
|
+
const s = new Array(e), r = new Array(e);
|
|
862
|
+
let n = 0, i = 0, o;
|
|
863
|
+
return t = t !== void 0 ? t : 1e3, function(f) {
|
|
864
|
+
const d = Date.now(), u = r[i];
|
|
865
|
+
o || (o = d), s[n] = f, r[n] = d;
|
|
866
|
+
let h = i, w = 0;
|
|
867
|
+
for (; h !== n; )
|
|
868
|
+
w += s[h++], h = h % e;
|
|
869
|
+
if (n = (n + 1) % e, n === i && (i = (i + 1) % e), d - o < t)
|
|
870
|
+
return;
|
|
871
|
+
const b = u && d - u;
|
|
872
|
+
return b ? Math.round(w * 1e3 / b) : void 0;
|
|
873
|
+
};
|
|
874
|
+
}
|
|
875
|
+
function rr(e, t) {
|
|
876
|
+
let s = 0, r = 1e3 / t, n, i;
|
|
877
|
+
const o = (d, u = Date.now()) => {
|
|
878
|
+
s = u, n = null, i && (clearTimeout(i), i = null), e(...d);
|
|
879
|
+
};
|
|
880
|
+
return [(...d) => {
|
|
881
|
+
const u = Date.now(), h = u - s;
|
|
882
|
+
h >= r ? o(d, u) : (n = d, i || (i = setTimeout(() => {
|
|
883
|
+
i = null, o(n);
|
|
884
|
+
}, r - h)));
|
|
885
|
+
}, () => n && o(n)];
|
|
886
|
+
}
|
|
887
|
+
const be = (e, t, s = 3) => {
|
|
888
|
+
let r = 0;
|
|
889
|
+
const n = sr(50, 250);
|
|
890
|
+
return rr((i) => {
|
|
891
|
+
const o = i.loaded, a = i.lengthComputable ? i.total : void 0, f = o - r, d = n(f), u = o <= a;
|
|
892
|
+
r = o;
|
|
893
|
+
const h = {
|
|
894
|
+
loaded: o,
|
|
895
|
+
total: a,
|
|
896
|
+
progress: a ? o / a : void 0,
|
|
897
|
+
bytes: f,
|
|
898
|
+
rate: d || void 0,
|
|
899
|
+
estimated: d && a && u ? (a - o) / d : void 0,
|
|
900
|
+
event: i,
|
|
901
|
+
lengthComputable: a != null,
|
|
902
|
+
[t ? "download" : "upload"]: !0
|
|
903
|
+
};
|
|
904
|
+
e(h);
|
|
905
|
+
}, s);
|
|
906
|
+
}, tt = (e, t) => {
|
|
907
|
+
const s = e != null;
|
|
908
|
+
return [(r) => t[0]({
|
|
909
|
+
lengthComputable: s,
|
|
910
|
+
total: e,
|
|
911
|
+
loaded: r
|
|
912
|
+
}), t[1]];
|
|
913
|
+
}, st = (e) => (...t) => l.asap(() => e(...t)), nr = R.hasStandardBrowserEnv ? /* @__PURE__ */ ((e, t) => (s) => (s = new URL(s, R.origin), e.protocol === s.protocol && e.host === s.host && (t || e.port === s.port)))(
|
|
914
|
+
new URL(R.origin),
|
|
915
|
+
R.navigator && /(msie|trident)/i.test(R.navigator.userAgent)
|
|
916
|
+
) : () => !0, ir = R.hasStandardBrowserEnv ? (
|
|
917
|
+
// Standard browser envs support document.cookie
|
|
918
|
+
{
|
|
919
|
+
write(e, t, s, r, n, i) {
|
|
920
|
+
const o = [e + "=" + encodeURIComponent(t)];
|
|
921
|
+
l.isNumber(s) && o.push("expires=" + new Date(s).toGMTString()), l.isString(r) && o.push("path=" + r), l.isString(n) && o.push("domain=" + n), i === !0 && o.push("secure"), document.cookie = o.join("; ");
|
|
922
|
+
},
|
|
923
|
+
read(e) {
|
|
924
|
+
const t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
|
|
925
|
+
return t ? decodeURIComponent(t[3]) : null;
|
|
926
|
+
},
|
|
927
|
+
remove(e) {
|
|
928
|
+
this.write(e, "", Date.now() - 864e5);
|
|
929
|
+
}
|
|
930
|
+
}
|
|
931
|
+
) : (
|
|
932
|
+
// Non-standard browser env (web workers, react-native) lack needed support.
|
|
933
|
+
{
|
|
934
|
+
write() {
|
|
935
|
+
},
|
|
936
|
+
read() {
|
|
937
|
+
return null;
|
|
938
|
+
},
|
|
939
|
+
remove() {
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
);
|
|
943
|
+
function or(e) {
|
|
944
|
+
return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e);
|
|
945
|
+
}
|
|
946
|
+
function ar(e, t) {
|
|
947
|
+
return t ? e.replace(/\/?\/$/, "") + "/" + t.replace(/^\/+/, "") : e;
|
|
948
|
+
}
|
|
949
|
+
function Ft(e, t, s) {
|
|
950
|
+
let r = !or(t);
|
|
951
|
+
return e && (r || s == !1) ? ar(e, t) : t;
|
|
952
|
+
}
|
|
953
|
+
const rt = (e) => e instanceof A ? { ...e } : e;
|
|
954
|
+
function Z(e, t) {
|
|
955
|
+
t = t || {};
|
|
956
|
+
const s = {};
|
|
957
|
+
function r(d, u, h, w) {
|
|
958
|
+
return l.isPlainObject(d) && l.isPlainObject(u) ? l.merge.call({ caseless: w }, d, u) : l.isPlainObject(u) ? l.merge({}, u) : l.isArray(u) ? u.slice() : u;
|
|
959
|
+
}
|
|
960
|
+
function n(d, u, h, w) {
|
|
961
|
+
if (l.isUndefined(u)) {
|
|
962
|
+
if (!l.isUndefined(d))
|
|
963
|
+
return r(void 0, d, h, w);
|
|
964
|
+
} else return r(d, u, h, w);
|
|
965
|
+
}
|
|
966
|
+
function i(d, u) {
|
|
967
|
+
if (!l.isUndefined(u))
|
|
968
|
+
return r(void 0, u);
|
|
969
|
+
}
|
|
970
|
+
function o(d, u) {
|
|
971
|
+
if (l.isUndefined(u)) {
|
|
972
|
+
if (!l.isUndefined(d))
|
|
973
|
+
return r(void 0, d);
|
|
974
|
+
} else return r(void 0, u);
|
|
975
|
+
}
|
|
976
|
+
function a(d, u, h) {
|
|
977
|
+
if (h in t)
|
|
978
|
+
return r(d, u);
|
|
979
|
+
if (h in e)
|
|
980
|
+
return r(void 0, d);
|
|
981
|
+
}
|
|
982
|
+
const f = {
|
|
983
|
+
url: i,
|
|
984
|
+
method: i,
|
|
985
|
+
data: i,
|
|
986
|
+
baseURL: o,
|
|
987
|
+
transformRequest: o,
|
|
988
|
+
transformResponse: o,
|
|
989
|
+
paramsSerializer: o,
|
|
990
|
+
timeout: o,
|
|
991
|
+
timeoutMessage: o,
|
|
992
|
+
withCredentials: o,
|
|
993
|
+
withXSRFToken: o,
|
|
994
|
+
adapter: o,
|
|
995
|
+
responseType: o,
|
|
996
|
+
xsrfCookieName: o,
|
|
997
|
+
xsrfHeaderName: o,
|
|
998
|
+
onUploadProgress: o,
|
|
999
|
+
onDownloadProgress: o,
|
|
1000
|
+
decompress: o,
|
|
1001
|
+
maxContentLength: o,
|
|
1002
|
+
maxBodyLength: o,
|
|
1003
|
+
beforeRedirect: o,
|
|
1004
|
+
transport: o,
|
|
1005
|
+
httpAgent: o,
|
|
1006
|
+
httpsAgent: o,
|
|
1007
|
+
cancelToken: o,
|
|
1008
|
+
socketPath: o,
|
|
1009
|
+
responseEncoding: o,
|
|
1010
|
+
validateStatus: a,
|
|
1011
|
+
headers: (d, u, h) => n(rt(d), rt(u), h, !0)
|
|
1012
|
+
};
|
|
1013
|
+
return l.forEach(Object.keys({ ...e, ...t }), function(u) {
|
|
1014
|
+
const h = f[u] || n, w = h(e[u], t[u], u);
|
|
1015
|
+
l.isUndefined(w) && h !== a || (s[u] = w);
|
|
1016
|
+
}), s;
|
|
1017
|
+
}
|
|
1018
|
+
const At = (e) => {
|
|
1019
|
+
const t = Z({}, e);
|
|
1020
|
+
let { data: s, withXSRFToken: r, xsrfHeaderName: n, xsrfCookieName: i, headers: o, auth: a } = t;
|
|
1021
|
+
if (t.headers = o = A.from(o), t.url = Ot(Ft(t.baseURL, t.url, t.allowAbsoluteUrls), e.params, e.paramsSerializer), a && o.set(
|
|
1022
|
+
"Authorization",
|
|
1023
|
+
"Basic " + btoa((a.username || "") + ":" + (a.password ? unescape(encodeURIComponent(a.password)) : ""))
|
|
1024
|
+
), l.isFormData(s)) {
|
|
1025
|
+
if (R.hasStandardBrowserEnv || R.hasStandardBrowserWebWorkerEnv)
|
|
1026
|
+
o.setContentType(void 0);
|
|
1027
|
+
else if (l.isFunction(s.getHeaders)) {
|
|
1028
|
+
const f = s.getHeaders(), d = ["content-type", "content-length"];
|
|
1029
|
+
Object.entries(f).forEach(([u, h]) => {
|
|
1030
|
+
d.includes(u.toLowerCase()) && o.set(u, h);
|
|
1031
|
+
});
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
if (R.hasStandardBrowserEnv && (r && l.isFunction(r) && (r = r(t)), r || r !== !1 && nr(t.url))) {
|
|
1035
|
+
const f = n && i && ir.read(i);
|
|
1036
|
+
f && o.set(n, f);
|
|
1037
|
+
}
|
|
1038
|
+
return t;
|
|
1039
|
+
}, lr = typeof XMLHttpRequest < "u", cr = lr && function(e) {
|
|
1040
|
+
return new Promise(function(s, r) {
|
|
1041
|
+
const n = At(e);
|
|
1042
|
+
let i = n.data;
|
|
1043
|
+
const o = A.from(n.headers).normalize();
|
|
1044
|
+
let { responseType: a, onUploadProgress: f, onDownloadProgress: d } = n, u, h, w, b, c;
|
|
1045
|
+
function p() {
|
|
1046
|
+
b && b(), c && c(), n.cancelToken && n.cancelToken.unsubscribe(u), n.signal && n.signal.removeEventListener("abort", u);
|
|
1047
|
+
}
|
|
1048
|
+
let m = new XMLHttpRequest();
|
|
1049
|
+
m.open(n.method.toUpperCase(), n.url, !0), m.timeout = n.timeout;
|
|
1050
|
+
function k() {
|
|
1051
|
+
if (!m)
|
|
1052
|
+
return;
|
|
1053
|
+
const y = A.from(
|
|
1054
|
+
"getAllResponseHeaders" in m && m.getAllResponseHeaders()
|
|
1055
|
+
), $ = {
|
|
1056
|
+
data: !a || a === "text" || a === "json" ? m.responseText : m.response,
|
|
1057
|
+
status: m.status,
|
|
1058
|
+
statusText: m.statusText,
|
|
1059
|
+
headers: y,
|
|
1060
|
+
config: e,
|
|
1061
|
+
request: m
|
|
1062
|
+
};
|
|
1063
|
+
Nt(function(L) {
|
|
1064
|
+
s(L), p();
|
|
1065
|
+
}, function(L) {
|
|
1066
|
+
r(L), p();
|
|
1067
|
+
}, $), m = null;
|
|
1068
|
+
}
|
|
1069
|
+
"onloadend" in m ? m.onloadend = k : m.onreadystatechange = function() {
|
|
1070
|
+
!m || m.readyState !== 4 || m.status === 0 && !(m.responseURL && m.responseURL.indexOf("file:") === 0) || setTimeout(k);
|
|
1071
|
+
}, m.onabort = function() {
|
|
1072
|
+
m && (r(new D("Request aborted", D.ECONNABORTED, e, m)), m = null);
|
|
1073
|
+
}, m.onerror = function(C) {
|
|
1074
|
+
const $ = C && C.message ? C.message : "Network Error", J = new D($, D.ERR_NETWORK, e, m);
|
|
1075
|
+
J.event = C || null, r(J), m = null;
|
|
1076
|
+
}, m.ontimeout = function() {
|
|
1077
|
+
let C = n.timeout ? "timeout of " + n.timeout + "ms exceeded" : "timeout exceeded";
|
|
1078
|
+
const $ = n.transitional || Rt;
|
|
1079
|
+
n.timeoutErrorMessage && (C = n.timeoutErrorMessage), r(new D(
|
|
1080
|
+
C,
|
|
1081
|
+
$.clarifyTimeoutError ? D.ETIMEDOUT : D.ECONNABORTED,
|
|
1082
|
+
e,
|
|
1083
|
+
m
|
|
1084
|
+
)), m = null;
|
|
1085
|
+
}, i === void 0 && o.setContentType(null), "setRequestHeader" in m && l.forEach(o.toJSON(), function(C, $) {
|
|
1086
|
+
m.setRequestHeader($, C);
|
|
1087
|
+
}), l.isUndefined(n.withCredentials) || (m.withCredentials = !!n.withCredentials), a && a !== "json" && (m.responseType = n.responseType), d && ([w, c] = be(d, !0), m.addEventListener("progress", w)), f && m.upload && ([h, b] = be(f), m.upload.addEventListener("progress", h), m.upload.addEventListener("loadend", b)), (n.cancelToken || n.signal) && (u = (y) => {
|
|
1088
|
+
m && (r(!y || y.type ? new se(null, e, m) : y), m.abort(), m = null);
|
|
1089
|
+
}, n.cancelToken && n.cancelToken.subscribe(u), n.signal && (n.signal.aborted ? u() : n.signal.addEventListener("abort", u)));
|
|
1090
|
+
const S = tr(n.url);
|
|
1091
|
+
if (S && R.protocols.indexOf(S) === -1) {
|
|
1092
|
+
r(new D("Unsupported protocol " + S + ":", D.ERR_BAD_REQUEST, e));
|
|
1093
|
+
return;
|
|
1094
|
+
}
|
|
1095
|
+
m.send(i || null);
|
|
1096
|
+
});
|
|
1097
|
+
}, ur = (e, t) => {
|
|
1098
|
+
const { length: s } = e = e ? e.filter(Boolean) : [];
|
|
1099
|
+
if (t || s) {
|
|
1100
|
+
let r = new AbortController(), n;
|
|
1101
|
+
const i = function(d) {
|
|
1102
|
+
if (!n) {
|
|
1103
|
+
n = !0, a();
|
|
1104
|
+
const u = d instanceof Error ? d : this.reason;
|
|
1105
|
+
r.abort(u instanceof D ? u : new se(u instanceof Error ? u.message : u));
|
|
1106
|
+
}
|
|
1107
|
+
};
|
|
1108
|
+
let o = t && setTimeout(() => {
|
|
1109
|
+
o = null, i(new D(`timeout ${t} of ms exceeded`, D.ETIMEDOUT));
|
|
1110
|
+
}, t);
|
|
1111
|
+
const a = () => {
|
|
1112
|
+
e && (o && clearTimeout(o), o = null, e.forEach((d) => {
|
|
1113
|
+
d.unsubscribe ? d.unsubscribe(i) : d.removeEventListener("abort", i);
|
|
1114
|
+
}), e = null);
|
|
1115
|
+
};
|
|
1116
|
+
e.forEach((d) => d.addEventListener("abort", i));
|
|
1117
|
+
const { signal: f } = r;
|
|
1118
|
+
return f.unsubscribe = () => l.asap(a), f;
|
|
1119
|
+
}
|
|
1120
|
+
}, dr = function* (e, t) {
|
|
1121
|
+
let s = e.byteLength;
|
|
1122
|
+
if (s < t) {
|
|
1123
|
+
yield e;
|
|
1124
|
+
return;
|
|
1125
|
+
}
|
|
1126
|
+
let r = 0, n;
|
|
1127
|
+
for (; r < s; )
|
|
1128
|
+
n = r + t, yield e.slice(r, n), r = n;
|
|
1129
|
+
}, fr = async function* (e, t) {
|
|
1130
|
+
for await (const s of hr(e))
|
|
1131
|
+
yield* dr(s, t);
|
|
1132
|
+
}, hr = async function* (e) {
|
|
1133
|
+
if (e[Symbol.asyncIterator]) {
|
|
1134
|
+
yield* e;
|
|
1135
|
+
return;
|
|
1136
|
+
}
|
|
1137
|
+
const t = e.getReader();
|
|
1138
|
+
try {
|
|
1139
|
+
for (; ; ) {
|
|
1140
|
+
const { done: s, value: r } = await t.read();
|
|
1141
|
+
if (s)
|
|
1142
|
+
break;
|
|
1143
|
+
yield r;
|
|
1144
|
+
}
|
|
1145
|
+
} finally {
|
|
1146
|
+
await t.cancel();
|
|
1147
|
+
}
|
|
1148
|
+
}, nt = (e, t, s, r) => {
|
|
1149
|
+
const n = fr(e, t);
|
|
1150
|
+
let i = 0, o, a = (f) => {
|
|
1151
|
+
o || (o = !0, r && r(f));
|
|
1152
|
+
};
|
|
1153
|
+
return new ReadableStream({
|
|
1154
|
+
async pull(f) {
|
|
1155
|
+
try {
|
|
1156
|
+
const { done: d, value: u } = await n.next();
|
|
1157
|
+
if (d) {
|
|
1158
|
+
a(), f.close();
|
|
1159
|
+
return;
|
|
1160
|
+
}
|
|
1161
|
+
let h = u.byteLength;
|
|
1162
|
+
if (s) {
|
|
1163
|
+
let w = i += h;
|
|
1164
|
+
s(w);
|
|
1165
|
+
}
|
|
1166
|
+
f.enqueue(new Uint8Array(u));
|
|
1167
|
+
} catch (d) {
|
|
1168
|
+
throw a(d), d;
|
|
1169
|
+
}
|
|
1170
|
+
},
|
|
1171
|
+
cancel(f) {
|
|
1172
|
+
return a(f), n.return();
|
|
1173
|
+
}
|
|
1174
|
+
}, {
|
|
1175
|
+
highWaterMark: 2
|
|
1176
|
+
});
|
|
1177
|
+
}, it = 64 * 1024, { isFunction: he } = l, pr = (({ Request: e, Response: t }) => ({
|
|
1178
|
+
Request: e,
|
|
1179
|
+
Response: t
|
|
1180
|
+
}))(l.global), {
|
|
1181
|
+
ReadableStream: ot,
|
|
1182
|
+
TextEncoder: at
|
|
1183
|
+
} = l.global, lt = (e, ...t) => {
|
|
1184
|
+
try {
|
|
1185
|
+
return !!e(...t);
|
|
1186
|
+
} catch {
|
|
1187
|
+
return !1;
|
|
1188
|
+
}
|
|
1189
|
+
}, mr = (e) => {
|
|
1190
|
+
e = l.merge.call({
|
|
1191
|
+
skipUndefined: !0
|
|
1192
|
+
}, pr, e);
|
|
1193
|
+
const { fetch: t, Request: s, Response: r } = e, n = t ? he(t) : typeof fetch == "function", i = he(s), o = he(r);
|
|
1194
|
+
if (!n)
|
|
1195
|
+
return !1;
|
|
1196
|
+
const a = n && he(ot), f = n && (typeof at == "function" ? /* @__PURE__ */ ((c) => (p) => c.encode(p))(new at()) : async (c) => new Uint8Array(await new s(c).arrayBuffer())), d = i && a && lt(() => {
|
|
1197
|
+
let c = !1;
|
|
1198
|
+
const p = new s(R.origin, {
|
|
1199
|
+
body: new ot(),
|
|
1200
|
+
method: "POST",
|
|
1201
|
+
get duplex() {
|
|
1202
|
+
return c = !0, "half";
|
|
1203
|
+
}
|
|
1204
|
+
}).headers.has("Content-Type");
|
|
1205
|
+
return c && !p;
|
|
1206
|
+
}), u = o && a && lt(() => l.isReadableStream(new r("").body)), h = {
|
|
1207
|
+
stream: u && ((c) => c.body)
|
|
1208
|
+
};
|
|
1209
|
+
n && ["text", "arrayBuffer", "blob", "formData", "stream"].forEach((c) => {
|
|
1210
|
+
!h[c] && (h[c] = (p, m) => {
|
|
1211
|
+
let k = p && p[c];
|
|
1212
|
+
if (k)
|
|
1213
|
+
return k.call(p);
|
|
1214
|
+
throw new D(`Response type '${c}' is not supported`, D.ERR_NOT_SUPPORT, m);
|
|
1215
|
+
});
|
|
1216
|
+
});
|
|
1217
|
+
const w = async (c) => {
|
|
1218
|
+
if (c == null)
|
|
1219
|
+
return 0;
|
|
1220
|
+
if (l.isBlob(c))
|
|
1221
|
+
return c.size;
|
|
1222
|
+
if (l.isSpecCompliantForm(c))
|
|
1223
|
+
return (await new s(R.origin, {
|
|
1224
|
+
method: "POST",
|
|
1225
|
+
body: c
|
|
1226
|
+
}).arrayBuffer()).byteLength;
|
|
1227
|
+
if (l.isArrayBufferView(c) || l.isArrayBuffer(c))
|
|
1228
|
+
return c.byteLength;
|
|
1229
|
+
if (l.isURLSearchParams(c) && (c = c + ""), l.isString(c))
|
|
1230
|
+
return (await f(c)).byteLength;
|
|
1231
|
+
}, b = async (c, p) => {
|
|
1232
|
+
const m = l.toFiniteNumber(c.getContentLength());
|
|
1233
|
+
return m ?? w(p);
|
|
1234
|
+
};
|
|
1235
|
+
return async (c) => {
|
|
1236
|
+
let {
|
|
1237
|
+
url: p,
|
|
1238
|
+
method: m,
|
|
1239
|
+
data: k,
|
|
1240
|
+
signal: S,
|
|
1241
|
+
cancelToken: y,
|
|
1242
|
+
timeout: C,
|
|
1243
|
+
onDownloadProgress: $,
|
|
1244
|
+
onUploadProgress: J,
|
|
1245
|
+
responseType: L,
|
|
1246
|
+
headers: ke,
|
|
1247
|
+
withCredentials: ue = "same-origin",
|
|
1248
|
+
fetchOptions: ze
|
|
1249
|
+
} = At(c), Me = t || fetch;
|
|
1250
|
+
L = L ? (L + "").toLowerCase() : "text";
|
|
1251
|
+
let de = ur([S, y && y.toAbortSignal()], C), re = null;
|
|
1252
|
+
const K = de && de.unsubscribe && (() => {
|
|
1253
|
+
de.unsubscribe();
|
|
1254
|
+
});
|
|
1255
|
+
let He;
|
|
1256
|
+
try {
|
|
1257
|
+
if (J && d && m !== "get" && m !== "head" && (He = await b(ke, k)) !== 0) {
|
|
1258
|
+
let q = new s(p, {
|
|
1259
|
+
method: "POST",
|
|
1260
|
+
body: k,
|
|
1261
|
+
duplex: "half"
|
|
1262
|
+
}), Y;
|
|
1263
|
+
if (l.isFormData(k) && (Y = q.headers.get("content-type")) && ke.setContentType(Y), q.body) {
|
|
1264
|
+
const [ve, fe] = tt(
|
|
1265
|
+
He,
|
|
1266
|
+
be(st(J))
|
|
1267
|
+
);
|
|
1268
|
+
k = nt(q.body, it, ve, fe);
|
|
1269
|
+
}
|
|
1270
|
+
}
|
|
1271
|
+
l.isString(ue) || (ue = ue ? "include" : "omit");
|
|
1272
|
+
const j = i && "credentials" in s.prototype, qe = {
|
|
1273
|
+
...ze,
|
|
1274
|
+
signal: de,
|
|
1275
|
+
method: m.toUpperCase(),
|
|
1276
|
+
headers: ke.normalize().toJSON(),
|
|
1277
|
+
body: k,
|
|
1278
|
+
duplex: "half",
|
|
1279
|
+
credentials: j ? ue : void 0
|
|
1280
|
+
};
|
|
1281
|
+
re = i && new s(p, qe);
|
|
1282
|
+
let H = await (i ? Me(re, ze) : Me(p, qe));
|
|
1283
|
+
const We = u && (L === "stream" || L === "response");
|
|
1284
|
+
if (u && ($ || We && K)) {
|
|
1285
|
+
const q = {};
|
|
1286
|
+
["status", "statusText", "headers"].forEach((Je) => {
|
|
1287
|
+
q[Je] = H[Je];
|
|
1288
|
+
});
|
|
1289
|
+
const Y = l.toFiniteNumber(H.headers.get("content-length")), [ve, fe] = $ && tt(
|
|
1290
|
+
Y,
|
|
1291
|
+
be(st($), !0)
|
|
1292
|
+
) || [];
|
|
1293
|
+
H = new r(
|
|
1294
|
+
nt(H.body, it, ve, () => {
|
|
1295
|
+
fe && fe(), K && K();
|
|
1296
|
+
}),
|
|
1297
|
+
q
|
|
1298
|
+
);
|
|
1299
|
+
}
|
|
1300
|
+
L = L || "text";
|
|
1301
|
+
let Vt = await h[l.findKey(h, L) || "text"](H, c);
|
|
1302
|
+
return !We && K && K(), await new Promise((q, Y) => {
|
|
1303
|
+
Nt(q, Y, {
|
|
1304
|
+
data: Vt,
|
|
1305
|
+
headers: A.from(H.headers),
|
|
1306
|
+
status: H.status,
|
|
1307
|
+
statusText: H.statusText,
|
|
1308
|
+
config: c,
|
|
1309
|
+
request: re
|
|
1310
|
+
});
|
|
1311
|
+
});
|
|
1312
|
+
} catch (j) {
|
|
1313
|
+
throw K && K(), j && j.name === "TypeError" && /Load failed|fetch/i.test(j.message) ? Object.assign(
|
|
1314
|
+
new D("Network Error", D.ERR_NETWORK, c, re),
|
|
1315
|
+
{
|
|
1316
|
+
cause: j.cause || j
|
|
1317
|
+
}
|
|
1318
|
+
) : D.from(j, j && j.code, c, re);
|
|
1319
|
+
}
|
|
1320
|
+
};
|
|
1321
|
+
}, gr = /* @__PURE__ */ new Map(), Pt = (e) => {
|
|
1322
|
+
let t = e ? e.env : {};
|
|
1323
|
+
const { fetch: s, Request: r, Response: n } = t, i = [
|
|
1324
|
+
r,
|
|
1325
|
+
n,
|
|
1326
|
+
s
|
|
1327
|
+
];
|
|
1328
|
+
let o = i.length, a = o, f, d, u = gr;
|
|
1329
|
+
for (; a--; )
|
|
1330
|
+
f = i[a], d = u.get(f), d === void 0 && u.set(f, d = a ? /* @__PURE__ */ new Map() : mr(t)), u = d;
|
|
1331
|
+
return d;
|
|
1332
|
+
};
|
|
1333
|
+
Pt();
|
|
1334
|
+
const Ae = {
|
|
1335
|
+
http: Fs,
|
|
1336
|
+
xhr: cr,
|
|
1337
|
+
fetch: {
|
|
1338
|
+
get: Pt
|
|
1339
|
+
}
|
|
1340
|
+
};
|
|
1341
|
+
l.forEach(Ae, (e, t) => {
|
|
1342
|
+
if (e) {
|
|
1343
|
+
try {
|
|
1344
|
+
Object.defineProperty(e, "name", { value: t });
|
|
1345
|
+
} catch {
|
|
1346
|
+
}
|
|
1347
|
+
Object.defineProperty(e, "adapterName", { value: t });
|
|
1348
|
+
}
|
|
1349
|
+
});
|
|
1350
|
+
const ct = (e) => `- ${e}`, br = (e) => l.isFunction(e) || e === null || e === !1, Lt = {
|
|
1351
|
+
getAdapter: (e, t) => {
|
|
1352
|
+
e = l.isArray(e) ? e : [e];
|
|
1353
|
+
const { length: s } = e;
|
|
1354
|
+
let r, n;
|
|
1355
|
+
const i = {};
|
|
1356
|
+
for (let o = 0; o < s; o++) {
|
|
1357
|
+
r = e[o];
|
|
1358
|
+
let a;
|
|
1359
|
+
if (n = r, !br(r) && (n = Ae[(a = String(r)).toLowerCase()], n === void 0))
|
|
1360
|
+
throw new D(`Unknown adapter '${a}'`);
|
|
1361
|
+
if (n && (l.isFunction(n) || (n = n.get(t))))
|
|
1362
|
+
break;
|
|
1363
|
+
i[a || "#" + o] = n;
|
|
1364
|
+
}
|
|
1365
|
+
if (!n) {
|
|
1366
|
+
const o = Object.entries(i).map(
|
|
1367
|
+
([f, d]) => `adapter ${f} ` + (d === !1 ? "is not supported by the environment" : "is not available in the build")
|
|
1368
|
+
);
|
|
1369
|
+
let a = s ? o.length > 1 ? `since :
|
|
1370
|
+
` + o.map(ct).join(`
|
|
1371
|
+
`) : " " + ct(o[0]) : "as no adapter specified";
|
|
1372
|
+
throw new D(
|
|
1373
|
+
"There is no suitable adapter to dispatch the request " + a,
|
|
1374
|
+
"ERR_NOT_SUPPORT"
|
|
1375
|
+
);
|
|
1376
|
+
}
|
|
1377
|
+
return n;
|
|
1378
|
+
},
|
|
1379
|
+
adapters: Ae
|
|
1380
|
+
};
|
|
1381
|
+
function Re(e) {
|
|
1382
|
+
if (e.cancelToken && e.cancelToken.throwIfRequested(), e.signal && e.signal.aborted)
|
|
1383
|
+
throw new se(null, e);
|
|
1384
|
+
}
|
|
1385
|
+
function ut(e) {
|
|
1386
|
+
return Re(e), e.headers = A.from(e.headers), e.data = Oe.call(
|
|
1387
|
+
e,
|
|
1388
|
+
e.transformRequest
|
|
1389
|
+
), ["post", "put", "patch"].indexOf(e.method) !== -1 && e.headers.setContentType("application/x-www-form-urlencoded", !1), Lt.getAdapter(e.adapter || ce.adapter, e)(e).then(function(r) {
|
|
1390
|
+
return Re(e), r.data = Oe.call(
|
|
1391
|
+
e,
|
|
1392
|
+
e.transformResponse,
|
|
1393
|
+
r
|
|
1394
|
+
), r.headers = A.from(r.headers), r;
|
|
1395
|
+
}, function(r) {
|
|
1396
|
+
return Tt(r) || (Re(e), r && r.response && (r.response.data = Oe.call(
|
|
1397
|
+
e,
|
|
1398
|
+
e.transformResponse,
|
|
1399
|
+
r.response
|
|
1400
|
+
), r.response.headers = A.from(r.response.headers))), Promise.reject(r);
|
|
1401
|
+
});
|
|
1402
|
+
}
|
|
1403
|
+
const Ut = "1.12.2", Se = {};
|
|
1404
|
+
["object", "boolean", "number", "function", "string", "symbol"].forEach((e, t) => {
|
|
1405
|
+
Se[e] = function(r) {
|
|
1406
|
+
return typeof r === e || "a" + (t < 1 ? "n " : " ") + e;
|
|
1407
|
+
};
|
|
1408
|
+
});
|
|
1409
|
+
const dt = {};
|
|
1410
|
+
Se.transitional = function(t, s, r) {
|
|
1411
|
+
function n(i, o) {
|
|
1412
|
+
return "[Axios v" + Ut + "] Transitional option '" + i + "'" + o + (r ? ". " + r : "");
|
|
1413
|
+
}
|
|
1414
|
+
return (i, o, a) => {
|
|
1415
|
+
if (t === !1)
|
|
1416
|
+
throw new D(
|
|
1417
|
+
n(o, " has been removed" + (s ? " in " + s : "")),
|
|
1418
|
+
D.ERR_DEPRECATED
|
|
1419
|
+
);
|
|
1420
|
+
return s && !dt[o] && (dt[o] = !0, console.warn(
|
|
1421
|
+
n(
|
|
1422
|
+
o,
|
|
1423
|
+
" has been deprecated since v" + s + " and will be removed in the near future"
|
|
1424
|
+
)
|
|
1425
|
+
)), t ? t(i, o, a) : !0;
|
|
1426
|
+
};
|
|
1427
|
+
};
|
|
1428
|
+
Se.spelling = function(t) {
|
|
1429
|
+
return (s, r) => (console.warn(`${r} is likely a misspelling of ${t}`), !0);
|
|
1430
|
+
};
|
|
1431
|
+
function wr(e, t, s) {
|
|
1432
|
+
if (typeof e != "object")
|
|
1433
|
+
throw new D("options must be an object", D.ERR_BAD_OPTION_VALUE);
|
|
1434
|
+
const r = Object.keys(e);
|
|
1435
|
+
let n = r.length;
|
|
1436
|
+
for (; n-- > 0; ) {
|
|
1437
|
+
const i = r[n], o = t[i];
|
|
1438
|
+
if (o) {
|
|
1439
|
+
const a = e[i], f = a === void 0 || o(a, i, e);
|
|
1440
|
+
if (f !== !0)
|
|
1441
|
+
throw new D("option " + i + " must be " + f, D.ERR_BAD_OPTION_VALUE);
|
|
1442
|
+
continue;
|
|
1443
|
+
}
|
|
1444
|
+
if (s !== !0)
|
|
1445
|
+
throw new D("Unknown option " + i, D.ERR_BAD_OPTION);
|
|
1446
|
+
}
|
|
1447
|
+
}
|
|
1448
|
+
const ge = {
|
|
1449
|
+
assertOptions: wr,
|
|
1450
|
+
validators: Se
|
|
1451
|
+
}, V = ge.validators;
|
|
1452
|
+
let G = class {
|
|
1453
|
+
constructor(t) {
|
|
1454
|
+
this.defaults = t || {}, this.interceptors = {
|
|
1455
|
+
request: new Ye(),
|
|
1456
|
+
response: new Ye()
|
|
1457
|
+
};
|
|
1458
|
+
}
|
|
1459
|
+
/**
|
|
1460
|
+
* Dispatch a request
|
|
1461
|
+
*
|
|
1462
|
+
* @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
|
|
1463
|
+
* @param {?Object} config
|
|
1464
|
+
*
|
|
1465
|
+
* @returns {Promise} The Promise to be fulfilled
|
|
1466
|
+
*/
|
|
1467
|
+
async request(t, s) {
|
|
1468
|
+
try {
|
|
1469
|
+
return await this._request(t, s);
|
|
1470
|
+
} catch (r) {
|
|
1471
|
+
if (r instanceof Error) {
|
|
1472
|
+
let n = {};
|
|
1473
|
+
Error.captureStackTrace ? Error.captureStackTrace(n) : n = new Error();
|
|
1474
|
+
const i = n.stack ? n.stack.replace(/^.+\n/, "") : "";
|
|
1475
|
+
try {
|
|
1476
|
+
r.stack ? i && !String(r.stack).endsWith(i.replace(/^.+\n.+\n/, "")) && (r.stack += `
|
|
1477
|
+
` + i) : r.stack = i;
|
|
1478
|
+
} catch {
|
|
1479
|
+
}
|
|
1480
|
+
}
|
|
1481
|
+
throw r;
|
|
1482
|
+
}
|
|
1483
|
+
}
|
|
1484
|
+
_request(t, s) {
|
|
1485
|
+
typeof t == "string" ? (s = s || {}, s.url = t) : s = t || {}, s = Z(this.defaults, s);
|
|
1486
|
+
const { transitional: r, paramsSerializer: n, headers: i } = s;
|
|
1487
|
+
r !== void 0 && ge.assertOptions(r, {
|
|
1488
|
+
silentJSONParsing: V.transitional(V.boolean),
|
|
1489
|
+
forcedJSONParsing: V.transitional(V.boolean),
|
|
1490
|
+
clarifyTimeoutError: V.transitional(V.boolean)
|
|
1491
|
+
}, !1), n != null && (l.isFunction(n) ? s.paramsSerializer = {
|
|
1492
|
+
serialize: n
|
|
1493
|
+
} : ge.assertOptions(n, {
|
|
1494
|
+
encode: V.function,
|
|
1495
|
+
serialize: V.function
|
|
1496
|
+
}, !0)), s.allowAbsoluteUrls !== void 0 || (this.defaults.allowAbsoluteUrls !== void 0 ? s.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls : s.allowAbsoluteUrls = !0), ge.assertOptions(s, {
|
|
1497
|
+
baseUrl: V.spelling("baseURL"),
|
|
1498
|
+
withXsrfToken: V.spelling("withXSRFToken")
|
|
1499
|
+
}, !0), s.method = (s.method || this.defaults.method || "get").toLowerCase();
|
|
1500
|
+
let o = i && l.merge(
|
|
1501
|
+
i.common,
|
|
1502
|
+
i[s.method]
|
|
1503
|
+
);
|
|
1504
|
+
i && l.forEach(
|
|
1505
|
+
["delete", "get", "head", "post", "put", "patch", "common"],
|
|
1506
|
+
(c) => {
|
|
1507
|
+
delete i[c];
|
|
1508
|
+
}
|
|
1509
|
+
), s.headers = A.concat(o, i);
|
|
1510
|
+
const a = [];
|
|
1511
|
+
let f = !0;
|
|
1512
|
+
this.interceptors.request.forEach(function(p) {
|
|
1513
|
+
typeof p.runWhen == "function" && p.runWhen(s) === !1 || (f = f && p.synchronous, a.unshift(p.fulfilled, p.rejected));
|
|
1514
|
+
});
|
|
1515
|
+
const d = [];
|
|
1516
|
+
this.interceptors.response.forEach(function(p) {
|
|
1517
|
+
d.push(p.fulfilled, p.rejected);
|
|
1518
|
+
});
|
|
1519
|
+
let u, h = 0, w;
|
|
1520
|
+
if (!f) {
|
|
1521
|
+
const c = [ut.bind(this), void 0];
|
|
1522
|
+
for (c.unshift(...a), c.push(...d), w = c.length, u = Promise.resolve(s); h < w; )
|
|
1523
|
+
u = u.then(c[h++], c[h++]);
|
|
1524
|
+
return u;
|
|
1525
|
+
}
|
|
1526
|
+
w = a.length;
|
|
1527
|
+
let b = s;
|
|
1528
|
+
for (; h < w; ) {
|
|
1529
|
+
const c = a[h++], p = a[h++];
|
|
1530
|
+
try {
|
|
1531
|
+
b = c(b);
|
|
1532
|
+
} catch (m) {
|
|
1533
|
+
p.call(this, m);
|
|
1534
|
+
break;
|
|
1535
|
+
}
|
|
1536
|
+
}
|
|
1537
|
+
try {
|
|
1538
|
+
u = ut.call(this, b);
|
|
1539
|
+
} catch (c) {
|
|
1540
|
+
return Promise.reject(c);
|
|
1541
|
+
}
|
|
1542
|
+
for (h = 0, w = d.length; h < w; )
|
|
1543
|
+
u = u.then(d[h++], d[h++]);
|
|
1544
|
+
return u;
|
|
1545
|
+
}
|
|
1546
|
+
getUri(t) {
|
|
1547
|
+
t = Z(this.defaults, t);
|
|
1548
|
+
const s = Ft(t.baseURL, t.url, t.allowAbsoluteUrls);
|
|
1549
|
+
return Ot(s, t.params, t.paramsSerializer);
|
|
1550
|
+
}
|
|
1551
|
+
};
|
|
1552
|
+
l.forEach(["delete", "get", "head", "options"], function(t) {
|
|
1553
|
+
G.prototype[t] = function(s, r) {
|
|
1554
|
+
return this.request(Z(r || {}, {
|
|
1555
|
+
method: t,
|
|
1556
|
+
url: s,
|
|
1557
|
+
data: (r || {}).data
|
|
1558
|
+
}));
|
|
1559
|
+
};
|
|
1560
|
+
});
|
|
1561
|
+
l.forEach(["post", "put", "patch"], function(t) {
|
|
1562
|
+
function s(r) {
|
|
1563
|
+
return function(i, o, a) {
|
|
1564
|
+
return this.request(Z(a || {}, {
|
|
1565
|
+
method: t,
|
|
1566
|
+
headers: r ? {
|
|
1567
|
+
"Content-Type": "multipart/form-data"
|
|
1568
|
+
} : {},
|
|
1569
|
+
url: i,
|
|
1570
|
+
data: o
|
|
1571
|
+
}));
|
|
1572
|
+
};
|
|
1573
|
+
}
|
|
1574
|
+
G.prototype[t] = s(), G.prototype[t + "Form"] = s(!0);
|
|
1575
|
+
});
|
|
1576
|
+
let yr = class Bt {
|
|
1577
|
+
constructor(t) {
|
|
1578
|
+
if (typeof t != "function")
|
|
1579
|
+
throw new TypeError("executor must be a function.");
|
|
1580
|
+
let s;
|
|
1581
|
+
this.promise = new Promise(function(i) {
|
|
1582
|
+
s = i;
|
|
1583
|
+
});
|
|
1584
|
+
const r = this;
|
|
1585
|
+
this.promise.then((n) => {
|
|
1586
|
+
if (!r._listeners) return;
|
|
1587
|
+
let i = r._listeners.length;
|
|
1588
|
+
for (; i-- > 0; )
|
|
1589
|
+
r._listeners[i](n);
|
|
1590
|
+
r._listeners = null;
|
|
1591
|
+
}), this.promise.then = (n) => {
|
|
1592
|
+
let i;
|
|
1593
|
+
const o = new Promise((a) => {
|
|
1594
|
+
r.subscribe(a), i = a;
|
|
1595
|
+
}).then(n);
|
|
1596
|
+
return o.cancel = function() {
|
|
1597
|
+
r.unsubscribe(i);
|
|
1598
|
+
}, o;
|
|
1599
|
+
}, t(function(i, o, a) {
|
|
1600
|
+
r.reason || (r.reason = new se(i, o, a), s(r.reason));
|
|
1601
|
+
});
|
|
1602
|
+
}
|
|
1603
|
+
/**
|
|
1604
|
+
* Throws a `CanceledError` if cancellation has been requested.
|
|
1605
|
+
*/
|
|
1606
|
+
throwIfRequested() {
|
|
1607
|
+
if (this.reason)
|
|
1608
|
+
throw this.reason;
|
|
1609
|
+
}
|
|
1610
|
+
/**
|
|
1611
|
+
* Subscribe to the cancel signal
|
|
1612
|
+
*/
|
|
1613
|
+
subscribe(t) {
|
|
1614
|
+
if (this.reason) {
|
|
1615
|
+
t(this.reason);
|
|
1616
|
+
return;
|
|
1617
|
+
}
|
|
1618
|
+
this._listeners ? this._listeners.push(t) : this._listeners = [t];
|
|
1619
|
+
}
|
|
1620
|
+
/**
|
|
1621
|
+
* Unsubscribe from the cancel signal
|
|
1622
|
+
*/
|
|
1623
|
+
unsubscribe(t) {
|
|
1624
|
+
if (!this._listeners)
|
|
1625
|
+
return;
|
|
1626
|
+
const s = this._listeners.indexOf(t);
|
|
1627
|
+
s !== -1 && this._listeners.splice(s, 1);
|
|
1628
|
+
}
|
|
1629
|
+
toAbortSignal() {
|
|
1630
|
+
const t = new AbortController(), s = (r) => {
|
|
1631
|
+
t.abort(r);
|
|
1632
|
+
};
|
|
1633
|
+
return this.subscribe(s), t.signal.unsubscribe = () => this.unsubscribe(s), t.signal;
|
|
1634
|
+
}
|
|
1635
|
+
/**
|
|
1636
|
+
* Returns an object that contains a new `CancelToken` and a function that, when called,
|
|
1637
|
+
* cancels the `CancelToken`.
|
|
1638
|
+
*/
|
|
1639
|
+
static source() {
|
|
1640
|
+
let t;
|
|
1641
|
+
return {
|
|
1642
|
+
token: new Bt(function(n) {
|
|
1643
|
+
t = n;
|
|
1644
|
+
}),
|
|
1645
|
+
cancel: t
|
|
1646
|
+
};
|
|
1647
|
+
}
|
|
1648
|
+
};
|
|
1649
|
+
function xr(e) {
|
|
1650
|
+
return function(s) {
|
|
1651
|
+
return e.apply(null, s);
|
|
1652
|
+
};
|
|
1653
|
+
}
|
|
1654
|
+
function _r(e) {
|
|
1655
|
+
return l.isObject(e) && e.isAxiosError === !0;
|
|
1656
|
+
}
|
|
1657
|
+
const Pe = {
|
|
1658
|
+
Continue: 100,
|
|
1659
|
+
SwitchingProtocols: 101,
|
|
1660
|
+
Processing: 102,
|
|
1661
|
+
EarlyHints: 103,
|
|
1662
|
+
Ok: 200,
|
|
1663
|
+
Created: 201,
|
|
1664
|
+
Accepted: 202,
|
|
1665
|
+
NonAuthoritativeInformation: 203,
|
|
1666
|
+
NoContent: 204,
|
|
1667
|
+
ResetContent: 205,
|
|
1668
|
+
PartialContent: 206,
|
|
1669
|
+
MultiStatus: 207,
|
|
1670
|
+
AlreadyReported: 208,
|
|
1671
|
+
ImUsed: 226,
|
|
1672
|
+
MultipleChoices: 300,
|
|
1673
|
+
MovedPermanently: 301,
|
|
1674
|
+
Found: 302,
|
|
1675
|
+
SeeOther: 303,
|
|
1676
|
+
NotModified: 304,
|
|
1677
|
+
UseProxy: 305,
|
|
1678
|
+
Unused: 306,
|
|
1679
|
+
TemporaryRedirect: 307,
|
|
1680
|
+
PermanentRedirect: 308,
|
|
1681
|
+
BadRequest: 400,
|
|
1682
|
+
Unauthorized: 401,
|
|
1683
|
+
PaymentRequired: 402,
|
|
1684
|
+
Forbidden: 403,
|
|
1685
|
+
NotFound: 404,
|
|
1686
|
+
MethodNotAllowed: 405,
|
|
1687
|
+
NotAcceptable: 406,
|
|
1688
|
+
ProxyAuthenticationRequired: 407,
|
|
1689
|
+
RequestTimeout: 408,
|
|
1690
|
+
Conflict: 409,
|
|
1691
|
+
Gone: 410,
|
|
1692
|
+
LengthRequired: 411,
|
|
1693
|
+
PreconditionFailed: 412,
|
|
1694
|
+
PayloadTooLarge: 413,
|
|
1695
|
+
UriTooLong: 414,
|
|
1696
|
+
UnsupportedMediaType: 415,
|
|
1697
|
+
RangeNotSatisfiable: 416,
|
|
1698
|
+
ExpectationFailed: 417,
|
|
1699
|
+
ImATeapot: 418,
|
|
1700
|
+
MisdirectedRequest: 421,
|
|
1701
|
+
UnprocessableEntity: 422,
|
|
1702
|
+
Locked: 423,
|
|
1703
|
+
FailedDependency: 424,
|
|
1704
|
+
TooEarly: 425,
|
|
1705
|
+
UpgradeRequired: 426,
|
|
1706
|
+
PreconditionRequired: 428,
|
|
1707
|
+
TooManyRequests: 429,
|
|
1708
|
+
RequestHeaderFieldsTooLarge: 431,
|
|
1709
|
+
UnavailableForLegalReasons: 451,
|
|
1710
|
+
InternalServerError: 500,
|
|
1711
|
+
NotImplemented: 501,
|
|
1712
|
+
BadGateway: 502,
|
|
1713
|
+
ServiceUnavailable: 503,
|
|
1714
|
+
GatewayTimeout: 504,
|
|
1715
|
+
HttpVersionNotSupported: 505,
|
|
1716
|
+
VariantAlsoNegotiates: 506,
|
|
1717
|
+
InsufficientStorage: 507,
|
|
1718
|
+
LoopDetected: 508,
|
|
1719
|
+
NotExtended: 510,
|
|
1720
|
+
NetworkAuthenticationRequired: 511
|
|
1721
|
+
};
|
|
1722
|
+
Object.entries(Pe).forEach(([e, t]) => {
|
|
1723
|
+
Pe[t] = e;
|
|
1724
|
+
});
|
|
1725
|
+
function jt(e) {
|
|
1726
|
+
const t = new G(e), s = gt(G.prototype.request, t);
|
|
1727
|
+
return l.extend(s, G.prototype, t, { allOwnKeys: !0 }), l.extend(s, t, null, { allOwnKeys: !0 }), s.create = function(n) {
|
|
1728
|
+
return jt(Z(e, n));
|
|
1729
|
+
}, s;
|
|
1730
|
+
}
|
|
1731
|
+
const v = jt(ce);
|
|
1732
|
+
v.Axios = G;
|
|
1733
|
+
v.CanceledError = se;
|
|
1734
|
+
v.CancelToken = yr;
|
|
1735
|
+
v.isCancel = Tt;
|
|
1736
|
+
v.VERSION = Ut;
|
|
1737
|
+
v.toFormData = De;
|
|
1738
|
+
v.AxiosError = D;
|
|
1739
|
+
v.Cancel = v.CanceledError;
|
|
1740
|
+
v.all = function(t) {
|
|
1741
|
+
return Promise.all(t);
|
|
1742
|
+
};
|
|
1743
|
+
v.spread = xr;
|
|
1744
|
+
v.isAxiosError = _r;
|
|
1745
|
+
v.mergeConfig = Z;
|
|
1746
|
+
v.AxiosHeaders = A;
|
|
1747
|
+
v.formToJSON = (e) => $t(l.isHTMLForm(e) ? new FormData(e) : e);
|
|
1748
|
+
v.getAdapter = Lt.getAdapter;
|
|
1749
|
+
v.HttpStatusCode = Pe;
|
|
1750
|
+
v.default = v;
|
|
1751
|
+
const {
|
|
1752
|
+
Axios: eo,
|
|
1753
|
+
AxiosError: to,
|
|
1754
|
+
CanceledError: so,
|
|
1755
|
+
isCancel: ro,
|
|
1756
|
+
CancelToken: no,
|
|
1757
|
+
VERSION: io,
|
|
1758
|
+
all: oo,
|
|
1759
|
+
Cancel: ao,
|
|
1760
|
+
isAxiosError: lo,
|
|
1761
|
+
spread: co,
|
|
1762
|
+
toFormData: uo,
|
|
1763
|
+
AxiosHeaders: fo,
|
|
1764
|
+
HttpStatusCode: ho,
|
|
1765
|
+
formToJSON: po,
|
|
1766
|
+
getAdapter: mo,
|
|
1767
|
+
mergeConfig: go
|
|
1768
|
+
} = v;
|
|
1769
|
+
class Dr {
|
|
1770
|
+
static getTooltipOptions(t = !0) {
|
|
1771
|
+
return {
|
|
1772
|
+
show: t,
|
|
1773
|
+
axisPointer: {
|
|
1774
|
+
type: "cross",
|
|
1775
|
+
label: {
|
|
1776
|
+
backgroundColor: "#6a7985"
|
|
1777
|
+
}
|
|
1778
|
+
}
|
|
1779
|
+
};
|
|
1780
|
+
}
|
|
1781
|
+
}
|
|
1782
|
+
class we {
|
|
1783
|
+
static getLabelOptions(t = {}) {
|
|
1784
|
+
return {
|
|
1785
|
+
show: (t == null ? void 0 : t.show_label) || (t == null ? void 0 : t.show) || !1,
|
|
1786
|
+
fontSize: "10",
|
|
1787
|
+
position: (t == null ? void 0 : t.position) || "inside",
|
|
1788
|
+
formatter: (t == null ? void 0 : t.formatter) || "{d}%",
|
|
1789
|
+
...t
|
|
1790
|
+
};
|
|
1791
|
+
}
|
|
1792
|
+
static getLegendOpions(t = {}) {
|
|
1793
|
+
return {
|
|
1794
|
+
...t,
|
|
1795
|
+
position: (t == null ? void 0 : t.position) || "bottom"
|
|
1796
|
+
};
|
|
1797
|
+
}
|
|
1798
|
+
}
|
|
1799
|
+
const Sr = {
|
|
1800
|
+
show_label: !1,
|
|
1801
|
+
show_legend: !1,
|
|
1802
|
+
label: null,
|
|
1803
|
+
legend: { position: null },
|
|
1804
|
+
colors: null,
|
|
1805
|
+
color: null,
|
|
1806
|
+
title: null
|
|
1807
|
+
};
|
|
1808
|
+
function kr() {
|
|
1809
|
+
const e = "0123456789ABCDEF";
|
|
1810
|
+
let t = "#";
|
|
1811
|
+
for (let s = 0; s < 6; s += 1)
|
|
1812
|
+
t += e[Math.floor(Math.random() * 16)];
|
|
1813
|
+
return t;
|
|
1814
|
+
}
|
|
1815
|
+
function ie(e = Sr) {
|
|
1816
|
+
var s;
|
|
1817
|
+
const t = {
|
|
1818
|
+
label: {
|
|
1819
|
+
show: e == null ? void 0 : e.show_label,
|
|
1820
|
+
formatter: (e == null ? void 0 : e.formatter) || ((r) => z(r)),
|
|
1821
|
+
...(e == null ? void 0 : e.label) || {}
|
|
1822
|
+
},
|
|
1823
|
+
legend: {
|
|
1824
|
+
...(e == null ? void 0 : e.legend) || {},
|
|
1825
|
+
[((s = e == null ? void 0 : e.legend) == null ? void 0 : s.position) || "bottom"]: "0",
|
|
1826
|
+
show: (e == null ? void 0 : e.show_legend) || !1
|
|
1827
|
+
},
|
|
1828
|
+
barWidth: "70%",
|
|
1829
|
+
grid: {
|
|
1830
|
+
borderColor: "#e5e7eb"
|
|
1831
|
+
},
|
|
1832
|
+
title: { ...(e == null ? void 0 : e.title) || {} }
|
|
1833
|
+
};
|
|
1834
|
+
return (e != null && e.colors || e != null && e.color) && (t.color = (e == null ? void 0 : e.colors) || (e == null ? void 0 : e.color) || null), t;
|
|
1835
|
+
}
|
|
1836
|
+
function ft(e) {
|
|
1837
|
+
return {
|
|
1838
|
+
color: "#9ca3af",
|
|
1839
|
+
fontSize: 10,
|
|
1840
|
+
fontFamily: "Inter, ui-sans-serif, system-ui",
|
|
1841
|
+
fontWeight: 400,
|
|
1842
|
+
label: e == null ? void 0 : e.label,
|
|
1843
|
+
show: !0,
|
|
1844
|
+
formatter: (e == null ? void 0 : e.formatter) || ((s) => z(s)),
|
|
1845
|
+
margin: (e == null ? void 0 : e.margin) || 7,
|
|
1846
|
+
interval: (e == null ? void 0 : e.interval) || "auto",
|
|
1847
|
+
rotate: (e == null ? void 0 : e.rotate) || 0
|
|
1848
|
+
};
|
|
1849
|
+
}
|
|
1850
|
+
const ht = [
|
|
1851
|
+
"#d3c7e6",
|
|
1852
|
+
"#bedae3",
|
|
1853
|
+
"#f8e9cb",
|
|
1854
|
+
"#ff8c8c",
|
|
1855
|
+
"#c5d8be",
|
|
1856
|
+
"#ffc6c6",
|
|
1857
|
+
"#ffc39a",
|
|
1858
|
+
"#fff7c5",
|
|
1859
|
+
"#d8ffc0",
|
|
1860
|
+
"#d4f7ff"
|
|
1861
|
+
], W = {
|
|
1862
|
+
props: [
|
|
1863
|
+
"source",
|
|
1864
|
+
"style",
|
|
1865
|
+
"widget",
|
|
1866
|
+
"dashboard",
|
|
1867
|
+
"title",
|
|
1868
|
+
"currentWidget",
|
|
1869
|
+
"widgetData",
|
|
1870
|
+
"prefix"
|
|
1871
|
+
],
|
|
1872
|
+
data() {
|
|
1873
|
+
return {
|
|
1874
|
+
sourceData: null,
|
|
1875
|
+
styleData: null,
|
|
1876
|
+
widgetName: "",
|
|
1877
|
+
dimensions: [],
|
|
1878
|
+
dashboardName: "",
|
|
1879
|
+
titleCharts: "",
|
|
1880
|
+
widgetInstance: null
|
|
1881
|
+
};
|
|
1882
|
+
},
|
|
1883
|
+
mounted() {
|
|
1884
|
+
window.addEventListener("resize", this.handleResize), window.addEventListener(`update-data-${this.widget}`, this.checkCustomEvent), window.addEventListener(`update-style-${this.widget}`, this.checkCustomStyleEvent);
|
|
1885
|
+
},
|
|
1886
|
+
unmounted() {
|
|
1887
|
+
window.removeEventListener(`update-data-${this.widget}`, this.checkCustomEvent), window.removeEventListener(`update-style-${this.widget}`, this.checkCustomStyleEvent);
|
|
1888
|
+
},
|
|
1889
|
+
watch: {
|
|
1890
|
+
sourceData: {
|
|
1891
|
+
async handler() {
|
|
1892
|
+
setTimeout(() => {
|
|
1893
|
+
this == null || this.onChangedData();
|
|
1894
|
+
}, 0);
|
|
1895
|
+
}
|
|
1896
|
+
}
|
|
1897
|
+
},
|
|
1898
|
+
methods: {
|
|
1899
|
+
checkCustomStyleEvent(e) {
|
|
1900
|
+
this.changeOptionsByName(e.chartId, e.options);
|
|
1901
|
+
},
|
|
1902
|
+
checkCustomEvent({ filterUrl: e }) {
|
|
1903
|
+
this.getDataFromURL(e);
|
|
1904
|
+
},
|
|
1905
|
+
handleResize() {
|
|
1906
|
+
this.widgetInstance && this.widgetInstance.resize();
|
|
1907
|
+
},
|
|
1908
|
+
async getDataFromURL(e) {
|
|
1909
|
+
var t, s, r, n;
|
|
1910
|
+
try {
|
|
1911
|
+
const i = await v.get(e);
|
|
1912
|
+
this.sourceData = ((t = i.data) == null ? void 0 : t.source) || [], this.$emit("update:widgetData", i.data), this.dimensions = Object.keys(((s = this.sourceData) == null ? void 0 : s[0]) || {}), this.titleCharts = this.style ? this.style : ((r = i.data) == null ? void 0 : r.title) || "", this.styleData = ((n = i.data) == null ? void 0 : n.style) || {};
|
|
1913
|
+
} catch (i) {
|
|
1914
|
+
const o = { message: "Дані не знайдено", title: "Помилка!", type: "error", status: 400, id: this.widgetName };
|
|
1915
|
+
(i == null ? void 0 : i.status) == "404" && (o.status = 404, o.message = "Дані не знайдено"), (i == null ? void 0 : i.status) == "400" && (o.message = "Перевірте налаштування або зверніться до адміністратора"), (i == null ? void 0 : i.status) == "500" && (o.message = "Сталася помилка сервера"), this.$emit("update:widgetData", o);
|
|
1916
|
+
}
|
|
1917
|
+
},
|
|
1918
|
+
getValues() {
|
|
1919
|
+
return this.sourceData.map((e) => {
|
|
1920
|
+
var t;
|
|
1921
|
+
return parseFloat(e[(t = this.columns) == null ? void 0 : t[1]]);
|
|
1922
|
+
});
|
|
1923
|
+
},
|
|
1924
|
+
formatDate(e) {
|
|
1925
|
+
const t = new Date(e);
|
|
1926
|
+
if (isNaN(t)) return e;
|
|
1927
|
+
const s = String(t.getDate()).padStart(2, "0"), n = [
|
|
1928
|
+
"січня",
|
|
1929
|
+
"лютого",
|
|
1930
|
+
"березня",
|
|
1931
|
+
"квітня",
|
|
1932
|
+
"травня",
|
|
1933
|
+
"червня",
|
|
1934
|
+
"липня",
|
|
1935
|
+
"серпня",
|
|
1936
|
+
"вересня",
|
|
1937
|
+
"жовтня",
|
|
1938
|
+
"листопада",
|
|
1939
|
+
"грудня"
|
|
1940
|
+
][t.getMonth()], i = t.getFullYear();
|
|
1941
|
+
return `${s} ${n} ${i}`;
|
|
1942
|
+
},
|
|
1943
|
+
async getData() {
|
|
1944
|
+
var e;
|
|
1945
|
+
try {
|
|
1946
|
+
if (this.source)
|
|
1947
|
+
this.sourceData = [...this.source], this.styleData = this.style, this.titleCharts = this.title, this.dimensions = Object.keys(((e = this.sourceData) == null ? void 0 : e[0]) || {});
|
|
1948
|
+
else {
|
|
1949
|
+
this.widgetName = this.widget, this.dashboardName = this.dashboard;
|
|
1950
|
+
const t = this.dashboardName ? `${this.prefix || ""}/bi-data?dashboard=${this.dashboardName}&widget=${this.widgetName}` : `${this.prefix || ""}/bi-data?&widget=${this.widgetName}`;
|
|
1951
|
+
await this.getDataFromURL(t);
|
|
1952
|
+
}
|
|
1953
|
+
} catch (t) {
|
|
1954
|
+
console.error(t);
|
|
1955
|
+
}
|
|
1956
|
+
},
|
|
1957
|
+
async initChart(e, t, s) {
|
|
1958
|
+
var r, n, i, o, a, f, d;
|
|
1959
|
+
this.widgetInstance && this.widgetInstance.clear();
|
|
1960
|
+
try {
|
|
1961
|
+
const u = this.$refs.chart, h = echarts == null ? void 0 : echarts.init(u), w = {
|
|
1962
|
+
tooltip: {
|
|
1963
|
+
trigger: "axis",
|
|
1964
|
+
axisPointer: { type: "shadow" },
|
|
1965
|
+
backgroundColor: "transparent",
|
|
1966
|
+
shadowColor: "transparent",
|
|
1967
|
+
padding: [0, 0, 0, 0],
|
|
1968
|
+
borderWidth: 0,
|
|
1969
|
+
formatter: (b) => {
|
|
1970
|
+
var k;
|
|
1971
|
+
const c = (k = b[0]) == null ? void 0 : k.axisValue;
|
|
1972
|
+
let m = `
|
|
1973
|
+
<div style="background-color: rgba(255, 255, 255, 0.7)" class="border border-gray-200 text-gray-800 rounded-lg shadow-md dark:bg-neutral-800 dark:border-neutral-700 min-w-28">
|
|
1974
|
+
<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">
|
|
1975
|
+
${c ? this.formatDate(c) : "N/A"}
|
|
1976
|
+
</div>
|
|
1977
|
+
`;
|
|
1978
|
+
return b.forEach((S) => {
|
|
1979
|
+
m += `
|
|
1980
|
+
<div class="flex justify-between items-center text-xs px-2 py-0.5 text-gray-500 dark:text-neutral-400">
|
|
1981
|
+
<span class="flex items-center">
|
|
1982
|
+
<span class="w-2.5 h-2.5 me-1.5 rounded-sm" style="background-color: ${S.color};"></span>
|
|
1983
|
+
<span class="font-medium mr-[6px]">${(S == null ? void 0 : S.seriesName) === "metric" ? "Значення" : S == null ? void 0 : S.seriesName}</span>
|
|
1984
|
+
</span>
|
|
1985
|
+
<span>${this.getMetricValue(S == null ? void 0 : S.data)}</span>
|
|
1986
|
+
</div>
|
|
1987
|
+
`;
|
|
1988
|
+
}), m += "</div>", m;
|
|
1989
|
+
}
|
|
1990
|
+
},
|
|
1991
|
+
xAxis: {
|
|
1992
|
+
data: t != null && t.length ? t : null,
|
|
1993
|
+
type: t ? "category" : "value",
|
|
1994
|
+
name: ((n = (r = this.styleData) == null ? void 0 : r.x_axis) == null ? void 0 : n.name) || "",
|
|
1995
|
+
axisLabel: {
|
|
1996
|
+
...ft((i = this.styleData) == null ? void 0 : i.x_axis),
|
|
1997
|
+
formatter: (b) => {
|
|
1998
|
+
var p, m;
|
|
1999
|
+
const c = this.formatDate(b);
|
|
2000
|
+
return ((m = (p = this.styleData) == null ? void 0 : p.x_axis) == null ? void 0 : m.overflow) === "ellipsis" && c.length > 10 ? `${c.slice(0, 10)}...` : c;
|
|
2001
|
+
}
|
|
2002
|
+
}
|
|
2003
|
+
},
|
|
2004
|
+
yAxis: {
|
|
2005
|
+
data: s != null && s.length ? s : null,
|
|
2006
|
+
type: s ? "category" : "value",
|
|
2007
|
+
name: ((a = (o = this.styleData) == null ? void 0 : o.y_axis) == null ? void 0 : a.name) || "",
|
|
2008
|
+
axisLabel: ft((f = this.styleData) == null ? void 0 : f.y_axis)
|
|
2009
|
+
},
|
|
2010
|
+
series: e != null && e.length ? e : null,
|
|
2011
|
+
...ie(this.styleData),
|
|
2012
|
+
grid: {
|
|
2013
|
+
bottom: "0%",
|
|
2014
|
+
right: "0%",
|
|
2015
|
+
left: "0%",
|
|
2016
|
+
top: "20px",
|
|
2017
|
+
containLabel: !0,
|
|
2018
|
+
...((d = this.styleData) == null ? void 0 : d.grid) || {}
|
|
2019
|
+
}
|
|
2020
|
+
};
|
|
2021
|
+
await h.setOption(w), h.resize(), this.widgetInstance = h, this.$emit("update:currentWidget", h);
|
|
2022
|
+
} catch (u) {
|
|
2023
|
+
console.error(u);
|
|
2024
|
+
}
|
|
2025
|
+
},
|
|
2026
|
+
async setSeriesOption(e, t) {
|
|
2027
|
+
const s = e.getOption(), { series: r = [] } = s, n = r.map((i) => ({
|
|
2028
|
+
...i,
|
|
2029
|
+
...t
|
|
2030
|
+
}));
|
|
2031
|
+
e.setOption({
|
|
2032
|
+
...s,
|
|
2033
|
+
series: n
|
|
2034
|
+
});
|
|
2035
|
+
},
|
|
2036
|
+
async changeOptionsByName(e, t) {
|
|
2037
|
+
const s = document.getElementById(e);
|
|
2038
|
+
if (!s) return null;
|
|
2039
|
+
const r = echarts.getInstanceByDom(s);
|
|
2040
|
+
if (!r) return null;
|
|
2041
|
+
const n = r.getOption();
|
|
2042
|
+
t.seriesOptions && this.setSeriesOption(r, t.seriesOptions), r.setOption({
|
|
2043
|
+
...n,
|
|
2044
|
+
...t.options,
|
|
2045
|
+
tooltip: {
|
|
2046
|
+
...Dr.getTooltipOptions(t.options.tooltip.show)
|
|
2047
|
+
}
|
|
2048
|
+
});
|
|
2049
|
+
},
|
|
2050
|
+
async changeData(e) {
|
|
2051
|
+
var t;
|
|
2052
|
+
try {
|
|
2053
|
+
let s = this.dashboard ? `${this.prefix || ""}/bi-data?dashboard=${this.dashboard}&widget=${this.widget}` : `${this.prefix || ""}/bi-data?&widget=${this.widget}`;
|
|
2054
|
+
(t = e == null ? void 0 : e.granularity) != null && t.length && (s += `&granularity=${e.granularity}`), e != null && e.metrics && (s += `&metrics=${e.metrics}`), this.getDataFromURL(s);
|
|
2055
|
+
} catch (s) {
|
|
2056
|
+
console.error(s);
|
|
2057
|
+
}
|
|
2058
|
+
},
|
|
2059
|
+
async setFilter(e) {
|
|
2060
|
+
const t = `${this.prefix || ""}/bi-data?dashboard=${this.dashboardName}&widget=${this.widgetName}${e || ""}`;
|
|
2061
|
+
await this.getDataFromURL(t);
|
|
2062
|
+
},
|
|
2063
|
+
async changeStyle(e, t) {
|
|
2064
|
+
this.styleData[e] = t, this.onChangedData();
|
|
2065
|
+
},
|
|
2066
|
+
getMetricValue(e) {
|
|
2067
|
+
var r;
|
|
2068
|
+
const t = (e == null ? void 0 : e.metric) || e;
|
|
2069
|
+
return parseFloat(t) ? (r = z(t, { notation: "standard" })) == null ? void 0 : r.replaceAll(
|
|
2070
|
+
",",
|
|
2071
|
+
" "
|
|
2072
|
+
) : t;
|
|
2073
|
+
}
|
|
2074
|
+
}
|
|
2075
|
+
}, vr = {
|
|
2076
|
+
name: "VsBar",
|
|
2077
|
+
mixins: [W],
|
|
2078
|
+
data() {
|
|
2079
|
+
return {
|
|
2080
|
+
resizeObserver: null
|
|
2081
|
+
};
|
|
2082
|
+
},
|
|
2083
|
+
computed: {
|
|
2084
|
+
uniqueID() {
|
|
2085
|
+
return this.widget;
|
|
2086
|
+
}
|
|
2087
|
+
},
|
|
2088
|
+
async mounted() {
|
|
2089
|
+
var t;
|
|
2090
|
+
this.getData(), this.onChangedData();
|
|
2091
|
+
const e = (t = this.$refs) == null ? void 0 : t.chart;
|
|
2092
|
+
e && (this.resizeObserver = new ResizeObserver(() => {
|
|
2093
|
+
var s;
|
|
2094
|
+
this.widgetInstance && ((s = this.widgetInstance) == null || s.resize());
|
|
2095
|
+
}), this.resizeObserver.observe(e));
|
|
2096
|
+
},
|
|
2097
|
+
unmounted() {
|
|
2098
|
+
this.resizeObserver.disconnect();
|
|
2099
|
+
},
|
|
2100
|
+
methods: {
|
|
2101
|
+
async onChangedData() {
|
|
2102
|
+
try {
|
|
2103
|
+
if (this.sourceData) {
|
|
2104
|
+
await this.$nextTick();
|
|
2105
|
+
const { series: e, xs: t, ys: s } = this.prepareData();
|
|
2106
|
+
e && (this == null || this.initChart(e, t, s));
|
|
2107
|
+
}
|
|
2108
|
+
} catch (e) {
|
|
2109
|
+
console.error(e);
|
|
2110
|
+
}
|
|
2111
|
+
},
|
|
2112
|
+
prepareData() {
|
|
2113
|
+
var e, t, s, r, n, i;
|
|
2114
|
+
try {
|
|
2115
|
+
if (!((e = this.sourceData) != null && e.length))
|
|
2116
|
+
return { series: [], xs: [], ys: void 0 };
|
|
2117
|
+
const o = Array.from(
|
|
2118
|
+
new Set(
|
|
2119
|
+
this.sourceData.filter((w) => w[this.dimensions[0]]).map((w) => w[this.dimensions[0]])
|
|
2120
|
+
)
|
|
2121
|
+
);
|
|
2122
|
+
let a;
|
|
2123
|
+
this.dimensions[0].includes("date") ? a = o.map((w) => Be(w)) : a = [...o];
|
|
2124
|
+
let f, d;
|
|
2125
|
+
((t = this.styleData) == null ? void 0 : t.horizontal) === !0 ? d = [...a] : f = [...a];
|
|
2126
|
+
const u = this.sourceData.filter(
|
|
2127
|
+
(w) => parseFloat(w[this.dimensions[1]]) && w[this.dimensions[0]]
|
|
2128
|
+
).map((w) => parseFloat(w[this.dimensions[1]]));
|
|
2129
|
+
let h;
|
|
2130
|
+
return ((s = this.styleData) == null ? void 0 : s.stack) !== !1 ? h = this.prepareStackData() : ((r = this.styleData) == null ? void 0 : r.negative_waterfall) === !0 ? h = this.prepareNegativeWaterfall() : ((n = this.styleData) == null ? void 0 : n.waterfall) === !0 ? h = this.prepareWaterfallData(u) : ((i = this.styleData) == null ? void 0 : i.accumulative) === !0 ? h = this.prepareAccumulative(u) : h = this.dimensions.slice(1).map((b, c) => ({
|
|
2131
|
+
name: b,
|
|
2132
|
+
type: "bar",
|
|
2133
|
+
stack: `a${c}`,
|
|
2134
|
+
data: this.sourceData.filter((p) => parseFloat(p[b]) && b).map((p) => parseFloat(p[b]))
|
|
2135
|
+
})), { series: h, xs: f, ys: d };
|
|
2136
|
+
} catch (o) {
|
|
2137
|
+
return console.error(o), { series: [], xs: [], ys: [] };
|
|
2138
|
+
}
|
|
2139
|
+
},
|
|
2140
|
+
prepareWaterfallData(e) {
|
|
2141
|
+
let t = e.reduce((i, o) => i + o, 0);
|
|
2142
|
+
const s = [t, ...e], r = s.map((i, o) => {
|
|
2143
|
+
if (o === 0) return 0;
|
|
2144
|
+
const a = t - i;
|
|
2145
|
+
return t -= i, a >= 0 ? a : 0;
|
|
2146
|
+
});
|
|
2147
|
+
return [
|
|
2148
|
+
{
|
|
2149
|
+
type: "bar",
|
|
2150
|
+
stack: "Total",
|
|
2151
|
+
itemStyle: {
|
|
2152
|
+
borderColor: "transparent",
|
|
2153
|
+
color: "transparent"
|
|
2154
|
+
},
|
|
2155
|
+
data: r,
|
|
2156
|
+
tooltip: {
|
|
2157
|
+
show: !1
|
|
2158
|
+
}
|
|
2159
|
+
},
|
|
2160
|
+
{
|
|
2161
|
+
name: this.title ? this.title : this.dimensions[0],
|
|
2162
|
+
type: "bar",
|
|
2163
|
+
stack: "Total",
|
|
2164
|
+
data: s
|
|
2165
|
+
}
|
|
2166
|
+
];
|
|
2167
|
+
},
|
|
2168
|
+
prepareStackData() {
|
|
2169
|
+
return this.dimensions.slice(1).map((s) => ({
|
|
2170
|
+
name: s,
|
|
2171
|
+
type: "bar",
|
|
2172
|
+
stack: "a",
|
|
2173
|
+
data: this.sourceData.filter((r) => parseFloat(r[s]) && s).map((r) => parseFloat(r[s]))
|
|
2174
|
+
}));
|
|
2175
|
+
},
|
|
2176
|
+
prepareNegativeWaterfall() {
|
|
2177
|
+
const e = this.sourceData.map(
|
|
2178
|
+
(i) => Number.isNaN(i[this.dimensions[1]]) ? 0 : Number(i[this.dimensions[1]])
|
|
2179
|
+
), t = this.sourceData.map(
|
|
2180
|
+
(i) => Number.isNaN(i[this.dimensions[2]]) ? 0 : Number(i[this.dimensions[2]])
|
|
2181
|
+
);
|
|
2182
|
+
let s = 0;
|
|
2183
|
+
const r = e.map((i, o) => {
|
|
2184
|
+
const a = s;
|
|
2185
|
+
return s += Number.isNaN(i) ? 0 : i, o === 0 && (s -= Number.isNaN(t[o]) ? 0 : t[o]), s -= Number.isNaN(t[o + 1]) ? 0 : t[o + 1], a >= 0 ? a : 0;
|
|
2186
|
+
});
|
|
2187
|
+
return [
|
|
2188
|
+
{
|
|
2189
|
+
type: "bar",
|
|
2190
|
+
stack: "a",
|
|
2191
|
+
itemStyle: {
|
|
2192
|
+
borderColor: "transparent",
|
|
2193
|
+
color: "transparent"
|
|
2194
|
+
},
|
|
2195
|
+
data: r,
|
|
2196
|
+
tooltip: {
|
|
2197
|
+
show: !1
|
|
2198
|
+
}
|
|
2199
|
+
},
|
|
2200
|
+
{
|
|
2201
|
+
name: this.dimensions[1],
|
|
2202
|
+
type: "bar",
|
|
2203
|
+
stack: "a",
|
|
2204
|
+
data: e
|
|
2205
|
+
},
|
|
2206
|
+
{
|
|
2207
|
+
name: this.dimensions[2],
|
|
2208
|
+
type: "bar",
|
|
2209
|
+
stack: "a",
|
|
2210
|
+
data: t
|
|
2211
|
+
}
|
|
2212
|
+
];
|
|
2213
|
+
},
|
|
2214
|
+
prepareAccumulative(e) {
|
|
2215
|
+
let t = 0;
|
|
2216
|
+
const s = e.map((n) => (t += n, t));
|
|
2217
|
+
return [
|
|
2218
|
+
{
|
|
2219
|
+
name: this.titleCharts,
|
|
2220
|
+
type: "bar",
|
|
2221
|
+
stack: "Total",
|
|
2222
|
+
data: s
|
|
2223
|
+
}
|
|
2224
|
+
];
|
|
2225
|
+
}
|
|
2226
|
+
}
|
|
2227
|
+
}, O = (e, t) => {
|
|
2228
|
+
const s = e.__vccOpts || e;
|
|
2229
|
+
for (const [r, n] of t)
|
|
2230
|
+
s[r] = n;
|
|
2231
|
+
return s;
|
|
2232
|
+
}, Er = ["id"];
|
|
2233
|
+
function Cr(e, t, s, r, n, i) {
|
|
2234
|
+
return x(), _("div", {
|
|
2235
|
+
id: i.uniqueID,
|
|
2236
|
+
ref: "chart",
|
|
2237
|
+
class: "h-full w-full min-h-[200px]"
|
|
2238
|
+
}, null, 8, Er);
|
|
2239
|
+
}
|
|
2240
|
+
const Or = /* @__PURE__ */ O(vr, [["render", Cr]]), Rr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2241
|
+
__proto__: null,
|
|
2242
|
+
default: Or
|
|
2243
|
+
}, Symbol.toStringTag, { value: "Module" })), $r = {
|
|
2244
|
+
name: "VsPie",
|
|
2245
|
+
props: ["currentWidget"],
|
|
2246
|
+
mixins: [W],
|
|
2247
|
+
data() {
|
|
2248
|
+
return {
|
|
2249
|
+
chartInstance: null,
|
|
2250
|
+
// Unused variable – оставлен для потенциального будущего использования
|
|
2251
|
+
resizeObserver: null
|
|
2252
|
+
};
|
|
2253
|
+
},
|
|
2254
|
+
computed: {
|
|
2255
|
+
// Генерируем уникальный ID на основе свойства widget из миксина
|
|
2256
|
+
uniqueID() {
|
|
2257
|
+
return this.widget;
|
|
2258
|
+
}
|
|
2259
|
+
},
|
|
2260
|
+
async mounted() {
|
|
2261
|
+
var s;
|
|
2262
|
+
await this.$nextTick(), await this.getData();
|
|
2263
|
+
const { series: e } = this.prepareData() || {};
|
|
2264
|
+
e && this.initChart(e);
|
|
2265
|
+
const t = (s = this.$refs) == null ? void 0 : s.chart;
|
|
2266
|
+
t && (this.resizeObserver = new ResizeObserver(() => {
|
|
2267
|
+
this.chartInstance && this.chartInstance.resize();
|
|
2268
|
+
}), this.resizeObserver.observe(t));
|
|
2269
|
+
},
|
|
2270
|
+
beforeUnmount() {
|
|
2271
|
+
var e;
|
|
2272
|
+
(e = this.resizeObserver) == null || e.disconnect();
|
|
2273
|
+
},
|
|
2274
|
+
methods: {
|
|
2275
|
+
// Не используется, оставлен для потенциального будущего применения
|
|
2276
|
+
onChangedData() {
|
|
2277
|
+
try {
|
|
2278
|
+
if (this.sourceData) {
|
|
2279
|
+
const { series: e, xs: t, ys: s } = this.prepareData();
|
|
2280
|
+
e && this.initChart(e, t, s);
|
|
2281
|
+
}
|
|
2282
|
+
} catch (e) {
|
|
2283
|
+
console.error(e);
|
|
2284
|
+
}
|
|
2285
|
+
},
|
|
2286
|
+
buildTooltipForDonut(e, t) {
|
|
2287
|
+
const { name: s, value: r, percent: n } = e;
|
|
2288
|
+
return `
|
|
2289
|
+
<div style="background-color:${t[0]}; font-size:12px; font-family:Helvetica, Arial, sans-serif; color:#ffff; padding:5px; border-radius:5px;">
|
|
2290
|
+
${s == null ? void 0 : s.replace("null", "Не визначено")}: ${z(r)} (${n}%)
|
|
2291
|
+
</div>`;
|
|
2292
|
+
},
|
|
2293
|
+
prepareData() {
|
|
2294
|
+
var e, t, s, r, n, i;
|
|
2295
|
+
try {
|
|
2296
|
+
if (this.styleData = this.styleData || {}, !((e = this.sourceData) != null && e.length))
|
|
2297
|
+
return console.warn("No source data available"), null;
|
|
2298
|
+
const o = Array.from(
|
|
2299
|
+
new Set(
|
|
2300
|
+
(this.sourceData || []).map((c) => c[this.dimensions[0]])
|
|
2301
|
+
)
|
|
2302
|
+
), a = Array.from(
|
|
2303
|
+
new Set(
|
|
2304
|
+
(this.sourceData || []).map((c) => c[this.dimensions[1]])
|
|
2305
|
+
)
|
|
2306
|
+
), f = parseInt(
|
|
2307
|
+
(this.sourceData || []).reduce(
|
|
2308
|
+
(c, p) => c + parseFloat((p == null ? void 0 : p.metric) || 0),
|
|
2309
|
+
0
|
|
2310
|
+
),
|
|
2311
|
+
10
|
|
2312
|
+
), d = o.map((c, p) => {
|
|
2313
|
+
const m = (a[p] / f * 100).toFixed(2);
|
|
2314
|
+
return {
|
|
2315
|
+
name: `${c} (${m}%)`,
|
|
2316
|
+
value: a[p]
|
|
2317
|
+
};
|
|
2318
|
+
}), u = ((t = this.styleData) == null ? void 0 : t.innerRadius) || "80%", h = ((s = this.styleData) == null ? void 0 : s.outerRadius) || "100%", w = [u, h];
|
|
2319
|
+
return this.styleData.legend = we.getLegendOpions({
|
|
2320
|
+
borderRadius: 10,
|
|
2321
|
+
height: "100%",
|
|
2322
|
+
padding: 10,
|
|
2323
|
+
bottom: "0",
|
|
2324
|
+
type: "scroll",
|
|
2325
|
+
itemWidth: 14,
|
|
2326
|
+
itemHeight: 14,
|
|
2327
|
+
formatter: (c) => {
|
|
2328
|
+
var p;
|
|
2329
|
+
return (p = c == null ? void 0 : c.replace("null", "Не визначено")) == null ? void 0 : p.replace("NaN", "0.00");
|
|
2330
|
+
},
|
|
2331
|
+
...((r = this.styleData) == null ? void 0 : r.legend) || {}
|
|
2332
|
+
}), this.styleData.label = we.getLabelOptions(
|
|
2333
|
+
(n = this.styleData) == null ? void 0 : n.label
|
|
2334
|
+
), this.styleData.show_legend = ((i = this.styleData) == null ? void 0 : i.show_legend) ?? !0, { series: [
|
|
2335
|
+
{
|
|
2336
|
+
name: this.titleCharts ? this.titleCharts : this.dimensions[0],
|
|
2337
|
+
type: "pie",
|
|
2338
|
+
radius: w,
|
|
2339
|
+
center: ["50%", "60%"],
|
|
2340
|
+
height: "75%",
|
|
2341
|
+
...ie(this.styleData),
|
|
2342
|
+
data: d
|
|
2343
|
+
}
|
|
2344
|
+
] };
|
|
2345
|
+
} catch (o) {
|
|
2346
|
+
return console.error("Error in prepareData:", o), null;
|
|
2347
|
+
}
|
|
2348
|
+
},
|
|
2349
|
+
async initChart(e) {
|
|
2350
|
+
try {
|
|
2351
|
+
if (!e) {
|
|
2352
|
+
console.warn("No series data available for chart initialization");
|
|
2353
|
+
return;
|
|
2354
|
+
}
|
|
2355
|
+
const t = this.$refs.chart;
|
|
2356
|
+
if (!t) {
|
|
2357
|
+
console.warn("Chart DOM element not found");
|
|
2358
|
+
return;
|
|
2359
|
+
}
|
|
2360
|
+
this.chartInstance = echarts.init(t);
|
|
2361
|
+
const s = parseInt(
|
|
2362
|
+
(this.sourceData || []).reduce(
|
|
2363
|
+
(n, i) => n + parseFloat((i == null ? void 0 : i.metric) || 0),
|
|
2364
|
+
0
|
|
2365
|
+
),
|
|
2366
|
+
10
|
|
2367
|
+
), r = {
|
|
2368
|
+
tooltip: {
|
|
2369
|
+
trigger: "item",
|
|
2370
|
+
formatter: (n) => this.buildTooltipForDonut(n, [n.color]),
|
|
2371
|
+
borderWidth: 0,
|
|
2372
|
+
appendToBody: !0,
|
|
2373
|
+
borderColor: "transparent",
|
|
2374
|
+
textStyle: { color: "#000" },
|
|
2375
|
+
padding: [15, 15],
|
|
2376
|
+
shadowColor: "transparent",
|
|
2377
|
+
backgroundColor: "transparent"
|
|
2378
|
+
},
|
|
2379
|
+
series: e,
|
|
2380
|
+
...ie(this.styleData || {}),
|
|
2381
|
+
title: {
|
|
2382
|
+
text: z(s),
|
|
2383
|
+
left: "center",
|
|
2384
|
+
top: "41%",
|
|
2385
|
+
textStyle: {
|
|
2386
|
+
color: "black",
|
|
2387
|
+
fontWeight: 400,
|
|
2388
|
+
fontSize: "22px"
|
|
2389
|
+
}
|
|
2390
|
+
}
|
|
2391
|
+
};
|
|
2392
|
+
this.chartInstance.setOption(r), this.$emit("update:currentWidget", this.chartInstance), this.chartInstance.resize(), window.addEventListener("resize", () => {
|
|
2393
|
+
var n;
|
|
2394
|
+
(n = this.chartInstance) == null || n.resize();
|
|
2395
|
+
});
|
|
2396
|
+
} catch (t) {
|
|
2397
|
+
console.error("Error in initChart:", t);
|
|
2398
|
+
}
|
|
2399
|
+
}
|
|
2400
|
+
}
|
|
2401
|
+
}, Tr = ["id"];
|
|
2402
|
+
function Nr(e, t, s, r, n, i) {
|
|
2403
|
+
return x(), _("div", {
|
|
2404
|
+
id: i.uniqueID,
|
|
2405
|
+
ref: "chart",
|
|
2406
|
+
class: "h-full min-h-[200px] flex items-center"
|
|
2407
|
+
}, null, 8, Tr);
|
|
2408
|
+
}
|
|
2409
|
+
const Fr = /* @__PURE__ */ O($r, [["render", Nr]]), Ar = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2410
|
+
__proto__: null,
|
|
2411
|
+
default: Fr
|
|
2412
|
+
}, Symbol.toStringTag, { value: "Module" })), Pr = {
|
|
2413
|
+
name: "VsPie",
|
|
2414
|
+
props: ["currentWidget"],
|
|
2415
|
+
mixins: [W],
|
|
2416
|
+
data() {
|
|
2417
|
+
return {
|
|
2418
|
+
chartInstance: null,
|
|
2419
|
+
// Unused переменная, оставлена для возможного будущего использования
|
|
2420
|
+
resizeObserver: null
|
|
2421
|
+
};
|
|
2422
|
+
},
|
|
2423
|
+
computed: {
|
|
2424
|
+
// Используем computed для генерации уникального ID на основе виджета
|
|
2425
|
+
uniqueID() {
|
|
2426
|
+
return this.widget;
|
|
2427
|
+
}
|
|
2428
|
+
},
|
|
2429
|
+
async mounted() {
|
|
2430
|
+
var s;
|
|
2431
|
+
await this.$nextTick(), await this.getData();
|
|
2432
|
+
const { series: e } = this.prepareData() || {};
|
|
2433
|
+
e && this.initChart(e);
|
|
2434
|
+
const t = (s = this.$refs) == null ? void 0 : s.chart;
|
|
2435
|
+
t && (this.resizeObserver = new ResizeObserver(() => {
|
|
2436
|
+
this.chartInstance && this.chartInstance.resize();
|
|
2437
|
+
}), this.resizeObserver.observe(t));
|
|
2438
|
+
},
|
|
2439
|
+
unmounted() {
|
|
2440
|
+
var e;
|
|
2441
|
+
(e = this.resizeObserver) == null || e.disconnect();
|
|
2442
|
+
},
|
|
2443
|
+
methods: {
|
|
2444
|
+
// Метод не вызывается в компоненте, но оставлен для возможного будущего использования
|
|
2445
|
+
onChangedData() {
|
|
2446
|
+
try {
|
|
2447
|
+
if (this.sourceData) {
|
|
2448
|
+
const { series: e, xs: t, ys: s } = this.prepareData();
|
|
2449
|
+
e && this.initChart(e, t, s);
|
|
2450
|
+
}
|
|
2451
|
+
} catch (e) {
|
|
2452
|
+
console.error(e);
|
|
2453
|
+
}
|
|
2454
|
+
},
|
|
2455
|
+
buildTooltipForDonut(e, t) {
|
|
2456
|
+
const { name: s, value: r, percent: n } = e;
|
|
2457
|
+
return `
|
|
2458
|
+
<div style="background-color:${t[0]}; font-size:12px; font-family:Helvetica, Arial, sans-serif; color:#ffff; padding:5px; border-radius:5px;">
|
|
2459
|
+
${s == null ? void 0 : s.replace("null", "Не визначено")}: ${z(r)} (${n}%)
|
|
2460
|
+
</div>`;
|
|
2461
|
+
},
|
|
2462
|
+
prepareData() {
|
|
2463
|
+
var e, t, s, r, n;
|
|
2464
|
+
try {
|
|
2465
|
+
this.styleData = this.styleData || {};
|
|
2466
|
+
const i = Array.from(
|
|
2467
|
+
new Set(
|
|
2468
|
+
(this.sourceData || []).map((b) => b[this.dimensions[0]])
|
|
2469
|
+
)
|
|
2470
|
+
), o = Array.from(
|
|
2471
|
+
new Set(
|
|
2472
|
+
(this.sourceData || []).map((b) => b[this.dimensions[1]])
|
|
2473
|
+
)
|
|
2474
|
+
), a = parseInt(
|
|
2475
|
+
(this.sourceData || []).reduce(
|
|
2476
|
+
(b, c) => b + parseFloat(c == null ? void 0 : c.metric),
|
|
2477
|
+
0
|
|
2478
|
+
),
|
|
2479
|
+
10
|
|
2480
|
+
), f = i.map((b, c) => {
|
|
2481
|
+
const p = (o[c] / a * 100).toFixed(2);
|
|
2482
|
+
return {
|
|
2483
|
+
name: `${b} (${p}%)`,
|
|
2484
|
+
value: o[c]
|
|
2485
|
+
};
|
|
2486
|
+
}), d = ((e = this.styleData) == null ? void 0 : e.innerRadius) || "0%", u = ((t = this.styleData) == null ? void 0 : t.outerRadius) || "100%", h = [d, u];
|
|
2487
|
+
return this.styleData.legend = we.getLegendOpions({
|
|
2488
|
+
borderRadius: 10,
|
|
2489
|
+
height: "100%",
|
|
2490
|
+
padding: 10,
|
|
2491
|
+
type: "scroll",
|
|
2492
|
+
itemWidth: 14,
|
|
2493
|
+
itemHeight: 14,
|
|
2494
|
+
formatter: (b) => b == null ? void 0 : b.replace("null", "Не визначено"),
|
|
2495
|
+
textStyle: { fontSize: "14px" },
|
|
2496
|
+
...((s = this.styleData) == null ? void 0 : s.legend) || {}
|
|
2497
|
+
}), this.styleData.label = we.getLabelOptions(
|
|
2498
|
+
(r = this.styleData) == null ? void 0 : r.label
|
|
2499
|
+
), this.styleData.show_legend = ((n = this.styleData) == null ? void 0 : n.show_legend) ?? !0, { series: [
|
|
2500
|
+
{
|
|
2501
|
+
name: this.titleCharts ? this.titleCharts : this.dimensions[0],
|
|
2502
|
+
type: "pie",
|
|
2503
|
+
radius: h,
|
|
2504
|
+
center: ["50%", "60%"],
|
|
2505
|
+
height: "75%",
|
|
2506
|
+
...ie(this.styleData),
|
|
2507
|
+
data: f
|
|
2508
|
+
}
|
|
2509
|
+
] };
|
|
2510
|
+
} catch (i) {
|
|
2511
|
+
return console.error("Error in prepareData:", i), null;
|
|
2512
|
+
}
|
|
2513
|
+
},
|
|
2514
|
+
async initChart(e) {
|
|
2515
|
+
try {
|
|
2516
|
+
if (!e) {
|
|
2517
|
+
console.warn("No series data available for chart initialization");
|
|
2518
|
+
return;
|
|
2519
|
+
}
|
|
2520
|
+
const t = this.$refs.chart;
|
|
2521
|
+
if (!t) {
|
|
2522
|
+
console.warn("Chart DOM element not found");
|
|
2523
|
+
return;
|
|
2524
|
+
}
|
|
2525
|
+
this.chartInstance = echarts.init(t);
|
|
2526
|
+
const s = {
|
|
2527
|
+
tooltip: {
|
|
2528
|
+
trigger: "item",
|
|
2529
|
+
formatter: (r) => this.buildTooltipForDonut(r, [r.color]),
|
|
2530
|
+
borderWidth: 0,
|
|
2531
|
+
appendToBody: !0,
|
|
2532
|
+
borderColor: "transparent",
|
|
2533
|
+
textStyle: { color: "#000" },
|
|
2534
|
+
padding: [15, 15],
|
|
2535
|
+
shadowColor: "transparent",
|
|
2536
|
+
backgroundColor: "transparent"
|
|
2537
|
+
},
|
|
2538
|
+
series: e,
|
|
2539
|
+
...ie(this.styleData || {})
|
|
2540
|
+
};
|
|
2541
|
+
this.chartInstance.setOption(s), this.$emit("update:currentWidget", this.chartInstance), this.chartInstance.resize(), window.addEventListener("resize", () => {
|
|
2542
|
+
var r;
|
|
2543
|
+
(r = this.chartInstance) == null || r.resize();
|
|
2544
|
+
});
|
|
2545
|
+
} catch (t) {
|
|
2546
|
+
console.error("Error in initChart:", t);
|
|
2547
|
+
}
|
|
2548
|
+
}
|
|
2549
|
+
}
|
|
2550
|
+
}, Lr = ["id"];
|
|
2551
|
+
function Ur(e, t, s, r, n, i) {
|
|
2552
|
+
return x(), _("div", {
|
|
2553
|
+
id: i.uniqueID,
|
|
2554
|
+
ref: "chart",
|
|
2555
|
+
class: "h-full min-h-[200px] flex items-center"
|
|
2556
|
+
}, null, 8, Lr);
|
|
2557
|
+
}
|
|
2558
|
+
const Br = /* @__PURE__ */ O(Pr, [["render", Ur]]), jr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2559
|
+
__proto__: null,
|
|
2560
|
+
default: Br
|
|
2561
|
+
}, Symbol.toStringTag, { value: "Module" })), Vr = {
|
|
2562
|
+
name: "VsLine",
|
|
2563
|
+
mixins: [W],
|
|
2564
|
+
data() {
|
|
2565
|
+
return {
|
|
2566
|
+
chartInstance: null,
|
|
2567
|
+
uniqueID: null
|
|
2568
|
+
};
|
|
2569
|
+
},
|
|
2570
|
+
async mounted() {
|
|
2571
|
+
this.uniqueID = this.widget, await this.$nextTick(), await this.getData();
|
|
2572
|
+
const { series: e, xs: t } = this.prepareData();
|
|
2573
|
+
e && this.initChart(e, t);
|
|
2574
|
+
},
|
|
2575
|
+
methods: {
|
|
2576
|
+
onChangedData() {
|
|
2577
|
+
try {
|
|
2578
|
+
if (this.sourceData) {
|
|
2579
|
+
const { series: e, xs: t, ys: s } = this.prepareData();
|
|
2580
|
+
e && (this == null || this.initChart(e, t, s));
|
|
2581
|
+
}
|
|
2582
|
+
} catch (e) {
|
|
2583
|
+
console.error(e);
|
|
2584
|
+
}
|
|
2585
|
+
},
|
|
2586
|
+
prepareData() {
|
|
2587
|
+
var e, t;
|
|
2588
|
+
try {
|
|
2589
|
+
const s = Array.from(
|
|
2590
|
+
new Set(this.sourceData.map((o) => o[this.dimensions[0]]))
|
|
2591
|
+
);
|
|
2592
|
+
let r;
|
|
2593
|
+
this.dimensions[0].includes("date") ? r = s.map((o) => Be(o)) : r = [...s];
|
|
2594
|
+
const n = this.sourceData.map(
|
|
2595
|
+
(o) => parseFloat(o[this.dimensions[1]])
|
|
2596
|
+
);
|
|
2597
|
+
let i;
|
|
2598
|
+
return (e = this.styleData) != null && e.stack ? i = this.dimensions.slice(1).map((a) => ({
|
|
2599
|
+
name: a,
|
|
2600
|
+
type: "line",
|
|
2601
|
+
stack: "a",
|
|
2602
|
+
areaStyle: this.styleData.area ? {} : null,
|
|
2603
|
+
data: this.sourceData.filter((f) => parseFloat(f[a])).map((f) => parseFloat(f[a]))
|
|
2604
|
+
})) : i = [
|
|
2605
|
+
{
|
|
2606
|
+
name: this.title,
|
|
2607
|
+
type: "line",
|
|
2608
|
+
areaStyle: (t = this.styleData) != null && t.area ? {} : null,
|
|
2609
|
+
data: n,
|
|
2610
|
+
stack: "a"
|
|
2611
|
+
}
|
|
2612
|
+
], { series: i, xs: r };
|
|
2613
|
+
} catch (s) {
|
|
2614
|
+
return console.error(s), null;
|
|
2615
|
+
}
|
|
2616
|
+
}
|
|
2617
|
+
}
|
|
2618
|
+
}, Ir = ["id"];
|
|
2619
|
+
function zr(e, t, s, r, n, i) {
|
|
2620
|
+
return x(), _("div", {
|
|
2621
|
+
id: n.uniqueID,
|
|
2622
|
+
ref: "chart",
|
|
2623
|
+
style: { height: "400px" }
|
|
2624
|
+
}, null, 8, Ir);
|
|
2625
|
+
}
|
|
2626
|
+
const Mr = /* @__PURE__ */ O(Vr, [["render", zr]]), Hr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2627
|
+
__proto__: null,
|
|
2628
|
+
default: Mr
|
|
2629
|
+
}, Symbol.toStringTag, { value: "Module" })), qr = {
|
|
2630
|
+
name: "VsStat",
|
|
2631
|
+
mixins: [W],
|
|
2632
|
+
data() {
|
|
2633
|
+
return {
|
|
2634
|
+
restDimensions: [],
|
|
2635
|
+
sumValue: 0,
|
|
2636
|
+
columns: null,
|
|
2637
|
+
showTooltip: -1
|
|
2638
|
+
};
|
|
2639
|
+
},
|
|
2640
|
+
async mounted() {
|
|
2641
|
+
await this.getData(), this.prepareData();
|
|
2642
|
+
},
|
|
2643
|
+
methods: {
|
|
2644
|
+
onChangedData() {
|
|
2645
|
+
try {
|
|
2646
|
+
this.sourceData && this.prepareData();
|
|
2647
|
+
} catch {
|
|
2648
|
+
}
|
|
2649
|
+
},
|
|
2650
|
+
prepareData() {
|
|
2651
|
+
this.columns = Object.keys(this.sourceData[0]);
|
|
2652
|
+
const e = this.getValues();
|
|
2653
|
+
this.sumValue = e.reduce((t, s) => t + s, 0), this.sourceData.forEach((t, s) => {
|
|
2654
|
+
t.color = s < ht.length - 1 ? ht[s] : kr();
|
|
2655
|
+
});
|
|
2656
|
+
},
|
|
2657
|
+
formattedValue(e) {
|
|
2658
|
+
const t = parseFloat(e);
|
|
2659
|
+
return z(t);
|
|
2660
|
+
}
|
|
2661
|
+
}
|
|
2662
|
+
}, Wr = { class: "flex flex-col w-full h-full pt-[16px] rounded-xl" }, Jr = { class: "flex flex-col justify-between w-full h-full" }, Kr = { class: "w-full h-full pb-6 space-y-4" }, Xr = { class: "flex w-full h-3 rounded-full gap-x-1 min-h-3 custom-x-scrollbar" }, Gr = ["onMouseover"], Qr = {
|
|
2663
|
+
key: 0,
|
|
2664
|
+
class: "absolute top-[-1] left-1/2 transform -translate-x-1/2 -translate-y-full bg-black text-white rounded px-2 py-1"
|
|
2665
|
+
}, Zr = { class: "h-[calc(100%-20px)] w-full custom-scrollbar" }, Yr = { class: "grid items-center justify-between grid-cols-2 py-2 gap-x-4" }, en = { class: "flex items-center" }, tn = { class: "text-sm text-gray-800" }, sn = { class: "text-end" }, rn = { class: "text-sm text-gray-500" };
|
|
2666
|
+
function nn(e, t, s, r, n, i) {
|
|
2667
|
+
return x(), _("div", Wr, [
|
|
2668
|
+
g("div", Jr, [
|
|
2669
|
+
g("div", Kr, [
|
|
2670
|
+
g("div", Xr, [
|
|
2671
|
+
(x(!0), _(P, null, U(e.sourceData, (o, a) => {
|
|
2672
|
+
var f, d, u, h;
|
|
2673
|
+
return x(), _("div", {
|
|
2674
|
+
class: Q(["flex flex-col min-w-[5px] justify-center min-h-2.5 h-2.5 text-xs text-white text-center whitespace-nowrap", `bg-[${o.color}]`]),
|
|
2675
|
+
style: Le({
|
|
2676
|
+
width: `${parseFloat(o == null ? void 0 : o[(f = n.columns) == null ? void 0 : f[1]]) / n.sumValue * 100}%`
|
|
2677
|
+
}),
|
|
2678
|
+
role: "progressbar",
|
|
2679
|
+
"aria-valuenow": "42",
|
|
2680
|
+
"aria-valuemin": "0",
|
|
2681
|
+
"aria-valuemax": "100",
|
|
2682
|
+
onMouseover: (w) => n.showTooltip = a,
|
|
2683
|
+
onMouseleave: t[0] || (t[0] = (w) => n.showTooltip = -1)
|
|
2684
|
+
}, [
|
|
2685
|
+
n.showTooltip > -1 ? (x(), _("div", Qr, E(e.sourceData[n.showTooltip][n.columns[0]]) + " " + E((parseFloat((h = (d = e.sourceData) == null ? void 0 : d[n.showTooltip]) == null ? void 0 : h[(u = n.columns) == null ? void 0 : u[1]]) / n.sumValue * 100).toFixed(2)) + "% ", 1)) : N("", !0)
|
|
2686
|
+
], 46, Gr);
|
|
2687
|
+
}), 256))
|
|
2688
|
+
]),
|
|
2689
|
+
g("ul", Zr, [
|
|
2690
|
+
(x(!0), _(P, null, U(e.sourceData, (o) => {
|
|
2691
|
+
var a, f;
|
|
2692
|
+
return x(), _("li", Yr, [
|
|
2693
|
+
g("div", en, [
|
|
2694
|
+
g("span", {
|
|
2695
|
+
class: Q(["shrink-0 size-2.5 inline-block rounded-sm me-2.5 min-w-[10px] w-[10px] h-[10px] min-h-[10px]", `bg-[${o.color}]`])
|
|
2696
|
+
}, null, 2),
|
|
2697
|
+
g("span", tn, E((o == null ? void 0 : o[(a = n.columns) == null ? void 0 : a[0]]) || "Не визначено"), 1)
|
|
2698
|
+
]),
|
|
2699
|
+
g("div", sn, [
|
|
2700
|
+
g("span", rn, E(i.formattedValue(o == null ? void 0 : o[(f = n.columns) == null ? void 0 : f[1]]) || "-"), 1)
|
|
2701
|
+
])
|
|
2702
|
+
]);
|
|
2703
|
+
}), 256))
|
|
2704
|
+
])
|
|
2705
|
+
])
|
|
2706
|
+
])
|
|
2707
|
+
]);
|
|
2708
|
+
}
|
|
2709
|
+
const on = /* @__PURE__ */ O(qr, [["render", nn]]), an = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2710
|
+
__proto__: null,
|
|
2711
|
+
default: on
|
|
2712
|
+
}, Symbol.toStringTag, { value: "Module" })), ln = {
|
|
2713
|
+
name: "VsProgressBar",
|
|
2714
|
+
mixins: [W],
|
|
2715
|
+
data() {
|
|
2716
|
+
return {
|
|
2717
|
+
restDimensions: [],
|
|
2718
|
+
maxValue: 0,
|
|
2719
|
+
columns: null
|
|
2720
|
+
};
|
|
2721
|
+
},
|
|
2722
|
+
async mounted() {
|
|
2723
|
+
await this.getData(), this.prepareData();
|
|
2724
|
+
},
|
|
2725
|
+
methods: {
|
|
2726
|
+
onChangedData() {
|
|
2727
|
+
try {
|
|
2728
|
+
this.sourceData && this.prepareData();
|
|
2729
|
+
} catch {
|
|
2730
|
+
}
|
|
2731
|
+
},
|
|
2732
|
+
prepareData() {
|
|
2733
|
+
var t;
|
|
2734
|
+
this.columns = Object.keys((t = this.sourceData) == null ? void 0 : t[0]) || null;
|
|
2735
|
+
const e = this.getValues();
|
|
2736
|
+
this.maxValue = Math.max(...e);
|
|
2737
|
+
},
|
|
2738
|
+
formattedValue(e) {
|
|
2739
|
+
return z(e);
|
|
2740
|
+
}
|
|
2741
|
+
}
|
|
2742
|
+
}, cn = {
|
|
2743
|
+
key: 0,
|
|
2744
|
+
class: "flex flex-col h-full pt-[16px] rounded-xl"
|
|
2745
|
+
}, un = { class: "h-full pt-0 pb-6 space-y-4" }, dn = { class: "h-full space-y-4 custom-scrollbar" }, fn = { class: "flex items-center justify-between mr-2 gap-x-2" }, hn = { class: "grid items-center w-full grid-cols-2 gap-x-2" }, pn = { class: "text-sm text-gray-800" }, mn = {
|
|
2746
|
+
class: "flex justify-end",
|
|
2747
|
+
role: "progressbar",
|
|
2748
|
+
"aria-valuenow": "100",
|
|
2749
|
+
"aria-valuemin": "0",
|
|
2750
|
+
"aria-valuemax": "100"
|
|
2751
|
+
}, gn = { class: "min-w-[60px] text-end" }, bn = { class: "text-sm text-gray-500" };
|
|
2752
|
+
function wn(e, t, s, r, n, i) {
|
|
2753
|
+
return n.columns ? (x(), _("div", cn, [
|
|
2754
|
+
g("div", un, [
|
|
2755
|
+
g("ul", dn, [
|
|
2756
|
+
(x(!0), _(P, null, U(e.sourceData, (o, a) => (x(), _("li", fn, [
|
|
2757
|
+
g("div", hn, [
|
|
2758
|
+
g("span", pn, E(o[n.columns[0]]), 1),
|
|
2759
|
+
g("div", mn, [
|
|
2760
|
+
g("div", {
|
|
2761
|
+
class: "h-1.5 flex flex-col justify-center overflow-hidden bg-indigo-500 rounded-full text-xs text-white text-center whitespace-nowrap",
|
|
2762
|
+
style: Le({
|
|
2763
|
+
width: `${parseFloat(o[n.columns[1]]) / n.maxValue * 100}%`
|
|
2764
|
+
})
|
|
2765
|
+
}, null, 4)
|
|
2766
|
+
])
|
|
2767
|
+
]),
|
|
2768
|
+
g("div", gn, [
|
|
2769
|
+
g("span", bn, E(i.formattedValue(o[n.columns[1]])), 1)
|
|
2770
|
+
])
|
|
2771
|
+
]))), 256))
|
|
2772
|
+
])
|
|
2773
|
+
])
|
|
2774
|
+
])) : N("", !0);
|
|
2775
|
+
}
|
|
2776
|
+
const yn = /* @__PURE__ */ O(ln, [["render", wn]]), xn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2777
|
+
__proto__: null,
|
|
2778
|
+
default: yn
|
|
2779
|
+
}, Symbol.toStringTag, { value: "Module" })), _n = {
|
|
2780
|
+
name: "VsListbar",
|
|
2781
|
+
mixins: [W],
|
|
2782
|
+
props: ["source"],
|
|
2783
|
+
data() {
|
|
2784
|
+
return {
|
|
2785
|
+
restDimensions: [],
|
|
2786
|
+
maxValue: 0,
|
|
2787
|
+
columns: null
|
|
2788
|
+
};
|
|
2789
|
+
},
|
|
2790
|
+
async mounted() {
|
|
2791
|
+
await this.getData(), this.prepareData();
|
|
2792
|
+
},
|
|
2793
|
+
methods: {
|
|
2794
|
+
onChangedData() {
|
|
2795
|
+
try {
|
|
2796
|
+
this.sourceData && this.prepareData();
|
|
2797
|
+
} catch (e) {
|
|
2798
|
+
console.error(e);
|
|
2799
|
+
}
|
|
2800
|
+
},
|
|
2801
|
+
prepareData() {
|
|
2802
|
+
var t, s, r;
|
|
2803
|
+
this.columns = Object.keys(((t = this.sourceData) == null ? void 0 : t[0]) || {});
|
|
2804
|
+
const e = (s = this.sourceData) == null ? void 0 : s.map((n) => {
|
|
2805
|
+
var i;
|
|
2806
|
+
return n == null ? void 0 : n[(i = this.columns) == null ? void 0 : i[1]];
|
|
2807
|
+
});
|
|
2808
|
+
this.maxValue = Math.max(...e || []), this.restDimensions = (r = this.columns) == null ? void 0 : r.filter((n, i) => i !== 0);
|
|
2809
|
+
},
|
|
2810
|
+
formattedValue(e) {
|
|
2811
|
+
return z(e);
|
|
2812
|
+
},
|
|
2813
|
+
getWidth(e) {
|
|
2814
|
+
return `${e / this.maxValue * 100}%`;
|
|
2815
|
+
}
|
|
2816
|
+
}
|
|
2817
|
+
}, Dn = { class: "h-full pt-[20px] list-bar" }, Sn = { class: "space-y-2 custom-scrollbar h-full h-[calc(100%-20px)]" }, kn = { class: "relative w-full truncate" }, vn = { class: "relative z-[1] text-sm block py-1 px-2 w-full text-sm truncate text-gray-800" }, En = { class: "text-[14px] text-gray-500" };
|
|
2818
|
+
function Cn(e, t, s, r, n, i) {
|
|
2819
|
+
return x(), _("div", Dn, [
|
|
2820
|
+
g("ul", Sn, [
|
|
2821
|
+
(x(!0), _(P, null, U(e.sourceData, (o, a) => {
|
|
2822
|
+
var f, d, u;
|
|
2823
|
+
return x(), _("li", {
|
|
2824
|
+
key: a,
|
|
2825
|
+
class: "flex items-center justify-between w-full gap-x-2"
|
|
2826
|
+
}, [
|
|
2827
|
+
g("div", kn, [
|
|
2828
|
+
g("span", vn, E((o == null ? void 0 : o[(f = n.columns) == null ? void 0 : f[0]]) || "Без категорії"), 1),
|
|
2829
|
+
g("div", {
|
|
2830
|
+
class: Q(["absolute inset-y-0 h-full rounded start-0", o != null && o[(d = n.columns) == null ? void 0 : d[0]] ? "bg-indigo-100" : "bg-gray-100"]),
|
|
2831
|
+
style: Le({ width: i.getWidth(o == null ? void 0 : o[(u = n.columns) == null ? void 0 : u[1]]) })
|
|
2832
|
+
}, null, 6)
|
|
2833
|
+
]),
|
|
2834
|
+
(x(!0), _(P, null, U(n.restDimensions, (h, w) => (x(), _("div", {
|
|
2835
|
+
key: w,
|
|
2836
|
+
class: "w-20 mr-2 text-end"
|
|
2837
|
+
}, [
|
|
2838
|
+
g("span", En, E(i.formattedValue(o == null ? void 0 : o[h])), 1)
|
|
2839
|
+
]))), 128))
|
|
2840
|
+
]);
|
|
2841
|
+
}), 128))
|
|
2842
|
+
])
|
|
2843
|
+
]);
|
|
2844
|
+
}
|
|
2845
|
+
const On = /* @__PURE__ */ O(_n, [["render", Cn]]), Rn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2846
|
+
__proto__: null,
|
|
2847
|
+
default: On
|
|
2848
|
+
}, Symbol.toStringTag, { value: "Module" })), $e = {
|
|
2849
|
+
week: "Тиждень",
|
|
2850
|
+
month: "Місяць",
|
|
2851
|
+
quarter: "Квартал",
|
|
2852
|
+
year: "Рік"
|
|
2853
|
+
}, $n = ["onClick"], Tn = { class: "flex items-center justify-between w-full" }, Nn = { key: 0 }, Fn = {
|
|
2854
|
+
__name: "vs-bi-dropdown",
|
|
2855
|
+
props: {
|
|
2856
|
+
title: String,
|
|
2857
|
+
options: [Array, String],
|
|
2858
|
+
value: { type: String }
|
|
2859
|
+
},
|
|
2860
|
+
emits: ["selected"],
|
|
2861
|
+
setup(e, { emit: t }) {
|
|
2862
|
+
const s = e, r = t, n = Ee(!1), i = Ee(s.value || null), o = Ee(null), a = Ke(() => typeof s.options == "string" ? s.options.split(",").map((b, c) => ({ id: c, text: b.trim() })) : s.options), f = Ke(() => {
|
|
2863
|
+
const b = a.value.find(
|
|
2864
|
+
(c) => (c.id || c) === i.value
|
|
2865
|
+
);
|
|
2866
|
+
return b ? b.text || b : s.title;
|
|
2867
|
+
}), d = (b) => {
|
|
2868
|
+
i.value = b.id || b, n.value = !1, r("selected", (b == null ? void 0 : b.id) || b), document.removeEventListener("click", u);
|
|
2869
|
+
}, u = (b) => {
|
|
2870
|
+
o.value && !o.value.contains(b.target) && (n.value = !1, document.removeEventListener("click", u));
|
|
2871
|
+
}, h = () => {
|
|
2872
|
+
n.value = !n.value, n.value ? setTimeout(() => {
|
|
2873
|
+
document.addEventListener("click", u);
|
|
2874
|
+
}, 200) : document.removeEventListener("click", u);
|
|
2875
|
+
}, w = (b) => ($e == null ? void 0 : $e[b]) || b;
|
|
2876
|
+
return It(() => {
|
|
2877
|
+
document.removeEventListener("click", u);
|
|
2878
|
+
}), (b, c) => (x(), _(P, null, [
|
|
2879
|
+
g("button", {
|
|
2880
|
+
type: "button",
|
|
2881
|
+
"aria-expanded": "true",
|
|
2882
|
+
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",
|
|
2883
|
+
onClick: h
|
|
2884
|
+
}, [
|
|
2885
|
+
pt(E(w(f.value)) + " ", 1),
|
|
2886
|
+
c[0] || (c[0] = g("svg", {
|
|
2887
|
+
class: "shrink-0 size-3.5 text-gray-600 dark:text-neutral-400",
|
|
2888
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2889
|
+
width: "16",
|
|
2890
|
+
height: "16",
|
|
2891
|
+
viewBox: "0 0 24 24",
|
|
2892
|
+
fill: "none",
|
|
2893
|
+
stroke: "currentColor",
|
|
2894
|
+
"stroke-width": "2",
|
|
2895
|
+
"stroke-linecap": "round",
|
|
2896
|
+
"stroke-linejoin": "round"
|
|
2897
|
+
}, [
|
|
2898
|
+
g("path", { d: "m6 9 6 6 6-6" })
|
|
2899
|
+
], -1))
|
|
2900
|
+
]),
|
|
2901
|
+
n.value ? (x(), _("div", {
|
|
2902
|
+
key: 0,
|
|
2903
|
+
ref_key: "biDropdown",
|
|
2904
|
+
ref: o,
|
|
2905
|
+
"data-hs-select-dropdown": "",
|
|
2906
|
+
class: "absolute mt-2 z-50 w-48 p-1 space-y-0.5 bg-white rounded-xl shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)] dark:bg-neutral-950 opened",
|
|
2907
|
+
role: "listbox",
|
|
2908
|
+
tabindex: "-1",
|
|
2909
|
+
"aria-orientation": "vertical",
|
|
2910
|
+
style: { "margin-top": "10px" }
|
|
2911
|
+
}, [
|
|
2912
|
+
(x(!0), _(P, null, U(a.value, (p) => (x(), _("div", {
|
|
2913
|
+
key: p.id || p,
|
|
2914
|
+
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",
|
|
2915
|
+
onClick: (m) => d(p)
|
|
2916
|
+
}, [
|
|
2917
|
+
g("div", Tn, [
|
|
2918
|
+
g("span", null, E(w(p.text || p)), 1),
|
|
2919
|
+
i.value === (p.id || p) ? (x(), _("span", Nn, [...c[1] || (c[1] = [
|
|
2920
|
+
g("svg", {
|
|
2921
|
+
class: "shrink-0 h-3.5 w-3.5 text-gray-800 dark:text-neutral-200",
|
|
2922
|
+
xmlns: "http:.w3.org/2000/svg",
|
|
2923
|
+
width: "24",
|
|
2924
|
+
height: "24",
|
|
2925
|
+
viewBox: "0 0 24 24",
|
|
2926
|
+
fill: "none",
|
|
2927
|
+
stroke: "currentColor",
|
|
2928
|
+
"stroke-width": "2",
|
|
2929
|
+
"stroke-linecap": "round",
|
|
2930
|
+
"stroke-linejoin": "round"
|
|
2931
|
+
}, [
|
|
2932
|
+
g("polyline", { points: "20 6 9 17 4 12" })
|
|
2933
|
+
], -1)
|
|
2934
|
+
])])) : N("", !0)
|
|
2935
|
+
])
|
|
2936
|
+
], 8, $n))), 128))
|
|
2937
|
+
], 512)) : N("", !0)
|
|
2938
|
+
], 64));
|
|
2939
|
+
}
|
|
2940
|
+
}, An = {
|
|
2941
|
+
"bi-bar": T(() => Promise.resolve().then(() => Rr)),
|
|
2942
|
+
"bi-number": T(() => import("./vs-number-Dd_21nn-.js")),
|
|
2943
|
+
"bi-text": T(() => import("./vs-text-DEJjWxDu.js")),
|
|
2944
|
+
"bi-listbar": T(() => Promise.resolve().then(() => Rn)),
|
|
2945
|
+
"bi-pie": T(() => Promise.resolve().then(() => jr)),
|
|
2946
|
+
"bi-donut": T(() => Promise.resolve().then(() => Ar)),
|
|
2947
|
+
"bi-line": T(() => Promise.resolve().then(() => Hr)),
|
|
2948
|
+
"bi-stat": T(() => Promise.resolve().then(() => an)),
|
|
2949
|
+
"bi-pivot": T(() => Promise.resolve().then(() => Xi)),
|
|
2950
|
+
"bi-progress": T(() => Promise.resolve().then(() => xn)),
|
|
2951
|
+
"bi-funnel": T(() => import("./vs-funnel-bar-T330oJNS.js")),
|
|
2952
|
+
"bi-map": T(() => import("./vs-map-Skt608pM.js")),
|
|
2953
|
+
"bi-cluster": T(() => import("./vs-map-cluster-BRUiY_90.js")),
|
|
2954
|
+
"bi-table": T(() => import("./vs-table-BwC29Zyc.js"))
|
|
2955
|
+
}, Pn = { class: "flex items-center space-x-2" }, Ln = /* @__PURE__ */ zt({
|
|
2956
|
+
__name: "vs-bi-switch",
|
|
2957
|
+
props: /* @__PURE__ */ Xe({
|
|
2958
|
+
leftLabel: {},
|
|
2959
|
+
rightLabel: {},
|
|
2960
|
+
modelValue: { type: Boolean }
|
|
2961
|
+
}, {
|
|
2962
|
+
modelValue: {
|
|
2963
|
+
default: () => !1,
|
|
2964
|
+
type: Boolean
|
|
2965
|
+
},
|
|
2966
|
+
modelModifiers: {}
|
|
2967
|
+
}),
|
|
2968
|
+
emits: /* @__PURE__ */ Xe(["update:is-enabled"], ["update:modelValue"]),
|
|
2969
|
+
setup(e, { emit: t }) {
|
|
2970
|
+
const s = t, r = Mt(e, "modelValue"), n = () => {
|
|
2971
|
+
s("update:is-enabled", r);
|
|
2972
|
+
};
|
|
2973
|
+
return (i, o) => (x(), _("div", Pn, [
|
|
2974
|
+
e.leftLabel ? (x(), _("div", {
|
|
2975
|
+
key: 0,
|
|
2976
|
+
class: Q(["transition-colors", { "text-blue-500": !r.value }])
|
|
2977
|
+
}, E(e.leftLabel), 3)) : N("", !0),
|
|
2978
|
+
Ht(g("input", {
|
|
2979
|
+
"onUpdate:modelValue": o[0] || (o[0] = (a) => r.value = a),
|
|
2980
|
+
type: "checkbox",
|
|
2981
|
+
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",
|
|
2982
|
+
onChange: n
|
|
2983
|
+
}, null, 544), [
|
|
2984
|
+
[qt, r.value]
|
|
2985
|
+
]),
|
|
2986
|
+
e.rightLabel ? (x(), _("div", {
|
|
2987
|
+
key: 1,
|
|
2988
|
+
class: Q(["transition-colors", { "text-blue-500": r.value }])
|
|
2989
|
+
}, E(e.rightLabel), 3)) : N("", !0)
|
|
2990
|
+
]));
|
|
2991
|
+
}
|
|
2992
|
+
}), Un = {}, Bn = { class: "flex items-center justify-center h-full" };
|
|
2993
|
+
function jn(e, t) {
|
|
2994
|
+
return x(), _("div", Bn, [...t[0] || (t[0] = [
|
|
2995
|
+
g("div", { class: "text-center text-gray-500" }, [
|
|
2996
|
+
g("h2", { class: "text-2xl font-bold" }, "No data available")
|
|
2997
|
+
], -1)
|
|
2998
|
+
])]);
|
|
2999
|
+
}
|
|
3000
|
+
const Vn = /* @__PURE__ */ O(Un, [["render", jn]]), In = {}, zn = {
|
|
3001
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3002
|
+
viewBox: "0 0 24 24",
|
|
3003
|
+
fill: "none",
|
|
3004
|
+
stroke: "currentColor",
|
|
3005
|
+
"stroke-width": "2",
|
|
3006
|
+
"stroke-linecap": "round",
|
|
3007
|
+
"stroke-linejoin": "round",
|
|
3008
|
+
class: "icon icon-tabler icons-tabler-outline icon-tabler-download"
|
|
3009
|
+
};
|
|
3010
|
+
function Mn(e, t, s, r, n, i) {
|
|
3011
|
+
return x(), _("svg", zn, [...t[0] || (t[0] = [
|
|
3012
|
+
g("path", {
|
|
3013
|
+
stroke: "none",
|
|
3014
|
+
d: "M0 0h24v24H0z",
|
|
3015
|
+
fill: "none"
|
|
3016
|
+
}, null, -1),
|
|
3017
|
+
g("path", { d: "M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2" }, null, -1),
|
|
3018
|
+
g("path", { d: "M7 11l5 5l5 -5" }, null, -1),
|
|
3019
|
+
g("path", { d: "M12 4l0 12" }, null, -1)
|
|
3020
|
+
])]);
|
|
3021
|
+
}
|
|
3022
|
+
const Hn = /* @__PURE__ */ O(In, [["render", Mn]]), qn = {
|
|
3023
|
+
components: {
|
|
3024
|
+
VsBiDropdown: Fn,
|
|
3025
|
+
VsBiSwitch: Ln,
|
|
3026
|
+
VsNoDataChart: Vn,
|
|
3027
|
+
IconDownload: Hn,
|
|
3028
|
+
...An
|
|
3029
|
+
},
|
|
3030
|
+
props: {
|
|
3031
|
+
dashboard: { type: String },
|
|
3032
|
+
prefix: { type: String, default: "" },
|
|
3033
|
+
widget: { type: String },
|
|
3034
|
+
filterURl: { type: String },
|
|
3035
|
+
dashboardWidgets: { type: Object },
|
|
3036
|
+
selectedWidget: { type: String }
|
|
3037
|
+
},
|
|
3038
|
+
data() {
|
|
3039
|
+
return {
|
|
3040
|
+
checked: [],
|
|
3041
|
+
selected: [],
|
|
3042
|
+
currentWidget: null,
|
|
3043
|
+
widgetData: []
|
|
3044
|
+
};
|
|
3045
|
+
},
|
|
3046
|
+
computed: {
|
|
3047
|
+
computedTitle() {
|
|
3048
|
+
var t, s;
|
|
3049
|
+
const e = (t = this.dashboardWidgets) == null ? void 0 : t.find(
|
|
3050
|
+
(r) => r.name === this.widget
|
|
3051
|
+
);
|
|
3052
|
+
return ((s = e == null ? void 0 : e.data) == null ? void 0 : s.title) || (e == null ? void 0 : e.title) || "";
|
|
3053
|
+
},
|
|
3054
|
+
computedType() {
|
|
3055
|
+
var t;
|
|
3056
|
+
const e = (t = this.dashboardWidgets) == null ? void 0 : t.find(
|
|
3057
|
+
(s) => s.name === this.widget
|
|
3058
|
+
);
|
|
3059
|
+
return (e == null ? void 0 : e.type) || "text";
|
|
3060
|
+
},
|
|
3061
|
+
controls() {
|
|
3062
|
+
var t;
|
|
3063
|
+
return Object.keys(((t = this.widgetData) == null ? void 0 : t.controls) || {}).map(
|
|
3064
|
+
(s) => {
|
|
3065
|
+
var r, n, i;
|
|
3066
|
+
return {
|
|
3067
|
+
name: s,
|
|
3068
|
+
options: typeof ((r = this.widgetData) == null ? void 0 : r.controls) == "boolean" ? !1 : (i = (n = this.widgetData) == null ? void 0 : n.controls) == null ? void 0 : i[s]
|
|
3069
|
+
};
|
|
3070
|
+
}
|
|
3071
|
+
);
|
|
3072
|
+
}
|
|
3073
|
+
},
|
|
3074
|
+
mounted() {
|
|
3075
|
+
this.prefix && (v.defaults.baseURL = this.prefix);
|
|
3076
|
+
},
|
|
3077
|
+
watch: {
|
|
3078
|
+
filterURl(e) {
|
|
3079
|
+
var t, s;
|
|
3080
|
+
(s = (t = this.$refs) == null ? void 0 : t.chart) == null || s.setFilter(e);
|
|
3081
|
+
},
|
|
3082
|
+
selectedWidget(e, t) {
|
|
3083
|
+
var s;
|
|
3084
|
+
e !== t && e === ((s = this.widgetData) == null ? void 0 : s.id) && this.$emit("update:current-widget-data", this.widgetData);
|
|
3085
|
+
},
|
|
3086
|
+
widgetData(e, t) {
|
|
3087
|
+
if ((e == null ? void 0 : e.id) === (t == null ? void 0 : t.id)) return;
|
|
3088
|
+
const r = new URLSearchParams(window.top.location.search).get("widget");
|
|
3089
|
+
r && r === (e == null ? void 0 : e.id) && this.$emit("update:current-widget-data", e);
|
|
3090
|
+
}
|
|
3091
|
+
},
|
|
3092
|
+
methods: {
|
|
3093
|
+
changeStyleHandler(e, t) {
|
|
3094
|
+
var s;
|
|
3095
|
+
(s = this.$refs.chart) == null || s.changeStyle(e, t);
|
|
3096
|
+
},
|
|
3097
|
+
selectedOptionHandler(e, t) {
|
|
3098
|
+
let s = !0;
|
|
3099
|
+
this.selected.forEach((r) => {
|
|
3100
|
+
r.name === t && (r.option = e, s = !1);
|
|
3101
|
+
}), s && this.selected.push({ name: t, option: e }), this.makeUpUrl();
|
|
3102
|
+
},
|
|
3103
|
+
makeUpUrl() {
|
|
3104
|
+
var t;
|
|
3105
|
+
let e = `/bi-data?dashboard=${this.dashboard}&widget=${this.widget}`;
|
|
3106
|
+
this.selected.forEach((s, r) => {
|
|
3107
|
+
e += `&${s.name}=${s.option}`;
|
|
3108
|
+
}), (t = this.$refs.chart) == null || t.getDataFromURL(e);
|
|
3109
|
+
},
|
|
3110
|
+
exportChart() {
|
|
3111
|
+
if (this.currentWidget) {
|
|
3112
|
+
const e = this.currentWidget.getDataURL({
|
|
3113
|
+
type: "png",
|
|
3114
|
+
pixelRatio: 2,
|
|
3115
|
+
backgroundColor: "#ffffff"
|
|
3116
|
+
}), t = document.createElement("a");
|
|
3117
|
+
t.href = e, t.download = "chart.png", document.body.appendChild(t), t.click(), document.body.removeChild(t);
|
|
3118
|
+
}
|
|
3119
|
+
}
|
|
3120
|
+
}
|
|
3121
|
+
}, Wn = {
|
|
3122
|
+
key: 0,
|
|
3123
|
+
class: "text-[16px] flex max-w-full items-center min-h-0 flex justify-between max-h-[50px] h-fit shrink-0"
|
|
3124
|
+
}, Jn = { class: "flex items-center justify-between w-full" }, Kn = { class: "grid" }, Xn = { class: "text-gray-800 max-h-[30px] inline-block text-nowrap font-semibold" }, Gn = { class: "flex flex-col justify-end" }, Qn = {
|
|
3125
|
+
key: 0,
|
|
3126
|
+
class: "flex items-center justify-end w-full gap-2"
|
|
3127
|
+
}, Zn = { class: "w-full h-full" };
|
|
3128
|
+
function Yn(e, t, s, r, n, i) {
|
|
3129
|
+
var u, h, w, b, c, p, m, k, S;
|
|
3130
|
+
const o = I("VsBiDropdown"), a = I("VsBiSwitch"), f = I("IconDownload"), d = I("VsNoDataChart");
|
|
3131
|
+
return x(), _("div", {
|
|
3132
|
+
ref: "widget",
|
|
3133
|
+
class: Q(["box-border relative h-full p-4 bg-white border border-gray-200 select-auto rounded-xl", [
|
|
3134
|
+
(h = (u = n.widgetData) == null ? void 0 : u.style) != null && h.height ? `max-h-[${(b = (w = n.widgetData) == null ? void 0 : w.style) == null ? void 0 : b.height}px] h-[${(p = (c = n.widgetData) == null ? void 0 : c.style) == null ? void 0 : p.height}px]` : "max-h-[460px]"
|
|
3135
|
+
]])
|
|
3136
|
+
}, [
|
|
3137
|
+
["text", "cluster", "map"].includes(i.computedType) ? N("", !0) : (x(), _("div", Wn, [
|
|
3138
|
+
g("div", Jn, [
|
|
3139
|
+
g("div", Kn, [
|
|
3140
|
+
g("span", Xn, E(i.computedTitle), 1)
|
|
3141
|
+
]),
|
|
3142
|
+
g("div", Gn, [
|
|
3143
|
+
(m = i.controls) != null && m.length ? (x(), _("span", Qn, [
|
|
3144
|
+
(x(!0), _(P, null, U((k = i.controls) == null ? void 0 : k.filter(
|
|
3145
|
+
(y) => (y == null ? void 0 : y.options) && (y == null ? void 0 : y.name) !== "export"
|
|
3146
|
+
), (y) => {
|
|
3147
|
+
var C;
|
|
3148
|
+
return x(), _("div", null, [
|
|
3149
|
+
Array.isArray(y == null ? void 0 : y.options) ? (x(), M(o, {
|
|
3150
|
+
key: 0,
|
|
3151
|
+
title: y == null ? void 0 : y.name,
|
|
3152
|
+
options: y == null ? void 0 : y.options,
|
|
3153
|
+
value: (C = n.widgetData) == null ? void 0 : C.data[y == null ? void 0 : y.name],
|
|
3154
|
+
onSelected: ($) => i.selectedOptionHandler($, y == null ? void 0 : y.name)
|
|
3155
|
+
}, null, 8, ["title", "options", "value", "onSelected"])) : typeof y.options == "boolean" ? (x(), M(a, {
|
|
3156
|
+
key: 1,
|
|
3157
|
+
"left-label": y == null ? void 0 : y.name,
|
|
3158
|
+
"is-enabled": y == null ? void 0 : y.options,
|
|
3159
|
+
"onUpdate:isEnabled": ($) => i.changeStyleHandler(y == null ? void 0 : y.name, $)
|
|
3160
|
+
}, null, 8, ["left-label", "is-enabled", "onUpdate:isEnabled"])) : N("", !0)
|
|
3161
|
+
]);
|
|
3162
|
+
}), 256)),
|
|
3163
|
+
(S = i.controls) != null && S.some((y) => (y == null ? void 0 : y.name) === "export") ? (x(), _("button", {
|
|
3164
|
+
key: 0,
|
|
3165
|
+
onClick: t[0] || (t[0] = (...y) => i.exportChart && i.exportChart(...y)),
|
|
3166
|
+
class: "h-[32px] w-[32px] rounded-lg hover:bg-gray-100 duration-100 flex items-center justify-center"
|
|
3167
|
+
}, [
|
|
3168
|
+
Ue(f, {
|
|
3169
|
+
height: "16",
|
|
3170
|
+
width: "16",
|
|
3171
|
+
class: "text-gray-800"
|
|
3172
|
+
})
|
|
3173
|
+
])) : N("", !0)
|
|
3174
|
+
])) : N("", !0)
|
|
3175
|
+
])
|
|
3176
|
+
])
|
|
3177
|
+
])),
|
|
3178
|
+
g("div", Zn, [
|
|
3179
|
+
n.widgetData ? (x(), M(Wt("bi-" + i.computedType), {
|
|
3180
|
+
key: 0,
|
|
3181
|
+
currentWidget: n.currentWidget,
|
|
3182
|
+
"onUpdate:currentWidget": t[1] || (t[1] = (y) => n.currentWidget = y),
|
|
3183
|
+
widgetData: n.widgetData,
|
|
3184
|
+
"onUpdate:widgetData": t[2] || (t[2] = (y) => n.widgetData = y),
|
|
3185
|
+
ref: "chart",
|
|
3186
|
+
dashboard: s.dashboard,
|
|
3187
|
+
title: i.computedTitle,
|
|
3188
|
+
widget: s.widget
|
|
3189
|
+
}, null, 40, ["currentWidget", "widgetData", "dashboard", "title", "widget"])) : (x(), M(d, {
|
|
3190
|
+
key: 1,
|
|
3191
|
+
class: "w-full h-full"
|
|
3192
|
+
}))
|
|
3193
|
+
])
|
|
3194
|
+
], 2);
|
|
3195
|
+
}
|
|
3196
|
+
const ei = /* @__PURE__ */ O(qn, [["render", Yn]]), ti = {
|
|
3197
|
+
props: {
|
|
3198
|
+
title: { type: String, default: () => "Дані для відображення відсутні" },
|
|
3199
|
+
text: {
|
|
3200
|
+
type: String,
|
|
3201
|
+
default: () => "Змініть параметри пошуку або спробуйте пізніше"
|
|
3202
|
+
}
|
|
3203
|
+
}
|
|
3204
|
+
}, si = { class: "w-full overflow-hidden rounded vs-table-interface__table-wrp h-fit" }, ri = { class: "p-5 min-h-[500px] flex flex-col justify-center items-center text-center" }, ni = { class: "max-w-sm mx-auto mt-6" }, ii = { class: "font-medium text-gray-800 dark:text-neutral-200" }, oi = { class: "mt-2 text-sm text-gray-500 dark:text-neutral-500" };
|
|
3205
|
+
function ai(e, t, s, r, n, i) {
|
|
3206
|
+
return x(), _("div", si, [
|
|
3207
|
+
g("div", null, [
|
|
3208
|
+
g("div", ri, [
|
|
3209
|
+
t[0] || (t[0] = mt('<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)),
|
|
3210
|
+
g("div", ni, [
|
|
3211
|
+
g("p", ii, E(s.title), 1),
|
|
3212
|
+
g("p", oi, E(s.text), 1)
|
|
3213
|
+
])
|
|
3214
|
+
])
|
|
3215
|
+
])
|
|
3216
|
+
]);
|
|
3217
|
+
}
|
|
3218
|
+
const li = /* @__PURE__ */ O(ti, [["render", ai]]), ci = {}, ui = {
|
|
3219
|
+
class: "flex-shrink-0 size-3.5",
|
|
3220
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3221
|
+
width: "22",
|
|
3222
|
+
height: "22",
|
|
3223
|
+
viewBox: "0 0 24 24",
|
|
3224
|
+
fill: "none",
|
|
3225
|
+
stroke: "currentColor",
|
|
3226
|
+
"stroke-width": "2",
|
|
3227
|
+
"stroke-linecap": "round",
|
|
3228
|
+
"stroke-linejoin": "round"
|
|
3229
|
+
};
|
|
3230
|
+
function di(e, t) {
|
|
3231
|
+
return x(), _("svg", ui, [...t[0] || (t[0] = [
|
|
3232
|
+
mt('<line x1="21" x2="14" y1="4" y2="4"></line><line x1="10" x2="3" y1="4" y2="4"></line><line x1="21" x2="12" y1="12" y2="12"></line><line x1="8" x2="3" y1="12" y2="12"></line><line x1="21" x2="16" y1="20" y2="20"></line><line x1="12" x2="3" y1="20" y2="20"></line><line x1="14" x2="14" y1="2" y2="6"></line><line x1="8" x2="8" y1="10" y2="14"></line><line x1="16" x2="16" y1="18" y2="22"></line>', 9)
|
|
3233
|
+
])]);
|
|
3234
|
+
}
|
|
3235
|
+
const fi = /* @__PURE__ */ O(ci, [["render", di]]), hi = {}, pi = {
|
|
3236
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3237
|
+
viewBox: "0 0 24 24",
|
|
3238
|
+
fill: "none",
|
|
3239
|
+
stroke: "currentColor",
|
|
3240
|
+
"stroke-width": "1",
|
|
3241
|
+
"stroke-linecap": "round",
|
|
3242
|
+
"stroke-linejoin": "round",
|
|
3243
|
+
class: "icon icon-tabler icons-tabler-outline icon-tabler-refresh"
|
|
3244
|
+
};
|
|
3245
|
+
function mi(e, t) {
|
|
3246
|
+
return x(), _("svg", pi, [...t[0] || (t[0] = [
|
|
3247
|
+
g("path", {
|
|
3248
|
+
stroke: "none",
|
|
3249
|
+
d: "M0 0h24v24H0z",
|
|
3250
|
+
fill: "none"
|
|
3251
|
+
}, null, -1),
|
|
3252
|
+
g("path", { d: "M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4" }, null, -1),
|
|
3253
|
+
g("path", { d: "M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4" }, null, -1)
|
|
3254
|
+
])]);
|
|
3255
|
+
}
|
|
3256
|
+
const gi = /* @__PURE__ */ O(hi, [["render", mi]]), bi = {
|
|
3257
|
+
components: { filterIcon: fi, refreshIcon: gi },
|
|
3258
|
+
props: ["filterScheme"],
|
|
3259
|
+
emits: ["filters:changed"],
|
|
3260
|
+
data() {
|
|
3261
|
+
return {
|
|
3262
|
+
rows: [],
|
|
3263
|
+
isFilterVisible: !1,
|
|
3264
|
+
rowList: [],
|
|
3265
|
+
activeFilters: "",
|
|
3266
|
+
filters: {}
|
|
3267
|
+
};
|
|
3268
|
+
},
|
|
3269
|
+
async mounted() {
|
|
3270
|
+
const t = await (await new URLSearchParams(window.top.location.search)).get("filter");
|
|
3271
|
+
this.filters.url = t || "";
|
|
3272
|
+
},
|
|
3273
|
+
computed: {
|
|
3274
|
+
activeFiltersCount() {
|
|
3275
|
+
var e, t;
|
|
3276
|
+
return (e = this.filters) != null && e.url ? ((t = this.filters) == null ? void 0 : t.url.split("=").length) - 1 : 0;
|
|
3277
|
+
}
|
|
3278
|
+
},
|
|
3279
|
+
methods: {
|
|
3280
|
+
toggleFilterShown() {
|
|
3281
|
+
this.isFilterVisible = !this.isFilterVisible;
|
|
3282
|
+
},
|
|
3283
|
+
handleFilterChange(e) {
|
|
3284
|
+
var t, s;
|
|
3285
|
+
this.filters = e, this.activeFilters = (s = (t = this.$refs) == null ? void 0 : t.filter) == null ? void 0 : s.activeFilters, this.$emit("filters:changed", this.filters);
|
|
3286
|
+
},
|
|
3287
|
+
resetFilters() {
|
|
3288
|
+
this.$refs.filter && this.$refs.filter.clearAll(), this.isFilterVisible = !1, this.$emit("filters:changed", ""), this.activeFilters = null;
|
|
3289
|
+
},
|
|
3290
|
+
closeFilter({ target: e }) {
|
|
3291
|
+
this.isFilterVisible && e.classList.contains("filter-container") && (this.isFilterVisible = !1);
|
|
3292
|
+
}
|
|
3293
|
+
}
|
|
3294
|
+
}, wi = { class: "flex items-center" }, yi = {
|
|
3295
|
+
key: 0,
|
|
3296
|
+
class: "font-medium text-[10px] min-w-[16px] py-0.5 px-[5px] bg-gray-800 text-white leading-3 rounded-full"
|
|
3297
|
+
};
|
|
3298
|
+
function xi(e, t, s, r, n, i) {
|
|
3299
|
+
const o = I("filterIcon"), a = I("VsFilterList");
|
|
3300
|
+
return x(), _("div", wi, [
|
|
3301
|
+
s.filterScheme ? (x(), M(a, {
|
|
3302
|
+
key: 0,
|
|
3303
|
+
ref: "filter",
|
|
3304
|
+
scheme: s.filterScheme,
|
|
3305
|
+
closeFilterBtn: !0,
|
|
3306
|
+
onFilterClose: t[1] || (t[1] = (f) => n.isFilterVisible = !1),
|
|
3307
|
+
layout: "default",
|
|
3308
|
+
"apply-vue-router": "",
|
|
3309
|
+
history: "",
|
|
3310
|
+
view: "plain",
|
|
3311
|
+
token: e.table,
|
|
3312
|
+
name: "filter",
|
|
3313
|
+
footer: !0,
|
|
3314
|
+
background: !0,
|
|
3315
|
+
onFilterChange: i.handleFilterChange
|
|
3316
|
+
}, {
|
|
3317
|
+
button: Jt(() => [
|
|
3318
|
+
g("button", {
|
|
3319
|
+
type: "button",
|
|
3320
|
+
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",
|
|
3321
|
+
onClick: t[0] || (t[0] = (...f) => i.toggleFilterShown && i.toggleFilterShown(...f))
|
|
3322
|
+
}, [
|
|
3323
|
+
Ue(o),
|
|
3324
|
+
t[2] || (t[2] = pt(" Фільтри ", -1)),
|
|
3325
|
+
i.activeFiltersCount >= 1 ? (x(), _("span", yi, E(i.activeFiltersCount), 1)) : N("", !0)
|
|
3326
|
+
])
|
|
3327
|
+
]),
|
|
3328
|
+
_: 1
|
|
3329
|
+
}, 8, ["scheme", "token", "onFilterChange"])) : N("", !0)
|
|
3330
|
+
]);
|
|
3331
|
+
}
|
|
3332
|
+
const _i = /* @__PURE__ */ O(bi, [["render", xi]]), Di = {
|
|
3333
|
+
props: ["dashboardData", "filters"],
|
|
3334
|
+
components: { VsFilterHeader: _i }
|
|
3335
|
+
}, Si = { class: "bg-white px-5 flex gap-4 h-[90px] border border-gray-200 mt-2 rounded-xl mb-2 pt-[3px] justify-between items-center" }, ki = { class: "grow" }, vi = { class: "text-lg font-semibold text-stone-800 dark:text-neutral-200" }, Ei = {
|
|
3336
|
+
type: "button",
|
|
3337
|
+
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",
|
|
3338
|
+
"data-clipboard-target": "#hs-erc",
|
|
3339
|
+
"data-clipboard-action": "copy",
|
|
3340
|
+
"data-clipboard-success-text": "Copied"
|
|
3341
|
+
};
|
|
3342
|
+
function Ci(e, t, s, r, n, i) {
|
|
3343
|
+
var a, f;
|
|
3344
|
+
const o = I("VsFilterHeader");
|
|
3345
|
+
return x(), _("div", Si, [
|
|
3346
|
+
g("div", ki, [
|
|
3347
|
+
g("h1", vi, E((a = s.dashboardData) == null ? void 0 : a.title), 1),
|
|
3348
|
+
g("button", Ei, E((f = s.dashboardData) == null ? void 0 : f.description), 1)
|
|
3349
|
+
]),
|
|
3350
|
+
Ue(o, {
|
|
3351
|
+
filterScheme: s.filters,
|
|
3352
|
+
"onFilters:changed": t[0] || (t[0] = (d) => e.$emit("filters:changed", d))
|
|
3353
|
+
}, null, 8, ["filterScheme"])
|
|
3354
|
+
]);
|
|
3355
|
+
}
|
|
3356
|
+
const Oi = /* @__PURE__ */ O(Di, [["render", Ci]]), Ri = {
|
|
3357
|
+
components: { VsWidget: ei, VsNewNodata: li, VsHeader: Oi },
|
|
3358
|
+
props: ["id", "prefix"],
|
|
3359
|
+
data() {
|
|
3360
|
+
return {
|
|
3361
|
+
widgets: [],
|
|
3362
|
+
panels: [],
|
|
3363
|
+
error: !1,
|
|
3364
|
+
selectedPanel: "",
|
|
3365
|
+
filterURl: null,
|
|
3366
|
+
dashboardData: null
|
|
3367
|
+
};
|
|
3368
|
+
},
|
|
3369
|
+
async mounted() {
|
|
3370
|
+
v.defaults.baseURL = this.prefix || "/api", await this.fetchData();
|
|
3371
|
+
},
|
|
3372
|
+
methods: {
|
|
3373
|
+
async fetchData() {
|
|
3374
|
+
if (this.id)
|
|
3375
|
+
try {
|
|
3376
|
+
const { data: e } = await v.get(`/bi-dashboard/${this.id}`);
|
|
3377
|
+
this.dashboardData = e;
|
|
3378
|
+
} catch (e) {
|
|
3379
|
+
console.error(e);
|
|
3380
|
+
}
|
|
3381
|
+
},
|
|
3382
|
+
columnClass(e) {
|
|
3383
|
+
const t = e != null && e.col ? e == null ? void 0 : e.col : 12;
|
|
3384
|
+
return {
|
|
3385
|
+
1: "md:w-1/12 sm:w-full",
|
|
3386
|
+
2: "md:w-1/6 sm:w-full",
|
|
3387
|
+
3: "md:w-1/4 sm:w-full",
|
|
3388
|
+
4: "md:w-1/3 sm:w-full",
|
|
3389
|
+
6: "md:w-1/2 sm:w-full",
|
|
3390
|
+
8: "md:w-2/3 sm:w-full",
|
|
3391
|
+
10: "md:w-5/6 sm:w-full",
|
|
3392
|
+
12: "w-full"
|
|
3393
|
+
}[t] || "w-full";
|
|
3394
|
+
},
|
|
3395
|
+
async filterHandler(e) {
|
|
3396
|
+
var s;
|
|
3397
|
+
this.filterURl = "";
|
|
3398
|
+
let t = "&filter=";
|
|
3399
|
+
(s = e == null ? void 0 : e.url) != null && s.length && (e.url.split("|").forEach((n) => {
|
|
3400
|
+
const i = n.split("=");
|
|
3401
|
+
t += `${i[0]}=${i[1]}`;
|
|
3402
|
+
}), this.filterURl += t);
|
|
3403
|
+
}
|
|
3404
|
+
}
|
|
3405
|
+
}, $i = { class: "w-full pb-8 overflow-y-auto" }, Ti = { class: "grid flex-grow w-full grid-cols-12 gap-4 h-fit" };
|
|
3406
|
+
function Ni(e, t, s, r, n, i) {
|
|
3407
|
+
var d, u, h;
|
|
3408
|
+
const o = I("VsHeader"), a = I("VsNewNodata"), f = I("VsWidget");
|
|
3409
|
+
return x(), _("div", $i, [
|
|
3410
|
+
g("div", null, [
|
|
3411
|
+
(d = n.dashboardData) != null && d.filters ? (x(), M(o, {
|
|
3412
|
+
key: 0,
|
|
3413
|
+
filters: (u = n.dashboardData) == null ? void 0 : u.filters,
|
|
3414
|
+
dashboardData: n.dashboardData,
|
|
3415
|
+
"onFilters:changed": t[0] || (t[0] = (w) => i.filterHandler(w))
|
|
3416
|
+
}, null, 8, ["filters", "dashboardData"])) : N("", !0)
|
|
3417
|
+
]),
|
|
3418
|
+
g("div", Ti, [
|
|
3419
|
+
n.error || !n.dashboardData ? (x(), M(a, {
|
|
3420
|
+
key: 0,
|
|
3421
|
+
class: "col-span-12"
|
|
3422
|
+
})) : N("", !0),
|
|
3423
|
+
(x(!0), _(P, null, U(((h = n.dashboardData) == null ? void 0 : h.panels) || [], (w, b) => {
|
|
3424
|
+
var c;
|
|
3425
|
+
return x(), _("div", {
|
|
3426
|
+
key: b,
|
|
3427
|
+
class: Q([`col-span-${w.col || 12}`, "flex flex-col gap-[10px]"])
|
|
3428
|
+
}, [
|
|
3429
|
+
(c = w.widgets) != null && c.length ? (x(!0), _(P, { key: 0 }, U(w.widgets, (p) => (x(), M(f, {
|
|
3430
|
+
key: p,
|
|
3431
|
+
dashboard: s.id,
|
|
3432
|
+
widget: p,
|
|
3433
|
+
"dashboard-widgets": n.dashboardData.widgets,
|
|
3434
|
+
"filter-u-rl": n.filterURl
|
|
3435
|
+
}, null, 8, ["dashboard", "widget", "dashboard-widgets", "filter-u-rl"]))), 128)) : (x(), M(f, {
|
|
3436
|
+
key: 1,
|
|
3437
|
+
class: "flex flex-col",
|
|
3438
|
+
dashboard: s.id,
|
|
3439
|
+
widget: w.widget,
|
|
3440
|
+
"dashboard-widgets": n.dashboardData.widgets,
|
|
3441
|
+
"filter-u-rl": n.filterURl
|
|
3442
|
+
}, null, 8, ["dashboard", "widget", "dashboard-widgets", "filter-u-rl"]))
|
|
3443
|
+
], 2);
|
|
3444
|
+
}), 128))
|
|
3445
|
+
])
|
|
3446
|
+
]);
|
|
3447
|
+
}
|
|
3448
|
+
const bo = /* @__PURE__ */ O(Ri, [["render", Ni]]), Fi = {
|
|
3449
|
+
name: "VsPivotTable",
|
|
3450
|
+
mixins: [W],
|
|
3451
|
+
data() {
|
|
3452
|
+
return {
|
|
3453
|
+
values: null,
|
|
3454
|
+
xs: null,
|
|
3455
|
+
products: null
|
|
3456
|
+
};
|
|
3457
|
+
},
|
|
3458
|
+
async mounted() {
|
|
3459
|
+
await this.getData(), this.prepareData();
|
|
3460
|
+
},
|
|
3461
|
+
methods: {
|
|
3462
|
+
onChangedData() {
|
|
3463
|
+
try {
|
|
3464
|
+
this.sourceData && this.prepareData();
|
|
3465
|
+
} catch {
|
|
3466
|
+
}
|
|
3467
|
+
},
|
|
3468
|
+
prepareData() {
|
|
3469
|
+
try {
|
|
3470
|
+
const e = Array.from(
|
|
3471
|
+
new Set(this.sourceData.map((t) => t[this.dimensions[0]]))
|
|
3472
|
+
);
|
|
3473
|
+
this.dimensions[0].includes("date") ? this.xs = e.map((t) => Be(t)) : this.xs = [...e], this.products = this.dimensions.filter((t, s) => s != 0), this.values = this.products.map((t, s) => ({
|
|
3474
|
+
name: t,
|
|
3475
|
+
data: this.sourceData.filter((r) => parseFloat(r[t])).map((r) => z(parseFloat(r[t])))
|
|
3476
|
+
}));
|
|
3477
|
+
} catch (e) {
|
|
3478
|
+
console.error(e);
|
|
3479
|
+
}
|
|
3480
|
+
}
|
|
3481
|
+
}
|
|
3482
|
+
}, Ai = { class: "flex flex-col h-full p-5 space-y-4 rounded-xl custom-scrollbar" }, Pi = { 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" }, Li = { class: "inline-block min-w-full align-middle" }, Ui = { class: "min-w-full divide-y divide-gray-200" }, Bi = { class: "space-x-2" }, ji = {
|
|
3483
|
+
scope: "col",
|
|
3484
|
+
class: "xl:min-w-[120px] min-w-48"
|
|
3485
|
+
}, Vi = { class: "py-2.5 text-text-start flex items-center gap-x-1 text-sm font-normal text-gray-500" }, Ii = { class: "divide-y divide-gray-200 text-[12px]" }, zi = { class: "py-3 size-px whitespace-nowrap" }, Mi = { class: "flex items-center gap-x-3" }, Hi = { class: "font-medium text-gray-800" }, qi = { class: "py-3 size-px whitespace-nowrap" }, Wi = { class: "text-gray-600" };
|
|
3486
|
+
function Ji(e, t, s, r, n, i) {
|
|
3487
|
+
return x(), _("div", Ai, [
|
|
3488
|
+
g("div", Pi, [
|
|
3489
|
+
g("div", Li, [
|
|
3490
|
+
g("table", Ui, [
|
|
3491
|
+
g("thead", null, [
|
|
3492
|
+
g("tr", Bi, [
|
|
3493
|
+
t[0] || (t[0] = g("th", {
|
|
3494
|
+
scope: "col",
|
|
3495
|
+
class: "min-w-[200px]"
|
|
3496
|
+
}, [
|
|
3497
|
+
g("div", { class: "py-2.5 text-text-start flex items-center gap-x-1 text-sm font-normal text-gray-500" })
|
|
3498
|
+
], -1)),
|
|
3499
|
+
(x(!0), _(P, null, U(n.xs, (o) => (x(), _("th", ji, [
|
|
3500
|
+
g("div", Vi, E(o), 1)
|
|
3501
|
+
]))), 256))
|
|
3502
|
+
])
|
|
3503
|
+
]),
|
|
3504
|
+
(x(!0), _(P, null, U(n.values, (o) => (x(), _("tbody", Ii, [
|
|
3505
|
+
g("tr", null, [
|
|
3506
|
+
g("td", zi, [
|
|
3507
|
+
g("div", Mi, [
|
|
3508
|
+
g("span", Hi, E(o.name), 1)
|
|
3509
|
+
])
|
|
3510
|
+
]),
|
|
3511
|
+
(x(!0), _(P, null, U(n.xs, (a, f) => (x(), _("td", qi, [
|
|
3512
|
+
g("span", Wi, E(o.data[f]), 1)
|
|
3513
|
+
]))), 256))
|
|
3514
|
+
])
|
|
3515
|
+
]))), 256))
|
|
3516
|
+
])
|
|
3517
|
+
])
|
|
3518
|
+
])
|
|
3519
|
+
]);
|
|
3520
|
+
}
|
|
3521
|
+
const Ki = /* @__PURE__ */ O(Fi, [["render", Ji]]), Xi = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3522
|
+
__proto__: null,
|
|
3523
|
+
default: Ki
|
|
3524
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
3525
|
+
export {
|
|
3526
|
+
Or as V,
|
|
3527
|
+
O as _,
|
|
3528
|
+
ie as a,
|
|
3529
|
+
Be as b,
|
|
3530
|
+
W as c,
|
|
3531
|
+
z as d,
|
|
3532
|
+
v as e,
|
|
3533
|
+
Qi as f,
|
|
3534
|
+
Br as g,
|
|
3535
|
+
Mr as h,
|
|
3536
|
+
on as i,
|
|
3537
|
+
yn as j,
|
|
3538
|
+
On as k,
|
|
3539
|
+
Ki as l,
|
|
3540
|
+
bo as m,
|
|
3541
|
+
ei as n,
|
|
3542
|
+
Fr as v
|
|
3543
|
+
};
|