@tanstack/table-core 9.0.0-beta.7 → 9.0.0-beta.70
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 +5 -1
- 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 +1 -3
- package/dist/core/columns/coreColumnsFeature.js +13 -20
- 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 +3 -3
- 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 +21 -11
- 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 +25 -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 +42 -10
- 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 +52 -23
- 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 +56 -25
- package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
- package/dist/core/table/coreTablesFeature.utils.js +69 -24
- 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 +873 -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 +1 -3
- package/dist/features/column-faceting/columnFacetingFeature.js +13 -20
- 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 +25 -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 +85 -33
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +19 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +33 -21
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
- package/dist/features/column-filtering/createFilteredRowModel.js +33 -29
- package/dist/features/column-filtering/filterFns.d.ts +208 -0
- package/dist/features/column-filtering/filterFns.js +374 -0
- package/dist/features/column-filtering/filterRowsUtils.js +4 -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 +69 -38
- 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 +20 -20
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +32 -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 +6 -17
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +11 -16
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +30 -33
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
- package/dist/features/row-pagination/createPaginatedRowModel.js +7 -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 +5 -16
- 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 +10 -16
- package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
- package/dist/features/row-selection/rowSelectionFeature.js +68 -25
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +51 -15
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +60 -35
- package/dist/features/row-selection/rowSelectionFeature.utils.js +142 -89
- package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
- package/dist/features/row-sorting/createSortedRowModel.js +71 -53
- package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -3
- package/dist/features/row-sorting/rowSortingFeature.js +1 -2
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -24
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +19 -22
- package/dist/features/row-sorting/rowSortingFeature.utils.js +36 -25
- 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 +25 -0
- package/dist/helpers/metaHelper.js +28 -0
- package/dist/helpers/tableFeatures.d.ts +35 -8
- package/dist/helpers/tableFeatures.js +33 -5
- package/dist/helpers/tableOptions.d.ts +1 -3
- package/dist/helpers/tableOptions.js +1 -2
- package/dist/index.d.ts +34 -27
- package/dist/index.js +10 -5
- package/dist/reactivity.d.ts +2 -1
- package/dist/reactivity.js +2 -1
- package/dist/static-functions.d.ts +11 -8
- package/dist/static-functions.js +11 -8
- package/dist/store-reactivity-bindings.d.ts +2 -4
- package/dist/store-reactivity-bindings.js +4 -5
- package/dist/types/Cell.d.ts +9 -5
- package/dist/types/Column.d.ts +13 -15
- package/dist/types/ColumnDef.d.ts +39 -21
- 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 +388 -24
- 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 +32 -26
- package/dist/utils.js +52 -32
- package/dist/worker/createTableWorker.d.ts +100 -0
- package/dist/worker/createTableWorker.js +185 -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 +141 -0
- package/skills/api-not-found/SKILL.md +113 -0
- package/skills/cell-selection/SKILL.md +204 -0
- package/skills/cell-spanning/SKILL.md +162 -0
- package/skills/client-vs-server/SKILL.md +164 -0
- package/skills/column-faceting/SKILL.md +97 -0
- package/skills/column-filtering/SKILL.md +87 -0
- package/skills/column-ordering/SKILL.md +75 -0
- package/skills/column-pinning/SKILL.md +89 -0
- package/skills/column-resizing/SKILL.md +91 -0
- package/skills/column-sizing/SKILL.md +72 -0
- package/skills/column-visibility/SKILL.md +75 -0
- package/skills/core/SKILL.md +175 -0
- package/skills/custom-features/SKILL.md +235 -0
- package/skills/expanding/SKILL.md +80 -0
- package/skills/global-filtering/SKILL.md +84 -0
- package/skills/grouping/SKILL.md +51 -401
- package/skills/migrate-v8-to-v9/SKILL.md +275 -416
- package/skills/pagination/SKILL.md +37 -344
- package/skills/row-pinning/SKILL.md +47 -234
- package/skills/row-selection/SKILL.md +75 -302
- package/skills/sorting/SKILL.md +45 -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 -118
- 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 -186
- 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 -514
- 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/tableFeatures.cjs +0 -20
- package/dist/helpers/tableFeatures.cjs.map +0 -1
- package/dist/helpers/tableFeatures.d.cts +0 -18
- 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 -133
- package/dist/index.d.cts +0 -78
- 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 -109
- 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 -53
- 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 -172
- package/src/core/table/coreTablesFeature.ts +0 -19
- package/src/core/table/coreTablesFeature.types.ts +0 -216
- 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 -745
- 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/tableFeatures.ts +0 -24
- package/src/helpers/tableOptions.ts +0 -117
- package/src/index.ts +0 -138
- 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 -228
- 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 -101
- package/src/types/TableOptions.ts +0 -101
- 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,7 +42,8 @@ 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.
|
|
@@ -56,14 +56,15 @@ function table_resetRowSelection(table, defaultState) {
|
|
|
56
56
|
* table_toggleAllRowsSelected(table)
|
|
57
57
|
* ```
|
|
58
58
|
*/
|
|
59
|
-
function table_toggleAllRowsSelected(table, value) {
|
|
59
|
+
function table_toggleAllRowsSelected(table, value, opts) {
|
|
60
|
+
table._lastSelectedRowId = null;
|
|
60
61
|
table_setRowSelection(table, (old) => {
|
|
61
|
-
value = typeof value !== "undefined" ? value : !
|
|
62
|
-
|
|
62
|
+
value = typeof value !== "undefined" ? value : !callMemoOrStaticFn(table, "getIsAllRowsSelected", table_getIsAllRowsSelected);
|
|
63
|
+
if (opts?.deselectAll && !value) return makeObjectMap();
|
|
64
|
+
const rowSelection = Object.assign(makeObjectMap(), old);
|
|
63
65
|
const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows;
|
|
64
66
|
if (value) preGroupedFlatRows.forEach((row) => {
|
|
65
|
-
if (
|
|
66
|
-
rowSelection[row.id] = true;
|
|
67
|
+
if (row_getCanSelect(row)) rowSelection[row.id] = true;
|
|
67
68
|
});
|
|
68
69
|
else preGroupedFlatRows.forEach((row) => {
|
|
69
70
|
delete rowSelection[row.id];
|
|
@@ -82,10 +83,12 @@ function table_toggleAllRowsSelected(table, value) {
|
|
|
82
83
|
* table_toggleAllPageRowsSelected(table)
|
|
83
84
|
* ```
|
|
84
85
|
*/
|
|
85
|
-
function table_toggleAllPageRowsSelected(table, value) {
|
|
86
|
+
function table_toggleAllPageRowsSelected(table, value, opts) {
|
|
87
|
+
table._lastSelectedRowId = null;
|
|
86
88
|
table_setRowSelection(table, (old) => {
|
|
87
|
-
const resolvedValue = typeof value !== "undefined" ? value : !
|
|
88
|
-
|
|
89
|
+
const resolvedValue = typeof value !== "undefined" ? value : !callMemoOrStaticFn(table, "getIsAllPageRowsSelected", table_getIsAllPageRowsSelected);
|
|
90
|
+
if (opts?.deselectAll && !resolvedValue) return makeObjectMap();
|
|
91
|
+
const rowSelection = Object.assign(makeObjectMap(), old);
|
|
89
92
|
table.getRowModel().rows.forEach((row) => {
|
|
90
93
|
mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table);
|
|
91
94
|
});
|
|
@@ -118,14 +121,13 @@ function table_getPreSelectedRowModel(table) {
|
|
|
118
121
|
* ```
|
|
119
122
|
*/
|
|
120
123
|
function table_getSelectedRowModel(table) {
|
|
121
|
-
var _table$atoms$rowSelec;
|
|
122
124
|
const rowModel = table.getCoreRowModel();
|
|
123
|
-
if (!
|
|
125
|
+
if (!callMemoOrStaticFn(table, "getIsSomeRowsSelected", table_getIsSomeRowsSelected)) return {
|
|
124
126
|
rows: [],
|
|
125
127
|
flatRows: [],
|
|
126
|
-
rowsById:
|
|
128
|
+
rowsById: makeObjectMap()
|
|
127
129
|
};
|
|
128
|
-
return selectRowsFn(rowModel);
|
|
130
|
+
return selectRowsFn(rowModel, table);
|
|
129
131
|
}
|
|
130
132
|
/**
|
|
131
133
|
* Builds a row model containing selected rows from the filtered row model.
|
|
@@ -139,14 +141,13 @@ function table_getSelectedRowModel(table) {
|
|
|
139
141
|
* ```
|
|
140
142
|
*/
|
|
141
143
|
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 {
|
|
144
|
+
const rowModel = table.getFilteredRowModel();
|
|
145
|
+
if (!callMemoOrStaticFn(table, "getIsSomeRowsSelected", table_getIsSomeRowsSelected)) return {
|
|
145
146
|
rows: [],
|
|
146
147
|
flatRows: [],
|
|
147
|
-
rowsById:
|
|
148
|
+
rowsById: makeObjectMap()
|
|
148
149
|
};
|
|
149
|
-
return selectRowsFn(rowModel);
|
|
150
|
+
return selectRowsFn(rowModel, table);
|
|
150
151
|
}
|
|
151
152
|
/**
|
|
152
153
|
* Builds a row model containing selected rows from the grouped row model.
|
|
@@ -160,14 +161,24 @@ function table_getFilteredSelectedRowModel(table) {
|
|
|
160
161
|
* ```
|
|
161
162
|
*/
|
|
162
163
|
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 {
|
|
164
|
+
const rowModel = table.getSortedRowModel();
|
|
165
|
+
if (!callMemoOrStaticFn(table, "getIsSomeRowsSelected", table_getIsSomeRowsSelected)) return {
|
|
166
166
|
rows: [],
|
|
167
167
|
flatRows: [],
|
|
168
|
-
rowsById:
|
|
168
|
+
rowsById: makeObjectMap()
|
|
169
169
|
};
|
|
170
|
-
return selectRowsFn(rowModel);
|
|
170
|
+
return selectRowsFn(rowModel, table);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Returns the ids of all selected rows.
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```ts
|
|
177
|
+
* const selectedRowIds = table_getSelectedRowIds(table)
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
function table_getSelectedRowIds(table) {
|
|
181
|
+
return Object.keys(table.atoms.rowSelection?.get() ?? {});
|
|
171
182
|
}
|
|
172
183
|
/**
|
|
173
184
|
* Checks whether every selectable filtered row is selected.
|
|
@@ -181,12 +192,11 @@ function table_getGroupedSelectedRowModel(table) {
|
|
|
181
192
|
* ```
|
|
182
193
|
*/
|
|
183
194
|
function table_getIsAllRowsSelected(table) {
|
|
184
|
-
var _table$atoms$rowSelec4;
|
|
185
195
|
const preGroupedFlatRows = table.getFilteredRowModel().flatRows;
|
|
186
|
-
const rowSelection =
|
|
196
|
+
const rowSelection = table.atoms.rowSelection?.get() ?? {};
|
|
187
197
|
let isAllRowsSelected = Boolean(preGroupedFlatRows.length && Object.keys(rowSelection).length);
|
|
188
198
|
if (isAllRowsSelected) {
|
|
189
|
-
if (preGroupedFlatRows.some((row) => row_getCanSelect(row) && !rowSelection
|
|
199
|
+
if (preGroupedFlatRows.some((row) => row_getCanSelect(row) && !isRowSelected(row, rowSelection))) isAllRowsSelected = false;
|
|
190
200
|
}
|
|
191
201
|
return isAllRowsSelected;
|
|
192
202
|
}
|
|
@@ -201,18 +211,16 @@ function table_getIsAllRowsSelected(table) {
|
|
|
201
211
|
* ```
|
|
202
212
|
*/
|
|
203
213
|
function table_getIsAllPageRowsSelected(table) {
|
|
204
|
-
var _table$atoms$rowSelec5;
|
|
205
214
|
const paginationFlatRows = table.getPaginatedRowModel().flatRows.filter((row) => row_getCanSelect(row));
|
|
206
|
-
const rowSelection =
|
|
215
|
+
const rowSelection = table.atoms.rowSelection?.get() ?? {};
|
|
207
216
|
let isAllPageRowsSelected = !!paginationFlatRows.length;
|
|
208
|
-
if (isAllPageRowsSelected && paginationFlatRows.some((row) => !rowSelection
|
|
217
|
+
if (isAllPageRowsSelected && paginationFlatRows.some((row) => !isRowSelected(row, rowSelection))) isAllPageRowsSelected = false;
|
|
209
218
|
return isAllPageRowsSelected;
|
|
210
219
|
}
|
|
211
220
|
/**
|
|
212
|
-
* Checks whether
|
|
221
|
+
* Checks whether at least one row id is selected.
|
|
213
222
|
*
|
|
214
|
-
* The result
|
|
215
|
-
* selected than the current filtered flat row count.
|
|
223
|
+
* The result stays true when every row is selected.
|
|
216
224
|
*
|
|
217
225
|
* @example
|
|
218
226
|
* ```ts
|
|
@@ -220,15 +228,10 @@ function table_getIsAllPageRowsSelected(table) {
|
|
|
220
228
|
* ```
|
|
221
229
|
*/
|
|
222
230
|
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;
|
|
231
|
+
return callMemoOrStaticFn(table, "getSelectedRowIds", table_getSelectedRowIds).length > 0;
|
|
226
232
|
}
|
|
227
233
|
/**
|
|
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.
|
|
234
|
+
* Checks whether at least one selectable row on the current page is selected.
|
|
232
235
|
*
|
|
233
236
|
* @example
|
|
234
237
|
* ```ts
|
|
@@ -236,8 +239,7 @@ function table_getIsSomeRowsSelected(table) {
|
|
|
236
239
|
* ```
|
|
237
240
|
*/
|
|
238
241
|
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));
|
|
242
|
+
return table.getPaginatedRowModel().flatRows.filter((row) => row_getCanSelect(row)).some((row) => row_getIsSelected(row) || callMemoOrStaticFn(row, "getIsSomeSelected", row_getIsSomeSelected));
|
|
241
243
|
}
|
|
242
244
|
/**
|
|
243
245
|
* Creates a checkbox-style handler that selects or deselects all rows.
|
|
@@ -275,21 +277,25 @@ function table_getToggleAllPageRowsSelectedHandler(table) {
|
|
|
275
277
|
* Selects or deselects this row.
|
|
276
278
|
*
|
|
277
279
|
* Omitting `value` toggles the row. Child rows are selected recursively unless
|
|
278
|
-
* `opts.selectChildren` is `false
|
|
280
|
+
* `opts.selectChildren` is `false`, sub-row selection is disabled, or the row
|
|
281
|
+
* only supports single selection.
|
|
279
282
|
*
|
|
280
283
|
* @example
|
|
281
284
|
* ```ts
|
|
282
285
|
* row_toggleSelected(row)
|
|
286
|
+
* row_toggleSelected(row, true)
|
|
287
|
+
* row_toggleSelected(row, false)
|
|
288
|
+
* row_toggleSelected(row, true, { selectChildren: false })
|
|
289
|
+
* row_toggleSelected(row, false, { selectChildren: false })
|
|
283
290
|
* ```
|
|
284
291
|
*/
|
|
285
292
|
function row_toggleSelected(row, value, opts) {
|
|
286
293
|
const isSelected = row_getIsSelected(row);
|
|
287
294
|
table_setRowSelection(row.table, (old) => {
|
|
288
295
|
value = typeof value !== "undefined" ? value : !isSelected;
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
return selectedRowIds;
|
|
296
|
+
const rowSelection = Object.assign(makeObjectMap(), old);
|
|
297
|
+
mutateRowIsSelected(rowSelection, row.id, value, (opts?.selectChildren ?? true) && row_getCanMultiSelect(row), row.table);
|
|
298
|
+
return rowSelection;
|
|
293
299
|
});
|
|
294
300
|
}
|
|
295
301
|
/**
|
|
@@ -303,7 +309,7 @@ function row_toggleSelected(row, value, opts) {
|
|
|
303
309
|
* ```
|
|
304
310
|
*/
|
|
305
311
|
function row_getIsSelected(row) {
|
|
306
|
-
return isRowSelected(row);
|
|
312
|
+
return isRowSelected(row, row.table.atoms.rowSelection?.get() ?? {});
|
|
307
313
|
}
|
|
308
314
|
/**
|
|
309
315
|
* Checks whether some, but not all, selectable descendants are selected.
|
|
@@ -383,28 +389,91 @@ function row_getCanMultiSelect(row) {
|
|
|
383
389
|
* Creates a checkbox-style handler that selects or deselects this row.
|
|
384
390
|
*
|
|
385
391
|
* The handler is a no-op when the row cannot be selected and reads
|
|
386
|
-
* `event.target.checked`.
|
|
392
|
+
* `event.target.checked`. Shift events select or deselect the inclusive range
|
|
393
|
+
* from the most recent selectable row handled by this table. Pass
|
|
394
|
+
* `selectChildren: false` to limit changes to rows explicitly present in the
|
|
395
|
+
* display-order interval.
|
|
387
396
|
*
|
|
388
397
|
* @example
|
|
389
398
|
* ```ts
|
|
390
399
|
* const onChange = row_getToggleSelectedHandler(row)
|
|
391
400
|
* ```
|
|
392
401
|
*/
|
|
393
|
-
function row_getToggleSelectedHandler(row) {
|
|
402
|
+
function row_getToggleSelectedHandler(row, opts) {
|
|
394
403
|
const canSelect = row_getCanSelect(row);
|
|
395
404
|
return (e) => {
|
|
396
405
|
if (!canSelect) return;
|
|
397
|
-
|
|
406
|
+
const event = e;
|
|
407
|
+
const table = row.table;
|
|
408
|
+
const checked = event.target.checked;
|
|
409
|
+
const anchorId = table._lastSelectedRowId;
|
|
410
|
+
if (!(table.options.enableRowRangeSelection !== false && anchorId !== null && row_getCanMultiSelect(row) && (table.options.isRowRangeSelectionEvent?.(e) ?? false)) || !selectRowRange(row, anchorId, checked, opts?.selectChildren ?? true)) row_toggleSelected(row, checked, opts);
|
|
411
|
+
table._lastSelectedRowId = row.id;
|
|
398
412
|
};
|
|
399
413
|
}
|
|
400
|
-
|
|
414
|
+
/**
|
|
415
|
+
* Resolves and mutates an inclusive interval in the table's latest logical
|
|
416
|
+
* display order.
|
|
417
|
+
*
|
|
418
|
+
* The anchor is resolved without throwing from the pre-pagination row model,
|
|
419
|
+
* then the core row model. Both endpoint display indexes must still identify
|
|
420
|
+
* those rows in the current order and both endpoints must support
|
|
421
|
+
* multi-selection. Eligible interval rows are applied through one row
|
|
422
|
+
* selection updater; non-selectable and non-multi-selectable rows are skipped.
|
|
423
|
+
* Returns `false` when the interaction should fall back to an ordinary toggle.
|
|
424
|
+
*/
|
|
425
|
+
function selectRowRange(row, anchorId, value, includeChildren) {
|
|
426
|
+
const table = row.table;
|
|
427
|
+
const rows = table.getRowsInDisplayOrder();
|
|
428
|
+
const anchorRow = table.getPrePaginatedRowModel().rowsById[anchorId] ?? table.getCoreRowModel().rowsById[anchorId];
|
|
429
|
+
if (!anchorRow) return false;
|
|
430
|
+
const anchorIndex = anchorRow.getDisplayIndex();
|
|
431
|
+
const rowIndex = row.getDisplayIndex();
|
|
432
|
+
const anchorAtIndex = rows[anchorIndex];
|
|
433
|
+
const rowAtIndex = rows[rowIndex];
|
|
434
|
+
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;
|
|
435
|
+
const start = Math.min(anchorIndex, rowIndex);
|
|
436
|
+
const end = Math.max(anchorIndex, rowIndex);
|
|
437
|
+
table_setRowSelection(table, (old) => {
|
|
438
|
+
const rowSelection = Object.assign(makeObjectMap(), old);
|
|
439
|
+
for (let index = start; index <= end; index++) {
|
|
440
|
+
const rangeRow = rows[index];
|
|
441
|
+
if (!row_getCanSelect(rangeRow) || !row_getCanMultiSelect(rangeRow)) continue;
|
|
442
|
+
mutateRowIsSelected(rowSelection, rangeRow.id, value, includeChildren, table);
|
|
443
|
+
}
|
|
444
|
+
return rowSelection;
|
|
445
|
+
});
|
|
446
|
+
return true;
|
|
447
|
+
}
|
|
448
|
+
const mutateRowIsSelected = (rowSelection, rowId, value, includeChildren, table) => {
|
|
401
449
|
const row = table.getRow(rowId, true);
|
|
402
450
|
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(
|
|
451
|
+
if (!row_getCanMultiSelect(row)) Object.keys(rowSelection).forEach((key) => delete rowSelection[key]);
|
|
452
|
+
if (row_getCanSelect(row)) rowSelection[rowId] = true;
|
|
453
|
+
} else delete rowSelection[rowId];
|
|
454
|
+
if (includeChildren && row.subRows.length && row_getCanSelectSubRows(row)) row.subRows.forEach((r) => mutateRowIsSelected(rowSelection, r.id, value, includeChildren, table));
|
|
407
455
|
};
|
|
456
|
+
function selectRowsRecursively(rows, rowSelection, selectedFlatRows, selectedRowsById) {
|
|
457
|
+
const result = [];
|
|
458
|
+
for (let i = 0; i < rows.length; i++) {
|
|
459
|
+
const row = rows[i];
|
|
460
|
+
const isSelected = isRowSelected(row, rowSelection);
|
|
461
|
+
if (isSelected) {
|
|
462
|
+
selectedFlatRows.push(row);
|
|
463
|
+
selectedRowsById[row.id] = row;
|
|
464
|
+
}
|
|
465
|
+
if (row.subRows.length) {
|
|
466
|
+
const newSubRows = selectRowsRecursively(row.subRows, rowSelection, selectedFlatRows, selectedRowsById);
|
|
467
|
+
if (isSelected) {
|
|
468
|
+
const cloned = Object.create(Object.getPrototypeOf(row));
|
|
469
|
+
copyInstancePropertiesWithoutMemos(cloned, row);
|
|
470
|
+
cloned.subRows = newSubRows;
|
|
471
|
+
result.push(cloned);
|
|
472
|
+
}
|
|
473
|
+
} else if (isSelected) result.push(row);
|
|
474
|
+
}
|
|
475
|
+
return result;
|
|
476
|
+
}
|
|
408
477
|
/**
|
|
409
478
|
* Builds a row model containing rows selected by the current row selection state.
|
|
410
479
|
*
|
|
@@ -416,28 +485,12 @@ const mutateRowIsSelected = (selectedRowIds, rowId, value, includeChildren, tabl
|
|
|
416
485
|
* const selectedRows = selectRowsFn(rowModel)
|
|
417
486
|
* ```
|
|
418
487
|
*/
|
|
419
|
-
function selectRowsFn(rowModel) {
|
|
488
|
+
function selectRowsFn(rowModel, table) {
|
|
420
489
|
const newSelectedFlatRows = [];
|
|
421
|
-
const newSelectedRowsById =
|
|
422
|
-
const
|
|
423
|
-
const result = [];
|
|
424
|
-
for (let i = 0; i < rows.length; i++) {
|
|
425
|
-
let 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) row = {
|
|
432
|
-
...row,
|
|
433
|
-
subRows: recurseRows(row.subRows, depth + 1)
|
|
434
|
-
};
|
|
435
|
-
if (isSelected) result.push(row);
|
|
436
|
-
}
|
|
437
|
-
return result;
|
|
438
|
-
};
|
|
490
|
+
const newSelectedRowsById = makeObjectMap();
|
|
491
|
+
const rowSelection = table.atoms.rowSelection?.get() ?? {};
|
|
439
492
|
return {
|
|
440
|
-
rows:
|
|
493
|
+
rows: selectRowsRecursively(rowModel.rows, rowSelection, newSelectedFlatRows, newSelectedRowsById),
|
|
441
494
|
flatRows: newSelectedFlatRows,
|
|
442
495
|
rowsById: newSelectedRowsById
|
|
443
496
|
};
|
|
@@ -450,9 +503,8 @@ function selectRowsFn(rowModel) {
|
|
|
450
503
|
* const selected = isRowSelected(row)
|
|
451
504
|
* ```
|
|
452
505
|
*/
|
|
453
|
-
function isRowSelected(row) {
|
|
454
|
-
|
|
455
|
-
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;
|
|
506
|
+
function isRowSelected(row, rowSelection) {
|
|
507
|
+
return !!(hasOwn(rowSelection, row.id) && rowSelection[row.id]);
|
|
456
508
|
}
|
|
457
509
|
/**
|
|
458
510
|
* Returns whether all, some, or none of a row's selectable descendants are selected.
|
|
@@ -466,11 +518,13 @@ function isRowSelected(row) {
|
|
|
466
518
|
*/
|
|
467
519
|
function isSubRowSelected(row) {
|
|
468
520
|
if (!row.subRows.length) return false;
|
|
469
|
-
|
|
521
|
+
const rowSelection = row.table.atoms.rowSelection?.get() ?? {};
|
|
470
522
|
let someSelected = false;
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
523
|
+
let allChildrenSelected = true;
|
|
524
|
+
for (let i = 0; i < row.subRows.length; i++) {
|
|
525
|
+
const subRow = row.subRows[i];
|
|
526
|
+
if (someSelected && !allChildrenSelected) break;
|
|
527
|
+
if (row_getCanSelect(subRow)) if (isRowSelected(subRow, rowSelection)) someSelected = true;
|
|
474
528
|
else allChildrenSelected = false;
|
|
475
529
|
if (subRow.subRows.length) {
|
|
476
530
|
const subRowChildrenSelected = isSubRowSelected(subRow);
|
|
@@ -480,10 +534,9 @@ function isSubRowSelected(row) {
|
|
|
480
534
|
allChildrenSelected = false;
|
|
481
535
|
} else allChildrenSelected = false;
|
|
482
536
|
}
|
|
483
|
-
}
|
|
537
|
+
}
|
|
484
538
|
return allChildrenSelected ? "all" : someSelected ? "some" : false;
|
|
485
539
|
}
|
|
486
540
|
|
|
487
541
|
//#endregion
|
|
488
|
-
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 };
|
|
489
|
-
//# sourceMappingURL=rowSelectionFeature.utils.js.map
|
|
542
|
+
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 };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { tableMemo } from "../../utils.js";
|
|
1
|
+
import { copyInstancePropertiesWithoutMemos, tableMemo } from "../../utils.js";
|
|
2
2
|
import { table_autoResetPageIndex } from "../row-pagination/rowPaginationFeature.utils.js";
|
|
3
3
|
import { column_getCanSort, column_getSortFn } from "./rowSortingFeature.utils.js";
|
|
4
4
|
|
|
@@ -7,89 +7,107 @@ import { column_getCanSort, column_getSortFn } from "./rowSortingFeature.utils.j
|
|
|
7
7
|
* Creates a memoized sorted row model factory.
|
|
8
8
|
*
|
|
9
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.
|
|
10
17
|
*/
|
|
11
|
-
function createSortedRowModel(
|
|
18
|
+
function createSortedRowModel() {
|
|
12
19
|
return (_table) => {
|
|
13
20
|
const table = _table;
|
|
14
|
-
if (!table._rowModelFns.sortFns) table._rowModelFns.sortFns = sortFns;
|
|
15
21
|
return tableMemo({
|
|
16
22
|
feature: "rowSortingFeature",
|
|
17
23
|
table,
|
|
18
24
|
fnName: "table.getSortedRowModel",
|
|
19
|
-
memoDeps: () =>
|
|
20
|
-
var _table$atoms$sorting;
|
|
21
|
-
return [(_table$atoms$sorting = table.atoms.sorting) === null || _table$atoms$sorting === void 0 ? void 0 : _table$atoms$sorting.get(), table.getPreSortedRowModel()];
|
|
22
|
-
},
|
|
25
|
+
memoDeps: () => [table.atoms.sorting?.get(), table.getPreSortedRowModel()],
|
|
23
26
|
fn: () => _createSortedRowModel(table),
|
|
24
27
|
onAfterUpdate: () => table_autoResetPageIndex(table)
|
|
25
28
|
});
|
|
26
29
|
};
|
|
27
30
|
}
|
|
28
31
|
function _createSortedRowModel(table) {
|
|
29
|
-
var _table$atoms$sorting2;
|
|
30
32
|
const preSortedRowModel = table.getPreSortedRowModel();
|
|
31
|
-
const sorting =
|
|
32
|
-
if (!preSortedRowModel.rows.length || !
|
|
33
|
+
const sorting = table.atoms.sorting?.get();
|
|
34
|
+
if (!preSortedRowModel.rows.length || !sorting?.length) return preSortedRowModel;
|
|
33
35
|
const sortedFlatRows = [];
|
|
34
|
-
const availableSorting = sorting.filter((sort) =>
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
const availableSorting = sorting.filter((sort) => {
|
|
37
|
+
const column = table.getColumn(sort.id);
|
|
38
|
+
return column ? column_getCanSort(column) : false;
|
|
39
|
+
});
|
|
40
|
+
if (!availableSorting.length) return preSortedRowModel;
|
|
41
|
+
const resolvedSorting = [];
|
|
42
|
+
for (let i = 0; i < availableSorting.length; i++) {
|
|
43
|
+
const sortEntry = availableSorting[i];
|
|
37
44
|
const column = table.getColumn(sortEntry.id);
|
|
38
|
-
if (!column)
|
|
39
|
-
|
|
45
|
+
if (!column) continue;
|
|
46
|
+
resolvedSorting.push({
|
|
47
|
+
id: sortEntry.id,
|
|
48
|
+
desc: sortEntry.desc,
|
|
40
49
|
sortUndefined: column.columnDef.sortUndefined,
|
|
41
50
|
invertSorting: column.columnDef.invertSorting,
|
|
42
51
|
sortFn: column_getSortFn(column)
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
if (
|
|
60
|
-
|
|
61
|
-
if (sortUndefined === "last") return aUndefined ? 1 : -1;
|
|
62
|
-
sortInt = aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
if (sortInt === 0) sortInt = columnInfo.sortFn(rowA, rowB, sortEntry.id);
|
|
66
|
-
if (sortInt !== 0) {
|
|
67
|
-
if (isDesc) sortInt *= -1;
|
|
68
|
-
if (columnInfo.invertSorting) sortInt *= -1;
|
|
69
|
-
return sortInt;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
const compareRows = (rowA, rowB) => {
|
|
55
|
+
for (let i = 0; i < resolvedSorting.length; i++) {
|
|
56
|
+
const sortEntry = resolvedSorting[i];
|
|
57
|
+
const sortUndefined = sortEntry.sortUndefined;
|
|
58
|
+
const isDesc = sortEntry.desc;
|
|
59
|
+
let sortInt = 0;
|
|
60
|
+
if (sortUndefined) {
|
|
61
|
+
const aValue = rowA.getValue(sortEntry.id);
|
|
62
|
+
const bValue = rowB.getValue(sortEntry.id);
|
|
63
|
+
const aUndefined = aValue === void 0;
|
|
64
|
+
const bUndefined = bValue === void 0;
|
|
65
|
+
if (aUndefined && bUndefined) continue;
|
|
66
|
+
if (aUndefined || bUndefined) {
|
|
67
|
+
if (sortUndefined === "first") return aUndefined ? -1 : 1;
|
|
68
|
+
if (sortUndefined === "last") return aUndefined ? 1 : -1;
|
|
69
|
+
sortInt = aUndefined ? sortUndefined : -sortUndefined;
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
if (sortInt === 0) sortInt = sortEntry.sortFn(rowA, rowB, sortEntry.id);
|
|
73
|
+
if (sortInt !== 0) {
|
|
74
|
+
if (isDesc) sortInt *= -1;
|
|
75
|
+
if (sortEntry.invertSorting) sortInt *= -1;
|
|
76
|
+
return sortInt;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return rowA.index - rowB.index;
|
|
80
|
+
};
|
|
81
|
+
const sortData = (rows) => {
|
|
82
|
+
const sortedData = rows.slice();
|
|
83
|
+
sortedData.sort(compareRows);
|
|
84
|
+
let changed = false;
|
|
74
85
|
for (let i = 0; i < sortedData.length; i++) {
|
|
75
86
|
const row = sortedData[i];
|
|
87
|
+
if (row !== rows[i]) changed = true;
|
|
76
88
|
if (row.subRows.length) {
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
89
|
+
const sortedSubRows = sortData(row.subRows);
|
|
90
|
+
if (sortedSubRows.changed) {
|
|
91
|
+
const cloned = Object.create(Object.getPrototypeOf(row));
|
|
92
|
+
copyInstancePropertiesWithoutMemos(cloned, row);
|
|
93
|
+
cloned.subRows = sortedSubRows.rows;
|
|
94
|
+
sortedData[i] = cloned;
|
|
95
|
+
sortedFlatRows.push(cloned);
|
|
96
|
+
changed = true;
|
|
97
|
+
} else sortedFlatRows.push(row);
|
|
82
98
|
} else sortedFlatRows.push(row);
|
|
83
99
|
}
|
|
84
|
-
return
|
|
100
|
+
return {
|
|
101
|
+
rows: sortedData,
|
|
102
|
+
changed
|
|
103
|
+
};
|
|
85
104
|
};
|
|
86
105
|
return {
|
|
87
|
-
rows: sortData(preSortedRowModel.rows),
|
|
106
|
+
rows: sortData(preSortedRowModel.rows).rows,
|
|
88
107
|
flatRows: sortedFlatRows,
|
|
89
108
|
rowsById: preSortedRowModel.rowsById
|
|
90
109
|
};
|
|
91
110
|
}
|
|
92
111
|
|
|
93
112
|
//#endregion
|
|
94
|
-
export { createSortedRowModel };
|
|
95
|
-
//# sourceMappingURL=createSortedRowModel.js.map
|
|
113
|
+
export { createSortedRowModel };
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { TableFeature } from "../../types/TableFeatures.js";
|
|
2
|
-
|
|
3
2
|
//#region src/features/row-sorting/rowSortingFeature.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Feature that adds row sorting state, defaults, and column/table sorting APIs.
|
|
6
5
|
*/
|
|
7
6
|
declare const rowSortingFeature: TableFeature;
|
|
8
7
|
//#endregion
|
|
9
|
-
export { rowSortingFeature };
|
|
10
|
-
//# sourceMappingURL=rowSortingFeature.d.ts.map
|
|
8
|
+
export { rowSortingFeature };
|