@tanstack/table-core 9.0.0-alpha.47 → 9.0.0-alpha.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/README.md +10 -0
- package/dist/core/cells/coreCellsFeature.utils.cjs +11 -8
- package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -1
- package/dist/core/cells/coreCellsFeature.utils.d.cts +11 -8
- package/dist/core/cells/coreCellsFeature.utils.d.ts +11 -8
- package/dist/core/cells/coreCellsFeature.utils.js +11 -8
- package/dist/core/cells/coreCellsFeature.utils.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -6
- package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -6
- package/dist/core/columns/coreColumnsFeature.utils.cjs +37 -27
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +37 -27
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +37 -27
- package/dist/core/columns/coreColumnsFeature.utils.js +37 -27
- package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -4
- package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -4
- package/dist/core/headers/coreHeadersFeature.utils.cjs +23 -18
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +23 -18
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +23 -18
- package/dist/core/headers/coreHeadersFeature.utils.js +23 -18
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +48 -36
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +48 -36
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +48 -36
- package/dist/core/row-models/coreRowModelsFeature.utils.js +48 -36
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +4 -4
- package/dist/core/rows/coreRowsFeature.types.d.ts +4 -4
- package/dist/core/rows/coreRowsFeature.utils.cjs +34 -28
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +34 -28
- package/dist/core/rows/coreRowsFeature.utils.d.ts +34 -28
- package/dist/core/rows/coreRowsFeature.utils.js +34 -28
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +6 -2
- package/dist/core/table/coreTablesFeature.types.d.ts +6 -2
- package/dist/core/table/coreTablesFeature.utils.cjs +2 -2
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +2 -2
- package/dist/core/table/coreTablesFeature.utils.d.ts +2 -2
- package/dist/core/table/coreTablesFeature.utils.js +2 -2
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +16 -10
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +16 -10
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +26 -18
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +26 -18
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +26 -18
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +26 -18
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +21 -11
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +21 -11
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +39 -28
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +39 -28
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +39 -28
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +39 -28
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +18 -14
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +18 -14
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +55 -43
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +55 -43
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +55 -43
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +55 -43
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +14 -5
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +14 -5
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +30 -23
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +30 -23
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +30 -23
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +30 -23
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +43 -31
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +43 -31
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +111 -91
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +111 -91
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +111 -91
- package/dist/features/column-pinning/columnPinningFeature.utils.js +111 -91
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +9 -9
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +9 -9
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +29 -20
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +28 -19
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +28 -19
- package/dist/features/column-resizing/columnResizingFeature.utils.js +29 -20
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +19 -12
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +19 -12
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +52 -41
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +52 -41
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +52 -41
- package/dist/features/column-sizing/columnSizingFeature.utils.js +52 -41
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +16 -13
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +16 -13
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +54 -42
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +54 -42
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +54 -42
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +54 -42
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +10 -5
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +10 -5
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +20 -14
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +20 -14
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +20 -14
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +20 -14
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +16 -15
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +16 -15
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +56 -41
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +56 -41
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +56 -41
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +56 -41
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +19 -12
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +19 -12
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +49 -32
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +49 -32
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +49 -32
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +49 -32
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +12 -8
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +12 -8
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +39 -29
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +39 -29
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +39 -29
- package/dist/features/row-pinning/rowPinningFeature.utils.js +39 -29
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +30 -24
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +30 -24
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +89 -69
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +89 -69
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +89 -69
- package/dist/features/row-selection/rowSelectionFeature.utils.js +89 -69
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +10 -8
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +10 -8
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +62 -45
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +61 -44
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +61 -44
- package/dist/features/row-sorting/rowSortingFeature.utils.js +62 -45
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/fns/aggregationFns.cjs +33 -9
- package/dist/fns/aggregationFns.cjs.map +1 -1
- package/dist/fns/aggregationFns.d.cts +33 -9
- package/dist/fns/aggregationFns.d.ts +33 -9
- package/dist/fns/aggregationFns.js +33 -9
- package/dist/fns/aggregationFns.js.map +1 -1
- package/dist/fns/filterFns.cjs +48 -17
- package/dist/fns/filterFns.cjs.map +1 -1
- package/dist/fns/filterFns.d.cts +42 -15
- package/dist/fns/filterFns.d.ts +42 -15
- package/dist/fns/filterFns.js +48 -17
- package/dist/fns/filterFns.js.map +1 -1
- package/dist/helpers/columnHelper.cjs +9 -4
- package/dist/helpers/columnHelper.cjs.map +1 -1
- package/dist/helpers/columnHelper.d.cts +9 -4
- package/dist/helpers/columnHelper.d.ts +9 -4
- package/dist/helpers/columnHelper.js +9 -4
- package/dist/helpers/columnHelper.js.map +1 -1
- package/dist/helpers/tableOptions.cjs.map +1 -1
- package/dist/helpers/tableOptions.d.cts +12 -9
- package/dist/helpers/tableOptions.d.ts +12 -9
- package/dist/helpers/tableOptions.js.map +1 -1
- package/dist/types/ColumnDef.d.cts +38 -0
- package/dist/types/ColumnDef.d.ts +38 -0
- package/dist/types/TableOptions.d.cts +15 -0
- package/dist/types/TableOptions.d.ts +15 -0
- package/dist/types/TableState.d.cts +12 -0
- package/dist/types/TableState.d.ts +12 -0
- package/package.json +5 -3
- package/skills/column-definitions/SKILL.md +333 -0
- package/skills/column-layout/SKILL.md +328 -0
- package/skills/column-layout/references/subsystems.md +220 -0
- package/skills/customizing-feature-behavior/SKILL.md +416 -0
- package/skills/filtering/SKILL.md +357 -0
- package/skills/filtering/references/faceting-and-fuzzy.md +191 -0
- package/skills/grouping/SKILL.md +448 -0
- package/skills/migrate-v8-to-v9/SKILL.md +495 -0
- package/skills/pagination/SKILL.md +385 -0
- package/skills/row-expanding/SKILL.md +348 -0
- package/skills/row-pinning/SKILL.md +269 -0
- package/skills/row-selection/SKILL.md +391 -0
- package/skills/setup/SKILL.md +400 -0
- package/skills/sorting/SKILL.md +344 -0
- package/skills/state-management/SKILL.md +388 -0
- package/src/core/cells/coreCellsFeature.utils.ts +11 -8
- package/src/core/columns/coreColumnsFeature.types.ts +7 -6
- package/src/core/columns/coreColumnsFeature.utils.ts +37 -27
- package/src/core/headers/coreHeadersFeature.types.ts +6 -4
- package/src/core/headers/coreHeadersFeature.utils.ts +23 -18
- package/src/core/row-models/coreRowModelsFeature.utils.ts +48 -36
- package/src/core/rows/coreRowsFeature.types.ts +4 -4
- package/src/core/rows/coreRowsFeature.utils.ts +34 -28
- package/src/core/table/coreTablesFeature.types.ts +6 -2
- package/src/core/table/coreTablesFeature.utils.ts +2 -2
- package/src/features/column-faceting/columnFacetingFeature.types.ts +16 -10
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +26 -18
- package/src/features/column-filtering/columnFilteringFeature.types.ts +21 -11
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +39 -28
- package/src/features/column-grouping/columnGroupingFeature.types.ts +18 -14
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +55 -43
- package/src/features/column-ordering/columnOrderingFeature.types.ts +14 -5
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +30 -23
- package/src/features/column-pinning/columnPinningFeature.types.ts +43 -31
- package/src/features/column-pinning/columnPinningFeature.utils.ts +111 -91
- package/src/features/column-resizing/columnResizingFeature.types.ts +9 -9
- package/src/features/column-resizing/columnResizingFeature.utils.ts +29 -21
- package/src/features/column-sizing/columnSizingFeature.types.ts +19 -12
- package/src/features/column-sizing/columnSizingFeature.utils.ts +52 -41
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +16 -13
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +54 -42
- package/src/features/global-filtering/globalFilteringFeature.types.ts +10 -5
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +20 -14
- package/src/features/row-expanding/rowExpandingFeature.types.ts +16 -15
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +56 -41
- package/src/features/row-pagination/rowPaginationFeature.types.ts +19 -12
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +49 -32
- package/src/features/row-pinning/rowPinningFeature.types.ts +12 -8
- package/src/features/row-pinning/rowPinningFeature.utils.ts +39 -29
- package/src/features/row-selection/rowSelectionFeature.types.ts +30 -24
- package/src/features/row-selection/rowSelectionFeature.utils.ts +89 -69
- package/src/features/row-sorting/rowSortingFeature.types.ts +10 -8
- package/src/features/row-sorting/rowSortingFeature.utils.ts +62 -45
- package/src/fns/aggregationFns.ts +33 -9
- package/src/fns/filterFns.ts +48 -17
- package/src/helpers/columnHelper.ts +9 -4
- package/src/helpers/tableOptions.ts +12 -9
- package/src/types/ColumnDef.ts +38 -0
- package/src/types/TableOptions.ts +15 -0
- package/src/types/TableState.ts +12 -0
|
@@ -3,22 +3,24 @@ const require_coreColumnsFeature_utils = require('../../core/columns/coreColumns
|
|
|
3
3
|
|
|
4
4
|
//#region src/features/column-grouping/columnGroupingFeature.utils.ts
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Creates the default grouping state.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* The feature default is an empty array, meaning no columns are grouped. Reset
|
|
9
|
+
* APIs use this value when `defaultState` is `true`.
|
|
9
10
|
*
|
|
10
11
|
* @example
|
|
11
12
|
* ```ts
|
|
12
|
-
* const
|
|
13
|
+
* const grouping = getDefaultGroupingState()
|
|
13
14
|
* ```
|
|
14
15
|
*/
|
|
15
16
|
function getDefaultGroupingState() {
|
|
16
17
|
return [];
|
|
17
18
|
}
|
|
18
19
|
/**
|
|
19
|
-
*
|
|
20
|
+
* Adds or removes this column id from the grouping state.
|
|
20
21
|
*
|
|
21
|
-
*
|
|
22
|
+
* Existing grouped columns keep their order. A column already present in
|
|
23
|
+
* `state.grouping` is removed; otherwise it is appended.
|
|
22
24
|
*
|
|
23
25
|
* @example
|
|
24
26
|
* ```ts
|
|
@@ -32,26 +34,28 @@ function column_toggleGrouping(column) {
|
|
|
32
34
|
});
|
|
33
35
|
}
|
|
34
36
|
/**
|
|
35
|
-
*
|
|
37
|
+
* Checks whether this column can be used for grouping.
|
|
36
38
|
*
|
|
37
|
-
*
|
|
39
|
+
* Grouping must be enabled at the column and table level, and the column must
|
|
40
|
+
* either have an accessor or provide `getGroupingValue`.
|
|
38
41
|
*
|
|
39
42
|
* @example
|
|
40
43
|
* ```ts
|
|
41
|
-
* const
|
|
44
|
+
* const canGroup = column_getCanGroup(column)
|
|
42
45
|
* ```
|
|
43
46
|
*/
|
|
44
47
|
function column_getCanGroup(column) {
|
|
45
48
|
return (column.columnDef.enableGrouping ?? true) && (column.table.options.enableGrouping ?? true) && (!!column.accessorFn || !!column.columnDef.getGroupingValue);
|
|
46
49
|
}
|
|
47
50
|
/**
|
|
48
|
-
*
|
|
51
|
+
* Checks whether this column id is present in `state.grouping`.
|
|
49
52
|
*
|
|
50
|
-
*
|
|
53
|
+
* The result only reflects grouping state, not whether the grouped row model has
|
|
54
|
+
* been calculated yet.
|
|
51
55
|
*
|
|
52
56
|
* @example
|
|
53
57
|
* ```ts
|
|
54
|
-
* const
|
|
58
|
+
* const isGrouped = column_getIsGrouped(column)
|
|
55
59
|
* ```
|
|
56
60
|
*/
|
|
57
61
|
function column_getIsGrouped(column) {
|
|
@@ -59,13 +63,13 @@ function column_getIsGrouped(column) {
|
|
|
59
63
|
return !!((_column$table$atoms$g = column.table.atoms.grouping) === null || _column$table$atoms$g === void 0 || (_column$table$atoms$g = _column$table$atoms$g.get()) === null || _column$table$atoms$g === void 0 ? void 0 : _column$table$atoms$g.includes(column.id));
|
|
60
64
|
}
|
|
61
65
|
/**
|
|
62
|
-
*
|
|
66
|
+
* Finds this column's position in the ordered grouping state.
|
|
63
67
|
*
|
|
64
|
-
*
|
|
68
|
+
* The result is `-1` when the column is not grouped.
|
|
65
69
|
*
|
|
66
70
|
* @example
|
|
67
71
|
* ```ts
|
|
68
|
-
* const
|
|
72
|
+
* const index = column_getGroupedIndex(column)
|
|
69
73
|
* ```
|
|
70
74
|
*/
|
|
71
75
|
function column_getGroupedIndex(column) {
|
|
@@ -73,13 +77,13 @@ function column_getGroupedIndex(column) {
|
|
|
73
77
|
return ((_column$table$atoms$g2 = column.table.atoms.grouping) === null || _column$table$atoms$g2 === void 0 || (_column$table$atoms$g2 = _column$table$atoms$g2.get()) === null || _column$table$atoms$g2 === void 0 ? void 0 : _column$table$atoms$g2.indexOf(column.id)) ?? -1;
|
|
74
78
|
}
|
|
75
79
|
/**
|
|
76
|
-
*
|
|
80
|
+
* Creates a header/control handler that toggles grouping for this column.
|
|
77
81
|
*
|
|
78
|
-
* The handler is
|
|
82
|
+
* The handler is a no-op when `column_getCanGroup(column)` is false.
|
|
79
83
|
*
|
|
80
84
|
* @example
|
|
81
85
|
* ```ts
|
|
82
|
-
* const
|
|
86
|
+
* const onClick = column_getToggleGroupingHandler(column)
|
|
83
87
|
* ```
|
|
84
88
|
*/
|
|
85
89
|
function column_getToggleGroupingHandler(column) {
|
|
@@ -90,13 +94,14 @@ function column_getToggleGroupingHandler(column) {
|
|
|
90
94
|
};
|
|
91
95
|
}
|
|
92
96
|
/**
|
|
93
|
-
*
|
|
97
|
+
* Chooses a built-in aggregation function from the first core row value.
|
|
94
98
|
*
|
|
95
|
-
*
|
|
99
|
+
* Numeric columns default to `sum`, date-like values default to `extent`, and
|
|
100
|
+
* other value types leave aggregation unspecified.
|
|
96
101
|
*
|
|
97
102
|
* @example
|
|
98
103
|
* ```ts
|
|
99
|
-
* const
|
|
104
|
+
* const aggregationFn = column_getAutoAggregationFn(column)
|
|
100
105
|
* ```
|
|
101
106
|
*/
|
|
102
107
|
function column_getAutoAggregationFn(column) {
|
|
@@ -107,13 +112,15 @@ function column_getAutoAggregationFn(column) {
|
|
|
107
112
|
if (Object.prototype.toString.call(value) === "[object Date]") return aggregationFns === null || aggregationFns === void 0 ? void 0 : aggregationFns.extent;
|
|
108
113
|
}
|
|
109
114
|
/**
|
|
110
|
-
*
|
|
115
|
+
* Resolves the aggregation function configured for a column.
|
|
111
116
|
*
|
|
112
|
-
*
|
|
117
|
+
* Function-valued `columnDef.aggregationFn` is returned directly, `'auto'`
|
|
118
|
+
* delegates to `column_getAutoAggregationFn`, and string values are looked up in
|
|
119
|
+
* the table's aggregation function registry.
|
|
113
120
|
*
|
|
114
121
|
* @example
|
|
115
122
|
* ```ts
|
|
116
|
-
* const
|
|
123
|
+
* const aggregationFn = column_getAggregationFn(column)
|
|
117
124
|
* ```
|
|
118
125
|
*/
|
|
119
126
|
function column_getAggregationFn(column) {
|
|
@@ -121,13 +128,14 @@ function column_getAggregationFn(column) {
|
|
|
121
128
|
return require_utils.isFunction(column.columnDef.aggregationFn) ? column.columnDef.aggregationFn : column.columnDef.aggregationFn === "auto" ? column_getAutoAggregationFn(column) : aggregationFns === null || aggregationFns === void 0 ? void 0 : aggregationFns[column.columnDef.aggregationFn];
|
|
122
129
|
}
|
|
123
130
|
/**
|
|
124
|
-
*
|
|
131
|
+
* Routes a grouping updater through the table's grouping change handler.
|
|
125
132
|
*
|
|
126
|
-
* The updater
|
|
133
|
+
* The updater may be a next `GroupingState` array or a function of the previous
|
|
134
|
+
* grouping state, matching the instance `table.setGrouping` behavior.
|
|
127
135
|
*
|
|
128
136
|
* @example
|
|
129
137
|
* ```ts
|
|
130
|
-
* table_setGrouping(table, (old) => old)
|
|
138
|
+
* table_setGrouping(table, (old) => [...old, 'status'])
|
|
131
139
|
* ```
|
|
132
140
|
*/
|
|
133
141
|
function table_setGrouping(table, updater) {
|
|
@@ -135,9 +143,10 @@ function table_setGrouping(table, updater) {
|
|
|
135
143
|
(_table$options$onGrou = (_table$options = table.options).onGroupingChange) === null || _table$options$onGrou === void 0 || _table$options$onGrou.call(_table$options, updater);
|
|
136
144
|
}
|
|
137
145
|
/**
|
|
138
|
-
* Resets the
|
|
146
|
+
* Resets `grouping` to the configured initial state or feature default.
|
|
139
147
|
*
|
|
140
|
-
*
|
|
148
|
+
* With no argument, the reset clones `table.initialState.grouping` when it
|
|
149
|
+
* exists. Passing `true` ignores initial state and resets to `[]`.
|
|
141
150
|
*
|
|
142
151
|
* @example
|
|
143
152
|
* ```ts
|
|
@@ -149,26 +158,27 @@ function table_resetGrouping(table, defaultState) {
|
|
|
149
158
|
table_setGrouping(table, defaultState ? [] : require_utils.cloneState(table.initialState.grouping ?? []));
|
|
150
159
|
}
|
|
151
160
|
/**
|
|
152
|
-
*
|
|
161
|
+
* Checks whether this row was created as a grouped row.
|
|
153
162
|
*
|
|
154
|
-
*
|
|
163
|
+
* Grouped rows carry a `groupingColumnId`; ordinary leaf rows do not.
|
|
155
164
|
*
|
|
156
165
|
* @example
|
|
157
166
|
* ```ts
|
|
158
|
-
* const
|
|
167
|
+
* const isGrouped = row_getIsGrouped(row)
|
|
159
168
|
* ```
|
|
160
169
|
*/
|
|
161
170
|
function row_getIsGrouped(row) {
|
|
162
171
|
return !!row.groupingColumnId;
|
|
163
172
|
}
|
|
164
173
|
/**
|
|
165
|
-
*
|
|
174
|
+
* Reads and caches this row's grouping value for a column.
|
|
166
175
|
*
|
|
167
|
-
*
|
|
176
|
+
* `columnDef.getGroupingValue` wins when provided; otherwise the normal row
|
|
177
|
+
* accessor value is used.
|
|
168
178
|
*
|
|
169
179
|
* @example
|
|
170
180
|
* ```ts
|
|
171
|
-
* const
|
|
181
|
+
* const groupValue = row_getGroupingValue(row, 'status')
|
|
172
182
|
* ```
|
|
173
183
|
*/
|
|
174
184
|
function row_getGroupingValue(row, columnId) {
|
|
@@ -180,13 +190,13 @@ function row_getGroupingValue(row, columnId) {
|
|
|
180
190
|
return (_row$_groupingValuesC2 = row._groupingValuesCache) === null || _row$_groupingValuesC2 === void 0 ? void 0 : _row$_groupingValuesC2[columnId];
|
|
181
191
|
}
|
|
182
192
|
/**
|
|
183
|
-
*
|
|
193
|
+
* Checks whether this cell represents the grouped column for a grouped row.
|
|
184
194
|
*
|
|
185
|
-
* This is the
|
|
195
|
+
* This is the cell that usually renders the grouped value and expansion control.
|
|
186
196
|
*
|
|
187
197
|
* @example
|
|
188
198
|
* ```ts
|
|
189
|
-
* const
|
|
199
|
+
* const isGroupedCell = cell_getIsGrouped(cell)
|
|
190
200
|
* ```
|
|
191
201
|
*/
|
|
192
202
|
function cell_getIsGrouped(cell) {
|
|
@@ -194,26 +204,28 @@ function cell_getIsGrouped(cell) {
|
|
|
194
204
|
return column_getIsGrouped(cell.column) && cell.column.id === row.groupingColumnId;
|
|
195
205
|
}
|
|
196
206
|
/**
|
|
197
|
-
*
|
|
207
|
+
* Checks whether this cell is a placeholder hidden by grouping.
|
|
198
208
|
*
|
|
199
|
-
*
|
|
209
|
+
* Placeholder cells belong to grouped columns other than the row's active
|
|
210
|
+
* grouping column.
|
|
200
211
|
*
|
|
201
212
|
* @example
|
|
202
213
|
* ```ts
|
|
203
|
-
* const
|
|
214
|
+
* const isPlaceholder = cell_getIsPlaceholder(cell)
|
|
204
215
|
* ```
|
|
205
216
|
*/
|
|
206
217
|
function cell_getIsPlaceholder(cell) {
|
|
207
218
|
return !cell_getIsGrouped(cell) && column_getIsGrouped(cell.column);
|
|
208
219
|
}
|
|
209
220
|
/**
|
|
210
|
-
*
|
|
221
|
+
* Checks whether this cell should render an aggregated value.
|
|
211
222
|
*
|
|
212
|
-
*
|
|
223
|
+
* Aggregated cells are non-placeholder, non-grouped cells on rows that have
|
|
224
|
+
* subRows.
|
|
213
225
|
*
|
|
214
226
|
* @example
|
|
215
227
|
* ```ts
|
|
216
|
-
* const
|
|
228
|
+
* const isAggregated = cell_getIsAggregated(cell)
|
|
217
229
|
* ```
|
|
218
230
|
*/
|
|
219
231
|
function cell_getIsAggregated(cell) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnGroupingFeature.utils.cjs","names":["isFunction","cloneState","table_getColumn"],"sources":["../../../src/features/column-grouping/columnGroupingFeature.utils.ts"],"sourcesContent":["import { cloneState, isFunction } from '../../utils'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport type { Column_Internal } from '../../types/Column'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { Cell } from '../../types/Cell'\nimport type {\n AggregationFn,\n GroupingState,\n Row_ColumnGrouping,\n} from './columnGroupingFeature.types'\n\n/**\n * Returns the default grouping state.\n *\n * Feature constructors use this value to initialize the table state or option defaults when no user value is provided.\n *\n * @example\n * ```ts\n * const initialValue = getDefaultGroupingState()\n * ```\n */\nexport function getDefaultGroupingState(): GroupingState {\n return []\n}\n\n/**\n * Toggles grouping for a column.\n *\n * The update is applied through the owning table state slice and respects the feature options for that column.\n *\n * @example\n * ```ts\n * column_toggleGrouping(column)\n * ```\n */\nexport function column_toggleGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n table_setGrouping(column.table, (old) => {\n // Find any existing grouping for this column\n if (old.includes(column.id)) {\n return old.filter((d) => d !== column.id)\n }\n\n return [...old, column.id]\n })\n}\n\n/**\n * Returns whether a column can use group.\n *\n * This combines column options, table options, and any required accessor or feature state for the capability.\n *\n * @example\n * ```ts\n * const value = column_getCanGroup(column)\n * ```\n */\nexport function column_getCanGroup<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableGrouping ?? true) &&\n (column.table.options.enableGrouping ?? true) &&\n (!!column.accessorFn || !!column.columnDef.getGroupingValue)\n )\n}\n\n/**\n * Returns is grouped for a column.\n *\n * This derives the value from the column definition, table options, and the feature state atoms registered on the table.\n *\n * @example\n * ```ts\n * const value = column_getIsGrouped(column)\n * ```\n */\nexport function column_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n return !!column.table.atoms.grouping?.get()?.includes(column.id)\n}\n\n/**\n * Returns grouped index for a column.\n *\n * This derives the value from the column definition, table options, and the feature state atoms registered on the table.\n *\n * @example\n * ```ts\n * const value = column_getGroupedIndex(column)\n * ```\n */\nexport function column_getGroupedIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return column.table.atoms.grouping?.get()?.indexOf(column.id) ?? -1\n}\n\n/**\n * Returns an event handler for toggling grouping handler.\n *\n * The handler is intended for direct use in column header controls such as buttons or checkboxes.\n *\n * @example\n * ```ts\n * const value = column_getToggleGroupingHandler(column)\n * ```\n */\nexport function column_getToggleGroupingHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const canGroup = column_getCanGroup(column)\n\n return () => {\n if (!canGroup) return\n column_toggleGrouping(column)\n }\n}\n\n/**\n * Infers aggregation fn for a column.\n *\n * The inference uses the column definition, table options, and sampled row values when needed.\n *\n * @example\n * ```ts\n * const value = column_getAutoAggregationFn(column)\n * ```\n */\nexport function column_getAutoAggregationFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const aggregationFns:\n | Record<string, AggregationFn<TFeatures, TData>>\n | undefined = column.table._rowModelFns.aggregationFns\n\n const firstRow = column.table.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.getValue(column.id)\n\n if (typeof value === 'number') {\n return aggregationFns?.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns?.extent\n }\n}\n\n/**\n * Returns aggregation fn for a column.\n *\n * This derives the value from the column definition, table options, and the feature state atoms registered on the table.\n *\n * @example\n * ```ts\n * const value = column_getAggregationFn(column)\n * ```\n */\nexport function column_getAggregationFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const aggregationFns:\n | Record<string, AggregationFn<TFeatures, TData>>\n | undefined = column.table._rowModelFns.aggregationFns\n\n return isFunction(column.columnDef.aggregationFn)\n ? column.columnDef.aggregationFn\n : column.columnDef.aggregationFn === 'auto'\n ? column_getAutoAggregationFn(column)\n : aggregationFns?.[column.columnDef.aggregationFn as string]\n}\n\n/**\n * Updates the table's grouping state slice.\n *\n * The updater follows TanStack Table updater semantics and is routed through the corresponding `on*Change` option or backing atom.\n *\n * @example\n * ```ts\n * table_setGrouping(table, (old) => old)\n * ```\n */\nexport function table_setGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<GroupingState>) {\n table.options.onGroupingChange?.(updater)\n}\n\n/**\n * Resets the table's grouping state slice.\n *\n * By default the reset uses `table.initialState`; when supported, a blank/default reset bypasses the saved initial value.\n *\n * @example\n * ```ts\n * table_resetGrouping(table)\n * table_resetGrouping(table, true)\n * ```\n */\nexport function table_resetGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setGrouping(\n table,\n defaultState ? [] : cloneState(table.initialState.grouping ?? []),\n )\n}\n\n/**\n * Returns is grouped for a row.\n *\n * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.\n *\n * @example\n * ```ts\n * const value = row_getIsGrouped(row)\n * ```\n */\nexport function row_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>) {\n return !!row.groupingColumnId\n}\n\n/**\n * Returns grouping value for a row.\n *\n * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.\n *\n * @example\n * ```ts\n * const value = row_getGroupingValue(row)\n * ```\n */\nexport function row_getGroupingValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>, columnId: string) {\n if (row._groupingValuesCache?.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId]\n }\n\n const column = table_getColumn(row.table, columnId) as Column_Internal<\n TFeatures,\n TData\n >\n\n if (!column.columnDef.getGroupingValue) {\n return row.getValue(columnId)\n }\n\n if (row._groupingValuesCache) {\n row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(\n row.original,\n )\n }\n\n return row._groupingValuesCache?.[columnId]\n}\n\n/**\n * Returns is grouped for a cell.\n *\n * This is the static implementation behind the matching cell instance API and uses the owning row and column context.\n *\n * @example\n * ```ts\n * const value = cell_getIsGrouped(cell)\n * ```\n */\nexport function cell_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n const row = cell.row as Row<TFeatures, TData> & Partial<Row_ColumnGrouping>\n return (\n column_getIsGrouped(cell.column) && cell.column.id === row.groupingColumnId\n )\n}\n\n/**\n * Returns is placeholder for a cell.\n *\n * This is the static implementation behind the matching cell instance API and uses the owning row and column context.\n *\n * @example\n * ```ts\n * const value = cell_getIsPlaceholder(cell)\n * ```\n */\nexport function cell_getIsPlaceholder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n return !cell_getIsGrouped(cell) && column_getIsGrouped(cell.column)\n}\n\n/**\n * Returns is aggregated for a cell.\n *\n * This is the static implementation behind the matching cell instance API and uses the owning row and column context.\n *\n * @example\n * ```ts\n * const value = cell_getIsAggregated(cell)\n * ```\n */\nexport function cell_getIsAggregated<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n return (\n !cell_getIsGrouped(cell) &&\n !cell_getIsPlaceholder(cell) &&\n !!cell.row.subRows.length\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AAwBA,SAAgB,0BAAyC;CACvD,OAAO,EAAE;;;;;;;;;;;;AAaX,SAAgB,sBAId,QAAmD;CACnD,kBAAkB,OAAO,QAAQ,QAAQ;EAEvC,IAAI,IAAI,SAAS,OAAO,GAAG,EACzB,OAAO,IAAI,QAAQ,MAAM,MAAM,OAAO,GAAG;EAG3C,OAAO,CAAC,GAAG,KAAK,OAAO,GAAG;GAC1B;;;;;;;;;;;;AAaJ,SAAgB,mBAId,QAAmD;CACnD,QACG,OAAO,UAAU,kBAAkB,UACnC,OAAO,MAAM,QAAQ,kBAAkB,UACvC,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,OAAO,UAAU;;;;;;;;;;;;AAc/C,SAAgB,oBAId,QAA4D;;CAC5D,OAAO,CAAC,2BAAC,OAAO,MAAM,MAAM,yGAAU,KAAK,gFAAE,SAAS,OAAO,GAAG;;;;;;;;;;;;AAalE,SAAgB,uBAId,QAA2D;;CAC3D,kCAAO,OAAO,MAAM,MAAM,4GAAU,KAAK,kFAAE,QAAQ,OAAO,GAAG,KAAI;;;;;;;;;;;;AAanE,SAAgB,gCAId,QAAmD;CACnD,MAAM,WAAW,mBAAmB,OAAO;CAE3C,aAAa;EACX,IAAI,CAAC,UAAU;EACf,sBAAsB,OAAO;;;;;;;;;;;;;AAcjC,SAAgB,4BAId,QAAmD;CACnD,MAAM,iBAEU,OAAO,MAAM,aAAa;CAE1C,MAAM,WAAW,OAAO,MAAM,iBAAiB,CAAC,SAAS;CAEzD,MAAM,4DAAQ,SAAU,SAAS,OAAO,GAAG;CAE3C,IAAI,OAAO,UAAU,UACnB,uEAAO,eAAgB;CAGzB,IAAI,OAAO,UAAU,SAAS,KAAK,MAAM,KAAK,iBAC5C,uEAAO,eAAgB;;;;;;;;;;;;AAc3B,SAAgB,wBAId,QAAmD;CACnD,MAAM,iBAEU,OAAO,MAAM,aAAa;CAE1C,OAAOA,yBAAW,OAAO,UAAU,cAAc,GAC7C,OAAO,UAAU,gBACjB,OAAO,UAAU,kBAAkB,SACjC,4BAA4B,OAAO,mEACnC,eAAiB,OAAO,UAAU;;;;;;;;;;;;AAa1C,SAAgB,kBAGd,OAAyC,SAAiC;;CAC1E,iDAAM,SAAQ,6GAAmB,QAAQ;;;;;;;;;;;;;AAc3C,SAAgB,oBAGd,OAAyC,cAAwB;CACjE,kBACE,OACA,eAAe,EAAE,GAAGC,yBAAW,MAAM,aAAa,YAAY,EAAE,CAAC,CAClE;;;;;;;;;;;;AAaH,SAAgB,iBAGd,KAA0D;CAC1D,OAAO,CAAC,CAAC,IAAI;;;;;;;;;;;;AAaf,SAAgB,qBAGd,KAA0D,UAAkB;;CAC5E,6BAAI,IAAI,oGAAsB,eAAe,SAAS,EACpD,OAAO,IAAI,qBAAqB;CAGlC,MAAM,SAASC,iDAAgB,IAAI,OAAO,SAAS;CAKnD,IAAI,CAAC,OAAO,UAAU,kBACpB,OAAO,IAAI,SAAS,SAAS;CAG/B,IAAI,IAAI,sBACN,IAAI,qBAAqB,YAAY,OAAO,UAAU,iBACpD,IAAI,SACL;CAGH,iCAAO,IAAI,sGAAuB;;;;;;;;;;;;AAapC,SAAgB,kBAId,MAAsC;CACtC,MAAM,MAAM,KAAK;CACjB,OACE,oBAAoB,KAAK,OAAO,IAAI,KAAK,OAAO,OAAO,IAAI;;;;;;;;;;;;AAc/D,SAAgB,sBAId,MAAsC;CACtC,OAAO,CAAC,kBAAkB,KAAK,IAAI,oBAAoB,KAAK,OAAO;;;;;;;;;;;;AAarE,SAAgB,qBAId,MAAsC;CACtC,OACE,CAAC,kBAAkB,KAAK,IACxB,CAAC,sBAAsB,KAAK,IAC5B,CAAC,CAAC,KAAK,IAAI,QAAQ"}
|
|
1
|
+
{"version":3,"file":"columnGroupingFeature.utils.cjs","names":["isFunction","cloneState","table_getColumn"],"sources":["../../../src/features/column-grouping/columnGroupingFeature.utils.ts"],"sourcesContent":["import { cloneState, isFunction } from '../../utils'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport type { Column_Internal } from '../../types/Column'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { Cell } from '../../types/Cell'\nimport type {\n AggregationFn,\n GroupingState,\n Row_ColumnGrouping,\n} from './columnGroupingFeature.types'\n\n/**\n * Creates the default grouping state.\n *\n * The feature default is an empty array, meaning no columns are grouped. Reset\n * APIs use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const grouping = getDefaultGroupingState()\n * ```\n */\nexport function getDefaultGroupingState(): GroupingState {\n return []\n}\n\n/**\n * Adds or removes this column id from the grouping state.\n *\n * Existing grouped columns keep their order. A column already present in\n * `state.grouping` is removed; otherwise it is appended.\n *\n * @example\n * ```ts\n * column_toggleGrouping(column)\n * ```\n */\nexport function column_toggleGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n table_setGrouping(column.table, (old) => {\n // Find any existing grouping for this column\n if (old.includes(column.id)) {\n return old.filter((d) => d !== column.id)\n }\n\n return [...old, column.id]\n })\n}\n\n/**\n * Checks whether this column can be used for grouping.\n *\n * Grouping must be enabled at the column and table level, and the column must\n * either have an accessor or provide `getGroupingValue`.\n *\n * @example\n * ```ts\n * const canGroup = column_getCanGroup(column)\n * ```\n */\nexport function column_getCanGroup<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableGrouping ?? true) &&\n (column.table.options.enableGrouping ?? true) &&\n (!!column.accessorFn || !!column.columnDef.getGroupingValue)\n )\n}\n\n/**\n * Checks whether this column id is present in `state.grouping`.\n *\n * The result only reflects grouping state, not whether the grouped row model has\n * been calculated yet.\n *\n * @example\n * ```ts\n * const isGrouped = column_getIsGrouped(column)\n * ```\n */\nexport function column_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n return !!column.table.atoms.grouping?.get()?.includes(column.id)\n}\n\n/**\n * Finds this column's position in the ordered grouping state.\n *\n * The result is `-1` when the column is not grouped.\n *\n * @example\n * ```ts\n * const index = column_getGroupedIndex(column)\n * ```\n */\nexport function column_getGroupedIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return column.table.atoms.grouping?.get()?.indexOf(column.id) ?? -1\n}\n\n/**\n * Creates a header/control handler that toggles grouping for this column.\n *\n * The handler is a no-op when `column_getCanGroup(column)` is false.\n *\n * @example\n * ```ts\n * const onClick = column_getToggleGroupingHandler(column)\n * ```\n */\nexport function column_getToggleGroupingHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const canGroup = column_getCanGroup(column)\n\n return () => {\n if (!canGroup) return\n column_toggleGrouping(column)\n }\n}\n\n/**\n * Chooses a built-in aggregation function from the first core row value.\n *\n * Numeric columns default to `sum`, date-like values default to `extent`, and\n * other value types leave aggregation unspecified.\n *\n * @example\n * ```ts\n * const aggregationFn = column_getAutoAggregationFn(column)\n * ```\n */\nexport function column_getAutoAggregationFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const aggregationFns:\n | Record<string, AggregationFn<TFeatures, TData>>\n | undefined = column.table._rowModelFns.aggregationFns\n\n const firstRow = column.table.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.getValue(column.id)\n\n if (typeof value === 'number') {\n return aggregationFns?.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns?.extent\n }\n}\n\n/**\n * Resolves the aggregation function configured for a column.\n *\n * Function-valued `columnDef.aggregationFn` is returned directly, `'auto'`\n * delegates to `column_getAutoAggregationFn`, and string values are looked up in\n * the table's aggregation function registry.\n *\n * @example\n * ```ts\n * const aggregationFn = column_getAggregationFn(column)\n * ```\n */\nexport function column_getAggregationFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const aggregationFns:\n | Record<string, AggregationFn<TFeatures, TData>>\n | undefined = column.table._rowModelFns.aggregationFns\n\n return isFunction(column.columnDef.aggregationFn)\n ? column.columnDef.aggregationFn\n : column.columnDef.aggregationFn === 'auto'\n ? column_getAutoAggregationFn(column)\n : aggregationFns?.[column.columnDef.aggregationFn as string]\n}\n\n/**\n * Routes a grouping updater through the table's grouping change handler.\n *\n * The updater may be a next `GroupingState` array or a function of the previous\n * grouping state, matching the instance `table.setGrouping` behavior.\n *\n * @example\n * ```ts\n * table_setGrouping(table, (old) => [...old, 'status'])\n * ```\n */\nexport function table_setGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<GroupingState>) {\n table.options.onGroupingChange?.(updater)\n}\n\n/**\n * Resets `grouping` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.grouping` when it\n * exists. Passing `true` ignores initial state and resets to `[]`.\n *\n * @example\n * ```ts\n * table_resetGrouping(table)\n * table_resetGrouping(table, true)\n * ```\n */\nexport function table_resetGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setGrouping(\n table,\n defaultState ? [] : cloneState(table.initialState.grouping ?? []),\n )\n}\n\n/**\n * Checks whether this row was created as a grouped row.\n *\n * Grouped rows carry a `groupingColumnId`; ordinary leaf rows do not.\n *\n * @example\n * ```ts\n * const isGrouped = row_getIsGrouped(row)\n * ```\n */\nexport function row_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>) {\n return !!row.groupingColumnId\n}\n\n/**\n * Reads and caches this row's grouping value for a column.\n *\n * `columnDef.getGroupingValue` wins when provided; otherwise the normal row\n * accessor value is used.\n *\n * @example\n * ```ts\n * const groupValue = row_getGroupingValue(row, 'status')\n * ```\n */\nexport function row_getGroupingValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>, columnId: string) {\n if (row._groupingValuesCache?.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId]\n }\n\n const column = table_getColumn(row.table, columnId) as Column_Internal<\n TFeatures,\n TData\n >\n\n if (!column.columnDef.getGroupingValue) {\n return row.getValue(columnId)\n }\n\n if (row._groupingValuesCache) {\n row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(\n row.original,\n )\n }\n\n return row._groupingValuesCache?.[columnId]\n}\n\n/**\n * Checks whether this cell represents the grouped column for a grouped row.\n *\n * This is the cell that usually renders the grouped value and expansion control.\n *\n * @example\n * ```ts\n * const isGroupedCell = cell_getIsGrouped(cell)\n * ```\n */\nexport function cell_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n const row = cell.row as Row<TFeatures, TData> & Partial<Row_ColumnGrouping>\n return (\n column_getIsGrouped(cell.column) && cell.column.id === row.groupingColumnId\n )\n}\n\n/**\n * Checks whether this cell is a placeholder hidden by grouping.\n *\n * Placeholder cells belong to grouped columns other than the row's active\n * grouping column.\n *\n * @example\n * ```ts\n * const isPlaceholder = cell_getIsPlaceholder(cell)\n * ```\n */\nexport function cell_getIsPlaceholder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n return !cell_getIsGrouped(cell) && column_getIsGrouped(cell.column)\n}\n\n/**\n * Checks whether this cell should render an aggregated value.\n *\n * Aggregated cells are non-placeholder, non-grouped cells on rows that have\n * subRows.\n *\n * @example\n * ```ts\n * const isAggregated = cell_getIsAggregated(cell)\n * ```\n */\nexport function cell_getIsAggregated<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n return (\n !cell_getIsGrouped(cell) &&\n !cell_getIsPlaceholder(cell) &&\n !!cell.row.subRows.length\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;AAyBA,SAAgB,0BAAyC;CACvD,OAAO,EAAE;;;;;;;;;;;;;AAcX,SAAgB,sBAId,QAAmD;CACnD,kBAAkB,OAAO,QAAQ,QAAQ;EAEvC,IAAI,IAAI,SAAS,OAAO,GAAG,EACzB,OAAO,IAAI,QAAQ,MAAM,MAAM,OAAO,GAAG;EAG3C,OAAO,CAAC,GAAG,KAAK,OAAO,GAAG;GAC1B;;;;;;;;;;;;;AAcJ,SAAgB,mBAId,QAAmD;CACnD,QACG,OAAO,UAAU,kBAAkB,UACnC,OAAO,MAAM,QAAQ,kBAAkB,UACvC,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,OAAO,UAAU;;;;;;;;;;;;;AAe/C,SAAgB,oBAId,QAA4D;;CAC5D,OAAO,CAAC,2BAAC,OAAO,MAAM,MAAM,yGAAU,KAAK,gFAAE,SAAS,OAAO,GAAG;;;;;;;;;;;;AAalE,SAAgB,uBAId,QAA2D;;CAC3D,kCAAO,OAAO,MAAM,MAAM,4GAAU,KAAK,kFAAE,QAAQ,OAAO,GAAG,KAAI;;;;;;;;;;;;AAanE,SAAgB,gCAId,QAAmD;CACnD,MAAM,WAAW,mBAAmB,OAAO;CAE3C,aAAa;EACX,IAAI,CAAC,UAAU;EACf,sBAAsB,OAAO;;;;;;;;;;;;;;AAejC,SAAgB,4BAId,QAAmD;CACnD,MAAM,iBAEU,OAAO,MAAM,aAAa;CAE1C,MAAM,WAAW,OAAO,MAAM,iBAAiB,CAAC,SAAS;CAEzD,MAAM,4DAAQ,SAAU,SAAS,OAAO,GAAG;CAE3C,IAAI,OAAO,UAAU,UACnB,uEAAO,eAAgB;CAGzB,IAAI,OAAO,UAAU,SAAS,KAAK,MAAM,KAAK,iBAC5C,uEAAO,eAAgB;;;;;;;;;;;;;;AAgB3B,SAAgB,wBAId,QAAmD;CACnD,MAAM,iBAEU,OAAO,MAAM,aAAa;CAE1C,OAAOA,yBAAW,OAAO,UAAU,cAAc,GAC7C,OAAO,UAAU,gBACjB,OAAO,UAAU,kBAAkB,SACjC,4BAA4B,OAAO,mEACnC,eAAiB,OAAO,UAAU;;;;;;;;;;;;;AAc1C,SAAgB,kBAGd,OAAyC,SAAiC;;CAC1E,iDAAM,SAAQ,6GAAmB,QAAQ;;;;;;;;;;;;;;AAe3C,SAAgB,oBAGd,OAAyC,cAAwB;CACjE,kBACE,OACA,eAAe,EAAE,GAAGC,yBAAW,MAAM,aAAa,YAAY,EAAE,CAAC,CAClE;;;;;;;;;;;;AAaH,SAAgB,iBAGd,KAA0D;CAC1D,OAAO,CAAC,CAAC,IAAI;;;;;;;;;;;;;AAcf,SAAgB,qBAGd,KAA0D,UAAkB;;CAC5E,6BAAI,IAAI,oGAAsB,eAAe,SAAS,EACpD,OAAO,IAAI,qBAAqB;CAGlC,MAAM,SAASC,iDAAgB,IAAI,OAAO,SAAS;CAKnD,IAAI,CAAC,OAAO,UAAU,kBACpB,OAAO,IAAI,SAAS,SAAS;CAG/B,IAAI,IAAI,sBACN,IAAI,qBAAqB,YAAY,OAAO,UAAU,iBACpD,IAAI,SACL;CAGH,iCAAO,IAAI,sGAAuB;;;;;;;;;;;;AAapC,SAAgB,kBAId,MAAsC;CACtC,MAAM,MAAM,KAAK;CACjB,OACE,oBAAoB,KAAK,OAAO,IAAI,KAAK,OAAO,OAAO,IAAI;;;;;;;;;;;;;AAe/D,SAAgB,sBAId,MAAsC;CACtC,OAAO,CAAC,kBAAkB,KAAK,IAAI,oBAAoB,KAAK,OAAO;;;;;;;;;;;;;AAcrE,SAAgB,qBAId,MAAsC;CACtC,OACE,CAAC,kBAAkB,KAAK,IACxB,CAAC,sBAAsB,KAAK,IAC5B,CAAC,CAAC,KAAK,IAAI,QAAQ"}
|
|
@@ -8,20 +8,22 @@ import { Cell } from "../../types/Cell.cjs";
|
|
|
8
8
|
|
|
9
9
|
//#region src/features/column-grouping/columnGroupingFeature.utils.d.ts
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Creates the default grouping state.
|
|
12
12
|
*
|
|
13
|
-
*
|
|
13
|
+
* The feature default is an empty array, meaning no columns are grouped. Reset
|
|
14
|
+
* APIs use this value when `defaultState` is `true`.
|
|
14
15
|
*
|
|
15
16
|
* @example
|
|
16
17
|
* ```ts
|
|
17
|
-
* const
|
|
18
|
+
* const grouping = getDefaultGroupingState()
|
|
18
19
|
* ```
|
|
19
20
|
*/
|
|
20
21
|
declare function getDefaultGroupingState(): GroupingState;
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
23
|
+
* Adds or removes this column id from the grouping state.
|
|
23
24
|
*
|
|
24
|
-
*
|
|
25
|
+
* Existing grouped columns keep their order. A column already present in
|
|
26
|
+
* `state.grouping` is removed; otherwise it is appended.
|
|
25
27
|
*
|
|
26
28
|
* @example
|
|
27
29
|
* ```ts
|
|
@@ -30,86 +32,93 @@ declare function getDefaultGroupingState(): GroupingState;
|
|
|
30
32
|
*/
|
|
31
33
|
declare function column_toggleGrouping<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): void;
|
|
32
34
|
/**
|
|
33
|
-
*
|
|
35
|
+
* Checks whether this column can be used for grouping.
|
|
34
36
|
*
|
|
35
|
-
*
|
|
37
|
+
* Grouping must be enabled at the column and table level, and the column must
|
|
38
|
+
* either have an accessor or provide `getGroupingValue`.
|
|
36
39
|
*
|
|
37
40
|
* @example
|
|
38
41
|
* ```ts
|
|
39
|
-
* const
|
|
42
|
+
* const canGroup = column_getCanGroup(column)
|
|
40
43
|
* ```
|
|
41
44
|
*/
|
|
42
45
|
declare function column_getCanGroup<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
|
|
43
46
|
/**
|
|
44
|
-
*
|
|
47
|
+
* Checks whether this column id is present in `state.grouping`.
|
|
45
48
|
*
|
|
46
|
-
*
|
|
49
|
+
* The result only reflects grouping state, not whether the grouped row model has
|
|
50
|
+
* been calculated yet.
|
|
47
51
|
*
|
|
48
52
|
* @example
|
|
49
53
|
* ```ts
|
|
50
|
-
* const
|
|
54
|
+
* const isGrouped = column_getIsGrouped(column)
|
|
51
55
|
* ```
|
|
52
56
|
*/
|
|
53
57
|
declare function column_getIsGrouped<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
|
|
54
58
|
/**
|
|
55
|
-
*
|
|
59
|
+
* Finds this column's position in the ordered grouping state.
|
|
56
60
|
*
|
|
57
|
-
*
|
|
61
|
+
* The result is `-1` when the column is not grouped.
|
|
58
62
|
*
|
|
59
63
|
* @example
|
|
60
64
|
* ```ts
|
|
61
|
-
* const
|
|
65
|
+
* const index = column_getGroupedIndex(column)
|
|
62
66
|
* ```
|
|
63
67
|
*/
|
|
64
68
|
declare function column_getGroupedIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): number;
|
|
65
69
|
/**
|
|
66
|
-
*
|
|
70
|
+
* Creates a header/control handler that toggles grouping for this column.
|
|
67
71
|
*
|
|
68
|
-
* The handler is
|
|
72
|
+
* The handler is a no-op when `column_getCanGroup(column)` is false.
|
|
69
73
|
*
|
|
70
74
|
* @example
|
|
71
75
|
* ```ts
|
|
72
|
-
* const
|
|
76
|
+
* const onClick = column_getToggleGroupingHandler(column)
|
|
73
77
|
* ```
|
|
74
78
|
*/
|
|
75
79
|
declare function column_getToggleGroupingHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): () => void;
|
|
76
80
|
/**
|
|
77
|
-
*
|
|
81
|
+
* Chooses a built-in aggregation function from the first core row value.
|
|
78
82
|
*
|
|
79
|
-
*
|
|
83
|
+
* Numeric columns default to `sum`, date-like values default to `extent`, and
|
|
84
|
+
* other value types leave aggregation unspecified.
|
|
80
85
|
*
|
|
81
86
|
* @example
|
|
82
87
|
* ```ts
|
|
83
|
-
* const
|
|
88
|
+
* const aggregationFn = column_getAutoAggregationFn(column)
|
|
84
89
|
* ```
|
|
85
90
|
*/
|
|
86
91
|
declare function column_getAutoAggregationFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): AggregationFn<TFeatures, TData> | undefined;
|
|
87
92
|
/**
|
|
88
|
-
*
|
|
93
|
+
* Resolves the aggregation function configured for a column.
|
|
89
94
|
*
|
|
90
|
-
*
|
|
95
|
+
* Function-valued `columnDef.aggregationFn` is returned directly, `'auto'`
|
|
96
|
+
* delegates to `column_getAutoAggregationFn`, and string values are looked up in
|
|
97
|
+
* the table's aggregation function registry.
|
|
91
98
|
*
|
|
92
99
|
* @example
|
|
93
100
|
* ```ts
|
|
94
|
-
* const
|
|
101
|
+
* const aggregationFn = column_getAggregationFn(column)
|
|
95
102
|
* ```
|
|
96
103
|
*/
|
|
97
104
|
declare function column_getAggregationFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): AggregationFn<TFeatures, TData> | undefined;
|
|
98
105
|
/**
|
|
99
|
-
*
|
|
106
|
+
* Routes a grouping updater through the table's grouping change handler.
|
|
100
107
|
*
|
|
101
|
-
* The updater
|
|
108
|
+
* The updater may be a next `GroupingState` array or a function of the previous
|
|
109
|
+
* grouping state, matching the instance `table.setGrouping` behavior.
|
|
102
110
|
*
|
|
103
111
|
* @example
|
|
104
112
|
* ```ts
|
|
105
|
-
* table_setGrouping(table, (old) => old)
|
|
113
|
+
* table_setGrouping(table, (old) => [...old, 'status'])
|
|
106
114
|
* ```
|
|
107
115
|
*/
|
|
108
116
|
declare function table_setGrouping<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<GroupingState>): void;
|
|
109
117
|
/**
|
|
110
|
-
* Resets the
|
|
118
|
+
* Resets `grouping` to the configured initial state or feature default.
|
|
111
119
|
*
|
|
112
|
-
*
|
|
120
|
+
* With no argument, the reset clones `table.initialState.grouping` when it
|
|
121
|
+
* exists. Passing `true` ignores initial state and resets to `[]`.
|
|
113
122
|
*
|
|
114
123
|
* @example
|
|
115
124
|
* ```ts
|
|
@@ -119,57 +128,60 @@ declare function table_setGrouping<TFeatures extends TableFeatures, TData extend
|
|
|
119
128
|
*/
|
|
120
129
|
declare function table_resetGrouping<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
|
|
121
130
|
/**
|
|
122
|
-
*
|
|
131
|
+
* Checks whether this row was created as a grouped row.
|
|
123
132
|
*
|
|
124
|
-
*
|
|
133
|
+
* Grouped rows carry a `groupingColumnId`; ordinary leaf rows do not.
|
|
125
134
|
*
|
|
126
135
|
* @example
|
|
127
136
|
* ```ts
|
|
128
|
-
* const
|
|
137
|
+
* const isGrouped = row_getIsGrouped(row)
|
|
129
138
|
* ```
|
|
130
139
|
*/
|
|
131
140
|
declare function row_getIsGrouped<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>): boolean;
|
|
132
141
|
/**
|
|
133
|
-
*
|
|
142
|
+
* Reads and caches this row's grouping value for a column.
|
|
134
143
|
*
|
|
135
|
-
*
|
|
144
|
+
* `columnDef.getGroupingValue` wins when provided; otherwise the normal row
|
|
145
|
+
* accessor value is used.
|
|
136
146
|
*
|
|
137
147
|
* @example
|
|
138
148
|
* ```ts
|
|
139
|
-
* const
|
|
149
|
+
* const groupValue = row_getGroupingValue(row, 'status')
|
|
140
150
|
* ```
|
|
141
151
|
*/
|
|
142
152
|
declare function row_getGroupingValue<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>, columnId: string): any;
|
|
143
153
|
/**
|
|
144
|
-
*
|
|
154
|
+
* Checks whether this cell represents the grouped column for a grouped row.
|
|
145
155
|
*
|
|
146
|
-
* This is the
|
|
156
|
+
* This is the cell that usually renders the grouped value and expansion control.
|
|
147
157
|
*
|
|
148
158
|
* @example
|
|
149
159
|
* ```ts
|
|
150
|
-
* const
|
|
160
|
+
* const isGroupedCell = cell_getIsGrouped(cell)
|
|
151
161
|
* ```
|
|
152
162
|
*/
|
|
153
163
|
declare function cell_getIsGrouped<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(cell: Cell<TFeatures, TData, TValue>): boolean;
|
|
154
164
|
/**
|
|
155
|
-
*
|
|
165
|
+
* Checks whether this cell is a placeholder hidden by grouping.
|
|
156
166
|
*
|
|
157
|
-
*
|
|
167
|
+
* Placeholder cells belong to grouped columns other than the row's active
|
|
168
|
+
* grouping column.
|
|
158
169
|
*
|
|
159
170
|
* @example
|
|
160
171
|
* ```ts
|
|
161
|
-
* const
|
|
172
|
+
* const isPlaceholder = cell_getIsPlaceholder(cell)
|
|
162
173
|
* ```
|
|
163
174
|
*/
|
|
164
175
|
declare function cell_getIsPlaceholder<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(cell: Cell<TFeatures, TData, TValue>): boolean;
|
|
165
176
|
/**
|
|
166
|
-
*
|
|
177
|
+
* Checks whether this cell should render an aggregated value.
|
|
167
178
|
*
|
|
168
|
-
*
|
|
179
|
+
* Aggregated cells are non-placeholder, non-grouped cells on rows that have
|
|
180
|
+
* subRows.
|
|
169
181
|
*
|
|
170
182
|
* @example
|
|
171
183
|
* ```ts
|
|
172
|
-
* const
|
|
184
|
+
* const isAggregated = cell_getIsAggregated(cell)
|
|
173
185
|
* ```
|
|
174
186
|
*/
|
|
175
187
|
declare function cell_getIsAggregated<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(cell: Cell<TFeatures, TData, TValue>): boolean;
|