@toolbox-web/grid 1.3.0 → 1.4.0
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/all.d.ts +1 -0
- package/all.d.ts.map +1 -1
- package/all.js +997 -710
- package/all.js.map +1 -1
- package/index.js +642 -599
- package/index.js.map +1 -1
- package/lib/core/grid.d.ts.map +1 -1
- package/lib/core/internal/header.d.ts +7 -0
- package/lib/core/internal/header.d.ts.map +1 -1
- package/lib/core/types.d.ts +151 -0
- package/lib/core/types.d.ts.map +1 -1
- package/lib/plugins/clipboard/index.js +19 -16
- package/lib/plugins/clipboard/index.js.map +1 -1
- package/lib/plugins/column-virtualization/index.js +42 -39
- package/lib/plugins/column-virtualization/index.js.map +1 -1
- package/lib/plugins/context-menu/index.js +25 -22
- package/lib/plugins/context-menu/index.js.map +1 -1
- package/lib/plugins/editing/EditingPlugin.d.ts.map +1 -1
- package/lib/plugins/editing/index.js +53 -48
- package/lib/plugins/editing/index.js.map +1 -1
- package/lib/plugins/export/index.js +23 -20
- package/lib/plugins/export/index.js.map +1 -1
- package/lib/plugins/filtering/FilteringPlugin.d.ts +11 -1
- package/lib/plugins/filtering/FilteringPlugin.d.ts.map +1 -1
- package/lib/plugins/filtering/index.js +186 -150
- package/lib/plugins/filtering/index.js.map +1 -1
- package/lib/plugins/grouping-columns/index.js +21 -18
- package/lib/plugins/grouping-columns/index.js.map +1 -1
- package/lib/plugins/grouping-rows/index.js +67 -64
- package/lib/plugins/grouping-rows/index.js.map +1 -1
- package/lib/plugins/master-detail/index.js +52 -49
- package/lib/plugins/master-detail/index.js.map +1 -1
- package/lib/plugins/multi-sort/index.js +18 -15
- package/lib/plugins/multi-sort/index.js.map +1 -1
- package/lib/plugins/pinned-columns/index.js +25 -22
- package/lib/plugins/pinned-columns/index.js.map +1 -1
- package/lib/plugins/pinned-rows/index.js +26 -23
- package/lib/plugins/pinned-rows/index.js.map +1 -1
- package/lib/plugins/pivot/index.js +50 -47
- package/lib/plugins/pivot/index.js.map +1 -1
- package/lib/plugins/print/PrintPlugin.d.ts +98 -0
- package/lib/plugins/print/PrintPlugin.d.ts.map +1 -0
- package/lib/plugins/print/index.d.ts +10 -0
- package/lib/plugins/print/index.d.ts.map +1 -0
- package/lib/plugins/print/index.js +626 -0
- package/lib/plugins/print/index.js.map +1 -0
- package/lib/plugins/print/print-isolated.d.ts +26 -0
- package/lib/plugins/print/print-isolated.d.ts.map +1 -0
- package/lib/plugins/print/types.d.ts +147 -0
- package/lib/plugins/print/types.d.ts.map +1 -0
- package/lib/plugins/reorder/index.js +25 -22
- package/lib/plugins/reorder/index.js.map +1 -1
- package/lib/plugins/responsive/index.js +20 -17
- package/lib/plugins/responsive/index.js.map +1 -1
- package/lib/plugins/row-reorder/index.js +39 -36
- package/lib/plugins/row-reorder/index.js.map +1 -1
- package/lib/plugins/selection/SelectionPlugin.d.ts.map +1 -1
- package/lib/plugins/selection/index.js +115 -101
- package/lib/plugins/selection/index.js.map +1 -1
- package/lib/plugins/server-side/index.js +35 -32
- package/lib/plugins/server-side/index.js.map +1 -1
- package/lib/plugins/tree/index.js +26 -23
- package/lib/plugins/tree/index.js.map +1 -1
- package/lib/plugins/undo-redo/index.js +23 -20
- package/lib/plugins/undo-redo/index.js.map +1 -1
- package/lib/plugins/visibility/index.js +22 -19
- package/lib/plugins/visibility/index.js.map +1 -1
- package/package.json +1 -1
- package/public.d.ts +1 -1
- package/public.d.ts.map +1 -1
- package/umd/grid.all.umd.js +98 -24
- package/umd/grid.all.umd.js.map +1 -1
- package/umd/grid.umd.js +11 -11
- package/umd/grid.umd.js.map +1 -1
- package/umd/plugins/editing.umd.js +1 -1
- package/umd/plugins/editing.umd.js.map +1 -1
- package/umd/plugins/filtering.umd.js +1 -1
- package/umd/plugins/filtering.umd.js.map +1 -1
- package/umd/plugins/print.umd.js +76 -0
- package/umd/plugins/print.umd.js.map +1 -0
- package/umd/plugins/selection.umd.js +2 -2
- package/umd/plugins/selection.umd.js.map +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const y = '<svg viewBox="0 0 16 16" width="12" height="12"><path fill="currentColor" d="M6 10.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z"/></svg>', R = {
|
|
2
2
|
expand: "▶",
|
|
3
3
|
collapse: "▼",
|
|
4
4
|
sortAsc: "▲",
|
|
@@ -6,9 +6,12 @@ const v = {
|
|
|
6
6
|
sortNone: "⇅",
|
|
7
7
|
submenuArrow: "▶",
|
|
8
8
|
dragHandle: "⋮⋮",
|
|
9
|
-
toolPanel: "☰"
|
|
9
|
+
toolPanel: "☰",
|
|
10
|
+
filter: y,
|
|
11
|
+
filterActive: y,
|
|
12
|
+
print: "🖨️"
|
|
10
13
|
};
|
|
11
|
-
class
|
|
14
|
+
class x {
|
|
12
15
|
/**
|
|
13
16
|
* Plugin dependencies - declare other plugins this one requires.
|
|
14
17
|
*
|
|
@@ -232,7 +235,7 @@ class R {
|
|
|
232
235
|
*/
|
|
233
236
|
get gridIcons() {
|
|
234
237
|
const e = this.grid?.gridConfig?.icons ?? {};
|
|
235
|
-
return { ...
|
|
238
|
+
return { ...R, ...e };
|
|
236
239
|
}
|
|
237
240
|
// #region Animation Helpers
|
|
238
241
|
/**
|
|
@@ -308,14 +311,14 @@ class R {
|
|
|
308
311
|
}
|
|
309
312
|
// #endregion
|
|
310
313
|
}
|
|
311
|
-
const
|
|
312
|
-
function
|
|
313
|
-
return n.field ===
|
|
314
|
+
const C = "__tbw_expander";
|
|
315
|
+
function A(n) {
|
|
316
|
+
return n.field === C;
|
|
314
317
|
}
|
|
315
318
|
const _ = {
|
|
316
319
|
sum: (n, e) => n.reduce((t, r) => t + (Number(r[e]) || 0), 0),
|
|
317
320
|
avg: (n, e) => {
|
|
318
|
-
const t = n.reduce((r,
|
|
321
|
+
const t = n.reduce((r, i) => r + (Number(i[e]) || 0), 0);
|
|
319
322
|
return n.length ? t / n.length : 0;
|
|
320
323
|
},
|
|
321
324
|
count: (n) => n.length,
|
|
@@ -347,8 +350,8 @@ const _ = {
|
|
|
347
350
|
* Run an aggregator on a set of rows.
|
|
348
351
|
*/
|
|
349
352
|
run(n, e, t, r) {
|
|
350
|
-
const
|
|
351
|
-
return
|
|
353
|
+
const i = this.get(n);
|
|
354
|
+
return i ? i(e, t, r) : void 0;
|
|
352
355
|
},
|
|
353
356
|
/**
|
|
354
357
|
* Check if an aggregator exists.
|
|
@@ -366,42 +369,42 @@ const _ = {
|
|
|
366
369
|
c.register.bind(c);
|
|
367
370
|
c.unregister.bind(c);
|
|
368
371
|
c.get.bind(c);
|
|
369
|
-
const
|
|
372
|
+
const v = c.run.bind(c);
|
|
370
373
|
c.list.bind(c);
|
|
371
|
-
function
|
|
374
|
+
function k({ rows: n, config: e, expanded: t }) {
|
|
372
375
|
const r = e.groupOn;
|
|
373
376
|
if (typeof r != "function")
|
|
374
377
|
return [];
|
|
375
|
-
const
|
|
378
|
+
const i = { key: "__root__", value: null, depth: -1, rows: [], children: /* @__PURE__ */ new Map() };
|
|
376
379
|
if (n.forEach((o) => {
|
|
377
380
|
let a = r(o);
|
|
378
381
|
a == null || a === !1 ? a = ["__ungrouped__"] : Array.isArray(a) || (a = [a]);
|
|
379
|
-
let u =
|
|
382
|
+
let u = i;
|
|
380
383
|
a.forEach((h, p) => {
|
|
381
384
|
const f = h == null ? "∅" : String(h), l = u.key === "__root__" ? f : u.key + "||" + f;
|
|
382
385
|
let g = u.children.get(f);
|
|
383
386
|
g || (g = { key: l, value: h, depth: p, rows: [], children: /* @__PURE__ */ new Map(), parent: u }, u.children.set(f, g)), u = g;
|
|
384
387
|
}), u.rows.push(o);
|
|
385
|
-
}),
|
|
388
|
+
}), i.children.size === 1 && i.children.has("__ungrouped__") && i.children.get("__ungrouped__").rows.length === n.length)
|
|
386
389
|
return [];
|
|
387
|
-
const
|
|
388
|
-
if (o ===
|
|
390
|
+
const s = [], d = (o) => {
|
|
391
|
+
if (o === i) {
|
|
389
392
|
o.children.forEach((u) => d(u));
|
|
390
393
|
return;
|
|
391
394
|
}
|
|
392
395
|
const a = t.has(o.key);
|
|
393
|
-
|
|
396
|
+
s.push({
|
|
394
397
|
kind: "group",
|
|
395
398
|
key: o.key,
|
|
396
399
|
value: o.value,
|
|
397
400
|
depth: o.depth,
|
|
398
401
|
rows: o.rows,
|
|
399
402
|
expanded: a
|
|
400
|
-
}), a && (o.children.size ? o.children.forEach((u) => d(u)) : o.rows.forEach((u) =>
|
|
403
|
+
}), a && (o.children.size ? o.children.forEach((u) => d(u)) : o.rows.forEach((u) => s.push({ kind: "data", row: u, rowIndex: n.indexOf(u) })));
|
|
401
404
|
};
|
|
402
|
-
return d(
|
|
405
|
+
return d(i), s;
|
|
403
406
|
}
|
|
404
|
-
function
|
|
407
|
+
function E(n, e) {
|
|
405
408
|
const t = new Set(n);
|
|
406
409
|
return t.has(e) ? t.delete(e) : t.add(e), t;
|
|
407
410
|
}
|
|
@@ -414,15 +417,15 @@ function S(n) {
|
|
|
414
417
|
function K() {
|
|
415
418
|
return /* @__PURE__ */ new Set();
|
|
416
419
|
}
|
|
417
|
-
function
|
|
420
|
+
function G(n) {
|
|
418
421
|
return n.kind !== "group" ? 0 : n.rows.length;
|
|
419
422
|
}
|
|
420
|
-
const
|
|
421
|
-
class
|
|
423
|
+
const T = "@layer tbw-plugins{.group-row{display:grid;grid-template-columns:var(--tbw-column-template);background:var(--tbw-grouping-rows-bg, var(--tbw-color-panel-bg));font-weight:500;border-bottom:var(--tbw-row-divider);min-height:var(--tbw-row-height)}.group-row .cell{display:flex;align-items:center;padding:var(--tbw-cell-padding, .125rem .5rem)}.group-row:hover{background:var(--tbw-grouping-rows-bg-hover, var(--tbw-color-row-hover))}.group-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;width:var(--tbw-toggle-size, 1.25rem);height:var(--tbw-toggle-size, 1.25rem);margin-right:.25rem;background:none;border:0;font:inherit}.group-toggle:hover{background:var(--tbw-grouping-rows-toggle-hover, var(--tbw-color-row-hover));border-radius:var(--tbw-border-radius, .125rem)}.group-label{display:inline-flex;align-items:center;gap:var(--tbw-panel-gap, var(--tbw-spacing-md, .5rem))}.group-count{color:var(--tbw-grouping-rows-count-color, var(--tbw-color-fg-muted));font-size:var(--tbw-font-size-xs, .85em);font-weight:400}.group-row{padding-left:calc(var(--tbw-group-depth, 0) * var(--tbw-group-indent-width, 1.25em))}.data-grid-row.tbw-group-slide-in{animation:tbw-group-slide-in var(--tbw-animation-duration, .2s) var(--tbw-animation-easing, ease-out) forwards}@keyframes tbw-group-slide-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.data-grid-row.tbw-group-fade-in{animation:tbw-group-fade-in var(--tbw-animation-duration, .2s) var(--tbw-animation-easing, ease-out) forwards}@keyframes tbw-group-fade-in{0%{opacity:0}to{opacity:1}}}";
|
|
424
|
+
class I extends x {
|
|
422
425
|
/** @internal */
|
|
423
426
|
name = "groupingRows";
|
|
424
427
|
/** @internal */
|
|
425
|
-
styles =
|
|
428
|
+
styles = T;
|
|
426
429
|
/** @internal */
|
|
427
430
|
get defaultConfig() {
|
|
428
431
|
return {
|
|
@@ -468,7 +471,7 @@ class T extends R {
|
|
|
468
471
|
const t = this.config;
|
|
469
472
|
if (typeof t.groupOn != "function")
|
|
470
473
|
return this.isActive = !1, this.flattenedRows = [], [...e];
|
|
471
|
-
const r =
|
|
474
|
+
const r = k({
|
|
472
475
|
rows: [...e],
|
|
473
476
|
config: t,
|
|
474
477
|
expanded: this.expandedKeys
|
|
@@ -476,21 +479,21 @@ class T extends R {
|
|
|
476
479
|
if (r.length === 0)
|
|
477
480
|
return this.isActive = !1, this.flattenedRows = [], [...e];
|
|
478
481
|
this.isActive = !0, this.flattenedRows = r, this.keysToAnimate.clear();
|
|
479
|
-
const
|
|
480
|
-
return r.forEach((
|
|
481
|
-
if (
|
|
482
|
+
const i = /* @__PURE__ */ new Set();
|
|
483
|
+
return r.forEach((s, d) => {
|
|
484
|
+
if (s.kind === "data") {
|
|
482
485
|
const o = `data-${d}`;
|
|
483
|
-
|
|
486
|
+
i.add(o), this.previousVisibleKeys.has(o) || this.keysToAnimate.add(o);
|
|
484
487
|
}
|
|
485
|
-
}), this.previousVisibleKeys =
|
|
488
|
+
}), this.previousVisibleKeys = i, r.map((s) => s.kind === "group" ? {
|
|
486
489
|
__isGroupRow: !0,
|
|
487
|
-
__groupKey:
|
|
488
|
-
__groupValue:
|
|
489
|
-
__groupDepth:
|
|
490
|
-
__groupRows:
|
|
491
|
-
__groupExpanded:
|
|
492
|
-
__groupRowCount:
|
|
493
|
-
} :
|
|
490
|
+
__groupKey: s.key,
|
|
491
|
+
__groupValue: s.value,
|
|
492
|
+
__groupDepth: s.depth,
|
|
493
|
+
__groupRows: s.rows,
|
|
494
|
+
__groupExpanded: s.expanded,
|
|
495
|
+
__groupRowCount: G(s)
|
|
496
|
+
} : s.row);
|
|
494
497
|
}
|
|
495
498
|
/** @internal */
|
|
496
499
|
onCellClick(e) {
|
|
@@ -512,11 +515,11 @@ class T extends R {
|
|
|
512
515
|
renderRow(e, t, r) {
|
|
513
516
|
if (!e?.__isGroupRow)
|
|
514
517
|
return !1;
|
|
515
|
-
const
|
|
516
|
-
if (
|
|
518
|
+
const i = this.config;
|
|
519
|
+
if (i.groupRowRenderer) {
|
|
517
520
|
const o = () => {
|
|
518
521
|
this.toggle(e.__groupKey);
|
|
519
|
-
}, a =
|
|
522
|
+
}, a = i.groupRowRenderer({
|
|
520
523
|
key: e.__groupKey,
|
|
521
524
|
value: e.__groupValue,
|
|
522
525
|
depth: e.__groupDepth,
|
|
@@ -527,10 +530,10 @@ class T extends R {
|
|
|
527
530
|
if (a)
|
|
528
531
|
return t.className = "data-grid-row group-row", t.__isCustomRow = !0, t.setAttribute("data-group-depth", String(e.__groupDepth)), typeof a == "string" ? t.innerHTML = a : (t.innerHTML = "", t.appendChild(a)), !0;
|
|
529
532
|
}
|
|
530
|
-
const
|
|
533
|
+
const s = () => {
|
|
531
534
|
this.toggle(e.__groupKey);
|
|
532
535
|
};
|
|
533
|
-
return t.className = "data-grid-row group-row", t.__isCustomRow = !0, t.setAttribute("data-group-depth", String(e.__groupDepth)), t.setAttribute("role", "row"), t.setAttribute("aria-expanded", String(e.__groupExpanded)), t.style.setProperty("--tbw-group-depth", String(e.__groupDepth || 0)),
|
|
536
|
+
return t.className = "data-grid-row group-row", t.__isCustomRow = !0, t.setAttribute("data-group-depth", String(e.__groupDepth)), t.setAttribute("role", "row"), t.setAttribute("aria-expanded", String(e.__groupExpanded)), t.style.setProperty("--tbw-group-depth", String(e.__groupDepth || 0)), i.indentWidth !== void 0 && t.style.setProperty("--tbw-group-indent-width", `${i.indentWidth}px`), t.style.height = "", t.innerHTML = "", i.fullWidth !== !1 ? this.renderFullWidthGroupRow(e, t, s) : this.renderPerColumnGroupRow(e, t, s), !0;
|
|
534
537
|
}
|
|
535
538
|
/** @internal */
|
|
536
539
|
afterRender() {
|
|
@@ -539,9 +542,9 @@ class T extends R {
|
|
|
539
542
|
const t = this.gridElement?.querySelector(".rows");
|
|
540
543
|
if (!t) return;
|
|
541
544
|
const r = e === "fade" ? "tbw-group-fade-in" : "tbw-group-slide-in";
|
|
542
|
-
for (const
|
|
543
|
-
const
|
|
544
|
-
a && this.keysToAnimate.has(a) && (
|
|
545
|
+
for (const i of t.querySelectorAll(".data-grid-row:not(.group-row)")) {
|
|
546
|
+
const s = i.querySelector(".cell[data-row]"), d = s ? parseInt(s.getAttribute("data-row") ?? "-1", 10) : -1, a = this.flattenedRows[d]?.kind === "data" ? `data-${d}` : void 0;
|
|
547
|
+
a && this.keysToAnimate.has(a) && (i.classList.add(r), i.addEventListener("animationend", () => i.classList.remove(r), { once: !0 }));
|
|
545
548
|
}
|
|
546
549
|
this.keysToAnimate.clear();
|
|
547
550
|
}
|
|
@@ -552,53 +555,53 @@ class T extends R {
|
|
|
552
555
|
*/
|
|
553
556
|
createToggleButton(e, t) {
|
|
554
557
|
const r = document.createElement("button");
|
|
555
|
-
return r.type = "button", r.className = `group-toggle${e ? " expanded" : ""}`, r.setAttribute("aria-label", e ? "Collapse group" : "Expand group"), this.setIcon(r, this.resolveIcon(e ? "collapse" : "expand")), r.addEventListener("click", (
|
|
556
|
-
|
|
558
|
+
return r.type = "button", r.className = `group-toggle${e ? " expanded" : ""}`, r.setAttribute("aria-label", e ? "Collapse group" : "Expand group"), this.setIcon(r, this.resolveIcon(e ? "collapse" : "expand")), r.addEventListener("click", (i) => {
|
|
559
|
+
i.stopPropagation(), t();
|
|
557
560
|
}), r;
|
|
558
561
|
}
|
|
559
562
|
/**
|
|
560
563
|
* Get the formatted label text for a group.
|
|
561
564
|
*/
|
|
562
565
|
getGroupLabelText(e, t, r) {
|
|
563
|
-
const
|
|
564
|
-
return
|
|
566
|
+
const i = this.config;
|
|
567
|
+
return i.formatLabel ? i.formatLabel(e, t, r) : String(e);
|
|
565
568
|
}
|
|
566
569
|
renderFullWidthGroupRow(e, t, r) {
|
|
567
|
-
const
|
|
568
|
-
|
|
570
|
+
const i = this.config, s = document.createElement("div");
|
|
571
|
+
s.className = "cell group-full", s.style.gridColumn = "1 / -1", s.setAttribute("role", "gridcell"), s.setAttribute("data-col", "0"), s.appendChild(this.createToggleButton(e.__groupExpanded, r));
|
|
569
572
|
const d = document.createElement("span");
|
|
570
|
-
if (d.className = "group-label", d.textContent = this.getGroupLabelText(e.__groupValue, e.__groupDepth || 0, e.__groupKey),
|
|
573
|
+
if (d.className = "group-label", d.textContent = this.getGroupLabelText(e.__groupValue, e.__groupDepth || 0, e.__groupKey), s.appendChild(d), i.showRowCount !== !1) {
|
|
571
574
|
const o = document.createElement("span");
|
|
572
|
-
o.className = "group-count", o.textContent = `(${e.__groupRowCount ?? e.__groupRows?.length ?? 0})`,
|
|
575
|
+
o.className = "group-count", o.textContent = `(${e.__groupRowCount ?? e.__groupRows?.length ?? 0})`, s.appendChild(o);
|
|
573
576
|
}
|
|
574
|
-
t.appendChild(
|
|
577
|
+
t.appendChild(s);
|
|
575
578
|
}
|
|
576
579
|
renderPerColumnGroupRow(e, t, r) {
|
|
577
|
-
const
|
|
580
|
+
const i = this.config, s = i.aggregators ?? {}, d = this.columns, o = e.__groupRows ?? [], u = this.gridElement?.querySelector(".body")?.style.gridTemplateColumns || "";
|
|
578
581
|
u && (t.style.display = "grid", t.style.gridTemplateColumns = u);
|
|
579
582
|
let h = !1;
|
|
580
583
|
d.forEach((p, f) => {
|
|
581
584
|
const l = document.createElement("div");
|
|
582
|
-
if (l.className = "cell group-cell", l.setAttribute("data-col", String(f)), l.setAttribute("role", "gridcell"),
|
|
585
|
+
if (l.className = "cell group-cell", l.setAttribute("data-col", String(f)), l.setAttribute("role", "gridcell"), A(p)) {
|
|
583
586
|
l.setAttribute("data-field", p.field), t.appendChild(l);
|
|
584
587
|
return;
|
|
585
588
|
}
|
|
586
589
|
if (h) {
|
|
587
|
-
const g =
|
|
590
|
+
const g = s[p.field];
|
|
588
591
|
if (g) {
|
|
589
|
-
const b =
|
|
592
|
+
const b = v(g, o, p.field, p);
|
|
590
593
|
l.textContent = b != null ? String(b) : "";
|
|
591
594
|
} else
|
|
592
595
|
l.textContent = "";
|
|
593
596
|
} else {
|
|
594
597
|
h = !0, l.appendChild(this.createToggleButton(e.__groupExpanded, r));
|
|
595
|
-
const g = document.createElement("span"), b =
|
|
598
|
+
const g = document.createElement("span"), b = s[p.field];
|
|
596
599
|
if (b) {
|
|
597
|
-
const m =
|
|
600
|
+
const m = v(b, o, p.field, p);
|
|
598
601
|
g.textContent = m != null ? String(m) : String(e.__groupValue);
|
|
599
602
|
} else
|
|
600
603
|
g.textContent = this.getGroupLabelText(e.__groupValue, e.__groupDepth || 0, e.__groupKey);
|
|
601
|
-
if (l.appendChild(g),
|
|
604
|
+
if (l.appendChild(g), i.showRowCount !== !1) {
|
|
602
605
|
const m = document.createElement("span");
|
|
603
606
|
m.className = "group-count", m.textContent = ` (${o.length})`, l.appendChild(m);
|
|
604
607
|
}
|
|
@@ -625,7 +628,7 @@ class T extends R {
|
|
|
625
628
|
* @param key - The group key to toggle
|
|
626
629
|
*/
|
|
627
630
|
toggle(e) {
|
|
628
|
-
this.expandedKeys =
|
|
631
|
+
this.expandedKeys = E(this.expandedKeys, e);
|
|
629
632
|
const t = this.flattenedRows.find((r) => r.kind === "group" && r.key === e);
|
|
630
633
|
this.emit("group-toggle", {
|
|
631
634
|
key: e,
|
|
@@ -717,6 +720,6 @@ class T extends R {
|
|
|
717
720
|
// #endregion
|
|
718
721
|
}
|
|
719
722
|
export {
|
|
720
|
-
|
|
723
|
+
I as GroupingRowsPlugin
|
|
721
724
|
};
|
|
722
725
|
//# sourceMappingURL=index.js.map
|