@smallwebco/tinypivot-vue 1.0.48 → 1.0.49
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/tinypivot-vue.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ref as
|
|
1
|
+
import { ref as x, computed as L, watch as Te, defineComponent as tt, createElementBlock as c, openBlock as u, createElementVNode as e, createCommentVNode as z, toDisplayString as $, normalizeStyle as Fe, createTextVNode as te, onMounted as Ft, nextTick as st, onUnmounted as St, normalizeClass as Q, Fragment as X, withDirectives as Ke, vModelText as et, renderList as le, createVNode as Oe, createBlock as Wt, Teleport as qt, withModifiers as Le, vModelSelect as Rl, unref as V, Transition as Gt, withCtx as Yt, withKeys as Dl, createStaticVNode as Vl } from "vue";
|
|
2
2
|
import { useVueTable as Tl, getFilteredRowModel as Al, getSortedRowModel as Ll, getCoreRowModel as Nl } from "@tanstack/vue-table";
|
|
3
|
-
function
|
|
3
|
+
function ft(t) {
|
|
4
4
|
return t !== null && typeof t == "object" && !Array.isArray(t) && ("min" in t || "max" in t);
|
|
5
5
|
}
|
|
6
6
|
function Pl(t) {
|
|
@@ -48,14 +48,14 @@ function El(t, i, l = 500) {
|
|
|
48
48
|
const b = Array.from(h).sort((F, A) => {
|
|
49
49
|
const T = Number.parseFloat(F), M = Number.parseFloat(A);
|
|
50
50
|
return !Number.isNaN(T) && !Number.isNaN(M) ? T - M : F.localeCompare(A);
|
|
51
|
-
}),
|
|
51
|
+
}), D = Pl(s);
|
|
52
52
|
return {
|
|
53
53
|
uniqueValues: b,
|
|
54
54
|
totalCount: t.length,
|
|
55
55
|
nullCount: o,
|
|
56
|
-
type:
|
|
56
|
+
type: D,
|
|
57
57
|
// Only include min/max for numeric columns
|
|
58
|
-
...
|
|
58
|
+
...D === "number" && a !== void 0 && m !== void 0 ? { numericMin: a, numericMax: m } : {}
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
function Bl(t, i) {
|
|
@@ -80,10 +80,10 @@ function Bl(t, i) {
|
|
|
80
80
|
return String(t);
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
function
|
|
83
|
+
function Bt(t, i) {
|
|
84
84
|
return i.map((l) => String(t[l] ?? "(blank)")).join("|||");
|
|
85
85
|
}
|
|
86
|
-
function
|
|
86
|
+
function Ut(t) {
|
|
87
87
|
return t.split("|||");
|
|
88
88
|
}
|
|
89
89
|
function Ul(t) {
|
|
@@ -94,7 +94,7 @@ function jl(t) {
|
|
|
94
94
|
const i = t.reduce((o, a) => o + a, 0) / t.length, s = t.map((o) => (o - i) ** 2).reduce((o, a) => o + a, 0) / t.length;
|
|
95
95
|
return Math.sqrt(s);
|
|
96
96
|
}
|
|
97
|
-
function
|
|
97
|
+
function dt(t, i, l, s, o) {
|
|
98
98
|
if (t.length === 0 && i !== "custom")
|
|
99
99
|
return null;
|
|
100
100
|
switch (i) {
|
|
@@ -124,10 +124,10 @@ function ct(t, i, l, s, o) {
|
|
|
124
124
|
return t.reduce((a, m) => a + m, 0);
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
function
|
|
127
|
+
function gt(t, i) {
|
|
128
128
|
return t === null ? "-" : i === "count" || i === "countDistinct" ? Math.round(t).toLocaleString() : i === "percentOfTotal" ? `${t.toFixed(1)}%` : i === "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 mt(t, i) {
|
|
131
131
|
return t === "custom" && i ? i : {
|
|
132
132
|
sum: "Sum",
|
|
133
133
|
count: "Count",
|
|
@@ -141,7 +141,7 @@ function pt(t, i) {
|
|
|
141
141
|
custom: "Custom"
|
|
142
142
|
}[t];
|
|
143
143
|
}
|
|
144
|
-
function
|
|
144
|
+
function It(t, i) {
|
|
145
145
|
return t === "custom" && i ? i : {
|
|
146
146
|
sum: "Σ",
|
|
147
147
|
count: "#",
|
|
@@ -186,14 +186,14 @@ function Kl(t, i, l = 2) {
|
|
|
186
186
|
});
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
|
-
function
|
|
189
|
+
function Xt(t) {
|
|
190
190
|
const i = t.match(/[a-zA-Z_][a-zA-Z0-9_]*/g) || [], l = ["true", "false", "null", "undefined"];
|
|
191
191
|
return [...new Set(i.filter((s) => !l.includes(s.toLowerCase())))];
|
|
192
192
|
}
|
|
193
|
-
function
|
|
193
|
+
function jt(t, i) {
|
|
194
194
|
if (!t.trim())
|
|
195
195
|
return "Formula is required";
|
|
196
|
-
const l =
|
|
196
|
+
const l = Xt(t);
|
|
197
197
|
if (l.length === 0)
|
|
198
198
|
return "Formula must reference at least one field";
|
|
199
199
|
const s = i.map((o) => o.toLowerCase());
|
|
@@ -212,19 +212,19 @@ function Ut(t, i) {
|
|
|
212
212
|
}
|
|
213
213
|
return null;
|
|
214
214
|
}
|
|
215
|
-
function
|
|
215
|
+
function Ht(t, i, l) {
|
|
216
216
|
try {
|
|
217
|
-
const s =
|
|
217
|
+
const s = Xt(t);
|
|
218
218
|
let o = t;
|
|
219
219
|
for (const m of s) {
|
|
220
220
|
const h = l.find((A) => A.toLowerCase() === m.toLowerCase()) || m, b = i[h];
|
|
221
221
|
if (b == null || b === "")
|
|
222
222
|
return null;
|
|
223
|
-
const
|
|
224
|
-
if (Number.isNaN(
|
|
223
|
+
const D = typeof b == "number" ? b : Number.parseFloat(String(b));
|
|
224
|
+
if (Number.isNaN(D))
|
|
225
225
|
return null;
|
|
226
226
|
const F = m.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
227
|
-
o = o.replace(new RegExp(`\\b${F}\\b`, "gi"), String(
|
|
227
|
+
o = o.replace(new RegExp(`\\b${F}\\b`, "gi"), String(D));
|
|
228
228
|
}
|
|
229
229
|
if (!/^[\d\s+\-*/().]+$/.test(o))
|
|
230
230
|
return null;
|
|
@@ -245,84 +245,84 @@ function Wl(t, i, l, s) {
|
|
|
245
245
|
]);
|
|
246
246
|
return t.filter((a) => !o.has(a.field));
|
|
247
247
|
}
|
|
248
|
-
function
|
|
248
|
+
function Zt(t) {
|
|
249
249
|
return (t.rowFields.length > 0 || t.columnFields.length > 0) && t.valueFields.length > 0;
|
|
250
250
|
}
|
|
251
251
|
function ql(t, i) {
|
|
252
252
|
const { rowFields: l, columnFields: s, valueFields: o, showRowTotals: a, showColumnTotals: m, calculatedFields: h } = i;
|
|
253
|
-
if (!
|
|
253
|
+
if (!Zt(i) || t.length === 0)
|
|
254
254
|
return null;
|
|
255
255
|
const b = /* @__PURE__ */ new Map();
|
|
256
256
|
if (h)
|
|
257
|
-
for (const
|
|
258
|
-
b.set(
|
|
259
|
-
const
|
|
260
|
-
for (const
|
|
261
|
-
const S = l.length > 0 ?
|
|
257
|
+
for (const j of h)
|
|
258
|
+
b.set(j.id, j);
|
|
259
|
+
const D = t.length > 0 ? Object.keys(t[0]) : [], F = /* @__PURE__ */ new Set(), A = /* @__PURE__ */ new Set(), T = /* @__PURE__ */ new Map();
|
|
260
|
+
for (const j of t) {
|
|
261
|
+
const S = l.length > 0 ? Bt(j, l) : "__all__", f = s.length > 0 ? Bt(j, s) : "__all__";
|
|
262
262
|
F.add(S), A.add(f), T.has(S) || T.set(S, /* @__PURE__ */ new Map());
|
|
263
263
|
const d = T.get(S);
|
|
264
264
|
d.has(f) || d.set(f, o.map(() => []));
|
|
265
|
-
const
|
|
265
|
+
const v = d.get(f);
|
|
266
266
|
for (let g = 0; g < o.length; g++) {
|
|
267
267
|
const k = o[g];
|
|
268
268
|
let B = null;
|
|
269
269
|
if (k.field.startsWith("calc:")) {
|
|
270
|
-
const Y = k.field.replace("calc:", ""),
|
|
271
|
-
|
|
270
|
+
const Y = k.field.replace("calc:", ""), ue = b.get(Y);
|
|
271
|
+
ue && (B = Ht(ue.formula, j, D));
|
|
272
272
|
} else {
|
|
273
|
-
const Y =
|
|
273
|
+
const Y = j[k.field];
|
|
274
274
|
Y != null && Y !== "" && (B = typeof Y == "number" ? Y : Number.parseFloat(String(Y)), Number.isNaN(B) && (B = k.aggregation === "count" || k.aggregation === "countDistinct" ? 1 : null));
|
|
275
275
|
}
|
|
276
|
-
B !== null &&
|
|
276
|
+
B !== null && v[g].push(B);
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
|
-
const M = Array.from(F).sort(), y = Array.from(A).sort(), O = o.map((
|
|
279
|
+
const M = Array.from(F).sort(), y = Array.from(A).sort(), O = o.map((j, S) => {
|
|
280
280
|
let f = 0;
|
|
281
281
|
for (const d of t) {
|
|
282
|
-
let
|
|
283
|
-
if (
|
|
284
|
-
const g =
|
|
285
|
-
k && (
|
|
282
|
+
let v = null;
|
|
283
|
+
if (j.field.startsWith("calc:")) {
|
|
284
|
+
const g = j.field.replace("calc:", ""), k = b.get(g);
|
|
285
|
+
k && (v = Ht(k.formula, d, D));
|
|
286
286
|
} else {
|
|
287
|
-
const g = d[
|
|
288
|
-
g != null && g !== "" && (
|
|
287
|
+
const g = d[j.field];
|
|
288
|
+
g != null && g !== "" && (v = typeof g == "number" ? g : Number.parseFloat(String(g)), Number.isNaN(v) && (v = null));
|
|
289
289
|
}
|
|
290
|
-
|
|
290
|
+
v !== null && (f += v);
|
|
291
291
|
}
|
|
292
292
|
return f;
|
|
293
293
|
});
|
|
294
|
-
function
|
|
295
|
-
if (
|
|
296
|
-
const S =
|
|
297
|
-
return `${(f == null ? void 0 : f.name) ||
|
|
294
|
+
function J(j) {
|
|
295
|
+
if (j.field.startsWith("calc:")) {
|
|
296
|
+
const S = j.field.replace("calc:", ""), f = b.get(S);
|
|
297
|
+
return `${(f == null ? void 0 : f.name) || j.field} (${mt(j.aggregation)})`;
|
|
298
298
|
}
|
|
299
|
-
return `${
|
|
299
|
+
return `${j.label || j.field} (${mt(j.aggregation)})`;
|
|
300
300
|
}
|
|
301
|
-
const
|
|
301
|
+
const I = [];
|
|
302
302
|
if (s.length > 0) {
|
|
303
|
-
const
|
|
303
|
+
const j = o.length > 1 ? o.length : 1;
|
|
304
304
|
for (let S = 0; S < s.length; S++) {
|
|
305
305
|
const f = [];
|
|
306
306
|
for (const d of y) {
|
|
307
|
-
const
|
|
308
|
-
for (let g = 0; g <
|
|
309
|
-
f.push(
|
|
307
|
+
const v = Ut(d);
|
|
308
|
+
for (let g = 0; g < j; g++)
|
|
309
|
+
f.push(v[S] || "");
|
|
310
310
|
}
|
|
311
|
-
|
|
311
|
+
I.push(f);
|
|
312
312
|
}
|
|
313
313
|
}
|
|
314
|
-
if (o.length > 1 ||
|
|
315
|
-
const
|
|
314
|
+
if (o.length > 1 || I.length === 0) {
|
|
315
|
+
const j = [];
|
|
316
316
|
for (const S of y)
|
|
317
317
|
for (const f of o)
|
|
318
|
-
|
|
319
|
-
y.length === 1 && y[0] === "__all__" ?
|
|
318
|
+
j.push(J(f));
|
|
319
|
+
y.length === 1 && y[0] === "__all__" ? I.push(o.map((S) => J(S))) : I.push(j);
|
|
320
320
|
}
|
|
321
|
-
const q = M.map((
|
|
322
|
-
for (const
|
|
321
|
+
const q = M.map((j) => j === "__all__" ? ["Total"] : Ut(j)), E = [], P = [], H = /* @__PURE__ */ new Map();
|
|
322
|
+
for (const j of M) {
|
|
323
323
|
const S = [], f = o.map(() => []);
|
|
324
324
|
for (const d of y) {
|
|
325
|
-
const
|
|
325
|
+
const v = T.get(j), g = (v == null ? void 0 : v.get(d)) || o.map(() => []);
|
|
326
326
|
for (let B = 0; B < g.length; B++)
|
|
327
327
|
f[B].push(...g[B]);
|
|
328
328
|
H.has(d) || H.set(d, o.map(() => []));
|
|
@@ -330,67 +330,67 @@ function ql(t, i) {
|
|
|
330
330
|
for (let B = 0; B < g.length; B++)
|
|
331
331
|
k[B].push(...g[B]);
|
|
332
332
|
for (let B = 0; B < o.length; B++) {
|
|
333
|
-
const Y = o[B],
|
|
333
|
+
const Y = o[B], ue = g[B] || [], he = O[B], Me = dt(ue, Y.aggregation, he);
|
|
334
334
|
let fe;
|
|
335
335
|
if (Y.field.startsWith("calc:")) {
|
|
336
|
-
const We = Y.field.replace("calc:", ""),
|
|
337
|
-
fe = Kl(Me, (
|
|
336
|
+
const We = Y.field.replace("calc:", ""), we = b.get(We);
|
|
337
|
+
fe = Kl(Me, (we == null ? void 0 : we.formatAs) || "number", (we == null ? void 0 : we.decimals) ?? 2);
|
|
338
338
|
} else
|
|
339
|
-
fe =
|
|
339
|
+
fe = gt(Me, Y.aggregation);
|
|
340
340
|
S.push({
|
|
341
341
|
value: Me,
|
|
342
|
-
count:
|
|
342
|
+
count: ue.length,
|
|
343
343
|
formattedValue: fe
|
|
344
344
|
});
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
347
|
if (E.push(S), a && y.length > 1)
|
|
348
348
|
if (o.length > 0) {
|
|
349
|
-
const d = o[0],
|
|
349
|
+
const d = o[0], v = f[0] || [], g = dt(v, d.aggregation, O[0]);
|
|
350
350
|
P.push({
|
|
351
351
|
value: g,
|
|
352
|
-
count:
|
|
353
|
-
formattedValue:
|
|
352
|
+
count: v.length,
|
|
353
|
+
formattedValue: gt(g, d.aggregation)
|
|
354
354
|
});
|
|
355
355
|
} else
|
|
356
356
|
P.push({ value: null, count: 0, formattedValue: "-" });
|
|
357
357
|
}
|
|
358
358
|
const G = [];
|
|
359
359
|
if (m && M.length > 1)
|
|
360
|
-
for (const
|
|
361
|
-
const S = H.get(
|
|
360
|
+
for (const j of y) {
|
|
361
|
+
const S = H.get(j) || o.map(() => []);
|
|
362
362
|
for (let f = 0; f < o.length; f++) {
|
|
363
|
-
const d = o[f],
|
|
363
|
+
const d = o[f], v = S[f] || [], g = dt(v, d.aggregation, O[f]);
|
|
364
364
|
G.push({
|
|
365
365
|
value: g,
|
|
366
|
-
count:
|
|
367
|
-
formattedValue:
|
|
366
|
+
count: v.length,
|
|
367
|
+
formattedValue: gt(g, d.aggregation)
|
|
368
368
|
});
|
|
369
369
|
}
|
|
370
370
|
}
|
|
371
|
-
const
|
|
371
|
+
const ne = { value: null, count: 0, formattedValue: "-" };
|
|
372
372
|
if (a && m && o.length > 0) {
|
|
373
|
-
const
|
|
374
|
-
for (const
|
|
375
|
-
const g = T.get(
|
|
373
|
+
const j = o.map(() => []);
|
|
374
|
+
for (const v of M) {
|
|
375
|
+
const g = T.get(v);
|
|
376
376
|
if (g)
|
|
377
377
|
for (const k of y) {
|
|
378
378
|
const B = g.get(k);
|
|
379
379
|
if (B)
|
|
380
380
|
for (let Y = 0; Y < B.length; Y++)
|
|
381
|
-
|
|
381
|
+
j[Y].push(...B[Y]);
|
|
382
382
|
}
|
|
383
383
|
}
|
|
384
|
-
const S = o[0], f =
|
|
385
|
-
|
|
384
|
+
const S = o[0], f = j[0] || [], d = dt(f, S.aggregation, O[0]);
|
|
385
|
+
ne.value = d, ne.count = f.length, ne.formattedValue = gt(d, S.aggregation);
|
|
386
386
|
}
|
|
387
387
|
return {
|
|
388
|
-
headers:
|
|
388
|
+
headers: I,
|
|
389
389
|
rowHeaders: q,
|
|
390
390
|
data: E,
|
|
391
391
|
rowTotals: P,
|
|
392
392
|
columnTotals: G,
|
|
393
|
-
grandTotal:
|
|
393
|
+
grandTotal: ne
|
|
394
394
|
};
|
|
395
395
|
}
|
|
396
396
|
const Gl = "vpg-pivot-";
|
|
@@ -398,13 +398,13 @@ function Yl(t) {
|
|
|
398
398
|
const l = [...t].sort().join("|").substring(0, 100);
|
|
399
399
|
return `${Gl}${l}`;
|
|
400
400
|
}
|
|
401
|
-
function
|
|
401
|
+
function Il(t, i) {
|
|
402
402
|
try {
|
|
403
403
|
sessionStorage.setItem(t, JSON.stringify(i));
|
|
404
404
|
} catch {
|
|
405
405
|
}
|
|
406
406
|
}
|
|
407
|
-
function
|
|
407
|
+
function Xl(t) {
|
|
408
408
|
try {
|
|
409
409
|
const i = sessionStorage.getItem(t);
|
|
410
410
|
if (i)
|
|
@@ -413,7 +413,7 @@ function Il(t) {
|
|
|
413
413
|
}
|
|
414
414
|
return null;
|
|
415
415
|
}
|
|
416
|
-
function
|
|
416
|
+
function yt(t, i) {
|
|
417
417
|
const l = new Set(i);
|
|
418
418
|
return [
|
|
419
419
|
...t.rowFields,
|
|
@@ -421,23 +421,23 @@ function bt(t, i) {
|
|
|
421
421
|
...t.valueFields.map((o) => o.field)
|
|
422
422
|
].filter((o) => !o.startsWith("calc:")).every((o) => l.has(o));
|
|
423
423
|
}
|
|
424
|
-
const
|
|
425
|
-
function
|
|
424
|
+
const _t = "vpg-calculated-fields";
|
|
425
|
+
function it(t) {
|
|
426
426
|
try {
|
|
427
|
-
localStorage.setItem(
|
|
427
|
+
localStorage.setItem(_t, JSON.stringify(t));
|
|
428
428
|
} catch {
|
|
429
429
|
}
|
|
430
430
|
}
|
|
431
|
-
function
|
|
431
|
+
function Qt() {
|
|
432
432
|
try {
|
|
433
|
-
const t = localStorage.getItem(
|
|
433
|
+
const t = localStorage.getItem(_t);
|
|
434
434
|
if (t)
|
|
435
435
|
return JSON.parse(t);
|
|
436
436
|
} catch {
|
|
437
437
|
}
|
|
438
438
|
return [];
|
|
439
439
|
}
|
|
440
|
-
const
|
|
440
|
+
const Jt = {
|
|
441
441
|
type: "free",
|
|
442
442
|
isValid: !0,
|
|
443
443
|
features: {
|
|
@@ -449,7 +449,7 @@ const Qt = {
|
|
|
449
449
|
sessionPersistence: !1,
|
|
450
450
|
noWatermark: !1
|
|
451
451
|
}
|
|
452
|
-
},
|
|
452
|
+
}, pt = {
|
|
453
453
|
type: "free",
|
|
454
454
|
isValid: !1,
|
|
455
455
|
features: {
|
|
@@ -460,7 +460,7 @@ const Qt = {
|
|
|
460
460
|
sessionPersistence: !1,
|
|
461
461
|
noWatermark: !1
|
|
462
462
|
}
|
|
463
|
-
},
|
|
463
|
+
}, Zl = {
|
|
464
464
|
type: "free",
|
|
465
465
|
isValid: !0,
|
|
466
466
|
features: {
|
|
@@ -471,11 +471,11 @@ const Qt = {
|
|
|
471
471
|
noWatermark: !1
|
|
472
472
|
// Still show watermark in demo
|
|
473
473
|
}
|
|
474
|
-
},
|
|
474
|
+
}, _l = `-----BEGIN PUBLIC KEY-----
|
|
475
475
|
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE436rfGofder4lfo4UHsRF2M88Gs0
|
|
476
476
|
zLsikg2H9GMkL8hLGuOtnGMpVfLRlc7cD8FdkPBBRgiQ8UFnG8hm+nMIug==
|
|
477
477
|
-----END PUBLIC KEY-----`;
|
|
478
|
-
function
|
|
478
|
+
function el(t) {
|
|
479
479
|
let i = t.replace(/-/g, "+").replace(/_/g, "/");
|
|
480
480
|
for (; i.length % 4; )
|
|
481
481
|
i += "=";
|
|
@@ -508,7 +508,7 @@ function Ql(t) {
|
|
|
508
508
|
}
|
|
509
509
|
async function Jl() {
|
|
510
510
|
try {
|
|
511
|
-
const t =
|
|
511
|
+
const t = _l.replace("-----BEGIN PUBLIC KEY-----", "").replace("-----END PUBLIC KEY-----", "").replace(/\s/g, ""), i = el(t);
|
|
512
512
|
return await crypto.subtle.importKey("spki", new Uint8Array(i).buffer, { name: "ECDSA", namedCurve: "P-256" }, !1, ["verify"]);
|
|
513
513
|
} catch {
|
|
514
514
|
return null;
|
|
@@ -520,7 +520,7 @@ async function en(t, i, l) {
|
|
|
520
520
|
const o = await Jl();
|
|
521
521
|
if (!o)
|
|
522
522
|
return !1;
|
|
523
|
-
const m = new TextEncoder().encode(s), h =
|
|
523
|
+
const m = new TextEncoder().encode(s), h = el(i), b = Ql(h);
|
|
524
524
|
return await crypto.subtle.verify({ name: "ECDSA", hash: "SHA-256" }, o, new Uint8Array(b).buffer, m);
|
|
525
525
|
} catch {
|
|
526
526
|
return !1;
|
|
@@ -528,19 +528,19 @@ async function en(t, i, l) {
|
|
|
528
528
|
}
|
|
529
529
|
async function tn(t) {
|
|
530
530
|
if (!t || t === "")
|
|
531
|
-
return
|
|
531
|
+
return Jt;
|
|
532
532
|
if (!t.startsWith("TP-"))
|
|
533
|
-
return
|
|
533
|
+
return pt;
|
|
534
534
|
const i = t.lastIndexOf("-");
|
|
535
535
|
if (i === -1 || t.length - i !== 9)
|
|
536
|
-
return
|
|
536
|
+
return pt;
|
|
537
537
|
const l = t.slice(i + 1), s = t.slice(3), o = s.indexOf("-");
|
|
538
538
|
if (o === -1)
|
|
539
|
-
return
|
|
539
|
+
return pt;
|
|
540
540
|
const a = s.slice(0, o), m = s.slice(o + 1, s.lastIndexOf("-"));
|
|
541
541
|
if (!await en(a, m, l))
|
|
542
|
-
return
|
|
543
|
-
const b = Number.parseInt(l.slice(0, 4)),
|
|
542
|
+
return pt;
|
|
543
|
+
const b = Number.parseInt(l.slice(0, 4)), D = Number.parseInt(l.slice(4, 6)) - 1, F = Number.parseInt(l.slice(6, 8)), A = new Date(b, D, F);
|
|
544
544
|
let T = "free";
|
|
545
545
|
return a === "PRO1" ? T = "pro-single" : a === "PROU" ? T = "pro-unlimited" : a === "PROT" && (T = "pro-team"), {
|
|
546
546
|
type: T,
|
|
@@ -568,10 +568,10 @@ async function on(t) {
|
|
|
568
568
|
}
|
|
569
569
|
}
|
|
570
570
|
async function an(t) {
|
|
571
|
-
return !t || await on(t) !== nn ? null :
|
|
571
|
+
return !t || await on(t) !== nn ? null : Zl;
|
|
572
572
|
}
|
|
573
573
|
function sn() {
|
|
574
|
-
return
|
|
574
|
+
return Jt;
|
|
575
575
|
}
|
|
576
576
|
function rn(t) {
|
|
577
577
|
return t.features.pivot;
|
|
@@ -596,19 +596,19 @@ function dn(t, i, l = {}) {
|
|
|
596
596
|
const { filename: s = "export.csv", includeHeaders: o = !0, delimiter: a = "," } = l, m = [];
|
|
597
597
|
o && m.push(i.map((b) => pe(b, a)).join(a));
|
|
598
598
|
for (const b of t) {
|
|
599
|
-
const
|
|
600
|
-
m.push(
|
|
599
|
+
const D = i.map((F) => pe(b[F], a));
|
|
600
|
+
m.push(D.join(a));
|
|
601
601
|
}
|
|
602
602
|
const h = m.join(`
|
|
603
603
|
`);
|
|
604
|
-
|
|
604
|
+
tl(h, s, "text/csv;charset=utf-8;");
|
|
605
605
|
}
|
|
606
606
|
function gn(t, i, l, s, o = {}) {
|
|
607
|
-
const { filename: a = "pivot-export.csv", delimiter: m = "," } = o, h = [], { headers: b, rowHeaders:
|
|
607
|
+
const { filename: a = "pivot-export.csv", delimiter: m = "," } = o, h = [], { headers: b, rowHeaders: D, data: F, rowTotals: A, columnTotals: T, grandTotal: M, showRowTotals: y, showColumnTotals: O } = t, J = i.length || 1;
|
|
608
608
|
if (b.length > 0)
|
|
609
609
|
for (let q = 0; q < b.length; q++) {
|
|
610
610
|
const E = [];
|
|
611
|
-
for (let P = 0; P <
|
|
611
|
+
for (let P = 0; P < J; P++)
|
|
612
612
|
E.push(q === b.length - 1 ? pe(i[P] || "", m) : "");
|
|
613
613
|
for (const P of b[q])
|
|
614
614
|
E.push(pe(P, m));
|
|
@@ -623,15 +623,15 @@ function gn(t, i, l, s, o = {}) {
|
|
|
623
623
|
}
|
|
624
624
|
else {
|
|
625
625
|
const q = [];
|
|
626
|
-
for (let E = 0; E <
|
|
626
|
+
for (let E = 0; E < J; E++)
|
|
627
627
|
q.push(pe(i[E] || "", m));
|
|
628
628
|
for (const E of s)
|
|
629
629
|
q.push(pe(`${E.field} (${E.aggregation})`, m));
|
|
630
630
|
y && A && A.length > 0 && q.push(pe("Total", m)), h.push(q.join(m));
|
|
631
631
|
}
|
|
632
|
-
for (let q = 0; q <
|
|
633
|
-
const E = [], P =
|
|
634
|
-
for (let G = 0; G <
|
|
632
|
+
for (let q = 0; q < D.length; q++) {
|
|
633
|
+
const E = [], P = D[q] || [];
|
|
634
|
+
for (let G = 0; G < J; G++)
|
|
635
635
|
E.push(pe(P[G] || "", m));
|
|
636
636
|
const H = F[q] || [];
|
|
637
637
|
for (const G of H)
|
|
@@ -641,17 +641,17 @@ function gn(t, i, l, s, o = {}) {
|
|
|
641
641
|
if (O && T && T.length > 0) {
|
|
642
642
|
const q = [];
|
|
643
643
|
q.push(pe("Total", m));
|
|
644
|
-
for (let E = 1; E <
|
|
644
|
+
for (let E = 1; E < J; E++)
|
|
645
645
|
q.push("");
|
|
646
646
|
for (const E of T)
|
|
647
647
|
q.push(pe((E == null ? void 0 : E.formattedValue) || "", m));
|
|
648
648
|
y && M && q.push(pe(M.formattedValue || "", m)), h.push(q.join(m));
|
|
649
649
|
}
|
|
650
|
-
const
|
|
650
|
+
const I = h.join(`
|
|
651
651
|
`);
|
|
652
|
-
|
|
652
|
+
tl(I, a, "text/csv;charset=utf-8;");
|
|
653
653
|
}
|
|
654
|
-
function
|
|
654
|
+
function tl(t, i, l) {
|
|
655
655
|
const s = new Blob([t], { type: l }), o = URL.createObjectURL(s), a = document.createElement("a");
|
|
656
656
|
a.href = o, a.download = i, a.style.display = "none", document.body.appendChild(a), a.click(), document.body.removeChild(a), URL.revokeObjectURL(o);
|
|
657
657
|
}
|
|
@@ -661,15 +661,15 @@ function pn(t, i, l) {
|
|
|
661
661
|
function fn(t, i, l) {
|
|
662
662
|
const { minRow: s, maxRow: o, minCol: a, maxCol: m } = l, h = [];
|
|
663
663
|
for (let b = s; b <= o; b++) {
|
|
664
|
-
const
|
|
665
|
-
if (!
|
|
664
|
+
const D = t[b];
|
|
665
|
+
if (!D)
|
|
666
666
|
continue;
|
|
667
667
|
const F = [];
|
|
668
668
|
for (let A = a; A <= m; A++) {
|
|
669
669
|
const T = i[A];
|
|
670
670
|
if (!T)
|
|
671
671
|
continue;
|
|
672
|
-
const M =
|
|
672
|
+
const M = D[T];
|
|
673
673
|
F.push(M == null ? "" : String(M));
|
|
674
674
|
}
|
|
675
675
|
h.push(F.join(" "));
|
|
@@ -677,9 +677,9 @@ function fn(t, i, l) {
|
|
|
677
677
|
return h.join(`
|
|
678
678
|
`);
|
|
679
679
|
}
|
|
680
|
-
const
|
|
680
|
+
const Kt = (t, i, l) => {
|
|
681
681
|
if (!l) return !0;
|
|
682
|
-
if (
|
|
682
|
+
if (ft(l)) {
|
|
683
683
|
const s = t.getValue(i);
|
|
684
684
|
if (s == null || s === "")
|
|
685
685
|
return !1;
|
|
@@ -695,7 +695,7 @@ const Ht = (t, i, l) => {
|
|
|
695
695
|
return !0;
|
|
696
696
|
};
|
|
697
697
|
function mn(t) {
|
|
698
|
-
const { data: i, enableSorting: l = !0, enableFiltering: s = !0 } = t, o =
|
|
698
|
+
const { data: i, enableSorting: l = !0, enableFiltering: s = !0 } = t, o = x([]), a = x([]), m = x({}), h = x(""), b = x({}), D = L(() => i.value.length === 0 ? [] : Object.keys(i.value[0]));
|
|
699
699
|
function F(S) {
|
|
700
700
|
const f = `${S}-${i.value.length}`;
|
|
701
701
|
return b.value[f] || (b.value[f] = El(i.value, S)), b.value[f];
|
|
@@ -703,7 +703,7 @@ function mn(t) {
|
|
|
703
703
|
function A() {
|
|
704
704
|
b.value = {};
|
|
705
705
|
}
|
|
706
|
-
const T =
|
|
706
|
+
const T = L(() => D.value.map((S) => {
|
|
707
707
|
const f = F(S);
|
|
708
708
|
return {
|
|
709
709
|
id: S,
|
|
@@ -711,7 +711,7 @@ function mn(t) {
|
|
|
711
711
|
header: S,
|
|
712
712
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
713
713
|
cell: (d) => Bl(d.getValue(), f.type),
|
|
714
|
-
filterFn:
|
|
714
|
+
filterFn: Kt,
|
|
715
715
|
meta: {
|
|
716
716
|
type: f.type,
|
|
717
717
|
uniqueCount: f.uniqueValues.length
|
|
@@ -748,13 +748,13 @@ function mn(t) {
|
|
|
748
748
|
getSortedRowModel: l ? Ll() : void 0,
|
|
749
749
|
getFilteredRowModel: s ? Al() : void 0,
|
|
750
750
|
filterFns: {
|
|
751
|
-
multiSelect:
|
|
751
|
+
multiSelect: Kt
|
|
752
752
|
},
|
|
753
753
|
enableSorting: l,
|
|
754
754
|
enableFilters: s
|
|
755
|
-
}), y =
|
|
755
|
+
}), y = L(() => M.getFilteredRowModel().rows.length), O = L(() => i.value.length), J = L(() => a.value.map((S) => {
|
|
756
756
|
const f = S.value;
|
|
757
|
-
return f &&
|
|
757
|
+
return f && ft(f) ? {
|
|
758
758
|
column: S.id,
|
|
759
759
|
type: "range",
|
|
760
760
|
range: f,
|
|
@@ -766,11 +766,11 @@ function mn(t) {
|
|
|
766
766
|
range: null
|
|
767
767
|
};
|
|
768
768
|
}));
|
|
769
|
-
function
|
|
769
|
+
function I(S) {
|
|
770
770
|
const f = M.getColumn(S);
|
|
771
771
|
if (!f) return !1;
|
|
772
772
|
const d = f.getFilterValue();
|
|
773
|
-
return d ?
|
|
773
|
+
return d ? ft(d) ? d.min !== null || d.max !== null : Array.isArray(d) && d.length > 0 : !1;
|
|
774
774
|
}
|
|
775
775
|
function q(S, f) {
|
|
776
776
|
const d = M.getColumn(S);
|
|
@@ -784,7 +784,7 @@ function mn(t) {
|
|
|
784
784
|
const f = M.getColumn(S);
|
|
785
785
|
if (!f) return null;
|
|
786
786
|
const d = f.getFilterValue();
|
|
787
|
-
return d &&
|
|
787
|
+
return d && ft(d) ? d : null;
|
|
788
788
|
}
|
|
789
789
|
function H() {
|
|
790
790
|
M.resetColumnFilters(), h.value = "", a.value = [];
|
|
@@ -795,11 +795,11 @@ function mn(t) {
|
|
|
795
795
|
const d = f.getFilterValue();
|
|
796
796
|
return Array.isArray(d) ? d : [];
|
|
797
797
|
}
|
|
798
|
-
function
|
|
798
|
+
function ne(S) {
|
|
799
799
|
const f = o.value.find((d) => d.id === S);
|
|
800
800
|
f ? f.desc ? o.value = [] : o.value = [{ id: S, desc: !0 }] : o.value = [{ id: S, desc: !1 }];
|
|
801
801
|
}
|
|
802
|
-
function
|
|
802
|
+
function j(S) {
|
|
803
803
|
const f = o.value.find((d) => d.id === S);
|
|
804
804
|
return f ? f.desc ? "desc" : "asc" : null;
|
|
805
805
|
}
|
|
@@ -813,48 +813,48 @@ function mn(t) {
|
|
|
813
813
|
columnFilters: a,
|
|
814
814
|
columnVisibility: m,
|
|
815
815
|
globalFilter: h,
|
|
816
|
-
columnKeys:
|
|
816
|
+
columnKeys: D,
|
|
817
817
|
// Computed
|
|
818
818
|
filteredRowCount: y,
|
|
819
819
|
totalRowCount: O,
|
|
820
|
-
activeFilters:
|
|
820
|
+
activeFilters: J,
|
|
821
821
|
// Methods
|
|
822
822
|
getColumnStats: F,
|
|
823
823
|
clearStatsCache: A,
|
|
824
|
-
hasActiveFilter:
|
|
824
|
+
hasActiveFilter: I,
|
|
825
825
|
setColumnFilter: q,
|
|
826
826
|
getColumnFilterValues: G,
|
|
827
827
|
clearAllFilters: H,
|
|
828
|
-
toggleSort:
|
|
829
|
-
getSortDirection:
|
|
828
|
+
toggleSort: ne,
|
|
829
|
+
getSortDirection: j,
|
|
830
830
|
// Numeric range filters
|
|
831
831
|
setNumericRangeFilter: E,
|
|
832
832
|
getNumericRangeFilter: P
|
|
833
833
|
};
|
|
834
834
|
}
|
|
835
|
-
const hn =
|
|
836
|
-
let
|
|
837
|
-
async function li(t) {
|
|
838
|
-
hn.value = t, Ct = tn(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.");
|
|
839
|
-
}
|
|
835
|
+
const hn = x(null), He = x(!1), xe = x(sn());
|
|
836
|
+
let kt = null;
|
|
840
837
|
async function ni(t) {
|
|
838
|
+
hn.value = t, kt = tn(t), xe.value = await kt, kt = null, xe.value.isValid ? xe.value.type !== "free" && console.info(`[TinyPivot] Pro license activated (${xe.value.type})`) : console.warn("[TinyPivot] Invalid or expired license key. Running in free mode.");
|
|
839
|
+
}
|
|
840
|
+
async function oi(t) {
|
|
841
841
|
const i = await an(t);
|
|
842
|
-
return i ? (He.value = !0,
|
|
842
|
+
return i ? (He.value = !0, xe.value = i, console.info("[TinyPivot] Demo mode enabled - all Pro features unlocked for evaluation"), !0) : (console.warn("[TinyPivot] Demo mode activation failed - invalid secret"), !1);
|
|
843
843
|
}
|
|
844
|
-
function
|
|
844
|
+
function ai(t) {
|
|
845
845
|
ln();
|
|
846
846
|
}
|
|
847
|
-
function
|
|
848
|
-
const t =
|
|
849
|
-
() => He.value ||
|
|
850
|
-
), o =
|
|
851
|
-
() => He.value ||
|
|
852
|
-
), a =
|
|
847
|
+
function ht() {
|
|
848
|
+
const t = L(() => He.value), i = L(() => He.value || un(xe.value)), l = L(() => He.value || rn(xe.value)), s = L(
|
|
849
|
+
() => He.value || xe.value.features.advancedAggregations
|
|
850
|
+
), o = L(
|
|
851
|
+
() => He.value || xe.value.features.percentageMode
|
|
852
|
+
), a = L(() => cn(xe.value, He.value));
|
|
853
853
|
function m(h) {
|
|
854
854
|
return i.value ? !0 : (vn(h), !1);
|
|
855
855
|
}
|
|
856
856
|
return {
|
|
857
|
-
licenseInfo:
|
|
857
|
+
licenseInfo: L(() => xe.value),
|
|
858
858
|
isDemo: t,
|
|
859
859
|
isPro: i,
|
|
860
860
|
canUsePivot: l,
|
|
@@ -865,18 +865,18 @@ function ft() {
|
|
|
865
865
|
};
|
|
866
866
|
}
|
|
867
867
|
function wn(t) {
|
|
868
|
-
const { canUsePivot: i, requirePro: l } =
|
|
868
|
+
const { canUsePivot: i, requirePro: l } = ht(), s = x([]), o = x([]), a = x([]), m = x(!0), h = x(!0), b = x(Qt()), D = x(null), F = L(() => Ol(t.value)), A = L(() => Wl(
|
|
869
869
|
F.value,
|
|
870
870
|
s.value,
|
|
871
871
|
o.value,
|
|
872
872
|
a.value
|
|
873
|
-
)), T =
|
|
873
|
+
)), T = L(() => Zt({
|
|
874
874
|
rowFields: s.value,
|
|
875
875
|
columnFields: o.value,
|
|
876
876
|
valueFields: a.value,
|
|
877
877
|
showRowTotals: m.value,
|
|
878
878
|
showColumnTotals: h.value
|
|
879
|
-
})), M =
|
|
879
|
+
})), M = L(() => !T.value || !i.value ? null : ql(t.value, {
|
|
880
880
|
rowFields: s.value,
|
|
881
881
|
columnFields: o.value,
|
|
882
882
|
valueFields: a.value,
|
|
@@ -890,22 +890,22 @@ function wn(t) {
|
|
|
890
890
|
function O(f) {
|
|
891
891
|
s.value = s.value.filter((d) => d !== f);
|
|
892
892
|
}
|
|
893
|
-
function
|
|
893
|
+
function J(f) {
|
|
894
894
|
o.value.includes(f) || (o.value = [...o.value, f]);
|
|
895
895
|
}
|
|
896
|
-
function
|
|
896
|
+
function I(f) {
|
|
897
897
|
o.value = o.value.filter((d) => d !== f);
|
|
898
898
|
}
|
|
899
899
|
function q(f, d = "sum") {
|
|
900
|
-
d !== "sum" && !l(`${d} aggregation`) || a.value.some((
|
|
900
|
+
d !== "sum" && !l(`${d} aggregation`) || a.value.some((v) => v.field === f && v.aggregation === d) || (a.value = [...a.value, { field: f, aggregation: d }]);
|
|
901
901
|
}
|
|
902
902
|
function E(f, d) {
|
|
903
903
|
d ? a.value = a.value.filter(
|
|
904
|
-
(
|
|
905
|
-
) : a.value = a.value.filter((
|
|
904
|
+
(v) => !(v.field === f && v.aggregation === d)
|
|
905
|
+
) : a.value = a.value.filter((v) => v.field !== f);
|
|
906
906
|
}
|
|
907
|
-
function P(f, d,
|
|
908
|
-
a.value = a.value.map((g) => g.field === f && g.aggregation === d ? { ...g, aggregation:
|
|
907
|
+
function P(f, d, v) {
|
|
908
|
+
a.value = a.value.map((g) => g.field === f && g.aggregation === d ? { ...g, aggregation: v } : g);
|
|
909
909
|
}
|
|
910
910
|
function H() {
|
|
911
911
|
s.value = [], o.value = [], a.value = [];
|
|
@@ -913,39 +913,39 @@ function wn(t) {
|
|
|
913
913
|
function G(f, d) {
|
|
914
914
|
if (f.area === d.area) {
|
|
915
915
|
if (f.area === "row") {
|
|
916
|
-
const
|
|
917
|
-
|
|
916
|
+
const v = [...s.value], [g] = v.splice(f.index, 1);
|
|
917
|
+
v.splice(d.index, 0, g), s.value = v;
|
|
918
918
|
} else if (f.area === "column") {
|
|
919
|
-
const
|
|
920
|
-
|
|
919
|
+
const v = [...o.value], [g] = v.splice(f.index, 1);
|
|
920
|
+
v.splice(d.index, 0, g), o.value = v;
|
|
921
921
|
}
|
|
922
922
|
}
|
|
923
923
|
}
|
|
924
|
-
function
|
|
924
|
+
function ne() {
|
|
925
925
|
if (!l("Pivot Table - Auto Suggest") || F.value.length === 0) return;
|
|
926
|
-
const f = F.value.filter((
|
|
926
|
+
const f = F.value.filter((v) => !v.isNumeric && v.uniqueCount < 50), d = F.value.filter((v) => v.isNumeric);
|
|
927
927
|
f.length > 0 && d.length > 0 && (s.value = [f[0].field], a.value = [{ field: d[0].field, aggregation: "sum" }]);
|
|
928
928
|
}
|
|
929
|
-
function
|
|
930
|
-
const d = b.value.findIndex((
|
|
929
|
+
function j(f) {
|
|
930
|
+
const d = b.value.findIndex((v) => v.id === f.id);
|
|
931
931
|
d >= 0 ? b.value = [
|
|
932
932
|
...b.value.slice(0, d),
|
|
933
933
|
f,
|
|
934
934
|
...b.value.slice(d + 1)
|
|
935
|
-
] : b.value = [...b.value, f],
|
|
935
|
+
] : b.value = [...b.value, f], it(b.value);
|
|
936
936
|
}
|
|
937
937
|
function S(f) {
|
|
938
|
-
b.value = b.value.filter((d) => d.id !== f), a.value = a.value.filter((d) => d.field !== `calc:${f}`),
|
|
938
|
+
b.value = b.value.filter((d) => d.id !== f), a.value = a.value.filter((d) => d.field !== `calc:${f}`), it(b.value);
|
|
939
939
|
}
|
|
940
940
|
return Te(
|
|
941
941
|
t,
|
|
942
942
|
(f) => {
|
|
943
943
|
if (f.length === 0) return;
|
|
944
|
-
const d = Object.keys(f[0]),
|
|
945
|
-
if (
|
|
946
|
-
|
|
947
|
-
const g =
|
|
948
|
-
if (g &&
|
|
944
|
+
const d = Object.keys(f[0]), v = Yl(d);
|
|
945
|
+
if (v !== D.value) {
|
|
946
|
+
D.value = v;
|
|
947
|
+
const g = Xl(v);
|
|
948
|
+
if (g && yt(g, d))
|
|
949
949
|
s.value = g.rowFields, o.value = g.columnFields, a.value = g.valueFields, m.value = g.showRowTotals, h.value = g.showColumnTotals, g.calculatedFields && (b.value = g.calculatedFields);
|
|
950
950
|
else {
|
|
951
951
|
const k = {
|
|
@@ -955,7 +955,7 @@ function wn(t) {
|
|
|
955
955
|
showRowTotals: m.value,
|
|
956
956
|
showColumnTotals: h.value
|
|
957
957
|
};
|
|
958
|
-
|
|
958
|
+
yt(k, d) || H();
|
|
959
959
|
}
|
|
960
960
|
} else {
|
|
961
961
|
const g = {
|
|
@@ -965,14 +965,14 @@ function wn(t) {
|
|
|
965
965
|
showRowTotals: m.value,
|
|
966
966
|
showColumnTotals: h.value
|
|
967
967
|
};
|
|
968
|
-
|
|
968
|
+
yt(g, d) || H();
|
|
969
969
|
}
|
|
970
970
|
},
|
|
971
971
|
{ immediate: !0 }
|
|
972
972
|
), Te(
|
|
973
973
|
[s, o, a, m, h, b],
|
|
974
974
|
() => {
|
|
975
|
-
if (!
|
|
975
|
+
if (!D.value) return;
|
|
976
976
|
const f = {
|
|
977
977
|
rowFields: s.value,
|
|
978
978
|
columnFields: o.value,
|
|
@@ -981,7 +981,7 @@ function wn(t) {
|
|
|
981
981
|
showColumnTotals: h.value,
|
|
982
982
|
calculatedFields: b.value
|
|
983
983
|
};
|
|
984
|
-
|
|
984
|
+
Il(D.value, f);
|
|
985
985
|
},
|
|
986
986
|
{ deep: !0 }
|
|
987
987
|
), {
|
|
@@ -1000,22 +1000,22 @@ function wn(t) {
|
|
|
1000
1000
|
// Actions
|
|
1001
1001
|
addRowField: y,
|
|
1002
1002
|
removeRowField: O,
|
|
1003
|
-
addColumnField:
|
|
1004
|
-
removeColumnField:
|
|
1003
|
+
addColumnField: J,
|
|
1004
|
+
removeColumnField: I,
|
|
1005
1005
|
addValueField: q,
|
|
1006
1006
|
removeValueField: E,
|
|
1007
1007
|
updateValueFieldAggregation: P,
|
|
1008
1008
|
clearConfig: H,
|
|
1009
1009
|
moveField: G,
|
|
1010
|
-
autoSuggestConfig:
|
|
1011
|
-
addCalculatedField:
|
|
1010
|
+
autoSuggestConfig: ne,
|
|
1011
|
+
addCalculatedField: j,
|
|
1012
1012
|
removeCalculatedField: S
|
|
1013
1013
|
};
|
|
1014
1014
|
}
|
|
1015
|
-
function
|
|
1015
|
+
function Cn(t, i, l) {
|
|
1016
1016
|
dn(t, i, l);
|
|
1017
1017
|
}
|
|
1018
|
-
function
|
|
1018
|
+
function bn(t, i, l, s, o) {
|
|
1019
1019
|
gn(t, i, l, s, o);
|
|
1020
1020
|
}
|
|
1021
1021
|
function yn(t, i, l) {
|
|
@@ -1024,19 +1024,19 @@ function yn(t, i, l) {
|
|
|
1024
1024
|
function kn(t, i, l) {
|
|
1025
1025
|
return fn(t, i, l);
|
|
1026
1026
|
}
|
|
1027
|
-
function
|
|
1028
|
-
const l =
|
|
1027
|
+
function si(t, i = {}) {
|
|
1028
|
+
const l = x(i.pageSize ?? 50), s = x(i.currentPage ?? 1), o = L(
|
|
1029
1029
|
() => Math.max(1, Math.ceil(t.value.length / l.value))
|
|
1030
|
-
), a =
|
|
1030
|
+
), a = L(() => {
|
|
1031
1031
|
const y = (s.value - 1) * l.value, O = y + l.value;
|
|
1032
1032
|
return t.value.slice(y, O);
|
|
1033
|
-
}), m =
|
|
1033
|
+
}), m = L(() => (s.value - 1) * l.value + 1), h = L(
|
|
1034
1034
|
() => Math.min(s.value * l.value, t.value.length)
|
|
1035
1035
|
);
|
|
1036
1036
|
function b(y) {
|
|
1037
1037
|
s.value = Math.max(1, Math.min(y, o.value));
|
|
1038
1038
|
}
|
|
1039
|
-
function
|
|
1039
|
+
function D() {
|
|
1040
1040
|
s.value < o.value && s.value++;
|
|
1041
1041
|
}
|
|
1042
1042
|
function F() {
|
|
@@ -1059,23 +1059,23 @@ function ai(t, i = {}) {
|
|
|
1059
1059
|
startIndex: m,
|
|
1060
1060
|
endIndex: h,
|
|
1061
1061
|
goToPage: b,
|
|
1062
|
-
nextPage:
|
|
1062
|
+
nextPage: D,
|
|
1063
1063
|
prevPage: F,
|
|
1064
1064
|
firstPage: A,
|
|
1065
1065
|
lastPage: T,
|
|
1066
1066
|
setPageSize: M
|
|
1067
1067
|
};
|
|
1068
1068
|
}
|
|
1069
|
-
function
|
|
1070
|
-
const l =
|
|
1069
|
+
function ii(t, i) {
|
|
1070
|
+
const l = x(""), s = x(!1), o = L(() => {
|
|
1071
1071
|
if (!l.value.trim())
|
|
1072
1072
|
return t.value;
|
|
1073
1073
|
const m = s.value ? l.value.trim() : l.value.trim().toLowerCase();
|
|
1074
1074
|
return t.value.filter((h) => {
|
|
1075
1075
|
for (const b of i.value) {
|
|
1076
|
-
const
|
|
1077
|
-
if (
|
|
1078
|
-
if ((s.value ? String(
|
|
1076
|
+
const D = h[b];
|
|
1077
|
+
if (D == null) continue;
|
|
1078
|
+
if ((s.value ? String(D) : String(D).toLowerCase()).includes(m))
|
|
1079
1079
|
return !0;
|
|
1080
1080
|
}
|
|
1081
1081
|
return !1;
|
|
@@ -1091,8 +1091,8 @@ function si(t, i) {
|
|
|
1091
1091
|
clearSearch: a
|
|
1092
1092
|
};
|
|
1093
1093
|
}
|
|
1094
|
-
function
|
|
1095
|
-
const i =
|
|
1094
|
+
function ri(t) {
|
|
1095
|
+
const i = x(/* @__PURE__ */ new Set()), l = L(() => Array.from(i.value).sort((M, y) => M - y).map((M) => t.value[M]).filter(Boolean)), s = L(() => t.value.length > 0 && i.value.size === t.value.length), o = L(() => i.value.size > 0 && i.value.size < t.value.length);
|
|
1096
1096
|
function a(M) {
|
|
1097
1097
|
i.value.has(M) ? i.value.delete(M) : i.value.add(M), i.value = new Set(i.value);
|
|
1098
1098
|
}
|
|
@@ -1105,19 +1105,19 @@ function ii(t) {
|
|
|
1105
1105
|
function b() {
|
|
1106
1106
|
i.value = new Set(t.value.map((M, y) => y));
|
|
1107
1107
|
}
|
|
1108
|
-
function
|
|
1108
|
+
function D() {
|
|
1109
1109
|
i.value = /* @__PURE__ */ new Set();
|
|
1110
1110
|
}
|
|
1111
1111
|
function F() {
|
|
1112
|
-
s.value ?
|
|
1112
|
+
s.value ? D() : b();
|
|
1113
1113
|
}
|
|
1114
1114
|
function A(M) {
|
|
1115
1115
|
return i.value.has(M);
|
|
1116
1116
|
}
|
|
1117
1117
|
function T(M, y) {
|
|
1118
|
-
const O = Math.min(M, y),
|
|
1119
|
-
for (let
|
|
1120
|
-
i.value.add(
|
|
1118
|
+
const O = Math.min(M, y), J = Math.max(M, y);
|
|
1119
|
+
for (let I = O; I <= J; I++)
|
|
1120
|
+
i.value.add(I);
|
|
1121
1121
|
i.value = new Set(i.value);
|
|
1122
1122
|
}
|
|
1123
1123
|
return {
|
|
@@ -1129,31 +1129,31 @@ function ii(t) {
|
|
|
1129
1129
|
selectRow: m,
|
|
1130
1130
|
deselectRow: h,
|
|
1131
1131
|
selectAll: b,
|
|
1132
|
-
deselectAll:
|
|
1132
|
+
deselectAll: D,
|
|
1133
1133
|
toggleAll: F,
|
|
1134
1134
|
isSelected: A,
|
|
1135
1135
|
selectRange: T
|
|
1136
1136
|
};
|
|
1137
1137
|
}
|
|
1138
|
-
function
|
|
1139
|
-
const s =
|
|
1140
|
-
function m(
|
|
1141
|
-
o.value = !0, a.value =
|
|
1142
|
-
const A = F.clientX, T = s.value[
|
|
1143
|
-
const
|
|
1138
|
+
function ui(t, i = 60, l = 600) {
|
|
1139
|
+
const s = x({ ...t.value }), o = x(!1), a = x(null);
|
|
1140
|
+
function m(D, F) {
|
|
1141
|
+
o.value = !0, a.value = D;
|
|
1142
|
+
const A = F.clientX, T = s.value[D] || 150, M = (O) => {
|
|
1143
|
+
const J = O.clientX - A, I = Math.max(i, Math.min(l, T + J));
|
|
1144
1144
|
s.value = {
|
|
1145
1145
|
...s.value,
|
|
1146
|
-
[
|
|
1146
|
+
[D]: I
|
|
1147
1147
|
};
|
|
1148
1148
|
}, y = () => {
|
|
1149
1149
|
o.value = !1, a.value = null, document.removeEventListener("mousemove", M), document.removeEventListener("mouseup", y);
|
|
1150
1150
|
};
|
|
1151
1151
|
document.addEventListener("mousemove", M), document.addEventListener("mouseup", y);
|
|
1152
1152
|
}
|
|
1153
|
-
function h(
|
|
1154
|
-
t.value[
|
|
1153
|
+
function h(D) {
|
|
1154
|
+
t.value[D] && (s.value = {
|
|
1155
1155
|
...s.value,
|
|
1156
|
-
[
|
|
1156
|
+
[D]: t.value[D]
|
|
1157
1157
|
});
|
|
1158
1158
|
}
|
|
1159
1159
|
function b() {
|
|
@@ -1168,10 +1168,10 @@ function ri(t, i = 60, l = 600) {
|
|
|
1168
1168
|
resetAllWidths: b
|
|
1169
1169
|
};
|
|
1170
1170
|
}
|
|
1171
|
-
const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" },
|
|
1171
|
+
const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, $n = { class: "vpg-range-bounds" }, xn = { class: "vpg-slider-container" }, Mn = { class: "vpg-slider-track" }, Rn = ["min", "max", "step", "value"], Dn = ["min", "max", "step", "value"], Vn = { class: "vpg-range-inputs" }, Tn = { class: "vpg-input-group" }, An = ["placeholder", "value", "step"], Ln = { class: "vpg-input-group" }, Nn = ["placeholder", "value", "step"], Pn = { class: "vpg-range-actions" }, zn = ["disabled"], En = {
|
|
1172
1172
|
key: 0,
|
|
1173
1173
|
class: "vpg-filter-summary"
|
|
1174
|
-
}, Bn = /* @__PURE__ */
|
|
1174
|
+
}, Bn = /* @__PURE__ */ tt({
|
|
1175
1175
|
__name: "NumericRangeFilter",
|
|
1176
1176
|
props: {
|
|
1177
1177
|
dataMin: {},
|
|
@@ -1181,10 +1181,10 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1181
1181
|
emits: ["change"],
|
|
1182
1182
|
setup(t, { emit: i }) {
|
|
1183
1183
|
var q, E;
|
|
1184
|
-
const l = t, s = i, o =
|
|
1184
|
+
const l = t, s = i, o = x(((q = l.currentRange) == null ? void 0 : q.min) ?? null), a = x(((E = l.currentRange) == null ? void 0 : E.max) ?? null), m = L(() => {
|
|
1185
1185
|
const P = l.dataMax - l.dataMin;
|
|
1186
1186
|
return P === 0 ? 1 : P <= 1 ? 0.01 : P <= 10 ? 0.1 : P <= 100 ? 1 : P <= 1e3 ? 10 : Math.pow(10, Math.floor(Math.log10(P)) - 2);
|
|
1187
|
-
}), h = (P) => P === null ? "" : Number.isInteger(P) ? P.toLocaleString() : P.toLocaleString(void 0, { maximumFractionDigits: 2 }), b =
|
|
1187
|
+
}), h = (P) => P === null ? "" : Number.isInteger(P) ? P.toLocaleString() : P.toLocaleString(void 0, { maximumFractionDigits: 2 }), b = L(() => o.value !== null || a.value !== null), D = L(() => o.value === null || l.dataMax === l.dataMin ? 0 : (o.value - l.dataMin) / (l.dataMax - l.dataMin) * 100), F = L(() => a.value === null || l.dataMax === l.dataMin ? 100 : (a.value - l.dataMin) / (l.dataMax - l.dataMin) * 100);
|
|
1188
1188
|
function A(P) {
|
|
1189
1189
|
const H = P.target, G = Number.parseFloat(H.value);
|
|
1190
1190
|
a.value !== null && G > a.value ? o.value = a.value : o.value = G;
|
|
@@ -1202,27 +1202,27 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1202
1202
|
G !== null && !Number.isNaN(G) ? a.value = Math.min(l.dataMax, Math.max(G, o.value ?? l.dataMin)) : G === null && (a.value = null);
|
|
1203
1203
|
}
|
|
1204
1204
|
function O() {
|
|
1205
|
-
o.value = null, a.value = null,
|
|
1205
|
+
o.value = null, a.value = null, I();
|
|
1206
1206
|
}
|
|
1207
|
-
function
|
|
1208
|
-
o.value = l.dataMin, a.value = l.dataMax,
|
|
1207
|
+
function J() {
|
|
1208
|
+
o.value = l.dataMin, a.value = l.dataMax, I();
|
|
1209
1209
|
}
|
|
1210
|
-
function
|
|
1210
|
+
function I() {
|
|
1211
1211
|
o.value === null && a.value === null ? s("change", null) : s("change", { min: o.value, max: a.value });
|
|
1212
1212
|
}
|
|
1213
1213
|
return Te(() => l.currentRange, (P) => {
|
|
1214
1214
|
o.value = (P == null ? void 0 : P.min) ?? null, a.value = (P == null ? void 0 : P.max) ?? null;
|
|
1215
|
-
}, { immediate: !0 }), (P, H) => (u(),
|
|
1215
|
+
}, { immediate: !0 }), (P, H) => (u(), c("div", Fn, [
|
|
1216
1216
|
e("div", Sn, [
|
|
1217
1217
|
H[0] || (H[0] = e("span", { class: "vpg-range-label" }, "Data range:", -1)),
|
|
1218
|
-
e("span",
|
|
1218
|
+
e("span", $n, $(h(t.dataMin)) + " – " + $(h(t.dataMax)), 1)
|
|
1219
1219
|
]),
|
|
1220
|
-
e("div",
|
|
1220
|
+
e("div", xn, [
|
|
1221
1221
|
e("div", Mn, [
|
|
1222
1222
|
e("div", {
|
|
1223
1223
|
class: "vpg-slider-fill",
|
|
1224
1224
|
style: Fe({
|
|
1225
|
-
left: `${
|
|
1225
|
+
left: `${D.value}%`,
|
|
1226
1226
|
right: `${100 - F.value}%`
|
|
1227
1227
|
})
|
|
1228
1228
|
}, null, 4)
|
|
@@ -1235,7 +1235,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1235
1235
|
step: m.value,
|
|
1236
1236
|
value: o.value ?? t.dataMin,
|
|
1237
1237
|
onInput: A,
|
|
1238
|
-
onChange:
|
|
1238
|
+
onChange: I
|
|
1239
1239
|
}, null, 40, Rn),
|
|
1240
1240
|
e("input", {
|
|
1241
1241
|
type: "range",
|
|
@@ -1245,7 +1245,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1245
1245
|
step: m.value,
|
|
1246
1246
|
value: a.value ?? t.dataMax,
|
|
1247
1247
|
onInput: T,
|
|
1248
|
-
onChange:
|
|
1248
|
+
onChange: I
|
|
1249
1249
|
}, null, 40, Dn)
|
|
1250
1250
|
]),
|
|
1251
1251
|
e("div", Vn, [
|
|
@@ -1258,7 +1258,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1258
1258
|
value: o.value ?? "",
|
|
1259
1259
|
step: m.value,
|
|
1260
1260
|
onInput: M,
|
|
1261
|
-
onChange:
|
|
1261
|
+
onChange: I
|
|
1262
1262
|
}, null, 40, An)
|
|
1263
1263
|
]),
|
|
1264
1264
|
H[3] || (H[3] = e("span", { class: "vpg-input-separator" }, "to", -1)),
|
|
@@ -1271,7 +1271,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1271
1271
|
value: a.value ?? "",
|
|
1272
1272
|
step: m.value,
|
|
1273
1273
|
onInput: y,
|
|
1274
|
-
onChange:
|
|
1274
|
+
onChange: I
|
|
1275
1275
|
}, null, 40, Nn)
|
|
1276
1276
|
])
|
|
1277
1277
|
]),
|
|
@@ -1294,11 +1294,11 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1294
1294
|
d: "M6 18L18 6M6 6l12 12"
|
|
1295
1295
|
})
|
|
1296
1296
|
], -1),
|
|
1297
|
-
|
|
1297
|
+
te(" Clear ", -1)
|
|
1298
1298
|
])], 8, zn),
|
|
1299
1299
|
e("button", {
|
|
1300
1300
|
class: "vpg-range-btn",
|
|
1301
|
-
onClick:
|
|
1301
|
+
onClick: J
|
|
1302
1302
|
}, [...H[5] || (H[5] = [
|
|
1303
1303
|
e("svg", {
|
|
1304
1304
|
class: "vpg-icon-xs",
|
|
@@ -1313,10 +1313,10 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1313
1313
|
d: "M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"
|
|
1314
1314
|
})
|
|
1315
1315
|
], -1),
|
|
1316
|
-
|
|
1316
|
+
te(" Full Range ", -1)
|
|
1317
1317
|
])])
|
|
1318
1318
|
]),
|
|
1319
|
-
b.value ? (u(),
|
|
1319
|
+
b.value ? (u(), c("div", En, [
|
|
1320
1320
|
H[7] || (H[7] = e("svg", {
|
|
1321
1321
|
class: "vpg-icon-xs",
|
|
1322
1322
|
fill: "none",
|
|
@@ -1331,26 +1331,26 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1331
1331
|
})
|
|
1332
1332
|
], -1)),
|
|
1333
1333
|
e("span", null, [
|
|
1334
|
-
H[6] || (H[6] =
|
|
1335
|
-
e("strong", null,
|
|
1336
|
-
|
|
1337
|
-
e("strong", null,
|
|
1334
|
+
H[6] || (H[6] = te(" Showing values ", -1)),
|
|
1335
|
+
e("strong", null, $(o.value !== null ? `≥ ${h(o.value)}` : ""), 1),
|
|
1336
|
+
te(" " + $(o.value !== null && a.value !== null ? " and " : "") + " ", 1),
|
|
1337
|
+
e("strong", null, $(a.value !== null ? `≤ ${h(a.value)}` : ""), 1)
|
|
1338
1338
|
])
|
|
1339
1339
|
])) : z("", !0)
|
|
1340
1340
|
]));
|
|
1341
1341
|
}
|
|
1342
|
-
}),
|
|
1342
|
+
}), lt = (t, i) => {
|
|
1343
1343
|
const l = t.__vccOpts || t;
|
|
1344
1344
|
for (const [s, o] of i)
|
|
1345
1345
|
l[s] = o;
|
|
1346
1346
|
return l;
|
|
1347
|
-
}, Un = /* @__PURE__ */
|
|
1347
|
+
}, Un = /* @__PURE__ */ lt(Bn, [["__scopeId", "data-v-0c361932"]]), jn = { class: "vpg-filter-header" }, Hn = { class: "vpg-filter-title" }, Kn = { class: "vpg-filter-count" }, On = { class: "vpg-sort-controls" }, Wn = ["title"], qn = ["title"], Gn = {
|
|
1348
1348
|
key: 0,
|
|
1349
1349
|
class: "vpg-filter-tabs"
|
|
1350
|
-
}, Yn = { class: "vpg-search-container" },
|
|
1350
|
+
}, Yn = { class: "vpg-search-container" }, In = { class: "vpg-values-list" }, Xn = ["checked", "onChange"], Zn = {
|
|
1351
1351
|
key: 0,
|
|
1352
1352
|
class: "vpg-no-results"
|
|
1353
|
-
},
|
|
1353
|
+
}, _n = /* @__PURE__ */ tt({
|
|
1354
1354
|
__name: "ColumnFilter",
|
|
1355
1355
|
props: {
|
|
1356
1356
|
columnId: {},
|
|
@@ -1362,22 +1362,22 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1362
1362
|
},
|
|
1363
1363
|
emits: ["filter", "sort", "close", "rangeFilter"],
|
|
1364
1364
|
setup(t, { emit: i }) {
|
|
1365
|
-
const l = t, s = i, o =
|
|
1366
|
-
|
|
1365
|
+
const l = t, s = i, o = x(""), a = x(), m = x(), h = L(() => l.stats.type === "number" && l.stats.numericMin !== void 0 && l.stats.numericMax !== void 0), b = x(l.numericRange ? "range" : "values"), D = x(l.numericRange ?? null);
|
|
1366
|
+
L(() => {
|
|
1367
1367
|
const d = [...l.stats.uniqueValues];
|
|
1368
1368
|
return l.stats.nullCount > 0 && d.unshift("(blank)"), d;
|
|
1369
1369
|
});
|
|
1370
|
-
const F =
|
|
1370
|
+
const F = x(new Set(l.selectedValues)), A = L(() => l.stats.nullCount > 0), T = L(() => {
|
|
1371
1371
|
const d = l.stats.uniqueValues;
|
|
1372
1372
|
if (!o.value)
|
|
1373
1373
|
return d;
|
|
1374
|
-
const
|
|
1375
|
-
return d.filter((g) => g.toLowerCase().includes(
|
|
1376
|
-
}), M =
|
|
1374
|
+
const v = o.value.toLowerCase();
|
|
1375
|
+
return d.filter((g) => g.toLowerCase().includes(v));
|
|
1376
|
+
}), M = L(() => {
|
|
1377
1377
|
const d = [...T.value];
|
|
1378
1378
|
return A.value && (!o.value || "(blank)".includes(o.value.toLowerCase())) && d.unshift("(blank)"), d;
|
|
1379
1379
|
});
|
|
1380
|
-
|
|
1380
|
+
L(() => M.value.every((d) => F.value.has(d))), L(() => F.value.size === 0);
|
|
1381
1381
|
function y(d) {
|
|
1382
1382
|
F.value.has(d) ? F.value.delete(d) : F.value.add(d), F.value = new Set(F.value);
|
|
1383
1383
|
}
|
|
@@ -1386,10 +1386,10 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1386
1386
|
F.value.add(d);
|
|
1387
1387
|
F.value = new Set(F.value);
|
|
1388
1388
|
}
|
|
1389
|
-
function
|
|
1389
|
+
function J() {
|
|
1390
1390
|
F.value.clear(), F.value = new Set(F.value);
|
|
1391
1391
|
}
|
|
1392
|
-
function
|
|
1392
|
+
function I() {
|
|
1393
1393
|
F.value.size === 0 ? s("filter", []) : s("filter", Array.from(F.value)), s("close");
|
|
1394
1394
|
}
|
|
1395
1395
|
function q() {
|
|
@@ -1402,50 +1402,50 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1402
1402
|
F.value.clear(), F.value = new Set(F.value), s("filter", []), s("close");
|
|
1403
1403
|
}
|
|
1404
1404
|
function H(d) {
|
|
1405
|
-
|
|
1405
|
+
D.value = d;
|
|
1406
1406
|
}
|
|
1407
1407
|
function G() {
|
|
1408
|
-
s("rangeFilter",
|
|
1408
|
+
s("rangeFilter", D.value), s("close");
|
|
1409
1409
|
}
|
|
1410
|
-
function
|
|
1411
|
-
|
|
1410
|
+
function ne() {
|
|
1411
|
+
D.value = null, s("rangeFilter", null), s("close");
|
|
1412
1412
|
}
|
|
1413
|
-
function
|
|
1413
|
+
function j(d) {
|
|
1414
1414
|
b.value = d;
|
|
1415
1415
|
}
|
|
1416
1416
|
function S(d) {
|
|
1417
1417
|
a.value && !a.value.contains(d.target) && s("close");
|
|
1418
1418
|
}
|
|
1419
1419
|
function f(d) {
|
|
1420
|
-
d.key === "Escape" ? s("close") : d.key === "Enter" && d.ctrlKey &&
|
|
1420
|
+
d.key === "Escape" ? s("close") : d.key === "Enter" && d.ctrlKey && I();
|
|
1421
1421
|
}
|
|
1422
|
-
return
|
|
1423
|
-
|
|
1422
|
+
return Ft(() => {
|
|
1423
|
+
st(() => {
|
|
1424
1424
|
var d;
|
|
1425
1425
|
(d = m.value) == null || d.focus();
|
|
1426
1426
|
}), document.addEventListener("mousedown", S), document.addEventListener("keydown", f);
|
|
1427
|
-
}),
|
|
1427
|
+
}), St(() => {
|
|
1428
1428
|
document.removeEventListener("mousedown", S), document.removeEventListener("keydown", f);
|
|
1429
1429
|
}), Te(() => l.selectedValues, (d) => {
|
|
1430
1430
|
F.value = new Set(d);
|
|
1431
1431
|
}, { immediate: !0 }), Te(() => l.numericRange, (d) => {
|
|
1432
|
-
|
|
1433
|
-
}, { immediate: !0 }), (d,
|
|
1432
|
+
D.value = d ?? null, d && (b.value = "range");
|
|
1433
|
+
}, { immediate: !0 }), (d, v) => (u(), c("div", {
|
|
1434
1434
|
ref_key: "dropdownRef",
|
|
1435
1435
|
ref: a,
|
|
1436
1436
|
class: "vpg-filter-dropdown"
|
|
1437
1437
|
}, [
|
|
1438
1438
|
e("div", jn, [
|
|
1439
|
-
e("span", Hn,
|
|
1440
|
-
e("span", Kn,
|
|
1439
|
+
e("span", Hn, $(t.columnName), 1),
|
|
1440
|
+
e("span", Kn, $(t.stats.uniqueValues.length.toLocaleString()) + " unique ", 1)
|
|
1441
1441
|
]),
|
|
1442
1442
|
e("div", On, [
|
|
1443
1443
|
e("button", {
|
|
1444
|
-
class:
|
|
1444
|
+
class: Q(["vpg-sort-btn", { active: t.sortDirection === "asc" }]),
|
|
1445
1445
|
title: h.value ? "Sort Low to High" : "Sort A to Z",
|
|
1446
1446
|
onClick: q
|
|
1447
1447
|
}, [
|
|
1448
|
-
|
|
1448
|
+
v[4] || (v[4] = e("svg", {
|
|
1449
1449
|
class: "vpg-icon-sm",
|
|
1450
1450
|
fill: "none",
|
|
1451
1451
|
stroke: "currentColor",
|
|
@@ -1458,14 +1458,14 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1458
1458
|
d: "M3 4h13M3 8h9m-9 4h6m4 0l4-4m0 0l4 4m-4-4v12"
|
|
1459
1459
|
})
|
|
1460
1460
|
], -1)),
|
|
1461
|
-
e("span", null,
|
|
1461
|
+
e("span", null, $(h.value ? "1→9" : "A→Z"), 1)
|
|
1462
1462
|
], 10, Wn),
|
|
1463
1463
|
e("button", {
|
|
1464
|
-
class:
|
|
1464
|
+
class: Q(["vpg-sort-btn", { active: t.sortDirection === "desc" }]),
|
|
1465
1465
|
title: h.value ? "Sort High to Low" : "Sort Z to A",
|
|
1466
1466
|
onClick: E
|
|
1467
1467
|
}, [
|
|
1468
|
-
|
|
1468
|
+
v[5] || (v[5] = e("svg", {
|
|
1469
1469
|
class: "vpg-icon-sm",
|
|
1470
1470
|
fill: "none",
|
|
1471
1471
|
stroke: "currentColor",
|
|
@@ -1478,15 +1478,15 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1478
1478
|
d: "M3 4h13M3 8h9m-9 4h9m5-4v12m0 0l-4-4m4 4l4-4"
|
|
1479
1479
|
})
|
|
1480
1480
|
], -1)),
|
|
1481
|
-
e("span", null,
|
|
1481
|
+
e("span", null, $(h.value ? "9→1" : "Z→A"), 1)
|
|
1482
1482
|
], 10, qn)
|
|
1483
1483
|
]),
|
|
1484
|
-
|
|
1485
|
-
h.value ? (u(),
|
|
1484
|
+
v[11] || (v[11] = e("div", { class: "vpg-divider" }, null, -1)),
|
|
1485
|
+
h.value ? (u(), c("div", Gn, [
|
|
1486
1486
|
e("button", {
|
|
1487
|
-
class:
|
|
1488
|
-
onClick:
|
|
1489
|
-
}, [...
|
|
1487
|
+
class: Q(["vpg-tab-btn", { active: b.value === "values" }]),
|
|
1488
|
+
onClick: v[0] || (v[0] = (g) => j("values"))
|
|
1489
|
+
}, [...v[6] || (v[6] = [
|
|
1490
1490
|
e("svg", {
|
|
1491
1491
|
class: "vpg-icon-sm",
|
|
1492
1492
|
fill: "none",
|
|
@@ -1500,12 +1500,12 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1500
1500
|
d: "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"
|
|
1501
1501
|
})
|
|
1502
1502
|
], -1),
|
|
1503
|
-
|
|
1503
|
+
te(" Values ", -1)
|
|
1504
1504
|
])], 2),
|
|
1505
1505
|
e("button", {
|
|
1506
|
-
class:
|
|
1507
|
-
onClick:
|
|
1508
|
-
}, [...
|
|
1506
|
+
class: Q(["vpg-tab-btn", { active: b.value === "range" }]),
|
|
1507
|
+
onClick: v[1] || (v[1] = (g) => j("range"))
|
|
1508
|
+
}, [...v[7] || (v[7] = [
|
|
1509
1509
|
e("svg", {
|
|
1510
1510
|
class: "vpg-icon-sm",
|
|
1511
1511
|
fill: "none",
|
|
@@ -1519,12 +1519,12 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1519
1519
|
d: "M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01"
|
|
1520
1520
|
})
|
|
1521
1521
|
], -1),
|
|
1522
|
-
|
|
1522
|
+
te(" Range ", -1)
|
|
1523
1523
|
])], 2)
|
|
1524
1524
|
])) : z("", !0),
|
|
1525
|
-
!h.value || b.value === "values" ? (u(),
|
|
1525
|
+
!h.value || b.value === "values" ? (u(), c(X, { key: 1 }, [
|
|
1526
1526
|
e("div", Yn, [
|
|
1527
|
-
|
|
1527
|
+
v[8] || (v[8] = e("svg", {
|
|
1528
1528
|
class: "vpg-search-icon",
|
|
1529
1529
|
fill: "none",
|
|
1530
1530
|
stroke: "currentColor",
|
|
@@ -1540,24 +1540,24 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1540
1540
|
Ke(e("input", {
|
|
1541
1541
|
ref_key: "searchInputRef",
|
|
1542
1542
|
ref: m,
|
|
1543
|
-
"onUpdate:modelValue":
|
|
1543
|
+
"onUpdate:modelValue": v[2] || (v[2] = (g) => o.value = g),
|
|
1544
1544
|
type: "text",
|
|
1545
1545
|
placeholder: "Search values...",
|
|
1546
1546
|
class: "vpg-search-input"
|
|
1547
1547
|
}, null, 512), [
|
|
1548
|
-
[
|
|
1548
|
+
[et, o.value]
|
|
1549
1549
|
]),
|
|
1550
|
-
o.value ? (u(),
|
|
1550
|
+
o.value ? (u(), c("button", {
|
|
1551
1551
|
key: 0,
|
|
1552
1552
|
class: "vpg-clear-search",
|
|
1553
|
-
onClick:
|
|
1553
|
+
onClick: v[3] || (v[3] = (g) => o.value = "")
|
|
1554
1554
|
}, " × ")) : z("", !0)
|
|
1555
1555
|
]),
|
|
1556
1556
|
e("div", { class: "vpg-bulk-actions" }, [
|
|
1557
1557
|
e("button", {
|
|
1558
1558
|
class: "vpg-bulk-btn",
|
|
1559
1559
|
onClick: O
|
|
1560
|
-
}, [...
|
|
1560
|
+
}, [...v[9] || (v[9] = [
|
|
1561
1561
|
e("svg", {
|
|
1562
1562
|
class: "vpg-icon-sm",
|
|
1563
1563
|
fill: "none",
|
|
@@ -1571,12 +1571,12 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1571
1571
|
d: "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
1572
1572
|
})
|
|
1573
1573
|
], -1),
|
|
1574
|
-
|
|
1574
|
+
te(" Select All ", -1)
|
|
1575
1575
|
])]),
|
|
1576
1576
|
e("button", {
|
|
1577
1577
|
class: "vpg-bulk-btn",
|
|
1578
|
-
onClick:
|
|
1579
|
-
}, [...
|
|
1578
|
+
onClick: J
|
|
1579
|
+
}, [...v[10] || (v[10] = [
|
|
1580
1580
|
e("svg", {
|
|
1581
1581
|
class: "vpg-icon-sm",
|
|
1582
1582
|
fill: "none",
|
|
@@ -1590,25 +1590,25 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1590
1590
|
d: "M6 18L18 6M6 6l12 12"
|
|
1591
1591
|
})
|
|
1592
1592
|
], -1),
|
|
1593
|
-
|
|
1593
|
+
te(" Clear All ", -1)
|
|
1594
1594
|
])])
|
|
1595
1595
|
]),
|
|
1596
|
-
e("div",
|
|
1597
|
-
(u(!0),
|
|
1596
|
+
e("div", In, [
|
|
1597
|
+
(u(!0), c(X, null, le(M.value, (g) => (u(), c("label", {
|
|
1598
1598
|
key: g,
|
|
1599
|
-
class:
|
|
1599
|
+
class: Q(["vpg-value-item", { selected: F.value.has(g) }])
|
|
1600
1600
|
}, [
|
|
1601
1601
|
e("input", {
|
|
1602
1602
|
type: "checkbox",
|
|
1603
1603
|
checked: F.value.has(g),
|
|
1604
1604
|
class: "vpg-value-checkbox",
|
|
1605
1605
|
onChange: (k) => y(g)
|
|
1606
|
-
}, null, 40,
|
|
1606
|
+
}, null, 40, Xn),
|
|
1607
1607
|
e("span", {
|
|
1608
|
-
class:
|
|
1609
|
-
},
|
|
1608
|
+
class: Q(["vpg-value-text", { "vpg-blank": g === "(blank)" }])
|
|
1609
|
+
}, $(g), 3)
|
|
1610
1610
|
], 2))), 128)),
|
|
1611
|
-
M.value.length === 0 ? (u(),
|
|
1611
|
+
M.value.length === 0 ? (u(), c("div", Zn, " No matching values ")) : z("", !0)
|
|
1612
1612
|
]),
|
|
1613
1613
|
e("div", { class: "vpg-filter-footer" }, [
|
|
1614
1614
|
e("button", {
|
|
@@ -1617,20 +1617,20 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1617
1617
|
}, " Clear Filter "),
|
|
1618
1618
|
e("button", {
|
|
1619
1619
|
class: "vpg-btn-apply",
|
|
1620
|
-
onClick:
|
|
1620
|
+
onClick: I
|
|
1621
1621
|
}, " Apply ")
|
|
1622
1622
|
])
|
|
1623
|
-
], 64)) : (u(),
|
|
1623
|
+
], 64)) : (u(), c(X, { key: 2 }, [
|
|
1624
1624
|
Oe(Un, {
|
|
1625
1625
|
"data-min": t.stats.numericMin,
|
|
1626
1626
|
"data-max": t.stats.numericMax,
|
|
1627
|
-
"current-range":
|
|
1627
|
+
"current-range": D.value,
|
|
1628
1628
|
onChange: H
|
|
1629
1629
|
}, null, 8, ["data-min", "data-max", "current-range"]),
|
|
1630
1630
|
e("div", { class: "vpg-filter-footer" }, [
|
|
1631
1631
|
e("button", {
|
|
1632
1632
|
class: "vpg-btn-clear",
|
|
1633
|
-
onClick:
|
|
1633
|
+
onClick: ne
|
|
1634
1634
|
}, " Clear Filter "),
|
|
1635
1635
|
e("button", {
|
|
1636
1636
|
class: "vpg-btn-apply",
|
|
@@ -1640,7 +1640,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1640
1640
|
], 64))
|
|
1641
1641
|
], 512));
|
|
1642
1642
|
}
|
|
1643
|
-
}), Qn = /* @__PURE__ */
|
|
1643
|
+
}), Qn = /* @__PURE__ */ lt(_n, [["__scopeId", "data-v-d538c266"]]), Jn = { class: "vpg-modal" }, eo = { class: "vpg-modal-header" }, to = { class: "vpg-modal-body" }, lo = { class: "vpg-form-group" }, no = { class: "vpg-form-group" }, oo = {
|
|
1644
1644
|
key: 0,
|
|
1645
1645
|
class: "vpg-error"
|
|
1646
1646
|
}, ao = { class: "vpg-form-group" }, so = { class: "vpg-button-group" }, io = { class: "vpg-form-group" }, ro = {
|
|
@@ -1652,7 +1652,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1652
1652
|
}, vo = { class: "vpg-form-row" }, go = { class: "vpg-form-group vpg-form-group-half" }, po = { class: "vpg-form-group vpg-form-group-half" }, fo = {
|
|
1653
1653
|
key: 0,
|
|
1654
1654
|
class: "vpg-error vpg-error-box"
|
|
1655
|
-
}, mo = { class: "vpg-modal-footer" }, ho = /* @__PURE__ */
|
|
1655
|
+
}, mo = { class: "vpg-modal-footer" }, ho = /* @__PURE__ */ tt({
|
|
1656
1656
|
__name: "CalculatedFieldModal",
|
|
1657
1657
|
props: {
|
|
1658
1658
|
show: { type: Boolean },
|
|
@@ -1661,11 +1661,11 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1661
1661
|
},
|
|
1662
1662
|
emits: ["close", "save"],
|
|
1663
1663
|
setup(t, { emit: i }) {
|
|
1664
|
-
const l = t, s = i, o =
|
|
1664
|
+
const l = t, s = i, o = x(""), a = x(""), m = x("number"), h = x(2), b = x(null);
|
|
1665
1665
|
Te(() => l.show, (M) => {
|
|
1666
1666
|
M && (l.existingField ? (o.value = l.existingField.name, a.value = l.existingField.formula, m.value = l.existingField.formatAs || "number", h.value = l.existingField.decimals ?? 2) : (o.value = "", a.value = "", m.value = "number", h.value = 2), b.value = null);
|
|
1667
1667
|
});
|
|
1668
|
-
const
|
|
1668
|
+
const D = L(() => a.value.trim() ? jt(a.value, l.availableFields) : null);
|
|
1669
1669
|
function F(M) {
|
|
1670
1670
|
a.value.trim() && !a.value.endsWith(" ") && (a.value += " "), a.value += M;
|
|
1671
1671
|
}
|
|
@@ -1678,7 +1678,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1678
1678
|
b.value = "Name is required";
|
|
1679
1679
|
return;
|
|
1680
1680
|
}
|
|
1681
|
-
const M =
|
|
1681
|
+
const M = jt(a.value, l.availableFields);
|
|
1682
1682
|
if (M) {
|
|
1683
1683
|
b.value = M;
|
|
1684
1684
|
return;
|
|
@@ -1692,15 +1692,15 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1692
1692
|
};
|
|
1693
1693
|
s("save", y), s("close");
|
|
1694
1694
|
}
|
|
1695
|
-
return (M, y) => (u(),
|
|
1696
|
-
t.show ? (u(),
|
|
1695
|
+
return (M, y) => (u(), Wt(qt, { to: "body" }, [
|
|
1696
|
+
t.show ? (u(), c("div", {
|
|
1697
1697
|
key: 0,
|
|
1698
1698
|
class: "vpg-modal-overlay",
|
|
1699
1699
|
onClick: y[12] || (y[12] = Le((O) => s("close"), ["self"]))
|
|
1700
1700
|
}, [
|
|
1701
1701
|
e("div", Jn, [
|
|
1702
1702
|
e("div", eo, [
|
|
1703
|
-
e("h3", null,
|
|
1703
|
+
e("h3", null, $(t.existingField ? "Edit" : "Create") + " Calculated Field", 1),
|
|
1704
1704
|
e("button", {
|
|
1705
1705
|
class: "vpg-modal-close",
|
|
1706
1706
|
onClick: y[0] || (y[0] = (O) => s("close"))
|
|
@@ -1715,7 +1715,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1715
1715
|
class: "vpg-input",
|
|
1716
1716
|
placeholder: "e.g., Profit Margin %"
|
|
1717
1717
|
}, null, 512), [
|
|
1718
|
-
[
|
|
1718
|
+
[et, o.value]
|
|
1719
1719
|
])
|
|
1720
1720
|
]),
|
|
1721
1721
|
e("div", no, [
|
|
@@ -1726,10 +1726,10 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1726
1726
|
placeholder: "e.g., revenue / units",
|
|
1727
1727
|
rows: "2"
|
|
1728
1728
|
}, null, 512), [
|
|
1729
|
-
[
|
|
1729
|
+
[et, a.value]
|
|
1730
1730
|
]),
|
|
1731
1731
|
y[15] || (y[15] = e("div", { class: "vpg-formula-hint" }, "Use field names with math operators: + - * / ( )", -1)),
|
|
1732
|
-
|
|
1732
|
+
D.value ? (u(), c("div", oo, $(D.value), 1)) : z("", !0)
|
|
1733
1733
|
]),
|
|
1734
1734
|
e("div", ao, [
|
|
1735
1735
|
y[16] || (y[16] = e("label", { class: "vpg-label-small" }, "Operators", -1)),
|
|
@@ -1762,13 +1762,13 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1762
1762
|
]),
|
|
1763
1763
|
e("div", io, [
|
|
1764
1764
|
y[17] || (y[17] = e("label", { class: "vpg-label-small" }, "Insert Field", -1)),
|
|
1765
|
-
t.availableFields.length > 0 ? (u(),
|
|
1766
|
-
(u(!0),
|
|
1765
|
+
t.availableFields.length > 0 ? (u(), c("div", ro, [
|
|
1766
|
+
(u(!0), c(X, null, le(t.availableFields, (O) => (u(), c("button", {
|
|
1767
1767
|
key: O,
|
|
1768
1768
|
class: "vpg-insert-btn vpg-field-btn",
|
|
1769
|
-
onClick: (
|
|
1770
|
-
},
|
|
1771
|
-
])) : (u(),
|
|
1769
|
+
onClick: (J) => F(O)
|
|
1770
|
+
}, $(O), 9, uo))), 128))
|
|
1771
|
+
])) : (u(), c("div", co, " No numeric fields available "))
|
|
1772
1772
|
]),
|
|
1773
1773
|
e("div", vo, [
|
|
1774
1774
|
e("div", go, [
|
|
@@ -1794,7 +1794,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1794
1794
|
max: "6"
|
|
1795
1795
|
}, null, 512), [
|
|
1796
1796
|
[
|
|
1797
|
-
|
|
1797
|
+
et,
|
|
1798
1798
|
h.value,
|
|
1799
1799
|
void 0,
|
|
1800
1800
|
{ number: !0 }
|
|
@@ -1802,7 +1802,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1802
1802
|
])
|
|
1803
1803
|
])
|
|
1804
1804
|
]),
|
|
1805
|
-
b.value ? (u(),
|
|
1805
|
+
b.value ? (u(), c("div", fo, $(b.value), 1)) : z("", !0)
|
|
1806
1806
|
]),
|
|
1807
1807
|
e("div", mo, [
|
|
1808
1808
|
e("button", {
|
|
@@ -1812,16 +1812,16 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1812
1812
|
e("button", {
|
|
1813
1813
|
class: "vpg-btn vpg-btn-primary",
|
|
1814
1814
|
onClick: T
|
|
1815
|
-
},
|
|
1815
|
+
}, $(t.existingField ? "Update" : "Add") + " Field ", 1)
|
|
1816
1816
|
])
|
|
1817
1817
|
])
|
|
1818
1818
|
])) : z("", !0)
|
|
1819
1819
|
]));
|
|
1820
1820
|
}
|
|
1821
|
-
}), wo = /* @__PURE__ */
|
|
1821
|
+
}), wo = /* @__PURE__ */ lt(ho, [["__scopeId", "data-v-0cbcac92"]]), Co = { class: "vpg-pivot-config" }, bo = { class: "vpg-config-header" }, yo = { class: "vpg-header-actions" }, ko = {
|
|
1822
1822
|
key: 0,
|
|
1823
1823
|
class: "vpg-assigned-section"
|
|
1824
|
-
}, Fo = { class: "vpg-assigned-list" }, So = ["title", "onDragstart"],
|
|
1824
|
+
}, Fo = { class: "vpg-assigned-list" }, So = ["title", "onDragstart"], $o = { class: "vpg-item-main" }, xo = { class: "vpg-item-name" }, Mo = { class: "vpg-item-actions" }, Ro = ["title", "onClick"], Do = ["value", "onChange"], Vo = ["value", "disabled"], To = ["onClick"], Ao = { class: "vpg-unassigned-section" }, Lo = { class: "vpg-section-header" }, No = { class: "vpg-section-label" }, Po = { class: "vpg-count" }, zo = { class: "vpg-field-search" }, Eo = { class: "vpg-field-list" }, Bo = ["title", "onDragstart"], Uo = { class: "vpg-field-name" }, jo = ["onClick"], Ho = ["onClick"], Ko = {
|
|
1825
1825
|
key: 1,
|
|
1826
1826
|
class: "vpg-unique-count"
|
|
1827
1827
|
}, Oo = {
|
|
@@ -1830,7 +1830,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1830
1830
|
}, Wo = {
|
|
1831
1831
|
key: 1,
|
|
1832
1832
|
class: "vpg-empty-hint"
|
|
1833
|
-
}, qo = { class: "vpg-options-section" }, Go = { class: "vpg-option-toggle" }, Yo = ["checked"],
|
|
1833
|
+
}, qo = { class: "vpg-options-section" }, Go = { class: "vpg-option-toggle" }, Yo = ["checked"], Io = /* @__PURE__ */ tt({
|
|
1834
1834
|
__name: "PivotConfig",
|
|
1835
1835
|
props: {
|
|
1836
1836
|
availableFields: {},
|
|
@@ -1843,61 +1843,61 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1843
1843
|
},
|
|
1844
1844
|
emits: ["update:showRowTotals", "update:showColumnTotals", "clearConfig", "dragStart", "dragEnd", "updateAggregation", "addRowField", "removeRowField", "addColumnField", "removeColumnField", "addValueField", "removeValueField", "addCalculatedField", "removeCalculatedField", "updateCalculatedField"],
|
|
1845
1845
|
setup(t, { emit: i }) {
|
|
1846
|
-
const l = t, s = i, { canUseAdvancedAggregations: o } =
|
|
1847
|
-
function m(
|
|
1848
|
-
return
|
|
1846
|
+
const l = t, s = i, { canUseAdvancedAggregations: o } = ht(), a = Hl;
|
|
1847
|
+
function m(v) {
|
|
1848
|
+
return v !== "sum";
|
|
1849
1849
|
}
|
|
1850
|
-
function h(
|
|
1851
|
-
return !m(
|
|
1850
|
+
function h(v) {
|
|
1851
|
+
return !m(v) || o.value;
|
|
1852
1852
|
}
|
|
1853
|
-
const b =
|
|
1854
|
-
() => l.availableFields.filter((
|
|
1853
|
+
const b = x(!1), D = x(null), F = L(
|
|
1854
|
+
() => l.availableFields.filter((v) => v.isNumeric).map((v) => v.field)
|
|
1855
1855
|
);
|
|
1856
|
-
function A(
|
|
1857
|
-
|
|
1856
|
+
function A(v) {
|
|
1857
|
+
D.value = v || null, b.value = !0;
|
|
1858
1858
|
}
|
|
1859
|
-
function T(
|
|
1860
|
-
|
|
1859
|
+
function T(v) {
|
|
1860
|
+
D.value ? s("updateCalculatedField", v) : s("addCalculatedField", v), b.value = !1, D.value = null;
|
|
1861
1861
|
}
|
|
1862
|
-
function M(
|
|
1863
|
-
s("update:showRowTotals",
|
|
1862
|
+
function M(v) {
|
|
1863
|
+
s("update:showRowTotals", v), s("update:showColumnTotals", v);
|
|
1864
1864
|
}
|
|
1865
|
-
const y =
|
|
1866
|
-
field: `calc:${
|
|
1865
|
+
const y = L(() => l.calculatedFields ? l.calculatedFields.map((v) => ({
|
|
1866
|
+
field: `calc:${v.id}`,
|
|
1867
1867
|
type: "number",
|
|
1868
1868
|
uniqueCount: 0,
|
|
1869
1869
|
isNumeric: !0,
|
|
1870
1870
|
isCalculated: !0,
|
|
1871
|
-
calcId:
|
|
1872
|
-
calcName:
|
|
1873
|
-
calcFormula:
|
|
1874
|
-
})) : []), O =
|
|
1875
|
-
...l.availableFields.map((
|
|
1871
|
+
calcId: v.id,
|
|
1872
|
+
calcName: v.name,
|
|
1873
|
+
calcFormula: v.formula
|
|
1874
|
+
})) : []), O = L(() => [
|
|
1875
|
+
...l.availableFields.map((v) => ({ ...v, isCalculated: !1 })),
|
|
1876
1876
|
...y.value
|
|
1877
|
-
]),
|
|
1878
|
-
const
|
|
1879
|
-
return O.value.filter((B) =>
|
|
1877
|
+
]), J = L(() => {
|
|
1878
|
+
const v = new Set(l.rowFields), g = new Set(l.columnFields), k = new Map(l.valueFields.map((B) => [B.field, B]));
|
|
1879
|
+
return O.value.filter((B) => v.has(B.field) || g.has(B.field) || k.has(B.field)).map((B) => ({
|
|
1880
1880
|
...B,
|
|
1881
|
-
assignedTo:
|
|
1881
|
+
assignedTo: v.has(B.field) ? "row" : g.has(B.field) ? "column" : "value",
|
|
1882
1882
|
valueConfig: k.get(B.field)
|
|
1883
1883
|
}));
|
|
1884
|
-
}),
|
|
1885
|
-
const
|
|
1884
|
+
}), I = L(() => {
|
|
1885
|
+
const v = new Set(l.rowFields), g = new Set(l.columnFields), k = new Set(l.valueFields.map((B) => B.field));
|
|
1886
1886
|
return O.value.filter(
|
|
1887
|
-
(B) => !
|
|
1887
|
+
(B) => !v.has(B.field) && !g.has(B.field) && !k.has(B.field)
|
|
1888
1888
|
);
|
|
1889
|
-
}), q =
|
|
1889
|
+
}), q = L(() => J.value.length), E = x(""), P = L(() => {
|
|
1890
1890
|
if (!E.value.trim())
|
|
1891
|
-
return
|
|
1892
|
-
const
|
|
1893
|
-
return
|
|
1891
|
+
return I.value;
|
|
1892
|
+
const v = E.value.toLowerCase().trim();
|
|
1893
|
+
return I.value.filter((g) => {
|
|
1894
1894
|
const k = g.field.toLowerCase(), B = g.isCalculated && g.calcName ? g.calcName.toLowerCase() : "";
|
|
1895
|
-
return k.includes(
|
|
1895
|
+
return k.includes(v) || B.includes(v);
|
|
1896
1896
|
});
|
|
1897
1897
|
});
|
|
1898
|
-
function H(
|
|
1898
|
+
function H(v, g) {
|
|
1899
1899
|
if (g) return "ƒ";
|
|
1900
|
-
switch (
|
|
1900
|
+
switch (v) {
|
|
1901
1901
|
case "number":
|
|
1902
1902
|
return "#";
|
|
1903
1903
|
case "date":
|
|
@@ -1908,31 +1908,31 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1908
1908
|
return "Aa";
|
|
1909
1909
|
}
|
|
1910
1910
|
}
|
|
1911
|
-
function G(
|
|
1912
|
-
return
|
|
1911
|
+
function G(v) {
|
|
1912
|
+
return v.isCalculated && v.calcName ? v.calcName : v.field;
|
|
1913
1913
|
}
|
|
1914
|
-
function
|
|
1914
|
+
function ne(v, g) {
|
|
1915
1915
|
var k;
|
|
1916
|
-
(k = g.dataTransfer) == null || k.setData("text/plain",
|
|
1916
|
+
(k = g.dataTransfer) == null || k.setData("text/plain", v), g.dataTransfer.effectAllowed = "move", s("dragStart", v, g);
|
|
1917
1917
|
}
|
|
1918
|
-
function
|
|
1918
|
+
function j() {
|
|
1919
1919
|
s("dragEnd");
|
|
1920
1920
|
}
|
|
1921
|
-
function S(
|
|
1921
|
+
function S(v, g, k) {
|
|
1922
1922
|
if (!h(k)) {
|
|
1923
1923
|
console.warn(`[TinyPivot] "${k}" aggregation requires a Pro license. Visit https://tiny-pivot.com/#pricing to upgrade.`);
|
|
1924
1924
|
return;
|
|
1925
1925
|
}
|
|
1926
|
-
s("updateAggregation",
|
|
1926
|
+
s("updateAggregation", v, g, k);
|
|
1927
1927
|
}
|
|
1928
|
-
function f(
|
|
1929
|
-
g === "row" ? (s("removeRowField",
|
|
1928
|
+
function f(v, g) {
|
|
1929
|
+
g === "row" ? (s("removeRowField", v), s("addColumnField", v)) : (s("removeColumnField", v), s("addRowField", v));
|
|
1930
1930
|
}
|
|
1931
|
-
function d(
|
|
1932
|
-
g === "row" ? s("removeRowField",
|
|
1931
|
+
function d(v, g, k) {
|
|
1932
|
+
g === "row" ? s("removeRowField", v) : g === "column" ? s("removeColumnField", v) : k && s("removeValueField", v, k.aggregation);
|
|
1933
1933
|
}
|
|
1934
|
-
return (
|
|
1935
|
-
e("div",
|
|
1934
|
+
return (v, g) => (u(), c("div", Co, [
|
|
1935
|
+
e("div", bo, [
|
|
1936
1936
|
g[8] || (g[8] = e("h3", { class: "vpg-config-title" }, [
|
|
1937
1937
|
e("svg", {
|
|
1938
1938
|
class: "vpg-icon",
|
|
@@ -1947,10 +1947,10 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1947
1947
|
d: "M4 6h16M4 10h16M4 14h16M4 18h16"
|
|
1948
1948
|
})
|
|
1949
1949
|
]),
|
|
1950
|
-
|
|
1950
|
+
te(" Fields ")
|
|
1951
1951
|
], -1)),
|
|
1952
1952
|
e("div", yo, [
|
|
1953
|
-
q.value > 0 ? (u(),
|
|
1953
|
+
q.value > 0 ? (u(), c("button", {
|
|
1954
1954
|
key: 0,
|
|
1955
1955
|
class: "vpg-action-btn vpg-clear-btn",
|
|
1956
1956
|
title: "Clear all",
|
|
@@ -1972,27 +1972,27 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
1972
1972
|
])])) : z("", !0)
|
|
1973
1973
|
])
|
|
1974
1974
|
]),
|
|
1975
|
-
q.value > 0 ? (u(),
|
|
1975
|
+
q.value > 0 ? (u(), c("div", ko, [
|
|
1976
1976
|
g[10] || (g[10] = e("div", { class: "vpg-section-label" }, "Active", -1)),
|
|
1977
1977
|
e("div", Fo, [
|
|
1978
|
-
(u(!0),
|
|
1978
|
+
(u(!0), c(X, null, le(J.value, (k) => {
|
|
1979
1979
|
var B;
|
|
1980
|
-
return u(),
|
|
1980
|
+
return u(), c("div", {
|
|
1981
1981
|
key: k.field,
|
|
1982
|
-
class:
|
|
1982
|
+
class: Q(["vpg-assigned-item", [`vpg-type-${k.assignedTo}`, { "vpg-type-calc": k.isCalculated }]]),
|
|
1983
1983
|
title: k.isCalculated ? k.calcFormula : k.field,
|
|
1984
1984
|
draggable: "true",
|
|
1985
|
-
onDragstart: (Y) =>
|
|
1986
|
-
onDragend:
|
|
1985
|
+
onDragstart: (Y) => ne(k.field, Y),
|
|
1986
|
+
onDragend: j
|
|
1987
1987
|
}, [
|
|
1988
|
-
e("div",
|
|
1988
|
+
e("div", $o, [
|
|
1989
1989
|
e("span", {
|
|
1990
|
-
class:
|
|
1991
|
-
},
|
|
1992
|
-
e("span",
|
|
1990
|
+
class: Q(["vpg-item-badge", [k.assignedTo, { calc: k.isCalculated }]])
|
|
1991
|
+
}, $(k.isCalculated ? "ƒ" : k.assignedTo === "row" ? "R" : k.assignedTo === "column" ? "C" : V(It)(((B = k.valueConfig) == null ? void 0 : B.aggregation) || "sum")), 3),
|
|
1992
|
+
e("span", xo, $(G(k)), 1)
|
|
1993
1993
|
]),
|
|
1994
1994
|
e("div", Mo, [
|
|
1995
|
-
k.assignedTo === "row" || k.assignedTo === "column" ? (u(),
|
|
1995
|
+
k.assignedTo === "row" || k.assignedTo === "column" ? (u(), c("button", {
|
|
1996
1996
|
key: 0,
|
|
1997
1997
|
class: "vpg-toggle-btn",
|
|
1998
1998
|
title: k.assignedTo === "row" ? "Move to Columns" : "Move to Rows",
|
|
@@ -2012,7 +2012,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2012
2012
|
})
|
|
2013
2013
|
], -1)
|
|
2014
2014
|
])], 8, Ro)) : z("", !0),
|
|
2015
|
-
k.assignedTo === "value" && k.valueConfig ? (u(),
|
|
2015
|
+
k.assignedTo === "value" && k.valueConfig ? (u(), c("select", {
|
|
2016
2016
|
key: 1,
|
|
2017
2017
|
class: "vpg-agg-select",
|
|
2018
2018
|
value: k.valueConfig.aggregation,
|
|
@@ -2020,11 +2020,11 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2020
2020
|
onClick: g[1] || (g[1] = Le(() => {
|
|
2021
2021
|
}, ["stop"]))
|
|
2022
2022
|
}, [
|
|
2023
|
-
(u(!0),
|
|
2023
|
+
(u(!0), c(X, null, le(V(a), (Y) => (u(), c("option", {
|
|
2024
2024
|
key: Y.value,
|
|
2025
2025
|
value: Y.value,
|
|
2026
|
-
disabled: m(Y.value) && !
|
|
2027
|
-
},
|
|
2026
|
+
disabled: m(Y.value) && !V(o)
|
|
2027
|
+
}, $(Y.symbol) + " " + $(Y.label) + $(m(Y.value) && !V(o) ? " (Pro)" : ""), 9, Vo))), 128))
|
|
2028
2028
|
], 40, Do)) : z("", !0),
|
|
2029
2029
|
e("button", {
|
|
2030
2030
|
class: "vpg-remove-btn",
|
|
@@ -2039,8 +2039,8 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2039
2039
|
e("div", Ao, [
|
|
2040
2040
|
e("div", Lo, [
|
|
2041
2041
|
e("div", No, [
|
|
2042
|
-
g[11] || (g[11] =
|
|
2043
|
-
e("span", Po,
|
|
2042
|
+
g[11] || (g[11] = te(" Available ", -1)),
|
|
2043
|
+
e("span", Po, $(I.value.length), 1)
|
|
2044
2044
|
])
|
|
2045
2045
|
]),
|
|
2046
2046
|
e("div", zo, [
|
|
@@ -2063,9 +2063,9 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2063
2063
|
placeholder: "Search fields...",
|
|
2064
2064
|
class: "vpg-search-input"
|
|
2065
2065
|
}, null, 512), [
|
|
2066
|
-
[
|
|
2066
|
+
[et, E.value]
|
|
2067
2067
|
]),
|
|
2068
|
-
E.value ? (u(),
|
|
2068
|
+
E.value ? (u(), c("button", {
|
|
2069
2069
|
key: 0,
|
|
2070
2070
|
class: "vpg-clear-search",
|
|
2071
2071
|
onClick: g[3] || (g[3] = (k) => E.value = "")
|
|
@@ -2086,28 +2086,28 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2086
2086
|
])])) : z("", !0)
|
|
2087
2087
|
]),
|
|
2088
2088
|
e("div", Eo, [
|
|
2089
|
-
(u(!0),
|
|
2089
|
+
(u(!0), c(X, null, le(P.value, (k) => (u(), c("div", {
|
|
2090
2090
|
key: k.field,
|
|
2091
|
-
class:
|
|
2091
|
+
class: Q(["vpg-field-item", {
|
|
2092
2092
|
"vpg-is-numeric": k.isNumeric && !k.isCalculated,
|
|
2093
2093
|
"vpg-is-calculated": k.isCalculated
|
|
2094
2094
|
}]),
|
|
2095
2095
|
title: k.isCalculated ? k.calcFormula : k.field,
|
|
2096
2096
|
draggable: "true",
|
|
2097
|
-
onDragstart: (B) =>
|
|
2098
|
-
onDragend:
|
|
2097
|
+
onDragstart: (B) => ne(k.field, B),
|
|
2098
|
+
onDragend: j
|
|
2099
2099
|
}, [
|
|
2100
2100
|
e("span", {
|
|
2101
|
-
class:
|
|
2102
|
-
},
|
|
2103
|
-
e("span", Uo,
|
|
2104
|
-
k.isCalculated ? (u(),
|
|
2101
|
+
class: Q(["vpg-field-type-icon", { "vpg-calc-type": k.isCalculated }])
|
|
2102
|
+
}, $(H(k.type, k.isCalculated)), 3),
|
|
2103
|
+
e("span", Uo, $(G(k)), 1),
|
|
2104
|
+
k.isCalculated ? (u(), c(X, { key: 0 }, [
|
|
2105
2105
|
e("button", {
|
|
2106
2106
|
class: "vpg-field-edit",
|
|
2107
2107
|
title: "Edit calculated field",
|
|
2108
2108
|
onClick: Le((B) => {
|
|
2109
2109
|
var Y;
|
|
2110
|
-
return A((Y = t.calculatedFields) == null ? void 0 : Y.find((
|
|
2110
|
+
return A((Y = t.calculatedFields) == null ? void 0 : Y.find((ue) => ue.id === k.calcId));
|
|
2111
2111
|
}, ["stop"])
|
|
2112
2112
|
}, "✎", 8, jo),
|
|
2113
2113
|
e("button", {
|
|
@@ -2115,9 +2115,9 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2115
2115
|
title: "Delete calculated field",
|
|
2116
2116
|
onClick: Le((B) => s("removeCalculatedField", k.calcId), ["stop"])
|
|
2117
2117
|
}, "×", 8, Ho)
|
|
2118
|
-
], 64)) : (u(),
|
|
2118
|
+
], 64)) : (u(), c("span", Ko, $(k.uniqueCount), 1))
|
|
2119
2119
|
], 42, Bo))), 128)),
|
|
2120
|
-
P.value.length === 0 && E.value ? (u(),
|
|
2120
|
+
P.value.length === 0 && E.value ? (u(), c("div", Oo, ' No fields match "' + $(E.value) + '" ', 1)) : I.value.length === 0 ? (u(), c("div", Wo, " All fields assigned ")) : z("", !0)
|
|
2121
2121
|
])
|
|
2122
2122
|
]),
|
|
2123
2123
|
e("div", qo, [
|
|
@@ -2141,18 +2141,18 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2141
2141
|
Oe(wo, {
|
|
2142
2142
|
show: b.value,
|
|
2143
2143
|
"available-fields": F.value,
|
|
2144
|
-
"existing-field":
|
|
2144
|
+
"existing-field": D.value,
|
|
2145
2145
|
onClose: g[6] || (g[6] = (k) => {
|
|
2146
|
-
b.value = !1,
|
|
2146
|
+
b.value = !1, D.value = null;
|
|
2147
2147
|
}),
|
|
2148
2148
|
onSave: T
|
|
2149
2149
|
}, null, 8, ["show", "available-fields", "existing-field"])
|
|
2150
2150
|
]));
|
|
2151
2151
|
}
|
|
2152
|
-
}),
|
|
2152
|
+
}), Xo = /* @__PURE__ */ lt(Io, [["__scopeId", "data-v-d3d86021"]]), Zo = {
|
|
2153
2153
|
key: 0,
|
|
2154
2154
|
class: "vpg-toast"
|
|
2155
|
-
},
|
|
2155
|
+
}, _o = { class: "vpg-skeleton-header" }, Qo = { class: "vpg-header-right" }, Jo = { class: "vpg-filter-text" }, ea = {
|
|
2156
2156
|
key: 0,
|
|
2157
2157
|
class: "vpg-filter-count"
|
|
2158
2158
|
}, ta = {
|
|
@@ -2176,13 +2176,13 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2176
2176
|
}, da = ["onClick"], ga = {
|
|
2177
2177
|
key: 0,
|
|
2178
2178
|
class: "vpg-pro-required"
|
|
2179
|
-
}, pa = { class: "vpg-config-bar" }, fa = { class: "vpg-zone-chips" }, ma = ["onDragstart", "onDragover", "onDrop"], ha = { class: "vpg-mini-name" }, wa = ["onClick"],
|
|
2179
|
+
}, pa = { class: "vpg-config-bar" }, fa = { class: "vpg-zone-chips" }, ma = ["onDragstart", "onDragover", "onDrop"], ha = { class: "vpg-mini-name" }, wa = ["onClick"], Ca = {
|
|
2180
2180
|
key: 0,
|
|
2181
2181
|
class: "vpg-zone-hint"
|
|
2182
|
-
},
|
|
2182
|
+
}, ba = { class: "vpg-zone-chips" }, ya = ["onDragstart", "onDragover", "onDrop"], ka = { class: "vpg-mini-name" }, Fa = ["onClick"], Sa = {
|
|
2183
2183
|
key: 0,
|
|
2184
2184
|
class: "vpg-zone-hint"
|
|
2185
|
-
},
|
|
2185
|
+
}, $a = { class: "vpg-zone-chips" }, xa = { class: "vpg-agg-symbol" }, Ma = { class: "vpg-mini-name" }, Ra = ["onClick"], Da = {
|
|
2186
2186
|
key: 0,
|
|
2187
2187
|
class: "vpg-zone-hint"
|
|
2188
2188
|
}, Va = {
|
|
@@ -2197,21 +2197,21 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2197
2197
|
}, Ka = {
|
|
2198
2198
|
key: 0,
|
|
2199
2199
|
class: "vpg-totals-row"
|
|
2200
|
-
}, Oa = {
|
|
2200
|
+
}, Oa = ["colspan"], Wa = {
|
|
2201
2201
|
key: 0,
|
|
2202
2202
|
class: "vpg-data-cell vpg-grand-total-cell"
|
|
2203
|
-
},
|
|
2203
|
+
}, qa = {
|
|
2204
2204
|
key: 2,
|
|
2205
2205
|
class: "vpg-skeleton-footer"
|
|
2206
|
-
},
|
|
2206
|
+
}, Ga = { class: "vpg-footer-info" }, Ya = {
|
|
2207
2207
|
key: 0,
|
|
2208
2208
|
class: "vpg-selection-stats"
|
|
2209
|
-
},
|
|
2209
|
+
}, Ia = { class: "vpg-stat" }, Xa = { class: "vpg-stat-value" }, Za = { class: "vpg-stat" }, _a = { class: "vpg-stat-value" }, Qa = { class: "vpg-stat" }, Ja = { class: "vpg-stat-value" }, es = {
|
|
2210
2210
|
key: 1,
|
|
2211
2211
|
href: "https://tiny-pivot.com",
|
|
2212
2212
|
target: "_blank",
|
|
2213
2213
|
rel: "noopener"
|
|
2214
|
-
},
|
|
2214
|
+
}, ts = /* @__PURE__ */ tt({
|
|
2215
2215
|
__name: "PivotSkeleton",
|
|
2216
2216
|
props: {
|
|
2217
2217
|
rowFields: {},
|
|
@@ -2229,237 +2229,243 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2229
2229
|
emits: ["addRowField", "removeRowField", "addColumnField", "removeColumnField", "addValueField", "removeValueField", "updateAggregation", "reorderRowFields", "reorderColumnFields"],
|
|
2230
2230
|
setup(t, { emit: i }) {
|
|
2231
2231
|
const l = t;
|
|
2232
|
-
function s(
|
|
2232
|
+
function s(R) {
|
|
2233
2233
|
var p;
|
|
2234
|
-
if (
|
|
2235
|
-
const
|
|
2236
|
-
return (C == null ? void 0 : C.name) ||
|
|
2234
|
+
if (R.startsWith("calc:")) {
|
|
2235
|
+
const U = R.replace("calc:", ""), C = (p = l.calculatedFields) == null ? void 0 : p.find((N) => N.id === U);
|
|
2236
|
+
return (C == null ? void 0 : C.name) || R;
|
|
2237
2237
|
}
|
|
2238
|
-
return
|
|
2238
|
+
return R;
|
|
2239
2239
|
}
|
|
2240
|
-
function o(
|
|
2241
|
-
return
|
|
2240
|
+
function o(R) {
|
|
2241
|
+
return R.startsWith("calc:");
|
|
2242
2242
|
}
|
|
2243
|
-
const a = i, { showWatermark: m, canUsePivot: h, isDemo: b } =
|
|
2243
|
+
const a = i, { showWatermark: m, canUsePivot: h, isDemo: b } = ht(), D = x(null), F = x(null), A = x(null), T = x(l.fontSize || "xs"), M = [
|
|
2244
2244
|
{ value: "xs", label: "S" },
|
|
2245
2245
|
{ value: "sm", label: "M" },
|
|
2246
2246
|
{ value: "base", label: "L" }
|
|
2247
|
-
], y =
|
|
2248
|
-
if (
|
|
2247
|
+
], y = L(() => l.activeFilters && l.activeFilters.length > 0), O = L(() => !l.activeFilters || l.activeFilters.length === 0 ? "" : l.activeFilters.map((p) => p.column).join(", ")), J = L(() => !l.activeFilters || l.activeFilters.length === 0 ? [] : l.activeFilters.map((R) => {
|
|
2248
|
+
if (R.isRange && R.displayText)
|
|
2249
2249
|
return {
|
|
2250
|
-
column:
|
|
2251
|
-
displayText:
|
|
2250
|
+
column: R.column,
|
|
2251
|
+
displayText: R.displayText,
|
|
2252
2252
|
isRange: !0,
|
|
2253
2253
|
values: [],
|
|
2254
2254
|
remaining: 0
|
|
2255
2255
|
};
|
|
2256
|
-
const p =
|
|
2256
|
+
const p = R.values || [], U = 5, C = p.slice(0, U), N = p.length - U;
|
|
2257
2257
|
return {
|
|
2258
|
-
column:
|
|
2258
|
+
column: R.column,
|
|
2259
2259
|
values: C,
|
|
2260
|
-
remaining:
|
|
2260
|
+
remaining: N > 0 ? N : 0,
|
|
2261
2261
|
isRange: !1
|
|
2262
2262
|
};
|
|
2263
|
-
})),
|
|
2264
|
-
function P(
|
|
2265
|
-
E.value ===
|
|
2263
|
+
})), I = x(!1), q = x("asc"), E = x("row");
|
|
2264
|
+
function P(R = "row") {
|
|
2265
|
+
E.value === R ? q.value = q.value === "asc" ? "desc" : "asc" : (E.value = R, q.value = "asc");
|
|
2266
2266
|
}
|
|
2267
|
-
const H =
|
|
2267
|
+
const H = L(() => {
|
|
2268
2268
|
if (!l.pivotResult)
|
|
2269
2269
|
return [];
|
|
2270
|
-
const
|
|
2271
|
-
return
|
|
2272
|
-
var
|
|
2270
|
+
const R = l.pivotResult.rowHeaders.map((C, N) => N), p = l.pivotResult.rowHeaders, U = l.pivotResult.data;
|
|
2271
|
+
return R.sort((C, N) => {
|
|
2272
|
+
var Z, ee, ce, ge, me, be;
|
|
2273
2273
|
let K;
|
|
2274
2274
|
if (E.value === "row") {
|
|
2275
|
-
const
|
|
2276
|
-
K =
|
|
2275
|
+
const ve = ((Z = p[C]) == null ? void 0 : Z.join(" / ")) || "", Ee = ((ee = p[N]) == null ? void 0 : ee.join(" / ")) || "";
|
|
2276
|
+
K = ve.localeCompare(Ee, void 0, { numeric: !0, sensitivity: "base" });
|
|
2277
2277
|
} else {
|
|
2278
|
-
const
|
|
2279
|
-
Ee === null &&
|
|
2278
|
+
const ve = E.value, Ee = ((ge = (ce = U[C]) == null ? void 0 : ce[ve]) == null ? void 0 : ge.value) ?? null, Ze = ((be = (me = U[N]) == null ? void 0 : me[ve]) == null ? void 0 : be.value) ?? null;
|
|
2279
|
+
Ee === null && Ze === null ? K = 0 : Ee === null ? K = 1 : Ze === null ? K = -1 : K = Ee - Ze;
|
|
2280
2280
|
}
|
|
2281
2281
|
return q.value === "asc" ? K : -K;
|
|
2282
|
-
}),
|
|
2283
|
-
}), G =
|
|
2282
|
+
}), R;
|
|
2283
|
+
}), G = L(() => {
|
|
2284
2284
|
if (!l.pivotResult || l.pivotResult.headers.length === 0)
|
|
2285
2285
|
return [l.valueFields.map((p) => ({
|
|
2286
|
-
label: o(p.field) ? `${s(p.field)} (${
|
|
2286
|
+
label: o(p.field) ? `${s(p.field)} (${mt(p.aggregation)})` : `${p.field} (${mt(p.aggregation)})`,
|
|
2287
2287
|
colspan: 1
|
|
2288
2288
|
}))];
|
|
2289
|
-
const
|
|
2289
|
+
const R = [];
|
|
2290
2290
|
for (let p = 0; p < l.pivotResult.headers.length; p++) {
|
|
2291
|
-
const
|
|
2292
|
-
let
|
|
2293
|
-
for (;
|
|
2294
|
-
const K =
|
|
2295
|
-
let
|
|
2296
|
-
for (;
|
|
2297
|
-
|
|
2298
|
-
C.push({ label: K, colspan:
|
|
2291
|
+
const U = l.pivotResult.headers[p], C = [];
|
|
2292
|
+
let N = 0;
|
|
2293
|
+
for (; N < U.length; ) {
|
|
2294
|
+
const K = U[N];
|
|
2295
|
+
let Z = 1;
|
|
2296
|
+
for (; N + Z < U.length && U[N + Z] === K; )
|
|
2297
|
+
Z++;
|
|
2298
|
+
C.push({ label: K, colspan: Z }), N += Z;
|
|
2299
2299
|
}
|
|
2300
|
-
|
|
2300
|
+
R.push(C);
|
|
2301
2301
|
}
|
|
2302
|
-
return
|
|
2303
|
-
}),
|
|
2304
|
-
minRow: Math.min(
|
|
2305
|
-
maxRow: Math.max(
|
|
2306
|
-
minCol: Math.min(
|
|
2307
|
-
maxCol: Math.max(
|
|
2302
|
+
return R;
|
|
2303
|
+
}), ne = x(null), j = x(null), S = x(null), f = x(!1), d = x(!1), v = x(""), g = L(() => !j.value || !S.value ? null : {
|
|
2304
|
+
minRow: Math.min(j.value.row, S.value.row),
|
|
2305
|
+
maxRow: Math.max(j.value.row, S.value.row),
|
|
2306
|
+
minCol: Math.min(j.value.col, S.value.col),
|
|
2307
|
+
maxCol: Math.max(j.value.col, S.value.col)
|
|
2308
2308
|
});
|
|
2309
|
-
function k(
|
|
2310
|
-
|
|
2309
|
+
function k(R, p, U) {
|
|
2310
|
+
U.preventDefault(), U.shiftKey && ne.value ? S.value = { row: R, col: p } : (ne.value = { row: R, col: p }, j.value = { row: R, col: p }, S.value = { row: R, col: p }, f.value = !0);
|
|
2311
2311
|
}
|
|
2312
|
-
function B(
|
|
2313
|
-
f.value && (S.value = { row:
|
|
2312
|
+
function B(R, p) {
|
|
2313
|
+
f.value && (S.value = { row: R, col: p });
|
|
2314
2314
|
}
|
|
2315
2315
|
function Y() {
|
|
2316
2316
|
f.value = !1;
|
|
2317
2317
|
}
|
|
2318
|
-
function
|
|
2319
|
-
var
|
|
2318
|
+
function ue(R, p) {
|
|
2319
|
+
var Z, ee;
|
|
2320
2320
|
if (!g.value)
|
|
2321
|
-
return ((
|
|
2322
|
-
const { minRow:
|
|
2323
|
-
return
|
|
2321
|
+
return ((Z = ne.value) == null ? void 0 : Z.row) === R && ((ee = ne.value) == null ? void 0 : ee.col) === p;
|
|
2322
|
+
const { minRow: U, maxRow: C, minCol: N, maxCol: K } = g.value;
|
|
2323
|
+
return R >= U && R <= C && p >= N && p <= K;
|
|
2324
2324
|
}
|
|
2325
|
-
function
|
|
2326
|
-
var
|
|
2325
|
+
function he() {
|
|
2326
|
+
var Z;
|
|
2327
2327
|
if (!g.value || !l.pivotResult) return;
|
|
2328
|
-
const { minRow:
|
|
2329
|
-
for (let
|
|
2330
|
-
const
|
|
2331
|
-
if (
|
|
2332
|
-
const
|
|
2333
|
-
for (let
|
|
2334
|
-
const
|
|
2335
|
-
|
|
2328
|
+
const { minRow: R, maxRow: p, minCol: U, maxCol: C } = g.value, N = [];
|
|
2329
|
+
for (let ee = R; ee <= p; ee++) {
|
|
2330
|
+
const ce = H.value[ee];
|
|
2331
|
+
if (ce === void 0) continue;
|
|
2332
|
+
const ge = [];
|
|
2333
|
+
for (let me = U; me <= C; me++) {
|
|
2334
|
+
const be = (Z = l.pivotResult.data[ce]) == null ? void 0 : Z[me];
|
|
2335
|
+
ge.push((be == null ? void 0 : be.formattedValue) ?? "");
|
|
2336
2336
|
}
|
|
2337
|
-
|
|
2337
|
+
N.push(ge.join(" "));
|
|
2338
2338
|
}
|
|
2339
|
-
const K =
|
|
2339
|
+
const K = N.join(`
|
|
2340
2340
|
`);
|
|
2341
2341
|
navigator.clipboard.writeText(K).then(() => {
|
|
2342
|
-
const
|
|
2343
|
-
|
|
2342
|
+
const ee = (p - R + 1) * (C - U + 1);
|
|
2343
|
+
v.value = `Copied ${ee} cell${ee > 1 ? "s" : ""}`, d.value = !0, setTimeout(() => {
|
|
2344
2344
|
d.value = !1;
|
|
2345
2345
|
}, 2e3);
|
|
2346
|
-
}).catch((
|
|
2347
|
-
console.error("Copy failed:",
|
|
2346
|
+
}).catch((ee) => {
|
|
2347
|
+
console.error("Copy failed:", ee);
|
|
2348
2348
|
});
|
|
2349
2349
|
}
|
|
2350
|
-
function Me(
|
|
2350
|
+
function Me(R) {
|
|
2351
2351
|
if (g.value) {
|
|
2352
|
-
if ((
|
|
2353
|
-
|
|
2352
|
+
if ((R.ctrlKey || R.metaKey) && R.key === "c") {
|
|
2353
|
+
R.preventDefault(), he();
|
|
2354
2354
|
return;
|
|
2355
2355
|
}
|
|
2356
|
-
|
|
2356
|
+
R.key === "Escape" && (ne.value = null, j.value = null, S.value = null);
|
|
2357
2357
|
}
|
|
2358
2358
|
}
|
|
2359
|
-
const fe =
|
|
2360
|
-
var
|
|
2359
|
+
const fe = L(() => {
|
|
2360
|
+
var ce;
|
|
2361
2361
|
if (!g.value || !l.pivotResult) return null;
|
|
2362
|
-
const { minRow:
|
|
2362
|
+
const { minRow: R, maxRow: p, minCol: U, maxCol: C } = g.value, N = [];
|
|
2363
2363
|
let K = 0;
|
|
2364
|
-
for (let
|
|
2365
|
-
const
|
|
2366
|
-
if (
|
|
2367
|
-
for (let
|
|
2368
|
-
const
|
|
2369
|
-
K++, (
|
|
2364
|
+
for (let ge = R; ge <= p; ge++) {
|
|
2365
|
+
const me = H.value[ge];
|
|
2366
|
+
if (me !== void 0)
|
|
2367
|
+
for (let be = U; be <= C; be++) {
|
|
2368
|
+
const ve = (ce = l.pivotResult.data[me]) == null ? void 0 : ce[be];
|
|
2369
|
+
K++, (ve == null ? void 0 : ve.value) !== null && (ve == null ? void 0 : ve.value) !== void 0 && typeof ve.value == "number" && N.push(ve.value);
|
|
2370
2370
|
}
|
|
2371
2371
|
}
|
|
2372
2372
|
if (K <= 1) return null;
|
|
2373
|
-
const
|
|
2373
|
+
const Z = N.reduce((ge, me) => ge + me, 0), ee = N.length > 0 ? Z / N.length : 0;
|
|
2374
2374
|
return {
|
|
2375
2375
|
count: K,
|
|
2376
|
-
numericCount:
|
|
2377
|
-
sum:
|
|
2378
|
-
avg:
|
|
2376
|
+
numericCount: N.length,
|
|
2377
|
+
sum: Z,
|
|
2378
|
+
avg: ee
|
|
2379
2379
|
};
|
|
2380
2380
|
});
|
|
2381
|
-
function We(
|
|
2382
|
-
return Math.abs(
|
|
2381
|
+
function We(R) {
|
|
2382
|
+
return Math.abs(R) >= 1e6 ? `${(R / 1e6).toFixed(2)}M` : Math.abs(R) >= 1e3 ? `${(R / 1e3).toFixed(2)}K` : R.toFixed(2);
|
|
2383
2383
|
}
|
|
2384
|
-
|
|
2384
|
+
Ft(() => {
|
|
2385
2385
|
document.addEventListener("mouseup", Y), document.addEventListener("keydown", Me);
|
|
2386
|
-
}),
|
|
2386
|
+
}), St(() => {
|
|
2387
2387
|
document.removeEventListener("mouseup", Y), document.removeEventListener("keydown", Me);
|
|
2388
2388
|
});
|
|
2389
|
-
function
|
|
2390
|
-
p.preventDefault(), p.dataTransfer.dropEffect = "move",
|
|
2389
|
+
function we(R, p) {
|
|
2390
|
+
p.preventDefault(), p.dataTransfer.dropEffect = "move", D.value = R;
|
|
2391
2391
|
}
|
|
2392
|
-
function
|
|
2393
|
-
|
|
2392
|
+
function nt() {
|
|
2393
|
+
D.value = null;
|
|
2394
2394
|
}
|
|
2395
|
-
function
|
|
2396
|
-
var
|
|
2395
|
+
function ot(R, p) {
|
|
2396
|
+
var N;
|
|
2397
2397
|
p.preventDefault();
|
|
2398
|
-
const
|
|
2399
|
-
if (!
|
|
2400
|
-
|
|
2398
|
+
const U = (N = p.dataTransfer) == null ? void 0 : N.getData("text/plain");
|
|
2399
|
+
if (!U || U.startsWith("reorder:")) {
|
|
2400
|
+
D.value = null;
|
|
2401
2401
|
return;
|
|
2402
2402
|
}
|
|
2403
|
-
l.rowFields.includes(
|
|
2404
|
-
const C = l.valueFields.find((K) => K.field ===
|
|
2405
|
-
switch (C && a("removeValueField",
|
|
2403
|
+
l.rowFields.includes(U) && a("removeRowField", U), l.columnFields.includes(U) && a("removeColumnField", U);
|
|
2404
|
+
const C = l.valueFields.find((K) => K.field === U);
|
|
2405
|
+
switch (C && a("removeValueField", U, C.aggregation), R) {
|
|
2406
2406
|
case "row":
|
|
2407
|
-
a("addRowField",
|
|
2407
|
+
a("addRowField", U);
|
|
2408
2408
|
break;
|
|
2409
2409
|
case "column":
|
|
2410
|
-
a("addColumnField",
|
|
2410
|
+
a("addColumnField", U);
|
|
2411
2411
|
break;
|
|
2412
2412
|
case "value":
|
|
2413
|
-
a("addValueField",
|
|
2413
|
+
a("addValueField", U, "sum");
|
|
2414
2414
|
break;
|
|
2415
2415
|
}
|
|
2416
|
-
|
|
2416
|
+
D.value = null;
|
|
2417
2417
|
}
|
|
2418
|
-
function Ne(
|
|
2419
|
-
F.value = { zone:
|
|
2420
|
-
|
|
2418
|
+
function Ne(R, p, U) {
|
|
2419
|
+
F.value = { zone: R, index: p }, U.dataTransfer.effectAllowed = "move", U.dataTransfer.setData("text/plain", `reorder:${R}:${p}`), requestAnimationFrame(() => {
|
|
2420
|
+
D.value = null;
|
|
2421
2421
|
});
|
|
2422
2422
|
}
|
|
2423
2423
|
function Pe() {
|
|
2424
2424
|
F.value = null, A.value = null;
|
|
2425
2425
|
}
|
|
2426
|
-
function ze(
|
|
2427
|
-
|
|
2426
|
+
function ze(R, p, U) {
|
|
2427
|
+
U.preventDefault(), F.value && F.value.zone === R && (U.dataTransfer.dropEffect = "move", A.value = { zone: R, index: p });
|
|
2428
2428
|
}
|
|
2429
2429
|
function qe() {
|
|
2430
2430
|
A.value = null;
|
|
2431
2431
|
}
|
|
2432
|
-
function Ge(
|
|
2433
|
-
if (
|
|
2432
|
+
function Ge(R, p, U) {
|
|
2433
|
+
if (U.preventDefault(), U.stopPropagation(), !F.value || F.value.zone !== R)
|
|
2434
2434
|
return;
|
|
2435
2435
|
const C = F.value.index;
|
|
2436
2436
|
if (C === p) {
|
|
2437
2437
|
F.value = null, A.value = null;
|
|
2438
2438
|
return;
|
|
2439
2439
|
}
|
|
2440
|
-
const
|
|
2441
|
-
|
|
2442
|
-
}
|
|
2443
|
-
function
|
|
2444
|
-
var
|
|
2445
|
-
return ((
|
|
2446
|
-
}
|
|
2447
|
-
function Ye(
|
|
2448
|
-
var
|
|
2449
|
-
return ((
|
|
2450
|
-
}
|
|
2451
|
-
const
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2440
|
+
const N = R === "row" ? [...l.rowFields] : [...l.columnFields], [K] = N.splice(C, 1);
|
|
2441
|
+
N.splice(p, 0, K), a(R === "row" ? "reorderRowFields" : "reorderColumnFields", N), F.value = null, A.value = null;
|
|
2442
|
+
}
|
|
2443
|
+
function rt(R, p) {
|
|
2444
|
+
var U, C;
|
|
2445
|
+
return ((U = F.value) == null ? void 0 : U.zone) === R && ((C = F.value) == null ? void 0 : C.index) === p;
|
|
2446
|
+
}
|
|
2447
|
+
function Ye(R, p) {
|
|
2448
|
+
var U, C;
|
|
2449
|
+
return ((U = A.value) == null ? void 0 : U.zone) === R && ((C = A.value) == null ? void 0 : C.index) === p;
|
|
2450
|
+
}
|
|
2451
|
+
const Ce = x(180), Ie = x(80), Xe = L(() => {
|
|
2452
|
+
const R = Math.max(l.rowFields.length, 1);
|
|
2453
|
+
return Math.max(Ce.value / R, 80);
|
|
2454
|
+
});
|
|
2455
|
+
function at(R) {
|
|
2456
|
+
return R * Xe.value;
|
|
2457
|
+
}
|
|
2458
|
+
return (R, p) => {
|
|
2459
|
+
var U;
|
|
2460
|
+
return u(), c("div", {
|
|
2461
|
+
class: Q(["vpg-pivot-skeleton", [
|
|
2456
2462
|
`vpg-font-${T.value}`,
|
|
2457
2463
|
{ "vpg-is-dragging": t.draggingField }
|
|
2458
2464
|
]])
|
|
2459
2465
|
}, [
|
|
2460
|
-
Oe(
|
|
2461
|
-
default:
|
|
2462
|
-
d.value ? (u(),
|
|
2466
|
+
Oe(Gt, { name: "vpg-toast" }, {
|
|
2467
|
+
default: Yt(() => [
|
|
2468
|
+
d.value ? (u(), c("div", Zo, [
|
|
2463
2469
|
p[9] || (p[9] = e("svg", {
|
|
2464
2470
|
class: "vpg-icon",
|
|
2465
2471
|
fill: "none",
|
|
@@ -2473,12 +2479,12 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2473
2479
|
d: "M5 13l4 4L19 7"
|
|
2474
2480
|
})
|
|
2475
2481
|
], -1)),
|
|
2476
|
-
|
|
2482
|
+
te(" " + $(v.value), 1)
|
|
2477
2483
|
])) : z("", !0)
|
|
2478
2484
|
]),
|
|
2479
2485
|
_: 1
|
|
2480
2486
|
}),
|
|
2481
|
-
e("div",
|
|
2487
|
+
e("div", _o, [
|
|
2482
2488
|
p[13] || (p[13] = e("div", { class: "vpg-skeleton-title" }, [
|
|
2483
2489
|
e("svg", {
|
|
2484
2490
|
class: "vpg-icon",
|
|
@@ -2496,11 +2502,11 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2496
2502
|
e("span", null, "Pivot Table")
|
|
2497
2503
|
], -1)),
|
|
2498
2504
|
e("div", Qo, [
|
|
2499
|
-
y.value ? (u(),
|
|
2505
|
+
y.value ? (u(), c("div", {
|
|
2500
2506
|
key: 0,
|
|
2501
2507
|
class: "vpg-filter-indicator",
|
|
2502
|
-
onMouseenter: p[0] || (p[0] = (C) =>
|
|
2503
|
-
onMouseleave: p[1] || (p[1] = (C) =>
|
|
2508
|
+
onMouseenter: p[0] || (p[0] = (C) => I.value = !0),
|
|
2509
|
+
onMouseleave: p[1] || (p[1] = (C) => I.value = !1)
|
|
2504
2510
|
}, [
|
|
2505
2511
|
p[12] || (p[12] = e("svg", {
|
|
2506
2512
|
class: "vpg-filter-icon",
|
|
@@ -2516,141 +2522,141 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2516
2522
|
})
|
|
2517
2523
|
], -1)),
|
|
2518
2524
|
e("span", Jo, [
|
|
2519
|
-
p[10] || (p[10] =
|
|
2520
|
-
e("strong", null,
|
|
2521
|
-
t.filteredRowCount !== void 0 && t.totalRowCount !== void 0 ? (u(),
|
|
2525
|
+
p[10] || (p[10] = te(" Filtered: ", -1)),
|
|
2526
|
+
e("strong", null, $(O.value), 1),
|
|
2527
|
+
t.filteredRowCount !== void 0 && t.totalRowCount !== void 0 ? (u(), c("span", ea, " (" + $(t.filteredRowCount.toLocaleString()) + " of " + $(t.totalRowCount.toLocaleString()) + " rows) ", 1)) : z("", !0)
|
|
2522
2528
|
]),
|
|
2523
|
-
|
|
2529
|
+
I.value ? (u(), c("div", ta, [
|
|
2524
2530
|
p[11] || (p[11] = e("div", { class: "vpg-tooltip-header" }, "Active Filters", -1)),
|
|
2525
|
-
(u(!0),
|
|
2531
|
+
(u(!0), c(X, null, le(J.value, (C) => (u(), c("div", {
|
|
2526
2532
|
key: C.column,
|
|
2527
2533
|
class: "vpg-tooltip-filter"
|
|
2528
2534
|
}, [
|
|
2529
|
-
e("div", la,
|
|
2535
|
+
e("div", la, $(C.column), 1),
|
|
2530
2536
|
e("div", na, [
|
|
2531
|
-
C.isRange ? (u(),
|
|
2532
|
-
(u(!0),
|
|
2537
|
+
C.isRange ? (u(), c("span", oa, $(C.displayText), 1)) : (u(), c(X, { key: 1 }, [
|
|
2538
|
+
(u(!0), c(X, null, le(C.values, (N, K) => (u(), c("span", {
|
|
2533
2539
|
key: K,
|
|
2534
2540
|
class: "vpg-tooltip-value"
|
|
2535
|
-
},
|
|
2536
|
-
C.remaining > 0 ? (u(),
|
|
2541
|
+
}, $(N), 1))), 128)),
|
|
2542
|
+
C.remaining > 0 ? (u(), c("span", aa, " +" + $(C.remaining) + " more ", 1)) : z("", !0)
|
|
2537
2543
|
], 64))
|
|
2538
2544
|
])
|
|
2539
2545
|
]))), 128)),
|
|
2540
|
-
t.filteredRowCount !== void 0 && t.totalRowCount !== void 0 ? (u(),
|
|
2546
|
+
t.filteredRowCount !== void 0 && t.totalRowCount !== void 0 ? (u(), c("div", sa, " Showing " + $(t.filteredRowCount.toLocaleString()) + " of " + $(t.totalRowCount.toLocaleString()) + " rows ", 1)) : z("", !0)
|
|
2541
2547
|
])) : z("", !0)
|
|
2542
2548
|
], 32)) : z("", !0),
|
|
2543
|
-
t.isConfigured ? (u(),
|
|
2544
|
-
e("span", ra,
|
|
2545
|
-
e("span", ua,
|
|
2546
|
-
e("span", ca,
|
|
2549
|
+
t.isConfigured ? (u(), c("div", ia, [
|
|
2550
|
+
e("span", ra, $(t.rowFields.length) + " row" + $(t.rowFields.length !== 1 ? "s" : ""), 1),
|
|
2551
|
+
e("span", ua, $(t.columnFields.length) + " col" + $(t.columnFields.length !== 1 ? "s" : ""), 1),
|
|
2552
|
+
e("span", ca, $(t.valueFields.length) + " val" + $(t.valueFields.length !== 1 ? "s" : ""), 1)
|
|
2547
2553
|
])) : z("", !0),
|
|
2548
|
-
t.isConfigured && t.pivotResult ? (u(),
|
|
2549
|
-
(u(),
|
|
2554
|
+
t.isConfigured && t.pivotResult ? (u(), c("div", va, [
|
|
2555
|
+
(u(), c(X, null, le(M, (C) => e("button", {
|
|
2550
2556
|
key: C.value,
|
|
2551
|
-
class:
|
|
2552
|
-
onClick: (
|
|
2553
|
-
},
|
|
2557
|
+
class: Q(["vpg-font-size-btn", { active: T.value === C.value }]),
|
|
2558
|
+
onClick: (N) => T.value = C.value
|
|
2559
|
+
}, $(C.label), 11, da)), 64))
|
|
2554
2560
|
])) : z("", !0)
|
|
2555
2561
|
])
|
|
2556
2562
|
]),
|
|
2557
|
-
|
|
2563
|
+
V(h) ? (u(), c(X, { key: 1 }, [
|
|
2558
2564
|
e("div", pa, [
|
|
2559
2565
|
e("div", {
|
|
2560
|
-
class:
|
|
2561
|
-
onDragover: p[2] || (p[2] = (C) =>
|
|
2562
|
-
onDragleave:
|
|
2563
|
-
onDrop: p[3] || (p[3] = (C) =>
|
|
2566
|
+
class: Q(["vpg-drop-zone vpg-row-zone", { "vpg-drag-over": D.value === "row" }]),
|
|
2567
|
+
onDragover: p[2] || (p[2] = (C) => we("row", C)),
|
|
2568
|
+
onDragleave: nt,
|
|
2569
|
+
onDrop: p[3] || (p[3] = (C) => ot("row", C))
|
|
2564
2570
|
}, [
|
|
2565
2571
|
p[16] || (p[16] = e("div", { class: "vpg-zone-header" }, [
|
|
2566
2572
|
e("span", { class: "vpg-zone-icon vpg-row-icon" }, "↓"),
|
|
2567
2573
|
e("span", { class: "vpg-zone-label" }, "Rows")
|
|
2568
2574
|
], -1)),
|
|
2569
2575
|
e("div", fa, [
|
|
2570
|
-
(u(!0),
|
|
2576
|
+
(u(!0), c(X, null, le(t.rowFields, (C, N) => (u(), c("div", {
|
|
2571
2577
|
key: C,
|
|
2572
|
-
class:
|
|
2573
|
-
"vpg-chip-dragging":
|
|
2574
|
-
"vpg-chip-drop-target": Ye("row",
|
|
2578
|
+
class: Q(["vpg-mini-chip vpg-row-chip", {
|
|
2579
|
+
"vpg-chip-dragging": rt("row", N),
|
|
2580
|
+
"vpg-chip-drop-target": Ye("row", N)
|
|
2575
2581
|
}]),
|
|
2576
2582
|
draggable: "true",
|
|
2577
|
-
onDragstart: (K) => Ne("row",
|
|
2583
|
+
onDragstart: (K) => Ne("row", N, K),
|
|
2578
2584
|
onDragend: Pe,
|
|
2579
|
-
onDragover: (K) => ze("row",
|
|
2585
|
+
onDragover: (K) => ze("row", N, K),
|
|
2580
2586
|
onDragleave: qe,
|
|
2581
|
-
onDrop: (K) => Ge("row",
|
|
2587
|
+
onDrop: (K) => Ge("row", N, K)
|
|
2582
2588
|
}, [
|
|
2583
2589
|
p[15] || (p[15] = e("span", { class: "vpg-drag-handle" }, "⋮⋮", -1)),
|
|
2584
|
-
e("span", ha,
|
|
2590
|
+
e("span", ha, $(C), 1),
|
|
2585
2591
|
e("button", {
|
|
2586
2592
|
class: "vpg-mini-remove",
|
|
2587
2593
|
onClick: Le((K) => a("removeRowField", C), ["stop"])
|
|
2588
2594
|
}, "×", 8, wa)
|
|
2589
2595
|
], 42, ma))), 128)),
|
|
2590
|
-
t.rowFields.length === 0 ? (u(),
|
|
2596
|
+
t.rowFields.length === 0 ? (u(), c("span", Ca, "Drop here")) : z("", !0)
|
|
2591
2597
|
])
|
|
2592
2598
|
], 34),
|
|
2593
2599
|
e("div", {
|
|
2594
|
-
class:
|
|
2595
|
-
onDragover: p[4] || (p[4] = (C) =>
|
|
2596
|
-
onDragleave:
|
|
2597
|
-
onDrop: p[5] || (p[5] = (C) =>
|
|
2600
|
+
class: Q(["vpg-drop-zone vpg-column-zone", { "vpg-drag-over": D.value === "column" }]),
|
|
2601
|
+
onDragover: p[4] || (p[4] = (C) => we("column", C)),
|
|
2602
|
+
onDragleave: nt,
|
|
2603
|
+
onDrop: p[5] || (p[5] = (C) => ot("column", C))
|
|
2598
2604
|
}, [
|
|
2599
2605
|
p[18] || (p[18] = e("div", { class: "vpg-zone-header" }, [
|
|
2600
2606
|
e("span", { class: "vpg-zone-icon vpg-column-icon" }, "→"),
|
|
2601
2607
|
e("span", { class: "vpg-zone-label" }, "Columns")
|
|
2602
2608
|
], -1)),
|
|
2603
|
-
e("div",
|
|
2604
|
-
(u(!0),
|
|
2609
|
+
e("div", ba, [
|
|
2610
|
+
(u(!0), c(X, null, le(t.columnFields, (C, N) => (u(), c("div", {
|
|
2605
2611
|
key: C,
|
|
2606
|
-
class:
|
|
2607
|
-
"vpg-chip-dragging":
|
|
2608
|
-
"vpg-chip-drop-target": Ye("column",
|
|
2612
|
+
class: Q(["vpg-mini-chip vpg-column-chip", {
|
|
2613
|
+
"vpg-chip-dragging": rt("column", N),
|
|
2614
|
+
"vpg-chip-drop-target": Ye("column", N)
|
|
2609
2615
|
}]),
|
|
2610
2616
|
draggable: "true",
|
|
2611
|
-
onDragstart: (K) => Ne("column",
|
|
2617
|
+
onDragstart: (K) => Ne("column", N, K),
|
|
2612
2618
|
onDragend: Pe,
|
|
2613
|
-
onDragover: (K) => ze("column",
|
|
2619
|
+
onDragover: (K) => ze("column", N, K),
|
|
2614
2620
|
onDragleave: qe,
|
|
2615
|
-
onDrop: (K) => Ge("column",
|
|
2621
|
+
onDrop: (K) => Ge("column", N, K)
|
|
2616
2622
|
}, [
|
|
2617
2623
|
p[17] || (p[17] = e("span", { class: "vpg-drag-handle" }, "⋮⋮", -1)),
|
|
2618
|
-
e("span", ka,
|
|
2624
|
+
e("span", ka, $(C), 1),
|
|
2619
2625
|
e("button", {
|
|
2620
2626
|
class: "vpg-mini-remove",
|
|
2621
2627
|
onClick: Le((K) => a("removeColumnField", C), ["stop"])
|
|
2622
2628
|
}, "×", 8, Fa)
|
|
2623
2629
|
], 42, ya))), 128)),
|
|
2624
|
-
t.columnFields.length === 0 ? (u(),
|
|
2630
|
+
t.columnFields.length === 0 ? (u(), c("span", Sa, "Drop here")) : z("", !0)
|
|
2625
2631
|
])
|
|
2626
2632
|
], 34),
|
|
2627
2633
|
e("div", {
|
|
2628
|
-
class:
|
|
2629
|
-
onDragover: p[6] || (p[6] = (C) =>
|
|
2630
|
-
onDragleave:
|
|
2631
|
-
onDrop: p[7] || (p[7] = (C) =>
|
|
2634
|
+
class: Q(["vpg-drop-zone vpg-value-zone", { "vpg-drag-over": D.value === "value" }]),
|
|
2635
|
+
onDragover: p[6] || (p[6] = (C) => we("value", C)),
|
|
2636
|
+
onDragleave: nt,
|
|
2637
|
+
onDrop: p[7] || (p[7] = (C) => ot("value", C))
|
|
2632
2638
|
}, [
|
|
2633
2639
|
p[19] || (p[19] = e("div", { class: "vpg-zone-header" }, [
|
|
2634
2640
|
e("span", { class: "vpg-zone-icon vpg-value-icon" }, "Σ"),
|
|
2635
2641
|
e("span", { class: "vpg-zone-label" }, "Values")
|
|
2636
2642
|
], -1)),
|
|
2637
|
-
e("div",
|
|
2638
|
-
(u(!0),
|
|
2643
|
+
e("div", $a, [
|
|
2644
|
+
(u(!0), c(X, null, le(t.valueFields, (C) => (u(), c("div", {
|
|
2639
2645
|
key: `${C.field}-${C.aggregation}`,
|
|
2640
|
-
class:
|
|
2646
|
+
class: Q(["vpg-mini-chip vpg-value-chip", { "vpg-calc-chip": o(C.field) }])
|
|
2641
2647
|
}, [
|
|
2642
|
-
e("span",
|
|
2643
|
-
e("span", Ma,
|
|
2648
|
+
e("span", xa, $(o(C.field) ? "ƒ" : V(It)(C.aggregation)), 1),
|
|
2649
|
+
e("span", Ma, $(s(C.field)), 1),
|
|
2644
2650
|
e("button", {
|
|
2645
2651
|
class: "vpg-mini-remove",
|
|
2646
|
-
onClick: (
|
|
2652
|
+
onClick: (N) => a("removeValueField", C.field, C.aggregation)
|
|
2647
2653
|
}, "×", 8, Ra)
|
|
2648
2654
|
], 2))), 128)),
|
|
2649
|
-
t.valueFields.length === 0 ? (u(),
|
|
2655
|
+
t.valueFields.length === 0 ? (u(), c("span", Da, "Drop numeric")) : z("", !0)
|
|
2650
2656
|
])
|
|
2651
2657
|
], 34)
|
|
2652
2658
|
]),
|
|
2653
|
-
!t.isConfigured || !t.pivotResult ? (u(),
|
|
2659
|
+
!t.isConfigured || !t.pivotResult ? (u(), c("div", Va, [
|
|
2654
2660
|
e("div", Ta, [
|
|
2655
2661
|
p[28] || (p[28] = e("svg", {
|
|
2656
2662
|
class: "vpg-placeholder-icon",
|
|
@@ -2666,58 +2672,59 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2666
2672
|
})
|
|
2667
2673
|
], -1)),
|
|
2668
2674
|
e("span", Aa, [
|
|
2669
|
-
t.valueFields.length === 0 ? (u(),
|
|
2670
|
-
p[20] || (p[20] =
|
|
2675
|
+
t.valueFields.length === 0 ? (u(), c(X, { key: 0 }, [
|
|
2676
|
+
p[20] || (p[20] = te(" Add a ", -1)),
|
|
2671
2677
|
p[21] || (p[21] = e("strong", null, "Values", -1)),
|
|
2672
|
-
p[22] || (p[22] =
|
|
2673
|
-
], 64)) : t.rowFields.length === 0 && t.columnFields.length === 0 ? (u(),
|
|
2674
|
-
p[23] || (p[23] =
|
|
2678
|
+
p[22] || (p[22] = te(" field to see your pivot table ", -1))
|
|
2679
|
+
], 64)) : t.rowFields.length === 0 && t.columnFields.length === 0 ? (u(), c(X, { key: 1 }, [
|
|
2680
|
+
p[23] || (p[23] = te(" Add ", -1)),
|
|
2675
2681
|
p[24] || (p[24] = e("strong", null, "Row", -1)),
|
|
2676
|
-
p[25] || (p[25] =
|
|
2682
|
+
p[25] || (p[25] = te(" or ", -1)),
|
|
2677
2683
|
p[26] || (p[26] = e("strong", null, "Column", -1)),
|
|
2678
|
-
p[27] || (p[27] =
|
|
2679
|
-
], 64)) : (u(),
|
|
2680
|
-
|
|
2684
|
+
p[27] || (p[27] = te(" fields to group your data ", -1))
|
|
2685
|
+
], 64)) : (u(), c(X, { key: 2 }, [
|
|
2686
|
+
te(" Your pivot table will appear here ")
|
|
2681
2687
|
], 64))
|
|
2682
2688
|
])
|
|
2683
2689
|
])
|
|
2684
|
-
])) : (u(),
|
|
2690
|
+
])) : (u(), c("div", La, [
|
|
2685
2691
|
e("table", Na, [
|
|
2686
2692
|
e("thead", null, [
|
|
2687
|
-
(u(!0),
|
|
2688
|
-
key: `header-${
|
|
2693
|
+
(u(!0), c(X, null, le(G.value, (C, N) => (u(), c("tr", {
|
|
2694
|
+
key: `header-${N}`,
|
|
2689
2695
|
class: "vpg-column-header-row"
|
|
2690
2696
|
}, [
|
|
2691
|
-
|
|
2692
|
-
key:
|
|
2697
|
+
N === 0 ? (u(!0), c(X, { key: 0 }, le(t.rowFields.length > 0 ? t.rowFields : ["Rows"], (K, Z) => (u(), c("th", {
|
|
2698
|
+
key: `row-header-${Z}`,
|
|
2693
2699
|
class: "vpg-row-header-label",
|
|
2694
2700
|
rowspan: G.value.length,
|
|
2695
|
-
style: Fe({ width: `${
|
|
2696
|
-
onClick: p[8] || (p[8] = (
|
|
2701
|
+
style: Fe({ width: `${Xe.value}px`, minWidth: "80px", left: `${at(Z)}px` }),
|
|
2702
|
+
onClick: p[8] || (p[8] = (ee) => P("row"))
|
|
2697
2703
|
}, [
|
|
2698
2704
|
e("div", za, [
|
|
2699
|
-
e("span", null,
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2705
|
+
e("span", null, $(K), 1),
|
|
2706
|
+
Z === t.rowFields.length - 1 || t.rowFields.length === 0 ? (u(), c("span", {
|
|
2707
|
+
key: 0,
|
|
2708
|
+
class: Q(["vpg-sort-indicator", { active: E.value === "row" }])
|
|
2709
|
+
}, $(E.value === "row" ? q.value === "asc" ? "↑" : "↓" : "⇅"), 3)) : z("", !0)
|
|
2703
2710
|
])
|
|
2704
|
-
], 12, Pa)) : z("", !0),
|
|
2705
|
-
(u(!0),
|
|
2706
|
-
key:
|
|
2711
|
+
], 12, Pa))), 128)) : z("", !0),
|
|
2712
|
+
(u(!0), c(X, null, le(C, (K, Z) => (u(), c("th", {
|
|
2713
|
+
key: Z,
|
|
2707
2714
|
class: "vpg-column-header-cell",
|
|
2708
2715
|
colspan: K.colspan,
|
|
2709
|
-
style: Fe({ width: `${
|
|
2710
|
-
onClick: (
|
|
2716
|
+
style: Fe({ width: `${Ie.value * K.colspan}px` }),
|
|
2717
|
+
onClick: (ee) => N === G.value.length - 1 && P(Z)
|
|
2711
2718
|
}, [
|
|
2712
2719
|
e("div", Ba, [
|
|
2713
|
-
e("span", null,
|
|
2714
|
-
|
|
2720
|
+
e("span", null, $(K.label), 1),
|
|
2721
|
+
N === G.value.length - 1 ? (u(), c("span", {
|
|
2715
2722
|
key: 0,
|
|
2716
|
-
class:
|
|
2717
|
-
},
|
|
2723
|
+
class: Q(["vpg-sort-indicator", { active: E.value === Z }])
|
|
2724
|
+
}, $(E.value === Z ? q.value === "asc" ? "↑" : "↓" : "⇅"), 3)) : z("", !0)
|
|
2718
2725
|
])
|
|
2719
2726
|
], 12, Ea))), 128)),
|
|
2720
|
-
t.pivotResult.rowTotals.length > 0 &&
|
|
2727
|
+
t.pivotResult.rowTotals.length > 0 && N === 0 ? (u(), c("th", {
|
|
2721
2728
|
key: 1,
|
|
2722
2729
|
class: "vpg-total-header",
|
|
2723
2730
|
rowspan: G.value.length
|
|
@@ -2725,68 +2732,65 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2725
2732
|
]))), 128))
|
|
2726
2733
|
]),
|
|
2727
2734
|
e("tbody", null, [
|
|
2728
|
-
(u(!0),
|
|
2735
|
+
(u(!0), c(X, null, le(H.value, (C) => (u(), c("tr", {
|
|
2729
2736
|
key: C,
|
|
2730
2737
|
class: "vpg-data-row"
|
|
2731
2738
|
}, [
|
|
2732
|
-
|
|
2739
|
+
(u(!0), c(X, null, le(t.pivotResult.rowHeaders[C], (N, K) => (u(), c("th", {
|
|
2740
|
+
key: `row-${C}-${K}`,
|
|
2733
2741
|
class: "vpg-row-header-cell",
|
|
2734
|
-
style: Fe({ width: `${
|
|
2735
|
-
},
|
|
2736
|
-
|
|
2737
|
-
key: K,
|
|
2738
|
-
class: "vpg-row-value"
|
|
2739
|
-
}, x(L), 1))), 128))
|
|
2740
|
-
], 4),
|
|
2741
|
-
(u(!0), v(I, null, oe(t.pivotResult.data[C], (L, K) => (u(), v("td", {
|
|
2742
|
+
style: Fe({ width: `${Xe.value}px`, minWidth: "80px", left: `${at(K)}px` })
|
|
2743
|
+
}, $(N), 5))), 128)),
|
|
2744
|
+
(u(!0), c(X, null, le(t.pivotResult.data[C], (N, K) => (u(), c("td", {
|
|
2742
2745
|
key: K,
|
|
2743
|
-
class:
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
+
class: Q(["vpg-data-cell", [
|
|
2747
|
+
ue(H.value.indexOf(C), K) && "selected",
|
|
2748
|
+
N.value === null && "vpg-is-null"
|
|
2746
2749
|
]]),
|
|
2747
|
-
style: Fe({ width: `${
|
|
2748
|
-
onMousedown: (
|
|
2749
|
-
onMouseenter: (
|
|
2750
|
-
},
|
|
2751
|
-
t.pivotResult.rowTotals[C] ? (u(),
|
|
2750
|
+
style: Fe({ width: `${Ie.value}px` }),
|
|
2751
|
+
onMousedown: (Z) => k(H.value.indexOf(C), K, Z),
|
|
2752
|
+
onMouseenter: (Z) => B(H.value.indexOf(C), K)
|
|
2753
|
+
}, $(N.formattedValue), 47, ja))), 128)),
|
|
2754
|
+
t.pivotResult.rowTotals[C] ? (u(), c("td", Ha, $(t.pivotResult.rowTotals[C].formattedValue), 1)) : z("", !0)
|
|
2752
2755
|
]))), 128)),
|
|
2753
|
-
t.pivotResult.columnTotals.length > 0 ? (u(),
|
|
2756
|
+
t.pivotResult.columnTotals.length > 0 ? (u(), c("tr", Ka, [
|
|
2754
2757
|
e("th", {
|
|
2755
2758
|
class: "vpg-row-header-cell vpg-total-label",
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2759
|
+
colspan: Math.max(t.rowFields.length, 1),
|
|
2760
|
+
style: Fe({ width: `${Ce.value}px` })
|
|
2761
|
+
}, " Total ", 12, Oa),
|
|
2762
|
+
(u(!0), c(X, null, le(t.pivotResult.columnTotals, (C, N) => (u(), c("td", {
|
|
2763
|
+
key: N,
|
|
2760
2764
|
class: "vpg-data-cell vpg-total-cell",
|
|
2761
|
-
style: Fe({ width: `${
|
|
2762
|
-
},
|
|
2763
|
-
t.pivotResult.rowTotals.length > 0 ? (u(),
|
|
2765
|
+
style: Fe({ width: `${Ie.value}px` })
|
|
2766
|
+
}, $(C.formattedValue), 5))), 128)),
|
|
2767
|
+
t.pivotResult.rowTotals.length > 0 ? (u(), c("td", Wa, $(t.pivotResult.grandTotal.formattedValue), 1)) : z("", !0)
|
|
2764
2768
|
])) : z("", !0)
|
|
2765
2769
|
])
|
|
2766
2770
|
])
|
|
2767
2771
|
])),
|
|
2768
|
-
t.isConfigured && t.pivotResult ? (u(),
|
|
2769
|
-
e("span",
|
|
2770
|
-
fe.value && fe.value.count > 1 ? (u(),
|
|
2771
|
-
e("span",
|
|
2772
|
+
t.isConfigured && t.pivotResult ? (u(), c("div", qa, [
|
|
2773
|
+
e("span", Ga, $(t.pivotResult.rowHeaders.length) + " rows × " + $(((U = t.pivotResult.data[0]) == null ? void 0 : U.length) || 0) + " columns", 1),
|
|
2774
|
+
fe.value && fe.value.count > 1 ? (u(), c("div", Ya, [
|
|
2775
|
+
e("span", Ia, [
|
|
2772
2776
|
p[29] || (p[29] = e("span", { class: "vpg-stat-label" }, "Count:", -1)),
|
|
2773
|
-
e("span",
|
|
2777
|
+
e("span", Xa, $(fe.value.count), 1)
|
|
2774
2778
|
]),
|
|
2775
|
-
fe.value.numericCount > 0 ? (u(),
|
|
2779
|
+
fe.value.numericCount > 0 ? (u(), c(X, { key: 0 }, [
|
|
2776
2780
|
p[32] || (p[32] = e("span", { class: "vpg-stat-divider" }, "|", -1)),
|
|
2777
|
-
e("span",
|
|
2781
|
+
e("span", Za, [
|
|
2778
2782
|
p[30] || (p[30] = e("span", { class: "vpg-stat-label" }, "Sum:", -1)),
|
|
2779
|
-
e("span",
|
|
2783
|
+
e("span", _a, $(We(fe.value.sum)), 1)
|
|
2780
2784
|
]),
|
|
2781
2785
|
p[33] || (p[33] = e("span", { class: "vpg-stat-divider" }, "|", -1)),
|
|
2782
|
-
e("span",
|
|
2786
|
+
e("span", Qa, [
|
|
2783
2787
|
p[31] || (p[31] = e("span", { class: "vpg-stat-label" }, "Avg:", -1)),
|
|
2784
|
-
e("span",
|
|
2788
|
+
e("span", Ja, $(We(fe.value.avg)), 1)
|
|
2785
2789
|
])
|
|
2786
2790
|
], 64)) : z("", !0)
|
|
2787
2791
|
])) : z("", !0)
|
|
2788
2792
|
])) : z("", !0)
|
|
2789
|
-
], 64)) : (u(),
|
|
2793
|
+
], 64)) : (u(), c("div", ga, [...p[14] || (p[14] = [
|
|
2790
2794
|
e("div", { class: "vpg-pro-content" }, [
|
|
2791
2795
|
e("svg", {
|
|
2792
2796
|
class: "vpg-pro-icon",
|
|
@@ -2810,11 +2814,11 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2810
2814
|
}, " Get Pro License → ")
|
|
2811
2815
|
], -1)
|
|
2812
2816
|
])])),
|
|
2813
|
-
|
|
2817
|
+
V(m) && V(h) ? (u(), c("div", {
|
|
2814
2818
|
key: 2,
|
|
2815
|
-
class:
|
|
2819
|
+
class: Q(["vpg-watermark", { "vpg-demo-mode": V(b) }])
|
|
2816
2820
|
}, [
|
|
2817
|
-
|
|
2821
|
+
V(b) ? (u(), c(X, { key: 0 }, [
|
|
2818
2822
|
p[34] || (p[34] = e("span", { class: "vpg-demo-badge" }, "DEMO", -1)),
|
|
2819
2823
|
p[35] || (p[35] = e("span", null, "Pro features unlocked for evaluation", -1)),
|
|
2820
2824
|
p[36] || (p[36] = e("a", {
|
|
@@ -2823,45 +2827,45 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2823
2827
|
rel: "noopener",
|
|
2824
2828
|
class: "vpg-get-pro"
|
|
2825
2829
|
}, " Get Pro License → ", -1))
|
|
2826
|
-
], 64)) : (u(),
|
|
2830
|
+
], 64)) : (u(), c("a", es, " Powered by TinyPivot "))
|
|
2827
2831
|
], 2)) : z("", !0)
|
|
2828
2832
|
], 2);
|
|
2829
2833
|
};
|
|
2830
2834
|
}
|
|
2831
|
-
}),
|
|
2835
|
+
}), ls = /* @__PURE__ */ lt(ts, [["__scopeId", "data-v-223b7dde"]]), ns = {
|
|
2832
2836
|
key: 0,
|
|
2833
2837
|
class: "vpg-toast"
|
|
2834
|
-
},
|
|
2838
|
+
}, os = { class: "vpg-toolbar" }, as = { class: "vpg-toolbar-left" }, ss = {
|
|
2835
2839
|
key: 0,
|
|
2836
2840
|
class: "vpg-view-toggle"
|
|
2837
|
-
},
|
|
2841
|
+
}, is = {
|
|
2838
2842
|
key: 0,
|
|
2839
2843
|
class: "vpg-search-container"
|
|
2840
|
-
},
|
|
2844
|
+
}, rs = {
|
|
2841
2845
|
key: 1,
|
|
2842
2846
|
class: "vpg-search-box"
|
|
2843
|
-
},
|
|
2847
|
+
}, us = { class: "vpg-font-size-control" }, cs = { class: "vpg-font-size-toggle" }, vs = ["onClick"], ds = {
|
|
2844
2848
|
key: 1,
|
|
2845
2849
|
class: "vpg-filter-info"
|
|
2846
|
-
},
|
|
2850
|
+
}, gs = {
|
|
2847
2851
|
key: 2,
|
|
2848
2852
|
class: "vpg-search-info"
|
|
2849
|
-
},
|
|
2853
|
+
}, ps = {
|
|
2850
2854
|
key: 0,
|
|
2851
2855
|
class: "vpg-pivot-status"
|
|
2852
|
-
},
|
|
2856
|
+
}, fs = { class: "vpg-toolbar-right" }, ms = ["disabled", "title"], hs = {
|
|
2853
2857
|
key: 0,
|
|
2854
2858
|
class: "vpg-loading"
|
|
2855
|
-
},
|
|
2859
|
+
}, ws = {
|
|
2856
2860
|
key: 1,
|
|
2857
2861
|
class: "vpg-empty"
|
|
2858
|
-
},
|
|
2862
|
+
}, Cs = {
|
|
2859
2863
|
key: 2,
|
|
2860
2864
|
class: "vpg-empty"
|
|
2861
2865
|
}, bs = {
|
|
2862
2866
|
key: 3,
|
|
2863
2867
|
class: "vpg-table-wrapper"
|
|
2864
|
-
},
|
|
2868
|
+
}, ys = ["onClick"], ks = { class: "vpg-header-content" }, Fs = { class: "vpg-header-text" }, Ss = { class: "vpg-header-icons" }, $s = {
|
|
2865
2869
|
key: 0,
|
|
2866
2870
|
class: "vpg-sort-indicator"
|
|
2867
2871
|
}, xs = {
|
|
@@ -2869,36 +2873,36 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2869
2873
|
class: "vpg-icon-sm",
|
|
2870
2874
|
fill: "currentColor",
|
|
2871
2875
|
viewBox: "0 0 20 20"
|
|
2872
|
-
},
|
|
2876
|
+
}, Ms = {
|
|
2873
2877
|
key: 1,
|
|
2874
2878
|
class: "vpg-icon-sm",
|
|
2875
2879
|
fill: "currentColor",
|
|
2876
2880
|
viewBox: "0 0 20 20"
|
|
2877
|
-
},
|
|
2881
|
+
}, Rs = {
|
|
2878
2882
|
key: 1,
|
|
2879
2883
|
class: "vpg-filter-indicator"
|
|
2880
|
-
},
|
|
2884
|
+
}, Ds = ["onMousedown"], Vs = ["data-row", "data-col", "onMousedown", "onMouseenter"], Ts = {
|
|
2881
2885
|
key: 1,
|
|
2882
2886
|
class: "vpg-pivot-container"
|
|
2883
|
-
},
|
|
2887
|
+
}, As = {
|
|
2884
2888
|
key: 0,
|
|
2885
2889
|
class: "vpg-pivot-config-panel"
|
|
2886
|
-
},
|
|
2890
|
+
}, Ls = { class: "vpg-footer" }, Ns = { class: "vpg-footer-left" }, Ps = {
|
|
2887
2891
|
key: 0,
|
|
2888
2892
|
class: "vpg-filtered-note"
|
|
2889
|
-
},
|
|
2893
|
+
}, zs = { key: 1 }, Es = { class: "vpg-filtered-count" }, Bs = {
|
|
2890
2894
|
key: 0,
|
|
2891
2895
|
class: "vpg-pagination"
|
|
2892
|
-
},
|
|
2896
|
+
}, Us = ["disabled"], js = ["disabled"], Hs = { class: "vpg-page-info" }, Ks = ["disabled"], Os = ["disabled"], Ws = {
|
|
2893
2897
|
key: 1,
|
|
2894
2898
|
class: "vpg-selection-stats"
|
|
2895
|
-
},
|
|
2899
|
+
}, qs = { class: "vpg-stat" }, Gs = { class: "vpg-stat-value" }, Ys = { class: "vpg-stat" }, Is = { class: "vpg-stat-value" }, Xs = { class: "vpg-stat" }, Zs = { class: "vpg-stat-value" }, _s = { class: "vpg-footer-right" }, Qs = {
|
|
2896
2900
|
key: 0,
|
|
2897
2901
|
class: "vpg-demo-banner"
|
|
2898
|
-
},
|
|
2902
|
+
}, Js = {
|
|
2899
2903
|
key: 1,
|
|
2900
2904
|
class: "vpg-watermark-inline"
|
|
2901
|
-
}, Ae = 120,
|
|
2905
|
+
}, Ae = 120, Ot = 350, ei = /* @__PURE__ */ tt({
|
|
2902
2906
|
__name: "DataGrid",
|
|
2903
2907
|
props: {
|
|
2904
2908
|
data: {},
|
|
@@ -2923,31 +2927,31 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2923
2927
|
},
|
|
2924
2928
|
emits: ["cellClick", "selectionChange", "export", "copy"],
|
|
2925
2929
|
setup(t, { emit: i }) {
|
|
2926
|
-
const l = t, s = i, { showWatermark: o, canUsePivot: a, isDemo: m, isPro: h } =
|
|
2930
|
+
const l = t, s = i, { showWatermark: o, canUsePivot: a, isDemo: m, isPro: h } = ht(), b = L(() => {
|
|
2927
2931
|
var r;
|
|
2928
2932
|
return l.theme === "auto" ? (r = window.matchMedia) != null && r.call(window, "(prefers-color-scheme: dark)").matches ? "dark" : "light" : l.theme;
|
|
2929
|
-
}),
|
|
2933
|
+
}), D = x(l.fontSize), F = x(""), A = x(!1), T = x(1), M = x(null), y = x(0), O = x(0), J = x(l.initialHeight), I = x(!1), q = x(0), E = x(0), P = x(!1), H = x(""), G = [
|
|
2930
2934
|
{ value: "xs", label: "S" },
|
|
2931
2935
|
{ value: "sm", label: "M" },
|
|
2932
2936
|
{ value: "base", label: "L" }
|
|
2933
|
-
],
|
|
2934
|
-
table:
|
|
2937
|
+
], ne = L(() => l.data), {
|
|
2938
|
+
table: j,
|
|
2935
2939
|
columnKeys: S,
|
|
2936
2940
|
filteredRowCount: f,
|
|
2937
2941
|
totalRowCount: d,
|
|
2938
|
-
getColumnStats:
|
|
2942
|
+
getColumnStats: v,
|
|
2939
2943
|
hasActiveFilter: g,
|
|
2940
2944
|
setColumnFilter: k,
|
|
2941
2945
|
getColumnFilterValues: B,
|
|
2942
2946
|
clearAllFilters: Y,
|
|
2943
|
-
toggleSort:
|
|
2944
|
-
getSortDirection:
|
|
2947
|
+
toggleSort: ue,
|
|
2948
|
+
getSortDirection: he,
|
|
2945
2949
|
columnFilters: Me,
|
|
2946
2950
|
activeFilters: fe,
|
|
2947
2951
|
// Numeric range filters
|
|
2948
2952
|
setNumericRangeFilter: We,
|
|
2949
|
-
getNumericRangeFilter:
|
|
2950
|
-
} = mn({ data:
|
|
2953
|
+
getNumericRangeFilter: we
|
|
2954
|
+
} = mn({ data: ne }), nt = L(() => j.getFilteredRowModel().rows.map((n) => n.original)), ot = L(() => fe.value.length === 0 ? null : fe.value.map((r) => {
|
|
2951
2955
|
var n;
|
|
2952
2956
|
if (r.type === "range" && r.range) {
|
|
2953
2957
|
const w = [];
|
|
@@ -2970,19 +2974,19 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2970
2974
|
valueFields: ze,
|
|
2971
2975
|
showRowTotals: qe,
|
|
2972
2976
|
showColumnTotals: Ge,
|
|
2973
|
-
availableFields:
|
|
2977
|
+
availableFields: rt,
|
|
2974
2978
|
isConfigured: Ye,
|
|
2975
|
-
pivotResult:
|
|
2976
|
-
addRowField:
|
|
2977
|
-
removeRowField:
|
|
2978
|
-
addColumnField:
|
|
2979
|
-
removeColumnField:
|
|
2980
|
-
addValueField:
|
|
2981
|
-
removeValueField:
|
|
2982
|
-
updateValueFieldAggregation:
|
|
2983
|
-
clearConfig:
|
|
2984
|
-
autoSuggestConfig:
|
|
2985
|
-
} = wn(
|
|
2979
|
+
pivotResult: Ce,
|
|
2980
|
+
addRowField: Ie,
|
|
2981
|
+
removeRowField: Xe,
|
|
2982
|
+
addColumnField: at,
|
|
2983
|
+
removeColumnField: R,
|
|
2984
|
+
addValueField: p,
|
|
2985
|
+
removeValueField: U,
|
|
2986
|
+
updateValueFieldAggregation: C,
|
|
2987
|
+
clearConfig: N,
|
|
2988
|
+
autoSuggestConfig: K
|
|
2989
|
+
} = wn(nt), Z = L(() => {
|
|
2986
2990
|
if (!F.value.trim() || !l.enableSearch)
|
|
2987
2991
|
return Be.value;
|
|
2988
2992
|
const r = F.value.toLowerCase().trim();
|
|
@@ -2994,44 +2998,44 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
2994
2998
|
}
|
|
2995
2999
|
return !1;
|
|
2996
3000
|
});
|
|
2997
|
-
}),
|
|
2998
|
-
if (!l.enablePagination) return
|
|
3001
|
+
}), ee = L(() => Z.value.length), ce = L(() => l.enablePagination ? Math.max(1, Math.ceil(ee.value / l.pageSize)) : 1), ge = L(() => {
|
|
3002
|
+
if (!l.enablePagination) return Z.value;
|
|
2999
3003
|
const r = (T.value - 1) * l.pageSize, n = r + l.pageSize;
|
|
3000
|
-
return
|
|
3001
|
-
}),
|
|
3002
|
-
() => Math.min(T.value * l.pageSize,
|
|
3004
|
+
return Z.value.slice(r, n);
|
|
3005
|
+
}), me = L(() => ee.value === 0 ? 0 : (T.value - 1) * l.pageSize + 1), be = L(
|
|
3006
|
+
() => Math.min(T.value * l.pageSize, ee.value)
|
|
3003
3007
|
);
|
|
3004
|
-
function
|
|
3005
|
-
T.value <
|
|
3008
|
+
function ve() {
|
|
3009
|
+
T.value < ce.value && T.value++;
|
|
3006
3010
|
}
|
|
3007
|
-
function
|
|
3011
|
+
function Ee() {
|
|
3008
3012
|
T.value > 1 && T.value--;
|
|
3009
3013
|
}
|
|
3010
3014
|
Te([Me, F], () => {
|
|
3011
3015
|
T.value = 1;
|
|
3012
3016
|
});
|
|
3013
|
-
function
|
|
3014
|
-
if (
|
|
3017
|
+
function Ze() {
|
|
3018
|
+
if (de.value === "pivot") {
|
|
3015
3019
|
ll();
|
|
3016
3020
|
return;
|
|
3017
3021
|
}
|
|
3018
|
-
const r = l.enableSearch && F.value.trim() ?
|
|
3019
|
-
|
|
3022
|
+
const r = l.enableSearch && F.value.trim() ? Z.value.map((n) => n.original) : Be.value.map((n) => n.original);
|
|
3023
|
+
Cn(r, S.value, {
|
|
3020
3024
|
filename: l.exportFilename,
|
|
3021
3025
|
includeHeaders: !0
|
|
3022
3026
|
}), s("export", { rowCount: r.length, filename: l.exportFilename });
|
|
3023
3027
|
}
|
|
3024
3028
|
function ll() {
|
|
3025
|
-
if (!
|
|
3029
|
+
if (!Ce.value) return;
|
|
3026
3030
|
const r = l.exportFilename.replace(".csv", "-pivot.csv");
|
|
3027
|
-
|
|
3031
|
+
bn(
|
|
3028
3032
|
{
|
|
3029
|
-
headers:
|
|
3030
|
-
rowHeaders:
|
|
3031
|
-
data:
|
|
3032
|
-
rowTotals:
|
|
3033
|
-
columnTotals:
|
|
3034
|
-
grandTotal:
|
|
3033
|
+
headers: Ce.value.headers,
|
|
3034
|
+
rowHeaders: Ce.value.rowHeaders,
|
|
3035
|
+
data: Ce.value.data,
|
|
3036
|
+
rowTotals: Ce.value.rowTotals,
|
|
3037
|
+
columnTotals: Ce.value.columnTotals,
|
|
3038
|
+
grandTotal: Ce.value.grandTotal,
|
|
3035
3039
|
showRowTotals: qe.value,
|
|
3036
3040
|
showColumnTotals: Ge.value
|
|
3037
3041
|
},
|
|
@@ -3040,38 +3044,38 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3040
3044
|
ze.value,
|
|
3041
3045
|
{ filename: r }
|
|
3042
3046
|
);
|
|
3043
|
-
const n =
|
|
3047
|
+
const n = Ce.value.rowHeaders.length;
|
|
3044
3048
|
s("export", { rowCount: n, filename: r });
|
|
3045
3049
|
}
|
|
3046
3050
|
function nl(r, n) {
|
|
3047
|
-
l.enableColumnResize && (n.preventDefault(), n.stopPropagation(), M.value = r, y.value = n.clientX, O.value = Re.value[r] || Ae, document.addEventListener("mousemove",
|
|
3051
|
+
l.enableColumnResize && (n.preventDefault(), n.stopPropagation(), M.value = r, y.value = n.clientX, O.value = Re.value[r] || Ae, document.addEventListener("mousemove", $t), document.addEventListener("mouseup", xt));
|
|
3048
3052
|
}
|
|
3049
|
-
function
|
|
3053
|
+
function $t(r) {
|
|
3050
3054
|
if (!M.value) return;
|
|
3051
|
-
const n = r.clientX - y.value, w = Math.max(Ae, Math.min(
|
|
3055
|
+
const n = r.clientX - y.value, w = Math.max(Ae, Math.min(Ot, O.value + n));
|
|
3052
3056
|
Re.value = {
|
|
3053
3057
|
...Re.value,
|
|
3054
3058
|
[M.value]: w
|
|
3055
3059
|
};
|
|
3056
3060
|
}
|
|
3057
3061
|
function xt() {
|
|
3058
|
-
M.value = null, document.removeEventListener("mousemove",
|
|
3062
|
+
M.value = null, document.removeEventListener("mousemove", $t), document.removeEventListener("mouseup", xt);
|
|
3059
3063
|
}
|
|
3060
3064
|
function ol(r) {
|
|
3061
|
-
l.enableVerticalResize && (r.preventDefault(),
|
|
3065
|
+
l.enableVerticalResize && (r.preventDefault(), I.value = !0, q.value = r.clientY, E.value = J.value, document.addEventListener("mousemove", Mt), document.addEventListener("mouseup", Rt));
|
|
3062
3066
|
}
|
|
3063
|
-
function
|
|
3064
|
-
if (!
|
|
3067
|
+
function Mt(r) {
|
|
3068
|
+
if (!I.value) return;
|
|
3065
3069
|
const n = r.clientY - q.value, w = Math.max(
|
|
3066
3070
|
l.minHeight,
|
|
3067
3071
|
Math.min(l.maxHeight, E.value + n)
|
|
3068
3072
|
);
|
|
3069
|
-
|
|
3070
|
-
}
|
|
3071
|
-
function Mt() {
|
|
3072
|
-
_.value = !1, document.removeEventListener("mousemove", $t), document.removeEventListener("mouseup", Mt);
|
|
3073
|
+
J.value = w;
|
|
3073
3074
|
}
|
|
3074
3075
|
function Rt() {
|
|
3076
|
+
I.value = !1, document.removeEventListener("mousemove", Mt), document.removeEventListener("mouseup", Rt);
|
|
3077
|
+
}
|
|
3078
|
+
function Dt() {
|
|
3075
3079
|
if (!ke.value || !l.enableClipboard) return;
|
|
3076
3080
|
const r = kn(
|
|
3077
3081
|
Be.value.map((n) => n.original),
|
|
@@ -3093,23 +3097,23 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3093
3097
|
}
|
|
3094
3098
|
);
|
|
3095
3099
|
}
|
|
3096
|
-
const
|
|
3100
|
+
const de = x("grid"), _e = x(!0), wt = x(null), Se = x(Qt());
|
|
3097
3101
|
function al(r) {
|
|
3098
|
-
r.id || (r.id = `calc_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`), Se.value = [...Se.value, r],
|
|
3102
|
+
r.id || (r.id = `calc_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`), Se.value = [...Se.value, r], it(Se.value);
|
|
3099
3103
|
}
|
|
3100
3104
|
function sl(r) {
|
|
3101
|
-
Se.value = Se.value.filter((W) => W.id !== r),
|
|
3105
|
+
Se.value = Se.value.filter((W) => W.id !== r), it(Se.value);
|
|
3102
3106
|
const n = `calc:${r}`, w = ze.value.find((W) => W.field === n);
|
|
3103
|
-
w &&
|
|
3107
|
+
w && U(n, w.aggregation);
|
|
3104
3108
|
}
|
|
3105
3109
|
function il(r) {
|
|
3106
|
-
Se.value = Se.value.map((n) => n.id === r.id ? r : n),
|
|
3110
|
+
Se.value = Se.value.map((n) => n.id === r.id ? r : n), it(Se.value);
|
|
3107
3111
|
}
|
|
3108
3112
|
function rl(r) {
|
|
3109
|
-
|
|
3113
|
+
wt.value = r;
|
|
3110
3114
|
}
|
|
3111
3115
|
function ul() {
|
|
3112
|
-
|
|
3116
|
+
wt.value = null;
|
|
3113
3117
|
}
|
|
3114
3118
|
function cl(r) {
|
|
3115
3119
|
Ne.value = r;
|
|
@@ -3117,35 +3121,35 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3117
3121
|
function vl(r) {
|
|
3118
3122
|
Pe.value = r;
|
|
3119
3123
|
}
|
|
3120
|
-
const
|
|
3121
|
-
function
|
|
3124
|
+
const Ct = x(), Vt = x(), Be = L(() => j.getRowModel().rows), ie = x(null), ut = x({ top: 0, left: 0, maxHeight: 400 }), Re = x({});
|
|
3125
|
+
function Tt() {
|
|
3122
3126
|
if (typeof document > "u" || l.data.length === 0)
|
|
3123
3127
|
return;
|
|
3124
3128
|
const r = {}, n = Math.min(100, l.data.length), W = document.createElement("canvas").getContext("2d");
|
|
3125
3129
|
if (W) {
|
|
3126
3130
|
W.font = "13px system-ui, -apple-system, sans-serif";
|
|
3127
|
-
for (const
|
|
3128
|
-
let se = W.measureText(
|
|
3131
|
+
for (const _ of S.value) {
|
|
3132
|
+
let se = W.measureText(_).width + 56;
|
|
3129
3133
|
for (let ae = 0; ae < n; ae++) {
|
|
3130
|
-
const
|
|
3134
|
+
const oe = l.data[ae][_], re = oe == null ? "" : String(oe), Ve = W.measureText(re).width + 28;
|
|
3131
3135
|
se = Math.max(se, Ve);
|
|
3132
3136
|
}
|
|
3133
|
-
r[
|
|
3137
|
+
r[_] = Math.min(Math.max(se, Ae), Ot);
|
|
3134
3138
|
}
|
|
3135
3139
|
Re.value = r;
|
|
3136
3140
|
}
|
|
3137
3141
|
}
|
|
3138
3142
|
function dl(r, n) {
|
|
3139
3143
|
n.stopPropagation();
|
|
3140
|
-
const w = n.currentTarget, W = w.closest(".vpg-header-cell"),
|
|
3141
|
-
let
|
|
3142
|
-
|
|
3143
|
-
const
|
|
3144
|
+
const w = n.currentTarget, W = w.closest(".vpg-header-cell"), _ = (W == null ? void 0 : W.getBoundingClientRect()) || w.getBoundingClientRect(), se = 280, ae = 12;
|
|
3145
|
+
let oe = _.left;
|
|
3146
|
+
oe + se > window.innerWidth - ae && (oe = window.innerWidth - se - ae), oe = Math.max(ae, oe);
|
|
3147
|
+
const re = window.innerHeight - _.bottom - ae, Ve = _.top - ae;
|
|
3144
3148
|
let Ue, je;
|
|
3145
|
-
|
|
3149
|
+
re >= 300 || re >= Ve ? (Ue = _.bottom + 4, je = Math.min(400, re - 4)) : (je = Math.min(400, Ve - 4), Ue = _.top - je - 4), ut.value = { top: Ue, left: oe, maxHeight: je }, ie.value = r;
|
|
3146
3150
|
}
|
|
3147
|
-
function
|
|
3148
|
-
|
|
3151
|
+
function ct() {
|
|
3152
|
+
ie.value = null;
|
|
3149
3153
|
}
|
|
3150
3154
|
function gl(r, n) {
|
|
3151
3155
|
k(r, n);
|
|
@@ -3155,16 +3159,16 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3155
3159
|
}
|
|
3156
3160
|
function fl(r, n) {
|
|
3157
3161
|
if (n === null)
|
|
3158
|
-
|
|
3162
|
+
he(r) && (ue(r), he(r) && ue(r));
|
|
3159
3163
|
else {
|
|
3160
|
-
const w =
|
|
3161
|
-
w === null ? (
|
|
3164
|
+
const w = he(r);
|
|
3165
|
+
w === null ? (ue(r), n === "desc" && he(r) === "asc" && ue(r)) : w !== n && ue(r);
|
|
3162
3166
|
}
|
|
3163
3167
|
}
|
|
3164
|
-
const
|
|
3168
|
+
const vt = L(() => Me.value.length), De = x(null), $e = x(null), ye = x(null), bt = x(!1);
|
|
3165
3169
|
function ml(r) {
|
|
3166
3170
|
const n = Be.value.length - 1;
|
|
3167
|
-
n < 0 || (
|
|
3171
|
+
n < 0 || ($e.value = { row: 0, col: r }, ye.value = { row: n, col: r }, De.value = { row: 0, col: r });
|
|
3168
3172
|
}
|
|
3169
3173
|
function hl(r, n) {
|
|
3170
3174
|
if (n.target.closest(".vpg-dropdown-arrow")) {
|
|
@@ -3173,69 +3177,69 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3173
3177
|
} else
|
|
3174
3178
|
ml(r);
|
|
3175
3179
|
}
|
|
3176
|
-
const ke =
|
|
3177
|
-
minRow: Math.min(
|
|
3178
|
-
maxRow: Math.max(
|
|
3179
|
-
minCol: Math.min(
|
|
3180
|
-
maxCol: Math.max(
|
|
3180
|
+
const ke = L(() => !$e.value || !ye.value ? null : {
|
|
3181
|
+
minRow: Math.min($e.value.row, ye.value.row),
|
|
3182
|
+
maxRow: Math.max($e.value.row, ye.value.row),
|
|
3183
|
+
minCol: Math.min($e.value.col, ye.value.col),
|
|
3184
|
+
maxCol: Math.max($e.value.col, ye.value.col)
|
|
3181
3185
|
});
|
|
3182
3186
|
function wl(r, n) {
|
|
3183
3187
|
if (!ke.value)
|
|
3184
3188
|
return !1;
|
|
3185
|
-
const { minRow: w, maxRow: W, minCol:
|
|
3186
|
-
return r >= w && r <= W && n >=
|
|
3189
|
+
const { minRow: w, maxRow: W, minCol: _, maxCol: se } = ke.value;
|
|
3190
|
+
return r >= w && r <= W && n >= _ && n <= se;
|
|
3187
3191
|
}
|
|
3188
|
-
const
|
|
3192
|
+
const Qe = L(() => {
|
|
3189
3193
|
if (!ke.value)
|
|
3190
3194
|
return null;
|
|
3191
|
-
const { minRow: r, maxRow: n, minCol: w, maxCol: W } = ke.value,
|
|
3195
|
+
const { minRow: r, maxRow: n, minCol: w, maxCol: W } = ke.value, _ = [];
|
|
3192
3196
|
let se = 0;
|
|
3193
|
-
for (let
|
|
3194
|
-
const Ve = Be.value[
|
|
3197
|
+
for (let re = r; re <= n; re++) {
|
|
3198
|
+
const Ve = Be.value[re];
|
|
3195
3199
|
if (Ve)
|
|
3196
3200
|
for (let Ue = w; Ue <= W; Ue++) {
|
|
3197
3201
|
const je = S.value[Ue];
|
|
3198
3202
|
if (!je)
|
|
3199
3203
|
continue;
|
|
3200
|
-
const
|
|
3201
|
-
if (se++,
|
|
3202
|
-
const
|
|
3203
|
-
Number.isNaN(
|
|
3204
|
+
const Je = Ve.original[je];
|
|
3205
|
+
if (se++, Je != null && Je !== "") {
|
|
3206
|
+
const Et = typeof Je == "number" ? Je : Number.parseFloat(String(Je));
|
|
3207
|
+
Number.isNaN(Et) || _.push(Et);
|
|
3204
3208
|
}
|
|
3205
3209
|
}
|
|
3206
3210
|
}
|
|
3207
|
-
if (
|
|
3211
|
+
if (_.length === 0)
|
|
3208
3212
|
return { count: se, sum: null, avg: null, numericCount: 0 };
|
|
3209
|
-
const ae =
|
|
3210
|
-
return { count: se, sum: ae, avg:
|
|
3213
|
+
const ae = _.reduce((re, Ve) => re + Ve, 0), oe = ae / _.length;
|
|
3214
|
+
return { count: se, sum: ae, avg: oe, numericCount: _.length };
|
|
3211
3215
|
});
|
|
3212
|
-
function
|
|
3216
|
+
function At(r) {
|
|
3213
3217
|
return r === null ? "-" : Math.abs(r) >= 1e3 ? r.toLocaleString("en-US", { maximumFractionDigits: 2 }) : r.toLocaleString("en-US", { maximumFractionDigits: 4 });
|
|
3214
3218
|
}
|
|
3215
|
-
function
|
|
3219
|
+
function Lt(r) {
|
|
3216
3220
|
if ((r.ctrlKey || r.metaKey) && r.key === "c" && ke.value) {
|
|
3217
|
-
r.preventDefault(),
|
|
3221
|
+
r.preventDefault(), Dt();
|
|
3218
3222
|
return;
|
|
3219
3223
|
}
|
|
3220
3224
|
if ((r.ctrlKey || r.metaKey) && r.key === "f" && l.enableSearch) {
|
|
3221
|
-
r.preventDefault(), A.value = !0,
|
|
3222
|
-
const
|
|
3223
|
-
|
|
3225
|
+
r.preventDefault(), A.value = !0, st(() => {
|
|
3226
|
+
const oe = document.querySelector(".vpg-search-input");
|
|
3227
|
+
oe == null || oe.focus();
|
|
3224
3228
|
});
|
|
3225
3229
|
return;
|
|
3226
3230
|
}
|
|
3227
|
-
if (!De.value ||
|
|
3231
|
+
if (!De.value || ie.value)
|
|
3228
3232
|
return;
|
|
3229
|
-
const { row: n, col: w } = De.value,
|
|
3230
|
-
function ae(
|
|
3231
|
-
r.shiftKey ? (
|
|
3233
|
+
const { row: n, col: w } = De.value, _ = ge.value.length - 1, se = S.value.length - 1;
|
|
3234
|
+
function ae(oe, re) {
|
|
3235
|
+
r.shiftKey ? ($e.value || ($e.value = { row: n, col: w }), ye.value = { row: oe, col: re }) : ($e.value = { row: oe, col: re }, ye.value = { row: oe, col: re }), De.value = { row: oe, col: re }, Cl(oe, re);
|
|
3232
3236
|
}
|
|
3233
3237
|
switch (r.key) {
|
|
3234
3238
|
case "ArrowUp":
|
|
3235
3239
|
r.preventDefault(), n > 0 && ae(n - 1, w);
|
|
3236
3240
|
break;
|
|
3237
3241
|
case "ArrowDown":
|
|
3238
|
-
r.preventDefault(), n <
|
|
3242
|
+
r.preventDefault(), n < _ && ae(n + 1, w);
|
|
3239
3243
|
break;
|
|
3240
3244
|
case "ArrowLeft":
|
|
3241
3245
|
r.preventDefault(), w > 0 && ae(n, w - 1);
|
|
@@ -3244,37 +3248,37 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3244
3248
|
r.preventDefault(), w < se && ae(n, w + 1);
|
|
3245
3249
|
break;
|
|
3246
3250
|
case "Escape":
|
|
3247
|
-
De.value = null,
|
|
3251
|
+
De.value = null, $e.value = null, ye.value = null, A.value = !1, F.value = "";
|
|
3248
3252
|
break;
|
|
3249
3253
|
}
|
|
3250
3254
|
}
|
|
3251
|
-
function
|
|
3252
|
-
|
|
3255
|
+
function Cl(r, n) {
|
|
3256
|
+
st(() => {
|
|
3253
3257
|
var W;
|
|
3254
|
-
const w = (W =
|
|
3258
|
+
const w = (W = Vt.value) == null ? void 0 : W.querySelector(
|
|
3255
3259
|
`[data-row="${r}"][data-col="${n}"]`
|
|
3256
3260
|
);
|
|
3257
3261
|
w == null || w.scrollIntoView({ block: "nearest", inline: "nearest" });
|
|
3258
3262
|
});
|
|
3259
3263
|
}
|
|
3260
|
-
function
|
|
3261
|
-
w.preventDefault(), w.shiftKey && De.value ? ye.value = { row: r, col: n } : (De.value = { row: r, col: n },
|
|
3264
|
+
function bl(r, n, w) {
|
|
3265
|
+
w.preventDefault(), w.shiftKey && De.value ? ye.value = { row: r, col: n } : (De.value = { row: r, col: n }, $e.value = { row: r, col: n }, ye.value = { row: r, col: n }, bt.value = !0);
|
|
3262
3266
|
const W = Be.value[r];
|
|
3263
3267
|
if (W) {
|
|
3264
|
-
const
|
|
3268
|
+
const _ = S.value[n];
|
|
3265
3269
|
s("cellClick", {
|
|
3266
3270
|
row: r,
|
|
3267
3271
|
col: n,
|
|
3268
|
-
value: W.original[
|
|
3272
|
+
value: W.original[_],
|
|
3269
3273
|
rowData: W.original
|
|
3270
3274
|
});
|
|
3271
3275
|
}
|
|
3272
3276
|
}
|
|
3273
3277
|
function yl(r, n) {
|
|
3274
|
-
|
|
3278
|
+
bt.value && (ye.value = { row: r, col: n });
|
|
3275
3279
|
}
|
|
3276
|
-
function
|
|
3277
|
-
|
|
3280
|
+
function Nt() {
|
|
3281
|
+
bt.value = !1;
|
|
3278
3282
|
}
|
|
3279
3283
|
function kl(r, n) {
|
|
3280
3284
|
var w, W;
|
|
@@ -3284,56 +3288,56 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3284
3288
|
function Sl(r) {
|
|
3285
3289
|
return !Fl.test(r);
|
|
3286
3290
|
}
|
|
3287
|
-
function
|
|
3291
|
+
function $l(r, n) {
|
|
3288
3292
|
if (r == null || r === "")
|
|
3289
3293
|
return "";
|
|
3290
|
-
if (
|
|
3294
|
+
if (v(n).type === "number") {
|
|
3291
3295
|
const W = typeof r == "number" ? r : Number.parseFloat(String(r));
|
|
3292
3296
|
return Number.isNaN(W) ? String(r) : Sl(n) && Math.abs(W) >= 1e3 ? W.toLocaleString("en-US", { maximumFractionDigits: 2 }) : Number.isInteger(W) ? String(W) : W.toLocaleString("en-US", { maximumFractionDigits: 4, useGrouping: !1 });
|
|
3293
3297
|
}
|
|
3294
3298
|
return String(r);
|
|
3295
3299
|
}
|
|
3296
|
-
function
|
|
3297
|
-
|
|
3300
|
+
function Pt() {
|
|
3301
|
+
ie.value && ct();
|
|
3298
3302
|
}
|
|
3299
|
-
function
|
|
3303
|
+
function zt(r) {
|
|
3300
3304
|
var n;
|
|
3301
|
-
if (
|
|
3305
|
+
if (ie.value) {
|
|
3302
3306
|
const w = r.target;
|
|
3303
3307
|
if (w && ((n = w.closest) != null && n.call(w, ".vpg-filter-portal")))
|
|
3304
3308
|
return;
|
|
3305
|
-
|
|
3309
|
+
ct();
|
|
3306
3310
|
}
|
|
3307
3311
|
}
|
|
3308
|
-
|
|
3309
|
-
|
|
3312
|
+
Ft(() => {
|
|
3313
|
+
Tt(), document.addEventListener("keydown", Lt), document.addEventListener("mouseup", Nt), st(() => {
|
|
3310
3314
|
var r;
|
|
3311
|
-
(r =
|
|
3312
|
-
}), window.addEventListener("scroll",
|
|
3313
|
-
}),
|
|
3315
|
+
(r = Ct.value) == null || r.addEventListener("scroll", Pt, { passive: !0 });
|
|
3316
|
+
}), window.addEventListener("scroll", zt, { passive: !0, capture: !0 });
|
|
3317
|
+
}), St(() => {
|
|
3314
3318
|
var r;
|
|
3315
|
-
document.removeEventListener("keydown",
|
|
3319
|
+
document.removeEventListener("keydown", Lt), document.removeEventListener("mouseup", Nt), (r = Ct.value) == null || r.removeEventListener("scroll", Pt), window.removeEventListener("scroll", zt, { capture: !0 });
|
|
3316
3320
|
}), Te(() => l.data, () => {
|
|
3317
|
-
|
|
3321
|
+
st(Tt);
|
|
3318
3322
|
}, { immediate: !0 });
|
|
3319
|
-
const
|
|
3323
|
+
const xl = L(() => S.value.reduce((r, n) => r + (Re.value[n] || Ae), 0));
|
|
3320
3324
|
function Ml(r) {
|
|
3321
|
-
|
|
3325
|
+
ie.value && (r.target.closest(".vpg-filter-portal") || ct());
|
|
3322
3326
|
}
|
|
3323
|
-
return (r, n) => (u(),
|
|
3324
|
-
class:
|
|
3325
|
-
`vpg-font-${
|
|
3327
|
+
return (r, n) => (u(), c("div", {
|
|
3328
|
+
class: Q(["vpg-data-grid", [
|
|
3329
|
+
`vpg-font-${D.value}`,
|
|
3326
3330
|
`vpg-theme-${b.value}`,
|
|
3327
3331
|
{ "vpg-striped": t.stripedRows },
|
|
3328
3332
|
{ "vpg-resizing": M.value },
|
|
3329
|
-
{ "vpg-resizing-vertical":
|
|
3333
|
+
{ "vpg-resizing-vertical": I.value }
|
|
3330
3334
|
]]),
|
|
3331
|
-
style: Fe({ height: `${
|
|
3335
|
+
style: Fe({ height: `${J.value}px` }),
|
|
3332
3336
|
onClick: Ml
|
|
3333
3337
|
}, [
|
|
3334
|
-
Oe(
|
|
3335
|
-
default:
|
|
3336
|
-
P.value ? (u(),
|
|
3338
|
+
Oe(Gt, { name: "vpg-toast" }, {
|
|
3339
|
+
default: Yt(() => [
|
|
3340
|
+
P.value ? (u(), c("div", ns, [
|
|
3337
3341
|
n[17] || (n[17] = e("svg", {
|
|
3338
3342
|
class: "vpg-icon",
|
|
3339
3343
|
fill: "none",
|
|
@@ -3347,17 +3351,17 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3347
3351
|
d: "M5 13l4 4L19 7"
|
|
3348
3352
|
})
|
|
3349
3353
|
], -1)),
|
|
3350
|
-
|
|
3354
|
+
te(" " + $(H.value), 1)
|
|
3351
3355
|
])) : z("", !0)
|
|
3352
3356
|
]),
|
|
3353
3357
|
_: 1
|
|
3354
3358
|
}),
|
|
3355
|
-
e("div",
|
|
3356
|
-
e("div",
|
|
3357
|
-
t.showPivot ? (u(),
|
|
3359
|
+
e("div", os, [
|
|
3360
|
+
e("div", as, [
|
|
3361
|
+
t.showPivot ? (u(), c("div", ss, [
|
|
3358
3362
|
e("button", {
|
|
3359
|
-
class:
|
|
3360
|
-
onClick: n[0] || (n[0] = (w) =>
|
|
3363
|
+
class: Q(["vpg-view-btn", { active: de.value === "grid" }]),
|
|
3364
|
+
onClick: n[0] || (n[0] = (w) => de.value = "grid")
|
|
3361
3365
|
}, [...n[18] || (n[18] = [
|
|
3362
3366
|
e("svg", {
|
|
3363
3367
|
class: "vpg-icon",
|
|
@@ -3372,11 +3376,11 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3372
3376
|
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"
|
|
3373
3377
|
})
|
|
3374
3378
|
], -1),
|
|
3375
|
-
|
|
3379
|
+
te(" Grid ", -1)
|
|
3376
3380
|
])], 2),
|
|
3377
3381
|
e("button", {
|
|
3378
|
-
class:
|
|
3379
|
-
onClick: n[1] || (n[1] = (w) =>
|
|
3382
|
+
class: Q(["vpg-view-btn vpg-pivot-btn", { active: de.value === "pivot" }]),
|
|
3383
|
+
onClick: n[1] || (n[1] = (w) => de.value = "pivot")
|
|
3380
3384
|
}, [...n[19] || (n[19] = [
|
|
3381
3385
|
e("svg", {
|
|
3382
3386
|
class: "vpg-icon",
|
|
@@ -3391,12 +3395,12 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3391
3395
|
d: "M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z"
|
|
3392
3396
|
})
|
|
3393
3397
|
], -1),
|
|
3394
|
-
|
|
3398
|
+
te(" Pivot ", -1)
|
|
3395
3399
|
])], 2)
|
|
3396
3400
|
])) : z("", !0),
|
|
3397
|
-
|
|
3398
|
-
t.enableSearch ? (u(),
|
|
3399
|
-
A.value ? (u(),
|
|
3401
|
+
de.value === "grid" ? (u(), c(X, { key: 1 }, [
|
|
3402
|
+
t.enableSearch ? (u(), c("div", is, [
|
|
3403
|
+
A.value ? (u(), c("div", rs, [
|
|
3400
3404
|
n[22] || (n[22] = e("svg", {
|
|
3401
3405
|
class: "vpg-search-icon",
|
|
3402
3406
|
fill: "none",
|
|
@@ -3419,9 +3423,9 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3419
3423
|
A.value = !1, F.value = "";
|
|
3420
3424
|
}, ["escape"]))
|
|
3421
3425
|
}, null, 544), [
|
|
3422
|
-
[
|
|
3426
|
+
[et, F.value]
|
|
3423
3427
|
]),
|
|
3424
|
-
F.value ? (u(),
|
|
3428
|
+
F.value ? (u(), c("button", {
|
|
3425
3429
|
key: 0,
|
|
3426
3430
|
class: "vpg-search-clear",
|
|
3427
3431
|
onClick: n[5] || (n[5] = (w) => F.value = "")
|
|
@@ -3440,7 +3444,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3440
3444
|
})
|
|
3441
3445
|
], -1)
|
|
3442
3446
|
])])) : z("", !0)
|
|
3443
|
-
])) : (u(),
|
|
3447
|
+
])) : (u(), c("button", {
|
|
3444
3448
|
key: 0,
|
|
3445
3449
|
class: "vpg-icon-btn",
|
|
3446
3450
|
title: "Search (Ctrl+F)",
|
|
@@ -3461,17 +3465,17 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3461
3465
|
], -1)
|
|
3462
3466
|
])]))
|
|
3463
3467
|
])) : z("", !0),
|
|
3464
|
-
e("div",
|
|
3468
|
+
e("div", us, [
|
|
3465
3469
|
n[23] || (n[23] = e("span", { class: "vpg-label" }, "Size:", -1)),
|
|
3466
|
-
e("div",
|
|
3467
|
-
(u(),
|
|
3470
|
+
e("div", cs, [
|
|
3471
|
+
(u(), c(X, null, le(G, (w) => e("button", {
|
|
3468
3472
|
key: w.value,
|
|
3469
|
-
class:
|
|
3470
|
-
onClick: (W) =>
|
|
3471
|
-
},
|
|
3473
|
+
class: Q(["vpg-font-size-btn", { active: D.value === w.value }]),
|
|
3474
|
+
onClick: (W) => D.value = w.value
|
|
3475
|
+
}, $(w.label), 11, vs)), 64))
|
|
3472
3476
|
])
|
|
3473
3477
|
]),
|
|
3474
|
-
|
|
3478
|
+
vt.value > 0 ? (u(), c("div", ds, [
|
|
3475
3479
|
n[24] || (n[24] = e("svg", {
|
|
3476
3480
|
class: "vpg-icon",
|
|
3477
3481
|
fill: "currentColor",
|
|
@@ -3483,16 +3487,16 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3483
3487
|
"clip-rule": "evenodd"
|
|
3484
3488
|
})
|
|
3485
3489
|
], -1)),
|
|
3486
|
-
e("span", null,
|
|
3490
|
+
e("span", null, $(vt.value) + " filter" + $(vt.value > 1 ? "s" : ""), 1)
|
|
3487
3491
|
])) : z("", !0),
|
|
3488
|
-
F.value ? (u(),
|
|
3489
|
-
e("span", null,
|
|
3492
|
+
F.value ? (u(), c("div", gs, [
|
|
3493
|
+
e("span", null, $(ee.value) + " match" + $(ee.value !== 1 ? "es" : ""), 1)
|
|
3490
3494
|
])) : z("", !0)
|
|
3491
3495
|
], 64)) : z("", !0),
|
|
3492
|
-
|
|
3496
|
+
de.value === "pivot" && V(a) ? (u(), c(X, { key: 2 }, [
|
|
3493
3497
|
e("button", {
|
|
3494
|
-
class:
|
|
3495
|
-
onClick: n[6] || (n[6] = (w) =>
|
|
3498
|
+
class: Q(["vpg-config-toggle", { active: _e.value }]),
|
|
3499
|
+
onClick: n[6] || (n[6] = (w) => _e.value = !_e.value)
|
|
3496
3500
|
}, [
|
|
3497
3501
|
n[25] || (n[25] = e("svg", {
|
|
3498
3502
|
class: "vpg-icon",
|
|
@@ -3507,9 +3511,9 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3507
3511
|
d: "M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"
|
|
3508
3512
|
})
|
|
3509
3513
|
], -1)),
|
|
3510
|
-
|
|
3514
|
+
te(" " + $(_e.value ? "Hide" : "Show") + " Config ", 1)
|
|
3511
3515
|
], 2),
|
|
3512
|
-
|
|
3516
|
+
V(Ye) ? (u(), c("div", ps, [...n[26] || (n[26] = [
|
|
3513
3517
|
e("svg", {
|
|
3514
3518
|
class: "vpg-icon",
|
|
3515
3519
|
fill: "currentColor",
|
|
@@ -3525,12 +3529,12 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3525
3529
|
])])) : z("", !0)
|
|
3526
3530
|
], 64)) : z("", !0)
|
|
3527
3531
|
]),
|
|
3528
|
-
e("div",
|
|
3529
|
-
|
|
3532
|
+
e("div", fs, [
|
|
3533
|
+
de.value === "grid" && vt.value > 0 ? (u(), c("button", {
|
|
3530
3534
|
key: 0,
|
|
3531
3535
|
class: "vpg-clear-filters",
|
|
3532
3536
|
onClick: n[7] || (n[7] = //@ts-ignore
|
|
3533
|
-
(...w) =>
|
|
3537
|
+
(...w) => V(Y) && V(Y)(...w))
|
|
3534
3538
|
}, [...n[27] || (n[27] = [
|
|
3535
3539
|
e("svg", {
|
|
3536
3540
|
class: "vpg-icon",
|
|
@@ -3545,13 +3549,13 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3545
3549
|
d: "M6 18L18 6M6 6l12 12"
|
|
3546
3550
|
})
|
|
3547
3551
|
], -1),
|
|
3548
|
-
|
|
3552
|
+
te(" Clear Filters ", -1)
|
|
3549
3553
|
])])) : z("", !0),
|
|
3550
|
-
t.enableClipboard && ke.value &&
|
|
3554
|
+
t.enableClipboard && ke.value && de.value === "grid" ? (u(), c("button", {
|
|
3551
3555
|
key: 1,
|
|
3552
3556
|
class: "vpg-icon-btn",
|
|
3553
3557
|
title: "Copy selection (Ctrl+C)",
|
|
3554
|
-
onClick:
|
|
3558
|
+
onClick: Dt
|
|
3555
3559
|
}, [...n[28] || (n[28] = [
|
|
3556
3560
|
e("svg", {
|
|
3557
3561
|
class: "vpg-icon",
|
|
@@ -3567,11 +3571,11 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3567
3571
|
})
|
|
3568
3572
|
], -1)
|
|
3569
3573
|
])])) : z("", !0),
|
|
3570
|
-
t.enableExport &&
|
|
3574
|
+
t.enableExport && de.value === "grid" ? (u(), c("button", {
|
|
3571
3575
|
key: 2,
|
|
3572
3576
|
class: "vpg-export-btn",
|
|
3573
3577
|
title: "Export to CSV",
|
|
3574
|
-
onClick:
|
|
3578
|
+
onClick: Ze
|
|
3575
3579
|
}, [...n[29] || (n[29] = [
|
|
3576
3580
|
e("svg", {
|
|
3577
3581
|
class: "vpg-icon",
|
|
@@ -3586,14 +3590,14 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3586
3590
|
d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
|
|
3587
3591
|
})
|
|
3588
3592
|
], -1),
|
|
3589
|
-
|
|
3593
|
+
te(" Export ", -1)
|
|
3590
3594
|
])])) : z("", !0),
|
|
3591
|
-
t.enableExport &&
|
|
3595
|
+
t.enableExport && de.value === "pivot" && V(Ye) ? (u(), c("button", {
|
|
3592
3596
|
key: 3,
|
|
3593
|
-
class:
|
|
3594
|
-
disabled: !
|
|
3595
|
-
title:
|
|
3596
|
-
onClick: n[8] || (n[8] = (w) =>
|
|
3597
|
+
class: Q(["vpg-export-btn", { "vpg-export-btn-disabled": !V(h) }]),
|
|
3598
|
+
disabled: !V(h),
|
|
3599
|
+
title: V(h) ? "Export Pivot to CSV" : "Export Pivot to CSV (Pro feature)",
|
|
3600
|
+
onClick: n[8] || (n[8] = (w) => V(h) && Ze())
|
|
3597
3601
|
}, [
|
|
3598
3602
|
n[30] || (n[30] = e("svg", {
|
|
3599
3603
|
class: "vpg-icon",
|
|
@@ -3608,21 +3612,21 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3608
3612
|
d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
|
|
3609
3613
|
})
|
|
3610
3614
|
], -1)),
|
|
3611
|
-
|
|
3612
|
-
], 10,
|
|
3615
|
+
te(" Export Pivot" + $(V(h) ? "" : " (Pro)"), 1)
|
|
3616
|
+
], 10, ms)) : z("", !0)
|
|
3613
3617
|
])
|
|
3614
3618
|
]),
|
|
3615
|
-
|
|
3619
|
+
de.value === "grid" ? (u(), c("div", {
|
|
3616
3620
|
key: 0,
|
|
3617
3621
|
ref_key: "tableContainerRef",
|
|
3618
|
-
ref:
|
|
3622
|
+
ref: Ct,
|
|
3619
3623
|
class: "vpg-grid-container",
|
|
3620
3624
|
tabindex: "0"
|
|
3621
3625
|
}, [
|
|
3622
|
-
t.loading ? (u(),
|
|
3626
|
+
t.loading ? (u(), c("div", hs, [...n[31] || (n[31] = [
|
|
3623
3627
|
e("div", { class: "vpg-spinner" }, null, -1),
|
|
3624
3628
|
e("span", null, "Loading data...", -1)
|
|
3625
|
-
])])) : t.data.length === 0 ? (u(),
|
|
3629
|
+
])])) : t.data.length === 0 ? (u(), c("div", ws, [...n[32] || (n[32] = [
|
|
3626
3630
|
e("div", { class: "vpg-empty-icon" }, [
|
|
3627
3631
|
e("svg", {
|
|
3628
3632
|
class: "vpg-icon-lg",
|
|
@@ -3639,7 +3643,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3639
3643
|
])
|
|
3640
3644
|
], -1),
|
|
3641
3645
|
e("span", null, "No data available", -1)
|
|
3642
|
-
])])) :
|
|
3646
|
+
])])) : V(f) === 0 ? (u(), c("div", Cs, [
|
|
3643
3647
|
n[33] || (n[33] = e("div", { class: "vpg-empty-icon vpg-warning" }, [
|
|
3644
3648
|
e("svg", {
|
|
3645
3649
|
class: "vpg-icon-lg",
|
|
@@ -3659,36 +3663,36 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3659
3663
|
e("button", {
|
|
3660
3664
|
class: "vpg-clear-link",
|
|
3661
3665
|
onClick: n[9] || (n[9] = //@ts-ignore
|
|
3662
|
-
(...w) =>
|
|
3666
|
+
(...w) => V(Y) && V(Y)(...w))
|
|
3663
3667
|
}, " Clear all filters ")
|
|
3664
|
-
])) : (u(),
|
|
3668
|
+
])) : (u(), c("div", bs, [
|
|
3665
3669
|
e("table", {
|
|
3666
3670
|
class: "vpg-table",
|
|
3667
|
-
style: Fe({ minWidth: `${
|
|
3671
|
+
style: Fe({ minWidth: `${xl.value}px` })
|
|
3668
3672
|
}, [
|
|
3669
3673
|
e("thead", null, [
|
|
3670
3674
|
e("tr", null, [
|
|
3671
|
-
(u(!0),
|
|
3675
|
+
(u(!0), c(X, null, le(V(S), (w, W) => (u(), c("th", {
|
|
3672
3676
|
key: w,
|
|
3673
|
-
class:
|
|
3674
|
-
"vpg-has-filter":
|
|
3675
|
-
"vpg-is-sorted":
|
|
3676
|
-
"vpg-is-active":
|
|
3677
|
+
class: Q(["vpg-header-cell", {
|
|
3678
|
+
"vpg-has-filter": V(g)(w),
|
|
3679
|
+
"vpg-is-sorted": V(he)(w) !== null,
|
|
3680
|
+
"vpg-is-active": ie.value === w
|
|
3677
3681
|
}]),
|
|
3678
3682
|
style: Fe({ width: `${Re.value[w] || Ae}px`, minWidth: `${Re.value[w] || Ae}px` }),
|
|
3679
|
-
onClick: (
|
|
3683
|
+
onClick: (_) => hl(W, _)
|
|
3680
3684
|
}, [
|
|
3681
|
-
e("div",
|
|
3682
|
-
e("span",
|
|
3683
|
-
e("div",
|
|
3684
|
-
|
|
3685
|
-
|
|
3685
|
+
e("div", ks, [
|
|
3686
|
+
e("span", Fs, $(w), 1),
|
|
3687
|
+
e("div", Ss, [
|
|
3688
|
+
V(he)(w) ? (u(), c("span", $s, [
|
|
3689
|
+
V(he)(w) === "asc" ? (u(), c("svg", xs, [...n[35] || (n[35] = [
|
|
3686
3690
|
e("path", {
|
|
3687
3691
|
"fill-rule": "evenodd",
|
|
3688
3692
|
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",
|
|
3689
3693
|
"clip-rule": "evenodd"
|
|
3690
3694
|
}, null, -1)
|
|
3691
|
-
])])) : (u(),
|
|
3695
|
+
])])) : (u(), c("svg", Ms, [...n[36] || (n[36] = [
|
|
3692
3696
|
e("path", {
|
|
3693
3697
|
"fill-rule": "evenodd",
|
|
3694
3698
|
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",
|
|
@@ -3696,7 +3700,7 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3696
3700
|
}, null, -1)
|
|
3697
3701
|
])]))
|
|
3698
3702
|
])) : z("", !0),
|
|
3699
|
-
|
|
3703
|
+
V(g)(w) ? (u(), c("span", Rs, [...n[37] || (n[37] = [
|
|
3700
3704
|
e("svg", {
|
|
3701
3705
|
class: "vpg-icon-xs",
|
|
3702
3706
|
fill: "currentColor",
|
|
@@ -3729,113 +3733,113 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3729
3733
|
], -1))
|
|
3730
3734
|
])
|
|
3731
3735
|
]),
|
|
3732
|
-
t.enableColumnResize ? (u(),
|
|
3736
|
+
t.enableColumnResize ? (u(), c("div", {
|
|
3733
3737
|
key: 0,
|
|
3734
3738
|
class: "vpg-resize-handle",
|
|
3735
|
-
onMousedown: (
|
|
3736
|
-
}, null, 40,
|
|
3737
|
-
], 14,
|
|
3739
|
+
onMousedown: (_) => nl(w, _)
|
|
3740
|
+
}, null, 40, Ds)) : z("", !0)
|
|
3741
|
+
], 14, ys))), 128))
|
|
3738
3742
|
])
|
|
3739
3743
|
]),
|
|
3740
3744
|
e("tbody", {
|
|
3741
3745
|
ref_key: "tableBodyRef",
|
|
3742
|
-
ref:
|
|
3746
|
+
ref: Vt
|
|
3743
3747
|
}, [
|
|
3744
|
-
(u(!0),
|
|
3748
|
+
(u(!0), c(X, null, le(ge.value, (w, W) => (u(), c("tr", {
|
|
3745
3749
|
key: w.id,
|
|
3746
3750
|
class: "vpg-row"
|
|
3747
3751
|
}, [
|
|
3748
|
-
(u(!0),
|
|
3749
|
-
key:
|
|
3750
|
-
class:
|
|
3752
|
+
(u(!0), c(X, null, le(V(S), (_, se) => (u(), c("td", {
|
|
3753
|
+
key: _,
|
|
3754
|
+
class: Q(["vpg-cell", {
|
|
3751
3755
|
"vpg-selected": kl(W, se),
|
|
3752
|
-
"vpg-is-number":
|
|
3756
|
+
"vpg-is-number": V(v)(_).type === "number"
|
|
3753
3757
|
}]),
|
|
3754
3758
|
"data-row": W,
|
|
3755
3759
|
"data-col": se,
|
|
3756
|
-
style: Fe({ width: `${Re.value[
|
|
3757
|
-
onMousedown: (ae) =>
|
|
3760
|
+
style: Fe({ width: `${Re.value[_] || Ae}px`, minWidth: `${Re.value[_] || Ae}px` }),
|
|
3761
|
+
onMousedown: (ae) => bl(W, se, ae),
|
|
3758
3762
|
onMouseenter: (ae) => yl(W, se)
|
|
3759
|
-
},
|
|
3763
|
+
}, $($l(w.original[_], _)), 47, Vs))), 128))
|
|
3760
3764
|
]))), 128))
|
|
3761
3765
|
], 512)
|
|
3762
3766
|
], 4)
|
|
3763
3767
|
]))
|
|
3764
|
-
], 512)) : (u(),
|
|
3765
|
-
|
|
3766
|
-
Oe(
|
|
3767
|
-
"available-fields":
|
|
3768
|
-
"row-fields":
|
|
3769
|
-
"column-fields":
|
|
3770
|
-
"value-fields":
|
|
3771
|
-
"show-row-totals":
|
|
3772
|
-
"show-column-totals":
|
|
3768
|
+
], 512)) : (u(), c("div", Ts, [
|
|
3769
|
+
_e.value && V(a) ? (u(), c("div", As, [
|
|
3770
|
+
Oe(Xo, {
|
|
3771
|
+
"available-fields": V(rt),
|
|
3772
|
+
"row-fields": V(Ne),
|
|
3773
|
+
"column-fields": V(Pe),
|
|
3774
|
+
"value-fields": V(ze),
|
|
3775
|
+
"show-row-totals": V(qe),
|
|
3776
|
+
"show-column-totals": V(Ge),
|
|
3773
3777
|
"calculated-fields": Se.value,
|
|
3774
3778
|
"onUpdate:showRowTotals": n[10] || (n[10] = (w) => qe.value = w),
|
|
3775
3779
|
"onUpdate:showColumnTotals": n[11] || (n[11] = (w) => Ge.value = w),
|
|
3776
|
-
onClearConfig:
|
|
3780
|
+
onClearConfig: V(N),
|
|
3777
3781
|
onDragStart: rl,
|
|
3778
3782
|
onDragEnd: ul,
|
|
3779
|
-
onUpdateAggregation:
|
|
3780
|
-
onAddRowField:
|
|
3781
|
-
onRemoveRowField:
|
|
3782
|
-
onAddColumnField:
|
|
3783
|
-
onRemoveColumnField:
|
|
3784
|
-
onAddValueField:
|
|
3785
|
-
onRemoveValueField:
|
|
3783
|
+
onUpdateAggregation: V(C),
|
|
3784
|
+
onAddRowField: V(Ie),
|
|
3785
|
+
onRemoveRowField: V(Xe),
|
|
3786
|
+
onAddColumnField: V(at),
|
|
3787
|
+
onRemoveColumnField: V(R),
|
|
3788
|
+
onAddValueField: V(p),
|
|
3789
|
+
onRemoveValueField: V(U),
|
|
3786
3790
|
onAddCalculatedField: al,
|
|
3787
3791
|
onRemoveCalculatedField: sl,
|
|
3788
3792
|
onUpdateCalculatedField: il
|
|
3789
3793
|
}, null, 8, ["available-fields", "row-fields", "column-fields", "value-fields", "show-row-totals", "show-column-totals", "calculated-fields", "onClearConfig", "onUpdateAggregation", "onAddRowField", "onRemoveRowField", "onAddColumnField", "onRemoveColumnField", "onAddValueField", "onRemoveValueField"])
|
|
3790
3794
|
])) : z("", !0),
|
|
3791
3795
|
e("div", {
|
|
3792
|
-
class:
|
|
3796
|
+
class: Q(["vpg-pivot-main", { "vpg-full-width": !_e.value }])
|
|
3793
3797
|
}, [
|
|
3794
|
-
Oe(
|
|
3795
|
-
"row-fields":
|
|
3796
|
-
"column-fields":
|
|
3797
|
-
"value-fields":
|
|
3798
|
+
Oe(ls, {
|
|
3799
|
+
"row-fields": V(Ne),
|
|
3800
|
+
"column-fields": V(Pe),
|
|
3801
|
+
"value-fields": V(ze),
|
|
3798
3802
|
"calculated-fields": Se.value,
|
|
3799
|
-
"is-configured":
|
|
3800
|
-
"dragging-field":
|
|
3801
|
-
"pivot-result":
|
|
3802
|
-
"font-size":
|
|
3803
|
-
"active-filters":
|
|
3804
|
-
"total-row-count":
|
|
3805
|
-
"filtered-row-count":
|
|
3806
|
-
onAddRowField:
|
|
3807
|
-
onRemoveRowField:
|
|
3808
|
-
onAddColumnField:
|
|
3809
|
-
onRemoveColumnField:
|
|
3810
|
-
onAddValueField:
|
|
3811
|
-
onRemoveValueField:
|
|
3812
|
-
onUpdateAggregation:
|
|
3803
|
+
"is-configured": V(Ye),
|
|
3804
|
+
"dragging-field": wt.value,
|
|
3805
|
+
"pivot-result": V(Ce),
|
|
3806
|
+
"font-size": D.value,
|
|
3807
|
+
"active-filters": ot.value,
|
|
3808
|
+
"total-row-count": V(d),
|
|
3809
|
+
"filtered-row-count": V(f),
|
|
3810
|
+
onAddRowField: V(Ie),
|
|
3811
|
+
onRemoveRowField: V(Xe),
|
|
3812
|
+
onAddColumnField: V(at),
|
|
3813
|
+
onRemoveColumnField: V(R),
|
|
3814
|
+
onAddValueField: V(p),
|
|
3815
|
+
onRemoveValueField: V(U),
|
|
3816
|
+
onUpdateAggregation: V(C),
|
|
3813
3817
|
onReorderRowFields: cl,
|
|
3814
3818
|
onReorderColumnFields: vl
|
|
3815
3819
|
}, 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"])
|
|
3816
3820
|
], 2)
|
|
3817
3821
|
])),
|
|
3818
|
-
e("div",
|
|
3819
|
-
e("div",
|
|
3820
|
-
|
|
3821
|
-
t.enablePagination ? (u(),
|
|
3822
|
-
e("span", null,
|
|
3822
|
+
e("div", Ls, [
|
|
3823
|
+
e("div", Ns, [
|
|
3824
|
+
de.value === "grid" ? (u(), c(X, { key: 0 }, [
|
|
3825
|
+
t.enablePagination ? (u(), c(X, { key: 0 }, [
|
|
3826
|
+
e("span", null, $(me.value.toLocaleString()) + "-" + $(be.value.toLocaleString()), 1),
|
|
3823
3827
|
n[39] || (n[39] = e("span", { class: "vpg-separator" }, "of", -1)),
|
|
3824
|
-
e("span", null,
|
|
3825
|
-
|
|
3826
|
-
], 64)) :
|
|
3827
|
-
e("span",
|
|
3828
|
+
e("span", null, $(ee.value.toLocaleString()), 1),
|
|
3829
|
+
ee.value !== V(d) ? (u(), c("span", Ps, " (" + $(V(d).toLocaleString()) + " total) ", 1)) : z("", !0)
|
|
3830
|
+
], 64)) : V(f) === V(d) && ee.value === V(d) ? (u(), c("span", zs, $(V(d).toLocaleString()) + " records", 1)) : (u(), c(X, { key: 2 }, [
|
|
3831
|
+
e("span", Es, $(ee.value.toLocaleString()), 1),
|
|
3828
3832
|
n[40] || (n[40] = e("span", { class: "vpg-separator" }, "of", -1)),
|
|
3829
|
-
e("span", null,
|
|
3833
|
+
e("span", null, $(V(d).toLocaleString()), 1),
|
|
3830
3834
|
n[41] || (n[41] = e("span", { class: "vpg-separator" }, "records", -1))
|
|
3831
3835
|
], 64))
|
|
3832
|
-
], 64)) : (u(),
|
|
3836
|
+
], 64)) : (u(), c(X, { key: 1 }, [
|
|
3833
3837
|
n[42] || (n[42] = e("span", { class: "vpg-pivot-label" }, "Pivot Table", -1)),
|
|
3834
3838
|
n[43] || (n[43] = e("span", { class: "vpg-separator" }, "•", -1)),
|
|
3835
|
-
e("span", null,
|
|
3839
|
+
e("span", null, $(V(d).toLocaleString()) + " source records", 1)
|
|
3836
3840
|
], 64))
|
|
3837
3841
|
]),
|
|
3838
|
-
t.enablePagination &&
|
|
3842
|
+
t.enablePagination && de.value === "grid" && ce.value > 1 ? (u(), c("div", Bs, [
|
|
3839
3843
|
e("button", {
|
|
3840
3844
|
class: "vpg-page-btn",
|
|
3841
3845
|
disabled: T.value === 1,
|
|
@@ -3854,11 +3858,11 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3854
3858
|
d: "M11 19l-7-7 7-7m8 14l-7-7 7-7"
|
|
3855
3859
|
})
|
|
3856
3860
|
], -1)
|
|
3857
|
-
])], 8,
|
|
3861
|
+
])], 8, Us),
|
|
3858
3862
|
e("button", {
|
|
3859
3863
|
class: "vpg-page-btn",
|
|
3860
3864
|
disabled: T.value === 1,
|
|
3861
|
-
onClick:
|
|
3865
|
+
onClick: Ee
|
|
3862
3866
|
}, [...n[45] || (n[45] = [
|
|
3863
3867
|
e("svg", {
|
|
3864
3868
|
class: "vpg-icon-sm",
|
|
@@ -3873,12 +3877,12 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3873
3877
|
d: "M15 19l-7-7 7-7"
|
|
3874
3878
|
})
|
|
3875
3879
|
], -1)
|
|
3876
|
-
])], 8,
|
|
3877
|
-
e("span",
|
|
3880
|
+
])], 8, js),
|
|
3881
|
+
e("span", Hs, " Page " + $(T.value) + " of " + $(ce.value), 1),
|
|
3878
3882
|
e("button", {
|
|
3879
3883
|
class: "vpg-page-btn",
|
|
3880
|
-
disabled: T.value ===
|
|
3881
|
-
onClick:
|
|
3884
|
+
disabled: T.value === ce.value,
|
|
3885
|
+
onClick: ve
|
|
3882
3886
|
}, [...n[46] || (n[46] = [
|
|
3883
3887
|
e("svg", {
|
|
3884
3888
|
class: "vpg-icon-sm",
|
|
@@ -3893,11 +3897,11 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3893
3897
|
d: "M9 5l7 7-7 7"
|
|
3894
3898
|
})
|
|
3895
3899
|
], -1)
|
|
3896
|
-
])], 8,
|
|
3900
|
+
])], 8, Ks),
|
|
3897
3901
|
e("button", {
|
|
3898
3902
|
class: "vpg-page-btn",
|
|
3899
|
-
disabled: T.value ===
|
|
3900
|
-
onClick: n[13] || (n[13] = (w) => T.value =
|
|
3903
|
+
disabled: T.value === ce.value,
|
|
3904
|
+
onClick: n[13] || (n[13] = (w) => T.value = ce.value)
|
|
3901
3905
|
}, [...n[47] || (n[47] = [
|
|
3902
3906
|
e("svg", {
|
|
3903
3907
|
class: "vpg-icon-sm",
|
|
@@ -3912,28 +3916,28 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3912
3916
|
d: "M13 5l7 7-7 7M5 5l7 7-7 7"
|
|
3913
3917
|
})
|
|
3914
3918
|
], -1)
|
|
3915
|
-
])], 8,
|
|
3919
|
+
])], 8, Os)
|
|
3916
3920
|
])) : z("", !0),
|
|
3917
|
-
|
|
3918
|
-
e("span",
|
|
3921
|
+
de.value === "grid" && Qe.value && Qe.value.count > 1 ? (u(), c("div", Ws, [
|
|
3922
|
+
e("span", qs, [
|
|
3919
3923
|
n[48] || (n[48] = e("span", { class: "vpg-stat-label" }, "Count:", -1)),
|
|
3920
|
-
e("span",
|
|
3924
|
+
e("span", Gs, $(Qe.value.count), 1)
|
|
3921
3925
|
]),
|
|
3922
|
-
|
|
3926
|
+
Qe.value.numericCount > 0 ? (u(), c(X, { key: 0 }, [
|
|
3923
3927
|
n[51] || (n[51] = e("span", { class: "vpg-stat-divider" }, "|", -1)),
|
|
3924
|
-
e("span",
|
|
3928
|
+
e("span", Ys, [
|
|
3925
3929
|
n[49] || (n[49] = e("span", { class: "vpg-stat-label" }, "Sum:", -1)),
|
|
3926
|
-
e("span",
|
|
3930
|
+
e("span", Is, $(At(Qe.value.sum)), 1)
|
|
3927
3931
|
]),
|
|
3928
3932
|
n[52] || (n[52] = e("span", { class: "vpg-stat-divider" }, "|", -1)),
|
|
3929
|
-
e("span",
|
|
3933
|
+
e("span", Xs, [
|
|
3930
3934
|
n[50] || (n[50] = e("span", { class: "vpg-stat-label" }, "Avg:", -1)),
|
|
3931
|
-
e("span",
|
|
3935
|
+
e("span", Zs, $(At(Qe.value.avg)), 1)
|
|
3932
3936
|
])
|
|
3933
3937
|
], 64)) : z("", !0)
|
|
3934
3938
|
])) : z("", !0),
|
|
3935
|
-
e("div",
|
|
3936
|
-
|
|
3939
|
+
e("div", _s, [
|
|
3940
|
+
V(m) ? (u(), c("div", Qs, [...n[53] || (n[53] = [
|
|
3937
3941
|
e("span", { class: "vpg-demo-badge" }, "DEMO", -1),
|
|
3938
3942
|
e("span", null, "Pro features enabled", -1),
|
|
3939
3943
|
e("a", {
|
|
@@ -3941,12 +3945,12 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3941
3945
|
target: "_blank",
|
|
3942
3946
|
rel: "noopener"
|
|
3943
3947
|
}, "Get License →", -1)
|
|
3944
|
-
])])) :
|
|
3948
|
+
])])) : V(o) ? (u(), c("span", Js, [...n[54] || (n[54] = [
|
|
3945
3949
|
Vl('<a href="https://tiny-pivot.com" target="_blank" rel="noopener" data-v-7b06f760><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-7b06f760><rect x="3" y="3" width="7" height="7" data-v-7b06f760></rect><rect x="14" y="3" width="7" height="7" data-v-7b06f760></rect><rect x="14" y="14" width="7" height="7" data-v-7b06f760></rect><rect x="3" y="14" width="7" height="7" data-v-7b06f760></rect></svg> Powered by TinyPivot </a>', 1)
|
|
3946
3950
|
])])) : z("", !0)
|
|
3947
3951
|
])
|
|
3948
3952
|
]),
|
|
3949
|
-
t.enableVerticalResize ? (u(),
|
|
3953
|
+
t.enableVerticalResize ? (u(), c("div", {
|
|
3950
3954
|
key: 2,
|
|
3951
3955
|
class: "vpg-vertical-resize-handle",
|
|
3952
3956
|
onMousedown: ol
|
|
@@ -3957,56 +3961,56 @@ const Fn = { class: "vpg-range-filter" }, Sn = { class: "vpg-range-info" }, xn =
|
|
|
3957
3961
|
e("span")
|
|
3958
3962
|
], -1)
|
|
3959
3963
|
])], 32)) : z("", !0),
|
|
3960
|
-
(u(),
|
|
3961
|
-
|
|
3964
|
+
(u(), Wt(qt, { to: "body" }, [
|
|
3965
|
+
ie.value ? (u(), c("div", {
|
|
3962
3966
|
key: 0,
|
|
3963
3967
|
class: "vpg-filter-portal",
|
|
3964
3968
|
style: Fe({
|
|
3965
3969
|
position: "fixed",
|
|
3966
|
-
top: `${
|
|
3967
|
-
left: `${
|
|
3968
|
-
maxHeight: `${
|
|
3970
|
+
top: `${ut.value.top}px`,
|
|
3971
|
+
left: `${ut.value.left}px`,
|
|
3972
|
+
maxHeight: `${ut.value.maxHeight}px`,
|
|
3969
3973
|
zIndex: 9999
|
|
3970
3974
|
})
|
|
3971
3975
|
}, [
|
|
3972
3976
|
Oe(Qn, {
|
|
3973
|
-
"column-id":
|
|
3974
|
-
"column-name":
|
|
3975
|
-
stats:
|
|
3976
|
-
"selected-values":
|
|
3977
|
-
"sort-direction":
|
|
3978
|
-
"numeric-range":
|
|
3979
|
-
onFilter: n[14] || (n[14] = (w) => gl(
|
|
3980
|
-
onRangeFilter: n[15] || (n[15] = (w) => pl(
|
|
3981
|
-
onSort: n[16] || (n[16] = (w) => fl(
|
|
3982
|
-
onClose:
|
|
3977
|
+
"column-id": ie.value,
|
|
3978
|
+
"column-name": ie.value,
|
|
3979
|
+
stats: V(v)(ie.value),
|
|
3980
|
+
"selected-values": V(B)(ie.value),
|
|
3981
|
+
"sort-direction": V(he)(ie.value),
|
|
3982
|
+
"numeric-range": V(we)(ie.value),
|
|
3983
|
+
onFilter: n[14] || (n[14] = (w) => gl(ie.value, w)),
|
|
3984
|
+
onRangeFilter: n[15] || (n[15] = (w) => pl(ie.value, w)),
|
|
3985
|
+
onSort: n[16] || (n[16] = (w) => fl(ie.value, w)),
|
|
3986
|
+
onClose: ct
|
|
3983
3987
|
}, null, 8, ["column-id", "column-name", "stats", "selected-values", "sort-direction", "numeric-range"])
|
|
3984
3988
|
], 4)) : z("", !0)
|
|
3985
3989
|
]))
|
|
3986
3990
|
], 6));
|
|
3987
3991
|
}
|
|
3988
|
-
}),
|
|
3992
|
+
}), ci = /* @__PURE__ */ lt(ei, [["__scopeId", "data-v-7b06f760"]]);
|
|
3989
3993
|
export {
|
|
3990
3994
|
Qn as ColumnFilter,
|
|
3991
|
-
|
|
3992
|
-
|
|
3993
|
-
|
|
3994
|
-
|
|
3995
|
+
ci as DataGrid,
|
|
3996
|
+
Xo as PivotConfig,
|
|
3997
|
+
ls as PivotSkeleton,
|
|
3998
|
+
ai as configureLicenseSecret,
|
|
3995
3999
|
yn as copyToClipboard,
|
|
3996
|
-
|
|
3997
|
-
|
|
3998
|
-
|
|
4000
|
+
oi as enableDemoMode,
|
|
4001
|
+
bn as exportPivotToCSV,
|
|
4002
|
+
Cn as exportToCSV,
|
|
3999
4003
|
Bl as formatCellValue,
|
|
4000
4004
|
kn as formatSelectionForClipboard,
|
|
4001
|
-
|
|
4005
|
+
mt as getAggregationLabel,
|
|
4002
4006
|
El as getColumnUniqueValues,
|
|
4003
|
-
|
|
4004
|
-
|
|
4007
|
+
ni as setLicenseKey,
|
|
4008
|
+
ui as useColumnResize,
|
|
4005
4009
|
mn as useExcelGrid,
|
|
4006
|
-
|
|
4007
|
-
|
|
4008
|
-
|
|
4010
|
+
ii as useGlobalSearch,
|
|
4011
|
+
ht as useLicense,
|
|
4012
|
+
si as usePagination,
|
|
4009
4013
|
wn as usePivotTable,
|
|
4010
|
-
|
|
4014
|
+
ri as useRowSelection
|
|
4011
4015
|
};
|
|
4012
4016
|
//# sourceMappingURL=tinypivot-vue.js.map
|