@toolbox-web/grid 0.2.7 → 0.3.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/README.md +13 -13
- package/all.d.ts +25 -5659
- package/all.d.ts.map +1 -0
- package/all.js +524 -450
- package/all.js.map +1 -1
- package/index.d.ts +8 -2678
- package/index.d.ts.map +1 -0
- package/index.js +3929 -25
- package/index.js.map +1 -1
- package/lib/core/constants.d.ts +114 -0
- package/lib/core/constants.d.ts.map +1 -0
- package/lib/core/grid.d.ts +337 -0
- package/lib/core/grid.d.ts.map +1 -0
- package/lib/core/internal/aggregators.d.ts +67 -0
- package/lib/core/internal/aggregators.d.ts.map +1 -0
- package/lib/core/internal/column-state.d.ts +124 -0
- package/lib/core/internal/column-state.d.ts.map +1 -0
- package/lib/core/internal/columns.d.ts +107 -0
- package/lib/core/internal/columns.d.ts.map +1 -0
- package/lib/core/internal/dom-builder.d.ts +115 -0
- package/lib/core/internal/dom-builder.d.ts.map +1 -0
- package/lib/core/internal/editing.d.ts +76 -0
- package/lib/core/internal/editing.d.ts.map +1 -0
- package/lib/core/internal/editors.d.ts +8 -0
- package/lib/core/internal/editors.d.ts.map +1 -0
- package/lib/core/internal/event-delegation.d.ts +11 -0
- package/lib/core/internal/event-delegation.d.ts.map +1 -0
- package/lib/core/internal/grid-internals.d.ts +83 -0
- package/lib/core/internal/grid-internals.d.ts.map +1 -0
- package/lib/core/internal/header.d.ts +7 -0
- package/lib/core/internal/header.d.ts.map +1 -0
- package/lib/core/internal/idle-scheduler.d.ts +65 -0
- package/lib/core/internal/idle-scheduler.d.ts.map +1 -0
- package/lib/core/internal/inference.d.ts +12 -0
- package/lib/core/internal/inference.d.ts.map +1 -0
- package/lib/core/internal/keyboard.d.ts +18 -0
- package/lib/core/internal/keyboard.d.ts.map +1 -0
- package/lib/core/internal/resize.d.ts +3 -0
- package/lib/core/internal/resize.d.ts.map +1 -0
- package/lib/core/internal/rows.d.ts +35 -0
- package/lib/core/internal/rows.d.ts.map +1 -0
- package/lib/core/internal/sanitize.d.ts +13 -0
- package/lib/core/internal/sanitize.d.ts.map +1 -0
- package/lib/core/internal/shell.d.ts +228 -0
- package/lib/core/internal/shell.d.ts.map +1 -0
- package/lib/core/internal/sorting.d.ts +24 -0
- package/lib/core/internal/sorting.d.ts.map +1 -0
- package/lib/core/internal/touch-scroll.d.ts +54 -0
- package/lib/core/internal/touch-scroll.d.ts.map +1 -0
- package/lib/core/internal/utils.d.ts +38 -0
- package/lib/core/internal/utils.d.ts.map +1 -0
- package/lib/core/internal/virtualization.d.ts +66 -0
- package/lib/core/internal/virtualization.d.ts.map +1 -0
- package/lib/core/plugin/base-plugin.d.ts +616 -0
- package/lib/core/plugin/base-plugin.d.ts.map +1 -0
- package/lib/core/plugin/index.d.ts +11 -0
- package/lib/core/plugin/index.d.ts.map +1 -0
- package/lib/core/plugin/plugin-manager.d.ts +183 -0
- package/lib/core/plugin/plugin-manager.d.ts.map +1 -0
- package/lib/core/plugin/types.d.ts +196 -0
- package/lib/core/plugin/types.d.ts.map +1 -0
- package/lib/core/types.d.ts +841 -0
- package/lib/core/types.d.ts.map +1 -0
- package/lib/plugins/clipboard/ClipboardPlugin.d.ts +46 -0
- package/lib/plugins/clipboard/ClipboardPlugin.d.ts.map +1 -0
- package/lib/plugins/clipboard/copy.d.ts +47 -0
- package/lib/plugins/clipboard/copy.d.ts.map +1 -0
- package/lib/plugins/clipboard/index.d.ts +7 -0
- package/lib/plugins/clipboard/index.d.ts.map +1 -0
- package/lib/plugins/clipboard/index.js.map +1 -1
- package/lib/plugins/clipboard/paste.d.ts +25 -0
- package/lib/plugins/clipboard/paste.d.ts.map +1 -0
- package/lib/plugins/clipboard/types.d.ts +40 -0
- package/lib/plugins/clipboard/types.d.ts.map +1 -0
- package/lib/plugins/column-virtualization/ColumnVirtualizationPlugin.d.ts +54 -0
- package/lib/plugins/column-virtualization/ColumnVirtualizationPlugin.d.ts.map +1 -0
- package/lib/plugins/column-virtualization/column-virtualization.d.ts +53 -0
- package/lib/plugins/column-virtualization/column-virtualization.d.ts.map +1 -0
- package/lib/plugins/column-virtualization/index.d.ts +7 -0
- package/lib/plugins/column-virtualization/index.d.ts.map +1 -0
- package/lib/plugins/column-virtualization/index.js.map +1 -1
- package/lib/plugins/column-virtualization/types.d.ts +41 -0
- package/lib/plugins/column-virtualization/types.d.ts.map +1 -0
- package/lib/plugins/context-menu/ContextMenuPlugin.d.ts +52 -0
- package/lib/plugins/context-menu/ContextMenuPlugin.d.ts.map +1 -0
- package/lib/plugins/context-menu/index.d.ts +7 -0
- package/lib/plugins/context-menu/index.d.ts.map +1 -0
- package/lib/plugins/context-menu/index.js +24 -24
- package/lib/plugins/context-menu/index.js.map +1 -1
- package/lib/plugins/context-menu/menu.d.ts +38 -0
- package/lib/plugins/context-menu/menu.d.ts.map +1 -0
- package/lib/plugins/context-menu/types.d.ts +77 -0
- package/lib/plugins/context-menu/types.d.ts.map +1 -0
- package/lib/plugins/export/ExportPlugin.d.ts +53 -0
- package/lib/plugins/export/ExportPlugin.d.ts.map +1 -0
- package/lib/plugins/export/csv.d.ts +31 -0
- package/lib/plugins/export/csv.d.ts.map +1 -0
- package/lib/plugins/export/excel.d.ts +12 -0
- package/lib/plugins/export/excel.d.ts.map +1 -0
- package/lib/plugins/export/index.d.ts +7 -0
- package/lib/plugins/export/index.d.ts.map +1 -0
- package/lib/plugins/export/index.js.map +1 -1
- package/lib/plugins/export/types.d.ts +57 -0
- package/lib/plugins/export/types.d.ts.map +1 -0
- package/lib/plugins/filtering/FilteringPlugin.d.ts +128 -0
- package/lib/plugins/filtering/FilteringPlugin.d.ts.map +1 -0
- package/lib/plugins/filtering/filter-model.d.ts +38 -0
- package/lib/plugins/filtering/filter-model.d.ts.map +1 -0
- package/lib/plugins/filtering/index.d.ts +7 -0
- package/lib/plugins/filtering/index.d.ts.map +1 -0
- package/lib/plugins/filtering/index.js +5 -5
- package/lib/plugins/filtering/index.js.map +1 -1
- package/lib/plugins/filtering/types.d.ts +157 -0
- package/lib/plugins/filtering/types.d.ts.map +1 -0
- package/lib/plugins/grouping-columns/GroupingColumnsPlugin.d.ts +51 -0
- package/lib/plugins/grouping-columns/GroupingColumnsPlugin.d.ts.map +1 -0
- package/lib/plugins/grouping-columns/grouping-columns.d.ts +41 -0
- package/lib/plugins/grouping-columns/grouping-columns.d.ts.map +1 -0
- package/lib/plugins/grouping-columns/index.d.ts +7 -0
- package/lib/plugins/grouping-columns/index.d.ts.map +1 -0
- package/lib/plugins/grouping-columns/index.js +58 -42
- package/lib/plugins/grouping-columns/index.js.map +1 -1
- package/lib/plugins/grouping-columns/types.d.ts +91 -0
- package/lib/plugins/grouping-columns/types.d.ts.map +1 -0
- package/lib/plugins/grouping-rows/GroupingRowsPlugin.d.ts +120 -0
- package/lib/plugins/grouping-rows/GroupingRowsPlugin.d.ts.map +1 -0
- package/lib/plugins/grouping-rows/grouping-rows.d.ts +51 -0
- package/lib/plugins/grouping-rows/grouping-rows.d.ts.map +1 -0
- package/lib/plugins/grouping-rows/index.d.ts +7 -0
- package/lib/plugins/grouping-rows/index.d.ts.map +1 -0
- package/lib/plugins/grouping-rows/index.js +51 -51
- package/lib/plugins/grouping-rows/index.js.map +1 -1
- package/lib/plugins/grouping-rows/types.d.ts +95 -0
- package/lib/plugins/grouping-rows/types.d.ts.map +1 -0
- package/lib/plugins/master-detail/MasterDetailPlugin.d.ts +147 -0
- package/lib/plugins/master-detail/MasterDetailPlugin.d.ts.map +1 -0
- package/lib/plugins/master-detail/index.d.ts +7 -0
- package/lib/plugins/master-detail/index.d.ts.map +1 -0
- package/lib/plugins/master-detail/index.js +235 -78
- package/lib/plugins/master-detail/index.js.map +1 -1
- package/lib/plugins/master-detail/master-detail.d.ts +30 -0
- package/lib/plugins/master-detail/master-detail.d.ts.map +1 -0
- package/lib/plugins/master-detail/types.d.ts +40 -0
- package/lib/plugins/master-detail/types.d.ts.map +1 -0
- package/lib/plugins/multi-sort/MultiSortPlugin.d.ts +58 -0
- package/lib/plugins/multi-sort/MultiSortPlugin.d.ts.map +1 -0
- package/lib/plugins/multi-sort/index.d.ts +7 -0
- package/lib/plugins/multi-sort/index.d.ts.map +1 -0
- package/lib/plugins/multi-sort/index.js.map +1 -1
- package/lib/plugins/multi-sort/multi-sort.d.ts +51 -0
- package/lib/plugins/multi-sort/multi-sort.d.ts.map +1 -0
- package/lib/plugins/multi-sort/types.d.ts +25 -0
- package/lib/plugins/multi-sort/types.d.ts.map +1 -0
- package/lib/plugins/pinned-columns/PinnedColumnsPlugin.d.ts +58 -0
- package/lib/plugins/pinned-columns/PinnedColumnsPlugin.d.ts.map +1 -0
- package/lib/plugins/pinned-columns/index.d.ts +7 -0
- package/lib/plugins/pinned-columns/index.d.ts.map +1 -0
- package/lib/plugins/pinned-columns/index.js.map +1 -1
- package/lib/plugins/pinned-columns/pinned-columns.d.ts +62 -0
- package/lib/plugins/pinned-columns/pinned-columns.d.ts.map +1 -0
- package/lib/plugins/pinned-columns/types.d.ts +20 -0
- package/lib/plugins/pinned-columns/types.d.ts.map +1 -0
- package/lib/plugins/pinned-rows/PinnedRowsPlugin.d.ts +64 -0
- package/lib/plugins/pinned-rows/PinnedRowsPlugin.d.ts.map +1 -0
- package/lib/plugins/pinned-rows/index.d.ts +7 -0
- package/lib/plugins/pinned-rows/index.d.ts.map +1 -0
- package/lib/plugins/pinned-rows/index.js +1 -1
- package/lib/plugins/pinned-rows/index.js.map +1 -1
- package/lib/plugins/pinned-rows/pinned-rows.d.ts +43 -0
- package/lib/plugins/pinned-rows/pinned-rows.d.ts.map +1 -0
- package/lib/plugins/pinned-rows/types.d.ts +95 -0
- package/lib/plugins/pinned-rows/types.d.ts.map +1 -0
- package/lib/plugins/pivot/PivotPlugin.d.ts +94 -0
- package/lib/plugins/pivot/PivotPlugin.d.ts.map +1 -0
- package/lib/plugins/pivot/index.d.ts +7 -0
- package/lib/plugins/pivot/index.d.ts.map +1 -0
- package/lib/plugins/pivot/index.js.map +1 -1
- package/lib/plugins/pivot/pivot-engine.d.ts +50 -0
- package/lib/plugins/pivot/pivot-engine.d.ts.map +1 -0
- package/lib/plugins/pivot/pivot-model.d.ts +6 -0
- package/lib/plugins/pivot/pivot-model.d.ts.map +1 -0
- package/lib/plugins/pivot/pivot-panel.d.ts +25 -0
- package/lib/plugins/pivot/pivot-panel.d.ts.map +1 -0
- package/lib/plugins/pivot/pivot-rows.d.ts +33 -0
- package/lib/plugins/pivot/pivot-rows.d.ts.map +1 -0
- package/lib/plugins/pivot/types.d.ts +62 -0
- package/lib/plugins/pivot/types.d.ts.map +1 -0
- package/lib/plugins/reorder/ReorderPlugin.d.ts +81 -0
- package/lib/plugins/reorder/ReorderPlugin.d.ts.map +1 -0
- package/lib/plugins/reorder/column-drag.d.ts +41 -0
- package/lib/plugins/reorder/column-drag.d.ts.map +1 -0
- package/lib/plugins/reorder/index.d.ts +7 -0
- package/lib/plugins/reorder/index.d.ts.map +1 -0
- package/lib/plugins/reorder/index.js +51 -48
- package/lib/plugins/reorder/index.js.map +1 -1
- package/lib/plugins/reorder/types.d.ts +54 -0
- package/lib/plugins/reorder/types.d.ts.map +1 -0
- package/lib/plugins/selection/SelectionPlugin.d.ts +77 -0
- package/lib/plugins/selection/SelectionPlugin.d.ts.map +1 -0
- package/lib/plugins/selection/index.d.ts +8 -0
- package/lib/plugins/selection/index.d.ts.map +1 -0
- package/lib/plugins/selection/index.js +86 -75
- package/lib/plugins/selection/index.js.map +1 -1
- package/lib/plugins/selection/range-selection.d.ts +109 -0
- package/lib/plugins/selection/range-selection.d.ts.map +1 -0
- package/lib/plugins/selection/row-selection.d.ts +48 -0
- package/lib/plugins/selection/row-selection.d.ts.map +1 -0
- package/lib/plugins/selection/types.d.ts +80 -0
- package/lib/plugins/selection/types.d.ts.map +1 -0
- package/lib/plugins/server-side/ServerSidePlugin.d.ts +56 -0
- package/lib/plugins/server-side/ServerSidePlugin.d.ts.map +1 -0
- package/lib/plugins/server-side/cache.d.ts +14 -0
- package/lib/plugins/server-side/cache.d.ts.map +1 -0
- package/lib/plugins/server-side/datasource.d.ts +12 -0
- package/lib/plugins/server-side/datasource.d.ts.map +1 -0
- package/lib/plugins/server-side/index.d.ts +7 -0
- package/lib/plugins/server-side/index.d.ts.map +1 -0
- package/lib/plugins/server-side/index.js.map +1 -1
- package/lib/plugins/server-side/types.d.ts +43 -0
- package/lib/plugins/server-side/types.d.ts.map +1 -0
- package/lib/plugins/tree/TreePlugin.d.ts +49 -0
- package/lib/plugins/tree/TreePlugin.d.ts.map +1 -0
- package/lib/plugins/tree/index.d.ts +8 -0
- package/lib/plugins/tree/index.d.ts.map +1 -0
- package/lib/plugins/tree/index.js.map +1 -1
- package/lib/plugins/tree/tree-data.d.ts +42 -0
- package/lib/plugins/tree/tree-data.d.ts.map +1 -0
- package/lib/plugins/tree/tree-detect.d.ts +24 -0
- package/lib/plugins/tree/tree-detect.d.ts.map +1 -0
- package/lib/plugins/tree/types.d.ts +61 -0
- package/lib/plugins/tree/types.d.ts.map +1 -0
- package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts +68 -0
- package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts.map +1 -0
- package/lib/plugins/undo-redo/history.d.ts +64 -0
- package/lib/plugins/undo-redo/history.d.ts.map +1 -0
- package/lib/plugins/undo-redo/index.d.ts +7 -0
- package/lib/plugins/undo-redo/index.d.ts.map +1 -0
- package/lib/plugins/undo-redo/index.js.map +1 -1
- package/lib/plugins/undo-redo/types.d.ts +41 -0
- package/lib/plugins/undo-redo/types.d.ts.map +1 -0
- package/lib/plugins/visibility/VisibilityPlugin.d.ts +135 -0
- package/lib/plugins/visibility/VisibilityPlugin.d.ts.map +1 -0
- package/lib/plugins/visibility/index.d.ts +8 -0
- package/lib/plugins/visibility/index.d.ts.map +1 -0
- package/lib/plugins/visibility/index.js.map +1 -1
- package/lib/plugins/visibility/types.d.ts +33 -0
- package/lib/plugins/visibility/types.d.ts.map +1 -0
- package/lib/plugins/visibility/visibility.d.ts +30 -0
- package/lib/plugins/visibility/visibility.d.ts.map +1 -0
- package/package.json +6 -2
- package/public.d.ts +52 -0
- package/public.d.ts.map +1 -0
- package/umd/grid.all.umd.js +32 -74
- package/umd/grid.all.umd.js.map +1 -1
- package/umd/grid.umd.js +22 -64
- package/umd/grid.umd.js.map +1 -1
- package/umd/plugins/context-menu.umd.js +1 -1
- package/umd/plugins/context-menu.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/grouping-columns.umd.js +1 -1
- package/umd/plugins/grouping-columns.umd.js.map +1 -1
- package/umd/plugins/grouping-rows.umd.js +1 -1
- package/umd/plugins/grouping-rows.umd.js.map +1 -1
- package/umd/plugins/master-detail.umd.js +1 -1
- package/umd/plugins/master-detail.umd.js.map +1 -1
- package/umd/plugins/pinned-rows.umd.js +1 -1
- package/umd/plugins/pinned-rows.umd.js.map +1 -1
- package/umd/plugins/pivot.umd.js.map +1 -1
- package/umd/plugins/selection.umd.js +1 -1
- package/umd/plugins/selection.umd.js.map +1 -1
- package/index-DG2CZ_Zo.js +0 -3229
- package/index-DG2CZ_Zo.js.map +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { RenderRow, RowGroupingConfig } from './types';
|
|
2
|
+
export { getAggregator, listAggregators, registerAggregator, runAggregator } from '../../core/internal/aggregators';
|
|
3
|
+
interface BuildGroupingArgs {
|
|
4
|
+
rows: any[];
|
|
5
|
+
config: RowGroupingConfig;
|
|
6
|
+
expanded: Set<string>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Build a flattened grouping projection (collapsed by default).
|
|
10
|
+
* Returns empty array when groupOn not configured or all rows ungrouped.
|
|
11
|
+
*
|
|
12
|
+
* @param args - The grouping arguments
|
|
13
|
+
* @returns Flattened array of render rows (groups + data rows)
|
|
14
|
+
*/
|
|
15
|
+
export declare function buildGroupedRowModel({ rows, config, expanded }: BuildGroupingArgs): RenderRow[];
|
|
16
|
+
/**
|
|
17
|
+
* Toggle expansion state for a group key.
|
|
18
|
+
*
|
|
19
|
+
* @param expandedKeys - Current set of expanded keys
|
|
20
|
+
* @param key - The group key to toggle
|
|
21
|
+
* @returns New set with toggled state
|
|
22
|
+
*/
|
|
23
|
+
export declare function toggleGroupExpansion(expandedKeys: Set<string>, key: string): Set<string>;
|
|
24
|
+
/**
|
|
25
|
+
* Expand all groups.
|
|
26
|
+
*
|
|
27
|
+
* @param rows - The flattened render rows
|
|
28
|
+
* @returns Set of all group keys
|
|
29
|
+
*/
|
|
30
|
+
export declare function expandAllGroups(rows: RenderRow[]): Set<string>;
|
|
31
|
+
/**
|
|
32
|
+
* Collapse all groups.
|
|
33
|
+
*
|
|
34
|
+
* @returns Empty set
|
|
35
|
+
*/
|
|
36
|
+
export declare function collapseAllGroups(): Set<string>;
|
|
37
|
+
/**
|
|
38
|
+
* Get all group keys from a flattened model.
|
|
39
|
+
*
|
|
40
|
+
* @param rows - The flattened render rows
|
|
41
|
+
* @returns Array of group keys
|
|
42
|
+
*/
|
|
43
|
+
export declare function getGroupKeys(rows: RenderRow[]): string[];
|
|
44
|
+
/**
|
|
45
|
+
* Count total rows in a group (including nested groups).
|
|
46
|
+
*
|
|
47
|
+
* @param groupRow - The group row
|
|
48
|
+
* @returns Total row count
|
|
49
|
+
*/
|
|
50
|
+
export declare function getGroupRowCount(groupRow: RenderRow): number;
|
|
51
|
+
//# sourceMappingURL=grouping-rows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grouping-rows.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/plugins/grouping-rows/grouping-rows.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAWpH,UAAU,iBAAiB;IACzB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAAiB,GAAG,SAAS,EAAE,CA+D/F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAQxF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAQ9D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,GAAG,CAAC,MAAM,CAAC,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,SAAS,GAAG,MAAM,CAG5D"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Grouping Rows Plugin Entry Point
|
|
3
|
+
* Re-exports plugin class and types for tree-shakeable imports.
|
|
4
|
+
*/
|
|
5
|
+
export { GroupingRowsPlugin } from './GroupingRowsPlugin';
|
|
6
|
+
export type { GroupingRowsConfig, GroupRowRenderParams } from './types';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/plugins/grouping-rows/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -164,7 +164,7 @@ class R {
|
|
|
164
164
|
}
|
|
165
165
|
// #endregion
|
|
166
166
|
}
|
|
167
|
-
const
|
|
167
|
+
const b = {
|
|
168
168
|
sum: (n, e) => n.reduce((t, i) => t + (Number(i[e]) || 0), 0),
|
|
169
169
|
avg: (n, e) => {
|
|
170
170
|
const t = n.reduce((i, r) => i + (Number(r[e]) || 0), 0);
|
|
@@ -193,7 +193,7 @@ const y = {
|
|
|
193
193
|
*/
|
|
194
194
|
get(n) {
|
|
195
195
|
if (n !== void 0)
|
|
196
|
-
return typeof n == "function" ? n : _.get(n) ??
|
|
196
|
+
return typeof n == "function" ? n : _.get(n) ?? b[n];
|
|
197
197
|
},
|
|
198
198
|
/**
|
|
199
199
|
* Run an aggregator on a set of rows.
|
|
@@ -206,13 +206,13 @@ const y = {
|
|
|
206
206
|
* Check if an aggregator exists.
|
|
207
207
|
*/
|
|
208
208
|
has(n) {
|
|
209
|
-
return _.has(n) || n in
|
|
209
|
+
return _.has(n) || n in b;
|
|
210
210
|
},
|
|
211
211
|
/**
|
|
212
212
|
* List all available aggregator names.
|
|
213
213
|
*/
|
|
214
214
|
list() {
|
|
215
|
-
return [...Object.keys(
|
|
215
|
+
return [...Object.keys(b), ..._.keys()];
|
|
216
216
|
}
|
|
217
217
|
};
|
|
218
218
|
f.register.bind(f);
|
|
@@ -225,33 +225,33 @@ function v({ rows: n, config: e, expanded: t }) {
|
|
|
225
225
|
if (typeof i != "function")
|
|
226
226
|
return [];
|
|
227
227
|
const r = { key: "__root__", value: null, depth: -1, rows: [], children: /* @__PURE__ */ new Map() };
|
|
228
|
-
if (n.forEach((
|
|
229
|
-
let d = i(
|
|
228
|
+
if (n.forEach((s) => {
|
|
229
|
+
let d = i(s);
|
|
230
230
|
d == null || d === !1 ? d = ["__ungrouped__"] : Array.isArray(d) || (d = [d]);
|
|
231
231
|
let a = r;
|
|
232
232
|
d.forEach((c, m) => {
|
|
233
233
|
const l = c == null ? "∅" : String(c), g = a.key === "__root__" ? l : a.key + "||" + l;
|
|
234
234
|
let p = a.children.get(l);
|
|
235
235
|
p || (p = { key: g, value: c, depth: m, rows: [], children: /* @__PURE__ */ new Map(), parent: a }, a.children.set(l, p)), a = p;
|
|
236
|
-
}), a.rows.push(
|
|
236
|
+
}), a.rows.push(s);
|
|
237
237
|
}), r.children.size === 1 && r.children.has("__ungrouped__") && r.children.get("__ungrouped__").rows.length === n.length)
|
|
238
238
|
return [];
|
|
239
|
-
const
|
|
240
|
-
if (
|
|
241
|
-
|
|
239
|
+
const o = [], u = (s) => {
|
|
240
|
+
if (s === r) {
|
|
241
|
+
s.children.forEach((a) => u(a));
|
|
242
242
|
return;
|
|
243
243
|
}
|
|
244
|
-
const d = t.has(
|
|
245
|
-
|
|
244
|
+
const d = t.has(s.key);
|
|
245
|
+
o.push({
|
|
246
246
|
kind: "group",
|
|
247
|
-
key:
|
|
248
|
-
value:
|
|
249
|
-
depth:
|
|
250
|
-
rows:
|
|
247
|
+
key: s.key,
|
|
248
|
+
value: s.value,
|
|
249
|
+
depth: s.depth,
|
|
250
|
+
rows: s.rows,
|
|
251
251
|
expanded: d
|
|
252
|
-
}), d && (
|
|
252
|
+
}), d && (s.children.size ? s.children.forEach((a) => u(a)) : s.rows.forEach((a) => o.push({ kind: "data", row: a, rowIndex: n.indexOf(a) })));
|
|
253
253
|
};
|
|
254
|
-
return u(r),
|
|
254
|
+
return u(r), o;
|
|
255
255
|
}
|
|
256
256
|
function C(n, e) {
|
|
257
257
|
const t = new Set(n);
|
|
@@ -269,7 +269,7 @@ function k() {
|
|
|
269
269
|
function K(n) {
|
|
270
270
|
return n.kind !== "group" ? 0 : n.rows.length;
|
|
271
271
|
}
|
|
272
|
-
const S = '.group-row{background:var(--tbw-grouping-rows-bg, var(--tbw-color-panel-bg));font-weight:500}.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:20px;height:20px;margin-right:4px}.group-toggle:hover{background:var(--tbw-grouping-rows-toggle-hover, var(--tbw-color-row-hover));border-radius:2px}.group-label{display:inline-flex;align-items:center;gap:8px}.group-count{color:var(--tbw-grouping-rows-count-color, var(--tbw-color-fg-muted));font-size:.85em;font-weight:400}[data-group-depth="0"] .group-label{padding-left:0}[data-group-depth="1"] .group-label{padding-left:20px}[data-group-depth="2"] .group-label{padding-left:40px}[data-group-depth="3"] .group-label{padding-left:60px}[data-group-depth="4"] .group-label{padding-left:80px}.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}}';
|
|
272
|
+
const S = '.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, 2px 8px)}.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:20px;height:20px;margin-right:4px;background:none;border:0;font:inherit}.group-toggle:hover{background:var(--tbw-grouping-rows-toggle-hover, var(--tbw-color-row-hover));border-radius:2px}.group-label{display:inline-flex;align-items:center;gap:8px}.group-count{color:var(--tbw-grouping-rows-count-color, var(--tbw-color-fg-muted));font-size:.85em;font-weight:400}[data-group-depth="0"] .group-label{padding-left:0}[data-group-depth="1"] .group-label{padding-left:20px}[data-group-depth="2"] .group-label{padding-left:40px}[data-group-depth="3"] .group-label{padding-left:60px}[data-group-depth="4"] .group-label{padding-left:80px}.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}}';
|
|
273
273
|
class E extends R {
|
|
274
274
|
name = "groupingRows";
|
|
275
275
|
version = "1.0.0";
|
|
@@ -327,20 +327,20 @@ class E extends R {
|
|
|
327
327
|
return this.isActive = !1, this.flattenedRows = [], [...e];
|
|
328
328
|
this.isActive = !0, this.flattenedRows = i, this.keysToAnimate.clear();
|
|
329
329
|
const r = /* @__PURE__ */ new Set();
|
|
330
|
-
return i.forEach((
|
|
331
|
-
if (
|
|
332
|
-
const
|
|
333
|
-
r.add(
|
|
330
|
+
return i.forEach((o, u) => {
|
|
331
|
+
if (o.kind === "data") {
|
|
332
|
+
const s = `data-${u}`;
|
|
333
|
+
r.add(s), this.previousVisibleKeys.has(s) || this.keysToAnimate.add(s);
|
|
334
334
|
}
|
|
335
|
-
}), this.previousVisibleKeys = r, i.map((
|
|
335
|
+
}), this.previousVisibleKeys = r, i.map((o) => o.kind === "group" ? {
|
|
336
336
|
__isGroupRow: !0,
|
|
337
|
-
__groupKey:
|
|
338
|
-
__groupValue:
|
|
339
|
-
__groupDepth:
|
|
340
|
-
__groupRows:
|
|
341
|
-
__groupExpanded:
|
|
342
|
-
__groupRowCount: K(
|
|
343
|
-
} :
|
|
337
|
+
__groupKey: o.key,
|
|
338
|
+
__groupValue: o.value,
|
|
339
|
+
__groupDepth: o.depth,
|
|
340
|
+
__groupRows: o.rows,
|
|
341
|
+
__groupExpanded: o.expanded,
|
|
342
|
+
__groupRowCount: K(o)
|
|
343
|
+
} : o.row);
|
|
344
344
|
}
|
|
345
345
|
onCellClick(e) {
|
|
346
346
|
const t = e.row;
|
|
@@ -355,7 +355,7 @@ class E extends R {
|
|
|
355
355
|
return !1;
|
|
356
356
|
const r = this.config;
|
|
357
357
|
if (r.groupRowRenderer) {
|
|
358
|
-
const
|
|
358
|
+
const s = () => {
|
|
359
359
|
this.toggle(e.__groupKey);
|
|
360
360
|
}, d = r.groupRowRenderer({
|
|
361
361
|
key: e.__groupKey,
|
|
@@ -363,15 +363,15 @@ class E extends R {
|
|
|
363
363
|
depth: e.__groupDepth,
|
|
364
364
|
rows: e.__groupRows,
|
|
365
365
|
expanded: e.__groupExpanded,
|
|
366
|
-
toggleExpand:
|
|
366
|
+
toggleExpand: s
|
|
367
367
|
});
|
|
368
368
|
if (d)
|
|
369
369
|
return t.className = "group-row", t.__isCustomRow = !0, t.setAttribute("data-group-depth", String(e.__groupDepth)), typeof d == "string" ? t.innerHTML = d : (t.innerHTML = "", t.appendChild(d)), !0;
|
|
370
370
|
}
|
|
371
|
-
const
|
|
371
|
+
const o = () => {
|
|
372
372
|
this.toggle(e.__groupKey);
|
|
373
373
|
};
|
|
374
|
-
return t.className = "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.paddingLeft = `${(e.__groupDepth || 0) * (r.indentWidth ?? 20)}px`, t.innerHTML = "", r.fullWidth !== !1 ? this.renderFullWidthGroupRow(e, t,
|
|
374
|
+
return t.className = "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.paddingLeft = `${(e.__groupDepth || 0) * (r.indentWidth ?? 20)}px`, t.innerHTML = "", r.fullWidth !== !1 ? this.renderFullWidthGroupRow(e, t, o) : this.renderPerColumnGroupRow(e, t, o), !0;
|
|
375
375
|
}
|
|
376
376
|
afterRender() {
|
|
377
377
|
const e = this.animationStyle;
|
|
@@ -380,7 +380,7 @@ class E extends R {
|
|
|
380
380
|
if (!t) return;
|
|
381
381
|
const i = e === "fade" ? "tbw-group-fade-in" : "tbw-group-slide-in";
|
|
382
382
|
for (const r of t.querySelectorAll(".data-grid-row:not(.group-row)")) {
|
|
383
|
-
const
|
|
383
|
+
const o = r.querySelector(".cell[data-row]"), u = o ? parseInt(o.getAttribute("data-row") ?? "-1", 10) : -1, d = this.flattenedRows[u]?.kind === "data" ? `data-${u}` : void 0;
|
|
384
384
|
d && this.keysToAnimate.has(d) && (r.classList.add(i), r.addEventListener("animationend", () => r.classList.remove(i), { once: !0 }));
|
|
385
385
|
}
|
|
386
386
|
this.keysToAnimate.clear();
|
|
@@ -388,23 +388,23 @@ class E extends R {
|
|
|
388
388
|
// #endregion
|
|
389
389
|
// #region Private Rendering Helpers
|
|
390
390
|
renderFullWidthGroupRow(e, t, i) {
|
|
391
|
-
const r = this.config,
|
|
392
|
-
|
|
391
|
+
const r = this.config, o = document.createElement("div");
|
|
392
|
+
o.className = "cell group-full", o.style.gridColumn = "1 / -1", o.setAttribute("role", "gridcell");
|
|
393
393
|
const u = document.createElement("button");
|
|
394
394
|
u.type = "button", u.className = `group-toggle${e.__groupExpanded ? " expanded" : ""}`, u.setAttribute("aria-label", e.__groupExpanded ? "Collapse group" : "Expand group"), this.setIcon(u, this.resolveIcon(e.__groupExpanded ? "collapse" : "expand")), u.addEventListener("click", (a) => {
|
|
395
395
|
a.stopPropagation(), i();
|
|
396
|
-
}),
|
|
397
|
-
const
|
|
398
|
-
|
|
396
|
+
}), o.appendChild(u);
|
|
397
|
+
const s = document.createElement("span");
|
|
398
|
+
s.className = "group-label";
|
|
399
399
|
const d = r.formatLabel ? r.formatLabel(e.__groupValue, e.__groupDepth || 0, e.__groupKey) : String(e.__groupValue);
|
|
400
|
-
if (
|
|
400
|
+
if (s.textContent = d, o.appendChild(s), r.showRowCount !== !1) {
|
|
401
401
|
const a = document.createElement("span");
|
|
402
|
-
a.className = "group-count", a.textContent = `(${e.__groupRowCount ?? e.__groupRows?.length ?? 0})`,
|
|
402
|
+
a.className = "group-count", a.textContent = `(${e.__groupRowCount ?? e.__groupRows?.length ?? 0})`, o.appendChild(a);
|
|
403
403
|
}
|
|
404
|
-
t.appendChild(
|
|
404
|
+
t.appendChild(o);
|
|
405
405
|
}
|
|
406
406
|
renderPerColumnGroupRow(e, t, i) {
|
|
407
|
-
const r = this.config,
|
|
407
|
+
const r = this.config, o = r.aggregators ?? {}, u = this.columns, s = e.__groupRows ?? [], a = this.shadowRoot?.querySelector(".body")?.style.gridTemplateColumns || "";
|
|
408
408
|
a && (t.style.display = "grid", t.style.gridTemplateColumns = a), u.forEach((c, m) => {
|
|
409
409
|
const l = document.createElement("div");
|
|
410
410
|
if (l.className = "cell group-cell", l.setAttribute("data-col", String(m)), l.setAttribute("role", "gridcell"), m === 0) {
|
|
@@ -412,9 +412,9 @@ class E extends R {
|
|
|
412
412
|
g.type = "button", g.className = `group-toggle${e.__groupExpanded ? " expanded" : ""}`, g.setAttribute("aria-label", e.__groupExpanded ? "Collapse group" : "Expand group"), this.setIcon(g, this.resolveIcon(e.__groupExpanded ? "collapse" : "expand")), g.addEventListener("click", (h) => {
|
|
413
413
|
h.stopPropagation(), i();
|
|
414
414
|
}), l.appendChild(g);
|
|
415
|
-
const p = document.createElement("span"),
|
|
416
|
-
if (
|
|
417
|
-
const h = w(
|
|
415
|
+
const p = document.createElement("span"), y = o[c.field];
|
|
416
|
+
if (y) {
|
|
417
|
+
const h = w(y, s, c.field, c);
|
|
418
418
|
p.textContent = h != null ? String(h) : String(e.__groupValue);
|
|
419
419
|
} else {
|
|
420
420
|
const h = r.formatLabel ? r.formatLabel(e.__groupValue, e.__groupDepth || 0, e.__groupKey) : String(e.__groupValue);
|
|
@@ -422,12 +422,12 @@ class E extends R {
|
|
|
422
422
|
}
|
|
423
423
|
if (l.appendChild(p), r.showRowCount !== !1) {
|
|
424
424
|
const h = document.createElement("span");
|
|
425
|
-
h.className = "group-count", h.textContent = ` (${
|
|
425
|
+
h.className = "group-count", h.textContent = ` (${s.length})`, l.appendChild(h);
|
|
426
426
|
}
|
|
427
427
|
} else {
|
|
428
|
-
const g =
|
|
428
|
+
const g = o[c.field];
|
|
429
429
|
if (g) {
|
|
430
|
-
const p = w(g,
|
|
430
|
+
const p = w(g, s, c.field, c);
|
|
431
431
|
l.textContent = p != null ? String(p) : "";
|
|
432
432
|
} else
|
|
433
433
|
l.textContent = "";
|