@tanstack/table-core 9.0.0-beta.5 → 9.0.0-beta.51
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 +2 -0
- package/dist/core/cells/constructCell.cjs +1 -4
- package/dist/core/cells/constructCell.cjs.map +1 -1
- package/dist/core/cells/constructCell.d.cts +4 -4
- package/dist/core/cells/constructCell.d.ts +4 -4
- package/dist/core/cells/constructCell.js +1 -4
- package/dist/core/cells/constructCell.js.map +1 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +7 -7
- package/dist/core/cells/coreCellsFeature.types.d.ts +7 -7
- package/dist/core/cells/coreCellsFeature.utils.d.cts +4 -4
- package/dist/core/cells/coreCellsFeature.utils.d.ts +4 -4
- package/dist/core/columns/constructColumn.cjs +4 -5
- 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 +4 -5
- package/dist/core/columns/constructColumn.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.cjs +12 -18
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.js +12 -18
- package/dist/core/columns/coreColumnsFeature.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -7
- package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
- package/dist/core/columns/coreColumnsFeature.utils.cjs +4 -8
- 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 +5 -9
- 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 +1 -2
- 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 +1 -2
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/constructHeader.cjs +1 -4
- package/dist/core/headers/constructHeader.cjs.map +1 -1
- package/dist/core/headers/constructHeader.d.cts +2 -2
- package/dist/core/headers/constructHeader.d.ts +2 -2
- package/dist/core/headers/constructHeader.js +1 -4
- package/dist/core/headers/constructHeader.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.cjs +8 -11
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.js +8 -11
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
- package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.cjs +8 -10
- 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 +8 -10
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +7 -15
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -15
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +8 -26
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +16 -16
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +16 -16
- package/dist/core/row-models/coreRowModelsFeature.utils.js +8 -26
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
- package/dist/core/row-models/createCoreRowModel.cjs +4 -6
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +2 -2
- package/dist/core/row-models/createCoreRowModel.d.ts +2 -2
- package/dist/core/row-models/createCoreRowModel.js +5 -7
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/constructRow.cjs +6 -10
- 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 +7 -10
- package/dist/core/rows/constructRow.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.cjs +18 -2
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.js +19 -3
- package/dist/core/rows/coreRowsFeature.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +41 -7
- package/dist/core/rows/coreRowsFeature.types.d.ts +41 -7
- package/dist/core/rows/coreRowsFeature.utils.cjs +62 -8
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +24 -5
- package/dist/core/rows/coreRowsFeature.utils.d.ts +24 -5
- package/dist/core/rows/coreRowsFeature.utils.js +61 -10
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
- package/dist/core/table/constructTable.cjs +24 -14
- 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 +24 -14
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +32 -19
- package/dist/core/table/coreTablesFeature.types.d.ts +32 -19
- package/dist/core/table/coreTablesFeature.utils.cjs +38 -14
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +10 -7
- package/dist/core/table/coreTablesFeature.utils.d.ts +10 -7
- package/dist/core/table/coreTablesFeature.utils.js +38 -14
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/experimental-worker-plugin.cjs +14 -0
- package/dist/experimental-worker-plugin.d.cts +5 -0
- package/dist/experimental-worker-plugin.d.ts +5 -0
- package/dist/experimental-worker-plugin.js +6 -0
- package/dist/features/column-faceting/columnFacetingFeature.cjs +12 -18
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.js +12 -18
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +15 -33
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -33
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +23 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +9 -9
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +9 -9
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +24 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +7 -4
- 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 +8 -5
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs +10 -15
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +2 -2
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +2 -2
- package/dist/features/column-faceting/createFacetedRowModel.js +10 -15
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +10 -6
- 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 +11 -7
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +2 -2
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.js +3 -3
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +83 -29
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +83 -29
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +23 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +18 -14
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +18 -14
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +23 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +29 -25
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +10 -4
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +10 -4
- package/dist/features/column-filtering/createFilteredRowModel.js +30 -26
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-filtering/filterFns.cjs +399 -0
- package/dist/features/column-filtering/filterFns.cjs.map +1 -0
- package/dist/features/column-filtering/filterFns.d.cts +210 -0
- package/dist/features/column-filtering/filterFns.d.ts +210 -0
- package/dist/features/column-filtering/filterFns.js +375 -0
- package/dist/features/column-filtering/filterFns.js.map +1 -0
- 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 +4 -16
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.js +6 -18
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +14 -50
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -50
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +6 -61
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +12 -49
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -49
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -60
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +37 -24
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -4
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -4
- package/dist/features/column-grouping/createGroupedRowModel.js +39 -26
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +17 -21
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.js +18 -22
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +28 -3
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -3
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +35 -15
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +26 -14
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -14
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -17
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +124 -143
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +6 -1
- package/dist/features/column-pinning/columnPinningFeature.d.ts +6 -1
- package/dist/features/column-pinning/columnPinningFeature.js +125 -144
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +52 -41
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +52 -41
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +161 -162
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +101 -92
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +101 -92
- package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -149
- package/dist/features/column-pinning/columnPinningFeature.utils.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 +84 -44
- 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 +85 -45
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +33 -67
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.js +34 -68
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +52 -9
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -9
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +88 -45
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +43 -25
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -25
- package/dist/features/column-sizing/columnSizingFeature.utils.js +88 -46
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +25 -36
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.js +25 -36
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +3 -3
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +3 -3
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +30 -29
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +18 -18
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +18 -18
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +31 -30
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.js +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +6 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +8 -11
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +8 -11
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +6 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-aggregation/aggregationFns.cjs +246 -0
- package/dist/features/row-aggregation/aggregationFns.cjs.map +1 -0
- package/dist/features/row-aggregation/aggregationFns.d.cts +68 -0
- package/dist/features/row-aggregation/aggregationFns.d.ts +68 -0
- package/dist/features/row-aggregation/aggregationFns.js +235 -0
- package/dist/features/row-aggregation/aggregationFns.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.cjs +39 -0
- package/dist/features/row-aggregation/rowAggregationFeature.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.cts +10 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.ts +10 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js +39 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.cjs +13 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.cts +195 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +195 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js +12 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs +212 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.cts +34 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +34 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js +206 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js.map +1 -0
- package/dist/features/row-expanding/createExpandedRowModel.cjs +6 -10
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +2 -2
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +2 -2
- package/dist/features/row-expanding/createExpandedRowModel.js +6 -10
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +6 -15
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -15
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +28 -26
- 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 +29 -27
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +6 -10
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +2 -2
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +2 -2
- package/dist/features/row-pagination/createPaginatedRowModel.js +6 -10
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +5 -14
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -14
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +9 -15
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
- 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-pagination/rowPaginationFeature.utils.js +9 -15
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +4 -16
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.js +4 -16
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +9 -14
- 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 +9 -14
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +66 -22
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.js +67 -23
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +49 -11
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +49 -11
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +128 -72
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +57 -30
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +57 -30
- package/dist/features/row-selection/rowSelectionFeature.utils.js +129 -74
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +69 -50
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +10 -4
- package/dist/features/row-sorting/createSortedRowModel.d.ts +10 -4
- package/dist/features/row-sorting/createSortedRowModel.js +70 -51
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +54 -22
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -22
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +31 -17
- 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 +31 -17
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/sortFns.cjs +226 -0
- package/dist/features/row-sorting/sortFns.cjs.map +1 -0
- package/dist/features/row-sorting/sortFns.d.cts +98 -0
- package/dist/features/row-sorting/sortFns.d.ts +98 -0
- package/dist/features/row-sorting/sortFns.js +217 -0
- package/dist/features/row-sorting/sortFns.js.map +1 -0
- package/dist/features/stockFeatures.cjs +2 -0
- package/dist/features/stockFeatures.cjs.map +1 -1
- package/dist/features/stockFeatures.d.cts +2 -0
- package/dist/features/stockFeatures.d.ts +2 -0
- package/dist/features/stockFeatures.js +2 -0
- package/dist/features/stockFeatures.js.map +1 -1
- package/dist/flex-render.d.cts +1 -1
- package/dist/flex-render.d.ts +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 +32 -3
- package/dist/helpers/tableFeatures.cjs.map +1 -1
- package/dist/helpers/tableFeatures.d.cts +34 -5
- package/dist/helpers/tableFeatures.d.ts +34 -5
- package/dist/helpers/tableFeatures.js +32 -3
- package/dist/helpers/tableFeatures.js.map +1 -1
- package/dist/index.cjs +23 -3
- package/dist/index.d.cts +31 -28
- package/dist/index.d.ts +31 -28
- package/dist/index.js +8 -5
- package/dist/static-functions.cjs +30 -19
- package/dist/static-functions.d.cts +8 -7
- package/dist/static-functions.d.ts +8 -7
- package/dist/static-functions.js +8 -7
- package/dist/store-reactivity-bindings.cjs +3 -3
- 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 +3 -3
- package/dist/store-reactivity-bindings.js.map +1 -1
- package/dist/types/Cell.d.cts +4 -2
- package/dist/types/Cell.d.ts +4 -2
- package/dist/types/Column.d.cts +15 -15
- package/dist/types/Column.d.ts +15 -15
- package/dist/types/ColumnDef.d.cts +30 -14
- package/dist/types/ColumnDef.d.ts +30 -14
- package/dist/types/Header.d.cts +2 -2
- package/dist/types/Header.d.ts +2 -2
- package/dist/types/HeaderGroup.d.cts +2 -2
- package/dist/types/HeaderGroup.d.ts +2 -2
- package/dist/types/Row.d.cts +6 -4
- package/dist/types/Row.d.ts +6 -4
- package/dist/types/RowModel.d.cts +11 -23
- package/dist/types/RowModel.d.ts +11 -23
- package/dist/types/RowModelFns.d.cts +4 -4
- package/dist/types/RowModelFns.d.ts +4 -4
- package/dist/types/Table.d.cts +26 -31
- package/dist/types/Table.d.ts +26 -31
- package/dist/types/TableFeatures.d.cts +350 -22
- package/dist/types/TableFeatures.d.ts +350 -22
- package/dist/types/TableOptions.d.cts +22 -14
- package/dist/types/TableOptions.d.ts +22 -14
- package/dist/types/TableState.d.cts +6 -6
- package/dist/types/TableState.d.ts +6 -6
- package/dist/types/type-utils.d.cts +8 -1
- package/dist/types/type-utils.d.ts +8 -1
- package/dist/utils.cjs +51 -29
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +30 -8
- package/dist/utils.d.ts +30 -8
- package/dist/utils.js +49 -30
- package/dist/utils.js.map +1 -1
- package/dist/worker/createTableWorker.cjs +189 -0
- package/dist/worker/createTableWorker.cjs.map +1 -0
- package/dist/worker/createTableWorker.d.cts +102 -0
- package/dist/worker/createTableWorker.d.ts +102 -0
- package/dist/worker/createTableWorker.js +186 -0
- package/dist/worker/createTableWorker.js.map +1 -0
- package/dist/worker/createWorkerRowModel.cjs +78 -0
- package/dist/worker/createWorkerRowModel.cjs.map +1 -0
- package/dist/worker/createWorkerRowModel.d.cts +42 -0
- package/dist/worker/createWorkerRowModel.d.ts +42 -0
- package/dist/worker/createWorkerRowModel.js +78 -0
- package/dist/worker/createWorkerRowModel.js.map +1 -0
- package/dist/worker/initTableWorker.cjs +100 -0
- package/dist/worker/initTableWorker.cjs.map +1 -0
- package/dist/worker/initTableWorker.d.cts +33 -0
- package/dist/worker/initTableWorker.d.ts +33 -0
- package/dist/worker/initTableWorker.js +100 -0
- package/dist/worker/initTableWorker.js.map +1 -0
- package/dist/worker/rebuildRowModel.cjs +72 -0
- package/dist/worker/rebuildRowModel.cjs.map +1 -0
- package/dist/worker/rebuildRowModel.d.cts +9 -0
- package/dist/worker/rebuildRowModel.d.ts +9 -0
- package/dist/worker/rebuildRowModel.js +72 -0
- package/dist/worker/rebuildRowModel.js.map +1 -0
- package/dist/worker/serializeRowModel.cjs +53 -0
- package/dist/worker/serializeRowModel.cjs.map +1 -0
- package/dist/worker/serializeRowModel.js +52 -0
- package/dist/worker/serializeRowModel.js.map +1 -0
- package/dist/worker/tableWorkerProtocol.cjs +29 -0
- package/dist/worker/tableWorkerProtocol.cjs.map +1 -0
- package/dist/worker/tableWorkerProtocol.d.cts +88 -0
- package/dist/worker/tableWorkerProtocol.d.ts +88 -0
- package/dist/worker/tableWorkerProtocol.js +27 -0
- package/dist/worker/tableWorkerProtocol.js.map +1 -0
- package/package.json +8 -3
- package/skills/aggregation/SKILL.md +141 -0
- package/skills/api-not-found/SKILL.md +113 -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 +274 -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/src/core/cells/coreCellsFeature.types.ts +6 -6
- package/src/core/columns/constructColumn.ts +6 -0
- 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.types.ts +12 -12
- package/src/core/headers/coreHeadersFeature.utils.ts +7 -8
- package/src/core/row-models/coreRowModelsFeature.types.ts +6 -20
- package/src/core/row-models/coreRowModelsFeature.utils.ts +8 -8
- package/src/core/row-models/createCoreRowModel.ts +7 -6
- package/src/core/rows/constructRow.ts +4 -2
- package/src/core/rows/coreRowsFeature.ts +21 -0
- package/src/core/rows/coreRowsFeature.types.ts +45 -8
- package/src/core/rows/coreRowsFeature.utils.ts +93 -5
- package/src/core/table/constructTable.ts +44 -6
- package/src/core/table/coreTablesFeature.types.ts +45 -20
- package/src/core/table/coreTablesFeature.utils.ts +59 -19
- package/src/experimental-worker-plugin.ts +22 -0
- package/src/features/column-faceting/columnFacetingFeature.types.ts +17 -48
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +53 -18
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +33 -7
- package/src/features/column-faceting/createFacetedRowModel.ts +8 -1
- package/src/features/column-faceting/createFacetedUniqueValues.ts +41 -10
- package/src/features/column-filtering/columnFilteringFeature.ts +3 -2
- package/src/features/column-filtering/columnFilteringFeature.types.ts +117 -41
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +37 -23
- package/src/features/column-filtering/createFilteredRowModel.ts +28 -17
- package/src/features/column-filtering/filterFns.ts +533 -0
- package/src/features/column-filtering/filterRowsUtils.ts +3 -2
- package/src/features/column-grouping/columnGroupingFeature.ts +3 -21
- package/src/features/column-grouping/columnGroupingFeature.types.ts +21 -95
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -87
- package/src/features/column-grouping/createGroupedRowModel.ts +46 -45
- package/src/features/column-ordering/columnOrderingFeature.ts +12 -7
- package/src/features/column-ordering/columnOrderingFeature.types.ts +29 -3
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +59 -8
- package/src/features/column-pinning/columnPinningFeature.ts +76 -59
- package/src/features/column-pinning/columnPinningFeature.types.ts +53 -42
- package/src/features/column-pinning/columnPinningFeature.utils.ts +184 -170
- package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
- package/src/features/column-resizing/columnResizingFeature.utils.ts +120 -52
- package/src/features/column-sizing/columnSizingFeature.ts +24 -24
- package/src/features/column-sizing/columnSizingFeature.types.ts +53 -8
- package/src/features/column-sizing/columnSizingFeature.utils.ts +143 -62
- package/src/features/column-visibility/columnVisibilityFeature.ts +4 -0
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +48 -30
- package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +13 -5
- package/src/features/row-aggregation/aggregationFns.ts +345 -0
- package/src/features/row-aggregation/rowAggregationFeature.ts +60 -0
- package/src/features/row-aggregation/rowAggregationFeature.types.ts +339 -0
- package/src/features/row-aggregation/rowAggregationFeature.utils.ts +430 -0
- package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -23
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
- package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
- package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -21
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +1 -1
- package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
- package/src/features/row-selection/rowSelectionFeature.ts +53 -3
- package/src/features/row-selection/rowSelectionFeature.types.ts +54 -10
- package/src/features/row-selection/rowSelectionFeature.utils.ts +273 -91
- package/src/features/row-sorting/createSortedRowModel.ts +107 -75
- package/src/features/row-sorting/rowSortingFeature.types.ts +87 -34
- package/src/features/row-sorting/rowSortingFeature.utils.ts +49 -23
- package/src/features/row-sorting/sortFns.ts +366 -0
- package/src/features/stockFeatures.ts +3 -0
- package/src/helpers/columnHelper.ts +4 -4
- package/src/helpers/metaHelper.ts +24 -0
- package/src/helpers/tableFeatures.ts +37 -5
- package/src/index.ts +8 -8
- package/src/static-functions.ts +1 -0
- package/src/store-reactivity-bindings.ts +1 -1
- package/src/types/Cell.ts +4 -2
- package/src/types/Column.ts +13 -9
- package/src/types/ColumnDef.ts +40 -10
- package/src/types/Header.ts +2 -2
- package/src/types/HeaderGroup.ts +6 -6
- package/src/types/Row.ts +6 -4
- package/src/types/RowModel.ts +19 -74
- package/src/types/RowModelFns.ts +10 -10
- package/src/types/Table.ts +52 -27
- package/src/types/TableFeatures.ts +392 -14
- package/src/types/TableOptions.ts +67 -14
- package/src/types/TableState.ts +15 -1
- package/src/types/type-utils.ts +8 -0
- package/src/utils.ts +60 -8
- package/src/worker/createTableWorker.ts +357 -0
- package/src/worker/createWorkerRowModel.ts +121 -0
- package/src/worker/initTableWorker.ts +164 -0
- package/src/worker/rebuildRowModel.ts +120 -0
- package/src/worker/serializeRowModel.ts +80 -0
- package/src/worker/tableWorkerProtocol.ts +105 -0
- 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 -118
- 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 -110
- package/dist/fns/sortFns.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/fns/aggregationFns.ts +0 -245
- package/src/fns/filterFns.ts +0 -382
- package/src/fns/sortFns.ts +0 -217
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
import { hasOwn, makeObjectMap } from '../../utils'
|
|
2
|
+
import type { Cell } from '../../types/Cell'
|
|
3
|
+
import type { Column, Column_Internal } from '../../types/Column'
|
|
4
|
+
import type { Row } from '../../types/Row'
|
|
5
|
+
import type { TableFeatures } from '../../types/TableFeatures'
|
|
6
|
+
import type { CellData, RowData } from '../../types/type-utils'
|
|
7
|
+
import type {
|
|
8
|
+
AggregationContext,
|
|
9
|
+
AggregationFnDef,
|
|
10
|
+
AggregationFnDescriptor,
|
|
11
|
+
AggregationFnRef,
|
|
12
|
+
AggregationValueOptions,
|
|
13
|
+
ColumnAggregationValue,
|
|
14
|
+
ResolvedAggregationFn,
|
|
15
|
+
} from './rowAggregationFeature.types'
|
|
16
|
+
|
|
17
|
+
interface AggregationCacheEntry {
|
|
18
|
+
aggregationFnOption: unknown
|
|
19
|
+
dependency: unknown
|
|
20
|
+
maxDepth: number
|
|
21
|
+
registry: unknown
|
|
22
|
+
value: unknown
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
interface ResolvedAggregationFnsCacheEntry<
|
|
26
|
+
TFeatures extends TableFeatures,
|
|
27
|
+
TData extends RowData,
|
|
28
|
+
> {
|
|
29
|
+
coreRowModel: unknown
|
|
30
|
+
option: unknown
|
|
31
|
+
registry: unknown
|
|
32
|
+
value: ReadonlyArray<ResolvedAggregationFn<TFeatures, TData>>
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function isAggregationFnDef(value: unknown): value is AggregationFnDef {
|
|
36
|
+
return !!value && typeof value === 'object' && 'aggregate' in value
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function isAggregationFnDescriptor(
|
|
40
|
+
value: unknown,
|
|
41
|
+
): value is AggregationFnDescriptor<any, any> {
|
|
42
|
+
return (
|
|
43
|
+
!!value &&
|
|
44
|
+
typeof value === 'object' &&
|
|
45
|
+
'id' in value &&
|
|
46
|
+
'aggregationFn' in value
|
|
47
|
+
)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function warn(message: string) {
|
|
51
|
+
if (process.env.NODE_ENV === 'development') {
|
|
52
|
+
console.warn(message)
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function resolveMaxAggregationDepth(maxDepth: number | undefined) {
|
|
57
|
+
return maxDepth === undefined || Number.isNaN(maxDepth)
|
|
58
|
+
? 0
|
|
59
|
+
: Math.max(0, Math.floor(maxDepth))
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Selects unique rows at a maximum relative depth in encounter order.
|
|
64
|
+
* Branches that end before the requested depth contribute their deepest row.
|
|
65
|
+
*/
|
|
66
|
+
export function normalizeAggregationRows<
|
|
67
|
+
TFeatures extends TableFeatures,
|
|
68
|
+
TData extends RowData,
|
|
69
|
+
>(
|
|
70
|
+
rows: ReadonlyArray<Row<TFeatures, TData>>,
|
|
71
|
+
maxDepth = 0,
|
|
72
|
+
): Array<Row<TFeatures, TData>> {
|
|
73
|
+
const result: Array<Row<TFeatures, TData>> = []
|
|
74
|
+
const seen = new Set<string>()
|
|
75
|
+
const normalizedMaxDepth = resolveMaxAggregationDepth(maxDepth)
|
|
76
|
+
|
|
77
|
+
const visit = (row: Row<TFeatures, TData>, depth: number) => {
|
|
78
|
+
if (row.subRows.length && depth < normalizedMaxDepth) {
|
|
79
|
+
for (let i = 0; i < row.subRows.length; i++) {
|
|
80
|
+
visit(row.subRows[i]!, depth + 1)
|
|
81
|
+
}
|
|
82
|
+
return
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (!seen.has(row.id)) {
|
|
86
|
+
seen.add(row.id)
|
|
87
|
+
result.push(row)
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
for (let i = 0; i < rows.length; i++) {
|
|
92
|
+
visit(rows[i]!, 0)
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return result
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function getAutoAggregationFnName(
|
|
99
|
+
value: unknown,
|
|
100
|
+
): 'extent' | 'sum' | undefined {
|
|
101
|
+
if (typeof value === 'number') {
|
|
102
|
+
return 'sum'
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (value instanceof Date && !Number.isNaN(value.getTime())) {
|
|
106
|
+
return 'extent'
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return undefined
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/** Resolves the `sum` or `extent` definition inferred from the first core row. */
|
|
113
|
+
export function column_getAutoAggregationFn<
|
|
114
|
+
TFeatures extends TableFeatures,
|
|
115
|
+
TData extends RowData,
|
|
116
|
+
TValue extends CellData = CellData,
|
|
117
|
+
>(column: Column_Internal<TFeatures, TData, TValue>) {
|
|
118
|
+
const value = column.table.getCoreRowModel().flatRows[0]?.getValue(column.id)
|
|
119
|
+
|
|
120
|
+
const name = getAutoAggregationFnName(value)
|
|
121
|
+
if (!name) return undefined
|
|
122
|
+
|
|
123
|
+
const aggregationFn = column.table._rowModelFns.aggregationFns?.[name]
|
|
124
|
+
|
|
125
|
+
if (!aggregationFn) {
|
|
126
|
+
warn(
|
|
127
|
+
`aggregationFn '${name}' (auto) for column '${column.id}' is not registered`,
|
|
128
|
+
)
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return aggregationFn
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
function resolveAggregationFn<
|
|
135
|
+
TFeatures extends TableFeatures,
|
|
136
|
+
TData extends RowData,
|
|
137
|
+
>(
|
|
138
|
+
column: Column_Internal<TFeatures, TData, any>,
|
|
139
|
+
ref: AggregationFnRef<TFeatures, TData, any, any>,
|
|
140
|
+
): AggregationFnDef<TFeatures, TData, any, any> | undefined {
|
|
141
|
+
if (isAggregationFnDef(ref)) return ref as any
|
|
142
|
+
if (ref === 'auto') return column_getAutoAggregationFn(column)
|
|
143
|
+
|
|
144
|
+
const aggregationFn =
|
|
145
|
+
column.table._rowModelFns.aggregationFns?.[ref as string]
|
|
146
|
+
if (!aggregationFn) {
|
|
147
|
+
warn(
|
|
148
|
+
`aggregationFn '${String(ref)}' for column '${column.id}' is not registered`,
|
|
149
|
+
)
|
|
150
|
+
}
|
|
151
|
+
return aggregationFn
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/** Resolves and validates a column's scalar or multiple aggregation option. */
|
|
155
|
+
export function column_getAggregationFns<
|
|
156
|
+
TFeatures extends TableFeatures,
|
|
157
|
+
TData extends RowData,
|
|
158
|
+
TValue extends CellData = CellData,
|
|
159
|
+
>(
|
|
160
|
+
column: Column_Internal<TFeatures, TData, TValue>,
|
|
161
|
+
): ReadonlyArray<ResolvedAggregationFn<TFeatures, TData>> {
|
|
162
|
+
const option = column.columnDef.aggregationFn
|
|
163
|
+
const registry = column.table._rowModelFns.aggregationFns
|
|
164
|
+
const coreRowModel = column.table.getCoreRowModel()
|
|
165
|
+
const previous = (column as any)._resolvedAggregationFnsCache as
|
|
166
|
+
| ResolvedAggregationFnsCacheEntry<TFeatures, TData>
|
|
167
|
+
| undefined
|
|
168
|
+
|
|
169
|
+
if (
|
|
170
|
+
previous &&
|
|
171
|
+
previous.option === option &&
|
|
172
|
+
previous.registry === registry &&
|
|
173
|
+
previous.coreRowModel === coreRowModel
|
|
174
|
+
) {
|
|
175
|
+
return previous.value
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
const finish = (
|
|
179
|
+
value: ReadonlyArray<ResolvedAggregationFn<TFeatures, TData>>,
|
|
180
|
+
) => {
|
|
181
|
+
;(column as any)._resolvedAggregationFnsCache = {
|
|
182
|
+
coreRowModel,
|
|
183
|
+
option,
|
|
184
|
+
registry,
|
|
185
|
+
value,
|
|
186
|
+
} satisfies ResolvedAggregationFnsCacheEntry<TFeatures, TData>
|
|
187
|
+
return value
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
if (option == null) return finish([])
|
|
191
|
+
|
|
192
|
+
if (!Array.isArray(option)) {
|
|
193
|
+
return finish([
|
|
194
|
+
{
|
|
195
|
+
aggregationFn: resolveAggregationFn(column, option as any),
|
|
196
|
+
id: typeof option === 'string' ? option : undefined,
|
|
197
|
+
},
|
|
198
|
+
])
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
const ids = makeObjectMap<number>()
|
|
202
|
+
for (let i = 0; i < option.length; i++) {
|
|
203
|
+
const item = option[i]
|
|
204
|
+
const id =
|
|
205
|
+
typeof item === 'string'
|
|
206
|
+
? item
|
|
207
|
+
: isAggregationFnDescriptor(item)
|
|
208
|
+
? item.id
|
|
209
|
+
: undefined
|
|
210
|
+
if (id !== undefined) ids[id] = (ids[id] ?? 0) + 1
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
const resolved: Array<ResolvedAggregationFn<TFeatures, TData>> = []
|
|
214
|
+
|
|
215
|
+
for (let i = 0; i < option.length; i++) {
|
|
216
|
+
const item = option[i]
|
|
217
|
+
const id =
|
|
218
|
+
typeof item === 'string'
|
|
219
|
+
? item
|
|
220
|
+
: isAggregationFnDescriptor(item)
|
|
221
|
+
? item.id
|
|
222
|
+
: undefined
|
|
223
|
+
|
|
224
|
+
if (id === undefined) {
|
|
225
|
+
warn(
|
|
226
|
+
`aggregationFn at index ${i} for column '${column.id}' needs a stable id`,
|
|
227
|
+
)
|
|
228
|
+
resolved.push({ aggregationFn: undefined, id: undefined })
|
|
229
|
+
continue
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
if (ids[id]! > 1) {
|
|
233
|
+
warn(`aggregationFn id '${id}' for column '${column.id}' is duplicated`)
|
|
234
|
+
resolved.push({ aggregationFn: undefined, id })
|
|
235
|
+
continue
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
const ref = isAggregationFnDescriptor(item) ? item.aggregationFn : item
|
|
239
|
+
resolved.push({
|
|
240
|
+
aggregationFn: resolveAggregationFn(column, ref),
|
|
241
|
+
id,
|
|
242
|
+
})
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
return finish(resolved)
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
function getSubRowResult(
|
|
249
|
+
subRowValue: unknown,
|
|
250
|
+
isMultiple: boolean,
|
|
251
|
+
id: string | undefined,
|
|
252
|
+
) {
|
|
253
|
+
if (!isMultiple) return subRowValue
|
|
254
|
+
if (!id || !subRowValue || typeof subRowValue !== 'object') return undefined
|
|
255
|
+
return hasOwn(subRowValue, id)
|
|
256
|
+
? (subRowValue as Record<string, unknown>)[id]
|
|
257
|
+
: undefined
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/** Executes every configured aggregation over a depth-selected row frontier. */
|
|
261
|
+
export function aggregateColumnValue<
|
|
262
|
+
TFeatures extends TableFeatures,
|
|
263
|
+
TData extends RowData,
|
|
264
|
+
>(args: {
|
|
265
|
+
maxDepth?: number
|
|
266
|
+
subRows?: ReadonlyArray<Row<TFeatures, TData>>
|
|
267
|
+
column: Column<TFeatures, TData, unknown>
|
|
268
|
+
groupingRow?: Row<TFeatures, TData>
|
|
269
|
+
rows: ReadonlyArray<Row<TFeatures, TData>>
|
|
270
|
+
}): unknown {
|
|
271
|
+
const { subRows, column, groupingRow, rows } = args
|
|
272
|
+
const internalColumn = column as Column_Internal<TFeatures, TData, unknown>
|
|
273
|
+
const maxDepth = resolveMaxAggregationDepth(
|
|
274
|
+
args.maxDepth ?? internalColumn.columnDef.maxAggregationDepth,
|
|
275
|
+
)
|
|
276
|
+
const aggregationRows = normalizeAggregationRows(rows, maxDepth)
|
|
277
|
+
const entries = column_getAggregationFns(internalColumn)
|
|
278
|
+
const isMultiple = Array.isArray(internalColumn.columnDef.aggregationFn)
|
|
279
|
+
const canMerge =
|
|
280
|
+
!!subRows?.length &&
|
|
281
|
+
subRows.every(
|
|
282
|
+
(row) =>
|
|
283
|
+
!!(row as any).groupingColumnId &&
|
|
284
|
+
(row as any).groupingColumnId !== column.id,
|
|
285
|
+
)
|
|
286
|
+
|
|
287
|
+
const execute = (entry: ResolvedAggregationFn<TFeatures, TData>) => {
|
|
288
|
+
const definition = entry.aggregationFn
|
|
289
|
+
if (!definition) return undefined
|
|
290
|
+
|
|
291
|
+
const context: AggregationContext<TFeatures, TData, unknown> = {
|
|
292
|
+
...(subRows ? { subRows } : {}),
|
|
293
|
+
column,
|
|
294
|
+
columnId: column.id,
|
|
295
|
+
getValue: (row: Row<TFeatures, TData>) => row.getValue(column.id),
|
|
296
|
+
...(groupingRow ? { groupingRow } : {}),
|
|
297
|
+
maxDepth,
|
|
298
|
+
rows: aggregationRows,
|
|
299
|
+
table: column.table as any,
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
if (canMerge && definition.merge) {
|
|
303
|
+
return definition.merge({
|
|
304
|
+
...context,
|
|
305
|
+
subRowResults: subRows.map((row) =>
|
|
306
|
+
getSubRowResult(row.getValue(column.id), isMultiple, entry.id),
|
|
307
|
+
),
|
|
308
|
+
subRows,
|
|
309
|
+
})
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
return definition.aggregate(context)
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
if (!isMultiple) {
|
|
316
|
+
return entries[0] ? execute(entries[0]) : undefined
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
const result = makeObjectMap<unknown>()
|
|
320
|
+
for (let i = 0; i < entries.length; i++) {
|
|
321
|
+
const entry = entries[i]!
|
|
322
|
+
if (entry.id !== undefined) {
|
|
323
|
+
result[entry.id] = execute(entry)
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
return result
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
/** Implements `column.getAggregationValue(options?)` and its default cache. */
|
|
330
|
+
export function column_getAggregationValue<
|
|
331
|
+
TFeatures extends TableFeatures,
|
|
332
|
+
TData extends RowData,
|
|
333
|
+
TValue extends CellData = CellData,
|
|
334
|
+
>(
|
|
335
|
+
column: Column_Internal<TFeatures, TData, TValue>,
|
|
336
|
+
options?: AggregationValueOptions<TFeatures, TData>,
|
|
337
|
+
): ColumnAggregationValue<TFeatures> {
|
|
338
|
+
const rows = options?.rows
|
|
339
|
+
const resolvedMaxDepth = resolveMaxAggregationDepth(
|
|
340
|
+
options?.maxDepth ?? column.columnDef.maxAggregationDepth,
|
|
341
|
+
)
|
|
342
|
+
const providedResult = column.columnDef.getAggregationValue?.({
|
|
343
|
+
column: column as any,
|
|
344
|
+
maxDepth: resolvedMaxDepth,
|
|
345
|
+
rows,
|
|
346
|
+
table: column.table as any,
|
|
347
|
+
})
|
|
348
|
+
|
|
349
|
+
if (providedResult) return providedResult.value as any
|
|
350
|
+
if (column.table.options.manualAggregation) return undefined
|
|
351
|
+
|
|
352
|
+
if (rows !== undefined) {
|
|
353
|
+
return aggregateColumnValue({
|
|
354
|
+
column: column as any,
|
|
355
|
+
maxDepth: resolvedMaxDepth,
|
|
356
|
+
rows,
|
|
357
|
+
}) as any
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
const model = column.table.getPreGroupedRowModel()
|
|
361
|
+
const previous = (column as any)._aggregationValueCache as
|
|
362
|
+
| AggregationCacheEntry
|
|
363
|
+
| undefined
|
|
364
|
+
const registry = column.table._rowModelFns.aggregationFns
|
|
365
|
+
const aggregationFnOption = column.columnDef.aggregationFn
|
|
366
|
+
|
|
367
|
+
if (
|
|
368
|
+
previous &&
|
|
369
|
+
previous.dependency === model &&
|
|
370
|
+
previous.maxDepth === resolvedMaxDepth &&
|
|
371
|
+
previous.registry === registry &&
|
|
372
|
+
previous.aggregationFnOption === aggregationFnOption
|
|
373
|
+
) {
|
|
374
|
+
return previous.value as any
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
const value = aggregateColumnValue({
|
|
378
|
+
column: column as any,
|
|
379
|
+
maxDepth: resolvedMaxDepth,
|
|
380
|
+
rows: model.rows,
|
|
381
|
+
})
|
|
382
|
+
;(column as any)._aggregationValueCache = {
|
|
383
|
+
aggregationFnOption,
|
|
384
|
+
dependency: model,
|
|
385
|
+
maxDepth: resolvedMaxDepth,
|
|
386
|
+
registry,
|
|
387
|
+
value,
|
|
388
|
+
} satisfies AggregationCacheEntry
|
|
389
|
+
return value as any
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
/** Implements `cell.getIsAggregated()` for synthetic grouped rows. */
|
|
393
|
+
export function cell_getIsAggregated<
|
|
394
|
+
TFeatures extends TableFeatures,
|
|
395
|
+
TData extends RowData,
|
|
396
|
+
TValue extends CellData = CellData,
|
|
397
|
+
>(cell: Cell<TFeatures, TData, TValue>) {
|
|
398
|
+
const groupingColumnId = (cell.row as any).groupingColumnId as
|
|
399
|
+
| string
|
|
400
|
+
| undefined
|
|
401
|
+
if (!groupingColumnId || groupingColumnId === cell.column.id) return false
|
|
402
|
+
|
|
403
|
+
const grouping = (cell.column.table as any).atoms.grouping?.get?.() as
|
|
404
|
+
| Array<string>
|
|
405
|
+
| undefined
|
|
406
|
+
if (grouping?.includes(cell.column.id)) return false
|
|
407
|
+
|
|
408
|
+
return column_getAggregationFns(cell.column as any).some(
|
|
409
|
+
(entry) => !!entry.aggregationFn,
|
|
410
|
+
)
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
/** Formats the default scalar or keyed aggregated-cell representation. */
|
|
414
|
+
export function formatAggregatedCellValue(
|
|
415
|
+
value: unknown,
|
|
416
|
+
option: unknown,
|
|
417
|
+
): string | null {
|
|
418
|
+
if (value == null) return null
|
|
419
|
+
|
|
420
|
+
if (Array.isArray(option) && typeof value === 'object') {
|
|
421
|
+
const entries = Object.keys(value)
|
|
422
|
+
return entries
|
|
423
|
+
.map(
|
|
424
|
+
(key) => `${key}: ${String((value as Record<string, unknown>)[key])}`,
|
|
425
|
+
)
|
|
426
|
+
.join(', ')
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
return String(value)
|
|
430
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Table } from '../../types/Table'
|
|
2
1
|
import type { OnChangeFn, RowData, Updater } from '../../types/type-utils'
|
|
3
2
|
import type { TableFeatures } from '../../types/TableFeatures'
|
|
4
3
|
import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
|
|
@@ -35,8 +34,8 @@ export interface Row_RowExpanding {
|
|
|
35
34
|
}
|
|
36
35
|
|
|
37
36
|
export interface TableOptions_RowExpanding<
|
|
38
|
-
TFeatures extends TableFeatures,
|
|
39
|
-
TData extends RowData,
|
|
37
|
+
in out TFeatures extends TableFeatures,
|
|
38
|
+
in out TData extends RowData,
|
|
40
39
|
> {
|
|
41
40
|
/**
|
|
42
41
|
* Enables automatic expanded-state resets when page-altering table state changes.
|
|
@@ -71,8 +70,8 @@ export interface TableOptions_RowExpanding<
|
|
|
71
70
|
}
|
|
72
71
|
|
|
73
72
|
export interface Table_RowExpanding<
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
in out _TFeatures extends TableFeatures,
|
|
74
|
+
in out _TData extends RowData,
|
|
76
75
|
> {
|
|
77
76
|
autoResetExpanded: () => void
|
|
78
77
|
/**
|
|
@@ -112,8 +111,8 @@ export interface Table_RowExpanding<
|
|
|
112
111
|
}
|
|
113
112
|
|
|
114
113
|
export interface Table_RowModels_Expanded<
|
|
115
|
-
TFeatures extends TableFeatures,
|
|
116
|
-
TData extends RowData,
|
|
114
|
+
in out TFeatures extends TableFeatures,
|
|
115
|
+
in out TData extends RowData,
|
|
117
116
|
> {
|
|
118
117
|
/**
|
|
119
118
|
* Resolves the row model after expanded rows have been flattened into view.
|
|
@@ -125,23 +124,9 @@ export interface Table_RowModels_Expanded<
|
|
|
125
124
|
getPreExpandedRowModel: () => RowModel<TFeatures, TData>
|
|
126
125
|
}
|
|
127
126
|
|
|
128
|
-
export interface CreateRowModel_Expanded<
|
|
129
|
-
TFeatures extends TableFeatures,
|
|
130
|
-
TData extends RowData,
|
|
131
|
-
> {
|
|
132
|
-
/**
|
|
133
|
-
* Factory used to retrieve the expanded row model. If this function is not
|
|
134
|
-
* provided, the table will not expand rows. To use client-side expansion,
|
|
135
|
-
* pass `createExpandedRowModel()` or implement your own factory.
|
|
136
|
-
*/
|
|
137
|
-
expandedRowModel?: (
|
|
138
|
-
table: Table<TFeatures, TData>,
|
|
139
|
-
) => () => RowModel<TFeatures, TData>
|
|
140
|
-
}
|
|
141
|
-
|
|
142
127
|
export interface CachedRowModel_Expanded<
|
|
143
|
-
TFeatures extends TableFeatures,
|
|
144
|
-
TData extends RowData,
|
|
128
|
+
in out TFeatures extends TableFeatures,
|
|
129
|
+
in out TData extends RowData,
|
|
145
130
|
> {
|
|
146
131
|
expandedRowModel: () => RowModel<TFeatures, TData>
|
|
147
132
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cloneState } from '../../utils'
|
|
1
|
+
import { cloneState, hasOwn, makeObjectMap } from '../../utils'
|
|
2
2
|
import type { RowData, Updater } from '../../types/type-utils'
|
|
3
3
|
import type { TableFeatures } from '../../types/TableFeatures'
|
|
4
4
|
import type { Table_Internal } from '../../types/Table'
|
|
@@ -20,7 +20,7 @@ import type {
|
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
22
|
export function getDefaultExpandedState(): ExpandedState {
|
|
23
|
-
return
|
|
23
|
+
return makeObjectMap()
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
/**
|
|
@@ -85,7 +85,7 @@ export function table_toggleAllRowsExpanded<
|
|
|
85
85
|
if (expanded ?? !table_getIsAllRowsExpanded(table)) {
|
|
86
86
|
table_setExpanded(table, true)
|
|
87
87
|
} else {
|
|
88
|
-
table_setExpanded(table,
|
|
88
|
+
table_setExpanded(table, makeObjectMap())
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
|
|
@@ -105,9 +105,17 @@ export function table_resetExpanded<
|
|
|
105
105
|
TFeatures extends TableFeatures,
|
|
106
106
|
TData extends RowData,
|
|
107
107
|
>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {
|
|
108
|
+
const initialExpanded = table.initialState.expanded
|
|
108
109
|
table_setExpanded(
|
|
109
110
|
table,
|
|
110
|
-
defaultState
|
|
111
|
+
defaultState
|
|
112
|
+
? makeObjectMap()
|
|
113
|
+
: initialExpanded === true
|
|
114
|
+
? true
|
|
115
|
+
: Object.assign(
|
|
116
|
+
makeObjectMap<boolean | undefined>(),
|
|
117
|
+
cloneState(initialExpanded ?? {}),
|
|
118
|
+
),
|
|
111
119
|
)
|
|
112
120
|
}
|
|
113
121
|
|
|
@@ -252,29 +260,34 @@ export function row_toggleExpanded<
|
|
|
252
260
|
TData extends RowData,
|
|
253
261
|
>(row: Row<TFeatures, TData>, expanded?: boolean) {
|
|
254
262
|
table_setExpanded(row.table, (old) => {
|
|
255
|
-
const exists = old === true ? true :
|
|
263
|
+
const exists = old === true ? true : isExpandedRowId(old, row.id)
|
|
256
264
|
|
|
257
|
-
let oldExpanded: ExpandedStateList =
|
|
265
|
+
let oldExpanded: ExpandedStateList = makeObjectMap()
|
|
258
266
|
|
|
259
267
|
if (old === true) {
|
|
260
268
|
Object.keys(row.table.getRowModel().rowsById).forEach((rowId) => {
|
|
261
269
|
oldExpanded[rowId] = true
|
|
262
270
|
})
|
|
263
271
|
} else {
|
|
264
|
-
oldExpanded = old
|
|
272
|
+
oldExpanded = Object.assign(makeObjectMap<boolean | undefined>(), old)
|
|
265
273
|
}
|
|
266
274
|
|
|
267
275
|
expanded = expanded ?? !exists
|
|
268
276
|
|
|
269
277
|
if (!exists && expanded) {
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
[row.id]: true,
|
|
273
|
-
}
|
|
278
|
+
oldExpanded[row.id] = true
|
|
279
|
+
return oldExpanded
|
|
274
280
|
}
|
|
275
281
|
|
|
276
282
|
if (exists && !expanded) {
|
|
277
|
-
const
|
|
283
|
+
const rest: ExpandedStateList = makeObjectMap()
|
|
284
|
+
const rowIds = Object.keys(oldExpanded)
|
|
285
|
+
for (let i = 0; i < rowIds.length; i++) {
|
|
286
|
+
const rowId = rowIds[i]!
|
|
287
|
+
if (rowId !== row.id && oldExpanded[rowId]) {
|
|
288
|
+
rest[rowId] = true
|
|
289
|
+
}
|
|
290
|
+
}
|
|
278
291
|
return rest
|
|
279
292
|
}
|
|
280
293
|
|
|
@@ -301,7 +314,19 @@ export function row_getIsExpanded<
|
|
|
301
314
|
|
|
302
315
|
return !!(
|
|
303
316
|
row.table.options.getIsRowExpanded?.(row) ??
|
|
304
|
-
(expanded === true || expanded
|
|
317
|
+
(expanded === true || isExpandedRowId(expanded, row.id))
|
|
318
|
+
)
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
function isExpandedRowId(
|
|
322
|
+
expanded: ExpandedState | undefined,
|
|
323
|
+
rowId: string,
|
|
324
|
+
): boolean {
|
|
325
|
+
return !!(
|
|
326
|
+
expanded &&
|
|
327
|
+
expanded !== true &&
|
|
328
|
+
hasOwn(expanded, rowId) &&
|
|
329
|
+
expanded[rowId]
|
|
305
330
|
)
|
|
306
331
|
}
|
|
307
332
|
|
|
@@ -25,7 +25,7 @@ export function createPaginatedRowModel<
|
|
|
25
25
|
memoDeps: () => [
|
|
26
26
|
table.getPrePaginatedRowModel(),
|
|
27
27
|
table.atoms.pagination?.get(),
|
|
28
|
-
table.options.paginateExpandedRows
|
|
28
|
+
!table.options.paginateExpandedRows
|
|
29
29
|
? table.atoms.expanded?.get()
|
|
30
30
|
: undefined,
|
|
31
31
|
],
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
|
|
2
|
-
import type { Table } from '../../types/Table'
|
|
3
2
|
import type { OnChangeFn, RowData, Updater } from '../../types/type-utils'
|
|
4
3
|
import type { TableFeatures } from '../../types/TableFeatures'
|
|
5
4
|
|
|
@@ -42,8 +41,8 @@ export interface PaginationDefaultOptions {
|
|
|
42
41
|
}
|
|
43
42
|
|
|
44
43
|
export interface Table_RowPagination<
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
in out _TFeatures extends TableFeatures,
|
|
45
|
+
in out _TData extends RowData,
|
|
47
46
|
> {
|
|
48
47
|
_autoResetPageIndex: () => void
|
|
49
48
|
/**
|
|
@@ -117,8 +116,8 @@ export interface Table_RowPagination<
|
|
|
117
116
|
}
|
|
118
117
|
|
|
119
118
|
export interface Table_RowModels_Paginated<
|
|
120
|
-
TFeatures extends TableFeatures,
|
|
121
|
-
TData extends RowData,
|
|
119
|
+
in out TFeatures extends TableFeatures,
|
|
120
|
+
in out TData extends RowData,
|
|
122
121
|
> {
|
|
123
122
|
/**
|
|
124
123
|
* Resolves the row model after pagination has sliced the current page.
|
|
@@ -130,23 +129,9 @@ export interface Table_RowModels_Paginated<
|
|
|
130
129
|
getPrePaginatedRowModel: () => RowModel<TFeatures, TData>
|
|
131
130
|
}
|
|
132
131
|
|
|
133
|
-
export interface CreateRowModel_Paginated<
|
|
134
|
-
TFeatures extends TableFeatures,
|
|
135
|
-
TData extends RowData,
|
|
136
|
-
> {
|
|
137
|
-
/**
|
|
138
|
-
* Factory used to retrieve the paginated row model. If using server-side
|
|
139
|
-
* pagination, this is not required. To use client-side pagination, pass
|
|
140
|
-
* `createPaginatedRowModel()` or implement your own factory.
|
|
141
|
-
*/
|
|
142
|
-
paginatedRowModel?: (
|
|
143
|
-
table: Table<TFeatures, TData>,
|
|
144
|
-
) => () => RowModel<TFeatures, TData>
|
|
145
|
-
}
|
|
146
|
-
|
|
147
132
|
export interface CachedRowModel_Paginated<
|
|
148
|
-
TFeatures extends TableFeatures,
|
|
149
|
-
TData extends RowData,
|
|
133
|
+
in out TFeatures extends TableFeatures,
|
|
134
|
+
in out TData extends RowData,
|
|
150
135
|
> {
|
|
151
136
|
paginatedRowModel: () => RowModel<TFeatures, TData>
|
|
152
137
|
}
|
|
@@ -14,8 +14,8 @@ export interface TableState_RowPinning {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export interface TableOptions_RowPinning<
|
|
17
|
-
TFeatures extends TableFeatures,
|
|
18
|
-
TData extends RowData,
|
|
17
|
+
in out TFeatures extends TableFeatures,
|
|
18
|
+
in out TData extends RowData,
|
|
19
19
|
> {
|
|
20
20
|
/**
|
|
21
21
|
* Allows rows to be pinned to top or bottom regions.
|
|
@@ -63,8 +63,8 @@ export interface Row_RowPinning {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
export interface Table_RowPinning<
|
|
66
|
-
TFeatures extends TableFeatures,
|
|
67
|
-
TData extends RowData,
|
|
66
|
+
in out TFeatures extends TableFeatures,
|
|
67
|
+
in out TData extends RowData,
|
|
68
68
|
> {
|
|
69
69
|
/**
|
|
70
70
|
* Gets rows pinned to the bottom region.
|