@smallwebco/tinypivot-vue 1.0.34 → 1.0.36
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/components/DataGrid.vue.d.ts.map +1 -1
- package/dist/components/PivotSkeleton.vue.d.ts +3 -1
- package/dist/components/PivotSkeleton.vue.d.ts.map +1 -1
- package/dist/composables/useExcelGrid.d.ts +9 -2
- package/dist/composables/useExcelGrid.d.ts.map +1 -1
- package/dist/style.css +1 -1
- package/dist/tinypivot-vue.js +967 -933
- package/dist/tinypivot-vue.js.map +1 -1
- package/dist/tinypivot-vue.umd.cjs +6 -6
- package/dist/tinypivot-vue.umd.cjs.map +1 -1
- package/package.json +2 -2
package/dist/tinypivot-vue.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ref as $, computed as
|
|
2
|
-
import { useVueTable as
|
|
3
|
-
function
|
|
1
|
+
import { ref as $, computed as A, watch as De, defineComponent as et, createElementBlock as g, openBlock as d, createElementVNode as e, createCommentVNode as z, toDisplayString as S, normalizeStyle as ke, createTextVNode as ee, onMounted as yt, nextTick as ot, onUnmounted as kt, normalizeClass as J, Fragment as _, withDirectives as He, vModelText as Ie, renderList as oe, createVNode as Ke, createBlock as Kt, Teleport as Ot, withModifiers as Le, vModelSelect as Ml, unref as D, Transition as Wt, withCtx as qt, withKeys as xl, createStaticVNode as Rl } from "vue";
|
|
2
|
+
import { useVueTable as Tl, getFilteredRowModel as Dl, getSortedRowModel as Vl, getCoreRowModel as Al } from "@tanstack/vue-table";
|
|
3
|
+
function dt(t) {
|
|
4
4
|
return t !== null && typeof t == "object" && !Array.isArray(t) && ("min" in t || "max" in t);
|
|
5
5
|
}
|
|
6
6
|
function Ll(t) {
|
|
@@ -8,54 +8,54 @@ function Ll(t) {
|
|
|
8
8
|
if (u.length === 0)
|
|
9
9
|
return "string";
|
|
10
10
|
const l = u.slice(0, 100);
|
|
11
|
-
let r = 0, a = 0,
|
|
11
|
+
let r = 0, a = 0, i = 0;
|
|
12
12
|
for (const h of l)
|
|
13
|
-
typeof h == "boolean" ?
|
|
13
|
+
typeof h == "boolean" ? i++ : typeof h == "number" || !Number.isNaN(Number(h)) && h !== "" ? r++ : (h instanceof Date || !Number.isNaN(Date.parse(String(h)))) && a++;
|
|
14
14
|
const f = l.length * 0.8;
|
|
15
|
-
return
|
|
15
|
+
return i >= f ? "boolean" : r >= f ? "number" : a >= f ? "date" : "string";
|
|
16
16
|
}
|
|
17
17
|
function Nl(t, u) {
|
|
18
18
|
const r = t.map((h) => h[u]).filter((h) => h != null && h !== "").slice(0, 100);
|
|
19
19
|
let a = 0;
|
|
20
|
-
const
|
|
20
|
+
const i = /* @__PURE__ */ new Set();
|
|
21
21
|
for (const h of r)
|
|
22
|
-
|
|
22
|
+
i.add(String(h)), (typeof h == "number" || !Number.isNaN(Number(h)) && h !== "") && a++;
|
|
23
23
|
const f = a >= r.length * 0.8;
|
|
24
24
|
return {
|
|
25
25
|
field: u,
|
|
26
26
|
type: f ? "number" : "string",
|
|
27
|
-
uniqueCount:
|
|
27
|
+
uniqueCount: i.size,
|
|
28
28
|
isNumeric: f
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
function zl(t, u, l = 500) {
|
|
32
32
|
const r = [];
|
|
33
|
-
let a = 0,
|
|
34
|
-
for (const
|
|
35
|
-
const x =
|
|
33
|
+
let a = 0, i, f;
|
|
34
|
+
for (const b of t) {
|
|
35
|
+
const x = b[u];
|
|
36
36
|
if (x == null || x === "")
|
|
37
37
|
a++;
|
|
38
38
|
else {
|
|
39
39
|
r.push(x);
|
|
40
40
|
const U = typeof x == "number" ? x : Number.parseFloat(String(x));
|
|
41
|
-
Number.isNaN(U) || ((
|
|
41
|
+
Number.isNaN(U) || ((i === void 0 || U < i) && (i = U), (f === void 0 || U > f) && (f = U));
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
const h = /* @__PURE__ */ new Set();
|
|
45
|
-
for (const
|
|
46
|
-
if (h.add(String(
|
|
45
|
+
for (const b of r)
|
|
46
|
+
if (h.add(String(b)), h.size >= l)
|
|
47
47
|
break;
|
|
48
|
-
const
|
|
49
|
-
const U = Number.parseFloat(
|
|
50
|
-
return !Number.isNaN(U) && !Number.isNaN(R) ? U - R :
|
|
48
|
+
const k = Array.from(h).sort((b, x) => {
|
|
49
|
+
const U = Number.parseFloat(b), R = Number.parseFloat(x);
|
|
50
|
+
return !Number.isNaN(U) && !Number.isNaN(R) ? U - R : b.localeCompare(x);
|
|
51
51
|
}), F = Ll(r);
|
|
52
52
|
return {
|
|
53
|
-
uniqueValues:
|
|
53
|
+
uniqueValues: k,
|
|
54
54
|
totalCount: t.length,
|
|
55
55
|
nullCount: a,
|
|
56
56
|
type: F,
|
|
57
57
|
// Only include min/max for numeric columns
|
|
58
|
-
...F === "number" &&
|
|
58
|
+
...F === "number" && i !== void 0 && f !== void 0 ? { numericMin: i, numericMax: f } : {}
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
function Pl(t, u) {
|
|
@@ -91,7 +91,7 @@ function El(t) {
|
|
|
91
91
|
return u.length % 2 !== 0 ? u[l] : (u[l - 1] + u[l]) / 2;
|
|
92
92
|
}
|
|
93
93
|
function Bl(t) {
|
|
94
|
-
const u = t.reduce((a,
|
|
94
|
+
const u = t.reduce((a, i) => a + i, 0) / t.length, r = t.map((a) => (a - u) ** 2).reduce((a, i) => a + i, 0) / t.length;
|
|
95
95
|
return Math.sqrt(r);
|
|
96
96
|
}
|
|
97
97
|
function ct(t, u, l, r, a) {
|
|
@@ -99,11 +99,11 @@ function ct(t, u, l, r, a) {
|
|
|
99
99
|
return null;
|
|
100
100
|
switch (u) {
|
|
101
101
|
case "sum":
|
|
102
|
-
return t.reduce((
|
|
102
|
+
return t.reduce((i, f) => i + f, 0);
|
|
103
103
|
case "count":
|
|
104
104
|
return t.length;
|
|
105
105
|
case "avg":
|
|
106
|
-
return t.reduce((
|
|
106
|
+
return t.reduce((i, f) => i + f, 0) / t.length;
|
|
107
107
|
case "min":
|
|
108
108
|
return Math.min(...t);
|
|
109
109
|
case "max":
|
|
@@ -115,19 +115,19 @@ function ct(t, u, l, r, a) {
|
|
|
115
115
|
case "stdDev":
|
|
116
116
|
return Bl(t);
|
|
117
117
|
case "percentOfTotal": {
|
|
118
|
-
const
|
|
119
|
-
return l === void 0 || l === 0 ? null :
|
|
118
|
+
const i = t.reduce((f, h) => f + h, 0);
|
|
119
|
+
return l === void 0 || l === 0 ? null : i / l * 100;
|
|
120
120
|
}
|
|
121
121
|
case "custom":
|
|
122
122
|
return null;
|
|
123
123
|
default:
|
|
124
|
-
return t.reduce((
|
|
124
|
+
return t.reduce((i, f) => i + f, 0);
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
function vt(t, u) {
|
|
128
128
|
return t === null ? "-" : u === "count" || u === "countDistinct" ? Math.round(t).toLocaleString() : u === "percentOfTotal" ? `${t.toFixed(1)}%` : u === "stdDev" ? t.toLocaleString("en-US", { maximumFractionDigits: 2 }) : Math.abs(t) >= 1e3 ? t.toLocaleString("en-US", { maximumFractionDigits: 2 }) : t.toLocaleString("en-US", { maximumFractionDigits: 4 });
|
|
129
129
|
}
|
|
130
|
-
function
|
|
130
|
+
function gt(t, u) {
|
|
131
131
|
return t === "custom" && u ? u : {
|
|
132
132
|
sum: "Sum",
|
|
133
133
|
count: "Count",
|
|
@@ -202,8 +202,8 @@ function Bt(t, u) {
|
|
|
202
202
|
return `Unknown field: ${a}`;
|
|
203
203
|
try {
|
|
204
204
|
let a = t;
|
|
205
|
-
for (const
|
|
206
|
-
const f =
|
|
205
|
+
for (const i of l) {
|
|
206
|
+
const f = i.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
207
207
|
a = a.replace(new RegExp(`\\b${f}\\b`, "gi"), "1");
|
|
208
208
|
}
|
|
209
209
|
new Function(`return ${a}`);
|
|
@@ -217,19 +217,19 @@ function jt(t, u, l) {
|
|
|
217
217
|
const r = Gt(t);
|
|
218
218
|
let a = t;
|
|
219
219
|
for (const f of r) {
|
|
220
|
-
const h = l.find((x) => x.toLowerCase() === f.toLowerCase()) || f,
|
|
221
|
-
if (
|
|
220
|
+
const h = l.find((x) => x.toLowerCase() === f.toLowerCase()) || f, k = u[h];
|
|
221
|
+
if (k == null || k === "")
|
|
222
222
|
return null;
|
|
223
|
-
const F = typeof
|
|
223
|
+
const F = typeof k == "number" ? k : Number.parseFloat(String(k));
|
|
224
224
|
if (Number.isNaN(F))
|
|
225
225
|
return null;
|
|
226
|
-
const
|
|
227
|
-
a = a.replace(new RegExp(`\\b${
|
|
226
|
+
const b = f.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
227
|
+
a = a.replace(new RegExp(`\\b${b}\\b`, "gi"), String(F));
|
|
228
228
|
}
|
|
229
229
|
if (!/^[\d\s+\-*/().]+$/.test(a))
|
|
230
230
|
return null;
|
|
231
|
-
const
|
|
232
|
-
return typeof
|
|
231
|
+
const i = new Function(`return ${a}`)();
|
|
232
|
+
return typeof i == "number" && Number.isFinite(i) ? i : null;
|
|
233
233
|
} catch {
|
|
234
234
|
return null;
|
|
235
235
|
}
|
|
@@ -241,90 +241,90 @@ function Kl(t, u, l, r) {
|
|
|
241
241
|
const a = /* @__PURE__ */ new Set([
|
|
242
242
|
...u,
|
|
243
243
|
...l,
|
|
244
|
-
...r.map((
|
|
244
|
+
...r.map((i) => i.field)
|
|
245
245
|
]);
|
|
246
|
-
return t.filter((
|
|
246
|
+
return t.filter((i) => !a.has(i.field));
|
|
247
247
|
}
|
|
248
248
|
function Xt(t) {
|
|
249
249
|
return (t.rowFields.length > 0 || t.columnFields.length > 0) && t.valueFields.length > 0;
|
|
250
250
|
}
|
|
251
251
|
function Ol(t, u) {
|
|
252
|
-
const { rowFields: l, columnFields: r, valueFields: a, showRowTotals:
|
|
252
|
+
const { rowFields: l, columnFields: r, valueFields: a, showRowTotals: i, showColumnTotals: f, calculatedFields: h } = u;
|
|
253
253
|
if (!Xt(u) || t.length === 0)
|
|
254
254
|
return null;
|
|
255
|
-
const
|
|
255
|
+
const k = /* @__PURE__ */ new Map();
|
|
256
256
|
if (h)
|
|
257
|
-
for (const
|
|
258
|
-
|
|
259
|
-
const F = t.length > 0 ? Object.keys(t[0]) : [],
|
|
260
|
-
for (const
|
|
261
|
-
const M = l.length > 0 ? Pt(
|
|
262
|
-
|
|
257
|
+
for (const L of h)
|
|
258
|
+
k.set(L.id, L);
|
|
259
|
+
const F = t.length > 0 ? Object.keys(t[0]) : [], b = /* @__PURE__ */ new Set(), x = /* @__PURE__ */ new Set(), U = /* @__PURE__ */ new Map();
|
|
260
|
+
for (const L of t) {
|
|
261
|
+
const M = l.length > 0 ? Pt(L, l) : "__all__", s = r.length > 0 ? Pt(L, r) : "__all__";
|
|
262
|
+
b.add(M), x.add(s), U.has(M) || U.set(M, /* @__PURE__ */ new Map());
|
|
263
263
|
const o = U.get(M);
|
|
264
|
-
o.has(
|
|
265
|
-
const c = o.get(
|
|
264
|
+
o.has(s) || o.set(s, a.map(() => []));
|
|
265
|
+
const c = o.get(s);
|
|
266
266
|
for (let m = 0; m < a.length; m++) {
|
|
267
267
|
const X = a[m];
|
|
268
268
|
let G = null;
|
|
269
269
|
if (X.field.startsWith("calc:")) {
|
|
270
|
-
const Q = X.field.replace("calc:", ""), de =
|
|
271
|
-
de && (G = jt(de.formula,
|
|
270
|
+
const Q = X.field.replace("calc:", ""), de = k.get(Q);
|
|
271
|
+
de && (G = jt(de.formula, L, F));
|
|
272
272
|
} else {
|
|
273
|
-
const Q =
|
|
273
|
+
const Q = L[X.field];
|
|
274
274
|
Q != null && Q !== "" && (G = typeof Q == "number" ? Q : Number.parseFloat(String(Q)), Number.isNaN(G) && (G = X.aggregation === "count" || X.aggregation === "countDistinct" ? 1 : null));
|
|
275
275
|
}
|
|
276
276
|
G !== null && c[m].push(G);
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
|
-
const R = Array.from(
|
|
280
|
-
let
|
|
279
|
+
const R = Array.from(b).sort(), y = Array.from(x).sort(), P = a.map((L, M) => {
|
|
280
|
+
let s = 0;
|
|
281
281
|
for (const o of t) {
|
|
282
282
|
let c = null;
|
|
283
|
-
if (
|
|
284
|
-
const m =
|
|
283
|
+
if (L.field.startsWith("calc:")) {
|
|
284
|
+
const m = L.field.replace("calc:", ""), X = k.get(m);
|
|
285
285
|
X && (c = jt(X.formula, o, F));
|
|
286
286
|
} else {
|
|
287
|
-
const m = o[
|
|
287
|
+
const m = o[L.field];
|
|
288
288
|
m != null && m !== "" && (c = typeof m == "number" ? m : Number.parseFloat(String(m)), Number.isNaN(c) && (c = null));
|
|
289
289
|
}
|
|
290
|
-
c !== null && (
|
|
290
|
+
c !== null && (s += c);
|
|
291
291
|
}
|
|
292
|
-
return
|
|
292
|
+
return s;
|
|
293
293
|
});
|
|
294
|
-
function Z(
|
|
295
|
-
if (
|
|
296
|
-
const M =
|
|
297
|
-
return `${(
|
|
294
|
+
function Z(L) {
|
|
295
|
+
if (L.field.startsWith("calc:")) {
|
|
296
|
+
const M = L.field.replace("calc:", ""), s = k.get(M);
|
|
297
|
+
return `${(s == null ? void 0 : s.name) || L.field} (${gt(L.aggregation)})`;
|
|
298
298
|
}
|
|
299
|
-
return `${
|
|
299
|
+
return `${L.label || L.field} (${gt(L.aggregation)})`;
|
|
300
300
|
}
|
|
301
301
|
const W = [];
|
|
302
302
|
if (r.length > 0) {
|
|
303
|
-
const
|
|
303
|
+
const L = a.length > 1 ? a.length : 1;
|
|
304
304
|
for (let M = 0; M < r.length; M++) {
|
|
305
|
-
const
|
|
306
|
-
for (const o of
|
|
305
|
+
const s = [];
|
|
306
|
+
for (const o of y) {
|
|
307
307
|
const c = Et(o);
|
|
308
|
-
for (let m = 0; m <
|
|
309
|
-
|
|
308
|
+
for (let m = 0; m < L; m++)
|
|
309
|
+
s.push(c[M] || "");
|
|
310
310
|
}
|
|
311
|
-
W.push(
|
|
311
|
+
W.push(s);
|
|
312
312
|
}
|
|
313
313
|
}
|
|
314
314
|
if (a.length > 1 || W.length === 0) {
|
|
315
|
-
const
|
|
316
|
-
for (const M of
|
|
317
|
-
for (const
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
}
|
|
321
|
-
const O = R.map((
|
|
322
|
-
for (const
|
|
323
|
-
const M = [],
|
|
324
|
-
for (const o of
|
|
325
|
-
const c = U.get(
|
|
315
|
+
const L = [];
|
|
316
|
+
for (const M of y)
|
|
317
|
+
for (const s of a)
|
|
318
|
+
L.push(Z(s));
|
|
319
|
+
y.length === 1 && y[0] === "__all__" ? W.push(a.map((M) => Z(M))) : W.push(L);
|
|
320
|
+
}
|
|
321
|
+
const O = R.map((L) => L === "__all__" ? ["Total"] : Et(L)), B = [], N = [], j = /* @__PURE__ */ new Map();
|
|
322
|
+
for (const L of R) {
|
|
323
|
+
const M = [], s = a.map(() => []);
|
|
324
|
+
for (const o of y) {
|
|
325
|
+
const c = U.get(L), m = (c == null ? void 0 : c.get(o)) || a.map(() => []);
|
|
326
326
|
for (let G = 0; G < m.length; G++)
|
|
327
|
-
|
|
327
|
+
s[G].push(...m[G]);
|
|
328
328
|
j.has(o) || j.set(o, a.map(() => []));
|
|
329
329
|
const X = j.get(o);
|
|
330
330
|
for (let G = 0; G < m.length; G++)
|
|
@@ -333,7 +333,7 @@ function Ol(t, u) {
|
|
|
333
333
|
const Q = a[G], de = m[G] || [], Oe = P[G], Me = ct(de, Q.aggregation, Oe);
|
|
334
334
|
let me;
|
|
335
335
|
if (Q.field.startsWith("calc:")) {
|
|
336
|
-
const We = Q.field.replace("calc:", ""), he =
|
|
336
|
+
const We = Q.field.replace("calc:", ""), he = k.get(We);
|
|
337
337
|
me = Ul(Me, (he == null ? void 0 : he.formatAs) || "number", (he == null ? void 0 : he.decimals) ?? 2);
|
|
338
338
|
} else
|
|
339
339
|
me = vt(Me, Q.aggregation);
|
|
@@ -344,9 +344,9 @@ function Ol(t, u) {
|
|
|
344
344
|
});
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
|
-
if (B.push(M),
|
|
347
|
+
if (B.push(M), i && y.length > 1)
|
|
348
348
|
if (a.length > 0) {
|
|
349
|
-
const o = a[0], c =
|
|
349
|
+
const o = a[0], c = s[0] || [], m = ct(c, o.aggregation, P[0]);
|
|
350
350
|
N.push({
|
|
351
351
|
value: m,
|
|
352
352
|
count: c.length,
|
|
@@ -357,10 +357,10 @@ function Ol(t, u) {
|
|
|
357
357
|
}
|
|
358
358
|
const q = [];
|
|
359
359
|
if (f && R.length > 1)
|
|
360
|
-
for (const
|
|
361
|
-
const M = j.get(
|
|
362
|
-
for (let
|
|
363
|
-
const o = a[
|
|
360
|
+
for (const L of y) {
|
|
361
|
+
const M = j.get(L) || a.map(() => []);
|
|
362
|
+
for (let s = 0; s < a.length; s++) {
|
|
363
|
+
const o = a[s], c = M[s] || [], m = ct(c, o.aggregation, P[s]);
|
|
364
364
|
q.push({
|
|
365
365
|
value: m,
|
|
366
366
|
count: c.length,
|
|
@@ -369,20 +369,20 @@ function Ol(t, u) {
|
|
|
369
369
|
}
|
|
370
370
|
}
|
|
371
371
|
const le = { value: null, count: 0, formattedValue: "-" };
|
|
372
|
-
if (
|
|
373
|
-
const
|
|
372
|
+
if (i && f && a.length > 0) {
|
|
373
|
+
const L = a.map(() => []);
|
|
374
374
|
for (const c of R) {
|
|
375
375
|
const m = U.get(c);
|
|
376
376
|
if (m)
|
|
377
|
-
for (const X of
|
|
377
|
+
for (const X of y) {
|
|
378
378
|
const G = m.get(X);
|
|
379
379
|
if (G)
|
|
380
380
|
for (let Q = 0; Q < G.length; Q++)
|
|
381
|
-
|
|
381
|
+
L[Q].push(...G[Q]);
|
|
382
382
|
}
|
|
383
383
|
}
|
|
384
|
-
const M = a[0],
|
|
385
|
-
le.value = o, le.count =
|
|
384
|
+
const M = a[0], s = L[0] || [], o = ct(s, M.aggregation, P[0]);
|
|
385
|
+
le.value = o, le.count = s.length, le.formattedValue = vt(o, M.aggregation);
|
|
386
386
|
}
|
|
387
387
|
return {
|
|
388
388
|
headers: W,
|
|
@@ -413,7 +413,7 @@ function Gl(t) {
|
|
|
413
413
|
}
|
|
414
414
|
return null;
|
|
415
415
|
}
|
|
416
|
-
function
|
|
416
|
+
function wt(t, u) {
|
|
417
417
|
const l = new Set(u);
|
|
418
418
|
return [
|
|
419
419
|
...t.rowFields,
|
|
@@ -447,7 +447,7 @@ const Jt = {
|
|
|
447
447
|
sessionPersistence: !1,
|
|
448
448
|
noWatermark: !1
|
|
449
449
|
}
|
|
450
|
-
},
|
|
450
|
+
}, Ct = {
|
|
451
451
|
type: "free",
|
|
452
452
|
isValid: !1,
|
|
453
453
|
features: {
|
|
@@ -475,7 +475,7 @@ async function Yl(t, u, l) {
|
|
|
475
475
|
return console.warn("[TinyPivot] License secret not configured. Call configureLicenseSecret() first."), !1;
|
|
476
476
|
const a = `TP-${t}-${l}`;
|
|
477
477
|
try {
|
|
478
|
-
const
|
|
478
|
+
const i = new TextEncoder(), f = i.encode(r), h = i.encode(a), k = await crypto.subtle.importKey("raw", f, { name: "HMAC", hash: "SHA-256" }, !1, ["sign"]), F = await crypto.subtle.sign("HMAC", k, h), x = Array.from(new Uint8Array(F)).map((U) => U.toString(16).padStart(2, "0")).join("").slice(0, 12).toUpperCase();
|
|
479
479
|
return u === x;
|
|
480
480
|
} catch {
|
|
481
481
|
return !1;
|
|
@@ -486,24 +486,24 @@ async function Zl(t) {
|
|
|
486
486
|
return Jt;
|
|
487
487
|
const u = t.split("-");
|
|
488
488
|
if (u.length !== 4 || u[0] !== "TP")
|
|
489
|
-
return
|
|
489
|
+
return Ct;
|
|
490
490
|
const l = u[1], r = u[2], a = u[3];
|
|
491
491
|
if (!await Yl(l, r, a))
|
|
492
|
-
return
|
|
493
|
-
const f = Number.parseInt(a.slice(0, 4)), h = Number.parseInt(a.slice(4, 6)) - 1,
|
|
492
|
+
return Ct;
|
|
493
|
+
const f = Number.parseInt(a.slice(0, 4)), h = Number.parseInt(a.slice(4, 6)) - 1, k = Number.parseInt(a.slice(6, 8)), F = new Date(f, h, k);
|
|
494
494
|
if (F < /* @__PURE__ */ new Date())
|
|
495
|
-
return { ...
|
|
496
|
-
let
|
|
497
|
-
return l === "PRO1" ?
|
|
498
|
-
type:
|
|
495
|
+
return { ...Ct, expiresAt: F };
|
|
496
|
+
let b = "free";
|
|
497
|
+
return l === "PRO1" ? b = "pro-single" : l === "PROU" ? b = "pro-unlimited" : l === "PROT" && (b = "pro-team"), {
|
|
498
|
+
type: b,
|
|
499
499
|
isValid: !0,
|
|
500
500
|
expiresAt: F,
|
|
501
501
|
features: {
|
|
502
|
-
pivot:
|
|
503
|
-
advancedAggregations:
|
|
504
|
-
percentageMode:
|
|
505
|
-
sessionPersistence:
|
|
506
|
-
noWatermark:
|
|
502
|
+
pivot: b !== "free",
|
|
503
|
+
advancedAggregations: b !== "free",
|
|
504
|
+
percentageMode: b !== "free",
|
|
505
|
+
sessionPersistence: b !== "free",
|
|
506
|
+
noWatermark: b !== "free"
|
|
507
507
|
}
|
|
508
508
|
};
|
|
509
509
|
}
|
|
@@ -514,7 +514,7 @@ const Ql = "A48AA0618518D3E62F31FCFCA2DD2B86E7FE0863E2F90756FB0A960AE7A51583";
|
|
|
514
514
|
async function Il(t) {
|
|
515
515
|
try {
|
|
516
516
|
const l = new TextEncoder().encode(t), r = await crypto.subtle.digest("SHA-256", l);
|
|
517
|
-
return Array.from(new Uint8Array(r)).map((
|
|
517
|
+
return Array.from(new Uint8Array(r)).map((i) => i.toString(16).padStart(2, "0")).join("").toUpperCase();
|
|
518
518
|
} catch {
|
|
519
519
|
return "";
|
|
520
520
|
}
|
|
@@ -545,27 +545,27 @@ function fe(t, u = ",") {
|
|
|
545
545
|
`) ? `"${l.replace(/"/g, '""')}"` : l;
|
|
546
546
|
}
|
|
547
547
|
function sn(t, u, l = {}) {
|
|
548
|
-
const { filename: r = "export.csv", includeHeaders: a = !0, delimiter:
|
|
549
|
-
a && f.push(u.map((
|
|
550
|
-
for (const
|
|
551
|
-
const F = u.map((
|
|
552
|
-
f.push(F.join(
|
|
548
|
+
const { filename: r = "export.csv", includeHeaders: a = !0, delimiter: i = "," } = l, f = [];
|
|
549
|
+
a && f.push(u.map((k) => fe(k, i)).join(i));
|
|
550
|
+
for (const k of t) {
|
|
551
|
+
const F = u.map((b) => fe(k[b], i));
|
|
552
|
+
f.push(F.join(i));
|
|
553
553
|
}
|
|
554
554
|
const h = f.join(`
|
|
555
555
|
`);
|
|
556
556
|
Qt(h, r, "text/csv;charset=utf-8;");
|
|
557
557
|
}
|
|
558
558
|
function rn(t, u, l, r, a = {}) {
|
|
559
|
-
const { filename:
|
|
560
|
-
if (
|
|
561
|
-
for (let O = 0; O <
|
|
559
|
+
const { filename: i = "pivot-export.csv", delimiter: f = "," } = a, h = [], { headers: k, rowHeaders: F, data: b, rowTotals: x, columnTotals: U, grandTotal: R, showRowTotals: y, showColumnTotals: P } = t, Z = u.length || 1;
|
|
560
|
+
if (k.length > 0)
|
|
561
|
+
for (let O = 0; O < k.length; O++) {
|
|
562
562
|
const B = [];
|
|
563
563
|
for (let N = 0; N < Z; N++)
|
|
564
|
-
B.push(O ===
|
|
565
|
-
for (const N of
|
|
564
|
+
B.push(O === k.length - 1 ? fe(u[N] || "", f) : "");
|
|
565
|
+
for (const N of k[O])
|
|
566
566
|
B.push(fe(N, f));
|
|
567
|
-
if (
|
|
568
|
-
if (O ===
|
|
567
|
+
if (y && x && x.length > 0)
|
|
568
|
+
if (O === k.length - 1)
|
|
569
569
|
for (const N of r)
|
|
570
570
|
B.push(fe(`Total (${N.aggregation})`, f));
|
|
571
571
|
else
|
|
@@ -579,16 +579,16 @@ function rn(t, u, l, r, a = {}) {
|
|
|
579
579
|
O.push(fe(u[B] || "", f));
|
|
580
580
|
for (const B of r)
|
|
581
581
|
O.push(fe(`${B.field} (${B.aggregation})`, f));
|
|
582
|
-
|
|
582
|
+
y && x && x.length > 0 && O.push(fe("Total", f)), h.push(O.join(f));
|
|
583
583
|
}
|
|
584
584
|
for (let O = 0; O < F.length; O++) {
|
|
585
585
|
const B = [], N = F[O] || [];
|
|
586
586
|
for (let q = 0; q < Z; q++)
|
|
587
587
|
B.push(fe(N[q] || "", f));
|
|
588
|
-
const j =
|
|
588
|
+
const j = b[O] || [];
|
|
589
589
|
for (const q of j)
|
|
590
590
|
B.push(fe((q == null ? void 0 : q.formattedValue) || "", f));
|
|
591
|
-
|
|
591
|
+
y && x && x[O] && B.push(fe(x[O].formattedValue || "", f)), h.push(B.join(f));
|
|
592
592
|
}
|
|
593
593
|
if (P && U && U.length > 0) {
|
|
594
594
|
const O = [];
|
|
@@ -597,48 +597,48 @@ function rn(t, u, l, r, a = {}) {
|
|
|
597
597
|
O.push("");
|
|
598
598
|
for (const B of U)
|
|
599
599
|
O.push(fe((B == null ? void 0 : B.formattedValue) || "", f));
|
|
600
|
-
|
|
600
|
+
y && R && O.push(fe(R.formattedValue || "", f)), h.push(O.join(f));
|
|
601
601
|
}
|
|
602
602
|
const W = h.join(`
|
|
603
603
|
`);
|
|
604
|
-
Qt(W,
|
|
604
|
+
Qt(W, i, "text/csv;charset=utf-8;");
|
|
605
605
|
}
|
|
606
606
|
function Qt(t, u, l) {
|
|
607
|
-
const r = new Blob([t], { type: l }), a = URL.createObjectURL(r),
|
|
608
|
-
|
|
607
|
+
const r = new Blob([t], { type: l }), a = URL.createObjectURL(r), i = document.createElement("a");
|
|
608
|
+
i.href = a, i.download = u, i.style.display = "none", document.body.appendChild(i), i.click(), document.body.removeChild(i), URL.revokeObjectURL(a);
|
|
609
609
|
}
|
|
610
610
|
function un(t, u, l) {
|
|
611
611
|
navigator.clipboard.writeText(t).then(u).catch(l);
|
|
612
612
|
}
|
|
613
613
|
function cn(t, u, l) {
|
|
614
|
-
const { minRow: r, maxRow: a, minCol:
|
|
615
|
-
for (let
|
|
616
|
-
const F = t[
|
|
614
|
+
const { minRow: r, maxRow: a, minCol: i, maxCol: f } = l, h = [];
|
|
615
|
+
for (let k = r; k <= a; k++) {
|
|
616
|
+
const F = t[k];
|
|
617
617
|
if (!F)
|
|
618
618
|
continue;
|
|
619
|
-
const
|
|
620
|
-
for (let x =
|
|
619
|
+
const b = [];
|
|
620
|
+
for (let x = i; x <= f; x++) {
|
|
621
621
|
const U = u[x];
|
|
622
622
|
if (!U)
|
|
623
623
|
continue;
|
|
624
624
|
const R = F[U];
|
|
625
|
-
|
|
625
|
+
b.push(R == null ? "" : String(R));
|
|
626
626
|
}
|
|
627
|
-
h.push(
|
|
627
|
+
h.push(b.join(" "));
|
|
628
628
|
}
|
|
629
629
|
return h.join(`
|
|
630
630
|
`);
|
|
631
631
|
}
|
|
632
632
|
const Ut = (t, u, l) => {
|
|
633
633
|
if (!l) return !0;
|
|
634
|
-
if (
|
|
634
|
+
if (dt(l)) {
|
|
635
635
|
const r = t.getValue(u);
|
|
636
636
|
if (r == null || r === "")
|
|
637
637
|
return !1;
|
|
638
638
|
const a = typeof r == "number" ? r : Number.parseFloat(String(r));
|
|
639
639
|
if (Number.isNaN(a)) return !1;
|
|
640
|
-
const { min:
|
|
641
|
-
return !(
|
|
640
|
+
const { min: i, max: f } = l;
|
|
641
|
+
return !(i !== null && a < i || f !== null && a > f);
|
|
642
642
|
}
|
|
643
643
|
if (Array.isArray(l) && l.length > 0) {
|
|
644
644
|
const r = t.getValue(u), a = r == null || r === "" ? "(blank)" : String(r);
|
|
@@ -647,29 +647,29 @@ const Ut = (t, u, l) => {
|
|
|
647
647
|
return !0;
|
|
648
648
|
};
|
|
649
649
|
function vn(t) {
|
|
650
|
-
const { data: u, enableSorting: l = !0, enableFiltering: r = !0 } = t, a = $([]),
|
|
651
|
-
function
|
|
652
|
-
const
|
|
653
|
-
return
|
|
650
|
+
const { data: u, enableSorting: l = !0, enableFiltering: r = !0 } = t, a = $([]), i = $([]), f = $({}), h = $(""), k = $({}), F = A(() => u.value.length === 0 ? [] : Object.keys(u.value[0]));
|
|
651
|
+
function b(M) {
|
|
652
|
+
const s = `${M}-${u.value.length}`;
|
|
653
|
+
return k.value[s] || (k.value[s] = zl(u.value, M)), k.value[s];
|
|
654
654
|
}
|
|
655
655
|
function x() {
|
|
656
|
-
|
|
656
|
+
k.value = {};
|
|
657
657
|
}
|
|
658
|
-
const U =
|
|
659
|
-
const
|
|
658
|
+
const U = A(() => F.value.map((M) => {
|
|
659
|
+
const s = b(M);
|
|
660
660
|
return {
|
|
661
661
|
id: M,
|
|
662
662
|
accessorKey: M,
|
|
663
663
|
header: M,
|
|
664
664
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
665
|
-
cell: (o) => Pl(o.getValue(),
|
|
665
|
+
cell: (o) => Pl(o.getValue(), s.type),
|
|
666
666
|
filterFn: Ut,
|
|
667
667
|
meta: {
|
|
668
|
-
type:
|
|
669
|
-
uniqueCount:
|
|
668
|
+
type: s.type,
|
|
669
|
+
uniqueCount: s.uniqueValues.length
|
|
670
670
|
}
|
|
671
671
|
};
|
|
672
|
-
})), R =
|
|
672
|
+
})), R = Tl({
|
|
673
673
|
get data() {
|
|
674
674
|
return u.value;
|
|
675
675
|
},
|
|
@@ -681,7 +681,7 @@ function vn(t) {
|
|
|
681
681
|
return a.value;
|
|
682
682
|
},
|
|
683
683
|
get columnFilters() {
|
|
684
|
-
return
|
|
684
|
+
return i.value;
|
|
685
685
|
},
|
|
686
686
|
get columnVisibility() {
|
|
687
687
|
return f.value;
|
|
@@ -694,253 +694,263 @@ function vn(t) {
|
|
|
694
694
|
a.value = typeof M == "function" ? M(a.value) : M;
|
|
695
695
|
},
|
|
696
696
|
onColumnFiltersChange: (M) => {
|
|
697
|
-
|
|
697
|
+
i.value = typeof M == "function" ? M(i.value) : M;
|
|
698
698
|
},
|
|
699
699
|
getCoreRowModel: Al(),
|
|
700
700
|
getSortedRowModel: l ? Vl() : void 0,
|
|
701
|
-
getFilteredRowModel: r ?
|
|
701
|
+
getFilteredRowModel: r ? Dl() : void 0,
|
|
702
702
|
filterFns: {
|
|
703
703
|
multiSelect: Ut
|
|
704
704
|
},
|
|
705
705
|
enableSorting: l,
|
|
706
706
|
enableFilters: r
|
|
707
|
-
}),
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
707
|
+
}), y = A(() => R.getFilteredRowModel().rows.length), P = A(() => u.value.length), Z = A(() => i.value.map((M) => {
|
|
708
|
+
const s = M.value;
|
|
709
|
+
return s && dt(s) ? {
|
|
710
|
+
column: M.id,
|
|
711
|
+
type: "range",
|
|
712
|
+
range: s,
|
|
713
|
+
values: []
|
|
714
|
+
} : {
|
|
715
|
+
column: M.id,
|
|
716
|
+
type: "values",
|
|
717
|
+
values: Array.isArray(s) ? s : [],
|
|
718
|
+
range: null
|
|
719
|
+
};
|
|
720
|
+
}));
|
|
711
721
|
function W(M) {
|
|
712
|
-
const
|
|
713
|
-
if (!
|
|
714
|
-
const o =
|
|
715
|
-
return o ?
|
|
722
|
+
const s = R.getColumn(M);
|
|
723
|
+
if (!s) return !1;
|
|
724
|
+
const o = s.getFilterValue();
|
|
725
|
+
return o ? dt(o) ? o.min !== null || o.max !== null : Array.isArray(o) && o.length > 0 : !1;
|
|
716
726
|
}
|
|
717
|
-
function O(M,
|
|
727
|
+
function O(M, s) {
|
|
718
728
|
const o = R.getColumn(M);
|
|
719
|
-
o && (o.setFilterValue(
|
|
729
|
+
o && (o.setFilterValue(s.length === 0 ? void 0 : s), i.value = R.getState().columnFilters);
|
|
720
730
|
}
|
|
721
|
-
function B(M,
|
|
731
|
+
function B(M, s) {
|
|
722
732
|
const o = R.getColumn(M);
|
|
723
|
-
o && (!
|
|
733
|
+
o && (!s || s.min === null && s.max === null ? o.setFilterValue(void 0) : o.setFilterValue(s), i.value = R.getState().columnFilters);
|
|
724
734
|
}
|
|
725
735
|
function N(M) {
|
|
726
|
-
const
|
|
727
|
-
if (!
|
|
728
|
-
const o =
|
|
729
|
-
return o &&
|
|
736
|
+
const s = R.getColumn(M);
|
|
737
|
+
if (!s) return null;
|
|
738
|
+
const o = s.getFilterValue();
|
|
739
|
+
return o && dt(o) ? o : null;
|
|
730
740
|
}
|
|
731
741
|
function j() {
|
|
732
|
-
R.resetColumnFilters(), h.value = "",
|
|
742
|
+
R.resetColumnFilters(), h.value = "", i.value = [];
|
|
733
743
|
}
|
|
734
744
|
function q(M) {
|
|
735
|
-
const
|
|
736
|
-
if (!
|
|
737
|
-
const o =
|
|
745
|
+
const s = R.getColumn(M);
|
|
746
|
+
if (!s) return [];
|
|
747
|
+
const o = s.getFilterValue();
|
|
738
748
|
return Array.isArray(o) ? o : [];
|
|
739
749
|
}
|
|
740
750
|
function le(M) {
|
|
741
|
-
const
|
|
742
|
-
|
|
751
|
+
const s = a.value.find((o) => o.id === M);
|
|
752
|
+
s ? s.desc ? a.value = [] : a.value = [{ id: M, desc: !0 }] : a.value = [{ id: M, desc: !1 }];
|
|
743
753
|
}
|
|
744
|
-
function
|
|
745
|
-
const
|
|
746
|
-
return
|
|
754
|
+
function L(M) {
|
|
755
|
+
const s = a.value.find((o) => o.id === M);
|
|
756
|
+
return s ? s.desc ? "desc" : "asc" : null;
|
|
747
757
|
}
|
|
748
|
-
return
|
|
758
|
+
return De(u, () => {
|
|
749
759
|
x();
|
|
750
760
|
}), {
|
|
751
761
|
// Table instance
|
|
752
762
|
table: R,
|
|
753
763
|
// State
|
|
754
764
|
sorting: a,
|
|
755
|
-
columnFilters:
|
|
765
|
+
columnFilters: i,
|
|
756
766
|
columnVisibility: f,
|
|
757
767
|
globalFilter: h,
|
|
758
768
|
columnKeys: F,
|
|
759
769
|
// Computed
|
|
760
|
-
filteredRowCount:
|
|
770
|
+
filteredRowCount: y,
|
|
761
771
|
totalRowCount: P,
|
|
762
772
|
activeFilters: Z,
|
|
763
773
|
// Methods
|
|
764
|
-
getColumnStats:
|
|
774
|
+
getColumnStats: b,
|
|
765
775
|
clearStatsCache: x,
|
|
766
776
|
hasActiveFilter: W,
|
|
767
777
|
setColumnFilter: O,
|
|
768
778
|
getColumnFilterValues: q,
|
|
769
779
|
clearAllFilters: j,
|
|
770
780
|
toggleSort: le,
|
|
771
|
-
getSortDirection:
|
|
781
|
+
getSortDirection: L,
|
|
772
782
|
// Numeric range filters
|
|
773
783
|
setNumericRangeFilter: B,
|
|
774
784
|
getNumericRangeFilter: N
|
|
775
785
|
};
|
|
776
786
|
}
|
|
777
787
|
const dn = $(null), Ue = $(!1), $e = $(tn());
|
|
778
|
-
let
|
|
779
|
-
async function Zs(t) {
|
|
780
|
-
dn.value = t, Ct = Zl(t), $e.value = await Ct, Ct = null, $e.value.isValid ? $e.value.type !== "free" && console.info(`[TinyPivot] Pro license activated (${$e.value.type})`) : console.warn("[TinyPivot] Invalid or expired license key. Running in free mode.");
|
|
781
|
-
}
|
|
788
|
+
let bt = null;
|
|
782
789
|
async function Js(t) {
|
|
790
|
+
dn.value = t, bt = Zl(t), $e.value = await bt, bt = null, $e.value.isValid ? $e.value.type !== "free" && console.info(`[TinyPivot] Pro license activated (${$e.value.type})`) : console.warn("[TinyPivot] Invalid or expired license key. Running in free mode.");
|
|
791
|
+
}
|
|
792
|
+
async function Qs(t) {
|
|
783
793
|
const u = await en(t);
|
|
784
794
|
return u ? (Ue.value = !0, $e.value = u, console.info("[TinyPivot] Demo mode enabled - all Pro features unlocked for evaluation"), !0) : (console.warn("[TinyPivot] Demo mode activation failed - invalid secret"), !1);
|
|
785
795
|
}
|
|
786
|
-
function
|
|
796
|
+
function Is(t) {
|
|
787
797
|
Jl(t);
|
|
788
798
|
}
|
|
789
|
-
function
|
|
790
|
-
const t =
|
|
799
|
+
function pt() {
|
|
800
|
+
const t = A(() => Ue.value), u = A(() => Ue.value || nn($e.value)), l = A(() => Ue.value || ln($e.value)), r = A(
|
|
791
801
|
() => Ue.value || $e.value.features.advancedAggregations
|
|
792
|
-
), a =
|
|
802
|
+
), a = A(
|
|
793
803
|
() => Ue.value || $e.value.features.percentageMode
|
|
794
|
-
),
|
|
804
|
+
), i = A(() => on($e.value, Ue.value));
|
|
795
805
|
function f(h) {
|
|
796
806
|
return u.value ? !0 : (an(h), !1);
|
|
797
807
|
}
|
|
798
808
|
return {
|
|
799
|
-
licenseInfo:
|
|
809
|
+
licenseInfo: A(() => $e.value),
|
|
800
810
|
isDemo: t,
|
|
801
811
|
isPro: u,
|
|
802
812
|
canUsePivot: l,
|
|
803
813
|
canUseAdvancedAggregations: r,
|
|
804
814
|
canUsePercentageMode: a,
|
|
805
|
-
showWatermark:
|
|
815
|
+
showWatermark: i,
|
|
806
816
|
requirePro: f
|
|
807
817
|
};
|
|
808
818
|
}
|
|
809
819
|
function gn(t) {
|
|
810
|
-
const { canUsePivot: u, requirePro: l } =
|
|
811
|
-
|
|
820
|
+
const { canUsePivot: u, requirePro: l } = pt(), r = $([]), a = $([]), i = $([]), f = $(!0), h = $(!0), k = $(Zt()), F = $(null), b = A(() => Hl(t.value)), x = A(() => Kl(
|
|
821
|
+
b.value,
|
|
812
822
|
r.value,
|
|
813
823
|
a.value,
|
|
814
|
-
|
|
815
|
-
)), U =
|
|
824
|
+
i.value
|
|
825
|
+
)), U = A(() => Xt({
|
|
816
826
|
rowFields: r.value,
|
|
817
827
|
columnFields: a.value,
|
|
818
|
-
valueFields:
|
|
828
|
+
valueFields: i.value,
|
|
819
829
|
showRowTotals: f.value,
|
|
820
830
|
showColumnTotals: h.value
|
|
821
|
-
})), R =
|
|
831
|
+
})), R = A(() => !U.value || !u.value ? null : Ol(t.value, {
|
|
822
832
|
rowFields: r.value,
|
|
823
833
|
columnFields: a.value,
|
|
824
|
-
valueFields:
|
|
834
|
+
valueFields: i.value,
|
|
825
835
|
showRowTotals: f.value,
|
|
826
836
|
showColumnTotals: h.value,
|
|
827
|
-
calculatedFields:
|
|
837
|
+
calculatedFields: k.value
|
|
828
838
|
}));
|
|
829
|
-
function
|
|
830
|
-
l("Pivot Table - Row Fields") && (r.value.includes(
|
|
839
|
+
function y(s) {
|
|
840
|
+
l("Pivot Table - Row Fields") && (r.value.includes(s) || (r.value = [...r.value, s]));
|
|
831
841
|
}
|
|
832
|
-
function P(
|
|
833
|
-
r.value = r.value.filter((o) => o !==
|
|
842
|
+
function P(s) {
|
|
843
|
+
r.value = r.value.filter((o) => o !== s);
|
|
834
844
|
}
|
|
835
|
-
function Z(
|
|
836
|
-
l("Pivot Table - Column Fields") && (a.value.includes(
|
|
845
|
+
function Z(s) {
|
|
846
|
+
l("Pivot Table - Column Fields") && (a.value.includes(s) || (a.value = [...a.value, s]));
|
|
837
847
|
}
|
|
838
|
-
function W(
|
|
839
|
-
a.value = a.value.filter((o) => o !==
|
|
848
|
+
function W(s) {
|
|
849
|
+
a.value = a.value.filter((o) => o !== s);
|
|
840
850
|
}
|
|
841
|
-
function O(
|
|
842
|
-
l("Pivot Table - Value Fields") && (
|
|
851
|
+
function O(s, o = "sum") {
|
|
852
|
+
l("Pivot Table - Value Fields") && (i.value.some((c) => c.field === s && c.aggregation === o) || (i.value = [...i.value, { field: s, aggregation: o }]));
|
|
843
853
|
}
|
|
844
|
-
function B(
|
|
845
|
-
o ?
|
|
846
|
-
(c) => !(c.field ===
|
|
847
|
-
) :
|
|
854
|
+
function B(s, o) {
|
|
855
|
+
o ? i.value = i.value.filter(
|
|
856
|
+
(c) => !(c.field === s && c.aggregation === o)
|
|
857
|
+
) : i.value = i.value.filter((c) => c.field !== s);
|
|
848
858
|
}
|
|
849
|
-
function N(
|
|
850
|
-
|
|
859
|
+
function N(s, o, c) {
|
|
860
|
+
i.value = i.value.map((m) => m.field === s && m.aggregation === o ? { ...m, aggregation: c } : m);
|
|
851
861
|
}
|
|
852
862
|
function j() {
|
|
853
|
-
r.value = [], a.value = [],
|
|
863
|
+
r.value = [], a.value = [], i.value = [];
|
|
854
864
|
}
|
|
855
|
-
function q(
|
|
856
|
-
if (
|
|
857
|
-
if (
|
|
858
|
-
const c = [...r.value], [m] = c.splice(
|
|
865
|
+
function q(s, o) {
|
|
866
|
+
if (s.area === o.area) {
|
|
867
|
+
if (s.area === "row") {
|
|
868
|
+
const c = [...r.value], [m] = c.splice(s.index, 1);
|
|
859
869
|
c.splice(o.index, 0, m), r.value = c;
|
|
860
|
-
} else if (
|
|
861
|
-
const c = [...a.value], [m] = c.splice(
|
|
870
|
+
} else if (s.area === "column") {
|
|
871
|
+
const c = [...a.value], [m] = c.splice(s.index, 1);
|
|
862
872
|
c.splice(o.index, 0, m), a.value = c;
|
|
863
873
|
}
|
|
864
874
|
}
|
|
865
875
|
}
|
|
866
876
|
function le() {
|
|
867
|
-
if (!l("Pivot Table - Auto Suggest") ||
|
|
868
|
-
const
|
|
869
|
-
|
|
870
|
-
}
|
|
871
|
-
function
|
|
872
|
-
const o =
|
|
873
|
-
o >= 0 ?
|
|
874
|
-
...
|
|
875
|
-
|
|
876
|
-
...
|
|
877
|
-
] :
|
|
878
|
-
}
|
|
879
|
-
function M(
|
|
880
|
-
|
|
881
|
-
}
|
|
882
|
-
return
|
|
877
|
+
if (!l("Pivot Table - Auto Suggest") || b.value.length === 0) return;
|
|
878
|
+
const s = b.value.filter((c) => !c.isNumeric && c.uniqueCount < 50), o = b.value.filter((c) => c.isNumeric);
|
|
879
|
+
s.length > 0 && o.length > 0 && (r.value = [s[0].field], i.value = [{ field: o[0].field, aggregation: "sum" }]);
|
|
880
|
+
}
|
|
881
|
+
function L(s) {
|
|
882
|
+
const o = k.value.findIndex((c) => c.id === s.id);
|
|
883
|
+
o >= 0 ? k.value = [
|
|
884
|
+
...k.value.slice(0, o),
|
|
885
|
+
s,
|
|
886
|
+
...k.value.slice(o + 1)
|
|
887
|
+
] : k.value = [...k.value, s], at(k.value);
|
|
888
|
+
}
|
|
889
|
+
function M(s) {
|
|
890
|
+
k.value = k.value.filter((o) => o.id !== s), i.value = i.value.filter((o) => o.field !== `calc:${s}`), at(k.value);
|
|
891
|
+
}
|
|
892
|
+
return De(
|
|
883
893
|
t,
|
|
884
|
-
(
|
|
885
|
-
if (
|
|
886
|
-
const o = Object.keys(
|
|
894
|
+
(s) => {
|
|
895
|
+
if (s.length === 0) return;
|
|
896
|
+
const o = Object.keys(s[0]), c = ql(o);
|
|
887
897
|
if (c !== F.value) {
|
|
888
898
|
F.value = c;
|
|
889
899
|
const m = Gl(c);
|
|
890
|
-
if (m &&
|
|
891
|
-
r.value = m.rowFields, a.value = m.columnFields,
|
|
900
|
+
if (m && wt(m, o))
|
|
901
|
+
r.value = m.rowFields, a.value = m.columnFields, i.value = m.valueFields, f.value = m.showRowTotals, h.value = m.showColumnTotals, m.calculatedFields && (k.value = m.calculatedFields);
|
|
892
902
|
else {
|
|
893
903
|
const X = {
|
|
894
904
|
rowFields: r.value,
|
|
895
905
|
columnFields: a.value,
|
|
896
|
-
valueFields:
|
|
906
|
+
valueFields: i.value,
|
|
897
907
|
showRowTotals: f.value,
|
|
898
908
|
showColumnTotals: h.value
|
|
899
909
|
};
|
|
900
|
-
|
|
910
|
+
wt(X, o) || j();
|
|
901
911
|
}
|
|
902
912
|
} else {
|
|
903
913
|
const m = {
|
|
904
914
|
rowFields: r.value,
|
|
905
915
|
columnFields: a.value,
|
|
906
|
-
valueFields:
|
|
916
|
+
valueFields: i.value,
|
|
907
917
|
showRowTotals: f.value,
|
|
908
918
|
showColumnTotals: h.value
|
|
909
919
|
};
|
|
910
|
-
|
|
920
|
+
wt(m, o) || j();
|
|
911
921
|
}
|
|
912
922
|
},
|
|
913
923
|
{ immediate: !0 }
|
|
914
|
-
),
|
|
915
|
-
[r, a,
|
|
924
|
+
), De(
|
|
925
|
+
[r, a, i, f, h, k],
|
|
916
926
|
() => {
|
|
917
927
|
if (!F.value) return;
|
|
918
|
-
const
|
|
928
|
+
const s = {
|
|
919
929
|
rowFields: r.value,
|
|
920
930
|
columnFields: a.value,
|
|
921
|
-
valueFields:
|
|
931
|
+
valueFields: i.value,
|
|
922
932
|
showRowTotals: f.value,
|
|
923
933
|
showColumnTotals: h.value,
|
|
924
|
-
calculatedFields:
|
|
934
|
+
calculatedFields: k.value
|
|
925
935
|
};
|
|
926
|
-
_l(F.value,
|
|
936
|
+
_l(F.value, s);
|
|
927
937
|
},
|
|
928
938
|
{ deep: !0 }
|
|
929
939
|
), {
|
|
930
940
|
// State
|
|
931
941
|
rowFields: r,
|
|
932
942
|
columnFields: a,
|
|
933
|
-
valueFields:
|
|
943
|
+
valueFields: i,
|
|
934
944
|
showRowTotals: f,
|
|
935
945
|
showColumnTotals: h,
|
|
936
|
-
calculatedFields:
|
|
946
|
+
calculatedFields: k,
|
|
937
947
|
// Computed
|
|
938
|
-
availableFields:
|
|
948
|
+
availableFields: b,
|
|
939
949
|
unassignedFields: x,
|
|
940
950
|
isConfigured: U,
|
|
941
951
|
pivotResult: R,
|
|
942
952
|
// Actions
|
|
943
|
-
addRowField:
|
|
953
|
+
addRowField: y,
|
|
944
954
|
removeRowField: P,
|
|
945
955
|
addColumnField: Z,
|
|
946
956
|
removeColumnField: W,
|
|
@@ -950,7 +960,7 @@ function gn(t) {
|
|
|
950
960
|
clearConfig: j,
|
|
951
961
|
moveField: q,
|
|
952
962
|
autoSuggestConfig: le,
|
|
953
|
-
addCalculatedField:
|
|
963
|
+
addCalculatedField: L,
|
|
954
964
|
removeCalculatedField: M
|
|
955
965
|
};
|
|
956
966
|
}
|
|
@@ -966,22 +976,22 @@ function mn(t, u, l) {
|
|
|
966
976
|
function hn(t, u, l) {
|
|
967
977
|
return cn(t, u, l);
|
|
968
978
|
}
|
|
969
|
-
function
|
|
970
|
-
const l = $(u.pageSize ?? 50), r = $(u.currentPage ?? 1), a =
|
|
979
|
+
function ei(t, u = {}) {
|
|
980
|
+
const l = $(u.pageSize ?? 50), r = $(u.currentPage ?? 1), a = A(
|
|
971
981
|
() => Math.max(1, Math.ceil(t.value.length / l.value))
|
|
972
|
-
),
|
|
973
|
-
const
|
|
974
|
-
return t.value.slice(
|
|
975
|
-
}), f =
|
|
982
|
+
), i = A(() => {
|
|
983
|
+
const y = (r.value - 1) * l.value, P = y + l.value;
|
|
984
|
+
return t.value.slice(y, P);
|
|
985
|
+
}), f = A(() => (r.value - 1) * l.value + 1), h = A(
|
|
976
986
|
() => Math.min(r.value * l.value, t.value.length)
|
|
977
987
|
);
|
|
978
|
-
function y
|
|
979
|
-
r.value = Math.max(1, Math.min(
|
|
988
|
+
function k(y) {
|
|
989
|
+
r.value = Math.max(1, Math.min(y, a.value));
|
|
980
990
|
}
|
|
981
991
|
function F() {
|
|
982
992
|
r.value < a.value && r.value++;
|
|
983
993
|
}
|
|
984
|
-
function
|
|
994
|
+
function b() {
|
|
985
995
|
r.value > 1 && r.value--;
|
|
986
996
|
}
|
|
987
997
|
function x() {
|
|
@@ -990,32 +1000,32 @@ function Is(t, u = {}) {
|
|
|
990
1000
|
function U() {
|
|
991
1001
|
r.value = a.value;
|
|
992
1002
|
}
|
|
993
|
-
function R(
|
|
994
|
-
l.value =
|
|
1003
|
+
function R(y) {
|
|
1004
|
+
l.value = y, r.value = 1;
|
|
995
1005
|
}
|
|
996
1006
|
return {
|
|
997
1007
|
pageSize: l,
|
|
998
1008
|
currentPage: r,
|
|
999
1009
|
totalPages: a,
|
|
1000
|
-
paginatedData:
|
|
1010
|
+
paginatedData: i,
|
|
1001
1011
|
startIndex: f,
|
|
1002
1012
|
endIndex: h,
|
|
1003
|
-
goToPage:
|
|
1013
|
+
goToPage: k,
|
|
1004
1014
|
nextPage: F,
|
|
1005
|
-
prevPage:
|
|
1015
|
+
prevPage: b,
|
|
1006
1016
|
firstPage: x,
|
|
1007
1017
|
lastPage: U,
|
|
1008
1018
|
setPageSize: R
|
|
1009
1019
|
};
|
|
1010
1020
|
}
|
|
1011
|
-
function
|
|
1012
|
-
const l = $(""), r = $(!1), a =
|
|
1021
|
+
function ti(t, u) {
|
|
1022
|
+
const l = $(""), r = $(!1), a = A(() => {
|
|
1013
1023
|
if (!l.value.trim())
|
|
1014
1024
|
return t.value;
|
|
1015
1025
|
const f = r.value ? l.value.trim() : l.value.trim().toLowerCase();
|
|
1016
1026
|
return t.value.filter((h) => {
|
|
1017
|
-
for (const
|
|
1018
|
-
const F = h[
|
|
1027
|
+
for (const k of u.value) {
|
|
1028
|
+
const F = h[k];
|
|
1019
1029
|
if (F == null) continue;
|
|
1020
1030
|
if ((r.value ? String(F) : String(F).toLowerCase()).includes(f))
|
|
1021
1031
|
return !0;
|
|
@@ -1023,19 +1033,19 @@ function ei(t, u) {
|
|
|
1023
1033
|
return !1;
|
|
1024
1034
|
});
|
|
1025
1035
|
});
|
|
1026
|
-
function
|
|
1036
|
+
function i() {
|
|
1027
1037
|
l.value = "";
|
|
1028
1038
|
}
|
|
1029
1039
|
return {
|
|
1030
1040
|
searchTerm: l,
|
|
1031
1041
|
caseSensitive: r,
|
|
1032
1042
|
filteredData: a,
|
|
1033
|
-
clearSearch:
|
|
1043
|
+
clearSearch: i
|
|
1034
1044
|
};
|
|
1035
1045
|
}
|
|
1036
|
-
function
|
|
1037
|
-
const u = $(/* @__PURE__ */ new Set()), l =
|
|
1038
|
-
function
|
|
1046
|
+
function li(t) {
|
|
1047
|
+
const u = $(/* @__PURE__ */ new Set()), l = A(() => Array.from(u.value).sort((R, y) => R - y).map((R) => t.value[R]).filter(Boolean)), r = A(() => t.value.length > 0 && u.value.size === t.value.length), a = A(() => u.value.size > 0 && u.value.size < t.value.length);
|
|
1048
|
+
function i(R) {
|
|
1039
1049
|
u.value.has(R) ? u.value.delete(R) : u.value.add(R), u.value = new Set(u.value);
|
|
1040
1050
|
}
|
|
1041
1051
|
function f(R) {
|
|
@@ -1044,20 +1054,20 @@ function ti(t) {
|
|
|
1044
1054
|
function h(R) {
|
|
1045
1055
|
u.value.delete(R), u.value = new Set(u.value);
|
|
1046
1056
|
}
|
|
1047
|
-
function
|
|
1048
|
-
u.value = new Set(t.value.map((R,
|
|
1057
|
+
function k() {
|
|
1058
|
+
u.value = new Set(t.value.map((R, y) => y));
|
|
1049
1059
|
}
|
|
1050
1060
|
function F() {
|
|
1051
1061
|
u.value = /* @__PURE__ */ new Set();
|
|
1052
1062
|
}
|
|
1053
|
-
function
|
|
1054
|
-
r.value ? F() :
|
|
1063
|
+
function b() {
|
|
1064
|
+
r.value ? F() : k();
|
|
1055
1065
|
}
|
|
1056
1066
|
function x(R) {
|
|
1057
1067
|
return u.value.has(R);
|
|
1058
1068
|
}
|
|
1059
|
-
function U(R,
|
|
1060
|
-
const P = Math.min(R,
|
|
1069
|
+
function U(R, y) {
|
|
1070
|
+
const P = Math.min(R, y), Z = Math.max(R, y);
|
|
1061
1071
|
for (let W = P; W <= Z; W++)
|
|
1062
1072
|
u.value.add(W);
|
|
1063
1073
|
u.value = new Set(u.value);
|
|
@@ -1067,30 +1077,30 @@ function ti(t) {
|
|
|
1067
1077
|
selectedRows: l,
|
|
1068
1078
|
allSelected: r,
|
|
1069
1079
|
someSelected: a,
|
|
1070
|
-
toggleRow:
|
|
1080
|
+
toggleRow: i,
|
|
1071
1081
|
selectRow: f,
|
|
1072
1082
|
deselectRow: h,
|
|
1073
|
-
selectAll:
|
|
1083
|
+
selectAll: k,
|
|
1074
1084
|
deselectAll: F,
|
|
1075
|
-
toggleAll:
|
|
1085
|
+
toggleAll: b,
|
|
1076
1086
|
isSelected: x,
|
|
1077
1087
|
selectRange: U
|
|
1078
1088
|
};
|
|
1079
1089
|
}
|
|
1080
|
-
function
|
|
1081
|
-
const r = $({ ...t.value }), a = $(!1),
|
|
1082
|
-
function f(F,
|
|
1083
|
-
a.value = !0,
|
|
1084
|
-
const x =
|
|
1090
|
+
function ni(t, u = 60, l = 600) {
|
|
1091
|
+
const r = $({ ...t.value }), a = $(!1), i = $(null);
|
|
1092
|
+
function f(F, b) {
|
|
1093
|
+
a.value = !0, i.value = F;
|
|
1094
|
+
const x = b.clientX, U = r.value[F] || 150, R = (P) => {
|
|
1085
1095
|
const Z = P.clientX - x, W = Math.max(u, Math.min(l, U + Z));
|
|
1086
1096
|
r.value = {
|
|
1087
1097
|
...r.value,
|
|
1088
1098
|
[F]: W
|
|
1089
1099
|
};
|
|
1090
|
-
},
|
|
1091
|
-
a.value = !1,
|
|
1100
|
+
}, y = () => {
|
|
1101
|
+
a.value = !1, i.value = null, document.removeEventListener("mousemove", R), document.removeEventListener("mouseup", y);
|
|
1092
1102
|
};
|
|
1093
|
-
document.addEventListener("mousemove", R), document.addEventListener("mouseup",
|
|
1103
|
+
document.addEventListener("mousemove", R), document.addEventListener("mouseup", y);
|
|
1094
1104
|
}
|
|
1095
1105
|
function h(F) {
|
|
1096
1106
|
t.value[F] && (r.value = {
|
|
@@ -1098,19 +1108,19 @@ function li(t, u = 60, l = 600) {
|
|
|
1098
1108
|
[F]: t.value[F]
|
|
1099
1109
|
});
|
|
1100
1110
|
}
|
|
1101
|
-
function
|
|
1111
|
+
function k() {
|
|
1102
1112
|
r.value = { ...t.value };
|
|
1103
1113
|
}
|
|
1104
1114
|
return {
|
|
1105
1115
|
columnWidths: r,
|
|
1106
1116
|
isResizing: a,
|
|
1107
|
-
resizingColumn:
|
|
1117
|
+
resizingColumn: i,
|
|
1108
1118
|
startResize: f,
|
|
1109
1119
|
resetColumnWidth: h,
|
|
1110
|
-
resetAllWidths:
|
|
1120
|
+
resetAllWidths: k
|
|
1111
1121
|
};
|
|
1112
1122
|
}
|
|
1113
|
-
const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn = { class: "vpg-range-bounds" },
|
|
1123
|
+
const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn = { class: "vpg-range-bounds" }, yn = { class: "vpg-slider-container" }, kn = { class: "vpg-slider-track" }, Fn = ["min", "max", "step", "value"], Sn = ["min", "max", "step", "value"], $n = { class: "vpg-range-inputs" }, Mn = { class: "vpg-input-group" }, xn = ["placeholder", "value", "step"], Rn = { class: "vpg-input-group" }, Tn = ["placeholder", "value", "step"], Dn = { class: "vpg-range-actions" }, Vn = ["disabled"], An = {
|
|
1114
1124
|
key: 0,
|
|
1115
1125
|
class: "vpg-filter-summary"
|
|
1116
1126
|
}, Ln = /* @__PURE__ */ et({
|
|
@@ -1123,49 +1133,49 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1123
1133
|
emits: ["change"],
|
|
1124
1134
|
setup(t, { emit: u }) {
|
|
1125
1135
|
var O, B;
|
|
1126
|
-
const l = t, r = u, a = $(((O = l.currentRange) == null ? void 0 : O.min) ?? null),
|
|
1136
|
+
const l = t, r = u, a = $(((O = l.currentRange) == null ? void 0 : O.min) ?? null), i = $(((B = l.currentRange) == null ? void 0 : B.max) ?? null), f = A(() => {
|
|
1127
1137
|
const N = l.dataMax - l.dataMin;
|
|
1128
1138
|
return N === 0 ? 1 : N <= 1 ? 0.01 : N <= 10 ? 0.1 : N <= 100 ? 1 : N <= 1e3 ? 10 : Math.pow(10, Math.floor(Math.log10(N)) - 2);
|
|
1129
|
-
}), h = (N) => N === null ? "" : Number.isInteger(N) ? N.toLocaleString() : N.toLocaleString(void 0, { maximumFractionDigits: 2 }),
|
|
1139
|
+
}), h = (N) => N === null ? "" : Number.isInteger(N) ? N.toLocaleString() : N.toLocaleString(void 0, { maximumFractionDigits: 2 }), k = A(() => a.value !== null || i.value !== null), F = A(() => a.value === null || l.dataMax === l.dataMin ? 0 : (a.value - l.dataMin) / (l.dataMax - l.dataMin) * 100), b = A(() => i.value === null || l.dataMax === l.dataMin ? 100 : (i.value - l.dataMin) / (l.dataMax - l.dataMin) * 100);
|
|
1130
1140
|
function x(N) {
|
|
1131
1141
|
const j = N.target, q = Number.parseFloat(j.value);
|
|
1132
|
-
|
|
1142
|
+
i.value !== null && q > i.value ? a.value = i.value : a.value = q;
|
|
1133
1143
|
}
|
|
1134
1144
|
function U(N) {
|
|
1135
1145
|
const j = N.target, q = Number.parseFloat(j.value);
|
|
1136
|
-
a.value !== null && q < a.value ?
|
|
1146
|
+
a.value !== null && q < a.value ? i.value = a.value : i.value = q;
|
|
1137
1147
|
}
|
|
1138
1148
|
function R(N) {
|
|
1139
1149
|
const j = N.target, q = j.value === "" ? null : Number.parseFloat(j.value);
|
|
1140
|
-
q !== null && !Number.isNaN(q) ? a.value = Math.max(l.dataMin, Math.min(q,
|
|
1150
|
+
q !== null && !Number.isNaN(q) ? a.value = Math.max(l.dataMin, Math.min(q, i.value ?? l.dataMax)) : q === null && (a.value = null);
|
|
1141
1151
|
}
|
|
1142
|
-
function
|
|
1152
|
+
function y(N) {
|
|
1143
1153
|
const j = N.target, q = j.value === "" ? null : Number.parseFloat(j.value);
|
|
1144
|
-
q !== null && !Number.isNaN(q) ?
|
|
1154
|
+
q !== null && !Number.isNaN(q) ? i.value = Math.min(l.dataMax, Math.max(q, a.value ?? l.dataMin)) : q === null && (i.value = null);
|
|
1145
1155
|
}
|
|
1146
1156
|
function P() {
|
|
1147
|
-
a.value = null,
|
|
1157
|
+
a.value = null, i.value = null, W();
|
|
1148
1158
|
}
|
|
1149
1159
|
function Z() {
|
|
1150
|
-
a.value = l.dataMin,
|
|
1160
|
+
a.value = l.dataMin, i.value = l.dataMax, W();
|
|
1151
1161
|
}
|
|
1152
1162
|
function W() {
|
|
1153
|
-
a.value === null &&
|
|
1163
|
+
a.value === null && i.value === null ? r("change", null) : r("change", { min: a.value, max: i.value });
|
|
1154
1164
|
}
|
|
1155
|
-
return
|
|
1156
|
-
a.value = (N == null ? void 0 : N.min) ?? null,
|
|
1165
|
+
return De(() => l.currentRange, (N) => {
|
|
1166
|
+
a.value = (N == null ? void 0 : N.min) ?? null, i.value = (N == null ? void 0 : N.max) ?? null;
|
|
1157
1167
|
}, { immediate: !0 }), (N, j) => (d(), g("div", wn, [
|
|
1158
1168
|
e("div", Cn, [
|
|
1159
1169
|
j[0] || (j[0] = e("span", { class: "vpg-range-label" }, "Data range:", -1)),
|
|
1160
1170
|
e("span", bn, S(h(t.dataMin)) + " – " + S(h(t.dataMax)), 1)
|
|
1161
1171
|
]),
|
|
1162
|
-
e("div",
|
|
1163
|
-
e("div",
|
|
1172
|
+
e("div", yn, [
|
|
1173
|
+
e("div", kn, [
|
|
1164
1174
|
e("div", {
|
|
1165
1175
|
class: "vpg-slider-fill",
|
|
1166
|
-
style:
|
|
1176
|
+
style: ke({
|
|
1167
1177
|
left: `${F.value}%`,
|
|
1168
|
-
right: `${100 -
|
|
1178
|
+
right: `${100 - b.value}%`
|
|
1169
1179
|
})
|
|
1170
1180
|
}, null, 4)
|
|
1171
1181
|
]),
|
|
@@ -1185,7 +1195,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1185
1195
|
min: t.dataMin,
|
|
1186
1196
|
max: t.dataMax,
|
|
1187
1197
|
step: f.value,
|
|
1188
|
-
value:
|
|
1198
|
+
value: i.value ?? t.dataMax,
|
|
1189
1199
|
onInput: U,
|
|
1190
1200
|
onChange: W
|
|
1191
1201
|
}, null, 40, Sn)
|
|
@@ -1210,17 +1220,17 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1210
1220
|
type: "number",
|
|
1211
1221
|
class: "vpg-range-input",
|
|
1212
1222
|
placeholder: h(t.dataMax),
|
|
1213
|
-
value:
|
|
1223
|
+
value: i.value ?? "",
|
|
1214
1224
|
step: f.value,
|
|
1215
|
-
onInput:
|
|
1225
|
+
onInput: y,
|
|
1216
1226
|
onChange: W
|
|
1217
|
-
}, null, 40,
|
|
1227
|
+
}, null, 40, Tn)
|
|
1218
1228
|
])
|
|
1219
1229
|
]),
|
|
1220
|
-
e("div",
|
|
1230
|
+
e("div", Dn, [
|
|
1221
1231
|
e("button", {
|
|
1222
1232
|
class: "vpg-range-btn",
|
|
1223
|
-
disabled: !
|
|
1233
|
+
disabled: !k.value,
|
|
1224
1234
|
onClick: P
|
|
1225
1235
|
}, [...j[4] || (j[4] = [
|
|
1226
1236
|
e("svg", {
|
|
@@ -1258,7 +1268,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1258
1268
|
ee(" Full Range ", -1)
|
|
1259
1269
|
])])
|
|
1260
1270
|
]),
|
|
1261
|
-
|
|
1271
|
+
k.value ? (d(), g("div", An, [
|
|
1262
1272
|
j[7] || (j[7] = e("svg", {
|
|
1263
1273
|
class: "vpg-icon-xs",
|
|
1264
1274
|
fill: "none",
|
|
@@ -1275,8 +1285,8 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1275
1285
|
e("span", null, [
|
|
1276
1286
|
j[6] || (j[6] = ee(" Showing values ", -1)),
|
|
1277
1287
|
e("strong", null, S(a.value !== null ? `≥ ${h(a.value)}` : ""), 1),
|
|
1278
|
-
ee(" " + S(a.value !== null &&
|
|
1279
|
-
e("strong", null, S(
|
|
1288
|
+
ee(" " + S(a.value !== null && i.value !== null ? " and " : "") + " ", 1),
|
|
1289
|
+
e("strong", null, S(i.value !== null ? `≤ ${h(i.value)}` : ""), 1)
|
|
1280
1290
|
])
|
|
1281
1291
|
])) : z("", !0)
|
|
1282
1292
|
]));
|
|
@@ -1304,35 +1314,35 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1304
1314
|
},
|
|
1305
1315
|
emits: ["filter", "sort", "close", "rangeFilter"],
|
|
1306
1316
|
setup(t, { emit: u }) {
|
|
1307
|
-
const l = t, r = u, a = $(""),
|
|
1308
|
-
|
|
1317
|
+
const l = t, r = u, a = $(""), i = $(), f = $(), h = A(() => l.stats.type === "number" && l.stats.numericMin !== void 0 && l.stats.numericMax !== void 0), k = $(l.numericRange ? "range" : "values"), F = $(l.numericRange ?? null);
|
|
1318
|
+
A(() => {
|
|
1309
1319
|
const o = [...l.stats.uniqueValues];
|
|
1310
1320
|
return l.stats.nullCount > 0 && o.unshift("(blank)"), o;
|
|
1311
1321
|
});
|
|
1312
|
-
const
|
|
1322
|
+
const b = $(new Set(l.selectedValues)), x = A(() => l.stats.nullCount > 0), U = A(() => {
|
|
1313
1323
|
const o = l.stats.uniqueValues;
|
|
1314
1324
|
if (!a.value)
|
|
1315
1325
|
return o;
|
|
1316
1326
|
const c = a.value.toLowerCase();
|
|
1317
1327
|
return o.filter((m) => m.toLowerCase().includes(c));
|
|
1318
|
-
}), R =
|
|
1328
|
+
}), R = A(() => {
|
|
1319
1329
|
const o = [...U.value];
|
|
1320
1330
|
return x.value && (!a.value || "(blank)".includes(a.value.toLowerCase())) && o.unshift("(blank)"), o;
|
|
1321
1331
|
});
|
|
1322
|
-
|
|
1323
|
-
function
|
|
1324
|
-
|
|
1332
|
+
A(() => R.value.every((o) => b.value.has(o))), A(() => b.value.size === 0);
|
|
1333
|
+
function y(o) {
|
|
1334
|
+
b.value.has(o) ? b.value.delete(o) : b.value.add(o), b.value = new Set(b.value);
|
|
1325
1335
|
}
|
|
1326
1336
|
function P() {
|
|
1327
1337
|
for (const o of R.value)
|
|
1328
|
-
|
|
1329
|
-
|
|
1338
|
+
b.value.add(o);
|
|
1339
|
+
b.value = new Set(b.value);
|
|
1330
1340
|
}
|
|
1331
1341
|
function Z() {
|
|
1332
|
-
|
|
1342
|
+
b.value.clear(), b.value = new Set(b.value);
|
|
1333
1343
|
}
|
|
1334
1344
|
function W() {
|
|
1335
|
-
|
|
1345
|
+
b.value.size === 0 ? r("filter", []) : r("filter", Array.from(b.value)), r("close");
|
|
1336
1346
|
}
|
|
1337
1347
|
function O() {
|
|
1338
1348
|
r("sort", l.sortDirection === "asc" ? null : "asc");
|
|
@@ -1341,7 +1351,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1341
1351
|
r("sort", l.sortDirection === "desc" ? null : "desc");
|
|
1342
1352
|
}
|
|
1343
1353
|
function N() {
|
|
1344
|
-
|
|
1354
|
+
b.value.clear(), b.value = new Set(b.value), r("filter", []), r("close");
|
|
1345
1355
|
}
|
|
1346
1356
|
function j(o) {
|
|
1347
1357
|
F.value = o;
|
|
@@ -1352,29 +1362,29 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1352
1362
|
function le() {
|
|
1353
1363
|
F.value = null, r("rangeFilter", null), r("close");
|
|
1354
1364
|
}
|
|
1355
|
-
function
|
|
1356
|
-
|
|
1365
|
+
function L(o) {
|
|
1366
|
+
k.value = o;
|
|
1357
1367
|
}
|
|
1358
1368
|
function M(o) {
|
|
1359
|
-
|
|
1369
|
+
i.value && !i.value.contains(o.target) && r("close");
|
|
1360
1370
|
}
|
|
1361
|
-
function
|
|
1371
|
+
function s(o) {
|
|
1362
1372
|
o.key === "Escape" ? r("close") : o.key === "Enter" && o.ctrlKey && W();
|
|
1363
1373
|
}
|
|
1364
|
-
return
|
|
1374
|
+
return yt(() => {
|
|
1365
1375
|
ot(() => {
|
|
1366
1376
|
var o;
|
|
1367
1377
|
(o = f.value) == null || o.focus();
|
|
1368
|
-
}), document.addEventListener("mousedown", M), document.addEventListener("keydown",
|
|
1369
|
-
}),
|
|
1370
|
-
document.removeEventListener("mousedown", M), document.removeEventListener("keydown",
|
|
1371
|
-
}),
|
|
1372
|
-
|
|
1373
|
-
}, { immediate: !0 }),
|
|
1374
|
-
F.value = o ?? null, o && (
|
|
1378
|
+
}), document.addEventListener("mousedown", M), document.addEventListener("keydown", s);
|
|
1379
|
+
}), kt(() => {
|
|
1380
|
+
document.removeEventListener("mousedown", M), document.removeEventListener("keydown", s);
|
|
1381
|
+
}), De(() => l.selectedValues, (o) => {
|
|
1382
|
+
b.value = new Set(o);
|
|
1383
|
+
}, { immediate: !0 }), De(() => l.numericRange, (o) => {
|
|
1384
|
+
F.value = o ?? null, o && (k.value = "range");
|
|
1375
1385
|
}, { immediate: !0 }), (o, c) => (d(), g("div", {
|
|
1376
1386
|
ref_key: "dropdownRef",
|
|
1377
|
-
ref:
|
|
1387
|
+
ref: i,
|
|
1378
1388
|
class: "vpg-filter-dropdown"
|
|
1379
1389
|
}, [
|
|
1380
1390
|
e("div", zn, [
|
|
@@ -1426,8 +1436,8 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1426
1436
|
c[11] || (c[11] = e("div", { class: "vpg-divider" }, null, -1)),
|
|
1427
1437
|
h.value ? (d(), g("div", Hn, [
|
|
1428
1438
|
e("button", {
|
|
1429
|
-
class: J(["vpg-tab-btn", { active:
|
|
1430
|
-
onClick: c[0] || (c[0] = (m) =>
|
|
1439
|
+
class: J(["vpg-tab-btn", { active: k.value === "values" }]),
|
|
1440
|
+
onClick: c[0] || (c[0] = (m) => L("values"))
|
|
1431
1441
|
}, [...c[6] || (c[6] = [
|
|
1432
1442
|
e("svg", {
|
|
1433
1443
|
class: "vpg-icon-sm",
|
|
@@ -1445,8 +1455,8 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1445
1455
|
ee(" Values ", -1)
|
|
1446
1456
|
])], 2),
|
|
1447
1457
|
e("button", {
|
|
1448
|
-
class: J(["vpg-tab-btn", { active:
|
|
1449
|
-
onClick: c[1] || (c[1] = (m) =>
|
|
1458
|
+
class: J(["vpg-tab-btn", { active: k.value === "range" }]),
|
|
1459
|
+
onClick: c[1] || (c[1] = (m) => L("range"))
|
|
1450
1460
|
}, [...c[7] || (c[7] = [
|
|
1451
1461
|
e("svg", {
|
|
1452
1462
|
class: "vpg-icon-sm",
|
|
@@ -1464,7 +1474,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1464
1474
|
ee(" Range ", -1)
|
|
1465
1475
|
])], 2)
|
|
1466
1476
|
])) : z("", !0),
|
|
1467
|
-
!h.value ||
|
|
1477
|
+
!h.value || k.value === "values" ? (d(), g(_, { key: 1 }, [
|
|
1468
1478
|
e("div", Kn, [
|
|
1469
1479
|
c[8] || (c[8] = e("svg", {
|
|
1470
1480
|
class: "vpg-search-icon",
|
|
@@ -1538,13 +1548,13 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1538
1548
|
e("div", On, [
|
|
1539
1549
|
(d(!0), g(_, null, oe(R.value, (m) => (d(), g("label", {
|
|
1540
1550
|
key: m,
|
|
1541
|
-
class: J(["vpg-value-item", { selected:
|
|
1551
|
+
class: J(["vpg-value-item", { selected: b.value.has(m) }])
|
|
1542
1552
|
}, [
|
|
1543
1553
|
e("input", {
|
|
1544
1554
|
type: "checkbox",
|
|
1545
|
-
checked:
|
|
1555
|
+
checked: b.value.has(m),
|
|
1546
1556
|
class: "vpg-value-checkbox",
|
|
1547
|
-
onChange: (X) =>
|
|
1557
|
+
onChange: (X) => y(m)
|
|
1548
1558
|
}, null, 40, Wn),
|
|
1549
1559
|
e("span", {
|
|
1550
1560
|
class: J(["vpg-value-text", { "vpg-blank": m === "(blank)" }])
|
|
@@ -1603,56 +1613,56 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1603
1613
|
},
|
|
1604
1614
|
emits: ["close", "save"],
|
|
1605
1615
|
setup(t, { emit: u }) {
|
|
1606
|
-
const l = t, r = u, a = $(""),
|
|
1607
|
-
|
|
1608
|
-
R && (l.existingField ? (a.value = l.existingField.name,
|
|
1616
|
+
const l = t, r = u, a = $(""), i = $(""), f = $("number"), h = $(2), k = $(null);
|
|
1617
|
+
De(() => l.show, (R) => {
|
|
1618
|
+
R && (l.existingField ? (a.value = l.existingField.name, i.value = l.existingField.formula, f.value = l.existingField.formatAs || "number", h.value = l.existingField.decimals ?? 2) : (a.value = "", i.value = "", f.value = "number", h.value = 2), k.value = null);
|
|
1609
1619
|
});
|
|
1610
|
-
const F =
|
|
1611
|
-
function
|
|
1612
|
-
|
|
1620
|
+
const F = A(() => i.value.trim() ? Bt(i.value, l.availableFields) : null);
|
|
1621
|
+
function b(R) {
|
|
1622
|
+
i.value.trim() && !i.value.endsWith(" ") && (i.value += " "), i.value += R;
|
|
1613
1623
|
}
|
|
1614
1624
|
function x(R) {
|
|
1615
|
-
|
|
1625
|
+
i.value.trim() && !i.value.endsWith(" ") && (i.value += " "), i.value += `${R} `;
|
|
1616
1626
|
}
|
|
1617
1627
|
function U() {
|
|
1618
1628
|
var P;
|
|
1619
1629
|
if (!a.value.trim()) {
|
|
1620
|
-
|
|
1630
|
+
k.value = "Name is required";
|
|
1621
1631
|
return;
|
|
1622
1632
|
}
|
|
1623
|
-
const R = Bt(
|
|
1633
|
+
const R = Bt(i.value, l.availableFields);
|
|
1624
1634
|
if (R) {
|
|
1625
|
-
|
|
1635
|
+
k.value = R;
|
|
1626
1636
|
return;
|
|
1627
1637
|
}
|
|
1628
|
-
const
|
|
1638
|
+
const y = {
|
|
1629
1639
|
id: ((P = l.existingField) == null ? void 0 : P.id) || `calc_${Date.now()}`,
|
|
1630
1640
|
name: a.value.trim(),
|
|
1631
|
-
formula:
|
|
1641
|
+
formula: i.value.trim(),
|
|
1632
1642
|
formatAs: f.value,
|
|
1633
1643
|
decimals: h.value
|
|
1634
1644
|
};
|
|
1635
|
-
r("save",
|
|
1645
|
+
r("save", y), r("close");
|
|
1636
1646
|
}
|
|
1637
|
-
return (R,
|
|
1647
|
+
return (R, y) => (d(), Kt(Ot, { to: "body" }, [
|
|
1638
1648
|
t.show ? (d(), g("div", {
|
|
1639
1649
|
key: 0,
|
|
1640
1650
|
class: "vpg-modal-overlay",
|
|
1641
|
-
onClick:
|
|
1651
|
+
onClick: y[12] || (y[12] = Le((P) => r("close"), ["self"]))
|
|
1642
1652
|
}, [
|
|
1643
1653
|
e("div", Xn, [
|
|
1644
1654
|
e("div", Yn, [
|
|
1645
1655
|
e("h3", null, S(t.existingField ? "Edit" : "Create") + " Calculated Field", 1),
|
|
1646
1656
|
e("button", {
|
|
1647
1657
|
class: "vpg-modal-close",
|
|
1648
|
-
onClick:
|
|
1658
|
+
onClick: y[0] || (y[0] = (P) => r("close"))
|
|
1649
1659
|
}, "×")
|
|
1650
1660
|
]),
|
|
1651
1661
|
e("div", Zn, [
|
|
1652
1662
|
e("div", Jn, [
|
|
1653
|
-
|
|
1663
|
+
y[13] || (y[13] = e("label", { class: "vpg-label" }, "Name", -1)),
|
|
1654
1664
|
He(e("input", {
|
|
1655
|
-
"onUpdate:modelValue":
|
|
1665
|
+
"onUpdate:modelValue": y[1] || (y[1] = (P) => a.value = P),
|
|
1656
1666
|
type: "text",
|
|
1657
1667
|
class: "vpg-input",
|
|
1658
1668
|
placeholder: "e.g., Profit Margin %"
|
|
@@ -1661,64 +1671,64 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1661
1671
|
])
|
|
1662
1672
|
]),
|
|
1663
1673
|
e("div", Qn, [
|
|
1664
|
-
|
|
1674
|
+
y[14] || (y[14] = e("label", { class: "vpg-label" }, "Formula", -1)),
|
|
1665
1675
|
He(e("textarea", {
|
|
1666
|
-
"onUpdate:modelValue":
|
|
1676
|
+
"onUpdate:modelValue": y[2] || (y[2] = (P) => i.value = P),
|
|
1667
1677
|
class: "vpg-textarea",
|
|
1668
1678
|
placeholder: "e.g., revenue / units",
|
|
1669
1679
|
rows: "2"
|
|
1670
1680
|
}, null, 512), [
|
|
1671
|
-
[Ie,
|
|
1681
|
+
[Ie, i.value]
|
|
1672
1682
|
]),
|
|
1673
|
-
|
|
1683
|
+
y[15] || (y[15] = e("div", { class: "vpg-formula-hint" }, "Use field names with math operators: + - * / ( )", -1)),
|
|
1674
1684
|
F.value ? (d(), g("div", In, S(F.value), 1)) : z("", !0)
|
|
1675
1685
|
]),
|
|
1676
1686
|
e("div", eo, [
|
|
1677
|
-
|
|
1687
|
+
y[16] || (y[16] = e("label", { class: "vpg-label-small" }, "Operators", -1)),
|
|
1678
1688
|
e("div", to, [
|
|
1679
1689
|
e("button", {
|
|
1680
1690
|
class: "vpg-insert-btn vpg-op-btn",
|
|
1681
|
-
onClick:
|
|
1691
|
+
onClick: y[3] || (y[3] = (P) => x("+"))
|
|
1682
1692
|
}, "+"),
|
|
1683
1693
|
e("button", {
|
|
1684
1694
|
class: "vpg-insert-btn vpg-op-btn",
|
|
1685
|
-
onClick:
|
|
1695
|
+
onClick: y[4] || (y[4] = (P) => x("-"))
|
|
1686
1696
|
}, "−"),
|
|
1687
1697
|
e("button", {
|
|
1688
1698
|
class: "vpg-insert-btn vpg-op-btn",
|
|
1689
|
-
onClick:
|
|
1699
|
+
onClick: y[5] || (y[5] = (P) => x("*"))
|
|
1690
1700
|
}, "×"),
|
|
1691
1701
|
e("button", {
|
|
1692
1702
|
class: "vpg-insert-btn vpg-op-btn",
|
|
1693
|
-
onClick:
|
|
1703
|
+
onClick: y[6] || (y[6] = (P) => x("/"))
|
|
1694
1704
|
}, "÷"),
|
|
1695
1705
|
e("button", {
|
|
1696
1706
|
class: "vpg-insert-btn vpg-op-btn",
|
|
1697
|
-
onClick:
|
|
1707
|
+
onClick: y[7] || (y[7] = (P) => x("("))
|
|
1698
1708
|
}, "("),
|
|
1699
1709
|
e("button", {
|
|
1700
1710
|
class: "vpg-insert-btn vpg-op-btn",
|
|
1701
|
-
onClick:
|
|
1711
|
+
onClick: y[8] || (y[8] = (P) => x(")"))
|
|
1702
1712
|
}, ")")
|
|
1703
1713
|
])
|
|
1704
1714
|
]),
|
|
1705
1715
|
e("div", lo, [
|
|
1706
|
-
|
|
1716
|
+
y[17] || (y[17] = e("label", { class: "vpg-label-small" }, "Insert Field", -1)),
|
|
1707
1717
|
t.availableFields.length > 0 ? (d(), g("div", no, [
|
|
1708
1718
|
(d(!0), g(_, null, oe(t.availableFields, (P) => (d(), g("button", {
|
|
1709
1719
|
key: P,
|
|
1710
1720
|
class: "vpg-insert-btn vpg-field-btn",
|
|
1711
|
-
onClick: (Z) =>
|
|
1721
|
+
onClick: (Z) => b(P)
|
|
1712
1722
|
}, S(P), 9, oo))), 128))
|
|
1713
1723
|
])) : (d(), g("div", ao, " No numeric fields available "))
|
|
1714
1724
|
]),
|
|
1715
1725
|
e("div", so, [
|
|
1716
1726
|
e("div", io, [
|
|
1717
|
-
|
|
1727
|
+
y[19] || (y[19] = e("label", { class: "vpg-label" }, "Format As", -1)),
|
|
1718
1728
|
He(e("select", {
|
|
1719
|
-
"onUpdate:modelValue":
|
|
1729
|
+
"onUpdate:modelValue": y[9] || (y[9] = (P) => f.value = P),
|
|
1720
1730
|
class: "vpg-select"
|
|
1721
|
-
}, [...
|
|
1731
|
+
}, [...y[18] || (y[18] = [
|
|
1722
1732
|
e("option", { value: "number" }, "Number", -1),
|
|
1723
1733
|
e("option", { value: "percent" }, "Percentage", -1),
|
|
1724
1734
|
e("option", { value: "currency" }, "Currency ($)", -1)
|
|
@@ -1727,9 +1737,9 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1727
1737
|
])
|
|
1728
1738
|
]),
|
|
1729
1739
|
e("div", ro, [
|
|
1730
|
-
|
|
1740
|
+
y[20] || (y[20] = e("label", { class: "vpg-label" }, "Decimals", -1)),
|
|
1731
1741
|
He(e("input", {
|
|
1732
|
-
"onUpdate:modelValue":
|
|
1742
|
+
"onUpdate:modelValue": y[10] || (y[10] = (P) => h.value = P),
|
|
1733
1743
|
type: "number",
|
|
1734
1744
|
class: "vpg-input",
|
|
1735
1745
|
min: "0",
|
|
@@ -1744,12 +1754,12 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1744
1754
|
])
|
|
1745
1755
|
])
|
|
1746
1756
|
]),
|
|
1747
|
-
|
|
1757
|
+
k.value ? (d(), g("div", uo, S(k.value), 1)) : z("", !0)
|
|
1748
1758
|
]),
|
|
1749
1759
|
e("div", co, [
|
|
1750
1760
|
e("button", {
|
|
1751
1761
|
class: "vpg-btn vpg-btn-secondary",
|
|
1752
|
-
onClick:
|
|
1762
|
+
onClick: y[11] || (y[11] = (P) => r("close"))
|
|
1753
1763
|
}, "Cancel"),
|
|
1754
1764
|
e("button", {
|
|
1755
1765
|
class: "vpg-btn vpg-btn-primary",
|
|
@@ -1763,7 +1773,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1763
1773
|
}), go = /* @__PURE__ */ tt(vo, [["__scopeId", "data-v-0cbcac92"]]), po = { class: "vpg-pivot-config" }, fo = { class: "vpg-config-header" }, mo = { class: "vpg-header-actions" }, ho = {
|
|
1764
1774
|
key: 0,
|
|
1765
1775
|
class: "vpg-assigned-section"
|
|
1766
|
-
}, wo = { class: "vpg-assigned-list" }, Co = ["title", "onDragstart"], bo = { class: "vpg-item-main" },
|
|
1776
|
+
}, wo = { class: "vpg-assigned-list" }, Co = ["title", "onDragstart"], bo = { class: "vpg-item-main" }, yo = { class: "vpg-item-name" }, ko = { class: "vpg-item-actions" }, Fo = ["title", "onClick"], So = ["value", "onChange"], $o = ["value"], Mo = ["onClick"], xo = { class: "vpg-unassigned-section" }, Ro = { class: "vpg-section-header" }, To = { class: "vpg-section-label" }, Do = { class: "vpg-count" }, Vo = { class: "vpg-field-search" }, Ao = { class: "vpg-field-list" }, Lo = ["title", "onDragstart"], No = { class: "vpg-field-name" }, zo = ["onClick"], Po = ["onClick"], Eo = {
|
|
1767
1777
|
key: 1,
|
|
1768
1778
|
class: "vpg-unique-count"
|
|
1769
1779
|
}, Bo = {
|
|
@@ -1785,54 +1795,54 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1785
1795
|
},
|
|
1786
1796
|
emits: ["update:showRowTotals", "update:showColumnTotals", "clearConfig", "dragStart", "dragEnd", "updateAggregation", "addRowField", "removeRowField", "addColumnField", "removeColumnField", "addValueField", "removeValueField", "addCalculatedField", "removeCalculatedField", "updateCalculatedField"],
|
|
1787
1797
|
setup(t, { emit: u }) {
|
|
1788
|
-
const l = t, r = u, { isPro: a } =
|
|
1789
|
-
() => l.availableFields.filter((
|
|
1798
|
+
const l = t, r = u, { isPro: a } = pt(), i = jl, f = $(!1), h = $(null), k = A(
|
|
1799
|
+
() => l.availableFields.filter((s) => s.isNumeric).map((s) => s.field)
|
|
1790
1800
|
);
|
|
1791
|
-
function F(
|
|
1792
|
-
h.value =
|
|
1801
|
+
function F(s) {
|
|
1802
|
+
h.value = s || null, f.value = !0;
|
|
1793
1803
|
}
|
|
1794
|
-
function
|
|
1795
|
-
h.value ? r("updateCalculatedField",
|
|
1804
|
+
function b(s) {
|
|
1805
|
+
h.value ? r("updateCalculatedField", s) : r("addCalculatedField", s), f.value = !1, h.value = null;
|
|
1796
1806
|
}
|
|
1797
|
-
function x(
|
|
1798
|
-
r("update:showRowTotals",
|
|
1807
|
+
function x(s) {
|
|
1808
|
+
r("update:showRowTotals", s), r("update:showColumnTotals", s);
|
|
1799
1809
|
}
|
|
1800
|
-
const U =
|
|
1801
|
-
field: `calc:${
|
|
1810
|
+
const U = A(() => l.calculatedFields ? l.calculatedFields.map((s) => ({
|
|
1811
|
+
field: `calc:${s.id}`,
|
|
1802
1812
|
type: "number",
|
|
1803
1813
|
uniqueCount: 0,
|
|
1804
1814
|
isNumeric: !0,
|
|
1805
1815
|
isCalculated: !0,
|
|
1806
|
-
calcId:
|
|
1807
|
-
calcName:
|
|
1808
|
-
calcFormula:
|
|
1809
|
-
})) : []), R =
|
|
1810
|
-
...l.availableFields.map((
|
|
1816
|
+
calcId: s.id,
|
|
1817
|
+
calcName: s.name,
|
|
1818
|
+
calcFormula: s.formula
|
|
1819
|
+
})) : []), R = A(() => [
|
|
1820
|
+
...l.availableFields.map((s) => ({ ...s, isCalculated: !1 })),
|
|
1811
1821
|
...U.value
|
|
1812
|
-
]),
|
|
1813
|
-
const
|
|
1814
|
-
return R.value.filter((m) =>
|
|
1822
|
+
]), y = A(() => {
|
|
1823
|
+
const s = new Set(l.rowFields), o = new Set(l.columnFields), c = new Map(l.valueFields.map((m) => [m.field, m]));
|
|
1824
|
+
return R.value.filter((m) => s.has(m.field) || o.has(m.field) || c.has(m.field)).map((m) => ({
|
|
1815
1825
|
...m,
|
|
1816
|
-
assignedTo:
|
|
1826
|
+
assignedTo: s.has(m.field) ? "row" : o.has(m.field) ? "column" : "value",
|
|
1817
1827
|
valueConfig: c.get(m.field)
|
|
1818
1828
|
}));
|
|
1819
|
-
}), P =
|
|
1820
|
-
const
|
|
1829
|
+
}), P = A(() => {
|
|
1830
|
+
const s = new Set(l.rowFields), o = new Set(l.columnFields), c = new Set(l.valueFields.map((m) => m.field));
|
|
1821
1831
|
return R.value.filter(
|
|
1822
|
-
(m) => !
|
|
1832
|
+
(m) => !s.has(m.field) && !o.has(m.field) && !c.has(m.field)
|
|
1823
1833
|
);
|
|
1824
|
-
}), Z =
|
|
1834
|
+
}), Z = A(() => y.value.length), W = $(""), O = A(() => {
|
|
1825
1835
|
if (!W.value.trim())
|
|
1826
1836
|
return P.value;
|
|
1827
|
-
const
|
|
1837
|
+
const s = W.value.toLowerCase().trim();
|
|
1828
1838
|
return P.value.filter((o) => {
|
|
1829
1839
|
const c = o.field.toLowerCase(), m = o.isCalculated && o.calcName ? o.calcName.toLowerCase() : "";
|
|
1830
|
-
return c.includes(
|
|
1840
|
+
return c.includes(s) || m.includes(s);
|
|
1831
1841
|
});
|
|
1832
1842
|
});
|
|
1833
|
-
function B(
|
|
1843
|
+
function B(s, o) {
|
|
1834
1844
|
if (o) return "ƒ";
|
|
1835
|
-
switch (
|
|
1845
|
+
switch (s) {
|
|
1836
1846
|
case "number":
|
|
1837
1847
|
return "#";
|
|
1838
1848
|
case "date":
|
|
@@ -1843,26 +1853,26 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1843
1853
|
return "Aa";
|
|
1844
1854
|
}
|
|
1845
1855
|
}
|
|
1846
|
-
function N(
|
|
1847
|
-
return
|
|
1856
|
+
function N(s) {
|
|
1857
|
+
return s.isCalculated && s.calcName ? s.calcName : s.field;
|
|
1848
1858
|
}
|
|
1849
|
-
function j(
|
|
1859
|
+
function j(s, o) {
|
|
1850
1860
|
var c;
|
|
1851
|
-
(c = o.dataTransfer) == null || c.setData("text/plain",
|
|
1861
|
+
(c = o.dataTransfer) == null || c.setData("text/plain", s), o.dataTransfer.effectAllowed = "move", r("dragStart", s, o);
|
|
1852
1862
|
}
|
|
1853
1863
|
function q() {
|
|
1854
1864
|
r("dragEnd");
|
|
1855
1865
|
}
|
|
1856
|
-
function le(
|
|
1857
|
-
r("updateAggregation",
|
|
1866
|
+
function le(s, o, c) {
|
|
1867
|
+
r("updateAggregation", s, o, c);
|
|
1858
1868
|
}
|
|
1859
|
-
function
|
|
1860
|
-
o === "row" ? (r("removeRowField",
|
|
1869
|
+
function L(s, o) {
|
|
1870
|
+
o === "row" ? (r("removeRowField", s), r("addColumnField", s)) : (r("removeColumnField", s), r("addRowField", s));
|
|
1861
1871
|
}
|
|
1862
|
-
function M(
|
|
1863
|
-
o === "row" ? r("removeRowField",
|
|
1872
|
+
function M(s, o, c) {
|
|
1873
|
+
o === "row" ? r("removeRowField", s) : o === "column" ? r("removeColumnField", s) : c && r("removeValueField", s, c.aggregation);
|
|
1864
1874
|
}
|
|
1865
|
-
return (
|
|
1875
|
+
return (s, o) => (d(), g("div", po, [
|
|
1866
1876
|
e("div", fo, [
|
|
1867
1877
|
o[8] || (o[8] = e("h3", { class: "vpg-config-title" }, [
|
|
1868
1878
|
e("svg", {
|
|
@@ -1906,7 +1916,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1906
1916
|
Z.value > 0 ? (d(), g("div", ho, [
|
|
1907
1917
|
o[10] || (o[10] = e("div", { class: "vpg-section-label" }, "Active", -1)),
|
|
1908
1918
|
e("div", wo, [
|
|
1909
|
-
(d(!0), g(_, null, oe(
|
|
1919
|
+
(d(!0), g(_, null, oe(y.value, (c) => {
|
|
1910
1920
|
var m;
|
|
1911
1921
|
return d(), g("div", {
|
|
1912
1922
|
key: c.field,
|
|
@@ -1919,15 +1929,15 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1919
1929
|
e("div", bo, [
|
|
1920
1930
|
e("span", {
|
|
1921
1931
|
class: J(["vpg-item-badge", [c.assignedTo, { calc: c.isCalculated }]])
|
|
1922
|
-
}, S(c.isCalculated ? "ƒ" : c.assignedTo === "row" ? "R" : c.assignedTo === "column" ? "C" :
|
|
1923
|
-
e("span",
|
|
1932
|
+
}, S(c.isCalculated ? "ƒ" : c.assignedTo === "row" ? "R" : c.assignedTo === "column" ? "C" : D(_t)(((m = c.valueConfig) == null ? void 0 : m.aggregation) || "sum")), 3),
|
|
1933
|
+
e("span", yo, S(N(c)), 1)
|
|
1924
1934
|
]),
|
|
1925
|
-
e("div",
|
|
1935
|
+
e("div", ko, [
|
|
1926
1936
|
c.assignedTo === "row" || c.assignedTo === "column" ? (d(), g("button", {
|
|
1927
1937
|
key: 0,
|
|
1928
1938
|
class: "vpg-toggle-btn",
|
|
1929
1939
|
title: c.assignedTo === "row" ? "Move to Columns" : "Move to Rows",
|
|
1930
|
-
onClick: Le((X) =>
|
|
1940
|
+
onClick: Le((X) => L(c.field, c.assignedTo), ["stop"])
|
|
1931
1941
|
}, [...o[9] || (o[9] = [
|
|
1932
1942
|
e("svg", {
|
|
1933
1943
|
class: "vpg-icon-xs",
|
|
@@ -1951,7 +1961,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1951
1961
|
onClick: o[1] || (o[1] = Le(() => {
|
|
1952
1962
|
}, ["stop"]))
|
|
1953
1963
|
}, [
|
|
1954
|
-
(d(!0), g(_, null, oe(
|
|
1964
|
+
(d(!0), g(_, null, oe(D(i), (X) => (d(), g("option", {
|
|
1955
1965
|
key: X.value,
|
|
1956
1966
|
value: X.value
|
|
1957
1967
|
}, S(X.symbol) + " " + S(X.label), 9, $o))), 128))
|
|
@@ -1968,9 +1978,9 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
1968
1978
|
])) : z("", !0),
|
|
1969
1979
|
e("div", xo, [
|
|
1970
1980
|
e("div", Ro, [
|
|
1971
|
-
e("div",
|
|
1981
|
+
e("div", To, [
|
|
1972
1982
|
o[11] || (o[11] = ee(" Available ", -1)),
|
|
1973
|
-
e("span",
|
|
1983
|
+
e("span", Do, S(P.value.length), 1)
|
|
1974
1984
|
])
|
|
1975
1985
|
]),
|
|
1976
1986
|
e("div", Vo, [
|
|
@@ -2070,12 +2080,12 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2070
2080
|
]),
|
|
2071
2081
|
Ke(go, {
|
|
2072
2082
|
show: f.value,
|
|
2073
|
-
"available-fields":
|
|
2083
|
+
"available-fields": k.value,
|
|
2074
2084
|
"existing-field": h.value,
|
|
2075
2085
|
onClose: o[6] || (o[6] = (c) => {
|
|
2076
2086
|
f.value = !1, h.value = null;
|
|
2077
2087
|
}),
|
|
2078
|
-
onSave:
|
|
2088
|
+
onSave: b
|
|
2079
2089
|
}, null, 8, ["show", "available-fields", "existing-field"])
|
|
2080
2090
|
]));
|
|
2081
2091
|
}
|
|
@@ -2090,55 +2100,58 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2090
2100
|
class: "vpg-filter-tooltip"
|
|
2091
2101
|
}, Jo = { class: "vpg-tooltip-column" }, Qo = { class: "vpg-tooltip-values" }, Io = {
|
|
2092
2102
|
key: 0,
|
|
2093
|
-
class: "vpg-tooltip-
|
|
2103
|
+
class: "vpg-tooltip-value vpg-range-value"
|
|
2094
2104
|
}, ea = {
|
|
2095
2105
|
key: 0,
|
|
2096
|
-
class: "vpg-tooltip-
|
|
2106
|
+
class: "vpg-tooltip-more"
|
|
2097
2107
|
}, ta = {
|
|
2108
|
+
key: 0,
|
|
2109
|
+
class: "vpg-tooltip-summary"
|
|
2110
|
+
}, la = {
|
|
2098
2111
|
key: 1,
|
|
2099
2112
|
class: "vpg-config-summary"
|
|
2100
|
-
},
|
|
2113
|
+
}, na = { class: "vpg-summary-badge vpg-rows" }, oa = { class: "vpg-summary-badge vpg-cols" }, aa = { class: "vpg-summary-badge vpg-vals" }, sa = {
|
|
2101
2114
|
key: 2,
|
|
2102
2115
|
class: "vpg-font-size-toggle"
|
|
2103
|
-
},
|
|
2116
|
+
}, ia = ["onClick"], ra = {
|
|
2104
2117
|
key: 0,
|
|
2105
2118
|
class: "vpg-pro-required"
|
|
2106
|
-
},
|
|
2119
|
+
}, ua = { class: "vpg-config-bar" }, ca = { class: "vpg-zone-chips" }, va = ["onDragstart", "onDragover", "onDrop"], da = { class: "vpg-mini-name" }, ga = ["onClick"], pa = {
|
|
2107
2120
|
key: 0,
|
|
2108
2121
|
class: "vpg-zone-hint"
|
|
2109
|
-
},
|
|
2122
|
+
}, fa = { class: "vpg-zone-chips" }, ma = ["onDragstart", "onDragover", "onDrop"], ha = { class: "vpg-mini-name" }, wa = ["onClick"], Ca = {
|
|
2110
2123
|
key: 0,
|
|
2111
2124
|
class: "vpg-zone-hint"
|
|
2112
|
-
},
|
|
2125
|
+
}, ba = { class: "vpg-zone-chips" }, ya = { class: "vpg-agg-symbol" }, ka = { class: "vpg-mini-name" }, Fa = ["onClick"], Sa = {
|
|
2113
2126
|
key: 0,
|
|
2114
2127
|
class: "vpg-zone-hint"
|
|
2115
|
-
},
|
|
2128
|
+
}, $a = {
|
|
2116
2129
|
key: 0,
|
|
2117
2130
|
class: "vpg-placeholder"
|
|
2118
|
-
},
|
|
2131
|
+
}, Ma = { class: "vpg-placeholder-content" }, xa = { class: "vpg-placeholder-text" }, Ra = {
|
|
2119
2132
|
key: 1,
|
|
2120
2133
|
class: "vpg-table-container"
|
|
2121
|
-
},
|
|
2134
|
+
}, Ta = { class: "vpg-pivot-table" }, Da = ["rowspan"], Va = { class: "vpg-header-content" }, Aa = ["colspan", "onClick"], La = { class: "vpg-header-content" }, Na = ["rowspan"], za = ["onMousedown", "onMouseenter"], Pa = {
|
|
2122
2135
|
key: 0,
|
|
2123
2136
|
class: "vpg-data-cell vpg-total-cell"
|
|
2124
|
-
},
|
|
2137
|
+
}, Ea = {
|
|
2125
2138
|
key: 0,
|
|
2126
2139
|
class: "vpg-totals-row"
|
|
2127
|
-
},
|
|
2140
|
+
}, Ba = {
|
|
2128
2141
|
key: 0,
|
|
2129
2142
|
class: "vpg-data-cell vpg-grand-total-cell"
|
|
2130
|
-
},
|
|
2143
|
+
}, ja = {
|
|
2131
2144
|
key: 2,
|
|
2132
2145
|
class: "vpg-skeleton-footer"
|
|
2133
|
-
},
|
|
2146
|
+
}, Ua = { class: "vpg-footer-info" }, Ha = {
|
|
2134
2147
|
key: 0,
|
|
2135
2148
|
class: "vpg-selection-stats"
|
|
2136
|
-
},
|
|
2149
|
+
}, Ka = { class: "vpg-stat" }, Oa = { class: "vpg-stat-value" }, Wa = { class: "vpg-stat" }, qa = { class: "vpg-stat-value" }, _a = { class: "vpg-stat" }, Ga = { class: "vpg-stat-value" }, Xa = {
|
|
2137
2150
|
key: 1,
|
|
2138
2151
|
href: "https://tiny-pivot.com",
|
|
2139
2152
|
target: "_blank",
|
|
2140
2153
|
rel: "noopener"
|
|
2141
|
-
},
|
|
2154
|
+
}, Ya = /* @__PURE__ */ et({
|
|
2142
2155
|
__name: "PivotSkeleton",
|
|
2143
2156
|
props: {
|
|
2144
2157
|
rowFields: {},
|
|
@@ -2156,108 +2169,117 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2156
2169
|
emits: ["addRowField", "removeRowField", "addColumnField", "removeColumnField", "addValueField", "removeValueField", "updateAggregation", "reorderRowFields", "reorderColumnFields"],
|
|
2157
2170
|
setup(t, { emit: u }) {
|
|
2158
2171
|
const l = t;
|
|
2159
|
-
function r(
|
|
2172
|
+
function r(T) {
|
|
2160
2173
|
var p;
|
|
2161
|
-
if (
|
|
2162
|
-
const E =
|
|
2163
|
-
return (
|
|
2174
|
+
if (T.startsWith("calc:")) {
|
|
2175
|
+
const E = T.replace("calc:", ""), C = (p = l.calculatedFields) == null ? void 0 : p.find((V) => V.id === E);
|
|
2176
|
+
return (C == null ? void 0 : C.name) || T;
|
|
2164
2177
|
}
|
|
2165
|
-
return
|
|
2178
|
+
return T;
|
|
2166
2179
|
}
|
|
2167
|
-
function a(
|
|
2168
|
-
return
|
|
2180
|
+
function a(T) {
|
|
2181
|
+
return T.startsWith("calc:");
|
|
2169
2182
|
}
|
|
2170
|
-
const
|
|
2183
|
+
const i = u, { showWatermark: f, canUsePivot: h, isDemo: k } = pt(), F = $(null), b = $(null), x = $(null), U = $(l.fontSize || "xs"), R = [
|
|
2171
2184
|
{ value: "xs", label: "S" },
|
|
2172
2185
|
{ value: "sm", label: "M" },
|
|
2173
2186
|
{ value: "base", label: "L" }
|
|
2174
|
-
],
|
|
2175
|
-
|
|
2187
|
+
], y = A(() => l.activeFilters && l.activeFilters.length > 0), P = A(() => !l.activeFilters || l.activeFilters.length === 0 ? "" : l.activeFilters.map((p) => p.column).join(", ")), Z = A(() => !l.activeFilters || l.activeFilters.length === 0 ? [] : l.activeFilters.map((T) => {
|
|
2188
|
+
if (T.isRange && T.displayText)
|
|
2189
|
+
return {
|
|
2190
|
+
column: T.column,
|
|
2191
|
+
displayText: T.displayText,
|
|
2192
|
+
isRange: !0,
|
|
2193
|
+
values: [],
|
|
2194
|
+
remaining: 0
|
|
2195
|
+
};
|
|
2196
|
+
const p = T.values || [], E = 5, C = p.slice(0, E), V = p.length - E;
|
|
2176
2197
|
return {
|
|
2177
|
-
column:
|
|
2178
|
-
values:
|
|
2179
|
-
remaining:
|
|
2198
|
+
column: T.column,
|
|
2199
|
+
values: C,
|
|
2200
|
+
remaining: V > 0 ? V : 0,
|
|
2201
|
+
isRange: !1
|
|
2180
2202
|
};
|
|
2181
2203
|
})), W = $(!1), O = $("asc"), B = $("row");
|
|
2182
|
-
function N(
|
|
2183
|
-
B.value ===
|
|
2204
|
+
function N(T = "row") {
|
|
2205
|
+
B.value === T ? O.value = O.value === "asc" ? "desc" : "asc" : (B.value = T, O.value = "asc");
|
|
2184
2206
|
}
|
|
2185
|
-
const j =
|
|
2207
|
+
const j = A(() => {
|
|
2186
2208
|
if (!l.pivotResult)
|
|
2187
2209
|
return [];
|
|
2188
|
-
const
|
|
2189
|
-
return
|
|
2210
|
+
const T = l.pivotResult.rowHeaders.map((C, V) => V), p = l.pivotResult.rowHeaders, E = l.pivotResult.data;
|
|
2211
|
+
return T.sort((C, V) => {
|
|
2190
2212
|
var I, te, ie, re, pe, Ce;
|
|
2191
2213
|
let H;
|
|
2192
2214
|
if (B.value === "row") {
|
|
2193
|
-
const ge = ((I = p[
|
|
2215
|
+
const ge = ((I = p[C]) == null ? void 0 : I.join(" / ")) || "", Pe = ((te = p[V]) == null ? void 0 : te.join(" / ")) || "";
|
|
2194
2216
|
H = ge.localeCompare(Pe, void 0, { numeric: !0, sensitivity: "base" });
|
|
2195
2217
|
} else {
|
|
2196
|
-
const ge = B.value, Pe = ((re = (ie = E[
|
|
2218
|
+
const ge = B.value, Pe = ((re = (ie = E[C]) == null ? void 0 : ie[ge]) == null ? void 0 : re.value) ?? null, nt = ((Ce = (pe = E[V]) == null ? void 0 : pe[ge]) == null ? void 0 : Ce.value) ?? null;
|
|
2197
2219
|
Pe === null && nt === null ? H = 0 : Pe === null ? H = 1 : nt === null ? H = -1 : H = Pe - nt;
|
|
2198
2220
|
}
|
|
2199
2221
|
return O.value === "asc" ? H : -H;
|
|
2200
|
-
}),
|
|
2201
|
-
}), q =
|
|
2222
|
+
}), T;
|
|
2223
|
+
}), q = A(() => {
|
|
2202
2224
|
if (!l.pivotResult || l.pivotResult.headers.length === 0)
|
|
2203
2225
|
return [l.valueFields.map((p) => ({
|
|
2204
|
-
label: a(p.field) ? `${r(p.field)} (${
|
|
2226
|
+
label: a(p.field) ? `${r(p.field)} (${gt(p.aggregation)})` : `${p.field} (${gt(p.aggregation)})`,
|
|
2205
2227
|
colspan: 1
|
|
2206
2228
|
}))];
|
|
2207
|
-
const
|
|
2229
|
+
const T = [];
|
|
2208
2230
|
for (let p = 0; p < l.pivotResult.headers.length; p++) {
|
|
2209
|
-
const E = l.pivotResult.headers[p],
|
|
2210
|
-
let
|
|
2211
|
-
for (;
|
|
2212
|
-
const H = E[
|
|
2231
|
+
const E = l.pivotResult.headers[p], C = [];
|
|
2232
|
+
let V = 0;
|
|
2233
|
+
for (; V < E.length; ) {
|
|
2234
|
+
const H = E[V];
|
|
2213
2235
|
let I = 1;
|
|
2214
|
-
for (;
|
|
2236
|
+
for (; V + I < E.length && E[V + I] === H; )
|
|
2215
2237
|
I++;
|
|
2216
|
-
|
|
2238
|
+
C.push({ label: H, colspan: I }), V += I;
|
|
2217
2239
|
}
|
|
2218
|
-
|
|
2240
|
+
T.push(C);
|
|
2219
2241
|
}
|
|
2220
|
-
return
|
|
2221
|
-
}), le = $(null),
|
|
2222
|
-
minRow: Math.min(
|
|
2223
|
-
maxRow: Math.max(
|
|
2224
|
-
minCol: Math.min(
|
|
2225
|
-
maxCol: Math.max(
|
|
2242
|
+
return T;
|
|
2243
|
+
}), le = $(null), L = $(null), M = $(null), s = $(!1), o = $(!1), c = $(""), m = A(() => !L.value || !M.value ? null : {
|
|
2244
|
+
minRow: Math.min(L.value.row, M.value.row),
|
|
2245
|
+
maxRow: Math.max(L.value.row, M.value.row),
|
|
2246
|
+
minCol: Math.min(L.value.col, M.value.col),
|
|
2247
|
+
maxCol: Math.max(L.value.col, M.value.col)
|
|
2226
2248
|
});
|
|
2227
|
-
function X(
|
|
2228
|
-
E.preventDefault(), E.shiftKey && le.value ? M.value = { row:
|
|
2249
|
+
function X(T, p, E) {
|
|
2250
|
+
E.preventDefault(), E.shiftKey && le.value ? M.value = { row: T, col: p } : (le.value = { row: T, col: p }, L.value = { row: T, col: p }, M.value = { row: T, col: p }, s.value = !0);
|
|
2229
2251
|
}
|
|
2230
|
-
function G(
|
|
2231
|
-
|
|
2252
|
+
function G(T, p) {
|
|
2253
|
+
s.value && (M.value = { row: T, col: p });
|
|
2232
2254
|
}
|
|
2233
2255
|
function Q() {
|
|
2234
|
-
|
|
2256
|
+
s.value = !1;
|
|
2235
2257
|
}
|
|
2236
|
-
function de(
|
|
2258
|
+
function de(T, p) {
|
|
2237
2259
|
var I, te;
|
|
2238
2260
|
if (!m.value)
|
|
2239
|
-
return ((I = le.value) == null ? void 0 : I.row) ===
|
|
2240
|
-
const { minRow: E, maxRow:
|
|
2241
|
-
return
|
|
2261
|
+
return ((I = le.value) == null ? void 0 : I.row) === T && ((te = le.value) == null ? void 0 : te.col) === p;
|
|
2262
|
+
const { minRow: E, maxRow: C, minCol: V, maxCol: H } = m.value;
|
|
2263
|
+
return T >= E && T <= C && p >= V && p <= H;
|
|
2242
2264
|
}
|
|
2243
2265
|
function Oe() {
|
|
2244
2266
|
var I;
|
|
2245
2267
|
if (!m.value || !l.pivotResult) return;
|
|
2246
|
-
const { minRow:
|
|
2247
|
-
for (let te =
|
|
2268
|
+
const { minRow: T, maxRow: p, minCol: E, maxCol: C } = m.value, V = [];
|
|
2269
|
+
for (let te = T; te <= p; te++) {
|
|
2248
2270
|
const ie = j.value[te];
|
|
2249
2271
|
if (ie === void 0) continue;
|
|
2250
2272
|
const re = [];
|
|
2251
|
-
for (let pe = E; pe <=
|
|
2273
|
+
for (let pe = E; pe <= C; pe++) {
|
|
2252
2274
|
const Ce = (I = l.pivotResult.data[ie]) == null ? void 0 : I[pe];
|
|
2253
2275
|
re.push((Ce == null ? void 0 : Ce.formattedValue) ?? "");
|
|
2254
2276
|
}
|
|
2255
|
-
|
|
2277
|
+
V.push(re.join(" "));
|
|
2256
2278
|
}
|
|
2257
|
-
const H =
|
|
2279
|
+
const H = V.join(`
|
|
2258
2280
|
`);
|
|
2259
2281
|
navigator.clipboard.writeText(H).then(() => {
|
|
2260
|
-
const te = (p -
|
|
2282
|
+
const te = (p - T + 1) * (C - E + 1);
|
|
2261
2283
|
c.value = `Copied ${te} cell${te > 1 ? "s" : ""}`, o.value = !0, setTimeout(() => {
|
|
2262
2284
|
o.value = !1;
|
|
2263
2285
|
}, 2e3);
|
|
@@ -2265,109 +2287,109 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2265
2287
|
console.error("Copy failed:", te);
|
|
2266
2288
|
});
|
|
2267
2289
|
}
|
|
2268
|
-
function Me(
|
|
2290
|
+
function Me(T) {
|
|
2269
2291
|
if (m.value) {
|
|
2270
|
-
if ((
|
|
2271
|
-
|
|
2292
|
+
if ((T.ctrlKey || T.metaKey) && T.key === "c") {
|
|
2293
|
+
T.preventDefault(), Oe();
|
|
2272
2294
|
return;
|
|
2273
2295
|
}
|
|
2274
|
-
|
|
2296
|
+
T.key === "Escape" && (le.value = null, L.value = null, M.value = null);
|
|
2275
2297
|
}
|
|
2276
2298
|
}
|
|
2277
|
-
const me =
|
|
2299
|
+
const me = A(() => {
|
|
2278
2300
|
var ie;
|
|
2279
2301
|
if (!m.value || !l.pivotResult) return null;
|
|
2280
|
-
const { minRow:
|
|
2302
|
+
const { minRow: T, maxRow: p, minCol: E, maxCol: C } = m.value, V = [];
|
|
2281
2303
|
let H = 0;
|
|
2282
|
-
for (let re =
|
|
2304
|
+
for (let re = T; re <= p; re++) {
|
|
2283
2305
|
const pe = j.value[re];
|
|
2284
2306
|
if (pe !== void 0)
|
|
2285
|
-
for (let Ce = E; Ce <=
|
|
2307
|
+
for (let Ce = E; Ce <= C; Ce++) {
|
|
2286
2308
|
const ge = (ie = l.pivotResult.data[pe]) == null ? void 0 : ie[Ce];
|
|
2287
|
-
H++, (ge == null ? void 0 : ge.value) !== null && (ge == null ? void 0 : ge.value) !== void 0 && typeof ge.value == "number" &&
|
|
2309
|
+
H++, (ge == null ? void 0 : ge.value) !== null && (ge == null ? void 0 : ge.value) !== void 0 && typeof ge.value == "number" && V.push(ge.value);
|
|
2288
2310
|
}
|
|
2289
2311
|
}
|
|
2290
2312
|
if (H <= 1) return null;
|
|
2291
|
-
const I =
|
|
2313
|
+
const I = V.reduce((re, pe) => re + pe, 0), te = V.length > 0 ? I / V.length : 0;
|
|
2292
2314
|
return {
|
|
2293
2315
|
count: H,
|
|
2294
|
-
numericCount:
|
|
2316
|
+
numericCount: V.length,
|
|
2295
2317
|
sum: I,
|
|
2296
2318
|
avg: te
|
|
2297
2319
|
};
|
|
2298
2320
|
});
|
|
2299
|
-
function We(
|
|
2300
|
-
return Math.abs(
|
|
2321
|
+
function We(T) {
|
|
2322
|
+
return Math.abs(T) >= 1e6 ? `${(T / 1e6).toFixed(2)}M` : Math.abs(T) >= 1e3 ? `${(T / 1e3).toFixed(2)}K` : T.toFixed(2);
|
|
2301
2323
|
}
|
|
2302
|
-
|
|
2324
|
+
yt(() => {
|
|
2303
2325
|
document.addEventListener("mouseup", Q), document.addEventListener("keydown", Me);
|
|
2304
|
-
}),
|
|
2326
|
+
}), kt(() => {
|
|
2305
2327
|
document.removeEventListener("mouseup", Q), document.removeEventListener("keydown", Me);
|
|
2306
2328
|
});
|
|
2307
|
-
function he(
|
|
2308
|
-
p.preventDefault(), p.dataTransfer.dropEffect = "move", F.value =
|
|
2329
|
+
function he(T, p) {
|
|
2330
|
+
p.preventDefault(), p.dataTransfer.dropEffect = "move", F.value = T;
|
|
2309
2331
|
}
|
|
2310
2332
|
function lt() {
|
|
2311
2333
|
F.value = null;
|
|
2312
2334
|
}
|
|
2313
|
-
function Ve(
|
|
2314
|
-
var
|
|
2335
|
+
function Ve(T, p) {
|
|
2336
|
+
var V;
|
|
2315
2337
|
p.preventDefault();
|
|
2316
|
-
const E = (
|
|
2338
|
+
const E = (V = p.dataTransfer) == null ? void 0 : V.getData("text/plain");
|
|
2317
2339
|
if (!E || E.startsWith("reorder:")) {
|
|
2318
2340
|
F.value = null;
|
|
2319
2341
|
return;
|
|
2320
2342
|
}
|
|
2321
|
-
l.rowFields.includes(E) &&
|
|
2322
|
-
const
|
|
2323
|
-
switch (
|
|
2343
|
+
l.rowFields.includes(E) && i("removeRowField", E), l.columnFields.includes(E) && i("removeColumnField", E);
|
|
2344
|
+
const C = l.valueFields.find((H) => H.field === E);
|
|
2345
|
+
switch (C && i("removeValueField", E, C.aggregation), T) {
|
|
2324
2346
|
case "row":
|
|
2325
|
-
|
|
2347
|
+
i("addRowField", E);
|
|
2326
2348
|
break;
|
|
2327
2349
|
case "column":
|
|
2328
|
-
|
|
2350
|
+
i("addColumnField", E);
|
|
2329
2351
|
break;
|
|
2330
2352
|
case "value":
|
|
2331
|
-
|
|
2353
|
+
i("addValueField", E, "sum");
|
|
2332
2354
|
break;
|
|
2333
2355
|
}
|
|
2334
2356
|
F.value = null;
|
|
2335
2357
|
}
|
|
2336
|
-
function Ne(
|
|
2337
|
-
|
|
2358
|
+
function Ne(T, p, E) {
|
|
2359
|
+
b.value = { zone: T, index: p }, E.dataTransfer.effectAllowed = "move", E.dataTransfer.setData("text/plain", `reorder:${T}:${p}`), requestAnimationFrame(() => {
|
|
2338
2360
|
F.value = null;
|
|
2339
2361
|
});
|
|
2340
2362
|
}
|
|
2341
2363
|
function ze() {
|
|
2342
|
-
|
|
2364
|
+
b.value = null, x.value = null;
|
|
2343
2365
|
}
|
|
2344
|
-
function qe(
|
|
2345
|
-
E.preventDefault(),
|
|
2366
|
+
function qe(T, p, E) {
|
|
2367
|
+
E.preventDefault(), b.value && b.value.zone === T && (E.dataTransfer.dropEffect = "move", x.value = { zone: T, index: p });
|
|
2346
2368
|
}
|
|
2347
2369
|
function _e() {
|
|
2348
2370
|
x.value = null;
|
|
2349
2371
|
}
|
|
2350
|
-
function st(
|
|
2351
|
-
if (E.preventDefault(), E.stopPropagation(), !
|
|
2372
|
+
function st(T, p, E) {
|
|
2373
|
+
if (E.preventDefault(), E.stopPropagation(), !b.value || b.value.zone !== T)
|
|
2352
2374
|
return;
|
|
2353
|
-
const
|
|
2354
|
-
if (
|
|
2355
|
-
|
|
2375
|
+
const C = b.value.index;
|
|
2376
|
+
if (C === p) {
|
|
2377
|
+
b.value = null, x.value = null;
|
|
2356
2378
|
return;
|
|
2357
2379
|
}
|
|
2358
|
-
const
|
|
2359
|
-
|
|
2380
|
+
const V = T === "row" ? [...l.rowFields] : [...l.columnFields], [H] = V.splice(C, 1);
|
|
2381
|
+
V.splice(p, 0, H), i(T === "row" ? "reorderRowFields" : "reorderColumnFields", V), b.value = null, x.value = null;
|
|
2360
2382
|
}
|
|
2361
|
-
function Ge(
|
|
2362
|
-
var E,
|
|
2363
|
-
return ((E =
|
|
2383
|
+
function Ge(T, p) {
|
|
2384
|
+
var E, C;
|
|
2385
|
+
return ((E = b.value) == null ? void 0 : E.zone) === T && ((C = b.value) == null ? void 0 : C.index) === p;
|
|
2364
2386
|
}
|
|
2365
|
-
function we(
|
|
2366
|
-
var E,
|
|
2367
|
-
return ((E = x.value) == null ? void 0 : E.zone) ===
|
|
2387
|
+
function we(T, p) {
|
|
2388
|
+
var E, C;
|
|
2389
|
+
return ((E = x.value) == null ? void 0 : E.zone) === T && ((C = x.value) == null ? void 0 : C.index) === p;
|
|
2368
2390
|
}
|
|
2369
2391
|
const Xe = $(180), Ye = $(80);
|
|
2370
|
-
return (
|
|
2392
|
+
return (T, p) => {
|
|
2371
2393
|
var E;
|
|
2372
2394
|
return d(), g("div", {
|
|
2373
2395
|
class: J(["vpg-pivot-skeleton", [
|
|
@@ -2414,11 +2436,11 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2414
2436
|
e("span", null, "Pivot Table")
|
|
2415
2437
|
], -1)),
|
|
2416
2438
|
e("div", Go, [
|
|
2417
|
-
|
|
2439
|
+
y.value ? (d(), g("div", {
|
|
2418
2440
|
key: 0,
|
|
2419
2441
|
class: "vpg-filter-indicator",
|
|
2420
|
-
onMouseenter: p[0] || (p[0] = (
|
|
2421
|
-
onMouseleave: p[1] || (p[1] = (
|
|
2442
|
+
onMouseenter: p[0] || (p[0] = (C) => W.value = !0),
|
|
2443
|
+
onMouseleave: p[1] || (p[1] = (C) => W.value = !1)
|
|
2422
2444
|
}, [
|
|
2423
2445
|
p[12] || (p[12] = e("svg", {
|
|
2424
2446
|
class: "vpg-filter-icon",
|
|
@@ -2440,134 +2462,136 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2440
2462
|
]),
|
|
2441
2463
|
W.value ? (d(), g("div", Zo, [
|
|
2442
2464
|
p[11] || (p[11] = e("div", { class: "vpg-tooltip-header" }, "Active Filters", -1)),
|
|
2443
|
-
(d(!0), g(_, null, oe(Z.value, (
|
|
2444
|
-
key:
|
|
2465
|
+
(d(!0), g(_, null, oe(Z.value, (C) => (d(), g("div", {
|
|
2466
|
+
key: C.column,
|
|
2445
2467
|
class: "vpg-tooltip-filter"
|
|
2446
2468
|
}, [
|
|
2447
|
-
e("div", Jo, S(
|
|
2469
|
+
e("div", Jo, S(C.column), 1),
|
|
2448
2470
|
e("div", Qo, [
|
|
2449
|
-
(d(
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2471
|
+
C.isRange ? (d(), g("span", Io, S(C.displayText), 1)) : (d(), g(_, { key: 1 }, [
|
|
2472
|
+
(d(!0), g(_, null, oe(C.values, (V, H) => (d(), g("span", {
|
|
2473
|
+
key: H,
|
|
2474
|
+
class: "vpg-tooltip-value"
|
|
2475
|
+
}, S(V), 1))), 128)),
|
|
2476
|
+
C.remaining > 0 ? (d(), g("span", ea, " +" + S(C.remaining) + " more ", 1)) : z("", !0)
|
|
2477
|
+
], 64))
|
|
2454
2478
|
])
|
|
2455
2479
|
]))), 128)),
|
|
2456
|
-
t.filteredRowCount !== void 0 && t.totalRowCount !== void 0 ? (d(), g("div",
|
|
2480
|
+
t.filteredRowCount !== void 0 && t.totalRowCount !== void 0 ? (d(), g("div", ta, " Showing " + S(t.filteredRowCount.toLocaleString()) + " of " + S(t.totalRowCount.toLocaleString()) + " rows ", 1)) : z("", !0)
|
|
2457
2481
|
])) : z("", !0)
|
|
2458
2482
|
], 32)) : z("", !0),
|
|
2459
|
-
t.isConfigured ? (d(), g("div",
|
|
2460
|
-
e("span",
|
|
2461
|
-
e("span",
|
|
2462
|
-
e("span",
|
|
2483
|
+
t.isConfigured ? (d(), g("div", la, [
|
|
2484
|
+
e("span", na, S(t.rowFields.length) + " row" + S(t.rowFields.length !== 1 ? "s" : ""), 1),
|
|
2485
|
+
e("span", oa, S(t.columnFields.length) + " col" + S(t.columnFields.length !== 1 ? "s" : ""), 1),
|
|
2486
|
+
e("span", aa, S(t.valueFields.length) + " val" + S(t.valueFields.length !== 1 ? "s" : ""), 1)
|
|
2463
2487
|
])) : z("", !0),
|
|
2464
|
-
t.isConfigured && t.pivotResult ? (d(), g("div",
|
|
2465
|
-
(d(), g(_, null, oe(R, (
|
|
2466
|
-
key:
|
|
2467
|
-
class: J(["vpg-font-size-btn", { active: U.value ===
|
|
2468
|
-
onClick: (
|
|
2469
|
-
}, S(
|
|
2488
|
+
t.isConfigured && t.pivotResult ? (d(), g("div", sa, [
|
|
2489
|
+
(d(), g(_, null, oe(R, (C) => e("button", {
|
|
2490
|
+
key: C.value,
|
|
2491
|
+
class: J(["vpg-font-size-btn", { active: U.value === C.value }]),
|
|
2492
|
+
onClick: (V) => U.value = C.value
|
|
2493
|
+
}, S(C.label), 11, ia)), 64))
|
|
2470
2494
|
])) : z("", !0)
|
|
2471
2495
|
])
|
|
2472
2496
|
]),
|
|
2473
|
-
|
|
2474
|
-
e("div",
|
|
2497
|
+
D(h) ? (d(), g(_, { key: 1 }, [
|
|
2498
|
+
e("div", ua, [
|
|
2475
2499
|
e("div", {
|
|
2476
2500
|
class: J(["vpg-drop-zone vpg-row-zone", { "vpg-drag-over": F.value === "row" }]),
|
|
2477
|
-
onDragover: p[2] || (p[2] = (
|
|
2501
|
+
onDragover: p[2] || (p[2] = (C) => he("row", C)),
|
|
2478
2502
|
onDragleave: lt,
|
|
2479
|
-
onDrop: p[3] || (p[3] = (
|
|
2503
|
+
onDrop: p[3] || (p[3] = (C) => Ve("row", C))
|
|
2480
2504
|
}, [
|
|
2481
2505
|
p[16] || (p[16] = e("div", { class: "vpg-zone-header" }, [
|
|
2482
2506
|
e("span", { class: "vpg-zone-icon vpg-row-icon" }, "↓"),
|
|
2483
2507
|
e("span", { class: "vpg-zone-label" }, "Rows")
|
|
2484
2508
|
], -1)),
|
|
2485
|
-
e("div",
|
|
2486
|
-
(d(!0), g(_, null, oe(t.rowFields, (
|
|
2487
|
-
key:
|
|
2509
|
+
e("div", ca, [
|
|
2510
|
+
(d(!0), g(_, null, oe(t.rowFields, (C, V) => (d(), g("div", {
|
|
2511
|
+
key: C,
|
|
2488
2512
|
class: J(["vpg-mini-chip vpg-row-chip", {
|
|
2489
|
-
"vpg-chip-dragging": Ge("row",
|
|
2490
|
-
"vpg-chip-drop-target": we("row",
|
|
2513
|
+
"vpg-chip-dragging": Ge("row", V),
|
|
2514
|
+
"vpg-chip-drop-target": we("row", V)
|
|
2491
2515
|
}]),
|
|
2492
2516
|
draggable: "true",
|
|
2493
|
-
onDragstart: (H) => Ne("row",
|
|
2517
|
+
onDragstart: (H) => Ne("row", V, H),
|
|
2494
2518
|
onDragend: ze,
|
|
2495
|
-
onDragover: (H) => qe("row",
|
|
2519
|
+
onDragover: (H) => qe("row", V, H),
|
|
2496
2520
|
onDragleave: _e,
|
|
2497
|
-
onDrop: (H) => st("row",
|
|
2521
|
+
onDrop: (H) => st("row", V, H)
|
|
2498
2522
|
}, [
|
|
2499
2523
|
p[15] || (p[15] = e("span", { class: "vpg-drag-handle" }, "⋮⋮", -1)),
|
|
2500
|
-
e("span",
|
|
2524
|
+
e("span", da, S(C), 1),
|
|
2501
2525
|
e("button", {
|
|
2502
2526
|
class: "vpg-mini-remove",
|
|
2503
|
-
onClick: Le((H) =>
|
|
2504
|
-
}, "×", 8,
|
|
2505
|
-
], 42,
|
|
2506
|
-
t.rowFields.length === 0 ? (d(), g("span",
|
|
2527
|
+
onClick: Le((H) => i("removeRowField", C), ["stop"])
|
|
2528
|
+
}, "×", 8, ga)
|
|
2529
|
+
], 42, va))), 128)),
|
|
2530
|
+
t.rowFields.length === 0 ? (d(), g("span", pa, "Drop here")) : z("", !0)
|
|
2507
2531
|
])
|
|
2508
2532
|
], 34),
|
|
2509
2533
|
e("div", {
|
|
2510
2534
|
class: J(["vpg-drop-zone vpg-column-zone", { "vpg-drag-over": F.value === "column" }]),
|
|
2511
|
-
onDragover: p[4] || (p[4] = (
|
|
2535
|
+
onDragover: p[4] || (p[4] = (C) => he("column", C)),
|
|
2512
2536
|
onDragleave: lt,
|
|
2513
|
-
onDrop: p[5] || (p[5] = (
|
|
2537
|
+
onDrop: p[5] || (p[5] = (C) => Ve("column", C))
|
|
2514
2538
|
}, [
|
|
2515
2539
|
p[18] || (p[18] = e("div", { class: "vpg-zone-header" }, [
|
|
2516
2540
|
e("span", { class: "vpg-zone-icon vpg-column-icon" }, "→"),
|
|
2517
2541
|
e("span", { class: "vpg-zone-label" }, "Columns")
|
|
2518
2542
|
], -1)),
|
|
2519
|
-
e("div",
|
|
2520
|
-
(d(!0), g(_, null, oe(t.columnFields, (
|
|
2521
|
-
key:
|
|
2543
|
+
e("div", fa, [
|
|
2544
|
+
(d(!0), g(_, null, oe(t.columnFields, (C, V) => (d(), g("div", {
|
|
2545
|
+
key: C,
|
|
2522
2546
|
class: J(["vpg-mini-chip vpg-column-chip", {
|
|
2523
|
-
"vpg-chip-dragging": Ge("column",
|
|
2524
|
-
"vpg-chip-drop-target": we("column",
|
|
2547
|
+
"vpg-chip-dragging": Ge("column", V),
|
|
2548
|
+
"vpg-chip-drop-target": we("column", V)
|
|
2525
2549
|
}]),
|
|
2526
2550
|
draggable: "true",
|
|
2527
|
-
onDragstart: (H) => Ne("column",
|
|
2551
|
+
onDragstart: (H) => Ne("column", V, H),
|
|
2528
2552
|
onDragend: ze,
|
|
2529
|
-
onDragover: (H) => qe("column",
|
|
2553
|
+
onDragover: (H) => qe("column", V, H),
|
|
2530
2554
|
onDragleave: _e,
|
|
2531
|
-
onDrop: (H) => st("column",
|
|
2555
|
+
onDrop: (H) => st("column", V, H)
|
|
2532
2556
|
}, [
|
|
2533
2557
|
p[17] || (p[17] = e("span", { class: "vpg-drag-handle" }, "⋮⋮", -1)),
|
|
2534
|
-
e("span",
|
|
2558
|
+
e("span", ha, S(C), 1),
|
|
2535
2559
|
e("button", {
|
|
2536
2560
|
class: "vpg-mini-remove",
|
|
2537
|
-
onClick: Le((H) =>
|
|
2538
|
-
}, "×", 8,
|
|
2539
|
-
], 42,
|
|
2540
|
-
t.columnFields.length === 0 ? (d(), g("span",
|
|
2561
|
+
onClick: Le((H) => i("removeColumnField", C), ["stop"])
|
|
2562
|
+
}, "×", 8, wa)
|
|
2563
|
+
], 42, ma))), 128)),
|
|
2564
|
+
t.columnFields.length === 0 ? (d(), g("span", Ca, "Drop here")) : z("", !0)
|
|
2541
2565
|
])
|
|
2542
2566
|
], 34),
|
|
2543
2567
|
e("div", {
|
|
2544
2568
|
class: J(["vpg-drop-zone vpg-value-zone", { "vpg-drag-over": F.value === "value" }]),
|
|
2545
|
-
onDragover: p[6] || (p[6] = (
|
|
2569
|
+
onDragover: p[6] || (p[6] = (C) => he("value", C)),
|
|
2546
2570
|
onDragleave: lt,
|
|
2547
|
-
onDrop: p[7] || (p[7] = (
|
|
2571
|
+
onDrop: p[7] || (p[7] = (C) => Ve("value", C))
|
|
2548
2572
|
}, [
|
|
2549
2573
|
p[19] || (p[19] = e("div", { class: "vpg-zone-header" }, [
|
|
2550
2574
|
e("span", { class: "vpg-zone-icon vpg-value-icon" }, "Σ"),
|
|
2551
2575
|
e("span", { class: "vpg-zone-label" }, "Values")
|
|
2552
2576
|
], -1)),
|
|
2553
|
-
e("div",
|
|
2554
|
-
(d(!0), g(_, null, oe(t.valueFields, (
|
|
2555
|
-
key: `${
|
|
2556
|
-
class: J(["vpg-mini-chip vpg-value-chip", { "vpg-calc-chip": a(
|
|
2577
|
+
e("div", ba, [
|
|
2578
|
+
(d(!0), g(_, null, oe(t.valueFields, (C) => (d(), g("div", {
|
|
2579
|
+
key: `${C.field}-${C.aggregation}`,
|
|
2580
|
+
class: J(["vpg-mini-chip vpg-value-chip", { "vpg-calc-chip": a(C.field) }])
|
|
2557
2581
|
}, [
|
|
2558
|
-
e("span",
|
|
2559
|
-
e("span", ka, S(r(
|
|
2582
|
+
e("span", ya, S(a(C.field) ? "ƒ" : D(_t)(C.aggregation)), 1),
|
|
2583
|
+
e("span", ka, S(r(C.field)), 1),
|
|
2560
2584
|
e("button", {
|
|
2561
2585
|
class: "vpg-mini-remove",
|
|
2562
|
-
onClick: (
|
|
2563
|
-
}, "×", 8,
|
|
2586
|
+
onClick: (V) => i("removeValueField", C.field, C.aggregation)
|
|
2587
|
+
}, "×", 8, Fa)
|
|
2564
2588
|
], 2))), 128)),
|
|
2565
|
-
t.valueFields.length === 0 ? (d(), g("span",
|
|
2589
|
+
t.valueFields.length === 0 ? (d(), g("span", Sa, "Drop numeric")) : z("", !0)
|
|
2566
2590
|
])
|
|
2567
2591
|
], 34)
|
|
2568
2592
|
]),
|
|
2569
|
-
!t.isConfigured || !t.pivotResult ? (d(), g("div",
|
|
2570
|
-
e("div",
|
|
2593
|
+
!t.isConfigured || !t.pivotResult ? (d(), g("div", $a, [
|
|
2594
|
+
e("div", Ma, [
|
|
2571
2595
|
p[28] || (p[28] = e("svg", {
|
|
2572
2596
|
class: "vpg-placeholder-icon",
|
|
2573
2597
|
fill: "none",
|
|
@@ -2581,7 +2605,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2581
2605
|
d: "M3 10h18M3 14h18m-9-4v8m-7 0h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z"
|
|
2582
2606
|
})
|
|
2583
2607
|
], -1)),
|
|
2584
|
-
e("span",
|
|
2608
|
+
e("span", xa, [
|
|
2585
2609
|
t.valueFields.length === 0 ? (d(), g(_, { key: 0 }, [
|
|
2586
2610
|
p[20] || (p[20] = ee(" Add a ", -1)),
|
|
2587
2611
|
p[21] || (p[21] = e("strong", null, "Values", -1)),
|
|
@@ -2597,112 +2621,112 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2597
2621
|
], 64))
|
|
2598
2622
|
])
|
|
2599
2623
|
])
|
|
2600
|
-
])) : (d(), g("div",
|
|
2601
|
-
e("table",
|
|
2624
|
+
])) : (d(), g("div", Ra, [
|
|
2625
|
+
e("table", Ta, [
|
|
2602
2626
|
e("thead", null, [
|
|
2603
|
-
(d(!0), g(_, null, oe(q.value, (
|
|
2604
|
-
key: `header-${
|
|
2627
|
+
(d(!0), g(_, null, oe(q.value, (C, V) => (d(), g("tr", {
|
|
2628
|
+
key: `header-${V}`,
|
|
2605
2629
|
class: "vpg-column-header-row"
|
|
2606
2630
|
}, [
|
|
2607
|
-
|
|
2631
|
+
V === 0 ? (d(), g("th", {
|
|
2608
2632
|
key: 0,
|
|
2609
2633
|
class: "vpg-row-header-label",
|
|
2610
2634
|
rowspan: q.value.length,
|
|
2611
|
-
style:
|
|
2635
|
+
style: ke({ width: `${Xe.value}px` }),
|
|
2612
2636
|
onClick: p[8] || (p[8] = (H) => N("row"))
|
|
2613
2637
|
}, [
|
|
2614
|
-
e("div",
|
|
2638
|
+
e("div", Va, [
|
|
2615
2639
|
e("span", null, S(t.rowFields.join(" / ") || "Rows"), 1),
|
|
2616
2640
|
e("span", {
|
|
2617
2641
|
class: J(["vpg-sort-indicator", { active: B.value === "row" }])
|
|
2618
2642
|
}, S(B.value === "row" ? O.value === "asc" ? "↑" : "↓" : "⇅"), 3)
|
|
2619
2643
|
])
|
|
2620
2644
|
], 12, Da)) : z("", !0),
|
|
2621
|
-
(d(!0), g(_, null, oe(
|
|
2645
|
+
(d(!0), g(_, null, oe(C, (H, I) => (d(), g("th", {
|
|
2622
2646
|
key: I,
|
|
2623
2647
|
class: "vpg-column-header-cell",
|
|
2624
2648
|
colspan: H.colspan,
|
|
2625
|
-
style:
|
|
2626
|
-
onClick: (te) =>
|
|
2649
|
+
style: ke({ width: `${Ye.value * H.colspan}px` }),
|
|
2650
|
+
onClick: (te) => V === q.value.length - 1 && N(I)
|
|
2627
2651
|
}, [
|
|
2628
|
-
e("div",
|
|
2652
|
+
e("div", La, [
|
|
2629
2653
|
e("span", null, S(H.label), 1),
|
|
2630
|
-
|
|
2654
|
+
V === q.value.length - 1 ? (d(), g("span", {
|
|
2631
2655
|
key: 0,
|
|
2632
2656
|
class: J(["vpg-sort-indicator", { active: B.value === I }])
|
|
2633
2657
|
}, S(B.value === I ? O.value === "asc" ? "↑" : "↓" : "⇅"), 3)) : z("", !0)
|
|
2634
2658
|
])
|
|
2635
|
-
], 12,
|
|
2636
|
-
t.pivotResult.rowTotals.length > 0 &&
|
|
2659
|
+
], 12, Aa))), 128)),
|
|
2660
|
+
t.pivotResult.rowTotals.length > 0 && V === 0 ? (d(), g("th", {
|
|
2637
2661
|
key: 1,
|
|
2638
2662
|
class: "vpg-total-header",
|
|
2639
2663
|
rowspan: q.value.length
|
|
2640
|
-
}, " Total ", 8,
|
|
2664
|
+
}, " Total ", 8, Na)) : z("", !0)
|
|
2641
2665
|
]))), 128))
|
|
2642
2666
|
]),
|
|
2643
2667
|
e("tbody", null, [
|
|
2644
|
-
(d(!0), g(_, null, oe(j.value, (
|
|
2645
|
-
key:
|
|
2668
|
+
(d(!0), g(_, null, oe(j.value, (C) => (d(), g("tr", {
|
|
2669
|
+
key: C,
|
|
2646
2670
|
class: "vpg-data-row"
|
|
2647
2671
|
}, [
|
|
2648
2672
|
e("th", {
|
|
2649
2673
|
class: "vpg-row-header-cell",
|
|
2650
|
-
style:
|
|
2674
|
+
style: ke({ width: `${Xe.value}px` })
|
|
2651
2675
|
}, [
|
|
2652
|
-
(d(!0), g(_, null, oe(t.pivotResult.rowHeaders[
|
|
2676
|
+
(d(!0), g(_, null, oe(t.pivotResult.rowHeaders[C], (V, H) => (d(), g("span", {
|
|
2653
2677
|
key: H,
|
|
2654
2678
|
class: "vpg-row-value"
|
|
2655
|
-
}, S(
|
|
2679
|
+
}, S(V), 1))), 128))
|
|
2656
2680
|
], 4),
|
|
2657
|
-
(d(!0), g(_, null, oe(t.pivotResult.data[
|
|
2681
|
+
(d(!0), g(_, null, oe(t.pivotResult.data[C], (V, H) => (d(), g("td", {
|
|
2658
2682
|
key: H,
|
|
2659
2683
|
class: J(["vpg-data-cell", [
|
|
2660
|
-
de(j.value.indexOf(
|
|
2661
|
-
|
|
2684
|
+
de(j.value.indexOf(C), H) && "selected",
|
|
2685
|
+
V.value === null && "vpg-is-null"
|
|
2662
2686
|
]]),
|
|
2663
|
-
style:
|
|
2664
|
-
onMousedown: (I) => X(j.value.indexOf(
|
|
2665
|
-
onMouseenter: (I) => G(j.value.indexOf(
|
|
2666
|
-
}, S(
|
|
2667
|
-
t.pivotResult.rowTotals[
|
|
2687
|
+
style: ke({ width: `${Ye.value}px` }),
|
|
2688
|
+
onMousedown: (I) => X(j.value.indexOf(C), H, I),
|
|
2689
|
+
onMouseenter: (I) => G(j.value.indexOf(C), H)
|
|
2690
|
+
}, S(V.formattedValue), 47, za))), 128)),
|
|
2691
|
+
t.pivotResult.rowTotals[C] ? (d(), g("td", Pa, S(t.pivotResult.rowTotals[C].formattedValue), 1)) : z("", !0)
|
|
2668
2692
|
]))), 128)),
|
|
2669
|
-
t.pivotResult.columnTotals.length > 0 ? (d(), g("tr",
|
|
2693
|
+
t.pivotResult.columnTotals.length > 0 ? (d(), g("tr", Ea, [
|
|
2670
2694
|
e("th", {
|
|
2671
2695
|
class: "vpg-row-header-cell vpg-total-label",
|
|
2672
|
-
style:
|
|
2696
|
+
style: ke({ width: `${Xe.value}px` })
|
|
2673
2697
|
}, " Total ", 4),
|
|
2674
|
-
(d(!0), g(_, null, oe(t.pivotResult.columnTotals, (
|
|
2675
|
-
key:
|
|
2698
|
+
(d(!0), g(_, null, oe(t.pivotResult.columnTotals, (C, V) => (d(), g("td", {
|
|
2699
|
+
key: V,
|
|
2676
2700
|
class: "vpg-data-cell vpg-total-cell",
|
|
2677
|
-
style:
|
|
2678
|
-
}, S(
|
|
2679
|
-
t.pivotResult.rowTotals.length > 0 ? (d(), g("td",
|
|
2701
|
+
style: ke({ width: `${Ye.value}px` })
|
|
2702
|
+
}, S(C.formattedValue), 5))), 128)),
|
|
2703
|
+
t.pivotResult.rowTotals.length > 0 ? (d(), g("td", Ba, S(t.pivotResult.grandTotal.formattedValue), 1)) : z("", !0)
|
|
2680
2704
|
])) : z("", !0)
|
|
2681
2705
|
])
|
|
2682
2706
|
])
|
|
2683
2707
|
])),
|
|
2684
|
-
t.isConfigured && t.pivotResult ? (d(), g("div",
|
|
2685
|
-
e("span",
|
|
2686
|
-
me.value && me.value.count > 1 ? (d(), g("div",
|
|
2687
|
-
e("span",
|
|
2708
|
+
t.isConfigured && t.pivotResult ? (d(), g("div", ja, [
|
|
2709
|
+
e("span", Ua, S(t.pivotResult.rowHeaders.length) + " rows × " + S(((E = t.pivotResult.data[0]) == null ? void 0 : E.length) || 0) + " columns", 1),
|
|
2710
|
+
me.value && me.value.count > 1 ? (d(), g("div", Ha, [
|
|
2711
|
+
e("span", Ka, [
|
|
2688
2712
|
p[29] || (p[29] = e("span", { class: "vpg-stat-label" }, "Count:", -1)),
|
|
2689
|
-
e("span",
|
|
2713
|
+
e("span", Oa, S(me.value.count), 1)
|
|
2690
2714
|
]),
|
|
2691
2715
|
me.value.numericCount > 0 ? (d(), g(_, { key: 0 }, [
|
|
2692
2716
|
p[32] || (p[32] = e("span", { class: "vpg-stat-divider" }, "|", -1)),
|
|
2693
|
-
e("span",
|
|
2717
|
+
e("span", Wa, [
|
|
2694
2718
|
p[30] || (p[30] = e("span", { class: "vpg-stat-label" }, "Sum:", -1)),
|
|
2695
|
-
e("span",
|
|
2719
|
+
e("span", qa, S(We(me.value.sum)), 1)
|
|
2696
2720
|
]),
|
|
2697
2721
|
p[33] || (p[33] = e("span", { class: "vpg-stat-divider" }, "|", -1)),
|
|
2698
|
-
e("span",
|
|
2722
|
+
e("span", _a, [
|
|
2699
2723
|
p[31] || (p[31] = e("span", { class: "vpg-stat-label" }, "Avg:", -1)),
|
|
2700
|
-
e("span",
|
|
2724
|
+
e("span", Ga, S(We(me.value.avg)), 1)
|
|
2701
2725
|
])
|
|
2702
2726
|
], 64)) : z("", !0)
|
|
2703
2727
|
])) : z("", !0)
|
|
2704
2728
|
])) : z("", !0)
|
|
2705
|
-
], 64)) : (d(), g("div",
|
|
2729
|
+
], 64)) : (d(), g("div", ra, [...p[14] || (p[14] = [
|
|
2706
2730
|
e("div", { class: "vpg-pro-content" }, [
|
|
2707
2731
|
e("svg", {
|
|
2708
2732
|
class: "vpg-pro-icon",
|
|
@@ -2726,11 +2750,11 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2726
2750
|
}, " Get Pro License → ")
|
|
2727
2751
|
], -1)
|
|
2728
2752
|
])])),
|
|
2729
|
-
|
|
2753
|
+
D(f) && D(h) ? (d(), g("div", {
|
|
2730
2754
|
key: 2,
|
|
2731
|
-
class: J(["vpg-watermark", { "vpg-demo-mode":
|
|
2755
|
+
class: J(["vpg-watermark", { "vpg-demo-mode": D(k) }])
|
|
2732
2756
|
}, [
|
|
2733
|
-
|
|
2757
|
+
D(k) ? (d(), g(_, { key: 0 }, [
|
|
2734
2758
|
p[34] || (p[34] = e("span", { class: "vpg-demo-badge" }, "DEMO", -1)),
|
|
2735
2759
|
p[35] || (p[35] = e("span", null, "Pro features unlocked for evaluation", -1)),
|
|
2736
2760
|
p[36] || (p[36] = e("a", {
|
|
@@ -2739,53 +2763,53 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2739
2763
|
rel: "noopener",
|
|
2740
2764
|
class: "vpg-get-pro"
|
|
2741
2765
|
}, " Get Pro License → ", -1))
|
|
2742
|
-
], 64)) : (d(), g("a",
|
|
2766
|
+
], 64)) : (d(), g("a", Xa, " Powered by TinyPivot "))
|
|
2743
2767
|
], 2)) : z("", !0)
|
|
2744
2768
|
], 2);
|
|
2745
2769
|
};
|
|
2746
2770
|
}
|
|
2747
|
-
}),
|
|
2771
|
+
}), Za = /* @__PURE__ */ tt(Ya, [["__scopeId", "data-v-6b3a0147"]]), Ja = {
|
|
2748
2772
|
key: 0,
|
|
2749
2773
|
class: "vpg-toast"
|
|
2750
|
-
},
|
|
2774
|
+
}, Qa = { class: "vpg-toolbar" }, Ia = { class: "vpg-toolbar-left" }, es = {
|
|
2751
2775
|
key: 0,
|
|
2752
2776
|
class: "vpg-view-toggle"
|
|
2753
|
-
},
|
|
2777
|
+
}, ts = {
|
|
2754
2778
|
key: 0,
|
|
2755
2779
|
class: "vpg-search-container"
|
|
2756
|
-
},
|
|
2780
|
+
}, ls = {
|
|
2757
2781
|
key: 1,
|
|
2758
2782
|
class: "vpg-search-box"
|
|
2759
|
-
},
|
|
2783
|
+
}, ns = { class: "vpg-font-size-control" }, os = { class: "vpg-font-size-toggle" }, as = ["onClick"], ss = {
|
|
2760
2784
|
key: 1,
|
|
2761
2785
|
class: "vpg-filter-info"
|
|
2762
|
-
},
|
|
2786
|
+
}, is = {
|
|
2763
2787
|
key: 2,
|
|
2764
2788
|
class: "vpg-search-info"
|
|
2765
|
-
},
|
|
2789
|
+
}, rs = {
|
|
2766
2790
|
key: 0,
|
|
2767
2791
|
class: "vpg-pivot-status"
|
|
2768
|
-
},
|
|
2792
|
+
}, us = { class: "vpg-toolbar-right" }, cs = ["title"], vs = {
|
|
2769
2793
|
key: 0,
|
|
2770
2794
|
class: "vpg-loading"
|
|
2771
|
-
},
|
|
2795
|
+
}, ds = {
|
|
2772
2796
|
key: 1,
|
|
2773
2797
|
class: "vpg-empty"
|
|
2774
|
-
},
|
|
2798
|
+
}, gs = {
|
|
2775
2799
|
key: 2,
|
|
2776
2800
|
class: "vpg-empty"
|
|
2777
|
-
},
|
|
2801
|
+
}, ps = {
|
|
2778
2802
|
key: 3,
|
|
2779
2803
|
class: "vpg-table-wrapper"
|
|
2780
|
-
},
|
|
2804
|
+
}, fs = ["onClick"], ms = { class: "vpg-header-content" }, hs = { class: "vpg-header-text" }, ws = { class: "vpg-header-icons" }, Cs = {
|
|
2781
2805
|
key: 0,
|
|
2782
2806
|
class: "vpg-sort-indicator"
|
|
2783
|
-
},
|
|
2807
|
+
}, bs = {
|
|
2784
2808
|
key: 0,
|
|
2785
2809
|
class: "vpg-icon-sm",
|
|
2786
2810
|
fill: "currentColor",
|
|
2787
2811
|
viewBox: "0 0 20 20"
|
|
2788
|
-
},
|
|
2812
|
+
}, ys = {
|
|
2789
2813
|
key: 1,
|
|
2790
2814
|
class: "vpg-icon-sm",
|
|
2791
2815
|
fill: "currentColor",
|
|
@@ -2793,28 +2817,28 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2793
2817
|
}, ks = {
|
|
2794
2818
|
key: 1,
|
|
2795
2819
|
class: "vpg-filter-indicator"
|
|
2796
|
-
},
|
|
2820
|
+
}, Fs = ["onMousedown"], Ss = ["data-row", "data-col", "onMousedown", "onMouseenter"], $s = {
|
|
2797
2821
|
key: 1,
|
|
2798
2822
|
class: "vpg-pivot-container"
|
|
2799
|
-
},
|
|
2823
|
+
}, Ms = {
|
|
2800
2824
|
key: 0,
|
|
2801
2825
|
class: "vpg-pivot-config-panel"
|
|
2802
|
-
},
|
|
2826
|
+
}, xs = { class: "vpg-footer" }, Rs = { class: "vpg-footer-left" }, Ts = {
|
|
2803
2827
|
key: 0,
|
|
2804
2828
|
class: "vpg-filtered-note"
|
|
2805
|
-
}, Ds = { key: 1 },
|
|
2829
|
+
}, Ds = { key: 1 }, Vs = { class: "vpg-filtered-count" }, As = {
|
|
2806
2830
|
key: 0,
|
|
2807
2831
|
class: "vpg-pagination"
|
|
2808
|
-
},
|
|
2832
|
+
}, Ls = ["disabled"], Ns = ["disabled"], zs = { class: "vpg-page-info" }, Ps = ["disabled"], Es = ["disabled"], Bs = {
|
|
2809
2833
|
key: 1,
|
|
2810
2834
|
class: "vpg-selection-stats"
|
|
2811
|
-
},
|
|
2835
|
+
}, js = { class: "vpg-stat" }, Us = { class: "vpg-stat-value" }, Hs = { class: "vpg-stat" }, Ks = { class: "vpg-stat-value" }, Os = { class: "vpg-stat" }, Ws = { class: "vpg-stat-value" }, qs = { class: "vpg-footer-right" }, _s = {
|
|
2812
2836
|
key: 0,
|
|
2813
2837
|
class: "vpg-demo-banner"
|
|
2814
|
-
},
|
|
2838
|
+
}, Gs = {
|
|
2815
2839
|
key: 1,
|
|
2816
2840
|
class: "vpg-watermark-inline"
|
|
2817
|
-
}, Ae = 120, Ht = 350,
|
|
2841
|
+
}, Ae = 120, Ht = 350, Xs = /* @__PURE__ */ et({
|
|
2818
2842
|
__name: "DataGrid",
|
|
2819
2843
|
props: {
|
|
2820
2844
|
data: {},
|
|
@@ -2839,18 +2863,18 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2839
2863
|
},
|
|
2840
2864
|
emits: ["cellClick", "selectionChange", "export", "copy"],
|
|
2841
2865
|
setup(t, { emit: u }) {
|
|
2842
|
-
const l = t, r = u, { showWatermark: a, canUsePivot:
|
|
2866
|
+
const l = t, r = u, { showWatermark: a, canUsePivot: i, isDemo: f } = pt(), h = A(() => {
|
|
2843
2867
|
var v;
|
|
2844
2868
|
return l.theme === "auto" ? (v = window.matchMedia) != null && v.call(window, "(prefers-color-scheme: dark)").matches ? "dark" : "light" : l.theme;
|
|
2845
|
-
}),
|
|
2869
|
+
}), k = $(l.fontSize), F = $(""), b = $(!1), x = $(1), U = $(null), R = $(0), y = $(0), P = $(l.initialHeight), Z = $(!1), W = $(0), O = $(0), B = $(!1), N = $(""), j = [
|
|
2846
2870
|
{ value: "xs", label: "S" },
|
|
2847
2871
|
{ value: "sm", label: "M" },
|
|
2848
2872
|
{ value: "base", label: "L" }
|
|
2849
|
-
], q =
|
|
2873
|
+
], q = A(() => l.data), {
|
|
2850
2874
|
table: le,
|
|
2851
|
-
columnKeys:
|
|
2875
|
+
columnKeys: L,
|
|
2852
2876
|
filteredRowCount: M,
|
|
2853
|
-
totalRowCount:
|
|
2877
|
+
totalRowCount: s,
|
|
2854
2878
|
getColumnStats: o,
|
|
2855
2879
|
hasActiveFilter: c,
|
|
2856
2880
|
setColumnFilter: m,
|
|
@@ -2863,12 +2887,22 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2863
2887
|
// Numeric range filters
|
|
2864
2888
|
setNumericRangeFilter: me,
|
|
2865
2889
|
getNumericRangeFilter: We
|
|
2866
|
-
} = vn({ data: q }), he =
|
|
2890
|
+
} = vn({ data: q }), he = A(() => le.getFilteredRowModel().rows.map((n) => n.original)), lt = A(() => Me.value.length === 0 ? null : Me.value.map((v) => {
|
|
2867
2891
|
var n;
|
|
2892
|
+
if (v.type === "range" && v.range) {
|
|
2893
|
+
const w = [];
|
|
2894
|
+
return v.range.min !== null && w.push(`≥ ${v.range.min}`), v.range.max !== null && w.push(`≤ ${v.range.max}`), {
|
|
2895
|
+
column: v.column,
|
|
2896
|
+
valueCount: 1,
|
|
2897
|
+
displayText: w.join(" and "),
|
|
2898
|
+
isRange: !0
|
|
2899
|
+
};
|
|
2900
|
+
}
|
|
2868
2901
|
return {
|
|
2869
2902
|
column: v.column,
|
|
2870
2903
|
valueCount: ((n = v.values) == null ? void 0 : n.length) || 0,
|
|
2871
|
-
values: v.values || []
|
|
2904
|
+
values: v.values || [],
|
|
2905
|
+
isRange: !1
|
|
2872
2906
|
};
|
|
2873
2907
|
})), {
|
|
2874
2908
|
rowFields: Ve,
|
|
@@ -2881,30 +2915,30 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2881
2915
|
pivotResult: we,
|
|
2882
2916
|
addRowField: Xe,
|
|
2883
2917
|
removeRowField: Ye,
|
|
2884
|
-
addColumnField:
|
|
2918
|
+
addColumnField: T,
|
|
2885
2919
|
removeColumnField: p,
|
|
2886
2920
|
addValueField: E,
|
|
2887
|
-
removeValueField:
|
|
2888
|
-
updateValueFieldAggregation:
|
|
2921
|
+
removeValueField: C,
|
|
2922
|
+
updateValueFieldAggregation: V,
|
|
2889
2923
|
clearConfig: H,
|
|
2890
2924
|
autoSuggestConfig: I
|
|
2891
|
-
} = gn(he), te =
|
|
2925
|
+
} = gn(he), te = A(() => {
|
|
2892
2926
|
if (!F.value.trim() || !l.enableSearch)
|
|
2893
2927
|
return Ee.value;
|
|
2894
2928
|
const v = F.value.toLowerCase().trim();
|
|
2895
2929
|
return Ee.value.filter((n) => {
|
|
2896
|
-
for (const
|
|
2897
|
-
const K = n.original[
|
|
2930
|
+
for (const w of L.value) {
|
|
2931
|
+
const K = n.original[w];
|
|
2898
2932
|
if (K != null && String(K).toLowerCase().includes(v))
|
|
2899
2933
|
return !0;
|
|
2900
2934
|
}
|
|
2901
2935
|
return !1;
|
|
2902
2936
|
});
|
|
2903
|
-
}), ie =
|
|
2937
|
+
}), ie = A(() => te.value.length), re = A(() => l.enablePagination ? Math.max(1, Math.ceil(ie.value / l.pageSize)) : 1), pe = A(() => {
|
|
2904
2938
|
if (!l.enablePagination) return te.value;
|
|
2905
2939
|
const v = (x.value - 1) * l.pageSize, n = v + l.pageSize;
|
|
2906
2940
|
return te.value.slice(v, n);
|
|
2907
|
-
}), Ce =
|
|
2941
|
+
}), Ce = A(() => ie.value === 0 ? 0 : (x.value - 1) * l.pageSize + 1), ge = A(
|
|
2908
2942
|
() => Math.min(x.value * l.pageSize, ie.value)
|
|
2909
2943
|
);
|
|
2910
2944
|
function Pe() {
|
|
@@ -2913,7 +2947,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2913
2947
|
function nt() {
|
|
2914
2948
|
x.value > 1 && x.value--;
|
|
2915
2949
|
}
|
|
2916
|
-
|
|
2950
|
+
De([Oe, F], () => {
|
|
2917
2951
|
x.value = 1;
|
|
2918
2952
|
});
|
|
2919
2953
|
function It() {
|
|
@@ -2922,7 +2956,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2922
2956
|
return;
|
|
2923
2957
|
}
|
|
2924
2958
|
const v = l.enableSearch && F.value.trim() ? te.value.map((n) => n.original) : Ee.value.map((n) => n.original);
|
|
2925
|
-
pn(v,
|
|
2959
|
+
pn(v, L.value, {
|
|
2926
2960
|
filename: l.exportFilename,
|
|
2927
2961
|
includeHeaders: !0
|
|
2928
2962
|
}), r("export", { rowCount: v.length, filename: l.exportFilename });
|
|
@@ -2950,14 +2984,14 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2950
2984
|
r("export", { rowCount: n, filename: v });
|
|
2951
2985
|
}
|
|
2952
2986
|
function tl(v, n) {
|
|
2953
|
-
l.enableColumnResize && (n.preventDefault(), n.stopPropagation(), U.value = v, R.value = n.clientX,
|
|
2987
|
+
l.enableColumnResize && (n.preventDefault(), n.stopPropagation(), U.value = v, R.value = n.clientX, y.value = xe.value[v] || Ae, document.addEventListener("mousemove", Ft), document.addEventListener("mouseup", St));
|
|
2954
2988
|
}
|
|
2955
2989
|
function Ft(v) {
|
|
2956
2990
|
if (!U.value) return;
|
|
2957
|
-
const n = v.clientX - R.value,
|
|
2991
|
+
const n = v.clientX - R.value, w = Math.max(Ae, Math.min(Ht, y.value + n));
|
|
2958
2992
|
xe.value = {
|
|
2959
2993
|
...xe.value,
|
|
2960
|
-
[U.value]:
|
|
2994
|
+
[U.value]: w
|
|
2961
2995
|
};
|
|
2962
2996
|
}
|
|
2963
2997
|
function St() {
|
|
@@ -2968,26 +3002,26 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2968
3002
|
}
|
|
2969
3003
|
function $t(v) {
|
|
2970
3004
|
if (!Z.value) return;
|
|
2971
|
-
const n = v.clientY - W.value,
|
|
3005
|
+
const n = v.clientY - W.value, w = Math.max(
|
|
2972
3006
|
l.minHeight,
|
|
2973
3007
|
Math.min(l.maxHeight, O.value + n)
|
|
2974
3008
|
);
|
|
2975
|
-
P.value =
|
|
3009
|
+
P.value = w;
|
|
2976
3010
|
}
|
|
2977
3011
|
function Mt() {
|
|
2978
3012
|
Z.value = !1, document.removeEventListener("mousemove", $t), document.removeEventListener("mouseup", Mt);
|
|
2979
3013
|
}
|
|
2980
3014
|
function xt() {
|
|
2981
|
-
if (!
|
|
3015
|
+
if (!ye.value || !l.enableClipboard) return;
|
|
2982
3016
|
const v = hn(
|
|
2983
3017
|
Ee.value.map((n) => n.original),
|
|
2984
|
-
|
|
2985
|
-
|
|
3018
|
+
L.value,
|
|
3019
|
+
ye.value
|
|
2986
3020
|
);
|
|
2987
3021
|
mn(
|
|
2988
3022
|
v,
|
|
2989
3023
|
() => {
|
|
2990
|
-
const n = (
|
|
3024
|
+
const n = (ye.value.maxRow - ye.value.minRow + 1) * (ye.value.maxCol - ye.value.minCol + 1);
|
|
2991
3025
|
N.value = `Copied ${n} cell${n > 1 ? "s" : ""}`, B.value = !0, setTimeout(() => {
|
|
2992
3026
|
B.value = !1;
|
|
2993
3027
|
}, 2e3), r("copy", { text: v, cellCount: n });
|
|
@@ -2999,23 +3033,23 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
2999
3033
|
}
|
|
3000
3034
|
);
|
|
3001
3035
|
}
|
|
3002
|
-
const ue = $("grid"), Ze = $(!0),
|
|
3036
|
+
const ue = $("grid"), Ze = $(!0), ft = $(null), Fe = $(Zt());
|
|
3003
3037
|
function nl(v) {
|
|
3004
3038
|
v.id || (v.id = `calc_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`), Fe.value = [...Fe.value, v], at(Fe.value);
|
|
3005
3039
|
}
|
|
3006
3040
|
function ol(v) {
|
|
3007
3041
|
Fe.value = Fe.value.filter((K) => K.id !== v), at(Fe.value);
|
|
3008
|
-
const n = `calc:${v}`,
|
|
3009
|
-
|
|
3042
|
+
const n = `calc:${v}`, w = ze.value.find((K) => K.field === n);
|
|
3043
|
+
w && C(n, w.aggregation);
|
|
3010
3044
|
}
|
|
3011
3045
|
function al(v) {
|
|
3012
3046
|
Fe.value = Fe.value.map((n) => n.id === v.id ? v : n), at(Fe.value);
|
|
3013
3047
|
}
|
|
3014
3048
|
function sl(v) {
|
|
3015
|
-
|
|
3049
|
+
ft.value = v;
|
|
3016
3050
|
}
|
|
3017
3051
|
function il() {
|
|
3018
|
-
|
|
3052
|
+
ft.value = null;
|
|
3019
3053
|
}
|
|
3020
3054
|
function rl(v) {
|
|
3021
3055
|
Ve.value = v;
|
|
@@ -3023,18 +3057,18 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3023
3057
|
function ul(v) {
|
|
3024
3058
|
Ne.value = v;
|
|
3025
3059
|
}
|
|
3026
|
-
const
|
|
3027
|
-
function
|
|
3060
|
+
const mt = $(), Rt = $(), Ee = A(() => le.getRowModel().rows), ce = $(null), it = $({ top: 0, left: 0, maxHeight: 400 }), xe = $({});
|
|
3061
|
+
function Tt() {
|
|
3028
3062
|
if (l.data.length === 0)
|
|
3029
3063
|
return;
|
|
3030
3064
|
const v = {}, n = Math.min(100, l.data.length), K = document.createElement("canvas").getContext("2d");
|
|
3031
3065
|
if (K) {
|
|
3032
3066
|
K.font = "13px system-ui, -apple-system, sans-serif";
|
|
3033
|
-
for (const Y of
|
|
3067
|
+
for (const Y of L.value) {
|
|
3034
3068
|
let se = K.measureText(Y).width + 56;
|
|
3035
3069
|
for (let ae = 0; ae < n; ae++) {
|
|
3036
|
-
const ne = l.data[ae][Y], ve = ne == null ? "" : String(ne),
|
|
3037
|
-
se = Math.max(se,
|
|
3070
|
+
const ne = l.data[ae][Y], ve = ne == null ? "" : String(ne), Te = K.measureText(ve).width + 28;
|
|
3071
|
+
se = Math.max(se, Te);
|
|
3038
3072
|
}
|
|
3039
3073
|
v[Y] = Math.min(Math.max(se, Ae), Ht);
|
|
3040
3074
|
}
|
|
@@ -3043,12 +3077,12 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3043
3077
|
}
|
|
3044
3078
|
function cl(v, n) {
|
|
3045
3079
|
n.stopPropagation();
|
|
3046
|
-
const
|
|
3080
|
+
const w = n.currentTarget, K = w.closest(".vpg-header-cell"), Y = (K == null ? void 0 : K.getBoundingClientRect()) || w.getBoundingClientRect(), se = 280, ae = 12;
|
|
3047
3081
|
let ne = Y.left;
|
|
3048
3082
|
ne + se > window.innerWidth - ae && (ne = window.innerWidth - se - ae), ne = Math.max(ae, ne);
|
|
3049
|
-
const ve = window.innerHeight - Y.bottom - ae,
|
|
3083
|
+
const ve = window.innerHeight - Y.bottom - ae, Te = Y.top - ae;
|
|
3050
3084
|
let Be, je;
|
|
3051
|
-
ve >= 300 || ve >=
|
|
3085
|
+
ve >= 300 || ve >= Te ? (Be = Y.bottom + 4, je = Math.min(400, ve - 4)) : (je = Math.min(400, Te - 4), Be = Y.top - je - 4), it.value = { top: Be, left: ne, maxHeight: je }, ce.value = v;
|
|
3052
3086
|
}
|
|
3053
3087
|
function rt() {
|
|
3054
3088
|
ce.value = null;
|
|
@@ -3063,47 +3097,47 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3063
3097
|
if (n === null)
|
|
3064
3098
|
de(v) && (Q(v), de(v) && Q(v));
|
|
3065
3099
|
else {
|
|
3066
|
-
const
|
|
3067
|
-
|
|
3100
|
+
const w = de(v);
|
|
3101
|
+
w === null ? (Q(v), n === "desc" && de(v) === "asc" && Q(v)) : w !== n && Q(v);
|
|
3068
3102
|
}
|
|
3069
3103
|
}
|
|
3070
|
-
const ut =
|
|
3104
|
+
const ut = A(() => Oe.value.length), Re = $(null), Se = $(null), be = $(null), ht = $(!1);
|
|
3071
3105
|
function pl(v) {
|
|
3072
3106
|
const n = Ee.value.length - 1;
|
|
3073
3107
|
n < 0 || (Se.value = { row: 0, col: v }, be.value = { row: n, col: v }, Re.value = { row: 0, col: v });
|
|
3074
3108
|
}
|
|
3075
3109
|
function fl(v, n) {
|
|
3076
3110
|
if (n.target.closest(".vpg-dropdown-arrow")) {
|
|
3077
|
-
const K =
|
|
3111
|
+
const K = L.value[v];
|
|
3078
3112
|
cl(K, n);
|
|
3079
3113
|
} else
|
|
3080
3114
|
pl(v);
|
|
3081
3115
|
}
|
|
3082
|
-
const
|
|
3116
|
+
const ye = A(() => !Se.value || !be.value ? null : {
|
|
3083
3117
|
minRow: Math.min(Se.value.row, be.value.row),
|
|
3084
3118
|
maxRow: Math.max(Se.value.row, be.value.row),
|
|
3085
3119
|
minCol: Math.min(Se.value.col, be.value.col),
|
|
3086
3120
|
maxCol: Math.max(Se.value.col, be.value.col)
|
|
3087
3121
|
});
|
|
3088
3122
|
function ml(v, n) {
|
|
3089
|
-
if (!
|
|
3123
|
+
if (!ye.value)
|
|
3090
3124
|
return !1;
|
|
3091
|
-
const { minRow:
|
|
3092
|
-
return v >=
|
|
3125
|
+
const { minRow: w, maxRow: K, minCol: Y, maxCol: se } = ye.value;
|
|
3126
|
+
return v >= w && v <= K && n >= Y && n <= se;
|
|
3093
3127
|
}
|
|
3094
|
-
const Je =
|
|
3095
|
-
if (!
|
|
3128
|
+
const Je = A(() => {
|
|
3129
|
+
if (!ye.value)
|
|
3096
3130
|
return null;
|
|
3097
|
-
const { minRow: v, maxRow: n, minCol:
|
|
3131
|
+
const { minRow: v, maxRow: n, minCol: w, maxCol: K } = ye.value, Y = [];
|
|
3098
3132
|
let se = 0;
|
|
3099
3133
|
for (let ve = v; ve <= n; ve++) {
|
|
3100
|
-
const
|
|
3101
|
-
if (
|
|
3102
|
-
for (let Be =
|
|
3103
|
-
const je =
|
|
3134
|
+
const Te = Ee.value[ve];
|
|
3135
|
+
if (Te)
|
|
3136
|
+
for (let Be = w; Be <= K; Be++) {
|
|
3137
|
+
const je = L.value[Be];
|
|
3104
3138
|
if (!je)
|
|
3105
3139
|
continue;
|
|
3106
|
-
const Qe =
|
|
3140
|
+
const Qe = Te.original[je];
|
|
3107
3141
|
if (se++, Qe != null && Qe !== "") {
|
|
3108
3142
|
const zt = typeof Qe == "number" ? Qe : Number.parseFloat(String(Qe));
|
|
3109
3143
|
Number.isNaN(zt) || Y.push(zt);
|
|
@@ -3112,19 +3146,19 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3112
3146
|
}
|
|
3113
3147
|
if (Y.length === 0)
|
|
3114
3148
|
return { count: se, sum: null, avg: null, numericCount: 0 };
|
|
3115
|
-
const ae = Y.reduce((ve,
|
|
3149
|
+
const ae = Y.reduce((ve, Te) => ve + Te, 0), ne = ae / Y.length;
|
|
3116
3150
|
return { count: se, sum: ae, avg: ne, numericCount: Y.length };
|
|
3117
3151
|
});
|
|
3118
|
-
function
|
|
3152
|
+
function Dt(v) {
|
|
3119
3153
|
return v === null ? "-" : Math.abs(v) >= 1e3 ? v.toLocaleString("en-US", { maximumFractionDigits: 2 }) : v.toLocaleString("en-US", { maximumFractionDigits: 4 });
|
|
3120
3154
|
}
|
|
3121
3155
|
function Vt(v) {
|
|
3122
|
-
if ((v.ctrlKey || v.metaKey) && v.key === "c" &&
|
|
3156
|
+
if ((v.ctrlKey || v.metaKey) && v.key === "c" && ye.value) {
|
|
3123
3157
|
v.preventDefault(), xt();
|
|
3124
3158
|
return;
|
|
3125
3159
|
}
|
|
3126
3160
|
if ((v.ctrlKey || v.metaKey) && v.key === "f" && l.enableSearch) {
|
|
3127
|
-
v.preventDefault(),
|
|
3161
|
+
v.preventDefault(), b.value = !0, ot(() => {
|
|
3128
3162
|
const ne = document.querySelector(".vpg-search-input");
|
|
3129
3163
|
ne == null || ne.focus();
|
|
3130
3164
|
});
|
|
@@ -3132,42 +3166,42 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3132
3166
|
}
|
|
3133
3167
|
if (!Re.value || ce.value)
|
|
3134
3168
|
return;
|
|
3135
|
-
const { row: n, col:
|
|
3169
|
+
const { row: n, col: w } = Re.value, Y = pe.value.length - 1, se = L.value.length - 1;
|
|
3136
3170
|
function ae(ne, ve) {
|
|
3137
|
-
v.shiftKey ? (Se.value || (Se.value = { row: n, col:
|
|
3171
|
+
v.shiftKey ? (Se.value || (Se.value = { row: n, col: w }), be.value = { row: ne, col: ve }) : (Se.value = { row: ne, col: ve }, be.value = { row: ne, col: ve }), Re.value = { row: ne, col: ve }, hl(ne, ve);
|
|
3138
3172
|
}
|
|
3139
3173
|
switch (v.key) {
|
|
3140
3174
|
case "ArrowUp":
|
|
3141
|
-
v.preventDefault(), n > 0 && ae(n - 1,
|
|
3175
|
+
v.preventDefault(), n > 0 && ae(n - 1, w);
|
|
3142
3176
|
break;
|
|
3143
3177
|
case "ArrowDown":
|
|
3144
|
-
v.preventDefault(), n < Y && ae(n + 1,
|
|
3178
|
+
v.preventDefault(), n < Y && ae(n + 1, w);
|
|
3145
3179
|
break;
|
|
3146
3180
|
case "ArrowLeft":
|
|
3147
|
-
v.preventDefault(),
|
|
3181
|
+
v.preventDefault(), w > 0 && ae(n, w - 1);
|
|
3148
3182
|
break;
|
|
3149
3183
|
case "ArrowRight":
|
|
3150
|
-
v.preventDefault(),
|
|
3184
|
+
v.preventDefault(), w < se && ae(n, w + 1);
|
|
3151
3185
|
break;
|
|
3152
3186
|
case "Escape":
|
|
3153
|
-
Re.value = null, Se.value = null, be.value = null,
|
|
3187
|
+
Re.value = null, Se.value = null, be.value = null, b.value = !1, F.value = "";
|
|
3154
3188
|
break;
|
|
3155
3189
|
}
|
|
3156
3190
|
}
|
|
3157
3191
|
function hl(v, n) {
|
|
3158
3192
|
ot(() => {
|
|
3159
3193
|
var K;
|
|
3160
|
-
const
|
|
3194
|
+
const w = (K = Rt.value) == null ? void 0 : K.querySelector(
|
|
3161
3195
|
`[data-row="${v}"][data-col="${n}"]`
|
|
3162
3196
|
);
|
|
3163
|
-
|
|
3197
|
+
w == null || w.scrollIntoView({ block: "nearest", inline: "nearest" });
|
|
3164
3198
|
});
|
|
3165
3199
|
}
|
|
3166
|
-
function wl(v, n,
|
|
3167
|
-
|
|
3200
|
+
function wl(v, n, w) {
|
|
3201
|
+
w.preventDefault(), w.shiftKey && Re.value ? be.value = { row: v, col: n } : (Re.value = { row: v, col: n }, Se.value = { row: v, col: n }, be.value = { row: v, col: n }, ht.value = !0);
|
|
3168
3202
|
const K = Ee.value[v];
|
|
3169
3203
|
if (K) {
|
|
3170
|
-
const Y =
|
|
3204
|
+
const Y = L.value[n];
|
|
3171
3205
|
r("cellClick", {
|
|
3172
3206
|
row: v,
|
|
3173
3207
|
col: n,
|
|
@@ -3177,25 +3211,25 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3177
3211
|
}
|
|
3178
3212
|
}
|
|
3179
3213
|
function Cl(v, n) {
|
|
3180
|
-
|
|
3214
|
+
ht.value && (be.value = { row: v, col: n });
|
|
3181
3215
|
}
|
|
3182
3216
|
function At() {
|
|
3183
|
-
|
|
3217
|
+
ht.value = !1;
|
|
3184
3218
|
}
|
|
3185
3219
|
function bl(v, n) {
|
|
3186
|
-
var
|
|
3187
|
-
return ml(v, n) ? !0 : ((
|
|
3220
|
+
var w, K;
|
|
3221
|
+
return ml(v, n) ? !0 : ((w = Re.value) == null ? void 0 : w.row) === v && ((K = Re.value) == null ? void 0 : K.col) === n;
|
|
3188
3222
|
}
|
|
3189
|
-
const
|
|
3190
|
-
function
|
|
3191
|
-
return !
|
|
3223
|
+
const yl = /^(?:.*_)?(?:id|code|year|month|quarter|day|week|date|zip|phone|fax|ssn|ein|npi|ndc|gpi|hcpcs|icd|cpt|rx|bin|pcn|group|member|claim|rx_number|script|fill)(?:_.*)?$/i;
|
|
3224
|
+
function kl(v) {
|
|
3225
|
+
return !yl.test(v);
|
|
3192
3226
|
}
|
|
3193
3227
|
function Fl(v, n) {
|
|
3194
3228
|
if (v == null || v === "")
|
|
3195
3229
|
return "";
|
|
3196
3230
|
if (o(n).type === "number") {
|
|
3197
3231
|
const K = typeof v == "number" ? v : Number.parseFloat(String(v));
|
|
3198
|
-
return Number.isNaN(K) ? String(v) :
|
|
3232
|
+
return Number.isNaN(K) ? String(v) : kl(n) && Math.abs(K) >= 1e3 ? K.toLocaleString("en-US", { maximumFractionDigits: 2 }) : Number.isInteger(K) ? String(K) : K.toLocaleString("en-US", { maximumFractionDigits: 4, useGrouping: !1 });
|
|
3199
3233
|
}
|
|
3200
3234
|
return String(v);
|
|
3201
3235
|
}
|
|
@@ -3205,41 +3239,41 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3205
3239
|
function Nt(v) {
|
|
3206
3240
|
var n;
|
|
3207
3241
|
if (ce.value) {
|
|
3208
|
-
const
|
|
3209
|
-
if (
|
|
3242
|
+
const w = v.target;
|
|
3243
|
+
if (w && ((n = w.closest) != null && n.call(w, ".vpg-filter-portal")))
|
|
3210
3244
|
return;
|
|
3211
3245
|
rt();
|
|
3212
3246
|
}
|
|
3213
3247
|
}
|
|
3214
|
-
|
|
3215
|
-
|
|
3248
|
+
yt(() => {
|
|
3249
|
+
Tt(), document.addEventListener("keydown", Vt), document.addEventListener("mouseup", At), ot(() => {
|
|
3216
3250
|
var v;
|
|
3217
|
-
(v =
|
|
3251
|
+
(v = mt.value) == null || v.addEventListener("scroll", Lt, { passive: !0 });
|
|
3218
3252
|
}), window.addEventListener("scroll", Nt, { passive: !0, capture: !0 });
|
|
3219
|
-
}),
|
|
3253
|
+
}), kt(() => {
|
|
3220
3254
|
var v;
|
|
3221
|
-
document.removeEventListener("keydown", Vt), document.removeEventListener("mouseup", At), (v =
|
|
3222
|
-
}),
|
|
3223
|
-
ot(
|
|
3255
|
+
document.removeEventListener("keydown", Vt), document.removeEventListener("mouseup", At), (v = mt.value) == null || v.removeEventListener("scroll", Lt), window.removeEventListener("scroll", Nt, { capture: !0 });
|
|
3256
|
+
}), De(() => l.data, () => {
|
|
3257
|
+
ot(Tt);
|
|
3224
3258
|
}, { immediate: !0 });
|
|
3225
|
-
const Sl =
|
|
3259
|
+
const Sl = A(() => L.value.reduce((v, n) => v + (xe.value[n] || Ae), 0));
|
|
3226
3260
|
function $l(v) {
|
|
3227
3261
|
ce.value && (v.target.closest(".vpg-filter-portal") || rt());
|
|
3228
3262
|
}
|
|
3229
3263
|
return (v, n) => (d(), g("div", {
|
|
3230
3264
|
class: J(["vpg-data-grid", [
|
|
3231
|
-
`vpg-font-${
|
|
3265
|
+
`vpg-font-${k.value}`,
|
|
3232
3266
|
`vpg-theme-${h.value}`,
|
|
3233
3267
|
{ "vpg-striped": t.stripedRows },
|
|
3234
3268
|
{ "vpg-resizing": U.value },
|
|
3235
3269
|
{ "vpg-resizing-vertical": Z.value }
|
|
3236
3270
|
]]),
|
|
3237
|
-
style:
|
|
3271
|
+
style: ke({ height: `${P.value}px` }),
|
|
3238
3272
|
onClick: $l
|
|
3239
3273
|
}, [
|
|
3240
3274
|
Ke(Wt, { name: "vpg-toast" }, {
|
|
3241
3275
|
default: qt(() => [
|
|
3242
|
-
B.value ? (d(), g("div",
|
|
3276
|
+
B.value ? (d(), g("div", Ja, [
|
|
3243
3277
|
n[16] || (n[16] = e("svg", {
|
|
3244
3278
|
class: "vpg-icon",
|
|
3245
3279
|
fill: "none",
|
|
@@ -3258,12 +3292,12 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3258
3292
|
]),
|
|
3259
3293
|
_: 1
|
|
3260
3294
|
}),
|
|
3261
|
-
e("div",
|
|
3262
|
-
e("div",
|
|
3263
|
-
t.showPivot ? (d(), g("div",
|
|
3295
|
+
e("div", Qa, [
|
|
3296
|
+
e("div", Ia, [
|
|
3297
|
+
t.showPivot ? (d(), g("div", es, [
|
|
3264
3298
|
e("button", {
|
|
3265
3299
|
class: J(["vpg-view-btn", { active: ue.value === "grid" }]),
|
|
3266
|
-
onClick: n[0] || (n[0] = (
|
|
3300
|
+
onClick: n[0] || (n[0] = (w) => ue.value = "grid")
|
|
3267
3301
|
}, [...n[17] || (n[17] = [
|
|
3268
3302
|
e("svg", {
|
|
3269
3303
|
class: "vpg-icon",
|
|
@@ -3282,7 +3316,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3282
3316
|
])], 2),
|
|
3283
3317
|
e("button", {
|
|
3284
3318
|
class: J(["vpg-view-btn vpg-pivot-btn", { active: ue.value === "pivot" }]),
|
|
3285
|
-
onClick: n[1] || (n[1] = (
|
|
3319
|
+
onClick: n[1] || (n[1] = (w) => ue.value = "pivot")
|
|
3286
3320
|
}, [...n[18] || (n[18] = [
|
|
3287
3321
|
e("svg", {
|
|
3288
3322
|
class: "vpg-icon",
|
|
@@ -3301,8 +3335,8 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3301
3335
|
])], 2)
|
|
3302
3336
|
])) : z("", !0),
|
|
3303
3337
|
ue.value === "grid" ? (d(), g(_, { key: 1 }, [
|
|
3304
|
-
t.enableSearch ? (d(), g("div",
|
|
3305
|
-
|
|
3338
|
+
t.enableSearch ? (d(), g("div", ts, [
|
|
3339
|
+
b.value ? (d(), g("div", ls, [
|
|
3306
3340
|
n[21] || (n[21] = e("svg", {
|
|
3307
3341
|
class: "vpg-search-icon",
|
|
3308
3342
|
fill: "none",
|
|
@@ -3317,12 +3351,12 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3317
3351
|
})
|
|
3318
3352
|
], -1)),
|
|
3319
3353
|
He(e("input", {
|
|
3320
|
-
"onUpdate:modelValue": n[3] || (n[3] = (
|
|
3354
|
+
"onUpdate:modelValue": n[3] || (n[3] = (w) => F.value = w),
|
|
3321
3355
|
type: "text",
|
|
3322
3356
|
class: "vpg-search-input",
|
|
3323
3357
|
placeholder: "Search all columns...",
|
|
3324
|
-
onKeydown: n[4] || (n[4] = xl((
|
|
3325
|
-
|
|
3358
|
+
onKeydown: n[4] || (n[4] = xl((w) => {
|
|
3359
|
+
b.value = !1, F.value = "";
|
|
3326
3360
|
}, ["escape"]))
|
|
3327
3361
|
}, null, 544), [
|
|
3328
3362
|
[Ie, F.value]
|
|
@@ -3330,7 +3364,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3330
3364
|
F.value ? (d(), g("button", {
|
|
3331
3365
|
key: 0,
|
|
3332
3366
|
class: "vpg-search-clear",
|
|
3333
|
-
onClick: n[5] || (n[5] = (
|
|
3367
|
+
onClick: n[5] || (n[5] = (w) => F.value = "")
|
|
3334
3368
|
}, [...n[20] || (n[20] = [
|
|
3335
3369
|
e("svg", {
|
|
3336
3370
|
class: "vpg-icon-xs",
|
|
@@ -3350,7 +3384,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3350
3384
|
key: 0,
|
|
3351
3385
|
class: "vpg-icon-btn",
|
|
3352
3386
|
title: "Search (Ctrl+F)",
|
|
3353
|
-
onClick: n[2] || (n[2] = (
|
|
3387
|
+
onClick: n[2] || (n[2] = (w) => b.value = !0)
|
|
3354
3388
|
}, [...n[19] || (n[19] = [
|
|
3355
3389
|
e("svg", {
|
|
3356
3390
|
class: "vpg-icon",
|
|
@@ -3367,17 +3401,17 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3367
3401
|
], -1)
|
|
3368
3402
|
])]))
|
|
3369
3403
|
])) : z("", !0),
|
|
3370
|
-
e("div",
|
|
3404
|
+
e("div", ns, [
|
|
3371
3405
|
n[22] || (n[22] = e("span", { class: "vpg-label" }, "Size:", -1)),
|
|
3372
|
-
e("div",
|
|
3373
|
-
(d(), g(_, null, oe(j, (
|
|
3374
|
-
key:
|
|
3375
|
-
class: J(["vpg-font-size-btn", { active:
|
|
3376
|
-
onClick: (K) =>
|
|
3377
|
-
}, S(
|
|
3406
|
+
e("div", os, [
|
|
3407
|
+
(d(), g(_, null, oe(j, (w) => e("button", {
|
|
3408
|
+
key: w.value,
|
|
3409
|
+
class: J(["vpg-font-size-btn", { active: k.value === w.value }]),
|
|
3410
|
+
onClick: (K) => k.value = w.value
|
|
3411
|
+
}, S(w.label), 11, as)), 64))
|
|
3378
3412
|
])
|
|
3379
3413
|
]),
|
|
3380
|
-
ut.value > 0 ? (d(), g("div",
|
|
3414
|
+
ut.value > 0 ? (d(), g("div", ss, [
|
|
3381
3415
|
n[23] || (n[23] = e("svg", {
|
|
3382
3416
|
class: "vpg-icon",
|
|
3383
3417
|
fill: "currentColor",
|
|
@@ -3391,14 +3425,14 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3391
3425
|
], -1)),
|
|
3392
3426
|
e("span", null, S(ut.value) + " filter" + S(ut.value > 1 ? "s" : ""), 1)
|
|
3393
3427
|
])) : z("", !0),
|
|
3394
|
-
F.value ? (d(), g("div",
|
|
3428
|
+
F.value ? (d(), g("div", is, [
|
|
3395
3429
|
e("span", null, S(ie.value) + " match" + S(ie.value !== 1 ? "es" : ""), 1)
|
|
3396
3430
|
])) : z("", !0)
|
|
3397
3431
|
], 64)) : z("", !0),
|
|
3398
|
-
ue.value === "pivot" &&
|
|
3432
|
+
ue.value === "pivot" && D(i) ? (d(), g(_, { key: 2 }, [
|
|
3399
3433
|
e("button", {
|
|
3400
3434
|
class: J(["vpg-config-toggle", { active: Ze.value }]),
|
|
3401
|
-
onClick: n[6] || (n[6] = (
|
|
3435
|
+
onClick: n[6] || (n[6] = (w) => Ze.value = !Ze.value)
|
|
3402
3436
|
}, [
|
|
3403
3437
|
n[24] || (n[24] = e("svg", {
|
|
3404
3438
|
class: "vpg-icon",
|
|
@@ -3415,7 +3449,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3415
3449
|
], -1)),
|
|
3416
3450
|
ee(" " + S(Ze.value ? "Hide" : "Show") + " Config ", 1)
|
|
3417
3451
|
], 2),
|
|
3418
|
-
|
|
3452
|
+
D(Ge) ? (d(), g("div", rs, [...n[25] || (n[25] = [
|
|
3419
3453
|
e("svg", {
|
|
3420
3454
|
class: "vpg-icon",
|
|
3421
3455
|
fill: "currentColor",
|
|
@@ -3431,12 +3465,12 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3431
3465
|
])])) : z("", !0)
|
|
3432
3466
|
], 64)) : z("", !0)
|
|
3433
3467
|
]),
|
|
3434
|
-
e("div",
|
|
3468
|
+
e("div", us, [
|
|
3435
3469
|
ue.value === "grid" && ut.value > 0 ? (d(), g("button", {
|
|
3436
3470
|
key: 0,
|
|
3437
3471
|
class: "vpg-clear-filters",
|
|
3438
3472
|
onClick: n[7] || (n[7] = //@ts-ignore
|
|
3439
|
-
(...
|
|
3473
|
+
(...w) => D(G) && D(G)(...w))
|
|
3440
3474
|
}, [...n[26] || (n[26] = [
|
|
3441
3475
|
e("svg", {
|
|
3442
3476
|
class: "vpg-icon",
|
|
@@ -3453,7 +3487,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3453
3487
|
], -1),
|
|
3454
3488
|
ee(" Clear Filters ", -1)
|
|
3455
3489
|
])])) : z("", !0),
|
|
3456
|
-
t.enableClipboard &&
|
|
3490
|
+
t.enableClipboard && ye.value && ue.value === "grid" ? (d(), g("button", {
|
|
3457
3491
|
key: 1,
|
|
3458
3492
|
class: "vpg-icon-btn",
|
|
3459
3493
|
title: "Copy selection (Ctrl+C)",
|
|
@@ -3473,7 +3507,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3473
3507
|
})
|
|
3474
3508
|
], -1)
|
|
3475
3509
|
])])) : z("", !0),
|
|
3476
|
-
t.enableExport && (ue.value === "grid" || ue.value === "pivot" &&
|
|
3510
|
+
t.enableExport && (ue.value === "grid" || ue.value === "pivot" && D(Ge)) ? (d(), g("button", {
|
|
3477
3511
|
key: 2,
|
|
3478
3512
|
class: "vpg-export-btn",
|
|
3479
3513
|
title: ue.value === "pivot" ? "Export Pivot to CSV" : "Export to CSV",
|
|
@@ -3493,20 +3527,20 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3493
3527
|
})
|
|
3494
3528
|
], -1)),
|
|
3495
3529
|
ee(" Export" + S(ue.value === "pivot" ? " Pivot" : ""), 1)
|
|
3496
|
-
], 8,
|
|
3530
|
+
], 8, cs)) : z("", !0)
|
|
3497
3531
|
])
|
|
3498
3532
|
]),
|
|
3499
3533
|
ue.value === "grid" ? (d(), g("div", {
|
|
3500
3534
|
key: 0,
|
|
3501
3535
|
ref_key: "tableContainerRef",
|
|
3502
|
-
ref:
|
|
3536
|
+
ref: mt,
|
|
3503
3537
|
class: "vpg-grid-container",
|
|
3504
3538
|
tabindex: "0"
|
|
3505
3539
|
}, [
|
|
3506
|
-
t.loading ? (d(), g("div",
|
|
3540
|
+
t.loading ? (d(), g("div", vs, [...n[29] || (n[29] = [
|
|
3507
3541
|
e("div", { class: "vpg-spinner" }, null, -1),
|
|
3508
3542
|
e("span", null, "Loading data...", -1)
|
|
3509
|
-
])])) : t.data.length === 0 ? (d(), g("div",
|
|
3543
|
+
])])) : t.data.length === 0 ? (d(), g("div", ds, [...n[30] || (n[30] = [
|
|
3510
3544
|
e("div", { class: "vpg-empty-icon" }, [
|
|
3511
3545
|
e("svg", {
|
|
3512
3546
|
class: "vpg-icon-lg",
|
|
@@ -3523,7 +3557,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3523
3557
|
])
|
|
3524
3558
|
], -1),
|
|
3525
3559
|
e("span", null, "No data available", -1)
|
|
3526
|
-
])])) :
|
|
3560
|
+
])])) : D(M) === 0 ? (d(), g("div", gs, [
|
|
3527
3561
|
n[31] || (n[31] = e("div", { class: "vpg-empty-icon vpg-warning" }, [
|
|
3528
3562
|
e("svg", {
|
|
3529
3563
|
class: "vpg-icon-lg",
|
|
@@ -3543,36 +3577,36 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3543
3577
|
e("button", {
|
|
3544
3578
|
class: "vpg-clear-link",
|
|
3545
3579
|
onClick: n[8] || (n[8] = //@ts-ignore
|
|
3546
|
-
(...
|
|
3580
|
+
(...w) => D(G) && D(G)(...w))
|
|
3547
3581
|
}, " Clear all filters ")
|
|
3548
|
-
])) : (d(), g("div",
|
|
3582
|
+
])) : (d(), g("div", ps, [
|
|
3549
3583
|
e("table", {
|
|
3550
3584
|
class: "vpg-table",
|
|
3551
|
-
style:
|
|
3585
|
+
style: ke({ minWidth: `${Sl.value}px` })
|
|
3552
3586
|
}, [
|
|
3553
3587
|
e("thead", null, [
|
|
3554
3588
|
e("tr", null, [
|
|
3555
|
-
(d(!0), g(_, null, oe(
|
|
3556
|
-
key:
|
|
3589
|
+
(d(!0), g(_, null, oe(D(L), (w, K) => (d(), g("th", {
|
|
3590
|
+
key: w,
|
|
3557
3591
|
class: J(["vpg-header-cell", {
|
|
3558
|
-
"vpg-has-filter":
|
|
3559
|
-
"vpg-is-sorted":
|
|
3560
|
-
"vpg-is-active": ce.value ===
|
|
3592
|
+
"vpg-has-filter": D(c)(w),
|
|
3593
|
+
"vpg-is-sorted": D(de)(w) !== null,
|
|
3594
|
+
"vpg-is-active": ce.value === w
|
|
3561
3595
|
}]),
|
|
3562
|
-
style:
|
|
3596
|
+
style: ke({ width: `${xe.value[w] || Ae}px`, minWidth: `${xe.value[w] || Ae}px` }),
|
|
3563
3597
|
onClick: (Y) => fl(K, Y)
|
|
3564
3598
|
}, [
|
|
3565
|
-
e("div",
|
|
3566
|
-
e("span",
|
|
3567
|
-
e("div",
|
|
3568
|
-
|
|
3569
|
-
|
|
3599
|
+
e("div", ms, [
|
|
3600
|
+
e("span", hs, S(w), 1),
|
|
3601
|
+
e("div", ws, [
|
|
3602
|
+
D(de)(w) ? (d(), g("span", Cs, [
|
|
3603
|
+
D(de)(w) === "asc" ? (d(), g("svg", bs, [...n[33] || (n[33] = [
|
|
3570
3604
|
e("path", {
|
|
3571
3605
|
"fill-rule": "evenodd",
|
|
3572
3606
|
d: "M14.707 12.707a1 1 0 01-1.414 0L10 9.414l-3.293 3.293a1 1 0 01-1.414-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 010 1.414z",
|
|
3573
3607
|
"clip-rule": "evenodd"
|
|
3574
3608
|
}, null, -1)
|
|
3575
|
-
])])) : (d(), g("svg",
|
|
3609
|
+
])])) : (d(), g("svg", ys, [...n[34] || (n[34] = [
|
|
3576
3610
|
e("path", {
|
|
3577
3611
|
"fill-rule": "evenodd",
|
|
3578
3612
|
d: "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z",
|
|
@@ -3580,7 +3614,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3580
3614
|
}, null, -1)
|
|
3581
3615
|
])]))
|
|
3582
3616
|
])) : z("", !0),
|
|
3583
|
-
|
|
3617
|
+
D(c)(w) ? (d(), g("span", ks, [...n[35] || (n[35] = [
|
|
3584
3618
|
e("svg", {
|
|
3585
3619
|
class: "vpg-icon-xs",
|
|
3586
3620
|
fill: "currentColor",
|
|
@@ -3616,57 +3650,57 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3616
3650
|
t.enableColumnResize ? (d(), g("div", {
|
|
3617
3651
|
key: 0,
|
|
3618
3652
|
class: "vpg-resize-handle",
|
|
3619
|
-
onMousedown: (Y) => tl(
|
|
3620
|
-
}, null, 40,
|
|
3621
|
-
], 14,
|
|
3653
|
+
onMousedown: (Y) => tl(w, Y)
|
|
3654
|
+
}, null, 40, Fs)) : z("", !0)
|
|
3655
|
+
], 14, fs))), 128))
|
|
3622
3656
|
])
|
|
3623
3657
|
]),
|
|
3624
3658
|
e("tbody", {
|
|
3625
3659
|
ref_key: "tableBodyRef",
|
|
3626
3660
|
ref: Rt
|
|
3627
3661
|
}, [
|
|
3628
|
-
(d(!0), g(_, null, oe(pe.value, (
|
|
3629
|
-
key:
|
|
3662
|
+
(d(!0), g(_, null, oe(pe.value, (w, K) => (d(), g("tr", {
|
|
3663
|
+
key: w.id,
|
|
3630
3664
|
class: "vpg-row"
|
|
3631
3665
|
}, [
|
|
3632
|
-
(d(!0), g(_, null, oe(
|
|
3666
|
+
(d(!0), g(_, null, oe(D(L), (Y, se) => (d(), g("td", {
|
|
3633
3667
|
key: Y,
|
|
3634
3668
|
class: J(["vpg-cell", {
|
|
3635
3669
|
"vpg-selected": bl(K, se),
|
|
3636
|
-
"vpg-is-number":
|
|
3670
|
+
"vpg-is-number": D(o)(Y).type === "number"
|
|
3637
3671
|
}]),
|
|
3638
3672
|
"data-row": K,
|
|
3639
3673
|
"data-col": se,
|
|
3640
|
-
style:
|
|
3674
|
+
style: ke({ width: `${xe.value[Y] || Ae}px`, minWidth: `${xe.value[Y] || Ae}px` }),
|
|
3641
3675
|
onMousedown: (ae) => wl(K, se, ae),
|
|
3642
3676
|
onMouseenter: (ae) => Cl(K, se)
|
|
3643
|
-
}, S(Fl(
|
|
3677
|
+
}, S(Fl(w.original[Y], Y)), 47, Ss))), 128))
|
|
3644
3678
|
]))), 128))
|
|
3645
3679
|
], 512)
|
|
3646
3680
|
], 4)
|
|
3647
3681
|
]))
|
|
3648
|
-
], 512)) : (d(), g("div",
|
|
3649
|
-
Ze.value &&
|
|
3682
|
+
], 512)) : (d(), g("div", $s, [
|
|
3683
|
+
Ze.value && D(i) ? (d(), g("div", Ms, [
|
|
3650
3684
|
Ke(Wo, {
|
|
3651
|
-
"available-fields":
|
|
3652
|
-
"row-fields":
|
|
3653
|
-
"column-fields":
|
|
3654
|
-
"value-fields":
|
|
3655
|
-
"show-row-totals":
|
|
3656
|
-
"show-column-totals":
|
|
3685
|
+
"available-fields": D(st),
|
|
3686
|
+
"row-fields": D(Ve),
|
|
3687
|
+
"column-fields": D(Ne),
|
|
3688
|
+
"value-fields": D(ze),
|
|
3689
|
+
"show-row-totals": D(qe),
|
|
3690
|
+
"show-column-totals": D(_e),
|
|
3657
3691
|
"calculated-fields": Fe.value,
|
|
3658
|
-
"onUpdate:showRowTotals": n[9] || (n[9] = (
|
|
3659
|
-
"onUpdate:showColumnTotals": n[10] || (n[10] = (
|
|
3660
|
-
onClearConfig:
|
|
3692
|
+
"onUpdate:showRowTotals": n[9] || (n[9] = (w) => qe.value = w),
|
|
3693
|
+
"onUpdate:showColumnTotals": n[10] || (n[10] = (w) => _e.value = w),
|
|
3694
|
+
onClearConfig: D(H),
|
|
3661
3695
|
onDragStart: sl,
|
|
3662
3696
|
onDragEnd: il,
|
|
3663
|
-
onUpdateAggregation:
|
|
3664
|
-
onAddRowField:
|
|
3665
|
-
onRemoveRowField:
|
|
3666
|
-
onAddColumnField: T
|
|
3667
|
-
onRemoveColumnField:
|
|
3668
|
-
onAddValueField:
|
|
3669
|
-
onRemoveValueField:
|
|
3697
|
+
onUpdateAggregation: D(V),
|
|
3698
|
+
onAddRowField: D(Xe),
|
|
3699
|
+
onRemoveRowField: D(Ye),
|
|
3700
|
+
onAddColumnField: D(T),
|
|
3701
|
+
onRemoveColumnField: D(p),
|
|
3702
|
+
onAddValueField: D(E),
|
|
3703
|
+
onRemoveValueField: D(C),
|
|
3670
3704
|
onAddCalculatedField: nl,
|
|
3671
3705
|
onRemoveCalculatedField: ol,
|
|
3672
3706
|
onUpdateCalculatedField: al
|
|
@@ -3675,55 +3709,55 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3675
3709
|
e("div", {
|
|
3676
3710
|
class: J(["vpg-pivot-main", { "vpg-full-width": !Ze.value }])
|
|
3677
3711
|
}, [
|
|
3678
|
-
Ke(
|
|
3679
|
-
"row-fields":
|
|
3680
|
-
"column-fields":
|
|
3681
|
-
"value-fields":
|
|
3712
|
+
Ke(Za, {
|
|
3713
|
+
"row-fields": D(Ve),
|
|
3714
|
+
"column-fields": D(Ne),
|
|
3715
|
+
"value-fields": D(ze),
|
|
3682
3716
|
"calculated-fields": Fe.value,
|
|
3683
|
-
"is-configured":
|
|
3684
|
-
"dragging-field":
|
|
3685
|
-
"pivot-result":
|
|
3686
|
-
"font-size":
|
|
3717
|
+
"is-configured": D(Ge),
|
|
3718
|
+
"dragging-field": ft.value,
|
|
3719
|
+
"pivot-result": D(we),
|
|
3720
|
+
"font-size": k.value,
|
|
3687
3721
|
"active-filters": lt.value,
|
|
3688
|
-
"total-row-count":
|
|
3689
|
-
"filtered-row-count":
|
|
3690
|
-
onAddRowField:
|
|
3691
|
-
onRemoveRowField:
|
|
3692
|
-
onAddColumnField: T
|
|
3693
|
-
onRemoveColumnField:
|
|
3694
|
-
onAddValueField:
|
|
3695
|
-
onRemoveValueField:
|
|
3696
|
-
onUpdateAggregation:
|
|
3722
|
+
"total-row-count": D(s),
|
|
3723
|
+
"filtered-row-count": D(M),
|
|
3724
|
+
onAddRowField: D(Xe),
|
|
3725
|
+
onRemoveRowField: D(Ye),
|
|
3726
|
+
onAddColumnField: D(T),
|
|
3727
|
+
onRemoveColumnField: D(p),
|
|
3728
|
+
onAddValueField: D(E),
|
|
3729
|
+
onRemoveValueField: D(C),
|
|
3730
|
+
onUpdateAggregation: D(V),
|
|
3697
3731
|
onReorderRowFields: rl,
|
|
3698
3732
|
onReorderColumnFields: ul
|
|
3699
3733
|
}, null, 8, ["row-fields", "column-fields", "value-fields", "calculated-fields", "is-configured", "dragging-field", "pivot-result", "font-size", "active-filters", "total-row-count", "filtered-row-count", "onAddRowField", "onRemoveRowField", "onAddColumnField", "onRemoveColumnField", "onAddValueField", "onRemoveValueField", "onUpdateAggregation"])
|
|
3700
3734
|
], 2)
|
|
3701
3735
|
])),
|
|
3702
|
-
e("div",
|
|
3703
|
-
e("div",
|
|
3736
|
+
e("div", xs, [
|
|
3737
|
+
e("div", Rs, [
|
|
3704
3738
|
ue.value === "grid" ? (d(), g(_, { key: 0 }, [
|
|
3705
3739
|
t.enablePagination ? (d(), g(_, { key: 0 }, [
|
|
3706
3740
|
e("span", null, S(Ce.value.toLocaleString()) + "-" + S(ge.value.toLocaleString()), 1),
|
|
3707
3741
|
n[37] || (n[37] = e("span", { class: "vpg-separator" }, "of", -1)),
|
|
3708
3742
|
e("span", null, S(ie.value.toLocaleString()), 1),
|
|
3709
|
-
ie.value !==
|
|
3710
|
-
], 64)) :
|
|
3711
|
-
e("span",
|
|
3743
|
+
ie.value !== D(s) ? (d(), g("span", Ts, " (" + S(D(s).toLocaleString()) + " total) ", 1)) : z("", !0)
|
|
3744
|
+
], 64)) : D(M) === D(s) && ie.value === D(s) ? (d(), g("span", Ds, S(D(s).toLocaleString()) + " records", 1)) : (d(), g(_, { key: 2 }, [
|
|
3745
|
+
e("span", Vs, S(ie.value.toLocaleString()), 1),
|
|
3712
3746
|
n[38] || (n[38] = e("span", { class: "vpg-separator" }, "of", -1)),
|
|
3713
|
-
e("span", null, S(
|
|
3747
|
+
e("span", null, S(D(s).toLocaleString()), 1),
|
|
3714
3748
|
n[39] || (n[39] = e("span", { class: "vpg-separator" }, "records", -1))
|
|
3715
3749
|
], 64))
|
|
3716
3750
|
], 64)) : (d(), g(_, { key: 1 }, [
|
|
3717
3751
|
n[40] || (n[40] = e("span", { class: "vpg-pivot-label" }, "Pivot Table", -1)),
|
|
3718
3752
|
n[41] || (n[41] = e("span", { class: "vpg-separator" }, "•", -1)),
|
|
3719
|
-
e("span", null, S(
|
|
3753
|
+
e("span", null, S(D(s).toLocaleString()) + " source records", 1)
|
|
3720
3754
|
], 64))
|
|
3721
3755
|
]),
|
|
3722
|
-
t.enablePagination && ue.value === "grid" && re.value > 1 ? (d(), g("div",
|
|
3756
|
+
t.enablePagination && ue.value === "grid" && re.value > 1 ? (d(), g("div", As, [
|
|
3723
3757
|
e("button", {
|
|
3724
3758
|
class: "vpg-page-btn",
|
|
3725
3759
|
disabled: x.value === 1,
|
|
3726
|
-
onClick: n[11] || (n[11] = (
|
|
3760
|
+
onClick: n[11] || (n[11] = (w) => x.value = 1)
|
|
3727
3761
|
}, [...n[42] || (n[42] = [
|
|
3728
3762
|
e("svg", {
|
|
3729
3763
|
class: "vpg-icon-sm",
|
|
@@ -3738,7 +3772,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3738
3772
|
d: "M11 19l-7-7 7-7m8 14l-7-7 7-7"
|
|
3739
3773
|
})
|
|
3740
3774
|
], -1)
|
|
3741
|
-
])], 8,
|
|
3775
|
+
])], 8, Ls),
|
|
3742
3776
|
e("button", {
|
|
3743
3777
|
class: "vpg-page-btn",
|
|
3744
3778
|
disabled: x.value === 1,
|
|
@@ -3757,8 +3791,8 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3757
3791
|
d: "M15 19l-7-7 7-7"
|
|
3758
3792
|
})
|
|
3759
3793
|
], -1)
|
|
3760
|
-
])], 8,
|
|
3761
|
-
e("span",
|
|
3794
|
+
])], 8, Ns),
|
|
3795
|
+
e("span", zs, " Page " + S(x.value) + " of " + S(re.value), 1),
|
|
3762
3796
|
e("button", {
|
|
3763
3797
|
class: "vpg-page-btn",
|
|
3764
3798
|
disabled: x.value === re.value,
|
|
@@ -3777,11 +3811,11 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3777
3811
|
d: "M9 5l7 7-7 7"
|
|
3778
3812
|
})
|
|
3779
3813
|
], -1)
|
|
3780
|
-
])], 8,
|
|
3814
|
+
])], 8, Ps),
|
|
3781
3815
|
e("button", {
|
|
3782
3816
|
class: "vpg-page-btn",
|
|
3783
3817
|
disabled: x.value === re.value,
|
|
3784
|
-
onClick: n[12] || (n[12] = (
|
|
3818
|
+
onClick: n[12] || (n[12] = (w) => x.value = re.value)
|
|
3785
3819
|
}, [...n[45] || (n[45] = [
|
|
3786
3820
|
e("svg", {
|
|
3787
3821
|
class: "vpg-icon-sm",
|
|
@@ -3796,28 +3830,28 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3796
3830
|
d: "M13 5l7 7-7 7M5 5l7 7-7 7"
|
|
3797
3831
|
})
|
|
3798
3832
|
], -1)
|
|
3799
|
-
])], 8,
|
|
3833
|
+
])], 8, Es)
|
|
3800
3834
|
])) : z("", !0),
|
|
3801
|
-
ue.value === "grid" && Je.value && Je.value.count > 1 ? (d(), g("div",
|
|
3802
|
-
e("span",
|
|
3835
|
+
ue.value === "grid" && Je.value && Je.value.count > 1 ? (d(), g("div", Bs, [
|
|
3836
|
+
e("span", js, [
|
|
3803
3837
|
n[46] || (n[46] = e("span", { class: "vpg-stat-label" }, "Count:", -1)),
|
|
3804
|
-
e("span",
|
|
3838
|
+
e("span", Us, S(Je.value.count), 1)
|
|
3805
3839
|
]),
|
|
3806
3840
|
Je.value.numericCount > 0 ? (d(), g(_, { key: 0 }, [
|
|
3807
3841
|
n[49] || (n[49] = e("span", { class: "vpg-stat-divider" }, "|", -1)),
|
|
3808
|
-
e("span",
|
|
3842
|
+
e("span", Hs, [
|
|
3809
3843
|
n[47] || (n[47] = e("span", { class: "vpg-stat-label" }, "Sum:", -1)),
|
|
3810
|
-
e("span",
|
|
3844
|
+
e("span", Ks, S(Dt(Je.value.sum)), 1)
|
|
3811
3845
|
]),
|
|
3812
3846
|
n[50] || (n[50] = e("span", { class: "vpg-stat-divider" }, "|", -1)),
|
|
3813
|
-
e("span",
|
|
3847
|
+
e("span", Os, [
|
|
3814
3848
|
n[48] || (n[48] = e("span", { class: "vpg-stat-label" }, "Avg:", -1)),
|
|
3815
|
-
e("span",
|
|
3849
|
+
e("span", Ws, S(Dt(Je.value.avg)), 1)
|
|
3816
3850
|
])
|
|
3817
3851
|
], 64)) : z("", !0)
|
|
3818
3852
|
])) : z("", !0),
|
|
3819
|
-
e("div",
|
|
3820
|
-
|
|
3853
|
+
e("div", qs, [
|
|
3854
|
+
D(f) ? (d(), g("div", _s, [...n[51] || (n[51] = [
|
|
3821
3855
|
e("span", { class: "vpg-demo-badge" }, "DEMO", -1),
|
|
3822
3856
|
e("span", null, "Pro features enabled", -1),
|
|
3823
3857
|
e("a", {
|
|
@@ -3825,8 +3859,8 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3825
3859
|
target: "_blank",
|
|
3826
3860
|
rel: "noopener"
|
|
3827
3861
|
}, "Get License →", -1)
|
|
3828
|
-
])])) :
|
|
3829
|
-
Rl('<a href="https://tiny-pivot.com" target="_blank" rel="noopener" data-v-
|
|
3862
|
+
])])) : D(a) ? (d(), g("span", Gs, [...n[52] || (n[52] = [
|
|
3863
|
+
Rl('<a href="https://tiny-pivot.com" target="_blank" rel="noopener" data-v-8f2b59ce><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-8f2b59ce><rect x="3" y="3" width="7" height="7" data-v-8f2b59ce></rect><rect x="14" y="3" width="7" height="7" data-v-8f2b59ce></rect><rect x="14" y="14" width="7" height="7" data-v-8f2b59ce></rect><rect x="3" y="14" width="7" height="7" data-v-8f2b59ce></rect></svg> Powered by TinyPivot </a>', 1)
|
|
3830
3864
|
])])) : z("", !0)
|
|
3831
3865
|
])
|
|
3832
3866
|
]),
|
|
@@ -3845,7 +3879,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3845
3879
|
ce.value ? (d(), g("div", {
|
|
3846
3880
|
key: 0,
|
|
3847
3881
|
class: "vpg-filter-portal",
|
|
3848
|
-
style:
|
|
3882
|
+
style: ke({
|
|
3849
3883
|
position: "fixed",
|
|
3850
3884
|
top: `${it.value.top}px`,
|
|
3851
3885
|
left: `${it.value.left}px`,
|
|
@@ -3856,41 +3890,41 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
|
|
|
3856
3890
|
Ke(Gn, {
|
|
3857
3891
|
"column-id": ce.value,
|
|
3858
3892
|
"column-name": ce.value,
|
|
3859
|
-
stats:
|
|
3860
|
-
"selected-values":
|
|
3861
|
-
"sort-direction":
|
|
3862
|
-
"numeric-range":
|
|
3863
|
-
onFilter: n[13] || (n[13] = (
|
|
3864
|
-
onRangeFilter: n[14] || (n[14] = (
|
|
3865
|
-
onSort: n[15] || (n[15] = (
|
|
3893
|
+
stats: D(o)(ce.value),
|
|
3894
|
+
"selected-values": D(X)(ce.value),
|
|
3895
|
+
"sort-direction": D(de)(ce.value),
|
|
3896
|
+
"numeric-range": D(We)(ce.value),
|
|
3897
|
+
onFilter: n[13] || (n[13] = (w) => vl(ce.value, w)),
|
|
3898
|
+
onRangeFilter: n[14] || (n[14] = (w) => dl(ce.value, w)),
|
|
3899
|
+
onSort: n[15] || (n[15] = (w) => gl(ce.value, w)),
|
|
3866
3900
|
onClose: rt
|
|
3867
3901
|
}, null, 8, ["column-id", "column-name", "stats", "selected-values", "sort-direction", "numeric-range"])
|
|
3868
3902
|
], 4)) : z("", !0)
|
|
3869
3903
|
]))
|
|
3870
3904
|
], 6));
|
|
3871
3905
|
}
|
|
3872
|
-
}),
|
|
3906
|
+
}), oi = /* @__PURE__ */ tt(Xs, [["__scopeId", "data-v-8f2b59ce"]]);
|
|
3873
3907
|
export {
|
|
3874
3908
|
Gn as ColumnFilter,
|
|
3875
|
-
|
|
3909
|
+
oi as DataGrid,
|
|
3876
3910
|
Wo as PivotConfig,
|
|
3877
|
-
|
|
3878
|
-
|
|
3911
|
+
Za as PivotSkeleton,
|
|
3912
|
+
Is as configureLicenseSecret,
|
|
3879
3913
|
mn as copyToClipboard,
|
|
3880
|
-
|
|
3914
|
+
Qs as enableDemoMode,
|
|
3881
3915
|
fn as exportPivotToCSV,
|
|
3882
3916
|
pn as exportToCSV,
|
|
3883
3917
|
Pl as formatCellValue,
|
|
3884
3918
|
hn as formatSelectionForClipboard,
|
|
3885
|
-
|
|
3919
|
+
gt as getAggregationLabel,
|
|
3886
3920
|
zl as getColumnUniqueValues,
|
|
3887
|
-
|
|
3888
|
-
|
|
3921
|
+
Js as setLicenseKey,
|
|
3922
|
+
ni as useColumnResize,
|
|
3889
3923
|
vn as useExcelGrid,
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
|
|
3924
|
+
ti as useGlobalSearch,
|
|
3925
|
+
pt as useLicense,
|
|
3926
|
+
ei as usePagination,
|
|
3893
3927
|
gn as usePivotTable,
|
|
3894
|
-
|
|
3928
|
+
li as useRowSelection
|
|
3895
3929
|
};
|
|
3896
3930
|
//# sourceMappingURL=tinypivot-vue.js.map
|