@tanstack/table-core 9.0.0-beta.2 → 9.0.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/cells/constructCell.d.cts +3 -3
- package/dist/core/cells/constructCell.d.ts +3 -3
- package/dist/core/cells/coreCellsFeature.cjs +11 -20
- package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
- package/dist/core/cells/coreCellsFeature.d.cts +4 -12
- package/dist/core/cells/coreCellsFeature.d.ts +4 -12
- package/dist/core/cells/coreCellsFeature.js +12 -20
- package/dist/core/cells/coreCellsFeature.js.map +1 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +6 -6
- package/dist/core/cells/coreCellsFeature.types.d.ts +6 -6
- package/dist/core/cells/coreCellsFeature.utils.d.cts +3 -3
- package/dist/core/cells/coreCellsFeature.utils.d.ts +3 -3
- package/dist/core/columns/constructColumn.cjs +5 -0
- package/dist/core/columns/constructColumn.cjs.map +1 -1
- package/dist/core/columns/constructColumn.d.cts +3 -3
- package/dist/core/columns/constructColumn.d.ts +3 -3
- package/dist/core/columns/constructColumn.js +5 -0
- package/dist/core/columns/constructColumn.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.cjs +59 -68
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
- package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
- package/dist/core/columns/coreColumnsFeature.js +60 -68
- package/dist/core/columns/coreColumnsFeature.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -7
- package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
- package/dist/core/columns/coreColumnsFeature.utils.cjs +2 -2
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +9 -9
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +9 -9
- package/dist/core/columns/coreColumnsFeature.utils.js +3 -3
- package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
- package/dist/core/coreFeatures.cjs.map +1 -1
- package/dist/core/coreFeatures.d.cts +1 -1
- package/dist/core/coreFeatures.d.ts +1 -1
- package/dist/core/coreFeatures.js.map +1 -1
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
- package/dist/core/headers/buildHeaderGroups.d.cts +2 -2
- package/dist/core/headers/buildHeaderGroups.d.ts +2 -2
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/constructHeader.d.cts +2 -2
- package/dist/core/headers/constructHeader.d.ts +2 -2
- package/dist/core/headers/coreHeadersFeature.cjs +44 -53
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
- package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
- package/dist/core/headers/coreHeadersFeature.js +45 -53
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
- package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
- package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
- package/dist/core/row-models/coreRowModelsFeature.js +18 -26
- package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +6 -16
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +6 -16
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +13 -13
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +14 -14
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +14 -14
- package/dist/core/row-models/coreRowModelsFeature.utils.js +13 -13
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
- package/dist/core/row-models/createCoreRowModel.cjs +2 -3
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +1 -1
- package/dist/core/row-models/createCoreRowModel.d.ts +1 -1
- package/dist/core/row-models/createCoreRowModel.js +3 -4
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/constructRow.cjs +3 -2
- package/dist/core/rows/constructRow.cjs.map +1 -1
- package/dist/core/rows/constructRow.d.cts +2 -2
- package/dist/core/rows/constructRow.d.ts +2 -2
- package/dist/core/rows/constructRow.js +4 -2
- package/dist/core/rows/constructRow.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.cjs +27 -36
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.d.cts +4 -12
- package/dist/core/rows/coreRowsFeature.d.ts +4 -12
- package/dist/core/rows/coreRowsFeature.js +28 -36
- package/dist/core/rows/coreRowsFeature.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +6 -6
- package/dist/core/rows/coreRowsFeature.types.d.ts +6 -6
- package/dist/core/rows/coreRowsFeature.utils.cjs +3 -3
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +3 -3
- package/dist/core/rows/coreRowsFeature.utils.d.ts +3 -3
- package/dist/core/rows/coreRowsFeature.utils.js +4 -4
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
- package/dist/core/table/constructTable.cjs +21 -6
- package/dist/core/table/constructTable.cjs.map +1 -1
- package/dist/core/table/constructTable.d.cts +1 -1
- package/dist/core/table/constructTable.d.ts +1 -1
- package/dist/core/table/constructTable.js +21 -6
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.cjs +7 -16
- package/dist/core/table/coreTablesFeature.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.d.cts +4 -12
- package/dist/core/table/coreTablesFeature.d.ts +4 -12
- package/dist/core/table/coreTablesFeature.js +8 -16
- package/dist/core/table/coreTablesFeature.js.map +1 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +28 -16
- package/dist/core/table/coreTablesFeature.types.d.ts +28 -16
- package/dist/core/table/coreTablesFeature.utils.cjs +33 -12
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +8 -6
- package/dist/core/table/coreTablesFeature.utils.d.ts +8 -6
- package/dist/core/table/coreTablesFeature.utils.js +33 -12
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
- package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +8 -29
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +8 -29
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +12 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +8 -8
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +8 -8
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +12 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
- package/dist/features/column-filtering/columnFilteringFeature.js +42 -54
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +40 -26
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +40 -26
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +12 -12
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +12 -12
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +12 -7
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -3
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -3
- package/dist/features/column-filtering/createFilteredRowModel.js +13 -8
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
- package/dist/features/column-filtering/filterRowsUtils.js +3 -2
- package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
- package/dist/features/column-grouping/columnGroupingFeature.js +59 -70
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +28 -21
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +28 -21
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +4 -4
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +11 -11
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +11 -11
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +5 -5
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +9 -7
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -3
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -3
- package/dist/features/column-grouping/createGroupedRowModel.js +10 -8
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
- package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +9 -9
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +9 -9
- package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
- package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
- package/dist/features/column-pinning/columnPinningFeature.js +210 -221
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +2 -2
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +2 -2
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +31 -30
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +31 -30
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
- package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
- package/dist/features/column-resizing/columnResizingFeature.js +32 -43
- package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +1 -4
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +2 -5
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.js +3 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
- package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
- package/dist/features/column-sizing/columnSizingFeature.js +113 -125
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +11 -4
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +12 -12
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +12 -12
- package/dist/features/column-sizing/columnSizingFeature.utils.js +12 -5
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
- package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +2 -2
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +2 -2
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +12 -9
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +14 -14
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +14 -14
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +13 -10
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
- package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +10 -8
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -8
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
- package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
- package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +5 -14
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +5 -14
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +21 -12
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +10 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +10 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +22 -13
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.js +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
- package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
- package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +4 -13
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +4 -13
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +17 -17
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +17 -17
- package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
- package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
- package/dist/features/row-pinning/rowPinningFeature.js +56 -67
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +7 -7
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +7 -7
- package/dist/features/row-pinning/rowPinningFeature.utils.js +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +108 -77
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
- package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
- package/dist/features/row-selection/rowSelectionFeature.js +110 -78
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +13 -5
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +13 -5
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +76 -60
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +48 -23
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +48 -23
- package/dist/features/row-selection/rowSelectionFeature.utils.js +77 -62
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +5 -3
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -3
- package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -3
- package/dist/features/row-sorting/createSortedRowModel.js +6 -4
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
- package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
- package/dist/features/row-sorting/rowSortingFeature.js +46 -57
- package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +24 -21
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +24 -21
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +8 -5
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +16 -16
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +16 -16
- package/dist/features/row-sorting/rowSortingFeature.utils.js +8 -5
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/fns/aggregationFns.cjs +18 -18
- package/dist/fns/aggregationFns.cjs.map +1 -1
- package/dist/fns/aggregationFns.d.cts +21 -19
- package/dist/fns/aggregationFns.d.ts +21 -19
- package/dist/fns/aggregationFns.js +18 -18
- package/dist/fns/aggregationFns.js.map +1 -1
- package/dist/fns/filterFns.cjs +51 -65
- package/dist/fns/filterFns.cjs.map +1 -1
- package/dist/fns/filterFns.d.cts +82 -28
- package/dist/fns/filterFns.d.ts +82 -28
- package/dist/fns/filterFns.js +51 -65
- package/dist/fns/filterFns.js.map +1 -1
- package/dist/fns/sortFns.cjs +18 -6
- package/dist/fns/sortFns.cjs.map +1 -1
- package/dist/fns/sortFns.d.cts +15 -13
- package/dist/fns/sortFns.d.ts +15 -13
- package/dist/fns/sortFns.js +18 -6
- package/dist/fns/sortFns.js.map +1 -1
- package/dist/helpers/columnHelper.cjs.map +1 -1
- package/dist/helpers/columnHelper.d.cts +2 -2
- package/dist/helpers/columnHelper.d.ts +2 -2
- package/dist/helpers/columnHelper.js.map +1 -1
- package/dist/helpers/metaHelper.cjs +30 -0
- package/dist/helpers/metaHelper.cjs.map +1 -0
- package/dist/helpers/metaHelper.d.cts +26 -0
- package/dist/helpers/metaHelper.d.ts +26 -0
- package/dist/helpers/metaHelper.js +29 -0
- package/dist/helpers/metaHelper.js.map +1 -0
- package/dist/helpers/tableFeatures.cjs +31 -3
- package/dist/helpers/tableFeatures.cjs.map +1 -1
- package/dist/helpers/tableFeatures.d.cts +33 -5
- package/dist/helpers/tableFeatures.d.ts +33 -5
- package/dist/helpers/tableFeatures.js +31 -3
- package/dist/helpers/tableFeatures.js.map +1 -1
- package/dist/index.cjs +4 -20
- package/dist/index.d.cts +50 -49
- package/dist/index.d.ts +50 -49
- package/dist/index.js +23 -22
- package/dist/static-functions.cjs +1 -0
- package/dist/static-functions.d.cts +2 -2
- package/dist/static-functions.d.ts +2 -2
- package/dist/static-functions.js +2 -2
- package/dist/store-reactivity-bindings.cjs +1 -1
- package/dist/store-reactivity-bindings.cjs.map +1 -1
- package/dist/store-reactivity-bindings.d.cts +1 -1
- package/dist/store-reactivity-bindings.d.ts +1 -1
- package/dist/store-reactivity-bindings.js +1 -1
- package/dist/store-reactivity-bindings.js.map +1 -1
- package/dist/types/Cell.d.cts +4 -9
- package/dist/types/Cell.d.ts +4 -9
- package/dist/types/Column.d.cts +11 -18
- package/dist/types/Column.d.ts +11 -18
- package/dist/types/ColumnDef.d.cts +23 -14
- package/dist/types/ColumnDef.d.ts +23 -14
- package/dist/types/Header.d.cts +5 -10
- package/dist/types/Header.d.ts +5 -10
- package/dist/types/HeaderGroup.d.cts +4 -9
- package/dist/types/HeaderGroup.d.ts +4 -9
- package/dist/types/Row.d.cts +7 -12
- package/dist/types/Row.d.ts +7 -12
- package/dist/types/RowModel.d.cts +12 -28
- package/dist/types/RowModel.d.ts +12 -28
- package/dist/types/RowModelFns.d.cts +6 -11
- package/dist/types/RowModelFns.d.ts +6 -11
- package/dist/types/Table.d.cts +26 -36
- package/dist/types/Table.d.ts +26 -36
- package/dist/types/TableFeatures.d.cts +328 -54
- package/dist/types/TableFeatures.d.ts +328 -54
- package/dist/types/TableOptions.d.cts +22 -17
- package/dist/types/TableOptions.d.ts +22 -17
- package/dist/types/TableState.d.cts +11 -16
- package/dist/types/TableState.d.ts +11 -16
- package/dist/utils.cjs +24 -2
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +23 -7
- package/dist/utils.d.ts +23 -7
- package/dist/utils.js +23 -3
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/skills/column-definitions/SKILL.md +3 -6
- package/skills/column-layout/SKILL.md +0 -2
- package/skills/customizing-feature-behavior/SKILL.md +63 -56
- package/skills/filtering/SKILL.md +60 -42
- package/skills/filtering/references/faceting-and-fuzzy.md +59 -32
- package/skills/grouping/SKILL.md +49 -54
- package/skills/migrate-v8-to-v9/SKILL.md +30 -33
- package/skills/pagination/SKILL.md +22 -20
- package/skills/row-expanding/SKILL.md +33 -25
- package/skills/row-pinning/SKILL.md +11 -7
- package/skills/row-selection/SKILL.md +0 -3
- package/skills/setup/SKILL.md +55 -65
- package/skills/sorting/SKILL.md +21 -21
- package/skills/state-management/SKILL.md +40 -25
- package/src/core/cells/coreCellsFeature.ts +17 -39
- package/src/core/cells/coreCellsFeature.types.ts +6 -6
- package/src/core/columns/constructColumn.ts +6 -0
- package/src/core/columns/coreColumnsFeature.ts +56 -83
- package/src/core/columns/coreColumnsFeature.types.ts +8 -8
- package/src/core/columns/coreColumnsFeature.utils.ts +4 -4
- package/src/core/coreFeatures.ts +1 -1
- package/src/core/headers/buildHeaderGroups.ts +4 -2
- package/src/core/headers/coreHeadersFeature.ts +42 -64
- package/src/core/headers/coreHeadersFeature.types.ts +12 -12
- package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
- package/src/core/row-models/coreRowModelsFeature.ts +43 -64
- package/src/core/row-models/coreRowModelsFeature.types.ts +7 -24
- package/src/core/row-models/coreRowModelsFeature.utils.ts +7 -7
- package/src/core/row-models/createCoreRowModel.ts +7 -6
- package/src/core/rows/constructRow.ts +3 -2
- package/src/core/rows/coreRowsFeature.ts +45 -72
- package/src/core/rows/coreRowsFeature.types.ts +8 -8
- package/src/core/rows/coreRowsFeature.utils.ts +4 -4
- package/src/core/table/constructTable.ts +50 -13
- package/src/core/table/coreTablesFeature.ts +13 -35
- package/src/core/table/coreTablesFeature.types.ts +40 -17
- package/src/core/table/coreTablesFeature.utils.ts +52 -18
- package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
- package/src/features/column-faceting/columnFacetingFeature.types.ts +11 -44
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +6 -6
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
- package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
- package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
- package/src/features/column-filtering/columnFilteringFeature.ts +61 -103
- package/src/features/column-filtering/columnFilteringFeature.types.ts +55 -39
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +2 -2
- package/src/features/column-filtering/createFilteredRowModel.ts +18 -17
- package/src/features/column-filtering/filterRowsUtils.ts +3 -2
- package/src/features/column-grouping/columnGroupingFeature.ts +83 -126
- package/src/features/column-grouping/columnGroupingFeature.types.ts +42 -34
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -2
- package/src/features/column-grouping/createGroupedRowModel.ts +17 -16
- package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
- package/src/features/column-ordering/columnOrderingFeature.types.ts +2 -2
- package/src/features/column-pinning/columnPinningFeature.ts +268 -304
- package/src/features/column-pinning/columnPinningFeature.types.ts +4 -4
- package/src/features/column-pinning/columnPinningFeature.utils.ts +11 -19
- package/src/features/column-resizing/columnResizingFeature.ts +44 -78
- package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
- package/src/features/column-resizing/columnResizingFeature.utils.ts +5 -6
- package/src/features/column-sizing/columnSizingFeature.ts +115 -152
- package/src/features/column-sizing/columnSizingFeature.utils.ts +27 -5
- package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +31 -15
- package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
- package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +5 -3
- package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
- package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
- package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -22
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
- package/src/features/row-pagination/createPaginatedRowModel.ts +2 -2
- package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
- package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -20
- package/src/features/row-pinning/rowPinningFeature.ts +72 -104
- package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
- package/src/features/row-selection/rowSelectionFeature.ts +125 -135
- package/src/features/row-selection/rowSelectionFeature.types.ts +17 -7
- package/src/features/row-selection/rowSelectionFeature.utils.ts +144 -66
- package/src/features/row-sorting/createSortedRowModel.ts +12 -15
- package/src/features/row-sorting/rowSortingFeature.ts +73 -114
- package/src/features/row-sorting/rowSortingFeature.types.ts +33 -32
- package/src/features/row-sorting/rowSortingFeature.utils.ts +8 -6
- package/src/fns/aggregationFns.ts +26 -42
- package/src/fns/filterFns.ts +237 -264
- package/src/fns/sortFns.ts +51 -29
- package/src/helpers/columnHelper.ts +4 -4
- package/src/helpers/metaHelper.ts +24 -0
- package/src/helpers/tableFeatures.ts +36 -5
- package/src/index.ts +1 -0
- package/src/store-reactivity-bindings.ts +1 -1
- package/src/types/Cell.ts +5 -21
- package/src/types/Column.ts +12 -26
- package/src/types/ColumnDef.ts +28 -18
- package/src/types/Header.ts +4 -20
- package/src/types/HeaderGroup.ts +7 -18
- package/src/types/Row.ts +6 -21
- package/src/types/RowModel.ts +15 -88
- package/src/types/RowModelFns.ts +9 -24
- package/src/types/Table.ts +54 -44
- package/src/types/TableFeatures.ts +402 -123
- package/src/types/TableOptions.ts +59 -21
- package/src/types/TableState.ts +5 -17
- package/src/utils.ts +40 -8
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
callMemoOrStaticFn,
|
|
3
|
+
cloneState,
|
|
4
|
+
hasOwn,
|
|
5
|
+
makeObjectMap,
|
|
6
|
+
} from '../../utils'
|
|
2
7
|
import type { RowData, Updater } from '../../types/type-utils'
|
|
3
8
|
import type { TableFeatures } from '../../types/TableFeatures'
|
|
4
9
|
import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
|
|
@@ -20,7 +25,7 @@ import type { RowSelectionState } from './rowSelectionFeature.types'
|
|
|
20
25
|
* ```
|
|
21
26
|
*/
|
|
22
27
|
export function getDefaultRowSelectionState(): RowSelectionState {
|
|
23
|
-
return
|
|
28
|
+
return makeObjectMap()
|
|
24
29
|
}
|
|
25
30
|
|
|
26
31
|
/**
|
|
@@ -62,7 +67,12 @@ export function table_resetRowSelection<
|
|
|
62
67
|
>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {
|
|
63
68
|
table_setRowSelection(
|
|
64
69
|
table,
|
|
65
|
-
defaultState
|
|
70
|
+
defaultState
|
|
71
|
+
? makeObjectMap()
|
|
72
|
+
: Object.assign(
|
|
73
|
+
makeObjectMap<true>(),
|
|
74
|
+
cloneState(table.initialState.rowSelection ?? {}),
|
|
75
|
+
),
|
|
66
76
|
)
|
|
67
77
|
}
|
|
68
78
|
|
|
@@ -82,23 +92,36 @@ export function table_resetRowSelection<
|
|
|
82
92
|
export function table_toggleAllRowsSelected<
|
|
83
93
|
TFeatures extends TableFeatures,
|
|
84
94
|
TData extends RowData,
|
|
85
|
-
>(
|
|
95
|
+
>(
|
|
96
|
+
table: Table_Internal<TFeatures, TData>,
|
|
97
|
+
value?: boolean,
|
|
98
|
+
opts?: { deselectAll?: boolean },
|
|
99
|
+
) {
|
|
86
100
|
table_setRowSelection(table, (old) => {
|
|
87
101
|
value =
|
|
88
|
-
typeof value !== 'undefined'
|
|
89
|
-
|
|
90
|
-
|
|
102
|
+
typeof value !== 'undefined'
|
|
103
|
+
? value
|
|
104
|
+
: !callMemoOrStaticFn(
|
|
105
|
+
table,
|
|
106
|
+
'getIsAllRowsSelected',
|
|
107
|
+
table_getIsAllRowsSelected,
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
if (opts?.deselectAll && !value) {
|
|
111
|
+
// deselectAll opt: clear the whole selection map instead of deleting ids one-by-one
|
|
112
|
+
return makeObjectMap<true>()
|
|
113
|
+
}
|
|
91
114
|
|
|
115
|
+
const rowSelection = Object.assign(makeObjectMap<true>(), old)
|
|
92
116
|
const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows
|
|
93
117
|
|
|
94
118
|
// We don't use `mutateRowIsSelected` here for performance reasons.
|
|
95
119
|
// All of the rows are flat already, so it wouldn't be worth it
|
|
96
120
|
if (value) {
|
|
97
121
|
preGroupedFlatRows.forEach((row) => {
|
|
98
|
-
if (
|
|
99
|
-
|
|
122
|
+
if (row_getCanSelect(row)) {
|
|
123
|
+
rowSelection[row.id] = true
|
|
100
124
|
}
|
|
101
|
-
rowSelection[row.id] = true
|
|
102
125
|
})
|
|
103
126
|
} else {
|
|
104
127
|
preGroupedFlatRows.forEach((row) => {
|
|
@@ -124,14 +147,30 @@ export function table_toggleAllRowsSelected<
|
|
|
124
147
|
export function table_toggleAllPageRowsSelected<
|
|
125
148
|
TFeatures extends TableFeatures,
|
|
126
149
|
TData extends RowData,
|
|
127
|
-
>(
|
|
150
|
+
>(
|
|
151
|
+
table: Table_Internal<TFeatures, TData>,
|
|
152
|
+
value?: boolean,
|
|
153
|
+
opts?: { deselectAll?: boolean },
|
|
154
|
+
) {
|
|
128
155
|
table_setRowSelection(table, (old) => {
|
|
129
156
|
const resolvedValue =
|
|
130
157
|
typeof value !== 'undefined'
|
|
131
158
|
? value
|
|
132
|
-
: !
|
|
159
|
+
: !callMemoOrStaticFn(
|
|
160
|
+
table,
|
|
161
|
+
'getIsAllPageRowsSelected',
|
|
162
|
+
table_getIsAllPageRowsSelected,
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
if (opts?.deselectAll && !resolvedValue) {
|
|
166
|
+
// deselectAll opt: clear the whole selection map instead of deleting ids one-by-one
|
|
167
|
+
return makeObjectMap<true>()
|
|
168
|
+
}
|
|
133
169
|
|
|
134
|
-
const rowSelection: RowSelectionState =
|
|
170
|
+
const rowSelection: RowSelectionState = Object.assign(
|
|
171
|
+
makeObjectMap<true>(),
|
|
172
|
+
old,
|
|
173
|
+
)
|
|
135
174
|
|
|
136
175
|
table.getRowModel().rows.forEach((row) => {
|
|
137
176
|
mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table)
|
|
@@ -176,15 +215,21 @@ export function table_getSelectedRowModel<
|
|
|
176
215
|
>(table: Table_Internal<TFeatures, TData>) {
|
|
177
216
|
const rowModel = table.getCoreRowModel()
|
|
178
217
|
|
|
179
|
-
if (
|
|
218
|
+
if (
|
|
219
|
+
!callMemoOrStaticFn(
|
|
220
|
+
table,
|
|
221
|
+
'getIsSomeRowsSelected',
|
|
222
|
+
table_getIsSomeRowsSelected,
|
|
223
|
+
)
|
|
224
|
+
) {
|
|
180
225
|
return {
|
|
181
226
|
rows: [],
|
|
182
227
|
flatRows: [],
|
|
183
|
-
rowsById:
|
|
228
|
+
rowsById: makeObjectMap(),
|
|
184
229
|
}
|
|
185
230
|
}
|
|
186
231
|
|
|
187
|
-
return selectRowsFn(rowModel)
|
|
232
|
+
return selectRowsFn(rowModel, table)
|
|
188
233
|
}
|
|
189
234
|
|
|
190
235
|
/**
|
|
@@ -204,15 +249,21 @@ export function table_getFilteredSelectedRowModel<
|
|
|
204
249
|
>(table: Table_Internal<TFeatures, TData>) {
|
|
205
250
|
const rowModel = table.getCoreRowModel()
|
|
206
251
|
|
|
207
|
-
if (
|
|
252
|
+
if (
|
|
253
|
+
!callMemoOrStaticFn(
|
|
254
|
+
table,
|
|
255
|
+
'getIsSomeRowsSelected',
|
|
256
|
+
table_getIsSomeRowsSelected,
|
|
257
|
+
)
|
|
258
|
+
) {
|
|
208
259
|
return {
|
|
209
260
|
rows: [],
|
|
210
261
|
flatRows: [],
|
|
211
|
-
rowsById:
|
|
262
|
+
rowsById: makeObjectMap(),
|
|
212
263
|
}
|
|
213
264
|
}
|
|
214
265
|
|
|
215
|
-
return selectRowsFn(rowModel)
|
|
266
|
+
return selectRowsFn(rowModel, table)
|
|
216
267
|
}
|
|
217
268
|
|
|
218
269
|
/**
|
|
@@ -232,15 +283,36 @@ export function table_getGroupedSelectedRowModel<
|
|
|
232
283
|
>(table: Table_Internal<TFeatures, TData>) {
|
|
233
284
|
const rowModel = table.getCoreRowModel()
|
|
234
285
|
|
|
235
|
-
if (
|
|
286
|
+
if (
|
|
287
|
+
!callMemoOrStaticFn(
|
|
288
|
+
table,
|
|
289
|
+
'getIsSomeRowsSelected',
|
|
290
|
+
table_getIsSomeRowsSelected,
|
|
291
|
+
)
|
|
292
|
+
) {
|
|
236
293
|
return {
|
|
237
294
|
rows: [],
|
|
238
295
|
flatRows: [],
|
|
239
|
-
rowsById:
|
|
296
|
+
rowsById: makeObjectMap(),
|
|
240
297
|
}
|
|
241
298
|
}
|
|
242
299
|
|
|
243
|
-
return selectRowsFn(rowModel)
|
|
300
|
+
return selectRowsFn(rowModel, table)
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Returns the ids of all selected rows.
|
|
305
|
+
*
|
|
306
|
+
* @example
|
|
307
|
+
* ```ts
|
|
308
|
+
* const selectedRowIds = table_getSelectedRowIds(table)
|
|
309
|
+
* ```
|
|
310
|
+
*/
|
|
311
|
+
export function table_getSelectedRowIds<
|
|
312
|
+
TFeatures extends TableFeatures,
|
|
313
|
+
TData extends RowData,
|
|
314
|
+
>(table: Table_Internal<TFeatures, TData>): Array<string> {
|
|
315
|
+
return Object.keys(table.atoms.rowSelection?.get() ?? {})
|
|
244
316
|
}
|
|
245
317
|
|
|
246
318
|
/**
|
|
@@ -259,7 +331,7 @@ export function table_getIsAllRowsSelected<
|
|
|
259
331
|
TData extends RowData,
|
|
260
332
|
>(table: Table_Internal<TFeatures, TData>) {
|
|
261
333
|
const preGroupedFlatRows = table.getFilteredRowModel().flatRows
|
|
262
|
-
const rowSelection
|
|
334
|
+
const rowSelection = table.atoms.rowSelection?.get() ?? {}
|
|
263
335
|
|
|
264
336
|
let isAllRowsSelected = Boolean(
|
|
265
337
|
preGroupedFlatRows.length && Object.keys(rowSelection).length,
|
|
@@ -268,7 +340,7 @@ export function table_getIsAllRowsSelected<
|
|
|
268
340
|
if (isAllRowsSelected) {
|
|
269
341
|
if (
|
|
270
342
|
preGroupedFlatRows.some(
|
|
271
|
-
(row) => row_getCanSelect(row) && !
|
|
343
|
+
(row) => row_getCanSelect(row) && !isRowSelected(row, rowSelection),
|
|
272
344
|
)
|
|
273
345
|
) {
|
|
274
346
|
isAllRowsSelected = false
|
|
@@ -295,13 +367,13 @@ export function table_getIsAllPageRowsSelected<
|
|
|
295
367
|
const paginationFlatRows = table
|
|
296
368
|
.getPaginatedRowModel()
|
|
297
369
|
.flatRows.filter((row) => row_getCanSelect(row))
|
|
298
|
-
const rowSelection
|
|
370
|
+
const rowSelection = table.atoms.rowSelection?.get() ?? {}
|
|
299
371
|
|
|
300
372
|
let isAllPageRowsSelected = !!paginationFlatRows.length
|
|
301
373
|
|
|
302
374
|
if (
|
|
303
375
|
isAllPageRowsSelected &&
|
|
304
|
-
paginationFlatRows.some((row) => !rowSelection
|
|
376
|
+
paginationFlatRows.some((row) => !isRowSelected(row, rowSelection))
|
|
305
377
|
) {
|
|
306
378
|
isAllPageRowsSelected = false
|
|
307
379
|
}
|
|
@@ -312,8 +384,7 @@ export function table_getIsAllPageRowsSelected<
|
|
|
312
384
|
/**
|
|
313
385
|
* Checks whether selection is partially applied across filtered rows.
|
|
314
386
|
*
|
|
315
|
-
* The result is true when at least one row id is selected
|
|
316
|
-
* selected than the current filtered flat row count.
|
|
387
|
+
* The result is true when at least one row id is selected
|
|
317
388
|
*
|
|
318
389
|
* @example
|
|
319
390
|
* ```ts
|
|
@@ -324,21 +395,15 @@ export function table_getIsSomeRowsSelected<
|
|
|
324
395
|
TFeatures extends TableFeatures,
|
|
325
396
|
TData extends RowData,
|
|
326
397
|
>(table: Table_Internal<TFeatures, TData>) {
|
|
327
|
-
const totalSelected = Object.keys(
|
|
328
|
-
table.atoms.rowSelection?.get() ?? {},
|
|
329
|
-
).length
|
|
330
398
|
return (
|
|
331
|
-
|
|
332
|
-
|
|
399
|
+
callMemoOrStaticFn(table, 'getSelectedRowIds', table_getSelectedRowIds)
|
|
400
|
+
.length > 0
|
|
333
401
|
)
|
|
334
402
|
}
|
|
335
403
|
|
|
336
404
|
/**
|
|
337
405
|
* Checks whether the current page has a partial selection.
|
|
338
406
|
*
|
|
339
|
-
* This is false when all selectable page rows are selected. Otherwise it is true
|
|
340
|
-
* if any selectable page row or descendant is selected.
|
|
341
|
-
*
|
|
342
407
|
* @example
|
|
343
408
|
* ```ts
|
|
344
409
|
* const somePageRowsSelected = table_getIsSomePageRowsSelected(table)
|
|
@@ -348,12 +413,10 @@ export function table_getIsSomePageRowsSelected<
|
|
|
348
413
|
TFeatures extends TableFeatures,
|
|
349
414
|
TData extends RowData,
|
|
350
415
|
>(table: Table_Internal<TFeatures, TData>) {
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
.filter((row) => row_getCanSelect(row))
|
|
356
|
-
.some((row) => row_getIsSelected(row) || row_getIsSomeSelected(row))
|
|
416
|
+
return table
|
|
417
|
+
.getPaginatedRowModel()
|
|
418
|
+
.flatRows.filter((row) => row_getCanSelect(row))
|
|
419
|
+
.some((row) => row_getIsSelected(row) || row_getIsSomeSelected(row))
|
|
357
420
|
}
|
|
358
421
|
|
|
359
422
|
/**
|
|
@@ -413,6 +476,10 @@ export function table_getToggleAllPageRowsSelectedHandler<
|
|
|
413
476
|
* @example
|
|
414
477
|
* ```ts
|
|
415
478
|
* row_toggleSelected(row)
|
|
479
|
+
* row_toggleSelected(row, true)
|
|
480
|
+
* row_toggleSelected(row, false)
|
|
481
|
+
* row_toggleSelected(row, true, { selectChildren: false })
|
|
482
|
+
* row_toggleSelected(row, false, { selectChildren: false })
|
|
416
483
|
* ```
|
|
417
484
|
*/
|
|
418
485
|
export function row_toggleSelected<
|
|
@@ -434,17 +501,17 @@ export function row_toggleSelected<
|
|
|
434
501
|
return old
|
|
435
502
|
}
|
|
436
503
|
|
|
437
|
-
const
|
|
504
|
+
const rowSelection = Object.assign(makeObjectMap<true>(), old)
|
|
438
505
|
|
|
439
506
|
mutateRowIsSelected(
|
|
440
|
-
|
|
507
|
+
rowSelection,
|
|
441
508
|
row.id,
|
|
442
509
|
value,
|
|
443
510
|
opts?.selectChildren ?? true,
|
|
444
511
|
row.table,
|
|
445
512
|
)
|
|
446
513
|
|
|
447
|
-
return
|
|
514
|
+
return rowSelection
|
|
448
515
|
})
|
|
449
516
|
}
|
|
450
517
|
|
|
@@ -462,7 +529,8 @@ export function row_getIsSelected<
|
|
|
462
529
|
TFeatures extends TableFeatures,
|
|
463
530
|
TData extends RowData,
|
|
464
531
|
>(row: Row<TFeatures, TData>) {
|
|
465
|
-
|
|
532
|
+
const rowSelection = row.table.atoms.rowSelection?.get() ?? {}
|
|
533
|
+
return isRowSelected(row, rowSelection)
|
|
466
534
|
}
|
|
467
535
|
|
|
468
536
|
/**
|
|
@@ -598,28 +666,28 @@ const mutateRowIsSelected = <
|
|
|
598
666
|
TFeatures extends TableFeatures,
|
|
599
667
|
TData extends RowData,
|
|
600
668
|
>(
|
|
601
|
-
|
|
669
|
+
rowSelection: RowSelectionState,
|
|
602
670
|
rowId: string,
|
|
603
671
|
value: boolean,
|
|
604
672
|
includeChildren: boolean,
|
|
605
673
|
table: Table_Internal<TFeatures, TData>,
|
|
606
|
-
) => {
|
|
674
|
+
): void => {
|
|
607
675
|
const row = table.getRow(rowId, true)
|
|
608
676
|
|
|
609
677
|
if (value) {
|
|
610
678
|
if (!row_getCanMultiSelect(row)) {
|
|
611
|
-
Object.keys(
|
|
679
|
+
Object.keys(rowSelection).forEach((key) => delete rowSelection[key])
|
|
612
680
|
}
|
|
613
681
|
if (row_getCanSelect(row)) {
|
|
614
|
-
|
|
682
|
+
rowSelection[rowId] = true
|
|
615
683
|
}
|
|
616
684
|
} else {
|
|
617
|
-
delete
|
|
685
|
+
delete rowSelection[rowId]
|
|
618
686
|
}
|
|
619
687
|
|
|
620
688
|
if (includeChildren && row.subRows.length && row_getCanSelectSubRows(row)) {
|
|
621
689
|
row.subRows.forEach((r) =>
|
|
622
|
-
mutateRowIsSelected(
|
|
690
|
+
mutateRowIsSelected(rowSelection, r.id, value, includeChildren, table),
|
|
623
691
|
)
|
|
624
692
|
}
|
|
625
693
|
}
|
|
@@ -638,10 +706,13 @@ const mutateRowIsSelected = <
|
|
|
638
706
|
export function selectRowsFn<
|
|
639
707
|
TFeatures extends TableFeatures,
|
|
640
708
|
TData extends RowData,
|
|
641
|
-
>(
|
|
709
|
+
>(
|
|
710
|
+
rowModel: RowModel<TFeatures, TData>,
|
|
711
|
+
table: Table_Internal<TFeatures, TData>,
|
|
712
|
+
): RowModel<TFeatures, TData> {
|
|
642
713
|
const newSelectedFlatRows: Array<Row<TFeatures, TData>> = []
|
|
643
|
-
const newSelectedRowsById
|
|
644
|
-
|
|
714
|
+
const newSelectedRowsById = makeObjectMap<Row<TFeatures, TData>>()
|
|
715
|
+
const rowSelection = table.atoms.rowSelection?.get() ?? {}
|
|
645
716
|
// Filters top level and nested rows.
|
|
646
717
|
const recurseRows = (
|
|
647
718
|
rows: Array<Row<TFeatures, TData>>,
|
|
@@ -649,8 +720,8 @@ export function selectRowsFn<
|
|
|
649
720
|
): Array<Row<TFeatures, TData>> => {
|
|
650
721
|
const result: Array<Row<TFeatures, TData>> = []
|
|
651
722
|
for (let i = 0; i < rows.length; i++) {
|
|
652
|
-
|
|
653
|
-
const isSelected = isRowSelected(row)
|
|
723
|
+
const row = rows[i]!
|
|
724
|
+
const isSelected = isRowSelected(row, rowSelection)
|
|
654
725
|
|
|
655
726
|
if (isSelected) {
|
|
656
727
|
newSelectedFlatRows.push(row)
|
|
@@ -658,13 +729,18 @@ export function selectRowsFn<
|
|
|
658
729
|
}
|
|
659
730
|
|
|
660
731
|
if (row.subRows.length) {
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
732
|
+
// Always recurse — selected descendants of unselected parents must
|
|
733
|
+
// still be collected into flatRows/rowsById.
|
|
734
|
+
const newSubRows = recurseRows(row.subRows, depth + 1)
|
|
735
|
+
|
|
736
|
+
if (isSelected) {
|
|
737
|
+
// Preserve prototype chain so methods like getValue() remain accessible
|
|
738
|
+
const cloned = Object.create(Object.getPrototypeOf(row))
|
|
739
|
+
Object.assign(cloned, row)
|
|
740
|
+
cloned.subRows = newSubRows
|
|
741
|
+
result.push(cloned)
|
|
664
742
|
}
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
if (isSelected) {
|
|
743
|
+
} else if (isSelected) {
|
|
668
744
|
result.push(row)
|
|
669
745
|
}
|
|
670
746
|
}
|
|
@@ -689,8 +765,8 @@ export function selectRowsFn<
|
|
|
689
765
|
export function isRowSelected<
|
|
690
766
|
TFeatures extends TableFeatures,
|
|
691
767
|
TData extends RowData,
|
|
692
|
-
>(row: Row<TFeatures, TData
|
|
693
|
-
return (row.
|
|
768
|
+
>(row: Row<TFeatures, TData>, rowSelection: RowSelectionState): boolean {
|
|
769
|
+
return !!(hasOwn(rowSelection, row.id) && rowSelection[row.id])
|
|
694
770
|
}
|
|
695
771
|
|
|
696
772
|
/**
|
|
@@ -709,6 +785,8 @@ export function isSubRowSelected<
|
|
|
709
785
|
>(row: Row<TFeatures, TData>): boolean | 'some' | 'all' {
|
|
710
786
|
if (!row.subRows.length) return false
|
|
711
787
|
|
|
788
|
+
const rowSelection = row.table.atoms.rowSelection?.get() ?? {}
|
|
789
|
+
|
|
712
790
|
let allChildrenSelected = true
|
|
713
791
|
let someSelected = false
|
|
714
792
|
|
|
@@ -719,7 +797,7 @@ export function isSubRowSelected<
|
|
|
719
797
|
}
|
|
720
798
|
|
|
721
799
|
if (row_getCanSelect(subRow)) {
|
|
722
|
-
if (isRowSelected(subRow)) {
|
|
800
|
+
if (isRowSelected(subRow, rowSelection)) {
|
|
723
801
|
someSelected = true
|
|
724
802
|
} else {
|
|
725
803
|
allChildrenSelected = false
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { tableMemo } from '../../utils'
|
|
1
|
+
import { makeObjectMap, tableMemo } from '../../utils'
|
|
2
2
|
import { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'
|
|
3
3
|
import { column_getCanSort, column_getSortFn } from './rowSortingFeature.utils'
|
|
4
4
|
import type { Column_Internal } from '../../types/Column'
|
|
@@ -6,23 +6,23 @@ import type { TableFeatures } from '../../types/TableFeatures'
|
|
|
6
6
|
import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
|
|
7
7
|
import type { Table, Table_Internal } from '../../types/Table'
|
|
8
8
|
import type { Row } from '../../types/Row'
|
|
9
|
-
import type { SortFn
|
|
9
|
+
import type { SortFn } from './rowSortingFeature.types'
|
|
10
10
|
import type { RowData } from '../../types/type-utils'
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Creates a memoized sorted row model factory.
|
|
14
14
|
*
|
|
15
15
|
* The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
|
|
16
|
+
*
|
|
17
|
+
* Register sorting functions with the `sortFns` slot on the `features` option:
|
|
18
|
+
* `tableFeatures({ rowSortingFeature, sortedRowModel: createSortedRowModel(), sortFns })`.
|
|
16
19
|
*/
|
|
17
20
|
export function createSortedRowModel<
|
|
18
21
|
TFeatures extends TableFeatures,
|
|
19
22
|
TData extends RowData,
|
|
20
|
-
>(
|
|
21
|
-
sortFns: Record<keyof SortFns, SortFn<TFeatures, TData>>,
|
|
22
|
-
): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {
|
|
23
|
+
>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {
|
|
23
24
|
return (_table) => {
|
|
24
|
-
const table
|
|
25
|
-
if (!table._rowModelFns.sortFns) table._rowModelFns.sortFns = sortFns
|
|
25
|
+
const table = _table as unknown as Table_Internal<TFeatures, TData>
|
|
26
26
|
return tableMemo({
|
|
27
27
|
feature: 'rowSortingFeature',
|
|
28
28
|
table,
|
|
@@ -57,14 +57,11 @@ function _createSortedRowModel<
|
|
|
57
57
|
),
|
|
58
58
|
)
|
|
59
59
|
|
|
60
|
-
const columnInfoById
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
sortFn: SortFn<TFeatures, TData>
|
|
66
|
-
}
|
|
67
|
-
> = {}
|
|
60
|
+
const columnInfoById = makeObjectMap<{
|
|
61
|
+
sortUndefined?: false | -1 | 1 | 'first' | 'last'
|
|
62
|
+
invertSorting?: boolean
|
|
63
|
+
sortFn: SortFn<TFeatures, TData>
|
|
64
|
+
}>()
|
|
68
65
|
|
|
69
66
|
availableSorting.forEach((sortEntry) => {
|
|
70
67
|
const column: Column_Internal<TFeatures, TData> | undefined =
|