@toolbox-web/grid 1.2.0 → 1.3.1
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/README.md +80 -22
- package/all.js +619 -571
- package/all.js.map +1 -1
- package/index.js +362 -302
- package/index.js.map +1 -1
- package/lib/core/grid.d.ts +64 -1
- package/lib/core/grid.d.ts.map +1 -1
- package/lib/core/internal/row-animation.d.ts +37 -0
- package/lib/core/internal/row-animation.d.ts.map +1 -0
- package/lib/core/types.d.ts +17 -0
- package/lib/core/types.d.ts.map +1 -1
- package/lib/plugins/clipboard/index.js +82 -76
- package/lib/plugins/clipboard/index.js.map +1 -1
- package/lib/plugins/clipboard/types.d.ts +1 -0
- package/lib/plugins/clipboard/types.d.ts.map +1 -1
- package/lib/plugins/column-virtualization/index.js +43 -41
- package/lib/plugins/column-virtualization/index.js.map +1 -1
- package/lib/plugins/context-menu/index.js +24 -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 +83 -52
- package/lib/plugins/editing/index.js.map +1 -1
- package/lib/plugins/export/index.js +22 -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 +160 -125
- package/lib/plugins/filtering/index.js.map +1 -1
- package/lib/plugins/grouping-columns/index.js +20 -18
- package/lib/plugins/grouping-columns/index.js.map +1 -1
- package/lib/plugins/grouping-rows/index.js +66 -64
- package/lib/plugins/grouping-rows/index.js.map +1 -1
- package/lib/plugins/master-detail/index.js +51 -49
- package/lib/plugins/master-detail/index.js.map +1 -1
- package/lib/plugins/multi-sort/index.js +17 -15
- package/lib/plugins/multi-sort/index.js.map +1 -1
- package/lib/plugins/pinned-columns/index.js +24 -22
- package/lib/plugins/pinned-columns/index.js.map +1 -1
- package/lib/plugins/pinned-rows/index.js +25 -23
- package/lib/plugins/pinned-rows/index.js.map +1 -1
- package/lib/plugins/pivot/index.js +49 -47
- package/lib/plugins/pivot/index.js.map +1 -1
- package/lib/plugins/reorder/index.js +24 -22
- package/lib/plugins/reorder/index.js.map +1 -1
- package/lib/plugins/responsive/index.js +19 -17
- package/lib/plugins/responsive/index.js.map +1 -1
- package/lib/plugins/row-reorder/index.js +38 -36
- package/lib/plugins/row-reorder/index.js.map +1 -1
- package/lib/plugins/selection/SelectionPlugin.d.ts +13 -0
- package/lib/plugins/selection/SelectionPlugin.d.ts.map +1 -1
- package/lib/plugins/selection/index.d.ts +1 -1
- package/lib/plugins/selection/index.d.ts.map +1 -1
- package/lib/plugins/selection/index.js +118 -85
- package/lib/plugins/selection/index.js.map +1 -1
- package/lib/plugins/selection/types.d.ts +50 -6
- package/lib/plugins/selection/types.d.ts.map +1 -1
- package/lib/plugins/server-side/index.js +34 -32
- package/lib/plugins/server-side/index.js.map +1 -1
- package/lib/plugins/tree/index.js +25 -23
- package/lib/plugins/tree/index.js.map +1 -1
- package/lib/plugins/undo-redo/index.js +22 -20
- package/lib/plugins/undo-redo/index.js.map +1 -1
- package/lib/plugins/visibility/index.js +21 -19
- package/lib/plugins/visibility/index.js.map +1 -1
- package/package.json +21 -4
- package/public.d.ts +1 -1
- package/public.d.ts.map +1 -1
- package/umd/grid.all.umd.js +19 -19
- package/umd/grid.all.umd.js.map +1 -1
- package/umd/grid.umd.js +9 -9
- package/umd/grid.umd.js.map +1 -1
- package/umd/plugins/clipboard.umd.js +5 -5
- package/umd/plugins/clipboard.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/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,11 @@ const v = {
|
|
|
6
6
|
sortNone: "⇅",
|
|
7
7
|
submenuArrow: "▶",
|
|
8
8
|
dragHandle: "⋮⋮",
|
|
9
|
-
toolPanel: "☰"
|
|
9
|
+
toolPanel: "☰",
|
|
10
|
+
filter: y,
|
|
11
|
+
filterActive: y
|
|
10
12
|
};
|
|
11
|
-
class
|
|
13
|
+
class x {
|
|
12
14
|
/**
|
|
13
15
|
* Plugin dependencies - declare other plugins this one requires.
|
|
14
16
|
*
|
|
@@ -232,7 +234,7 @@ class R {
|
|
|
232
234
|
*/
|
|
233
235
|
get gridIcons() {
|
|
234
236
|
const e = this.grid?.gridConfig?.icons ?? {};
|
|
235
|
-
return { ...
|
|
237
|
+
return { ...R, ...e };
|
|
236
238
|
}
|
|
237
239
|
// #region Animation Helpers
|
|
238
240
|
/**
|
|
@@ -308,14 +310,14 @@ class R {
|
|
|
308
310
|
}
|
|
309
311
|
// #endregion
|
|
310
312
|
}
|
|
311
|
-
const
|
|
312
|
-
function
|
|
313
|
-
return n.field ===
|
|
313
|
+
const C = "__tbw_expander";
|
|
314
|
+
function A(n) {
|
|
315
|
+
return n.field === C;
|
|
314
316
|
}
|
|
315
317
|
const _ = {
|
|
316
318
|
sum: (n, e) => n.reduce((t, r) => t + (Number(r[e]) || 0), 0),
|
|
317
319
|
avg: (n, e) => {
|
|
318
|
-
const t = n.reduce((r,
|
|
320
|
+
const t = n.reduce((r, i) => r + (Number(i[e]) || 0), 0);
|
|
319
321
|
return n.length ? t / n.length : 0;
|
|
320
322
|
},
|
|
321
323
|
count: (n) => n.length,
|
|
@@ -347,8 +349,8 @@ const _ = {
|
|
|
347
349
|
* Run an aggregator on a set of rows.
|
|
348
350
|
*/
|
|
349
351
|
run(n, e, t, r) {
|
|
350
|
-
const
|
|
351
|
-
return
|
|
352
|
+
const i = this.get(n);
|
|
353
|
+
return i ? i(e, t, r) : void 0;
|
|
352
354
|
},
|
|
353
355
|
/**
|
|
354
356
|
* Check if an aggregator exists.
|
|
@@ -366,42 +368,42 @@ const _ = {
|
|
|
366
368
|
c.register.bind(c);
|
|
367
369
|
c.unregister.bind(c);
|
|
368
370
|
c.get.bind(c);
|
|
369
|
-
const
|
|
371
|
+
const v = c.run.bind(c);
|
|
370
372
|
c.list.bind(c);
|
|
371
|
-
function
|
|
373
|
+
function k({ rows: n, config: e, expanded: t }) {
|
|
372
374
|
const r = e.groupOn;
|
|
373
375
|
if (typeof r != "function")
|
|
374
376
|
return [];
|
|
375
|
-
const
|
|
377
|
+
const i = { key: "__root__", value: null, depth: -1, rows: [], children: /* @__PURE__ */ new Map() };
|
|
376
378
|
if (n.forEach((o) => {
|
|
377
379
|
let a = r(o);
|
|
378
380
|
a == null || a === !1 ? a = ["__ungrouped__"] : Array.isArray(a) || (a = [a]);
|
|
379
|
-
let u =
|
|
381
|
+
let u = i;
|
|
380
382
|
a.forEach((h, p) => {
|
|
381
383
|
const f = h == null ? "∅" : String(h), l = u.key === "__root__" ? f : u.key + "||" + f;
|
|
382
384
|
let g = u.children.get(f);
|
|
383
385
|
g || (g = { key: l, value: h, depth: p, rows: [], children: /* @__PURE__ */ new Map(), parent: u }, u.children.set(f, g)), u = g;
|
|
384
386
|
}), u.rows.push(o);
|
|
385
|
-
}),
|
|
387
|
+
}), i.children.size === 1 && i.children.has("__ungrouped__") && i.children.get("__ungrouped__").rows.length === n.length)
|
|
386
388
|
return [];
|
|
387
|
-
const
|
|
388
|
-
if (o ===
|
|
389
|
+
const s = [], d = (o) => {
|
|
390
|
+
if (o === i) {
|
|
389
391
|
o.children.forEach((u) => d(u));
|
|
390
392
|
return;
|
|
391
393
|
}
|
|
392
394
|
const a = t.has(o.key);
|
|
393
|
-
|
|
395
|
+
s.push({
|
|
394
396
|
kind: "group",
|
|
395
397
|
key: o.key,
|
|
396
398
|
value: o.value,
|
|
397
399
|
depth: o.depth,
|
|
398
400
|
rows: o.rows,
|
|
399
401
|
expanded: a
|
|
400
|
-
}), a && (o.children.size ? o.children.forEach((u) => d(u)) : o.rows.forEach((u) =>
|
|
402
|
+
}), 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
403
|
};
|
|
402
|
-
return d(
|
|
404
|
+
return d(i), s;
|
|
403
405
|
}
|
|
404
|
-
function
|
|
406
|
+
function E(n, e) {
|
|
405
407
|
const t = new Set(n);
|
|
406
408
|
return t.has(e) ? t.delete(e) : t.add(e), t;
|
|
407
409
|
}
|
|
@@ -414,15 +416,15 @@ function S(n) {
|
|
|
414
416
|
function K() {
|
|
415
417
|
return /* @__PURE__ */ new Set();
|
|
416
418
|
}
|
|
417
|
-
function
|
|
419
|
+
function G(n) {
|
|
418
420
|
return n.kind !== "group" ? 0 : n.rows.length;
|
|
419
421
|
}
|
|
420
|
-
const
|
|
421
|
-
class
|
|
422
|
+
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}}}";
|
|
423
|
+
class I extends x {
|
|
422
424
|
/** @internal */
|
|
423
425
|
name = "groupingRows";
|
|
424
426
|
/** @internal */
|
|
425
|
-
styles =
|
|
427
|
+
styles = T;
|
|
426
428
|
/** @internal */
|
|
427
429
|
get defaultConfig() {
|
|
428
430
|
return {
|
|
@@ -468,7 +470,7 @@ class T extends R {
|
|
|
468
470
|
const t = this.config;
|
|
469
471
|
if (typeof t.groupOn != "function")
|
|
470
472
|
return this.isActive = !1, this.flattenedRows = [], [...e];
|
|
471
|
-
const r =
|
|
473
|
+
const r = k({
|
|
472
474
|
rows: [...e],
|
|
473
475
|
config: t,
|
|
474
476
|
expanded: this.expandedKeys
|
|
@@ -476,21 +478,21 @@ class T extends R {
|
|
|
476
478
|
if (r.length === 0)
|
|
477
479
|
return this.isActive = !1, this.flattenedRows = [], [...e];
|
|
478
480
|
this.isActive = !0, this.flattenedRows = r, this.keysToAnimate.clear();
|
|
479
|
-
const
|
|
480
|
-
return r.forEach((
|
|
481
|
-
if (
|
|
481
|
+
const i = /* @__PURE__ */ new Set();
|
|
482
|
+
return r.forEach((s, d) => {
|
|
483
|
+
if (s.kind === "data") {
|
|
482
484
|
const o = `data-${d}`;
|
|
483
|
-
|
|
485
|
+
i.add(o), this.previousVisibleKeys.has(o) || this.keysToAnimate.add(o);
|
|
484
486
|
}
|
|
485
|
-
}), this.previousVisibleKeys =
|
|
487
|
+
}), this.previousVisibleKeys = i, r.map((s) => s.kind === "group" ? {
|
|
486
488
|
__isGroupRow: !0,
|
|
487
|
-
__groupKey:
|
|
488
|
-
__groupValue:
|
|
489
|
-
__groupDepth:
|
|
490
|
-
__groupRows:
|
|
491
|
-
__groupExpanded:
|
|
492
|
-
__groupRowCount:
|
|
493
|
-
} :
|
|
489
|
+
__groupKey: s.key,
|
|
490
|
+
__groupValue: s.value,
|
|
491
|
+
__groupDepth: s.depth,
|
|
492
|
+
__groupRows: s.rows,
|
|
493
|
+
__groupExpanded: s.expanded,
|
|
494
|
+
__groupRowCount: G(s)
|
|
495
|
+
} : s.row);
|
|
494
496
|
}
|
|
495
497
|
/** @internal */
|
|
496
498
|
onCellClick(e) {
|
|
@@ -512,11 +514,11 @@ class T extends R {
|
|
|
512
514
|
renderRow(e, t, r) {
|
|
513
515
|
if (!e?.__isGroupRow)
|
|
514
516
|
return !1;
|
|
515
|
-
const
|
|
516
|
-
if (
|
|
517
|
+
const i = this.config;
|
|
518
|
+
if (i.groupRowRenderer) {
|
|
517
519
|
const o = () => {
|
|
518
520
|
this.toggle(e.__groupKey);
|
|
519
|
-
}, a =
|
|
521
|
+
}, a = i.groupRowRenderer({
|
|
520
522
|
key: e.__groupKey,
|
|
521
523
|
value: e.__groupValue,
|
|
522
524
|
depth: e.__groupDepth,
|
|
@@ -527,10 +529,10 @@ class T extends R {
|
|
|
527
529
|
if (a)
|
|
528
530
|
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
531
|
}
|
|
530
|
-
const
|
|
532
|
+
const s = () => {
|
|
531
533
|
this.toggle(e.__groupKey);
|
|
532
534
|
};
|
|
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)),
|
|
535
|
+
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
536
|
}
|
|
535
537
|
/** @internal */
|
|
536
538
|
afterRender() {
|
|
@@ -539,9 +541,9 @@ class T extends R {
|
|
|
539
541
|
const t = this.gridElement?.querySelector(".rows");
|
|
540
542
|
if (!t) return;
|
|
541
543
|
const r = e === "fade" ? "tbw-group-fade-in" : "tbw-group-slide-in";
|
|
542
|
-
for (const
|
|
543
|
-
const
|
|
544
|
-
a && this.keysToAnimate.has(a) && (
|
|
544
|
+
for (const i of t.querySelectorAll(".data-grid-row:not(.group-row)")) {
|
|
545
|
+
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;
|
|
546
|
+
a && this.keysToAnimate.has(a) && (i.classList.add(r), i.addEventListener("animationend", () => i.classList.remove(r), { once: !0 }));
|
|
545
547
|
}
|
|
546
548
|
this.keysToAnimate.clear();
|
|
547
549
|
}
|
|
@@ -552,53 +554,53 @@ class T extends R {
|
|
|
552
554
|
*/
|
|
553
555
|
createToggleButton(e, t) {
|
|
554
556
|
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
|
-
|
|
557
|
+
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) => {
|
|
558
|
+
i.stopPropagation(), t();
|
|
557
559
|
}), r;
|
|
558
560
|
}
|
|
559
561
|
/**
|
|
560
562
|
* Get the formatted label text for a group.
|
|
561
563
|
*/
|
|
562
564
|
getGroupLabelText(e, t, r) {
|
|
563
|
-
const
|
|
564
|
-
return
|
|
565
|
+
const i = this.config;
|
|
566
|
+
return i.formatLabel ? i.formatLabel(e, t, r) : String(e);
|
|
565
567
|
}
|
|
566
568
|
renderFullWidthGroupRow(e, t, r) {
|
|
567
|
-
const
|
|
568
|
-
|
|
569
|
+
const i = this.config, s = document.createElement("div");
|
|
570
|
+
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
571
|
const d = document.createElement("span");
|
|
570
|
-
if (d.className = "group-label", d.textContent = this.getGroupLabelText(e.__groupValue, e.__groupDepth || 0, e.__groupKey),
|
|
572
|
+
if (d.className = "group-label", d.textContent = this.getGroupLabelText(e.__groupValue, e.__groupDepth || 0, e.__groupKey), s.appendChild(d), i.showRowCount !== !1) {
|
|
571
573
|
const o = document.createElement("span");
|
|
572
|
-
o.className = "group-count", o.textContent = `(${e.__groupRowCount ?? e.__groupRows?.length ?? 0})`,
|
|
574
|
+
o.className = "group-count", o.textContent = `(${e.__groupRowCount ?? e.__groupRows?.length ?? 0})`, s.appendChild(o);
|
|
573
575
|
}
|
|
574
|
-
t.appendChild(
|
|
576
|
+
t.appendChild(s);
|
|
575
577
|
}
|
|
576
578
|
renderPerColumnGroupRow(e, t, r) {
|
|
577
|
-
const
|
|
579
|
+
const i = this.config, s = i.aggregators ?? {}, d = this.columns, o = e.__groupRows ?? [], u = this.gridElement?.querySelector(".body")?.style.gridTemplateColumns || "";
|
|
578
580
|
u && (t.style.display = "grid", t.style.gridTemplateColumns = u);
|
|
579
581
|
let h = !1;
|
|
580
582
|
d.forEach((p, f) => {
|
|
581
583
|
const l = document.createElement("div");
|
|
582
|
-
if (l.className = "cell group-cell", l.setAttribute("data-col", String(f)), l.setAttribute("role", "gridcell"),
|
|
584
|
+
if (l.className = "cell group-cell", l.setAttribute("data-col", String(f)), l.setAttribute("role", "gridcell"), A(p)) {
|
|
583
585
|
l.setAttribute("data-field", p.field), t.appendChild(l);
|
|
584
586
|
return;
|
|
585
587
|
}
|
|
586
588
|
if (h) {
|
|
587
|
-
const g =
|
|
589
|
+
const g = s[p.field];
|
|
588
590
|
if (g) {
|
|
589
|
-
const b =
|
|
591
|
+
const b = v(g, o, p.field, p);
|
|
590
592
|
l.textContent = b != null ? String(b) : "";
|
|
591
593
|
} else
|
|
592
594
|
l.textContent = "";
|
|
593
595
|
} else {
|
|
594
596
|
h = !0, l.appendChild(this.createToggleButton(e.__groupExpanded, r));
|
|
595
|
-
const g = document.createElement("span"), b =
|
|
597
|
+
const g = document.createElement("span"), b = s[p.field];
|
|
596
598
|
if (b) {
|
|
597
|
-
const m =
|
|
599
|
+
const m = v(b, o, p.field, p);
|
|
598
600
|
g.textContent = m != null ? String(m) : String(e.__groupValue);
|
|
599
601
|
} else
|
|
600
602
|
g.textContent = this.getGroupLabelText(e.__groupValue, e.__groupDepth || 0, e.__groupKey);
|
|
601
|
-
if (l.appendChild(g),
|
|
603
|
+
if (l.appendChild(g), i.showRowCount !== !1) {
|
|
602
604
|
const m = document.createElement("span");
|
|
603
605
|
m.className = "group-count", m.textContent = ` (${o.length})`, l.appendChild(m);
|
|
604
606
|
}
|
|
@@ -625,7 +627,7 @@ class T extends R {
|
|
|
625
627
|
* @param key - The group key to toggle
|
|
626
628
|
*/
|
|
627
629
|
toggle(e) {
|
|
628
|
-
this.expandedKeys =
|
|
630
|
+
this.expandedKeys = E(this.expandedKeys, e);
|
|
629
631
|
const t = this.flattenedRows.find((r) => r.kind === "group" && r.key === e);
|
|
630
632
|
this.emit("group-toggle", {
|
|
631
633
|
key: e,
|
|
@@ -717,6 +719,6 @@ class T extends R {
|
|
|
717
719
|
// #endregion
|
|
718
720
|
}
|
|
719
721
|
export {
|
|
720
|
-
|
|
722
|
+
I as GroupingRowsPlugin
|
|
721
723
|
};
|
|
722
724
|
//# sourceMappingURL=index.js.map
|