@tanstack/table-core 9.0.0-beta.9 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -9
- package/dist/core/cells/constructCell.d.ts +4 -6
- package/dist/core/cells/constructCell.js +4 -6
- package/dist/core/cells/coreCellsFeature.d.ts +1 -3
- package/dist/core/cells/coreCellsFeature.js +1 -2
- package/dist/core/cells/coreCellsFeature.types.d.ts +7 -9
- package/dist/core/cells/coreCellsFeature.utils.d.ts +5 -5
- package/dist/core/cells/coreCellsFeature.utils.js +1 -2
- package/dist/core/columns/constructColumn.d.ts +4 -6
- package/dist/core/columns/constructColumn.js +8 -9
- package/dist/core/columns/coreColumnsFeature.d.ts +2 -4
- package/dist/core/columns/coreColumnsFeature.js +14 -21
- package/dist/core/columns/coreColumnsFeature.types.d.ts +13 -15
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +10 -12
- package/dist/core/columns/coreColumnsFeature.utils.js +19 -20
- package/dist/core/coreFeatures.d.ts +2 -2
- package/dist/core/coreFeatures.js +1 -2
- package/dist/core/headers/buildHeaderGroups.d.ts +3 -5
- package/dist/core/headers/buildHeaderGroups.js +99 -85
- package/dist/core/headers/constructHeader.d.ts +3 -5
- package/dist/core/headers/constructHeader.js +4 -6
- package/dist/core/headers/coreHeadersFeature.d.ts +1 -3
- package/dist/core/headers/coreHeadersFeature.js +9 -13
- package/dist/core/headers/coreHeadersFeature.types.d.ts +22 -12
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +8 -8
- package/dist/core/headers/coreHeadersFeature.utils.js +14 -17
- package/dist/core/reactivity/coreReactivityFeature.types.d.ts +8 -3
- package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +1 -3
- package/dist/core/reactivity/coreReactivityFeature.utils.js +1 -2
- package/dist/core/reactivity/renderPhaseReactivity.d.ts +80 -0
- package/dist/core/reactivity/renderPhaseReactivity.js +95 -0
- package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -3
- package/dist/core/row-models/coreRowModelsFeature.js +1 -2
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -17
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +17 -19
- package/dist/core/row-models/coreRowModelsFeature.utils.js +9 -28
- package/dist/core/row-models/createCoreRowModel.d.ts +3 -5
- package/dist/core/row-models/createCoreRowModel.js +29 -24
- package/dist/core/rows/constructRow.d.ts +3 -5
- package/dist/core/rows/constructRow.js +9 -13
- package/dist/core/rows/coreRowsFeature.d.ts +1 -3
- package/dist/core/rows/coreRowsFeature.js +20 -5
- package/dist/core/rows/coreRowsFeature.types.d.ts +43 -11
- package/dist/core/rows/coreRowsFeature.utils.d.ts +26 -9
- package/dist/core/rows/coreRowsFeature.utils.js +65 -14
- package/dist/core/table/constructTable.d.ts +2 -4
- package/dist/core/table/constructTable.js +54 -22
- package/dist/core/table/coreTablesFeature.d.ts +1 -3
- package/dist/core/table/coreTablesFeature.js +1 -2
- package/dist/core/table/coreTablesFeature.types.d.ts +41 -24
- package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
- package/dist/core/table/coreTablesFeature.utils.js +71 -25
- package/dist/experimental-worker-plugin.d.ts +5 -0
- package/dist/experimental-worker-plugin.js +6 -0
- package/dist/features/cell-selection/cellSelectionFeature.d.ts +8 -0
- package/dist/features/cell-selection/cellSelectionFeature.js +128 -0
- package/dist/features/cell-selection/cellSelectionFeature.types.d.ts +296 -0
- package/dist/features/cell-selection/cellSelectionFeature.utils.d.ts +306 -0
- package/dist/features/cell-selection/cellSelectionFeature.utils.js +879 -0
- package/dist/features/cell-selection/cellSelectionGeometry.js +121 -0
- package/dist/features/cell-spanning/cellSpanningFeature.d.ts +13 -0
- package/dist/features/cell-spanning/cellSpanningFeature.js +47 -0
- package/dist/features/cell-spanning/cellSpanningFeature.types.d.ts +150 -0
- package/dist/features/cell-spanning/cellSpanningFeature.utils.d.ts +74 -0
- package/dist/features/cell-spanning/cellSpanningFeature.utils.js +262 -0
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +7 -3
- package/dist/features/column-faceting/columnFacetingFeature.js +14 -43
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -35
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +10 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +29 -14
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +2 -4
- package/dist/features/column-faceting/createFacetedMinMaxValues.js +9 -7
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +3 -5
- package/dist/features/column-faceting/createFacetedRowModel.js +12 -17
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +2 -4
- package/dist/features/column-faceting/createFacetedUniqueValues.js +12 -9
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -3
- package/dist/features/column-filtering/columnFilteringFeature.js +4 -5
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +90 -33
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +25 -18
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +42 -23
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
- package/dist/features/column-filtering/createFilteredRowModel.js +34 -30
- package/dist/features/column-filtering/filterFns.d.ts +210 -0
- package/dist/features/column-filtering/filterFns.js +377 -0
- package/dist/features/column-filtering/filterRowsUtils.js +12 -4
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +2 -4
- package/dist/features/column-grouping/columnGroupingFeature.js +7 -20
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -52
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -51
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -61
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +7 -7
- package/dist/features/column-grouping/createGroupedRowModel.js +79 -43
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -3
- package/dist/features/column-ordering/columnOrderingFeature.js +19 -24
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -5
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -16
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -18
- package/dist/features/column-pinning/columnPinningFeature.d.ts +7 -4
- package/dist/features/column-pinning/columnPinningFeature.js +126 -146
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +53 -44
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +100 -93
- package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -150
- package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -3
- package/dist/features/column-resizing/columnResizingFeature.js +1 -2
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +2 -7
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +7 -9
- package/dist/features/column-resizing/columnResizingFeature.utils.js +86 -48
- package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -3
- package/dist/features/column-sizing/columnSizingFeature.js +35 -70
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -11
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -27
- package/dist/features/column-sizing/columnSizingFeature.utils.js +95 -54
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -3
- package/dist/features/column-visibility/columnVisibilityFeature.js +26 -38
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +4 -6
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +22 -20
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +39 -32
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -3
- package/dist/features/global-filtering/globalFilteringFeature.js +3 -4
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -13
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +7 -8
- package/dist/features/row-aggregation/aggregationFns.d.ts +66 -0
- package/dist/features/row-aggregation/aggregationFns.js +279 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.ts +8 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js +35 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +193 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js +11 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +46 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js +235 -0
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +3 -5
- package/dist/features/row-expanding/createExpandedRowModel.js +9 -13
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -3
- package/dist/features/row-expanding/rowExpandingFeature.js +1 -2
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +7 -18
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +26 -22
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +66 -45
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
- package/dist/features/row-pagination/createPaginatedRowModel.js +10 -12
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -3
- package/dist/features/row-pagination/rowPaginationFeature.js +1 -2
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +6 -17
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +18 -20
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +10 -17
- package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -3
- package/dist/features/row-pinning/rowPinningFeature.js +5 -18
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +3 -5
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +8 -10
- package/dist/features/row-pinning/rowPinningFeature.utils.js +12 -18
- package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
- package/dist/features/row-selection/rowSelectionFeature.js +70 -25
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +69 -16
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +70 -38
- package/dist/features/row-selection/rowSelectionFeature.utils.js +229 -108
- package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
- package/dist/features/row-sorting/createSortedRowModel.js +72 -54
- package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -3
- package/dist/features/row-sorting/rowSortingFeature.js +2 -2
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +74 -31
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +39 -27
- package/dist/features/row-sorting/rowSortingFeature.utils.js +66 -33
- package/dist/features/row-sorting/sortFns.d.ts +96 -0
- package/dist/features/row-sorting/sortFns.js +216 -0
- package/dist/features/stockFeatures.d.ts +7 -3
- package/dist/features/stockFeatures.js +7 -2
- package/dist/flex-render.d.ts +2 -4
- package/dist/flex-render.js +10 -3
- package/dist/helpers/columnHelper.d.ts +3 -5
- package/dist/helpers/columnHelper.js +1 -2
- package/dist/helpers/metaHelper.d.ts +1 -2
- package/dist/helpers/metaHelper.js +1 -2
- package/dist/helpers/tableFeatures.d.ts +30 -13
- package/dist/helpers/tableFeatures.js +28 -10
- package/dist/helpers/tableOptions.d.ts +1 -3
- package/dist/helpers/tableOptions.js +1 -2
- package/dist/index.d.ts +32 -26
- package/dist/index.js +9 -5
- package/dist/reactivity.d.ts +2 -1
- package/dist/reactivity.js +2 -1
- package/dist/static-functions.d.ts +12 -9
- package/dist/static-functions.js +13 -10
- package/dist/store-reactivity-bindings.d.ts +1 -3
- package/dist/store-reactivity-bindings.js +3 -4
- package/dist/types/Cell.d.ts +9 -5
- package/dist/types/Column.d.ts +13 -15
- package/dist/types/ColumnDef.d.ts +23 -19
- package/dist/types/Header.d.ts +3 -5
- package/dist/types/HeaderGroup.d.ts +3 -5
- package/dist/types/Row.d.ts +7 -7
- package/dist/types/RowModel.d.ts +11 -25
- package/dist/types/RowModelFns.d.ts +5 -7
- package/dist/types/Table.d.ts +29 -32
- package/dist/types/TableFeatures.d.ts +372 -30
- package/dist/types/TableOptions.d.ts +24 -14
- package/dist/types/TableState.d.ts +8 -8
- package/dist/types/type-utils.d.ts +10 -4
- package/dist/utils.d.ts +42 -27
- package/dist/utils.js +71 -33
- package/dist/worker/createTableWorker.d.ts +102 -0
- package/dist/worker/createTableWorker.js +188 -0
- package/dist/worker/createWorkerRowModel.d.ts +40 -0
- package/dist/worker/createWorkerRowModel.js +77 -0
- package/dist/worker/initTableWorker.d.ts +31 -0
- package/dist/worker/initTableWorker.js +99 -0
- package/dist/worker/rebuildRowModel.d.ts +11 -0
- package/dist/worker/rebuildRowModel.js +71 -0
- package/dist/worker/serializeRowModel.js +51 -0
- package/dist/worker/tableWorkerProtocol.d.ts +88 -0
- package/dist/worker/tableWorkerProtocol.js +26 -0
- package/package.json +12 -28
- package/skills/aggregation/SKILL.md +137 -0
- package/skills/api-not-found/SKILL.md +113 -0
- package/skills/cell-selection/SKILL.md +200 -0
- package/skills/cell-spanning/SKILL.md +158 -0
- package/skills/client-vs-server/SKILL.md +164 -0
- package/skills/column-faceting/SKILL.md +93 -0
- package/skills/column-filtering/SKILL.md +83 -0
- package/skills/column-ordering/SKILL.md +71 -0
- package/skills/column-pinning/SKILL.md +85 -0
- package/skills/column-resizing/SKILL.md +87 -0
- package/skills/column-sizing/SKILL.md +68 -0
- package/skills/column-visibility/SKILL.md +71 -0
- package/skills/core/SKILL.md +175 -0
- package/skills/custom-features/SKILL.md +235 -0
- package/skills/expanding/SKILL.md +76 -0
- package/skills/global-filtering/SKILL.md +80 -0
- package/skills/grouping/SKILL.md +47 -401
- package/skills/migrate-v8-to-v9/SKILL.md +275 -416
- package/skills/pagination/SKILL.md +33 -344
- package/skills/row-pinning/SKILL.md +43 -234
- package/skills/row-selection/SKILL.md +79 -296
- package/skills/sorting/SKILL.md +41 -303
- package/skills/table-features/SKILL.md +159 -0
- package/skills/typescript/SKILL.md +126 -0
- package/dist/core/cells/constructCell.cjs +0 -34
- package/dist/core/cells/constructCell.cjs.map +0 -1
- package/dist/core/cells/constructCell.d.cts +0 -17
- package/dist/core/cells/constructCell.js.map +0 -1
- package/dist/core/cells/coreCellsFeature.cjs +0 -21
- package/dist/core/cells/coreCellsFeature.cjs.map +0 -1
- package/dist/core/cells/coreCellsFeature.d.cts +0 -10
- package/dist/core/cells/coreCellsFeature.js.map +0 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +0 -57
- package/dist/core/cells/coreCellsFeature.utils.cjs +0 -57
- package/dist/core/cells/coreCellsFeature.utils.cjs.map +0 -1
- package/dist/core/cells/coreCellsFeature.utils.d.cts +0 -53
- package/dist/core/cells/coreCellsFeature.utils.js.map +0 -1
- package/dist/core/columns/constructColumn.cjs +0 -61
- package/dist/core/columns/constructColumn.cjs.map +0 -1
- package/dist/core/columns/constructColumn.d.cts +0 -16
- package/dist/core/columns/constructColumn.js.map +0 -1
- package/dist/core/columns/coreColumnsFeature.cjs +0 -70
- package/dist/core/columns/coreColumnsFeature.cjs.map +0 -1
- package/dist/core/columns/coreColumnsFeature.d.cts +0 -10
- package/dist/core/columns/coreColumnsFeature.js.map +0 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +0 -94
- package/dist/core/columns/coreColumnsFeature.utils.cjs +0 -187
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +0 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +0 -119
- package/dist/core/columns/coreColumnsFeature.utils.js.map +0 -1
- package/dist/core/coreFeatures.cjs +0 -25
- package/dist/core/coreFeatures.cjs.map +0 -1
- package/dist/core/coreFeatures.d.cts +0 -26
- package/dist/core/coreFeatures.js.map +0 -1
- package/dist/core/headers/buildHeaderGroups.cjs +0 -103
- package/dist/core/headers/buildHeaderGroups.cjs.map +0 -1
- package/dist/core/headers/buildHeaderGroups.d.cts +0 -16
- package/dist/core/headers/buildHeaderGroups.js.map +0 -1
- package/dist/core/headers/constructHeader.cjs +0 -41
- package/dist/core/headers/constructHeader.cjs.map +0 -1
- package/dist/core/headers/constructHeader.d.cts +0 -22
- package/dist/core/headers/constructHeader.js.map +0 -1
- package/dist/core/headers/coreHeadersFeature.cjs +0 -55
- package/dist/core/headers/coreHeadersFeature.cjs.map +0 -1
- package/dist/core/headers/coreHeadersFeature.d.cts +0 -10
- package/dist/core/headers/coreHeadersFeature.js.map +0 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +0 -106
- package/dist/core/headers/coreHeadersFeature.utils.cjs +0 -142
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +0 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +0 -85
- package/dist/core/headers/coreHeadersFeature.utils.js.map +0 -1
- package/dist/core/reactivity/coreReactivityFeature.types.d.cts +0 -48
- package/dist/core/reactivity/coreReactivityFeature.utils.cjs +0 -24
- package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +0 -1
- package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +0 -24
- package/dist/core/reactivity/coreReactivityFeature.utils.js.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.cjs +0 -27
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.d.cts +0 -10
- package/dist/core/row-models/coreRowModelsFeature.js.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +0 -41
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -215
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +0 -153
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
- package/dist/core/row-models/createCoreRowModel.cjs +0 -52
- package/dist/core/row-models/createCoreRowModel.cjs.map +0 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +0 -15
- package/dist/core/row-models/createCoreRowModel.js.map +0 -1
- package/dist/core/rows/constructRow.cjs +0 -44
- package/dist/core/rows/constructRow.cjs.map +0 -1
- package/dist/core/rows/constructRow.d.cts +0 -15
- package/dist/core/rows/constructRow.js.map +0 -1
- package/dist/core/rows/coreRowsFeature.cjs +0 -37
- package/dist/core/rows/coreRowsFeature.cjs.map +0 -1
- package/dist/core/rows/coreRowsFeature.d.cts +0 -10
- package/dist/core/rows/coreRowsFeature.js.map +0 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +0 -99
- package/dist/core/rows/coreRowsFeature.utils.cjs +0 -192
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -127
- package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
- package/dist/core/table/constructTable.cjs +0 -119
- package/dist/core/table/constructTable.cjs.map +0 -1
- package/dist/core/table/constructTable.d.cts +0 -22
- package/dist/core/table/constructTable.js.map +0 -1
- package/dist/core/table/coreTablesFeature.cjs +0 -17
- package/dist/core/table/coreTablesFeature.cjs.map +0 -1
- package/dist/core/table/coreTablesFeature.d.cts +0 -10
- package/dist/core/table/coreTablesFeature.js.map +0 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +0 -200
- package/dist/core/table/coreTablesFeature.utils.cjs +0 -96
- package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +0 -57
- package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -61
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +0 -10
- package/dist/features/column-faceting/columnFacetingFeature.js.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +0 -85
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -103
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +0 -84
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +0 -44
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +0 -14
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs +0 -50
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +0 -15
- package/dist/features/column-faceting/createFacetedRowModel.js.map +0 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +0 -41
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +0 -14
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +0 -50
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +0 -10
- package/dist/features/column-filtering/columnFilteringFeature.js.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +0 -160
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -212
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -143
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -110
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -16
- package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
- package/dist/features/column-filtering/filterRowsUtils.cjs +0 -81
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +0 -1
- package/dist/features/column-filtering/filterRowsUtils.js.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +0 -67
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +0 -10
- package/dist/features/column-grouping/columnGroupingFeature.js.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +0 -165
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -250
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -190
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -119
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -16
- package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -58
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +0 -10
- package/dist/features/column-ordering/columnOrderingFeature.js.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +0 -56
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -172
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -107
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +0 -221
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -10
- package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -178
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -585
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -375
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.cjs +0 -41
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.d.cts +0 -10
- package/dist/features/column-resizing/columnResizingFeature.js.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +0 -81
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -246
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +0 -109
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +0 -124
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.d.cts +0 -10
- package/dist/features/column-sizing/columnSizingFeature.js.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +0 -96
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -256
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -182
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -94
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +0 -10
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +0 -97
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +0 -283
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +0 -189
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +0 -41
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +0 -10
- package/dist/features/global-filtering/globalFilteringFeature.js.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +0 -71
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +0 -88
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +0 -74
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -59
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +0 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +0 -21
- package/dist/features/row-expanding/createExpandedRowModel.js.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.cjs +0 -47
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +0 -10
- package/dist/features/row-expanding/rowExpandingFeature.js.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +0 -127
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -281
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +0 -191
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +0 -62
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +0 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +0 -15
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.cjs +0 -45
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +0 -10
- package/dist/features/row-pagination/rowPaginationFeature.js.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +0 -135
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -312
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +0 -218
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +0 -67
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.d.cts +0 -10
- package/dist/features/row-pinning/rowPinningFeature.js.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +0 -83
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +0 -229
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +0 -143
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +0 -75
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.d.cts +0 -10
- package/dist/features/row-selection/rowSelectionFeature.js.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +0 -136
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -518
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -318
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +0 -95
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -16
- package/dist/features/row-sorting/createSortedRowModel.js.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.cjs +0 -55
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.d.cts +0 -10
- package/dist/features/row-sorting/rowSortingFeature.js.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +0 -188
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -305
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +0 -193
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
- package/dist/features/stockFeatures.cjs +0 -41
- package/dist/features/stockFeatures.cjs.map +0 -1
- package/dist/features/stockFeatures.d.cts +0 -41
- package/dist/features/stockFeatures.js.map +0 -1
- package/dist/flex-render.cjs +0 -29
- package/dist/flex-render.cjs.map +0 -1
- package/dist/flex-render.d.cts +0 -34
- package/dist/flex-render.js.map +0 -1
- package/dist/fns/aggregationFns.cjs +0 -161
- package/dist/fns/aggregationFns.cjs.map +0 -1
- package/dist/fns/aggregationFns.d.cts +0 -85
- package/dist/fns/aggregationFns.d.ts +0 -85
- package/dist/fns/aggregationFns.js +0 -151
- package/dist/fns/aggregationFns.js.map +0 -1
- package/dist/fns/filterFns.cjs +0 -201
- package/dist/fns/filterFns.cjs.map +0 -1
- package/dist/fns/filterFns.d.cts +0 -167
- package/dist/fns/filterFns.d.ts +0 -167
- package/dist/fns/filterFns.js +0 -185
- package/dist/fns/filterFns.js.map +0 -1
- package/dist/fns/sortFns.cjs +0 -130
- package/dist/fns/sortFns.cjs.map +0 -1
- package/dist/fns/sortFns.d.cts +0 -65
- package/dist/fns/sortFns.d.ts +0 -65
- package/dist/fns/sortFns.js +0 -122
- package/dist/fns/sortFns.js.map +0 -1
- package/dist/helpers/columnHelper.cjs +0 -41
- package/dist/helpers/columnHelper.cjs.map +0 -1
- package/dist/helpers/columnHelper.d.cts +0 -71
- package/dist/helpers/columnHelper.js.map +0 -1
- package/dist/helpers/metaHelper.cjs +0 -30
- package/dist/helpers/metaHelper.cjs.map +0 -1
- package/dist/helpers/metaHelper.d.cts +0 -26
- package/dist/helpers/metaHelper.js.map +0 -1
- package/dist/helpers/tableFeatures.cjs +0 -30
- package/dist/helpers/tableFeatures.cjs.map +0 -1
- package/dist/helpers/tableFeatures.d.cts +0 -28
- package/dist/helpers/tableFeatures.js.map +0 -1
- package/dist/helpers/tableOptions.cjs +0 -15
- package/dist/helpers/tableOptions.cjs.map +0 -1
- package/dist/helpers/tableOptions.d.cts +0 -57
- package/dist/helpers/tableOptions.js.map +0 -1
- package/dist/index.cjs +0 -135
- package/dist/index.d.cts +0 -79
- package/dist/reactivity.cjs +0 -4
- package/dist/reactivity.d.cts +0 -3
- package/dist/static-functions.cjs +0 -263
- package/dist/static-functions.d.cts +0 -21
- package/dist/store-reactivity-bindings.cjs +0 -44
- package/dist/store-reactivity-bindings.cjs.map +0 -1
- package/dist/store-reactivity-bindings.d.cts +0 -22
- package/dist/store-reactivity-bindings.js.map +0 -1
- package/dist/types/Cell.d.cts +0 -14
- package/dist/types/Column.d.cts +0 -36
- package/dist/types/ColumnDef.d.cts +0 -123
- package/dist/types/Header.d.cts +0 -16
- package/dist/types/HeaderGroup.d.cts +0 -10
- package/dist/types/Row.d.cts +0 -26
- package/dist/types/RowModel.d.cts +0 -36
- package/dist/types/RowModelFns.d.cts +0 -18
- package/dist/types/Table.d.cts +0 -70
- package/dist/types/TableFeatures.d.cts +0 -75
- package/dist/types/TableOptions.d.cts +0 -69
- package/dist/types/TableState.d.cts +0 -48
- package/dist/types/type-utils.d.cts +0 -23
- package/dist/utils.cjs +0 -243
- package/dist/utils.cjs.map +0 -1
- package/dist/utils.d.cts +0 -114
- package/dist/utils.js.map +0 -1
- package/skills/column-definitions/SKILL.md +0 -333
- package/skills/column-layout/SKILL.md +0 -328
- package/skills/column-layout/references/subsystems.md +0 -220
- package/skills/customizing-feature-behavior/SKILL.md +0 -416
- package/skills/filtering/SKILL.md +0 -357
- package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
- package/skills/row-expanding/SKILL.md +0 -348
- package/skills/setup/SKILL.md +0 -400
- package/skills/state-management/SKILL.md +0 -388
- package/src/core/cells/constructCell.ts +0 -55
- package/src/core/cells/coreCellsFeature.ts +0 -27
- package/src/core/cells/coreCellsFeature.types.ts +0 -68
- package/src/core/cells/coreCellsFeature.utils.ts +0 -68
- package/src/core/columns/constructColumn.ts +0 -119
- package/src/core/columns/coreColumnsFeature.ts +0 -73
- package/src/core/columns/coreColumnsFeature.types.ts +0 -108
- package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
- package/src/core/coreFeatures.ts +0 -31
- package/src/core/headers/buildHeaderGroups.ts +0 -182
- package/src/core/headers/constructHeader.ts +0 -67
- package/src/core/headers/coreHeadersFeature.ts +0 -56
- package/src/core/headers/coreHeadersFeature.types.ts +0 -125
- package/src/core/headers/coreHeadersFeature.utils.ts +0 -200
- package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
- package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
- package/src/core/row-models/coreRowModelsFeature.ts +0 -62
- package/src/core/row-models/coreRowModelsFeature.types.ts +0 -64
- package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
- package/src/core/row-models/createCoreRowModel.ts +0 -93
- package/src/core/rows/constructRow.ts +0 -66
- package/src/core/rows/coreRowsFeature.ts +0 -62
- package/src/core/rows/coreRowsFeature.types.ts +0 -117
- package/src/core/rows/coreRowsFeature.utils.ts +0 -264
- package/src/core/table/constructTable.ts +0 -179
- package/src/core/table/coreTablesFeature.ts +0 -19
- package/src/core/table/coreTablesFeature.types.ts +0 -237
- package/src/core/table/coreTablesFeature.utils.ts +0 -131
- package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
- package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -109
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -145
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -66
- package/src/features/column-faceting/createFacetedRowModel.ts +0 -85
- package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -66
- package/src/features/column-filtering/columnFilteringFeature.ts +0 -86
- package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -232
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -331
- package/src/features/column-filtering/createFilteredRowModel.ts +0 -183
- package/src/features/column-filtering/filterRowsUtils.ts +0 -157
- package/src/features/column-grouping/columnGroupingFeature.ts +0 -115
- package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -226
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -354
- package/src/features/column-grouping/createGroupedRowModel.ts +0 -220
- package/src/features/column-ordering/columnOrderingFeature.ts +0 -73
- package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -60
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -241
- package/src/features/column-pinning/columnPinningFeature.ts +0 -316
- package/src/features/column-pinning/columnPinningFeature.types.ts +0 -192
- package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -908
- package/src/features/column-resizing/columnResizingFeature.ts +0 -65
- package/src/features/column-resizing/columnResizingFeature.types.ts +0 -89
- package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -364
- package/src/features/column-sizing/columnSizingFeature.ts +0 -145
- package/src/features/column-sizing/columnSizingFeature.types.ts +0 -102
- package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -381
- package/src/features/column-visibility/columnVisibilityFeature.ts +0 -122
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -384
- package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
- package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -118
- package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
- package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
- package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -147
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -374
- package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
- package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
- package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -152
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
- package/src/features/row-pinning/rowPinningFeature.ts +0 -97
- package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
- package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
- package/src/features/row-selection/rowSelectionFeature.ts +0 -140
- package/src/features/row-selection/rowSelectionFeature.types.ts +0 -151
- package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -750
- package/src/features/row-sorting/createSortedRowModel.ts +0 -157
- package/src/features/row-sorting/rowSortingFeature.ts +0 -103
- package/src/features/row-sorting/rowSortingFeature.types.ts +0 -235
- package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -489
- package/src/features/stockFeatures.ts +0 -53
- package/src/flex-render.ts +0 -70
- package/src/fns/aggregationFns.ts +0 -245
- package/src/fns/filterFns.ts +0 -382
- package/src/fns/sortFns.ts +0 -240
- package/src/helpers/columnHelper.ts +0 -122
- package/src/helpers/metaHelper.ts +0 -24
- package/src/helpers/tableFeatures.ts +0 -34
- package/src/helpers/tableOptions.ts +0 -117
- package/src/index.ts +0 -139
- package/src/process-env.d.ts +0 -6
- package/src/reactivity.ts +0 -2
- package/src/static-functions.ts +0 -31
- package/src/store-reactivity-bindings.ts +0 -47
- package/src/types/Cell.ts +0 -21
- package/src/types/Column.ts +0 -51
- package/src/types/ColumnDef.ts +0 -254
- package/src/types/Header.ts +0 -23
- package/src/types/HeaderGroup.ts +0 -13
- package/src/types/Row.ts +0 -34
- package/src/types/RowModel.ts +0 -98
- package/src/types/RowModelFns.ts +0 -32
- package/src/types/Table.ts +0 -91
- package/src/types/TableFeatures.ts +0 -123
- package/src/types/TableOptions.ts +0 -104
- package/src/types/TableState.ts +0 -47
- package/src/types/type-utils.ts +0 -84
- package/src/utils.ts +0 -441
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cloneState } from "../../utils.js";
|
|
1
|
+
import { callMemoOrStaticFn, cloneState, copyInstancePropertiesWithoutMemos, hasOwn, makeObjectMap } from "../../utils.js";
|
|
2
2
|
|
|
3
3
|
//#region src/features/row-selection/rowSelectionFeature.utils.ts
|
|
4
4
|
/**
|
|
@@ -13,7 +13,7 @@ import { cloneState } from "../../utils.js";
|
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
15
|
function getDefaultRowSelectionState() {
|
|
16
|
-
return
|
|
16
|
+
return makeObjectMap();
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Routes a row selection updater through the table's selection change handler.
|
|
@@ -27,8 +27,7 @@ function getDefaultRowSelectionState() {
|
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
29
|
function table_setRowSelection(table, updater) {
|
|
30
|
-
|
|
31
|
-
(_table$options$onRowS = (_table$options = table.options).onRowSelectionChange) === null || _table$options$onRowS === void 0 || _table$options$onRowS.call(_table$options, updater);
|
|
30
|
+
table.options.onRowSelectionChange?.(updater);
|
|
32
31
|
}
|
|
33
32
|
/**
|
|
34
33
|
* Resets `rowSelection` to the configured initial state or feature default.
|
|
@@ -43,30 +42,37 @@ function table_setRowSelection(table, updater) {
|
|
|
43
42
|
* ```
|
|
44
43
|
*/
|
|
45
44
|
function table_resetRowSelection(table, defaultState) {
|
|
46
|
-
|
|
45
|
+
table._lastSelectedRowId = null;
|
|
46
|
+
table_setRowSelection(table, defaultState ? makeObjectMap() : Object.assign(makeObjectMap(), cloneState(table.initialState.rowSelection ?? {})));
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* Selects or deselects every selectable row before grouping.
|
|
50
50
|
*
|
|
51
51
|
* Omitting `value` toggles based on `table_getIsAllRowsSelected(table)`.
|
|
52
|
-
*
|
|
52
|
+
* Selecting skips sub-rows whose ancestors block descent via
|
|
53
|
+
* `enableSubRowSelection`. Deselecting removes matching selectable ids from the
|
|
54
|
+
* existing selection map; rows that cannot be selected keep their selection
|
|
55
|
+
* unless `opts.deselectAll` is `true`.
|
|
53
56
|
*
|
|
54
57
|
* @example
|
|
55
58
|
* ```ts
|
|
56
59
|
* table_toggleAllRowsSelected(table)
|
|
57
60
|
* ```
|
|
58
61
|
*/
|
|
59
|
-
function table_toggleAllRowsSelected(table, value) {
|
|
62
|
+
function table_toggleAllRowsSelected(table, value, opts) {
|
|
63
|
+
table._lastSelectedRowId = null;
|
|
60
64
|
table_setRowSelection(table, (old) => {
|
|
61
|
-
value = typeof value !== "undefined" ? value : !
|
|
62
|
-
|
|
65
|
+
value = typeof value !== "undefined" ? value : !callMemoOrStaticFn(table, "getIsAllRowsSelected", table_getIsAllRowsSelected);
|
|
66
|
+
if (opts?.deselectAll && !value) return makeObjectMap();
|
|
67
|
+
const rowSelection = Object.assign(makeObjectMap(), old);
|
|
63
68
|
const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows;
|
|
64
|
-
if (value)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
if (value) {
|
|
70
|
+
const subtreeCache = /* @__PURE__ */ new Map();
|
|
71
|
+
preGroupedFlatRows.forEach((row) => {
|
|
72
|
+
if (isRowSelectableInSelectAll(row, subtreeCache)) rowSelection[row.id] = true;
|
|
73
|
+
});
|
|
74
|
+
} else preGroupedFlatRows.forEach((row) => {
|
|
75
|
+
if (row_getCanSelect(row)) delete rowSelection[row.id];
|
|
70
76
|
});
|
|
71
77
|
return rowSelection;
|
|
72
78
|
});
|
|
@@ -82,12 +88,14 @@ function table_toggleAllRowsSelected(table, value) {
|
|
|
82
88
|
* table_toggleAllPageRowsSelected(table)
|
|
83
89
|
* ```
|
|
84
90
|
*/
|
|
85
|
-
function table_toggleAllPageRowsSelected(table, value) {
|
|
91
|
+
function table_toggleAllPageRowsSelected(table, value, opts) {
|
|
92
|
+
table._lastSelectedRowId = null;
|
|
86
93
|
table_setRowSelection(table, (old) => {
|
|
87
|
-
const resolvedValue = typeof value !== "undefined" ? value : !
|
|
88
|
-
|
|
94
|
+
const resolvedValue = typeof value !== "undefined" ? value : !callMemoOrStaticFn(table, "getIsAllPageRowsSelected", table_getIsAllPageRowsSelected);
|
|
95
|
+
if (opts?.deselectAll && !resolvedValue) return makeObjectMap();
|
|
96
|
+
const rowSelection = Object.assign(makeObjectMap(), old);
|
|
89
97
|
table.getRowModel().rows.forEach((row) => {
|
|
90
|
-
mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table);
|
|
98
|
+
mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table, true);
|
|
91
99
|
});
|
|
92
100
|
return rowSelection;
|
|
93
101
|
});
|
|
@@ -118,14 +126,13 @@ function table_getPreSelectedRowModel(table) {
|
|
|
118
126
|
* ```
|
|
119
127
|
*/
|
|
120
128
|
function table_getSelectedRowModel(table) {
|
|
121
|
-
var _table$atoms$rowSelec;
|
|
122
129
|
const rowModel = table.getCoreRowModel();
|
|
123
|
-
if (!
|
|
130
|
+
if (!callMemoOrStaticFn(table, "getIsSomeRowsSelected", table_getIsSomeRowsSelected)) return {
|
|
124
131
|
rows: [],
|
|
125
132
|
flatRows: [],
|
|
126
|
-
rowsById:
|
|
133
|
+
rowsById: makeObjectMap()
|
|
127
134
|
};
|
|
128
|
-
return selectRowsFn(rowModel);
|
|
135
|
+
return selectRowsFn(rowModel, table);
|
|
129
136
|
}
|
|
130
137
|
/**
|
|
131
138
|
* Builds a row model containing selected rows from the filtered row model.
|
|
@@ -139,14 +146,13 @@ function table_getSelectedRowModel(table) {
|
|
|
139
146
|
* ```
|
|
140
147
|
*/
|
|
141
148
|
function table_getFilteredSelectedRowModel(table) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
if (!Object.keys(((_table$atoms$rowSelec2 = table.atoms.rowSelection) === null || _table$atoms$rowSelec2 === void 0 ? void 0 : _table$atoms$rowSelec2.get()) ?? {}).length) return {
|
|
149
|
+
const rowModel = table.getFilteredRowModel();
|
|
150
|
+
if (!callMemoOrStaticFn(table, "getIsSomeRowsSelected", table_getIsSomeRowsSelected)) return {
|
|
145
151
|
rows: [],
|
|
146
152
|
flatRows: [],
|
|
147
|
-
rowsById:
|
|
153
|
+
rowsById: makeObjectMap()
|
|
148
154
|
};
|
|
149
|
-
return selectRowsFn(rowModel);
|
|
155
|
+
return selectRowsFn(rowModel, table);
|
|
150
156
|
}
|
|
151
157
|
/**
|
|
152
158
|
* Builds a row model containing selected rows from the grouped row model.
|
|
@@ -160,20 +166,31 @@ function table_getFilteredSelectedRowModel(table) {
|
|
|
160
166
|
* ```
|
|
161
167
|
*/
|
|
162
168
|
function table_getGroupedSelectedRowModel(table) {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
if (!Object.keys(((_table$atoms$rowSelec3 = table.atoms.rowSelection) === null || _table$atoms$rowSelec3 === void 0 ? void 0 : _table$atoms$rowSelec3.get()) ?? {}).length) return {
|
|
169
|
+
const rowModel = table.getSortedRowModel();
|
|
170
|
+
if (!callMemoOrStaticFn(table, "getIsSomeRowsSelected", table_getIsSomeRowsSelected)) return {
|
|
166
171
|
rows: [],
|
|
167
172
|
flatRows: [],
|
|
168
|
-
rowsById:
|
|
173
|
+
rowsById: makeObjectMap()
|
|
169
174
|
};
|
|
170
|
-
return selectRowsFn(rowModel);
|
|
175
|
+
return selectRowsFn(rowModel, table);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Returns the ids of all selected rows.
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```ts
|
|
182
|
+
* const selectedRowIds = table_getSelectedRowIds(table)
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
function table_getSelectedRowIds(table) {
|
|
186
|
+
return Object.keys(table.atoms.rowSelection?.get() ?? {});
|
|
171
187
|
}
|
|
172
188
|
/**
|
|
173
189
|
* Checks whether every selectable filtered row is selected.
|
|
174
190
|
*
|
|
175
191
|
* The result is false when there are no filtered rows or when selection state is
|
|
176
|
-
* empty.
|
|
192
|
+
* empty. Sub-rows whose ancestors block descent via `enableSubRowSelection` are
|
|
193
|
+
* ignored, matching the rows that `table_toggleAllRowsSelected` selects.
|
|
177
194
|
*
|
|
178
195
|
* @example
|
|
179
196
|
* ```ts
|
|
@@ -181,19 +198,20 @@ function table_getGroupedSelectedRowModel(table) {
|
|
|
181
198
|
* ```
|
|
182
199
|
*/
|
|
183
200
|
function table_getIsAllRowsSelected(table) {
|
|
184
|
-
var _table$atoms$rowSelec4;
|
|
185
201
|
const preGroupedFlatRows = table.getFilteredRowModel().flatRows;
|
|
186
|
-
const rowSelection =
|
|
202
|
+
const rowSelection = table.atoms.rowSelection?.get() ?? {};
|
|
187
203
|
let isAllRowsSelected = Boolean(preGroupedFlatRows.length && Object.keys(rowSelection).length);
|
|
188
204
|
if (isAllRowsSelected) {
|
|
189
|
-
|
|
205
|
+
const subtreeCache = /* @__PURE__ */ new Map();
|
|
206
|
+
if (preGroupedFlatRows.some((row) => !isRowSelected(row, rowSelection) && isRowSelectableInSelectAll(row, subtreeCache))) isAllRowsSelected = false;
|
|
190
207
|
}
|
|
191
208
|
return isAllRowsSelected;
|
|
192
209
|
}
|
|
193
210
|
/**
|
|
194
211
|
* Checks whether every selectable row on the current page is selected.
|
|
195
212
|
*
|
|
196
|
-
* Non-selectable rows are ignored for this calculation
|
|
213
|
+
* Non-selectable rows are ignored for this calculation, as are sub-rows whose
|
|
214
|
+
* ancestors block descent via `enableSubRowSelection`.
|
|
197
215
|
*
|
|
198
216
|
* @example
|
|
199
217
|
* ```ts
|
|
@@ -201,18 +219,22 @@ function table_getIsAllRowsSelected(table) {
|
|
|
201
219
|
* ```
|
|
202
220
|
*/
|
|
203
221
|
function table_getIsAllPageRowsSelected(table) {
|
|
204
|
-
|
|
205
|
-
const
|
|
206
|
-
const
|
|
207
|
-
let
|
|
208
|
-
|
|
209
|
-
|
|
222
|
+
const paginationFlatRows = table.getPaginatedRowModel().flatRows;
|
|
223
|
+
const rowSelection = table.atoms.rowSelection?.get() ?? {};
|
|
224
|
+
const subtreeCache = /* @__PURE__ */ new Map();
|
|
225
|
+
let sawSelectableRow = false;
|
|
226
|
+
for (let i = 0; i < paginationFlatRows.length; i++) {
|
|
227
|
+
const row = paginationFlatRows[i];
|
|
228
|
+
if (!isRowSelected(row, rowSelection)) {
|
|
229
|
+
if (isRowSelectableInSelectAll(row, subtreeCache)) return false;
|
|
230
|
+
} else if (!sawSelectableRow && isRowSelectableInSelectAll(row, subtreeCache)) sawSelectableRow = true;
|
|
231
|
+
}
|
|
232
|
+
return sawSelectableRow;
|
|
210
233
|
}
|
|
211
234
|
/**
|
|
212
|
-
* Checks whether
|
|
235
|
+
* Checks whether at least one row id is selected.
|
|
213
236
|
*
|
|
214
|
-
* The result
|
|
215
|
-
* selected than the current filtered flat row count.
|
|
237
|
+
* The result stays true when every row is selected.
|
|
216
238
|
*
|
|
217
239
|
* @example
|
|
218
240
|
* ```ts
|
|
@@ -220,15 +242,10 @@ function table_getIsAllPageRowsSelected(table) {
|
|
|
220
242
|
* ```
|
|
221
243
|
*/
|
|
222
244
|
function table_getIsSomeRowsSelected(table) {
|
|
223
|
-
|
|
224
|
-
const totalSelected = Object.keys(((_table$atoms$rowSelec6 = table.atoms.rowSelection) === null || _table$atoms$rowSelec6 === void 0 ? void 0 : _table$atoms$rowSelec6.get()) ?? {}).length;
|
|
225
|
-
return totalSelected > 0 && totalSelected < table.getFilteredRowModel().flatRows.length;
|
|
245
|
+
return callMemoOrStaticFn(table, "getSelectedRowIds", table_getSelectedRowIds).length > 0;
|
|
226
246
|
}
|
|
227
247
|
/**
|
|
228
|
-
* Checks whether the current page
|
|
229
|
-
*
|
|
230
|
-
* This is false when all selectable page rows are selected. Otherwise it is true
|
|
231
|
-
* if any selectable page row or descendant is selected.
|
|
248
|
+
* Checks whether at least one selectable row on the current page is selected.
|
|
232
249
|
*
|
|
233
250
|
* @example
|
|
234
251
|
* ```ts
|
|
@@ -236,8 +253,7 @@ function table_getIsSomeRowsSelected(table) {
|
|
|
236
253
|
* ```
|
|
237
254
|
*/
|
|
238
255
|
function table_getIsSomePageRowsSelected(table) {
|
|
239
|
-
|
|
240
|
-
return table_getIsAllPageRowsSelected(table) ? false : paginationFlatRows.filter((row) => row_getCanSelect(row)).some((row) => row_getIsSelected(row) || row_getIsSomeSelected(row));
|
|
256
|
+
return table.getPaginatedRowModel().flatRows.filter((row) => row_getCanSelect(row)).some((row) => row_getIsSelected(row) || callMemoOrStaticFn(row, "getIsSomeSelected", row_getIsSomeSelected));
|
|
241
257
|
}
|
|
242
258
|
/**
|
|
243
259
|
* Creates a checkbox-style handler that selects or deselects all rows.
|
|
@@ -275,21 +291,27 @@ function table_getToggleAllPageRowsSelectedHandler(table) {
|
|
|
275
291
|
* Selects or deselects this row.
|
|
276
292
|
*
|
|
277
293
|
* Omitting `value` toggles the row. Child rows are selected recursively unless
|
|
278
|
-
* `opts.selectChildren` is `false
|
|
294
|
+
* `opts.selectChildren` is `false`, sub-row selection is disabled, or the row
|
|
295
|
+
* only supports single selection. Pass `deselectParents: true` to also remove
|
|
296
|
+
* ancestor row ids from the selection when this row is deselected.
|
|
279
297
|
*
|
|
280
298
|
* @example
|
|
281
299
|
* ```ts
|
|
282
300
|
* row_toggleSelected(row)
|
|
301
|
+
* row_toggleSelected(row, true)
|
|
302
|
+
* row_toggleSelected(row, false)
|
|
303
|
+
* row_toggleSelected(row, true, { selectChildren: false })
|
|
304
|
+
* row_toggleSelected(row, false, { deselectParents: true })
|
|
283
305
|
* ```
|
|
284
306
|
*/
|
|
285
307
|
function row_toggleSelected(row, value, opts) {
|
|
286
308
|
const isSelected = row_getIsSelected(row);
|
|
287
309
|
table_setRowSelection(row.table, (old) => {
|
|
288
310
|
value = typeof value !== "undefined" ? value : !isSelected;
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
return
|
|
311
|
+
const rowSelection = Object.assign(makeObjectMap(), old);
|
|
312
|
+
mutateRowIsSelected(rowSelection, row.id, value, (opts?.selectChildren ?? true) && row_getCanMultiSelect(row), row.table);
|
|
313
|
+
if (!value && opts?.deselectParents) pruneAncestorRowIds(rowSelection, row);
|
|
314
|
+
return rowSelection;
|
|
293
315
|
});
|
|
294
316
|
}
|
|
295
317
|
/**
|
|
@@ -303,7 +325,7 @@ function row_toggleSelected(row, value, opts) {
|
|
|
303
325
|
* ```
|
|
304
326
|
*/
|
|
305
327
|
function row_getIsSelected(row) {
|
|
306
|
-
return isRowSelected(row);
|
|
328
|
+
return isRowSelected(row, row.table.atoms.rowSelection?.get() ?? {});
|
|
307
329
|
}
|
|
308
330
|
/**
|
|
309
331
|
* Checks whether some, but not all, selectable descendants are selected.
|
|
@@ -383,28 +405,139 @@ function row_getCanMultiSelect(row) {
|
|
|
383
405
|
* Creates a checkbox-style handler that selects or deselects this row.
|
|
384
406
|
*
|
|
385
407
|
* The handler is a no-op when the row cannot be selected and reads
|
|
386
|
-
* `event.target.checked`.
|
|
408
|
+
* `event.target.checked`. Shift events select or deselect the inclusive range
|
|
409
|
+
* from the most recent selectable row handled by this table. Pass
|
|
410
|
+
* `selectChildren: false` to limit changes to rows explicitly present in the
|
|
411
|
+
* display-order interval, and `deselectParents: true` to remove ancestor row
|
|
412
|
+
* ids from the selection when rows are deselected.
|
|
387
413
|
*
|
|
388
414
|
* @example
|
|
389
415
|
* ```ts
|
|
390
416
|
* const onChange = row_getToggleSelectedHandler(row)
|
|
391
417
|
* ```
|
|
392
418
|
*/
|
|
393
|
-
function row_getToggleSelectedHandler(row) {
|
|
419
|
+
function row_getToggleSelectedHandler(row, opts) {
|
|
394
420
|
const canSelect = row_getCanSelect(row);
|
|
395
421
|
return (e) => {
|
|
396
422
|
if (!canSelect) return;
|
|
397
|
-
|
|
423
|
+
const event = e;
|
|
424
|
+
const table = row.table;
|
|
425
|
+
const checked = event.target.checked;
|
|
426
|
+
const anchorId = table._lastSelectedRowId;
|
|
427
|
+
if (!(table.options.enableRowRangeSelection !== false && anchorId !== null && row_getCanMultiSelect(row) && (table.options.isRowRangeSelectionEvent?.(e) ?? false)) || !selectRowRange(row, anchorId, checked, opts)) row_toggleSelected(row, checked, opts);
|
|
428
|
+
table._lastSelectedRowId = row.id;
|
|
398
429
|
};
|
|
399
430
|
}
|
|
400
|
-
|
|
431
|
+
/**
|
|
432
|
+
* Resolves and mutates an inclusive interval in the table's latest logical
|
|
433
|
+
* display order.
|
|
434
|
+
*
|
|
435
|
+
* The anchor is resolved without throwing from the pre-pagination row model,
|
|
436
|
+
* then the core row model. Both endpoint display indexes must still identify
|
|
437
|
+
* those rows in the current order and both endpoints must support
|
|
438
|
+
* multi-selection. Eligible interval rows are applied through one row
|
|
439
|
+
* selection updater; non-selectable and non-multi-selectable rows are skipped.
|
|
440
|
+
* Returns `false` when the interaction should fall back to an ordinary toggle.
|
|
441
|
+
*/
|
|
442
|
+
function selectRowRange(row, anchorId, value, opts) {
|
|
443
|
+
const includeChildren = opts?.selectChildren ?? true;
|
|
444
|
+
const table = row.table;
|
|
445
|
+
const rows = table.getRowsInDisplayOrder();
|
|
446
|
+
const anchorRow = table.getPrePaginatedRowModel().rowsById[anchorId] ?? table.getCoreRowModel().rowsById[anchorId];
|
|
447
|
+
if (!anchorRow) return false;
|
|
448
|
+
const anchorIndex = anchorRow.getDisplayIndex();
|
|
449
|
+
const rowIndex = row.getDisplayIndex();
|
|
450
|
+
const anchorAtIndex = rows[anchorIndex];
|
|
451
|
+
const rowAtIndex = rows[rowIndex];
|
|
452
|
+
if (anchorIndex < 0 || rowIndex < 0 || anchorIndex >= rows.length || rowIndex >= rows.length || anchorAtIndex?.id !== anchorRow.id || rowAtIndex?.id !== row.id || !row_getCanMultiSelect(anchorRow) || !row_getCanMultiSelect(row)) return false;
|
|
453
|
+
const start = Math.min(anchorIndex, rowIndex);
|
|
454
|
+
const end = Math.max(anchorIndex, rowIndex);
|
|
455
|
+
table_setRowSelection(table, (old) => {
|
|
456
|
+
const rowSelection = Object.assign(makeObjectMap(), old);
|
|
457
|
+
for (let index = start; index <= end; index++) {
|
|
458
|
+
const rangeRow = rows[index];
|
|
459
|
+
if (!row_getCanSelect(rangeRow) || !row_getCanMultiSelect(rangeRow)) continue;
|
|
460
|
+
mutateRowIsSelected(rowSelection, rangeRow.id, value, includeChildren, table);
|
|
461
|
+
if (!value && opts?.deselectParents) pruneAncestorRowIds(rowSelection, rangeRow);
|
|
462
|
+
}
|
|
463
|
+
return rowSelection;
|
|
464
|
+
});
|
|
465
|
+
return true;
|
|
466
|
+
}
|
|
467
|
+
function mutateRowIsSelected(rowSelection, rowId, value, includeChildren, table, respectCanSelectOnDeselect) {
|
|
401
468
|
const row = table.getRow(rowId, true);
|
|
402
469
|
if (value) {
|
|
403
|
-
if (!row_getCanMultiSelect(row)) Object.keys(
|
|
404
|
-
if (row_getCanSelect(row))
|
|
405
|
-
} else delete
|
|
406
|
-
if (includeChildren && row.subRows.length && row_getCanSelectSubRows(row)) row.subRows.forEach((r) => mutateRowIsSelected(
|
|
407
|
-
}
|
|
470
|
+
if (!row_getCanMultiSelect(row)) Object.keys(rowSelection).forEach((key) => delete rowSelection[key]);
|
|
471
|
+
if (row_getCanSelect(row)) rowSelection[rowId] = true;
|
|
472
|
+
} else if (!respectCanSelectOnDeselect || row_getCanSelect(row)) delete rowSelection[rowId];
|
|
473
|
+
if (includeChildren && row.subRows.length && row_getCanSelectSubRows(row)) row.subRows.forEach((r) => mutateRowIsSelected(rowSelection, r.id, value, includeChildren, table, respectCanSelectOnDeselect));
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* Returns whether a select-all cascade can reach this row: the row itself is
|
|
477
|
+
* selectable and no ancestor blocks descent via `enableSubRowSelection`.
|
|
478
|
+
*
|
|
479
|
+
* `subtreeCache` memoizes the per-ancestor verdict for one select-all pass, so
|
|
480
|
+
* ancestor chains shared by sibling rows are only walked (and the
|
|
481
|
+
* `enableSubRowSelection` predicate only invoked) once per unique ancestor.
|
|
482
|
+
*/
|
|
483
|
+
function isRowSelectableInSelectAll(row, subtreeCache) {
|
|
484
|
+
if (!row_getCanSelect(row)) return false;
|
|
485
|
+
const table = row.table;
|
|
486
|
+
if (table.options.enableSubRowSelection === true) return true;
|
|
487
|
+
const parentId = row.parentId;
|
|
488
|
+
if (parentId === void 0) return true;
|
|
489
|
+
const cached = subtreeCache.get(parentId);
|
|
490
|
+
if (cached !== void 0) return cached;
|
|
491
|
+
const rowsById = table.getCoreRowModel().rowsById;
|
|
492
|
+
const visited = [];
|
|
493
|
+
let selectable = true;
|
|
494
|
+
let currentId = parentId;
|
|
495
|
+
while (currentId !== void 0) {
|
|
496
|
+
const known = subtreeCache.get(currentId);
|
|
497
|
+
if (known !== void 0) {
|
|
498
|
+
selectable = known;
|
|
499
|
+
break;
|
|
500
|
+
}
|
|
501
|
+
visited.push(currentId);
|
|
502
|
+
const parent = rowsById[currentId] ?? table.getRow(currentId, true);
|
|
503
|
+
if (!row_getCanSelectSubRows(parent)) {
|
|
504
|
+
selectable = false;
|
|
505
|
+
break;
|
|
506
|
+
}
|
|
507
|
+
currentId = parent.parentId;
|
|
508
|
+
}
|
|
509
|
+
visited.forEach((id) => subtreeCache.set(id, selectable));
|
|
510
|
+
return selectable;
|
|
511
|
+
}
|
|
512
|
+
function pruneAncestorRowIds(rowSelection, row) {
|
|
513
|
+
const rowsById = row.table.getCoreRowModel().rowsById;
|
|
514
|
+
let parentId = row.parentId;
|
|
515
|
+
while (parentId !== void 0) {
|
|
516
|
+
delete rowSelection[parentId];
|
|
517
|
+
parentId = (rowsById[parentId] ?? row.table.getRow(parentId, true)).parentId;
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
function selectRowsRecursively(rows, rowSelection, selectedFlatRows, selectedRowsById) {
|
|
521
|
+
const result = [];
|
|
522
|
+
for (let i = 0; i < rows.length; i++) {
|
|
523
|
+
const row = rows[i];
|
|
524
|
+
const isSelected = isRowSelected(row, rowSelection);
|
|
525
|
+
if (isSelected) {
|
|
526
|
+
selectedFlatRows.push(row);
|
|
527
|
+
selectedRowsById[row.id] = row;
|
|
528
|
+
}
|
|
529
|
+
if (row.subRows.length) {
|
|
530
|
+
const newSubRows = selectRowsRecursively(row.subRows, rowSelection, selectedFlatRows, selectedRowsById);
|
|
531
|
+
if (isSelected) {
|
|
532
|
+
const cloned = Object.create(Object.getPrototypeOf(row));
|
|
533
|
+
copyInstancePropertiesWithoutMemos(cloned, row);
|
|
534
|
+
cloned.subRows = newSubRows;
|
|
535
|
+
result.push(cloned);
|
|
536
|
+
}
|
|
537
|
+
} else if (isSelected) result.push(row);
|
|
538
|
+
}
|
|
539
|
+
return result;
|
|
540
|
+
}
|
|
408
541
|
/**
|
|
409
542
|
* Builds a row model containing rows selected by the current row selection state.
|
|
410
543
|
*
|
|
@@ -416,32 +549,12 @@ const mutateRowIsSelected = (selectedRowIds, rowId, value, includeChildren, tabl
|
|
|
416
549
|
* const selectedRows = selectRowsFn(rowModel)
|
|
417
550
|
* ```
|
|
418
551
|
*/
|
|
419
|
-
function selectRowsFn(rowModel) {
|
|
552
|
+
function selectRowsFn(rowModel, table) {
|
|
420
553
|
const newSelectedFlatRows = [];
|
|
421
|
-
const newSelectedRowsById =
|
|
422
|
-
const
|
|
423
|
-
const result = [];
|
|
424
|
-
for (let i = 0; i < rows.length; i++) {
|
|
425
|
-
const row = rows[i];
|
|
426
|
-
const isSelected = isRowSelected(row);
|
|
427
|
-
if (isSelected) {
|
|
428
|
-
newSelectedFlatRows.push(row);
|
|
429
|
-
newSelectedRowsById[row.id] = row;
|
|
430
|
-
}
|
|
431
|
-
if (row.subRows.length) {
|
|
432
|
-
const newSubRows = recurseRows(row.subRows, depth + 1);
|
|
433
|
-
if (isSelected) {
|
|
434
|
-
const cloned = Object.create(Object.getPrototypeOf(row));
|
|
435
|
-
Object.assign(cloned, row);
|
|
436
|
-
cloned.subRows = newSubRows;
|
|
437
|
-
result.push(cloned);
|
|
438
|
-
}
|
|
439
|
-
} else if (isSelected) result.push(row);
|
|
440
|
-
}
|
|
441
|
-
return result;
|
|
442
|
-
};
|
|
554
|
+
const newSelectedRowsById = makeObjectMap();
|
|
555
|
+
const rowSelection = table.atoms.rowSelection?.get() ?? {};
|
|
443
556
|
return {
|
|
444
|
-
rows:
|
|
557
|
+
rows: selectRowsRecursively(rowModel.rows, rowSelection, newSelectedFlatRows, newSelectedRowsById),
|
|
445
558
|
flatRows: newSelectedFlatRows,
|
|
446
559
|
rowsById: newSelectedRowsById
|
|
447
560
|
};
|
|
@@ -454,9 +567,8 @@ function selectRowsFn(rowModel) {
|
|
|
454
567
|
* const selected = isRowSelected(row)
|
|
455
568
|
* ```
|
|
456
569
|
*/
|
|
457
|
-
function isRowSelected(row) {
|
|
458
|
-
|
|
459
|
-
return (((_row$table$atoms$rowS = row.table.atoms.rowSelection) === null || _row$table$atoms$rowS === void 0 ? void 0 : _row$table$atoms$rowS.get()) ?? {})[row.id] ?? false;
|
|
570
|
+
function isRowSelected(row, rowSelection) {
|
|
571
|
+
return !!(hasOwn(rowSelection, row.id) && rowSelection[row.id]);
|
|
460
572
|
}
|
|
461
573
|
/**
|
|
462
574
|
* Returns whether all, some, or none of a row's selectable descendants are selected.
|
|
@@ -470,24 +582,33 @@ function isRowSelected(row) {
|
|
|
470
582
|
*/
|
|
471
583
|
function isSubRowSelected(row) {
|
|
472
584
|
if (!row.subRows.length) return false;
|
|
473
|
-
|
|
585
|
+
const rowSelection = row.table.atoms.rowSelection?.get() ?? {};
|
|
474
586
|
let someSelected = false;
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
587
|
+
let allChildrenSelected = true;
|
|
588
|
+
let someSelectable = false;
|
|
589
|
+
for (let i = 0; i < row.subRows.length; i++) {
|
|
590
|
+
const subRow = row.subRows[i];
|
|
591
|
+
if (someSelected && !allChildrenSelected) break;
|
|
592
|
+
if (row_getCanSelect(subRow)) {
|
|
593
|
+
someSelectable = true;
|
|
594
|
+
if (isRowSelected(subRow, rowSelection)) someSelected = true;
|
|
595
|
+
else allChildrenSelected = false;
|
|
596
|
+
}
|
|
479
597
|
if (subRow.subRows.length) {
|
|
480
598
|
const subRowChildrenSelected = isSubRowSelected(subRow);
|
|
481
|
-
if (subRowChildrenSelected === "all")
|
|
482
|
-
|
|
599
|
+
if (subRowChildrenSelected === "all") {
|
|
600
|
+
someSelected = true;
|
|
601
|
+
someSelectable = true;
|
|
602
|
+
} else if (subRowChildrenSelected === "some") {
|
|
483
603
|
someSelected = true;
|
|
484
604
|
allChildrenSelected = false;
|
|
605
|
+
someSelectable = true;
|
|
485
606
|
} else allChildrenSelected = false;
|
|
486
607
|
}
|
|
487
|
-
}
|
|
608
|
+
}
|
|
609
|
+
if (!someSelectable) return false;
|
|
488
610
|
return allChildrenSelected ? "all" : someSelected ? "some" : false;
|
|
489
611
|
}
|
|
490
612
|
|
|
491
613
|
//#endregion
|
|
492
|
-
export { getDefaultRowSelectionState, isRowSelected, isSubRowSelected, row_getCanMultiSelect, row_getCanSelect, row_getCanSelectSubRows, row_getIsAllSubRowsSelected, row_getIsSelected, row_getIsSomeSelected, row_getToggleSelectedHandler, row_toggleSelected, selectRowsFn, table_getFilteredSelectedRowModel, table_getGroupedSelectedRowModel, table_getIsAllPageRowsSelected, table_getIsAllRowsSelected, table_getIsSomePageRowsSelected, table_getIsSomeRowsSelected, table_getPreSelectedRowModel, table_getSelectedRowModel, table_getToggleAllPageRowsSelectedHandler, table_getToggleAllRowsSelectedHandler, table_resetRowSelection, table_setRowSelection, table_toggleAllPageRowsSelected, table_toggleAllRowsSelected };
|
|
493
|
-
//# sourceMappingURL=rowSelectionFeature.utils.js.map
|
|
614
|
+
export { getDefaultRowSelectionState, isRowSelected, isSubRowSelected, row_getCanMultiSelect, row_getCanSelect, row_getCanSelectSubRows, row_getIsAllSubRowsSelected, row_getIsSelected, row_getIsSomeSelected, row_getToggleSelectedHandler, row_toggleSelected, selectRowsFn, table_getFilteredSelectedRowModel, table_getGroupedSelectedRowModel, table_getIsAllPageRowsSelected, table_getIsAllRowsSelected, table_getIsSomePageRowsSelected, table_getIsSomeRowsSelected, table_getPreSelectedRowModel, table_getSelectedRowIds, table_getSelectedRowModel, table_getToggleAllPageRowsSelectedHandler, table_getToggleAllRowsSelectedHandler, table_resetRowSelection, table_setRowSelection, table_toggleAllPageRowsSelected, table_toggleAllRowsSelected };
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import { RowData } from "../../types/type-utils.js";
|
|
2
|
-
import { SortFn, SortFns } from "./rowSortingFeature.types.js";
|
|
3
|
-
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
4
|
-
import { Table } from "../../types/Table.js";
|
|
5
2
|
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
|
|
6
|
-
|
|
3
|
+
import { Table } from "../../types/Table.js";
|
|
4
|
+
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
7
5
|
//#region src/features/row-sorting/createSortedRowModel.d.ts
|
|
8
6
|
/**
|
|
9
7
|
* Creates a memoized sorted row model factory.
|
|
10
8
|
*
|
|
11
9
|
* The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
|
|
10
|
+
*
|
|
11
|
+
* Register the sorting functions you use with the `sortFns` slot on the
|
|
12
|
+
* `features` option:
|
|
13
|
+
* `tableFeatures({ rowSortingFeature, sortedRowModel: createSortedRowModel(), sortFns: { alphanumeric: sortFn_alphanumeric } })`.
|
|
14
|
+
* Importing individual `sortFn_*` functions keeps unused built-ins out of
|
|
15
|
+
* your bundle; sorting functions passed directly to the `sortFn` column
|
|
16
|
+
* option need no registration at all.
|
|
12
17
|
*/
|
|
13
|
-
declare function createSortedRowModel<TFeatures extends TableFeatures, TData extends RowData>(
|
|
18
|
+
declare function createSortedRowModel<TFeatures extends TableFeatures, TData extends RowData>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
|
|
14
19
|
//#endregion
|
|
15
|
-
export { createSortedRowModel };
|
|
16
|
-
//# sourceMappingURL=createSortedRowModel.d.ts.map
|
|
20
|
+
export { createSortedRowModel };
|