@tanstack/table-core 9.0.0-alpha.47 → 9.0.0-alpha.48
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 +28 -19
- 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 +28 -19
- 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 +61 -44
- 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 +61 -44
- 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 +28 -19
- 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 +61 -44
- 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
|
@@ -6,101 +6,111 @@ import { Table_Internal } from "../../types/Table.cjs";
|
|
|
6
6
|
|
|
7
7
|
//#region src/core/columns/coreColumnsFeature.utils.d.ts
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Flattens this column and every descendant column into a single array.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
11
|
+
* Group columns appear before their child columns, which matches the normalized
|
|
12
|
+
* column hierarchy produced during table construction.
|
|
12
13
|
*
|
|
13
14
|
* @example
|
|
14
15
|
* ```ts
|
|
15
|
-
* const
|
|
16
|
+
* const flatColumns = column_getFlatColumns(column)
|
|
16
17
|
* ```
|
|
17
18
|
*/
|
|
18
19
|
declare function column_getFlatColumns<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): Array<Column<TFeatures, TData, TValue>>;
|
|
19
20
|
/**
|
|
20
|
-
*
|
|
21
|
+
* Collects the terminal leaf columns below this column.
|
|
21
22
|
*
|
|
22
|
-
*
|
|
23
|
+
* Group columns return their ordered descendants. Non-group columns return an
|
|
24
|
+
* array containing only the column itself.
|
|
23
25
|
*
|
|
24
26
|
* @example
|
|
25
27
|
* ```ts
|
|
26
|
-
* const
|
|
28
|
+
* const leafColumns = column_getLeafColumns(column)
|
|
27
29
|
* ```
|
|
28
30
|
*/
|
|
29
31
|
declare function column_getLeafColumns<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): Array<Column<TFeatures, TData, TValue>>;
|
|
30
32
|
/**
|
|
31
|
-
*
|
|
33
|
+
* Merges built-in, feature, and user default column definitions.
|
|
32
34
|
*
|
|
33
|
-
*
|
|
35
|
+
* Built-in defaults provide a header and fallback cell renderer, feature
|
|
36
|
+
* defaults can add feature-specific column options, and
|
|
37
|
+
* `options.defaultColumn` wins last.
|
|
34
38
|
*
|
|
35
39
|
* @example
|
|
36
40
|
* ```ts
|
|
37
|
-
* const
|
|
41
|
+
* const defaultColumn = table_getDefaultColumnDef(table)
|
|
38
42
|
* ```
|
|
39
43
|
*/
|
|
40
44
|
declare function table_getDefaultColumnDef<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Partial<ColumnDef<TFeatures, TData, unknown>>;
|
|
41
45
|
/**
|
|
42
|
-
*
|
|
46
|
+
* Normalizes `options.columns` into the table's nested column tree.
|
|
43
47
|
*
|
|
44
|
-
*
|
|
48
|
+
* Each column definition is constructed with its parent and depth, and group
|
|
49
|
+
* column children are recursively constructed.
|
|
45
50
|
*
|
|
46
51
|
* @example
|
|
47
52
|
* ```ts
|
|
48
|
-
* const
|
|
53
|
+
* const columns = table_getAllColumns(table)
|
|
49
54
|
* ```
|
|
50
55
|
*/
|
|
51
56
|
declare function table_getAllColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Array<Column<TFeatures, TData, unknown>>;
|
|
52
57
|
/**
|
|
53
|
-
*
|
|
58
|
+
* Flattens every table column, including group columns and leaf columns.
|
|
54
59
|
*
|
|
55
|
-
*
|
|
60
|
+
* Use this when parent/group columns must be included in addition to data leaf
|
|
61
|
+
* columns.
|
|
56
62
|
*
|
|
57
63
|
* @example
|
|
58
64
|
* ```ts
|
|
59
|
-
* const
|
|
65
|
+
* const flatColumns = table_getAllFlatColumns(table)
|
|
60
66
|
* ```
|
|
61
67
|
*/
|
|
62
68
|
declare function table_getAllFlatColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Array<Column<TFeatures, TData, unknown>>;
|
|
63
69
|
/**
|
|
64
|
-
*
|
|
70
|
+
* Builds an id lookup for every flat column in the table.
|
|
65
71
|
*
|
|
66
|
-
*
|
|
72
|
+
* Group columns and leaf columns are included. Later columns with the same id
|
|
73
|
+
* replace earlier entries.
|
|
67
74
|
*
|
|
68
75
|
* @example
|
|
69
76
|
* ```ts
|
|
70
|
-
* const
|
|
77
|
+
* const columnsById = table_getAllFlatColumnsById(table)
|
|
71
78
|
* ```
|
|
72
79
|
*/
|
|
73
80
|
declare function table_getAllFlatColumnsById<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Record<string, Column<TFeatures, TData, unknown>>;
|
|
74
81
|
/**
|
|
75
|
-
*
|
|
82
|
+
* Collects all terminal leaf columns in their current table order.
|
|
76
83
|
*
|
|
77
|
-
*
|
|
84
|
+
* Column ordering features can reorder the collected leaves before the result
|
|
85
|
+
* is returned.
|
|
78
86
|
*
|
|
79
87
|
* @example
|
|
80
88
|
* ```ts
|
|
81
|
-
* const
|
|
89
|
+
* const leafColumns = table_getAllLeafColumns(table)
|
|
82
90
|
* ```
|
|
83
91
|
*/
|
|
84
92
|
declare function table_getAllLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Array<Column<TFeatures, TData, unknown>>;
|
|
85
93
|
/**
|
|
86
|
-
*
|
|
94
|
+
* Builds an id lookup for terminal leaf columns only.
|
|
87
95
|
*
|
|
88
|
-
*
|
|
96
|
+
* Parent/group columns are excluded, making this lookup appropriate for row
|
|
97
|
+
* cells and feature state keyed by data columns.
|
|
89
98
|
*
|
|
90
99
|
* @example
|
|
91
100
|
* ```ts
|
|
92
|
-
* const
|
|
101
|
+
* const leavesById = table_getAllLeafColumnsById(table)
|
|
93
102
|
* ```
|
|
94
103
|
*/
|
|
95
104
|
declare function table_getAllLeafColumnsById<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Record<string, Column<TFeatures, TData, unknown>>;
|
|
96
105
|
/**
|
|
97
|
-
*
|
|
106
|
+
* Looks up a column by id from the flat column map.
|
|
98
107
|
*
|
|
99
|
-
*
|
|
108
|
+
* The lookup can return group columns or leaf columns. In development, a
|
|
109
|
+
* missing id logs a warning to help catch stale column references.
|
|
100
110
|
*
|
|
101
111
|
* @example
|
|
102
112
|
* ```ts
|
|
103
|
-
* const
|
|
113
|
+
* const column = table_getColumn(table, 'firstName')
|
|
104
114
|
* ```
|
|
105
115
|
*/
|
|
106
116
|
declare function table_getColumn<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, columnId: string): Column<TFeatures, TData, unknown> | undefined;
|
|
@@ -6,101 +6,111 @@ import { Table_Internal } from "../../types/Table.js";
|
|
|
6
6
|
|
|
7
7
|
//#region src/core/columns/coreColumnsFeature.utils.d.ts
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Flattens this column and every descendant column into a single array.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
11
|
+
* Group columns appear before their child columns, which matches the normalized
|
|
12
|
+
* column hierarchy produced during table construction.
|
|
12
13
|
*
|
|
13
14
|
* @example
|
|
14
15
|
* ```ts
|
|
15
|
-
* const
|
|
16
|
+
* const flatColumns = column_getFlatColumns(column)
|
|
16
17
|
* ```
|
|
17
18
|
*/
|
|
18
19
|
declare function column_getFlatColumns<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): Array<Column<TFeatures, TData, TValue>>;
|
|
19
20
|
/**
|
|
20
|
-
*
|
|
21
|
+
* Collects the terminal leaf columns below this column.
|
|
21
22
|
*
|
|
22
|
-
*
|
|
23
|
+
* Group columns return their ordered descendants. Non-group columns return an
|
|
24
|
+
* array containing only the column itself.
|
|
23
25
|
*
|
|
24
26
|
* @example
|
|
25
27
|
* ```ts
|
|
26
|
-
* const
|
|
28
|
+
* const leafColumns = column_getLeafColumns(column)
|
|
27
29
|
* ```
|
|
28
30
|
*/
|
|
29
31
|
declare function column_getLeafColumns<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): Array<Column<TFeatures, TData, TValue>>;
|
|
30
32
|
/**
|
|
31
|
-
*
|
|
33
|
+
* Merges built-in, feature, and user default column definitions.
|
|
32
34
|
*
|
|
33
|
-
*
|
|
35
|
+
* Built-in defaults provide a header and fallback cell renderer, feature
|
|
36
|
+
* defaults can add feature-specific column options, and
|
|
37
|
+
* `options.defaultColumn` wins last.
|
|
34
38
|
*
|
|
35
39
|
* @example
|
|
36
40
|
* ```ts
|
|
37
|
-
* const
|
|
41
|
+
* const defaultColumn = table_getDefaultColumnDef(table)
|
|
38
42
|
* ```
|
|
39
43
|
*/
|
|
40
44
|
declare function table_getDefaultColumnDef<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Partial<ColumnDef<TFeatures, TData, unknown>>;
|
|
41
45
|
/**
|
|
42
|
-
*
|
|
46
|
+
* Normalizes `options.columns` into the table's nested column tree.
|
|
43
47
|
*
|
|
44
|
-
*
|
|
48
|
+
* Each column definition is constructed with its parent and depth, and group
|
|
49
|
+
* column children are recursively constructed.
|
|
45
50
|
*
|
|
46
51
|
* @example
|
|
47
52
|
* ```ts
|
|
48
|
-
* const
|
|
53
|
+
* const columns = table_getAllColumns(table)
|
|
49
54
|
* ```
|
|
50
55
|
*/
|
|
51
56
|
declare function table_getAllColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Array<Column<TFeatures, TData, unknown>>;
|
|
52
57
|
/**
|
|
53
|
-
*
|
|
58
|
+
* Flattens every table column, including group columns and leaf columns.
|
|
54
59
|
*
|
|
55
|
-
*
|
|
60
|
+
* Use this when parent/group columns must be included in addition to data leaf
|
|
61
|
+
* columns.
|
|
56
62
|
*
|
|
57
63
|
* @example
|
|
58
64
|
* ```ts
|
|
59
|
-
* const
|
|
65
|
+
* const flatColumns = table_getAllFlatColumns(table)
|
|
60
66
|
* ```
|
|
61
67
|
*/
|
|
62
68
|
declare function table_getAllFlatColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Array<Column<TFeatures, TData, unknown>>;
|
|
63
69
|
/**
|
|
64
|
-
*
|
|
70
|
+
* Builds an id lookup for every flat column in the table.
|
|
65
71
|
*
|
|
66
|
-
*
|
|
72
|
+
* Group columns and leaf columns are included. Later columns with the same id
|
|
73
|
+
* replace earlier entries.
|
|
67
74
|
*
|
|
68
75
|
* @example
|
|
69
76
|
* ```ts
|
|
70
|
-
* const
|
|
77
|
+
* const columnsById = table_getAllFlatColumnsById(table)
|
|
71
78
|
* ```
|
|
72
79
|
*/
|
|
73
80
|
declare function table_getAllFlatColumnsById<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Record<string, Column<TFeatures, TData, unknown>>;
|
|
74
81
|
/**
|
|
75
|
-
*
|
|
82
|
+
* Collects all terminal leaf columns in their current table order.
|
|
76
83
|
*
|
|
77
|
-
*
|
|
84
|
+
* Column ordering features can reorder the collected leaves before the result
|
|
85
|
+
* is returned.
|
|
78
86
|
*
|
|
79
87
|
* @example
|
|
80
88
|
* ```ts
|
|
81
|
-
* const
|
|
89
|
+
* const leafColumns = table_getAllLeafColumns(table)
|
|
82
90
|
* ```
|
|
83
91
|
*/
|
|
84
92
|
declare function table_getAllLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Array<Column<TFeatures, TData, unknown>>;
|
|
85
93
|
/**
|
|
86
|
-
*
|
|
94
|
+
* Builds an id lookup for terminal leaf columns only.
|
|
87
95
|
*
|
|
88
|
-
*
|
|
96
|
+
* Parent/group columns are excluded, making this lookup appropriate for row
|
|
97
|
+
* cells and feature state keyed by data columns.
|
|
89
98
|
*
|
|
90
99
|
* @example
|
|
91
100
|
* ```ts
|
|
92
|
-
* const
|
|
101
|
+
* const leavesById = table_getAllLeafColumnsById(table)
|
|
93
102
|
* ```
|
|
94
103
|
*/
|
|
95
104
|
declare function table_getAllLeafColumnsById<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Record<string, Column<TFeatures, TData, unknown>>;
|
|
96
105
|
/**
|
|
97
|
-
*
|
|
106
|
+
* Looks up a column by id from the flat column map.
|
|
98
107
|
*
|
|
99
|
-
*
|
|
108
|
+
* The lookup can return group columns or leaf columns. In development, a
|
|
109
|
+
* missing id logs a warning to help catch stale column references.
|
|
100
110
|
*
|
|
101
111
|
* @example
|
|
102
112
|
* ```ts
|
|
103
|
-
* const
|
|
113
|
+
* const column = table_getColumn(table, 'firstName')
|
|
104
114
|
* ```
|
|
105
115
|
*/
|
|
106
116
|
declare function table_getColumn<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, columnId: string): Column<TFeatures, TData, unknown> | undefined;
|
|
@@ -4,26 +4,28 @@ import { constructColumn } from "./constructColumn.js";
|
|
|
4
4
|
|
|
5
5
|
//#region src/core/columns/coreColumnsFeature.utils.ts
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Flattens this column and every descendant column into a single array.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
* Group columns appear before their child columns, which matches the normalized
|
|
10
|
+
* column hierarchy produced during table construction.
|
|
10
11
|
*
|
|
11
12
|
* @example
|
|
12
13
|
* ```ts
|
|
13
|
-
* const
|
|
14
|
+
* const flatColumns = column_getFlatColumns(column)
|
|
14
15
|
* ```
|
|
15
16
|
*/
|
|
16
17
|
function column_getFlatColumns(column) {
|
|
17
18
|
return [column, ...column.columns.flatMap((col) => col.getFlatColumns())];
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
20
|
-
*
|
|
21
|
+
* Collects the terminal leaf columns below this column.
|
|
21
22
|
*
|
|
22
|
-
*
|
|
23
|
+
* Group columns return their ordered descendants. Non-group columns return an
|
|
24
|
+
* array containing only the column itself.
|
|
23
25
|
*
|
|
24
26
|
* @example
|
|
25
27
|
* ```ts
|
|
26
|
-
* const
|
|
28
|
+
* const leafColumns = column_getLeafColumns(column)
|
|
27
29
|
* ```
|
|
28
30
|
*/
|
|
29
31
|
function column_getLeafColumns(column) {
|
|
@@ -34,13 +36,15 @@ function column_getLeafColumns(column) {
|
|
|
34
36
|
return [column];
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
|
-
*
|
|
39
|
+
* Merges built-in, feature, and user default column definitions.
|
|
38
40
|
*
|
|
39
|
-
*
|
|
41
|
+
* Built-in defaults provide a header and fallback cell renderer, feature
|
|
42
|
+
* defaults can add feature-specific column options, and
|
|
43
|
+
* `options.defaultColumn` wins last.
|
|
40
44
|
*
|
|
41
45
|
* @example
|
|
42
46
|
* ```ts
|
|
43
|
-
* const
|
|
47
|
+
* const defaultColumn = table_getDefaultColumnDef(table)
|
|
44
48
|
* ```
|
|
45
49
|
*/
|
|
46
50
|
function table_getDefaultColumnDef(table) {
|
|
@@ -63,13 +67,14 @@ function table_getDefaultColumnDef(table) {
|
|
|
63
67
|
};
|
|
64
68
|
}
|
|
65
69
|
/**
|
|
66
|
-
*
|
|
70
|
+
* Normalizes `options.columns` into the table's nested column tree.
|
|
67
71
|
*
|
|
68
|
-
*
|
|
72
|
+
* Each column definition is constructed with its parent and depth, and group
|
|
73
|
+
* column children are recursively constructed.
|
|
69
74
|
*
|
|
70
75
|
* @example
|
|
71
76
|
* ```ts
|
|
72
|
-
* const
|
|
77
|
+
* const columns = table_getAllColumns(table)
|
|
73
78
|
* ```
|
|
74
79
|
*/
|
|
75
80
|
function table_getAllColumns(table) {
|
|
@@ -84,26 +89,28 @@ function table_getAllColumns(table) {
|
|
|
84
89
|
return recurseColumns(table.options.columns);
|
|
85
90
|
}
|
|
86
91
|
/**
|
|
87
|
-
*
|
|
92
|
+
* Flattens every table column, including group columns and leaf columns.
|
|
88
93
|
*
|
|
89
|
-
*
|
|
94
|
+
* Use this when parent/group columns must be included in addition to data leaf
|
|
95
|
+
* columns.
|
|
90
96
|
*
|
|
91
97
|
* @example
|
|
92
98
|
* ```ts
|
|
93
|
-
* const
|
|
99
|
+
* const flatColumns = table_getAllFlatColumns(table)
|
|
94
100
|
* ```
|
|
95
101
|
*/
|
|
96
102
|
function table_getAllFlatColumns(table) {
|
|
97
103
|
return table.getAllColumns().flatMap((column) => column.getFlatColumns());
|
|
98
104
|
}
|
|
99
105
|
/**
|
|
100
|
-
*
|
|
106
|
+
* Builds an id lookup for every flat column in the table.
|
|
101
107
|
*
|
|
102
|
-
*
|
|
108
|
+
* Group columns and leaf columns are included. Later columns with the same id
|
|
109
|
+
* replace earlier entries.
|
|
103
110
|
*
|
|
104
111
|
* @example
|
|
105
112
|
* ```ts
|
|
106
|
-
* const
|
|
113
|
+
* const columnsById = table_getAllFlatColumnsById(table)
|
|
107
114
|
* ```
|
|
108
115
|
*/
|
|
109
116
|
function table_getAllFlatColumnsById(table) {
|
|
@@ -116,13 +123,14 @@ function table_getAllFlatColumnsById(table) {
|
|
|
116
123
|
return result;
|
|
117
124
|
}
|
|
118
125
|
/**
|
|
119
|
-
*
|
|
126
|
+
* Collects all terminal leaf columns in their current table order.
|
|
120
127
|
*
|
|
121
|
-
*
|
|
128
|
+
* Column ordering features can reorder the collected leaves before the result
|
|
129
|
+
* is returned.
|
|
122
130
|
*
|
|
123
131
|
* @example
|
|
124
132
|
* ```ts
|
|
125
|
-
* const
|
|
133
|
+
* const leafColumns = table_getAllLeafColumns(table)
|
|
126
134
|
* ```
|
|
127
135
|
*/
|
|
128
136
|
function table_getAllLeafColumns(table) {
|
|
@@ -130,13 +138,14 @@ function table_getAllLeafColumns(table) {
|
|
|
130
138
|
return callMemoOrStaticFn(table, "getOrderColumns", table_getOrderColumnsFn)(leafColumns);
|
|
131
139
|
}
|
|
132
140
|
/**
|
|
133
|
-
*
|
|
141
|
+
* Builds an id lookup for terminal leaf columns only.
|
|
134
142
|
*
|
|
135
|
-
*
|
|
143
|
+
* Parent/group columns are excluded, making this lookup appropriate for row
|
|
144
|
+
* cells and feature state keyed by data columns.
|
|
136
145
|
*
|
|
137
146
|
* @example
|
|
138
147
|
* ```ts
|
|
139
|
-
* const
|
|
148
|
+
* const leavesById = table_getAllLeafColumnsById(table)
|
|
140
149
|
* ```
|
|
141
150
|
*/
|
|
142
151
|
function table_getAllLeafColumnsById(table) {
|
|
@@ -149,13 +158,14 @@ function table_getAllLeafColumnsById(table) {
|
|
|
149
158
|
return result;
|
|
150
159
|
}
|
|
151
160
|
/**
|
|
152
|
-
*
|
|
161
|
+
* Looks up a column by id from the flat column map.
|
|
153
162
|
*
|
|
154
|
-
*
|
|
163
|
+
* The lookup can return group columns or leaf columns. In development, a
|
|
164
|
+
* missing id logs a warning to help catch stale column references.
|
|
155
165
|
*
|
|
156
166
|
* @example
|
|
157
167
|
* ```ts
|
|
158
|
-
* const
|
|
168
|
+
* const column = table_getColumn(table, 'firstName')
|
|
159
169
|
* ```
|
|
160
170
|
*/
|
|
161
171
|
function table_getColumn(table, columnId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreColumnsFeature.utils.js","names":[],"sources":["../../../src/core/columns/coreColumnsFeature.utils.ts"],"sourcesContent":["import { callMemoOrStaticFn } from '../../utils'\nimport { table_getOrderColumnsFn } from '../../features/column-ordering/columnOrderingFeature.utils'\nimport { constructColumn } from './constructColumn'\nimport type { Table_Internal } from '../../types/Table'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type {\n ColumnDef,\n ColumnDefResolved,\n GroupColumnDef,\n} from '../../types/ColumnDef'\nimport type { Column } from '../../types/Column'\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"coreColumnsFeature.utils.js","names":[],"sources":["../../../src/core/columns/coreColumnsFeature.utils.ts"],"sourcesContent":["import { callMemoOrStaticFn } from '../../utils'\nimport { table_getOrderColumnsFn } from '../../features/column-ordering/columnOrderingFeature.utils'\nimport { constructColumn } from './constructColumn'\nimport type { Table_Internal } from '../../types/Table'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type {\n ColumnDef,\n ColumnDefResolved,\n GroupColumnDef,\n} from '../../types/ColumnDef'\nimport type { Column } from '../../types/Column'\n\n/**\n * Flattens this column and every descendant column into a single array.\n *\n * Group columns appear before their child columns, which matches the normalized\n * column hierarchy produced during table construction.\n *\n * @example\n * ```ts\n * const flatColumns = column_getFlatColumns(column)\n * ```\n */\nexport function column_getFlatColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column<TFeatures, TData, TValue>,\n): Array<Column<TFeatures, TData, TValue>> {\n return [column, ...column.columns.flatMap((col) => col.getFlatColumns())]\n}\n\n/**\n * Collects the terminal leaf columns below this column.\n *\n * Group columns return their ordered descendants. Non-group columns return an\n * array containing only the column itself.\n *\n * @example\n * ```ts\n * const leafColumns = column_getLeafColumns(column)\n * ```\n */\nexport function column_getLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column<TFeatures, TData, TValue>,\n): Array<Column<TFeatures, TData, TValue>> {\n if (column.columns.length) {\n const leafColumns = column.columns.flatMap(\n (col) => col.getLeafColumns(), // recursive\n )\n\n return callMemoOrStaticFn(\n column.table,\n 'getOrderColumns',\n table_getOrderColumnsFn,\n )(leafColumns as any) as any\n }\n\n return [column]\n}\n\n/**\n * Merges built-in, feature, and user default column definitions.\n *\n * Built-in defaults provide a header and fallback cell renderer, feature\n * defaults can add feature-specific column options, and\n * `options.defaultColumn` wins last.\n *\n * @example\n * ```ts\n * const defaultColumn = table_getDefaultColumnDef(table)\n * ```\n */\nexport function table_getDefaultColumnDef<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n): Partial<ColumnDef<TFeatures, TData, unknown>> {\n return {\n header: (props) => {\n const resolvedColumnDef = props.header.column\n .columnDef as ColumnDefResolved<{}, TData>\n\n if (resolvedColumnDef.accessorKey) {\n return resolvedColumnDef.accessorKey\n }\n\n if (resolvedColumnDef.accessorFn) {\n return resolvedColumnDef.id\n }\n\n return null\n },\n cell: (props) => props.renderValue<any>()?.toString?.() ?? null,\n ...Object.values(table._features).reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultColumnDef?.())\n }, {}),\n ...table.options.defaultColumn,\n } as Partial<ColumnDef<TFeatures, TData, unknown>>\n}\n\n/**\n * Normalizes `options.columns` into the table's nested column tree.\n *\n * Each column definition is constructed with its parent and depth, and group\n * column children are recursively constructed.\n *\n * @example\n * ```ts\n * const columns = table_getAllColumns(table)\n * ```\n */\nexport function table_getAllColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n): Array<Column<TFeatures, TData, unknown>> {\n const recurseColumns = (\n colDefs: ReadonlyArray<ColumnDef<TFeatures, TData, unknown>>,\n parent?: Column<TFeatures, TData, unknown>,\n depth = 0,\n ): Array<Column<TFeatures, TData, unknown>> => {\n return colDefs.map((columnDef) => {\n const column = constructColumn(table, columnDef, depth, parent)\n\n const groupingColumnDef = columnDef as GroupColumnDef<\n TFeatures,\n TData,\n unknown\n >\n\n column.columns = groupingColumnDef.columns\n ? recurseColumns(groupingColumnDef.columns, column, depth + 1)\n : []\n\n return column\n })\n }\n\n return recurseColumns(table.options.columns)\n}\n\n/**\n * Flattens every table column, including group columns and leaf columns.\n *\n * Use this when parent/group columns must be included in addition to data leaf\n * columns.\n *\n * @example\n * ```ts\n * const flatColumns = table_getAllFlatColumns(table)\n * ```\n */\nexport function table_getAllFlatColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n): Array<Column<TFeatures, TData, unknown>> {\n return table.getAllColumns().flatMap((column) => column.getFlatColumns())\n}\n\n/**\n * Builds an id lookup for every flat column in the table.\n *\n * Group columns and leaf columns are included. Later columns with the same id\n * replace earlier entries.\n *\n * @example\n * ```ts\n * const columnsById = table_getAllFlatColumnsById(table)\n * ```\n */\nexport function table_getAllFlatColumnsById<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n): Record<string, Column<TFeatures, TData, unknown>> {\n const result: Record<string, Column<TFeatures, TData, unknown>> = {}\n const flatColumns = table.getAllFlatColumns()\n for (let i = 0; i < flatColumns.length; i++) {\n const column = flatColumns[i]!\n result[column.id] = column\n }\n return result\n}\n\n/**\n * Collects all terminal leaf columns in their current table order.\n *\n * Column ordering features can reorder the collected leaves before the result\n * is returned.\n *\n * @example\n * ```ts\n * const leafColumns = table_getAllLeafColumns(table)\n * ```\n */\nexport function table_getAllLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n): Array<Column<TFeatures, TData, unknown>> {\n const leafColumns = table.getAllColumns().flatMap(\n (c) => c.getLeafColumns(), // recursive\n )\n return callMemoOrStaticFn(\n table,\n 'getOrderColumns',\n table_getOrderColumnsFn,\n )(leafColumns)\n}\n\n/**\n * Builds an id lookup for terminal leaf columns only.\n *\n * Parent/group columns are excluded, making this lookup appropriate for row\n * cells and feature state keyed by data columns.\n *\n * @example\n * ```ts\n * const leavesById = table_getAllLeafColumnsById(table)\n * ```\n */\nexport function table_getAllLeafColumnsById<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n): Record<string, Column<TFeatures, TData, unknown>> {\n const result: Record<string, Column<TFeatures, TData, unknown>> = {}\n const leafColumns = table.getAllLeafColumns()\n for (let i = 0; i < leafColumns.length; i++) {\n const column = leafColumns[i]!\n result[column.id] = column\n }\n return result\n}\n\n/**\n * Looks up a column by id from the flat column map.\n *\n * The lookup can return group columns or leaf columns. In development, a\n * missing id logs a warning to help catch stale column references.\n *\n * @example\n * ```ts\n * const column = table_getColumn(table, 'firstName')\n * ```\n */\nexport function table_getColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n columnId: string,\n): Column<TFeatures, TData, unknown> | undefined {\n const column = table.getAllFlatColumnsById()[columnId]\n\n if (process.env.NODE_ENV === 'development' && !column) {\n console.warn(`[Table] Column with id '${columnId}' does not exist.`)\n }\n\n return column\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,SAAgB,sBAKd,QACyC;CACzC,OAAO,CAAC,QAAQ,GAAG,OAAO,QAAQ,SAAS,QAAQ,IAAI,gBAAgB,CAAC,CAAC;;;;;;;;;;;;;AAc3E,SAAgB,sBAKd,QACyC;CACzC,IAAI,OAAO,QAAQ,QAAQ;EACzB,MAAM,cAAc,OAAO,QAAQ,SAChC,QAAQ,IAAI,gBAAgB,CAC9B;EAED,OAAO,mBACL,OAAO,OACP,mBACA,wBACD,CAAC,YAAmB;;CAGvB,OAAO,CAAC,OAAO;;;;;;;;;;;;;;AAejB,SAAgB,0BAId,OAC+C;CAC/C,OAAO;EACL,SAAS,UAAU;GACjB,MAAM,oBAAoB,MAAM,OAAO,OACpC;GAEH,IAAI,kBAAkB,aACpB,OAAO,kBAAkB;GAG3B,IAAI,kBAAkB,YACpB,OAAO,kBAAkB;GAG3B,OAAO;;EAET,OAAO,UAAU;;uCAAM,aAAkB,2FAAE,gHAAY,KAAI;;EAC3D,GAAG,OAAO,OAAO,MAAM,UAAU,CAAC,QAAQ,KAAK,YAAY;;GACzD,OAAO,OAAO,OAAO,8BAAK,QAAQ,gHAAuB,CAAC;KACzD,EAAE,CAAC;EACN,GAAG,MAAM,QAAQ;EAClB;;;;;;;;;;;;;AAcH,SAAgB,oBAId,OAC0C;CAC1C,MAAM,kBACJ,SACA,QACA,QAAQ,MACqC;EAC7C,OAAO,QAAQ,KAAK,cAAc;GAChC,MAAM,SAAS,gBAAgB,OAAO,WAAW,OAAO,OAAO;GAE/D,MAAM,oBAAoB;GAM1B,OAAO,UAAU,kBAAkB,UAC/B,eAAe,kBAAkB,SAAS,QAAQ,QAAQ,EAAE,GAC5D,EAAE;GAEN,OAAO;IACP;;CAGJ,OAAO,eAAe,MAAM,QAAQ,QAAQ;;;;;;;;;;;;;AAc9C,SAAgB,wBAId,OAC0C;CAC1C,OAAO,MAAM,eAAe,CAAC,SAAS,WAAW,OAAO,gBAAgB,CAAC;;;;;;;;;;;;;AAc3E,SAAgB,4BAId,OACmD;CACnD,MAAM,SAA4D,EAAE;CACpE,MAAM,cAAc,MAAM,mBAAmB;CAC7C,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;EAC3C,MAAM,SAAS,YAAY;EAC3B,OAAO,OAAO,MAAM;;CAEtB,OAAO;;;;;;;;;;;;;AAcT,SAAgB,wBAId,OAC0C;CAC1C,MAAM,cAAc,MAAM,eAAe,CAAC,SACvC,MAAM,EAAE,gBAAgB,CAC1B;CACD,OAAO,mBACL,OACA,mBACA,wBACD,CAAC,YAAY;;;;;;;;;;;;;AAchB,SAAgB,4BAId,OACmD;CACnD,MAAM,SAA4D,EAAE;CACpE,MAAM,cAAc,MAAM,mBAAmB;CAC7C,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;EAC3C,MAAM,SAAS,YAAY;EAC3B,OAAO,OAAO,MAAM;;CAEtB,OAAO;;;;;;;;;;;;;AAcT,SAAgB,gBAId,OACA,UAC+C;CAC/C,MAAM,SAAS,MAAM,uBAAuB,CAAC;CAE7C,IAAI,QAAQ,IAAI,aAAa,iBAAiB,CAAC,QAC7C,QAAQ,KAAK,2BAA2B,SAAS,mBAAmB;CAGtE,OAAO"}
|
|
@@ -8,19 +8,21 @@ import { Table } from "../../types/Table.cjs";
|
|
|
8
8
|
//#region src/core/headers/coreHeadersFeature.types.d.ts
|
|
9
9
|
interface Table_Headers<TFeatures extends TableFeatures, TData extends RowData> {
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Builds the visible header groups for the current column tree, visibility,
|
|
12
|
+
* and pinning state.
|
|
12
13
|
*/
|
|
13
14
|
getHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
|
|
14
15
|
/**
|
|
15
|
-
*
|
|
16
|
+
* Builds footer groups by reversing the current header group order.
|
|
16
17
|
*/
|
|
17
18
|
getFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
|
|
18
19
|
/**
|
|
19
|
-
*
|
|
20
|
+
* Flattens every header from every header group, including parent and
|
|
21
|
+
* placeholder headers.
|
|
20
22
|
*/
|
|
21
23
|
getFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
|
|
22
24
|
/**
|
|
23
|
-
*
|
|
25
|
+
* Collects only leaf headers, excluding parent/group headers.
|
|
24
26
|
*/
|
|
25
27
|
getLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
|
|
26
28
|
}
|
|
@@ -8,19 +8,21 @@ import { Table } from "../../types/Table.js";
|
|
|
8
8
|
//#region src/core/headers/coreHeadersFeature.types.d.ts
|
|
9
9
|
interface Table_Headers<TFeatures extends TableFeatures, TData extends RowData> {
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Builds the visible header groups for the current column tree, visibility,
|
|
12
|
+
* and pinning state.
|
|
12
13
|
*/
|
|
13
14
|
getHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
|
|
14
15
|
/**
|
|
15
|
-
*
|
|
16
|
+
* Builds footer groups by reversing the current header group order.
|
|
16
17
|
*/
|
|
17
18
|
getFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
|
|
18
19
|
/**
|
|
19
|
-
*
|
|
20
|
+
* Flattens every header from every header group, including parent and
|
|
21
|
+
* placeholder headers.
|
|
20
22
|
*/
|
|
21
23
|
getFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
|
|
22
24
|
/**
|
|
23
|
-
*
|
|
25
|
+
* Collects only leaf headers, excluding parent/group headers.
|
|
24
26
|
*/
|
|
25
27
|
getLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
|
|
26
28
|
}
|