@tanstack/table-core 9.0.0-beta.1 → 9.0.0-beta.5
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/dist/core/cells/coreCellsFeature.cjs +11 -20
- package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
- package/dist/core/cells/coreCellsFeature.d.cts +4 -12
- package/dist/core/cells/coreCellsFeature.d.ts +4 -12
- package/dist/core/cells/coreCellsFeature.js +12 -20
- package/dist/core/cells/coreCellsFeature.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.cjs +59 -68
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
- package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
- package/dist/core/columns/coreColumnsFeature.js +60 -68
- package/dist/core/columns/coreColumnsFeature.js.map +1 -1
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.cjs +44 -53
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
- package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
- package/dist/core/headers/coreHeadersFeature.js +45 -53
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
- package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
- package/dist/core/row-models/coreRowModelsFeature.js +18 -26
- package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +3 -5
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +3 -5
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.cjs +27 -36
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.d.cts +4 -12
- package/dist/core/rows/coreRowsFeature.d.ts +4 -12
- package/dist/core/rows/coreRowsFeature.js +28 -36
- package/dist/core/rows/coreRowsFeature.js.map +1 -1
- package/dist/core/table/constructTable.cjs +2 -2
- package/dist/core/table/constructTable.cjs.map +1 -1
- package/dist/core/table/constructTable.js +2 -2
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.cjs +7 -16
- package/dist/core/table/coreTablesFeature.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.d.cts +4 -12
- package/dist/core/table/coreTablesFeature.d.ts +4 -12
- package/dist/core/table/coreTablesFeature.js +8 -16
- package/dist/core/table/coreTablesFeature.js.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
- package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
- package/dist/features/column-filtering/columnFilteringFeature.js +41 -53
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +3 -3
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +3 -3
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
- package/dist/features/column-grouping/columnGroupingFeature.js +58 -69
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
- package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
- package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
- package/dist/features/column-pinning/columnPinningFeature.js +210 -221
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +12 -12
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +12 -12
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
- package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
- package/dist/features/column-resizing/columnResizingFeature.js +32 -43
- package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
- package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
- package/dist/features/column-sizing/columnSizingFeature.js +113 -125
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +3 -3
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +3 -3
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
- package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
- package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +4 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +4 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
- package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
- package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
- package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
- package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
- package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
- package/dist/features/row-pinning/rowPinningFeature.js +56 -67
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +65 -77
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
- package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
- package/dist/features/row-selection/rowSelectionFeature.js +66 -77
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
- package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
- package/dist/features/row-sorting/rowSortingFeature.js +46 -57
- package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
- package/dist/fns/aggregationFns.cjs +18 -18
- package/dist/fns/aggregationFns.cjs.map +1 -1
- package/dist/fns/aggregationFns.d.cts +21 -19
- package/dist/fns/aggregationFns.d.ts +21 -19
- package/dist/fns/aggregationFns.js +18 -18
- package/dist/fns/aggregationFns.js.map +1 -1
- package/dist/fns/filterFns.cjs +51 -65
- package/dist/fns/filterFns.cjs.map +1 -1
- package/dist/fns/filterFns.d.cts +82 -28
- package/dist/fns/filterFns.d.ts +82 -28
- package/dist/fns/filterFns.js +51 -65
- package/dist/fns/filterFns.js.map +1 -1
- package/dist/fns/sortFns.cjs.map +1 -1
- package/dist/fns/sortFns.d.cts +15 -13
- package/dist/fns/sortFns.d.ts +15 -13
- package/dist/fns/sortFns.js.map +1 -1
- package/dist/index.cjs +0 -20
- package/dist/index.d.cts +34 -34
- package/dist/index.d.ts +34 -34
- package/dist/index.js +21 -21
- package/dist/types/Cell.d.cts +7 -9
- package/dist/types/Cell.d.ts +7 -9
- package/dist/types/Column.d.cts +16 -9
- package/dist/types/Column.d.ts +16 -9
- package/dist/types/ColumnDef.d.cts +13 -8
- package/dist/types/ColumnDef.d.ts +13 -8
- package/dist/types/Header.d.cts +8 -9
- package/dist/types/Header.d.ts +8 -9
- package/dist/types/HeaderGroup.d.cts +3 -8
- package/dist/types/HeaderGroup.d.ts +3 -8
- package/dist/types/Row.d.cts +13 -9
- package/dist/types/Row.d.ts +13 -9
- package/dist/types/RowModel.d.cts +21 -11
- package/dist/types/RowModel.d.ts +21 -11
- package/dist/types/RowModelFns.d.cts +9 -9
- package/dist/types/RowModelFns.d.ts +9 -9
- package/dist/types/Table.d.cts +20 -9
- package/dist/types/Table.d.ts +20 -9
- package/dist/types/TableFeatures.d.cts +14 -38
- package/dist/types/TableFeatures.d.ts +14 -38
- package/dist/types/TableOptions.d.cts +20 -5
- package/dist/types/TableOptions.d.ts +20 -5
- package/dist/types/TableState.d.cts +20 -11
- package/dist/types/TableState.d.ts +20 -11
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/core/cells/coreCellsFeature.ts +17 -39
- package/src/core/columns/coreColumnsFeature.ts +56 -83
- package/src/core/headers/buildHeaderGroups.ts +1 -1
- package/src/core/headers/coreHeadersFeature.ts +42 -64
- package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
- package/src/core/row-models/coreRowModelsFeature.ts +43 -64
- package/src/core/row-models/coreRowModelsFeature.types.ts +2 -6
- package/src/core/row-models/createCoreRowModel.ts +1 -1
- package/src/core/rows/coreRowsFeature.ts +45 -72
- package/src/core/table/constructTable.ts +10 -7
- package/src/core/table/coreTablesFeature.ts +13 -35
- package/src/core/table/coreTablesFeature.utils.ts +1 -1
- package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
- package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
- package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
- package/src/features/column-filtering/columnFilteringFeature.ts +60 -103
- package/src/features/column-filtering/columnFilteringFeature.types.ts +3 -3
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +4 -4
- package/src/features/column-filtering/createFilteredRowModel.ts +2 -2
- package/src/features/column-grouping/columnGroupingFeature.ts +82 -126
- package/src/features/column-grouping/createGroupedRowModel.ts +1 -1
- package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
- package/src/features/column-pinning/columnPinningFeature.ts +268 -304
- package/src/features/column-pinning/columnPinningFeature.utils.ts +5 -5
- package/src/features/column-resizing/columnResizingFeature.ts +44 -78
- package/src/features/column-sizing/columnSizingFeature.ts +115 -152
- package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
- package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +4 -2
- package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
- package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
- package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
- package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
- package/src/features/row-pinning/rowPinningFeature.ts +72 -104
- package/src/features/row-selection/rowSelectionFeature.ts +103 -135
- package/src/features/row-sorting/createSortedRowModel.ts +1 -1
- package/src/features/row-sorting/rowSortingFeature.ts +73 -114
- package/src/fns/aggregationFns.ts +26 -42
- package/src/fns/filterFns.ts +231 -264
- package/src/fns/sortFns.ts +18 -19
- package/src/types/Cell.ts +8 -28
- package/src/types/Column.ts +18 -53
- package/src/types/ColumnDef.ts +20 -47
- package/src/types/Header.ts +8 -30
- package/src/types/HeaderGroup.ts +2 -13
- package/src/types/Row.ts +15 -36
- package/src/types/RowModel.ts +28 -67
- package/src/types/RowModelFns.ts +11 -30
- package/src/types/Table.ts +23 -64
- package/src/types/TableFeatures.ts +60 -109
- package/src/types/TableOptions.ts +32 -71
- package/src/types/TableState.ts +20 -73
- package/src/utils.ts +5 -4
|
@@ -7,72 +7,50 @@ import {
|
|
|
7
7
|
table_getHeaderGroups,
|
|
8
8
|
table_getLeafHeaders,
|
|
9
9
|
} from './coreHeadersFeature.utils'
|
|
10
|
-
import type {
|
|
11
|
-
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
|
|
12
|
-
// import type { Header_Header, Table_Headers } from './coreHeadersFeature.types'
|
|
13
|
-
|
|
14
|
-
export interface CoreHeadersFeatureConstructors<
|
|
15
|
-
TFeatures extends TableFeatures,
|
|
16
|
-
TData extends RowData,
|
|
17
|
-
> {
|
|
18
|
-
// Header: Header_Header<TFeatures, TData>
|
|
19
|
-
// Table: Table_Headers<TFeatures, TData>
|
|
20
|
-
}
|
|
10
|
+
import type { TableFeature } from '../../types/TableFeatures'
|
|
21
11
|
|
|
22
12
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
|
|
13
|
+
* Core feature that builds header groups and exposes header context APIs.
|
|
26
14
|
*/
|
|
27
|
-
export
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
memoDeps: (header) => [header.column.table.options.columns],
|
|
41
|
-
},
|
|
42
|
-
})
|
|
43
|
-
},
|
|
15
|
+
export const coreHeadersFeature: TableFeature = {
|
|
16
|
+
assignHeaderPrototype: (prototype, table) => {
|
|
17
|
+
assignPrototypeAPIs('coreHeadersFeature', prototype, table, {
|
|
18
|
+
header_getLeafHeaders: {
|
|
19
|
+
fn: (header) => header_getLeafHeaders(header),
|
|
20
|
+
memoDeps: (header) => [header.column.table.options.columns],
|
|
21
|
+
},
|
|
22
|
+
header_getContext: {
|
|
23
|
+
fn: (header) => header_getContext(header),
|
|
24
|
+
memoDeps: (header) => [header.column.table.options.columns],
|
|
25
|
+
},
|
|
26
|
+
})
|
|
27
|
+
},
|
|
44
28
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
29
|
+
constructTableAPIs: (table) => {
|
|
30
|
+
assignTableAPIs('coreHeadersFeature', table, {
|
|
31
|
+
table_getHeaderGroups: {
|
|
32
|
+
fn: () => table_getHeaderGroups(table),
|
|
33
|
+
memoDeps: () => [
|
|
34
|
+
table.options.columns,
|
|
35
|
+
table.atoms.columnOrder?.get(),
|
|
36
|
+
table.atoms.grouping?.get(),
|
|
37
|
+
table.atoms.columnPinning?.get(),
|
|
38
|
+
table.atoms.columnVisibility?.get(),
|
|
39
|
+
table.options.groupedColumnMode,
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
table_getFooterGroups: {
|
|
43
|
+
fn: () => table_getFooterGroups(table),
|
|
44
|
+
memoDeps: () => [table.getHeaderGroups()],
|
|
45
|
+
},
|
|
46
|
+
table_getFlatHeaders: {
|
|
47
|
+
fn: () => table_getFlatHeaders(table),
|
|
48
|
+
memoDeps: () => [table.getHeaderGroups()],
|
|
49
|
+
},
|
|
50
|
+
table_getLeafHeaders: {
|
|
51
|
+
fn: () => table_getLeafHeaders(table),
|
|
52
|
+
memoDeps: () => [table.getHeaderGroups()],
|
|
53
|
+
},
|
|
54
|
+
})
|
|
55
|
+
},
|
|
73
56
|
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* The Core Headers feature provides the core header functionality.
|
|
77
|
-
*/
|
|
78
|
-
export const coreHeadersFeature = constructCoreHeadersFeature()
|
|
@@ -86,7 +86,7 @@ export function table_getHeaderGroups<
|
|
|
86
86
|
table,
|
|
87
87
|
'getVisibleLeafColumns',
|
|
88
88
|
table_getVisibleLeafColumns,
|
|
89
|
-
)
|
|
89
|
+
)
|
|
90
90
|
|
|
91
91
|
// Fast path: no columns are pinned — skip per-side lookups, partition, and spread.
|
|
92
92
|
if (!left.length && !right.length) {
|
|
@@ -13,71 +13,50 @@ import {
|
|
|
13
13
|
table_getRowModel,
|
|
14
14
|
table_getSortedRowModel,
|
|
15
15
|
} from './coreRowModelsFeature.utils'
|
|
16
|
-
import type {
|
|
17
|
-
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
|
|
18
|
-
// import type { Table_RowModels } from './coreRowModelsFeature.types'
|
|
19
|
-
|
|
20
|
-
export interface CoreRowModelsFeatureConstructors<
|
|
21
|
-
TFeatures extends TableFeatures,
|
|
22
|
-
TData extends RowData,
|
|
23
|
-
> {
|
|
24
|
-
// Table: Table_RowModels<TFeatures, TData>
|
|
25
|
-
}
|
|
16
|
+
import type { TableFeature } from '../../types/TableFeatures'
|
|
26
17
|
|
|
27
18
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
|
|
19
|
+
* Core feature that wires table row-model accessors and row-model caches.
|
|
31
20
|
*/
|
|
32
|
-
export
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
fn: () => table_getRowModel(table),
|
|
74
|
-
},
|
|
75
|
-
})
|
|
76
|
-
},
|
|
77
|
-
}
|
|
21
|
+
export const coreRowModelsFeature: TableFeature = {
|
|
22
|
+
constructTableAPIs: (table) => {
|
|
23
|
+
assignTableAPIs('coreRowModelsFeature', table, {
|
|
24
|
+
table_getCoreRowModel: {
|
|
25
|
+
fn: () => table_getCoreRowModel(table),
|
|
26
|
+
},
|
|
27
|
+
table_getPreFilteredRowModel: {
|
|
28
|
+
fn: () => table_getPreFilteredRowModel(table),
|
|
29
|
+
},
|
|
30
|
+
table_getFilteredRowModel: {
|
|
31
|
+
fn: () => table_getFilteredRowModel(table),
|
|
32
|
+
},
|
|
33
|
+
table_getPreGroupedRowModel: {
|
|
34
|
+
fn: () => table_getPreGroupedRowModel(table),
|
|
35
|
+
},
|
|
36
|
+
table_getGroupedRowModel: {
|
|
37
|
+
fn: () => table_getGroupedRowModel(table),
|
|
38
|
+
},
|
|
39
|
+
table_getPreSortedRowModel: {
|
|
40
|
+
fn: () => table_getPreSortedRowModel(table),
|
|
41
|
+
},
|
|
42
|
+
table_getSortedRowModel: {
|
|
43
|
+
fn: () => table_getSortedRowModel(table),
|
|
44
|
+
},
|
|
45
|
+
table_getPreExpandedRowModel: {
|
|
46
|
+
fn: () => table_getPreExpandedRowModel(table),
|
|
47
|
+
},
|
|
48
|
+
table_getExpandedRowModel: {
|
|
49
|
+
fn: () => table_getExpandedRowModel(table),
|
|
50
|
+
},
|
|
51
|
+
table_getPrePaginatedRowModel: {
|
|
52
|
+
fn: () => table_getPrePaginatedRowModel(table),
|
|
53
|
+
},
|
|
54
|
+
table_getPaginatedRowModel: {
|
|
55
|
+
fn: () => table_getPaginatedRowModel(table),
|
|
56
|
+
},
|
|
57
|
+
table_getRowModel: {
|
|
58
|
+
fn: () => table_getRowModel(table),
|
|
59
|
+
},
|
|
60
|
+
})
|
|
61
|
+
},
|
|
78
62
|
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* The Core Row Models feature provides the core row model functionality.
|
|
82
|
-
*/
|
|
83
|
-
export const coreRowModelsFeature = constructCoreRowModelsFeature()
|
|
@@ -18,12 +18,10 @@ export interface RowModel<
|
|
|
18
18
|
rowsById: Record<string, Row<TFeatures, TData>>
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
export interface CreateRowModel_Plugins {}
|
|
22
|
-
|
|
23
21
|
export interface CreateRowModel_Core<
|
|
24
22
|
TFeatures extends TableFeatures,
|
|
25
23
|
TData extends RowData,
|
|
26
|
-
>
|
|
24
|
+
> {
|
|
27
25
|
/**
|
|
28
26
|
* Optional factory for the core row model. When omitted, the built-in
|
|
29
27
|
* `createCoreRowModel()` factory is used.
|
|
@@ -33,12 +31,10 @@ export interface CreateRowModel_Core<
|
|
|
33
31
|
) => () => RowModel<TFeatures, TData>
|
|
34
32
|
}
|
|
35
33
|
|
|
36
|
-
export interface CachedRowModel_Plugins {}
|
|
37
|
-
|
|
38
34
|
export interface CachedRowModel_Core<
|
|
39
35
|
TFeatures extends TableFeatures,
|
|
40
36
|
TData extends RowData,
|
|
41
|
-
>
|
|
37
|
+
> {
|
|
42
38
|
coreRowModel: () => RowModel<TFeatures, TData>
|
|
43
39
|
}
|
|
44
40
|
|
|
@@ -17,7 +17,7 @@ export function createCoreRowModel<
|
|
|
17
17
|
TData extends RowData,
|
|
18
18
|
>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {
|
|
19
19
|
return (_table) => {
|
|
20
|
-
const table
|
|
20
|
+
const table = _table as unknown as Table_Internal<TFeatures, TData>
|
|
21
21
|
return tableMemo({
|
|
22
22
|
feature: 'coreRowModelsFeature',
|
|
23
23
|
table,
|
|
@@ -11,79 +11,52 @@ import {
|
|
|
11
11
|
table_getRow,
|
|
12
12
|
table_getRowId,
|
|
13
13
|
} from './coreRowsFeature.utils'
|
|
14
|
-
import type {
|
|
15
|
-
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
|
|
16
|
-
// import type {
|
|
17
|
-
// Row_Row,
|
|
18
|
-
// TableOptions_Rows,
|
|
19
|
-
// Table_Rows,
|
|
20
|
-
// } from './coreRowsFeature.types'
|
|
21
|
-
|
|
22
|
-
export interface CoreRowsFeatureConstructors<
|
|
23
|
-
TFeatures extends TableFeatures,
|
|
24
|
-
TData extends RowData,
|
|
25
|
-
> {
|
|
26
|
-
// Row: Row_Row<TFeatures, TData>
|
|
27
|
-
// TableOptions: TableOptions_Rows<TFeatures, TData>
|
|
28
|
-
// Table: Table_Rows<TFeatures, TData>
|
|
29
|
-
}
|
|
14
|
+
import type { TableFeature } from '../../types/TableFeatures'
|
|
30
15
|
|
|
31
16
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
|
|
17
|
+
* Core feature that creates row APIs for values, cells, and tree traversal.
|
|
35
18
|
*/
|
|
36
|
-
export
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
table_getRow(table, id, searchAll),
|
|
80
|
-
},
|
|
81
|
-
})
|
|
82
|
-
},
|
|
83
|
-
}
|
|
19
|
+
export const coreRowsFeature: TableFeature = {
|
|
20
|
+
assignRowPrototype: (prototype, table) => {
|
|
21
|
+
assignPrototypeAPIs('coreRowsFeature', prototype, table, {
|
|
22
|
+
row_getAllCellsByColumnId: {
|
|
23
|
+
fn: (row) => row_getAllCellsByColumnId(row),
|
|
24
|
+
memoDeps: (row) => [row.getAllCells()],
|
|
25
|
+
},
|
|
26
|
+
row_getAllCells: {
|
|
27
|
+
fn: (row) => row_getAllCells(row),
|
|
28
|
+
memoDeps: (row) => [row.table.getAllLeafColumns()],
|
|
29
|
+
},
|
|
30
|
+
row_getLeafRows: {
|
|
31
|
+
fn: (row) => row_getLeafRows(row),
|
|
32
|
+
},
|
|
33
|
+
row_getParentRow: {
|
|
34
|
+
fn: (row) => row_getParentRow(row),
|
|
35
|
+
},
|
|
36
|
+
row_getParentRows: {
|
|
37
|
+
fn: (row) => row_getParentRows(row),
|
|
38
|
+
},
|
|
39
|
+
row_getUniqueValues: {
|
|
40
|
+
fn: (row, columnId) => row_getUniqueValues(row, columnId),
|
|
41
|
+
},
|
|
42
|
+
row_getValue: {
|
|
43
|
+
fn: (row, columnId) => row_getValue(row, columnId),
|
|
44
|
+
},
|
|
45
|
+
row_renderValue: {
|
|
46
|
+
fn: (row, columnId) => row_renderValue(row, columnId),
|
|
47
|
+
},
|
|
48
|
+
})
|
|
49
|
+
},
|
|
50
|
+
constructTableAPIs: (table) => {
|
|
51
|
+
assignTableAPIs('coreRowsFeature', table, {
|
|
52
|
+
table_getRowId: {
|
|
53
|
+
fn: (originalRow, index, parent) =>
|
|
54
|
+
table_getRowId(originalRow, table, index, parent),
|
|
55
|
+
},
|
|
56
|
+
table_getRow: {
|
|
57
|
+
fn: (id: string, searchAll?: boolean) =>
|
|
58
|
+
table_getRow(table, id, searchAll),
|
|
59
|
+
},
|
|
60
|
+
})
|
|
61
|
+
},
|
|
84
62
|
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* The Core Rows feature provides the core row functionality.
|
|
88
|
-
*/
|
|
89
|
-
export const coreRowsFeature = constructCoreRowsFeature()
|
|
@@ -7,7 +7,7 @@ import type { RowData } from '../../types/type-utils'
|
|
|
7
7
|
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
|
|
8
8
|
import type { Table, Table_Internal } from '../../types/Table'
|
|
9
9
|
import type { TableOptions } from '../../types/TableOptions'
|
|
10
|
-
import type { TableState } from '../../types/TableState'
|
|
10
|
+
import type { TableState, TableState_All } from '../../types/TableState'
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Builds the initial table state from registered features and user initial state.
|
|
@@ -44,7 +44,7 @@ export function constructTable<
|
|
|
44
44
|
atoms: {},
|
|
45
45
|
} as Table_Internal<TFeatures, TData>
|
|
46
46
|
|
|
47
|
-
const featuresList: Array<TableFeature
|
|
47
|
+
const featuresList: Array<TableFeature> = Object.values(table._features)
|
|
48
48
|
|
|
49
49
|
const defaultOptions = featuresList.reduce((obj, feature) => {
|
|
50
50
|
return Object.assign(obj, feature.getDefaultTableOptions?.(table))
|
|
@@ -100,7 +100,7 @@ export function constructTable<
|
|
|
100
100
|
)
|
|
101
101
|
|
|
102
102
|
const stateKeys = Object.keys(table.initialState) as Array<
|
|
103
|
-
string & keyof
|
|
103
|
+
string & keyof TableState_All
|
|
104
104
|
>
|
|
105
105
|
|
|
106
106
|
for (let i = 0; i < stateKeys.length; i++) {
|
|
@@ -115,11 +115,14 @@ export function constructTable<
|
|
|
115
115
|
// create readonly derived atom: on each get(), read either external atom or base atom
|
|
116
116
|
;(table.atoms as any)[key] = _reactivity.createReadonlyAtom(
|
|
117
117
|
() => {
|
|
118
|
-
const
|
|
118
|
+
const externalAtoms = table.options.atoms as
|
|
119
|
+
| Partial<Record<keyof TableState_All, Atom<unknown>>>
|
|
120
|
+
| undefined
|
|
121
|
+
const externalAtom = externalAtoms?.[key]
|
|
119
122
|
if (externalAtom) {
|
|
120
123
|
return externalAtom.get()
|
|
121
124
|
}
|
|
122
|
-
return table.baseAtoms[key]
|
|
125
|
+
return table.baseAtoms[key]!.get()
|
|
123
126
|
},
|
|
124
127
|
{ debugName: `table/atoms/${key}` },
|
|
125
128
|
)
|
|
@@ -130,10 +133,10 @@ export function constructTable<
|
|
|
130
133
|
table.store = atomToStore(
|
|
131
134
|
_reactivity.createReadonlyAtom(
|
|
132
135
|
() => {
|
|
133
|
-
const snapshot = {} as TableState<TFeatures>
|
|
136
|
+
const snapshot = {} as TableState<TFeatures> & TableState_All
|
|
134
137
|
for (let i = 0; i < stateKeys.length; i++) {
|
|
135
138
|
const key = stateKeys[i]!
|
|
136
|
-
snapshot[key] = table.atoms[key]
|
|
139
|
+
;(snapshot as Record<string, unknown>)[key] = table.atoms[key]!.get()
|
|
137
140
|
}
|
|
138
141
|
return snapshot
|
|
139
142
|
},
|
|
@@ -1,41 +1,19 @@
|
|
|
1
1
|
import { assignTableAPIs } from '../../utils'
|
|
2
2
|
import { table_reset, table_setOptions } from './coreTablesFeature.utils'
|
|
3
|
-
import type {
|
|
4
|
-
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
|
|
5
|
-
// import type { TableOptions_Table, Table_Table } from './coreTablesFeature.types'
|
|
6
|
-
|
|
7
|
-
export interface CoreTablesFeatureConstructors<
|
|
8
|
-
TFeatures extends TableFeatures,
|
|
9
|
-
TData extends RowData,
|
|
10
|
-
> {
|
|
11
|
-
// Table: Table_Table<TFeatures, TData>
|
|
12
|
-
// TableOptions: TableOptions_Table<TFeatures, TData>
|
|
13
|
-
}
|
|
3
|
+
import type { TableFeature } from '../../types/TableFeatures'
|
|
14
4
|
|
|
15
5
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
|
|
6
|
+
* Core feature that adds base table instance APIs such as reset and setOptions.
|
|
19
7
|
*/
|
|
20
|
-
export
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
fn: (updater) => table_setOptions(table, updater),
|
|
32
|
-
},
|
|
33
|
-
})
|
|
34
|
-
},
|
|
35
|
-
}
|
|
8
|
+
export const coreTablesFeature: TableFeature = {
|
|
9
|
+
constructTableAPIs: (table) => {
|
|
10
|
+
assignTableAPIs('coreTablesFeature', table, {
|
|
11
|
+
table_reset: {
|
|
12
|
+
fn: () => table_reset(table),
|
|
13
|
+
},
|
|
14
|
+
table_setOptions: {
|
|
15
|
+
fn: (updater) => table_setOptions(table, updater),
|
|
16
|
+
},
|
|
17
|
+
})
|
|
18
|
+
},
|
|
36
19
|
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* The Core Tables feature provides the core table functionality for handling state and options.
|
|
40
|
-
*/
|
|
41
|
-
export const coreTablesFeature = constructCoreTablesFeature()
|
|
@@ -59,7 +59,7 @@ export function table_reset<
|
|
|
59
59
|
const keys = Object.keys(snap) as Array<keyof typeof snap>
|
|
60
60
|
for (let i = 0; i < keys.length; i++) {
|
|
61
61
|
const key = keys[i]!
|
|
62
|
-
;(table.baseAtoms as any)[key].set(snap[key]
|
|
62
|
+
;(table.baseAtoms as any)[key].set(snap[key])
|
|
63
63
|
}
|
|
64
64
|
})
|
|
65
65
|
}
|