@tanstack/table-core 9.0.0-beta.30 → 9.0.0-beta.33
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/constructCell.cjs +1 -4
- package/dist/core/cells/constructCell.cjs.map +1 -1
- package/dist/core/cells/constructCell.d.cts +1 -1
- package/dist/core/cells/constructCell.d.ts +1 -1
- package/dist/core/cells/constructCell.js +1 -4
- package/dist/core/cells/constructCell.js.map +1 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +1 -1
- package/dist/core/cells/coreCellsFeature.types.d.ts +1 -1
- package/dist/core/cells/coreCellsFeature.utils.d.cts +1 -1
- package/dist/core/cells/coreCellsFeature.utils.d.ts +1 -1
- package/dist/core/columns/constructColumn.cjs +3 -9
- package/dist/core/columns/constructColumn.cjs.map +1 -1
- package/dist/core/columns/constructColumn.js +3 -9
- package/dist/core/columns/constructColumn.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.cjs +12 -18
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.js +12 -18
- package/dist/core/columns/coreColumnsFeature.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.cjs +2 -6
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.js +2 -6
- package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
- package/dist/core/headers/buildHeaderGroups.cjs +1 -2
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
- package/dist/core/headers/buildHeaderGroups.js +1 -2
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/constructHeader.cjs +1 -4
- package/dist/core/headers/constructHeader.cjs.map +1 -1
- package/dist/core/headers/constructHeader.js +1 -4
- package/dist/core/headers/constructHeader.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.cjs +8 -11
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.js +8 -11
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.cjs +2 -4
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.js +2 -4
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +3 -3
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +3 -3
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +6 -24
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.js +6 -24
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
- package/dist/core/row-models/createCoreRowModel.cjs +2 -3
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +1 -1
- package/dist/core/row-models/createCoreRowModel.d.ts +1 -1
- package/dist/core/row-models/createCoreRowModel.js +2 -3
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/constructRow.cjs +2 -8
- package/dist/core/rows/constructRow.cjs.map +1 -1
- package/dist/core/rows/constructRow.js +2 -8
- package/dist/core/rows/constructRow.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.ts +1 -1
- package/dist/core/rows/coreRowsFeature.utils.cjs +3 -4
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.ts +1 -1
- package/dist/core/rows/coreRowsFeature.utils.js +3 -4
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
- package/dist/core/table/constructTable.cjs +4 -10
- package/dist/core/table/constructTable.cjs.map +1 -1
- package/dist/core/table/constructTable.js +4 -10
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/experimental-worker-plugin.cjs +14 -0
- package/dist/experimental-worker-plugin.d.cts +5 -0
- package/dist/experimental-worker-plugin.d.ts +5 -0
- package/dist/experimental-worker-plugin.js +6 -0
- package/dist/features/column-faceting/columnFacetingFeature.cjs +12 -18
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.js +12 -18
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +7 -25
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +7 -25
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs +8 -14
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.js +8 -14
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +10 -13
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +10 -13
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +12 -18
- 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 +12 -18
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +1 -4
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.js +1 -4
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +4 -4
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +4 -4
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +8 -13
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +2 -2
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +2 -2
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -13
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +11 -10
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.js +11 -10
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +13 -19
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.js +13 -19
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +6 -11
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +6 -11
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +78 -114
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.js +78 -114
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +1 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +15 -28
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +2 -2
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +2 -2
- package/dist/features/column-pinning/columnPinningFeature.utils.js +15 -28
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +12 -16
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.js +12 -16
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +24 -48
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.js +24 -48
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +11 -18
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.js +11 -18
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +25 -40
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.js +25 -40
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +3 -6
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +3 -6
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.js +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +3 -5
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +3 -5
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs +6 -10
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.js +6 -10
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +8 -15
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +8 -15
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +6 -10
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.js +6 -10
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +8 -14
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +8 -14
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +4 -16
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.js +4 -16
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +7 -12
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.js +7 -12
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +30 -60
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.js +30 -60
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +12 -19
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.js +12 -19
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +3 -7
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +1 -1
- package/dist/features/row-sorting/createSortedRowModel.d.ts +1 -1
- package/dist/features/row-sorting/createSortedRowModel.js +3 -7
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +2 -2
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +2 -2
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +9 -13
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.js +9 -13
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/flex-render.d.cts +1 -1
- package/dist/flex-render.d.ts +1 -1
- package/dist/fns/filterFns.cjs +8 -12
- package/dist/fns/filterFns.cjs.map +1 -1
- package/dist/fns/filterFns.js +8 -12
- package/dist/fns/filterFns.js.map +1 -1
- package/dist/index.d.cts +16 -16
- package/dist/index.d.ts +16 -16
- package/dist/store-reactivity-bindings.cjs +2 -2
- package/dist/store-reactivity-bindings.cjs.map +1 -1
- package/dist/store-reactivity-bindings.js +2 -2
- package/dist/store-reactivity-bindings.js.map +1 -1
- package/dist/types/Cell.d.cts +1 -1
- package/dist/types/Cell.d.ts +1 -1
- package/dist/types/Column.d.cts +7 -7
- package/dist/types/Column.d.ts +7 -7
- package/dist/types/ColumnDef.d.cts +6 -6
- package/dist/types/ColumnDef.d.ts +6 -6
- package/dist/types/Header.d.cts +1 -1
- package/dist/types/Header.d.ts +1 -1
- package/dist/types/Row.d.cts +2 -2
- package/dist/types/Row.d.ts +2 -2
- package/dist/types/RowModel.d.cts +4 -4
- package/dist/types/RowModel.d.ts +4 -4
- package/dist/types/RowModelFns.d.cts +2 -2
- package/dist/types/RowModelFns.d.ts +2 -2
- package/dist/types/Table.d.cts +9 -9
- package/dist/types/Table.d.ts +9 -9
- package/dist/types/TableFeatures.d.cts +4 -4
- package/dist/types/TableFeatures.d.ts +4 -4
- package/dist/types/TableOptions.d.cts +7 -7
- package/dist/types/TableOptions.d.ts +7 -7
- package/dist/types/TableState.d.cts +6 -6
- package/dist/types/TableState.d.ts +6 -6
- package/dist/utils.cjs +9 -12
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +9 -12
- package/dist/utils.js.map +1 -1
- package/dist/worker/createTableWorker.cjs +189 -0
- package/dist/worker/createTableWorker.cjs.map +1 -0
- package/dist/worker/createTableWorker.d.cts +102 -0
- package/dist/worker/createTableWorker.d.ts +102 -0
- package/dist/worker/createTableWorker.js +186 -0
- package/dist/worker/createTableWorker.js.map +1 -0
- package/dist/worker/createWorkerRowModel.cjs +78 -0
- package/dist/worker/createWorkerRowModel.cjs.map +1 -0
- package/dist/worker/createWorkerRowModel.d.cts +42 -0
- package/dist/worker/createWorkerRowModel.d.ts +42 -0
- package/dist/worker/createWorkerRowModel.js +78 -0
- package/dist/worker/createWorkerRowModel.js.map +1 -0
- package/dist/worker/initTableWorker.cjs +100 -0
- package/dist/worker/initTableWorker.cjs.map +1 -0
- package/dist/worker/initTableWorker.d.cts +33 -0
- package/dist/worker/initTableWorker.d.ts +33 -0
- package/dist/worker/initTableWorker.js +100 -0
- package/dist/worker/initTableWorker.js.map +1 -0
- package/dist/worker/rebuildRowModel.cjs +72 -0
- package/dist/worker/rebuildRowModel.cjs.map +1 -0
- package/dist/worker/rebuildRowModel.d.cts +9 -0
- package/dist/worker/rebuildRowModel.d.ts +9 -0
- package/dist/worker/rebuildRowModel.js +72 -0
- package/dist/worker/rebuildRowModel.js.map +1 -0
- package/dist/worker/serializeRowModel.cjs +53 -0
- package/dist/worker/serializeRowModel.cjs.map +1 -0
- package/dist/worker/serializeRowModel.js +52 -0
- package/dist/worker/serializeRowModel.js.map +1 -0
- package/dist/worker/tableWorkerProtocol.cjs +29 -0
- package/dist/worker/tableWorkerProtocol.cjs.map +1 -0
- package/dist/worker/tableWorkerProtocol.d.cts +88 -0
- package/dist/worker/tableWorkerProtocol.d.ts +88 -0
- package/dist/worker/tableWorkerProtocol.js +27 -0
- package/dist/worker/tableWorkerProtocol.js.map +1 -0
- package/package.json +6 -2
- package/src/experimental-worker-plugin.ts +22 -0
- package/src/features/column-grouping/createGroupedRowModel.ts +9 -3
- package/src/features/row-selection/rowSelectionFeature.utils.ts +4 -2
- package/src/worker/createTableWorker.ts +357 -0
- package/src/worker/createWorkerRowModel.ts +121 -0
- package/src/worker/initTableWorker.ts +164 -0
- package/src/worker/rebuildRowModel.ts +117 -0
- package/src/worker/serializeRowModel.ts +80 -0
- package/src/worker/tableWorkerProtocol.ts +105 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/worker/tableWorkerProtocol.ts
|
|
3
|
+
/**
|
|
4
|
+
* Row model stages that can be offloaded to the worker, in pipeline order.
|
|
5
|
+
* Everything else in this module is derived from this list; adding a stage
|
|
6
|
+
* means adding an entry here and to `tableWorkerStageStateDeps`.
|
|
7
|
+
*/
|
|
8
|
+
const tableWorkerPipeline = [
|
|
9
|
+
"filtered",
|
|
10
|
+
"grouped",
|
|
11
|
+
"sorted",
|
|
12
|
+
"expanded"
|
|
13
|
+
];
|
|
14
|
+
/**
|
|
15
|
+
* The state slices each stage's computation depends on. The main thread sends
|
|
16
|
+
* the union of deps for its registered stages; a change to any of them
|
|
17
|
+
* triggers one worker round trip.
|
|
18
|
+
*/
|
|
19
|
+
const tableWorkerStageStateDeps = {
|
|
20
|
+
filtered: ["columnFilters", "globalFilter"],
|
|
21
|
+
grouped: ["grouping"],
|
|
22
|
+
sorted: ["sorting"],
|
|
23
|
+
expanded: ["expanded"]
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
exports.tableWorkerPipeline = tableWorkerPipeline;
|
|
28
|
+
exports.tableWorkerStageStateDeps = tableWorkerStageStateDeps;
|
|
29
|
+
//# sourceMappingURL=tableWorkerProtocol.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableWorkerProtocol.cjs","names":[],"sources":["../../src/worker/tableWorkerProtocol.ts"],"sourcesContent":["import type { RowData } from '../types/type-utils'\n\n/**\n * Row model stages that can be offloaded to the worker, in pipeline order.\n * Everything else in this module is derived from this list; adding a stage\n * means adding an entry here and to `tableWorkerStageStateDeps`.\n */\nexport const tableWorkerPipeline = [\n 'filtered',\n 'grouped',\n 'sorted',\n 'expanded',\n] as const\n\nexport type TableWorkerStage = (typeof tableWorkerPipeline)[number]\n\n/**\n * The state slices each stage's computation depends on. The main thread sends\n * the union of deps for its registered stages; a change to any of them\n * triggers one worker round trip.\n */\nexport const tableWorkerStageStateDeps: Record<\n TableWorkerStage,\n Array<string>\n> = {\n filtered: ['columnFilters', 'globalFilter'],\n grouped: ['grouping'],\n sorted: ['sorting'],\n expanded: ['expanded'],\n}\n\n/**\n * A serialized synthetic (group) row. Leaf rows serialize as their position in\n * `options.data`; group rows carry what `constructRow` + the grouped row model\n * need to rebuild them, plus eagerly computed aggregate values so no\n * aggregation runs on the main thread.\n */\nexport interface TableWorkerGroupNode {\n id: string\n groupingColumnId: string\n groupingValue: unknown\n index: number\n aggregates: Record<string, unknown>\n children: Array<TableWorkerRowNode>\n}\n\nexport type TableWorkerRowNode = number | TableWorkerGroupNode\n\n/**\n * A stage result. Flat models (every row is a data row) travel as a\n * transferable index permutation; models containing synthetic rows (grouping)\n * travel as a tree. The kind is chosen from the model's actual shape at\n * runtime, not from the stage name: a sorted model is flat without grouping\n * and a tree with it.\n *\n * `unchanged` means the stage's model is identical to the last one sent for\n * this dataset (its memoized inputs did not change); the main thread keeps\n * its previous result and skips the rebuild entirely.\n */\nexport type TableWorkerStagePayload =\n | { kind: 'flat'; indices: Uint32Array }\n | { kind: 'tree'; children: Array<TableWorkerRowNode> }\n | { kind: 'unchanged' }\n\nexport type TableWorkerRequest<TData extends RowData = any> =\n | {\n type: 'data'\n dataVersion: number\n data: Array<TData>\n }\n | {\n type: 'process'\n requestId: number\n dataVersion: number\n /** The stages the main thread has worker-backed row models for. */\n stages: Array<TableWorkerStage>\n /** Serializable state slices (union of the stages' deps). */\n state: Record<string, unknown>\n }\n\nexport interface TableWorkerResult {\n type: 'result'\n requestId: number\n dataVersion: number\n stages: { [K in TableWorkerStage]?: TableWorkerStagePayload }\n computeMs: number\n}\n\nexport type TableWorkerResponse = TableWorkerResult\n\n/**\n * The state slice added by `workerRowModelsFeature`. `version` bumps when a\n * worker result lands (driving re-renders through the normal state path);\n * `isPending` is true while a request is in flight. The timing fields expose\n * the last result's worker compute time and full round trip for devtools and\n * debugging.\n */\nexport interface TableState_WorkerRowModels {\n workerRowModels: {\n version: number\n isPending: boolean\n lastComputeMs?: number\n lastRoundTripMs?: number\n }\n}\n"],"mappings":";;;;;;;AAOA,MAAa,sBAAsB;CACjC;CACA;CACA;CACA;AACF;;;;;;AASA,MAAa,4BAGT;CACF,UAAU,CAAC,iBAAiB,cAAc;CAC1C,SAAS,CAAC,UAAU;CACpB,QAAQ,CAAC,SAAS;CAClB,UAAU,CAAC,UAAU;AACvB"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { RowData } from "../types/type-utils.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/worker/tableWorkerProtocol.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Row model stages that can be offloaded to the worker, in pipeline order.
|
|
6
|
+
* Everything else in this module is derived from this list; adding a stage
|
|
7
|
+
* means adding an entry here and to `tableWorkerStageStateDeps`.
|
|
8
|
+
*/
|
|
9
|
+
declare const tableWorkerPipeline: readonly ["filtered", "grouped", "sorted", "expanded"];
|
|
10
|
+
type TableWorkerStage = (typeof tableWorkerPipeline)[number];
|
|
11
|
+
/**
|
|
12
|
+
* The state slices each stage's computation depends on. The main thread sends
|
|
13
|
+
* the union of deps for its registered stages; a change to any of them
|
|
14
|
+
* triggers one worker round trip.
|
|
15
|
+
*/
|
|
16
|
+
declare const tableWorkerStageStateDeps: Record<TableWorkerStage, Array<string>>;
|
|
17
|
+
/**
|
|
18
|
+
* A serialized synthetic (group) row. Leaf rows serialize as their position in
|
|
19
|
+
* `options.data`; group rows carry what `constructRow` + the grouped row model
|
|
20
|
+
* need to rebuild them, plus eagerly computed aggregate values so no
|
|
21
|
+
* aggregation runs on the main thread.
|
|
22
|
+
*/
|
|
23
|
+
interface TableWorkerGroupNode {
|
|
24
|
+
id: string;
|
|
25
|
+
groupingColumnId: string;
|
|
26
|
+
groupingValue: unknown;
|
|
27
|
+
index: number;
|
|
28
|
+
aggregates: Record<string, unknown>;
|
|
29
|
+
children: Array<TableWorkerRowNode>;
|
|
30
|
+
}
|
|
31
|
+
type TableWorkerRowNode = number | TableWorkerGroupNode;
|
|
32
|
+
/**
|
|
33
|
+
* A stage result. Flat models (every row is a data row) travel as a
|
|
34
|
+
* transferable index permutation; models containing synthetic rows (grouping)
|
|
35
|
+
* travel as a tree. The kind is chosen from the model's actual shape at
|
|
36
|
+
* runtime, not from the stage name: a sorted model is flat without grouping
|
|
37
|
+
* and a tree with it.
|
|
38
|
+
*
|
|
39
|
+
* `unchanged` means the stage's model is identical to the last one sent for
|
|
40
|
+
* this dataset (its memoized inputs did not change); the main thread keeps
|
|
41
|
+
* its previous result and skips the rebuild entirely.
|
|
42
|
+
*/
|
|
43
|
+
type TableWorkerStagePayload = {
|
|
44
|
+
kind: 'flat';
|
|
45
|
+
indices: Uint32Array;
|
|
46
|
+
} | {
|
|
47
|
+
kind: 'tree';
|
|
48
|
+
children: Array<TableWorkerRowNode>;
|
|
49
|
+
} | {
|
|
50
|
+
kind: 'unchanged';
|
|
51
|
+
};
|
|
52
|
+
type TableWorkerRequest<TData extends RowData = any> = {
|
|
53
|
+
type: 'data';
|
|
54
|
+
dataVersion: number;
|
|
55
|
+
data: Array<TData>;
|
|
56
|
+
} | {
|
|
57
|
+
type: 'process';
|
|
58
|
+
requestId: number;
|
|
59
|
+
dataVersion: number; /** The stages the main thread has worker-backed row models for. */
|
|
60
|
+
stages: Array<TableWorkerStage>; /** Serializable state slices (union of the stages' deps). */
|
|
61
|
+
state: Record<string, unknown>;
|
|
62
|
+
};
|
|
63
|
+
interface TableWorkerResult {
|
|
64
|
+
type: 'result';
|
|
65
|
+
requestId: number;
|
|
66
|
+
dataVersion: number;
|
|
67
|
+
stages: { [K in TableWorkerStage]?: TableWorkerStagePayload };
|
|
68
|
+
computeMs: number;
|
|
69
|
+
}
|
|
70
|
+
type TableWorkerResponse = TableWorkerResult;
|
|
71
|
+
/**
|
|
72
|
+
* The state slice added by `workerRowModelsFeature`. `version` bumps when a
|
|
73
|
+
* worker result lands (driving re-renders through the normal state path);
|
|
74
|
+
* `isPending` is true while a request is in flight. The timing fields expose
|
|
75
|
+
* the last result's worker compute time and full round trip for devtools and
|
|
76
|
+
* debugging.
|
|
77
|
+
*/
|
|
78
|
+
interface TableState_WorkerRowModels {
|
|
79
|
+
workerRowModels: {
|
|
80
|
+
version: number;
|
|
81
|
+
isPending: boolean;
|
|
82
|
+
lastComputeMs?: number;
|
|
83
|
+
lastRoundTripMs?: number;
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
export { TableState_WorkerRowModels, TableWorkerGroupNode, TableWorkerRequest, TableWorkerResponse, TableWorkerResult, TableWorkerRowNode, TableWorkerStage, TableWorkerStagePayload, tableWorkerPipeline, tableWorkerStageStateDeps };
|
|
88
|
+
//# sourceMappingURL=tableWorkerProtocol.d.cts.map
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { RowData } from "../types/type-utils.js";
|
|
2
|
+
|
|
3
|
+
//#region src/worker/tableWorkerProtocol.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Row model stages that can be offloaded to the worker, in pipeline order.
|
|
6
|
+
* Everything else in this module is derived from this list; adding a stage
|
|
7
|
+
* means adding an entry here and to `tableWorkerStageStateDeps`.
|
|
8
|
+
*/
|
|
9
|
+
declare const tableWorkerPipeline: readonly ["filtered", "grouped", "sorted", "expanded"];
|
|
10
|
+
type TableWorkerStage = (typeof tableWorkerPipeline)[number];
|
|
11
|
+
/**
|
|
12
|
+
* The state slices each stage's computation depends on. The main thread sends
|
|
13
|
+
* the union of deps for its registered stages; a change to any of them
|
|
14
|
+
* triggers one worker round trip.
|
|
15
|
+
*/
|
|
16
|
+
declare const tableWorkerStageStateDeps: Record<TableWorkerStage, Array<string>>;
|
|
17
|
+
/**
|
|
18
|
+
* A serialized synthetic (group) row. Leaf rows serialize as their position in
|
|
19
|
+
* `options.data`; group rows carry what `constructRow` + the grouped row model
|
|
20
|
+
* need to rebuild them, plus eagerly computed aggregate values so no
|
|
21
|
+
* aggregation runs on the main thread.
|
|
22
|
+
*/
|
|
23
|
+
interface TableWorkerGroupNode {
|
|
24
|
+
id: string;
|
|
25
|
+
groupingColumnId: string;
|
|
26
|
+
groupingValue: unknown;
|
|
27
|
+
index: number;
|
|
28
|
+
aggregates: Record<string, unknown>;
|
|
29
|
+
children: Array<TableWorkerRowNode>;
|
|
30
|
+
}
|
|
31
|
+
type TableWorkerRowNode = number | TableWorkerGroupNode;
|
|
32
|
+
/**
|
|
33
|
+
* A stage result. Flat models (every row is a data row) travel as a
|
|
34
|
+
* transferable index permutation; models containing synthetic rows (grouping)
|
|
35
|
+
* travel as a tree. The kind is chosen from the model's actual shape at
|
|
36
|
+
* runtime, not from the stage name: a sorted model is flat without grouping
|
|
37
|
+
* and a tree with it.
|
|
38
|
+
*
|
|
39
|
+
* `unchanged` means the stage's model is identical to the last one sent for
|
|
40
|
+
* this dataset (its memoized inputs did not change); the main thread keeps
|
|
41
|
+
* its previous result and skips the rebuild entirely.
|
|
42
|
+
*/
|
|
43
|
+
type TableWorkerStagePayload = {
|
|
44
|
+
kind: 'flat';
|
|
45
|
+
indices: Uint32Array;
|
|
46
|
+
} | {
|
|
47
|
+
kind: 'tree';
|
|
48
|
+
children: Array<TableWorkerRowNode>;
|
|
49
|
+
} | {
|
|
50
|
+
kind: 'unchanged';
|
|
51
|
+
};
|
|
52
|
+
type TableWorkerRequest<TData extends RowData = any> = {
|
|
53
|
+
type: 'data';
|
|
54
|
+
dataVersion: number;
|
|
55
|
+
data: Array<TData>;
|
|
56
|
+
} | {
|
|
57
|
+
type: 'process';
|
|
58
|
+
requestId: number;
|
|
59
|
+
dataVersion: number; /** The stages the main thread has worker-backed row models for. */
|
|
60
|
+
stages: Array<TableWorkerStage>; /** Serializable state slices (union of the stages' deps). */
|
|
61
|
+
state: Record<string, unknown>;
|
|
62
|
+
};
|
|
63
|
+
interface TableWorkerResult {
|
|
64
|
+
type: 'result';
|
|
65
|
+
requestId: number;
|
|
66
|
+
dataVersion: number;
|
|
67
|
+
stages: { [K in TableWorkerStage]?: TableWorkerStagePayload };
|
|
68
|
+
computeMs: number;
|
|
69
|
+
}
|
|
70
|
+
type TableWorkerResponse = TableWorkerResult;
|
|
71
|
+
/**
|
|
72
|
+
* The state slice added by `workerRowModelsFeature`. `version` bumps when a
|
|
73
|
+
* worker result lands (driving re-renders through the normal state path);
|
|
74
|
+
* `isPending` is true while a request is in flight. The timing fields expose
|
|
75
|
+
* the last result's worker compute time and full round trip for devtools and
|
|
76
|
+
* debugging.
|
|
77
|
+
*/
|
|
78
|
+
interface TableState_WorkerRowModels {
|
|
79
|
+
workerRowModels: {
|
|
80
|
+
version: number;
|
|
81
|
+
isPending: boolean;
|
|
82
|
+
lastComputeMs?: number;
|
|
83
|
+
lastRoundTripMs?: number;
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
export { TableState_WorkerRowModels, TableWorkerGroupNode, TableWorkerRequest, TableWorkerResponse, TableWorkerResult, TableWorkerRowNode, TableWorkerStage, TableWorkerStagePayload, tableWorkerPipeline, tableWorkerStageStateDeps };
|
|
88
|
+
//# sourceMappingURL=tableWorkerProtocol.d.ts.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/worker/tableWorkerProtocol.ts
|
|
2
|
+
/**
|
|
3
|
+
* Row model stages that can be offloaded to the worker, in pipeline order.
|
|
4
|
+
* Everything else in this module is derived from this list; adding a stage
|
|
5
|
+
* means adding an entry here and to `tableWorkerStageStateDeps`.
|
|
6
|
+
*/
|
|
7
|
+
const tableWorkerPipeline = [
|
|
8
|
+
"filtered",
|
|
9
|
+
"grouped",
|
|
10
|
+
"sorted",
|
|
11
|
+
"expanded"
|
|
12
|
+
];
|
|
13
|
+
/**
|
|
14
|
+
* The state slices each stage's computation depends on. The main thread sends
|
|
15
|
+
* the union of deps for its registered stages; a change to any of them
|
|
16
|
+
* triggers one worker round trip.
|
|
17
|
+
*/
|
|
18
|
+
const tableWorkerStageStateDeps = {
|
|
19
|
+
filtered: ["columnFilters", "globalFilter"],
|
|
20
|
+
grouped: ["grouping"],
|
|
21
|
+
sorted: ["sorting"],
|
|
22
|
+
expanded: ["expanded"]
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
export { tableWorkerPipeline, tableWorkerStageStateDeps };
|
|
27
|
+
//# sourceMappingURL=tableWorkerProtocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableWorkerProtocol.js","names":[],"sources":["../../src/worker/tableWorkerProtocol.ts"],"sourcesContent":["import type { RowData } from '../types/type-utils'\n\n/**\n * Row model stages that can be offloaded to the worker, in pipeline order.\n * Everything else in this module is derived from this list; adding a stage\n * means adding an entry here and to `tableWorkerStageStateDeps`.\n */\nexport const tableWorkerPipeline = [\n 'filtered',\n 'grouped',\n 'sorted',\n 'expanded',\n] as const\n\nexport type TableWorkerStage = (typeof tableWorkerPipeline)[number]\n\n/**\n * The state slices each stage's computation depends on. The main thread sends\n * the union of deps for its registered stages; a change to any of them\n * triggers one worker round trip.\n */\nexport const tableWorkerStageStateDeps: Record<\n TableWorkerStage,\n Array<string>\n> = {\n filtered: ['columnFilters', 'globalFilter'],\n grouped: ['grouping'],\n sorted: ['sorting'],\n expanded: ['expanded'],\n}\n\n/**\n * A serialized synthetic (group) row. Leaf rows serialize as their position in\n * `options.data`; group rows carry what `constructRow` + the grouped row model\n * need to rebuild them, plus eagerly computed aggregate values so no\n * aggregation runs on the main thread.\n */\nexport interface TableWorkerGroupNode {\n id: string\n groupingColumnId: string\n groupingValue: unknown\n index: number\n aggregates: Record<string, unknown>\n children: Array<TableWorkerRowNode>\n}\n\nexport type TableWorkerRowNode = number | TableWorkerGroupNode\n\n/**\n * A stage result. Flat models (every row is a data row) travel as a\n * transferable index permutation; models containing synthetic rows (grouping)\n * travel as a tree. The kind is chosen from the model's actual shape at\n * runtime, not from the stage name: a sorted model is flat without grouping\n * and a tree with it.\n *\n * `unchanged` means the stage's model is identical to the last one sent for\n * this dataset (its memoized inputs did not change); the main thread keeps\n * its previous result and skips the rebuild entirely.\n */\nexport type TableWorkerStagePayload =\n | { kind: 'flat'; indices: Uint32Array }\n | { kind: 'tree'; children: Array<TableWorkerRowNode> }\n | { kind: 'unchanged' }\n\nexport type TableWorkerRequest<TData extends RowData = any> =\n | {\n type: 'data'\n dataVersion: number\n data: Array<TData>\n }\n | {\n type: 'process'\n requestId: number\n dataVersion: number\n /** The stages the main thread has worker-backed row models for. */\n stages: Array<TableWorkerStage>\n /** Serializable state slices (union of the stages' deps). */\n state: Record<string, unknown>\n }\n\nexport interface TableWorkerResult {\n type: 'result'\n requestId: number\n dataVersion: number\n stages: { [K in TableWorkerStage]?: TableWorkerStagePayload }\n computeMs: number\n}\n\nexport type TableWorkerResponse = TableWorkerResult\n\n/**\n * The state slice added by `workerRowModelsFeature`. `version` bumps when a\n * worker result lands (driving re-renders through the normal state path);\n * `isPending` is true while a request is in flight. The timing fields expose\n * the last result's worker compute time and full round trip for devtools and\n * debugging.\n */\nexport interface TableState_WorkerRowModels {\n workerRowModels: {\n version: number\n isPending: boolean\n lastComputeMs?: number\n lastRoundTripMs?: number\n }\n}\n"],"mappings":";;;;;;AAOA,MAAa,sBAAsB;CACjC;CACA;CACA;CACA;AACF;;;;;;AASA,MAAa,4BAGT;CACF,UAAU,CAAC,iBAAiB,cAAc;CAC1C,SAAS,CAAC,UAAU;CACpB,QAAQ,CAAC,SAAS;CAClB,UAAU,CAAC,UAAU;AACvB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/table-core",
|
|
3
|
-
"version": "9.0.0-beta.
|
|
3
|
+
"version": "9.0.0-beta.33",
|
|
4
4
|
"description": "Headless UI for building powerful tables & datagrids for TS/JS.",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,6 +35,10 @@
|
|
|
35
35
|
"import": "./dist/index.js",
|
|
36
36
|
"require": "./dist/index.cjs"
|
|
37
37
|
},
|
|
38
|
+
"./experimental-worker-plugin": {
|
|
39
|
+
"import": "./dist/experimental-worker-plugin.js",
|
|
40
|
+
"require": "./dist/experimental-worker-plugin.cjs"
|
|
41
|
+
},
|
|
38
42
|
"./flex-render": {
|
|
39
43
|
"import": "./dist/flex-render.js",
|
|
40
44
|
"require": "./dist/flex-render.cjs"
|
|
@@ -55,7 +59,7 @@
|
|
|
55
59
|
},
|
|
56
60
|
"sideEffects": false,
|
|
57
61
|
"engines": {
|
|
58
|
-
"node": ">=
|
|
62
|
+
"node": ">=20"
|
|
59
63
|
},
|
|
60
64
|
"files": [
|
|
61
65
|
"dist/",
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web Worker row models sub-entry (experimental POC).
|
|
3
|
+
*
|
|
4
|
+
* Offloads row model stages to a dedicated worker running a headless "shadow
|
|
5
|
+
* table" built with the same table-core row model pipeline. The main thread
|
|
6
|
+
* receives transferable index permutations and rebuilds its row models from
|
|
7
|
+
* them, stale-while-revalidate style.
|
|
8
|
+
*
|
|
9
|
+
* Main thread:
|
|
10
|
+
* - `createTableWorker` — one shared handle per table worker
|
|
11
|
+
* - `createWorkerRowModel` — turns any flat row model stage into a
|
|
12
|
+
* worker-backed factory for the matching `features` slot
|
|
13
|
+
* - `workerRowModelsFeature` — registers the `workerRowModels` state slice
|
|
14
|
+
*
|
|
15
|
+
* Worker entry (user-authored file):
|
|
16
|
+
* - `initTableWorker` — runs the shadow table; computes only the stages whose
|
|
17
|
+
* row model factories are registered in its config
|
|
18
|
+
*/
|
|
19
|
+
export * from './worker/tableWorkerProtocol'
|
|
20
|
+
export * from './worker/initTableWorker'
|
|
21
|
+
export * from './worker/createTableWorker'
|
|
22
|
+
export * from './worker/createWorkerRowModel'
|
|
@@ -83,11 +83,17 @@ function _createGroupedRowModel<
|
|
|
83
83
|
return rows.map((row) => {
|
|
84
84
|
row.depth = depth
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
// Every row is pushed into flatRows/rowsById exactly once, by its
|
|
87
|
+
// parent frame: rows returned here are pushed by the caller (the
|
|
88
|
+
// parent group's loop or the root loop), so only descendants below
|
|
89
|
+
// the terminal depth are pushed here.
|
|
89
90
|
if (row.subRows.length) {
|
|
90
91
|
row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id)
|
|
92
|
+
for (let i = 0; i < row.subRows.length; i++) {
|
|
93
|
+
const subRow = row.subRows[i]!
|
|
94
|
+
groupedFlatRows.push(subRow)
|
|
95
|
+
groupedRowsById[subRow.id] = subRow
|
|
96
|
+
}
|
|
91
97
|
}
|
|
92
98
|
|
|
93
99
|
return row
|
|
@@ -247,7 +247,7 @@ export function table_getFilteredSelectedRowModel<
|
|
|
247
247
|
TFeatures extends TableFeatures,
|
|
248
248
|
TData extends RowData,
|
|
249
249
|
>(table: Table_Internal<TFeatures, TData>) {
|
|
250
|
-
const rowModel = table.
|
|
250
|
+
const rowModel = table.getFilteredRowModel()
|
|
251
251
|
|
|
252
252
|
if (
|
|
253
253
|
!callMemoOrStaticFn(
|
|
@@ -281,7 +281,9 @@ export function table_getGroupedSelectedRowModel<
|
|
|
281
281
|
TFeatures extends TableFeatures,
|
|
282
282
|
TData extends RowData,
|
|
283
283
|
>(table: Table_Internal<TFeatures, TData>) {
|
|
284
|
-
|
|
284
|
+
// The sorted model falls back grouped -> filtered -> core when those
|
|
285
|
+
// features are not registered, so selected group rows are always visible.
|
|
286
|
+
const rowModel = table.getSortedRowModel()
|
|
285
287
|
|
|
286
288
|
if (
|
|
287
289
|
!callMemoOrStaticFn(
|