@tanstack/table-core 9.0.0-beta.1 → 9.0.0-beta.11
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 +1 -1
- package/dist/core/cells/constructCell.d.ts +1 -1
- 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 +4 -4
- package/dist/core/cells/coreCellsFeature.types.d.ts +4 -4
- package/dist/core/cells/coreCellsFeature.utils.d.cts +1 -1
- package/dist/core/cells/coreCellsFeature.utils.d.ts +1 -1
- package/dist/core/columns/constructColumn.d.cts +1 -1
- package/dist/core/columns/constructColumn.d.ts +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 +5 -5
- package/dist/core/columns/coreColumnsFeature.types.d.ts +5 -5
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +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 +1 -1
- package/dist/core/headers/buildHeaderGroups.d.ts +1 -1
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/constructHeader.d.cts +1 -1
- package/dist/core/headers/constructHeader.d.ts +1 -1
- 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 +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +1 -1
- 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 +5 -15
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +5 -15
- 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 +2 -2
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +2 -2
- 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 +1 -2
- 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 +1 -2
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/constructRow.d.cts +1 -1
- package/dist/core/rows/constructRow.d.ts +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 +5 -5
- package/dist/core/rows/coreRowsFeature.types.d.ts +5 -5
- package/dist/core/rows/coreRowsFeature.utils.d.cts +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.ts +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 +27 -15
- package/dist/core/table/coreTablesFeature.types.d.ts +27 -15
- package/dist/core/table/coreTablesFeature.utils.cjs +1 -2
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.ts +1 -1
- package/dist/core/table/coreTablesFeature.utils.js +1 -2
- 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 +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +1 -1
- 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 +41 -53
- 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 +2 -2
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +2 -2
- 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 +4 -2
- 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 +4 -2
- package/dist/features/column-filtering/createFilteredRowModel.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 +58 -69
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +23 -19
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +23 -19
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +5 -2
- 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 +5 -2
- 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 +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +1 -1
- 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 +13 -13
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +13 -13
- 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.utils.d.cts +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +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.d.cts +4 -4
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +4 -4
- 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.d.cts +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +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 +3 -3
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +3 -3
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +7 -5
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +7 -5
- 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.d.cts +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +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.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 +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +1 -1
- 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.d.cts +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +65 -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 +66 -77
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +2 -2
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +2 -2
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +10 -6
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.js +10 -6
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +4 -2
- 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 +4 -2
- 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 +23 -20
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +23 -20
- 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 +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +1 -1
- 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/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 +2 -20
- package/dist/index.d.cts +44 -43
- package/dist/index.d.ts +44 -43
- package/dist/index.js +22 -21
- 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 +8 -10
- package/dist/types/Cell.d.ts +8 -10
- package/dist/types/Column.d.cts +19 -12
- package/dist/types/Column.d.ts +19 -12
- package/dist/types/ColumnDef.d.cts +30 -11
- package/dist/types/ColumnDef.d.ts +30 -11
- package/dist/types/Header.d.cts +10 -11
- package/dist/types/Header.d.ts +10 -11
- package/dist/types/HeaderGroup.d.cts +4 -9
- package/dist/types/HeaderGroup.d.ts +4 -9
- package/dist/types/Row.d.cts +15 -11
- package/dist/types/Row.d.ts +15 -11
- package/dist/types/RowModel.d.cts +19 -19
- package/dist/types/RowModel.d.ts +19 -19
- package/dist/types/RowModelFns.d.cts +9 -9
- package/dist/types/RowModelFns.d.ts +9 -9
- package/dist/types/Table.d.cts +52 -24
- package/dist/types/Table.d.ts +52 -24
- package/dist/types/TableFeatures.d.cts +178 -41
- package/dist/types/TableFeatures.d.ts +178 -41
- package/dist/types/TableOptions.d.cts +31 -10
- package/dist/types/TableOptions.d.ts +31 -10
- package/dist/types/TableState.d.cts +22 -13
- package/dist/types/TableState.d.ts +22 -13
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +8 -3
- package/dist/utils.d.ts +8 -3
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- 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/coreColumnsFeature.ts +56 -83
- package/src/core/columns/coreColumnsFeature.types.ts +8 -8
- package/src/core/coreFeatures.ts +1 -1
- package/src/core/headers/buildHeaderGroups.ts +1 -1
- package/src/core/headers/coreHeadersFeature.ts +42 -64
- package/src/core/headers/coreHeadersFeature.types.ts +10 -10
- 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 +5 -4
- package/src/core/rows/coreRowsFeature.ts +45 -72
- package/src/core/rows/coreRowsFeature.types.ts +8 -8
- 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 +10 -5
- 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 +60 -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 +5 -7
- package/src/features/column-grouping/columnGroupingFeature.ts +82 -126
- package/src/features/column-grouping/columnGroupingFeature.types.ts +32 -31
- package/src/features/column-grouping/createGroupedRowModel.ts +7 -11
- 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 +5 -5
- package/src/features/column-resizing/columnResizingFeature.ts +44 -78
- package/src/features/column-sizing/columnSizingFeature.ts +115 -152
- package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
- 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 +4 -2
- 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-pagination/createPaginatedRowModel.ts +1 -1
- 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 +103 -135
- package/src/features/row-selection/rowSelectionFeature.types.ts +4 -4
- package/src/features/row-selection/rowSelectionFeature.utils.ts +12 -7
- package/src/features/row-sorting/createSortedRowModel.ts +6 -6
- 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 +231 -264
- package/src/fns/sortFns.ts +51 -29
- 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 +10 -30
- package/src/types/Column.ts +21 -56
- package/src/types/ColumnDef.ts +48 -49
- package/src/types/Header.ts +10 -32
- package/src/types/HeaderGroup.ts +4 -15
- package/src/types/Row.ts +18 -39
- package/src/types/RowModel.ts +24 -114
- package/src/types/RowModelFns.ts +12 -31
- package/src/types/Table.ts +85 -80
- package/src/types/TableFeatures.ts +253 -108
- package/src/types/TableOptions.ts +70 -60
- package/src/types/TableState.ts +20 -73
- package/src/utils.ts +16 -6
|
@@ -15,115 +15,72 @@ import {
|
|
|
15
15
|
table_resetColumnFilters,
|
|
16
16
|
table_setColumnFilters,
|
|
17
17
|
} from './columnFilteringFeature.utils'
|
|
18
|
-
import type {
|
|
19
|
-
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
|
|
20
|
-
// import type {
|
|
21
|
-
// CachedRowModel_Filtered,
|
|
22
|
-
// ColumnDef_ColumnFiltering,
|
|
23
|
-
// Column_ColumnFiltering,
|
|
24
|
-
// CreateRowModel_Filtered,
|
|
25
|
-
// RowModelFns_ColumnFiltering,
|
|
26
|
-
// Row_ColumnFiltering,
|
|
27
|
-
// TableOptions_ColumnFiltering,
|
|
28
|
-
// TableState_ColumnFiltering,
|
|
29
|
-
// Table_ColumnFiltering,
|
|
30
|
-
// } from './columnFilteringFeature.types'
|
|
31
|
-
|
|
32
|
-
export interface ColumnFilteringFeatureConstructors<
|
|
33
|
-
TFeatures extends TableFeatures,
|
|
34
|
-
TData extends RowData,
|
|
35
|
-
> {
|
|
36
|
-
// CachedRowModel: CachedRowModel_Filtered<TFeatures, TData>
|
|
37
|
-
// Column: Column_ColumnFiltering<TFeatures, TData>
|
|
38
|
-
// ColumnDef: ColumnDef_ColumnFiltering<TFeatures, TData>
|
|
39
|
-
// CreateRowModels: CreateRowModel_Filtered<TFeatures, TData>
|
|
40
|
-
// Row: Row_ColumnFiltering<TFeatures, TData>
|
|
41
|
-
// RowModelFns: RowModelFns_ColumnFiltering<TFeatures, TData>
|
|
42
|
-
// Table: Table_ColumnFiltering<TFeatures, TData>
|
|
43
|
-
// TableOptions: TableOptions_ColumnFiltering<TFeatures, TData>
|
|
44
|
-
// TableState: TableState_ColumnFiltering
|
|
45
|
-
}
|
|
18
|
+
import type { TableFeature } from '../../types/TableFeatures'
|
|
46
19
|
|
|
47
20
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
|
|
21
|
+
* Feature that adds per-column filtering state, options, and column/table filter APIs.
|
|
51
22
|
*/
|
|
52
|
-
export
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
columnFilters: getDefaultColumnFiltersState(),
|
|
60
|
-
...initialState,
|
|
61
|
-
}
|
|
62
|
-
},
|
|
23
|
+
export const columnFilteringFeature: TableFeature = {
|
|
24
|
+
getInitialState: (initialState) => {
|
|
25
|
+
return {
|
|
26
|
+
columnFilters: getDefaultColumnFiltersState(),
|
|
27
|
+
...initialState,
|
|
28
|
+
}
|
|
29
|
+
},
|
|
63
30
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
31
|
+
getDefaultColumnDef: () => {
|
|
32
|
+
return {
|
|
33
|
+
filterFn: 'auto',
|
|
34
|
+
}
|
|
35
|
+
},
|
|
69
36
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
37
|
+
getDefaultTableOptions: (table) => {
|
|
38
|
+
return {
|
|
39
|
+
onColumnFiltersChange: makeStateUpdater('columnFilters', table),
|
|
40
|
+
filterFromLeafRows: false,
|
|
41
|
+
maxLeafRowFilterDepth: 100,
|
|
42
|
+
}
|
|
43
|
+
},
|
|
77
44
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
45
|
+
assignColumnPrototype: (prototype, table) => {
|
|
46
|
+
assignPrototypeAPIs('columnFilteringFeature', prototype, table, {
|
|
47
|
+
column_getAutoFilterFn: {
|
|
48
|
+
fn: (column) => column_getAutoFilterFn(column),
|
|
49
|
+
},
|
|
50
|
+
column_getFilterFn: {
|
|
51
|
+
fn: (column) => column_getFilterFn(column),
|
|
52
|
+
},
|
|
53
|
+
column_getCanFilter: {
|
|
54
|
+
fn: (column) => column_getCanFilter(column),
|
|
55
|
+
},
|
|
56
|
+
column_getIsFiltered: {
|
|
57
|
+
fn: (column) => column_getIsFiltered(column),
|
|
58
|
+
},
|
|
59
|
+
column_getFilterValue: {
|
|
60
|
+
fn: (column) => column_getFilterValue(column),
|
|
61
|
+
},
|
|
62
|
+
column_getFilterIndex: {
|
|
63
|
+
fn: (column) => column_getFilterIndex(column),
|
|
64
|
+
},
|
|
65
|
+
column_setFilterValue: {
|
|
66
|
+
fn: (column, value) => column_setFilterValue(column, value),
|
|
67
|
+
},
|
|
68
|
+
})
|
|
69
|
+
},
|
|
103
70
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
71
|
+
initRowInstanceData: (row) => {
|
|
72
|
+
;(row as any).columnFilters = {}
|
|
73
|
+
;(row as any).columnFiltersMeta = {}
|
|
74
|
+
},
|
|
108
75
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
76
|
+
constructTableAPIs: (table) => {
|
|
77
|
+
assignTableAPIs('columnFilteringFeature', table, {
|
|
78
|
+
table_setColumnFilters: {
|
|
79
|
+
fn: (updater) => table_setColumnFilters(table, updater),
|
|
80
|
+
},
|
|
81
|
+
table_resetColumnFilters: {
|
|
82
|
+
fn: (defaultState) => table_resetColumnFilters(table, defaultState),
|
|
83
|
+
},
|
|
84
|
+
})
|
|
85
|
+
},
|
|
120
86
|
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* The stock column filtering feature.
|
|
124
|
-
*
|
|
125
|
-
* Register this feature to add column filter state, filter defaults, and
|
|
126
|
-
* table/row/column APIs for client-side or manual column filtering. Global
|
|
127
|
-
* filtering is provided by `globalFilteringFeature`.
|
|
128
|
-
*/
|
|
129
|
-
export const columnFilteringFeature = constructColumnFilteringFeature()
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Table } from '../../types/Table'
|
|
2
1
|
import type { BuiltInFilterFn } from '../../fns/filterFns'
|
|
3
2
|
import type {
|
|
4
3
|
CellData,
|
|
@@ -6,13 +5,28 @@ import type {
|
|
|
6
5
|
RowData,
|
|
7
6
|
Updater,
|
|
8
7
|
} from '../../types/type-utils'
|
|
9
|
-
import type { TableFeatures } from '../../types/TableFeatures'
|
|
8
|
+
import type { IsAny, TableFeatures } from '../../types/TableFeatures'
|
|
10
9
|
import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
|
|
11
10
|
import type { Row } from '../../types/Row'
|
|
12
11
|
import type { Column } from '../../types/Column'
|
|
13
12
|
|
|
14
13
|
export interface FilterMeta {}
|
|
15
14
|
|
|
15
|
+
/**
|
|
16
|
+
* Resolves the type of the filter meta attached to rows for a feature set.
|
|
17
|
+
*
|
|
18
|
+
* When the features object declares a `filterMeta` type-only slot
|
|
19
|
+
* (`tableFeatures({ ..., filterMeta: {} as MyFilterMeta })`), that type wins.
|
|
20
|
+
* Otherwise this falls back to the global declaration-merged `FilterMeta`
|
|
21
|
+
* interface.
|
|
22
|
+
*/
|
|
23
|
+
export type ExtractFilterMeta<TFeatures extends TableFeatures> =
|
|
24
|
+
IsAny<TFeatures> extends true
|
|
25
|
+
? FilterMeta
|
|
26
|
+
: TFeatures extends { filterMeta: infer TFilterMeta extends object }
|
|
27
|
+
? TFilterMeta
|
|
28
|
+
: FilterMeta
|
|
29
|
+
|
|
16
30
|
export interface FilterFns {}
|
|
17
31
|
|
|
18
32
|
export interface TableState_ColumnFiltering {
|
|
@@ -27,8 +41,8 @@ export interface ColumnFilter {
|
|
|
27
41
|
}
|
|
28
42
|
|
|
29
43
|
export interface ResolvedColumnFilter<
|
|
30
|
-
TFeatures extends TableFeatures,
|
|
31
|
-
TData extends RowData,
|
|
44
|
+
in out TFeatures extends TableFeatures,
|
|
45
|
+
in out TData extends RowData,
|
|
32
46
|
> {
|
|
33
47
|
filterFn: FilterFn<TFeatures, TData>
|
|
34
48
|
id: string
|
|
@@ -36,21 +50,21 @@ export interface ResolvedColumnFilter<
|
|
|
36
50
|
}
|
|
37
51
|
|
|
38
52
|
export interface RowModelFns_ColumnFiltering<
|
|
39
|
-
TFeatures extends TableFeatures,
|
|
40
|
-
TData extends RowData,
|
|
53
|
+
in out TFeatures extends TableFeatures,
|
|
54
|
+
in out TData extends RowData,
|
|
41
55
|
> {
|
|
42
|
-
filterFns: Record<
|
|
56
|
+
filterFns: Record<string, FilterFn<TFeatures, TData>>
|
|
43
57
|
}
|
|
44
58
|
|
|
45
59
|
export interface FilterFn<
|
|
46
|
-
TFeatures extends TableFeatures,
|
|
47
|
-
TData extends RowData,
|
|
60
|
+
in out TFeatures extends TableFeatures,
|
|
61
|
+
in out TData extends RowData,
|
|
48
62
|
> {
|
|
49
63
|
(
|
|
50
64
|
row: Row<TFeatures, TData>,
|
|
51
65
|
columnId: string,
|
|
52
66
|
filterValue: any,
|
|
53
|
-
addMeta?: (meta:
|
|
67
|
+
addMeta?: (meta: ExtractFilterMeta<TFeatures>) => void,
|
|
54
68
|
): boolean
|
|
55
69
|
autoRemove?: ColumnFilterAutoRemoveTestFn<TFeatures, TData>
|
|
56
70
|
resolveFilterValue?: TransformFilterValueFn<TFeatures, TData>
|
|
@@ -73,14 +87,31 @@ export type CustomFilterFns<
|
|
|
73
87
|
TData extends RowData,
|
|
74
88
|
> = Record<string, FilterFn<TFeatures, TData>>
|
|
75
89
|
|
|
90
|
+
/**
|
|
91
|
+
* Resolves the valid string names for `columnDef.filterFn` and
|
|
92
|
+
* `options.globalFilterFn` for a feature set.
|
|
93
|
+
*
|
|
94
|
+
* When the features object declares a `filterFns` registry
|
|
95
|
+
* (`tableFeatures({ ..., filterFns })`), its keys are the only valid names; a
|
|
96
|
+
* name is only assignable if a filter function is actually registered for it.
|
|
97
|
+
* Otherwise this falls back to the global declaration-merged `FilterFns`
|
|
98
|
+
* interface.
|
|
99
|
+
*/
|
|
100
|
+
export type ExtractFilterFnKeys<TFeatures extends TableFeatures> =
|
|
101
|
+
IsAny<TFeatures> extends true
|
|
102
|
+
? keyof FilterFns | BuiltInFilterFn
|
|
103
|
+
: TFeatures extends { filterFns: infer TFilterFns extends object }
|
|
104
|
+
? Extract<keyof TFilterFns, string>
|
|
105
|
+
: keyof FilterFns
|
|
106
|
+
|
|
76
107
|
export type FilterFnOption<
|
|
77
108
|
TFeatures extends TableFeatures,
|
|
78
109
|
TData extends RowData,
|
|
79
|
-
> = 'auto' |
|
|
110
|
+
> = 'auto' | ExtractFilterFnKeys<TFeatures> | FilterFn<TFeatures, TData>
|
|
80
111
|
|
|
81
112
|
export interface ColumnDef_ColumnFiltering<
|
|
82
|
-
TFeatures extends TableFeatures,
|
|
83
|
-
TData extends RowData,
|
|
113
|
+
in out TFeatures extends TableFeatures,
|
|
114
|
+
in out TData extends RowData,
|
|
84
115
|
> {
|
|
85
116
|
/**
|
|
86
117
|
* Enables this column to participate in column-specific filtering.
|
|
@@ -96,8 +127,8 @@ export interface ColumnDef_ColumnFiltering<
|
|
|
96
127
|
}
|
|
97
128
|
|
|
98
129
|
export interface Column_ColumnFiltering<
|
|
99
|
-
TFeatures extends TableFeatures,
|
|
100
|
-
TData extends RowData,
|
|
130
|
+
in out TFeatures extends TableFeatures,
|
|
131
|
+
in out TData extends RowData,
|
|
101
132
|
> {
|
|
102
133
|
/**
|
|
103
134
|
* Returns an automatically calculated filter function for the column based off of the columns first known value.
|
|
@@ -133,8 +164,8 @@ export interface Column_ColumnFiltering<
|
|
|
133
164
|
}
|
|
134
165
|
|
|
135
166
|
export interface Row_ColumnFiltering<
|
|
136
|
-
TFeatures extends TableFeatures,
|
|
137
|
-
TData extends RowData,
|
|
167
|
+
in out TFeatures extends TableFeatures,
|
|
168
|
+
in out TData extends RowData,
|
|
138
169
|
> {
|
|
139
170
|
/**
|
|
140
171
|
* The column filters map for the row. This object tracks whether a row is passing/failing specific filters by their column ID.
|
|
@@ -143,12 +174,12 @@ export interface Row_ColumnFiltering<
|
|
|
143
174
|
/**
|
|
144
175
|
* The column filters meta map for the row. This object tracks any filter meta for a row as optionally provided during the filtering process.
|
|
145
176
|
*/
|
|
146
|
-
columnFiltersMeta: Record<string,
|
|
177
|
+
columnFiltersMeta: Record<string, ExtractFilterMeta<TFeatures>>
|
|
147
178
|
}
|
|
148
179
|
|
|
149
180
|
export interface TableOptions_ColumnFiltering<
|
|
150
|
-
TFeatures extends TableFeatures,
|
|
151
|
-
TData extends RowData,
|
|
181
|
+
in out TFeatures extends TableFeatures,
|
|
182
|
+
in out TData extends RowData,
|
|
152
183
|
> {
|
|
153
184
|
/**
|
|
154
185
|
* Enables column-specific filtering for all columns that also allow it.
|
|
@@ -196,8 +227,8 @@ export interface Table_ColumnFiltering {
|
|
|
196
227
|
}
|
|
197
228
|
|
|
198
229
|
export interface Table_RowModels_Filtered<
|
|
199
|
-
TFeatures extends TableFeatures,
|
|
200
|
-
TData extends RowData,
|
|
230
|
+
in out TFeatures extends TableFeatures,
|
|
231
|
+
in out TData extends RowData,
|
|
201
232
|
> {
|
|
202
233
|
/**
|
|
203
234
|
* Resolves the row model after column and global filters have been applied.
|
|
@@ -209,24 +240,9 @@ export interface Table_RowModels_Filtered<
|
|
|
209
240
|
getPreFilteredRowModel: () => RowModel<TFeatures, TData>
|
|
210
241
|
}
|
|
211
242
|
|
|
212
|
-
export interface CreateRowModel_Filtered<
|
|
213
|
-
TFeatures extends TableFeatures,
|
|
214
|
-
TData extends RowData,
|
|
215
|
-
> {
|
|
216
|
-
/**
|
|
217
|
-
* If provided, this factory is called once per table and should return a
|
|
218
|
-
* function that calculates the filtered row model.
|
|
219
|
-
* - For server-side filtering, this function is unnecessary and can be ignored since the server should already return the filtered row model.
|
|
220
|
-
* - For client-side filtering, pass the exported `createFilteredRowModel()` or implement your own factory.
|
|
221
|
-
*/
|
|
222
|
-
filteredRowModel?: (
|
|
223
|
-
table: Table<TFeatures, TData>,
|
|
224
|
-
) => () => RowModel<TFeatures, TData>
|
|
225
|
-
}
|
|
226
|
-
|
|
227
243
|
export interface CachedRowModel_Filtered<
|
|
228
|
-
TFeatures extends TableFeatures,
|
|
229
|
-
TData extends RowData,
|
|
244
|
+
in out TFeatures extends TableFeatures,
|
|
245
|
+
in out TData extends RowData,
|
|
230
246
|
> {
|
|
231
247
|
filteredRowModel: () => RowModel<TFeatures, TData>
|
|
232
248
|
}
|
|
@@ -104,7 +104,7 @@ export function column_getFilterFn<
|
|
|
104
104
|
)
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
return filterFn
|
|
107
|
+
return filterFn ?? undefined
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
/**
|
|
@@ -323,7 +323,7 @@ export function shouldAutoRemoveFilter<
|
|
|
323
323
|
) {
|
|
324
324
|
return (
|
|
325
325
|
(filterFn && filterFn.autoRemove
|
|
326
|
-
? filterFn.autoRemove(value, column)
|
|
326
|
+
? filterFn.autoRemove(value, column as Column_Internal<TFeatures, TData>)
|
|
327
327
|
: false) ||
|
|
328
328
|
typeof value === 'undefined' ||
|
|
329
329
|
(typeof value === 'string' && !value)
|
|
@@ -13,8 +13,6 @@ import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
|
|
|
13
13
|
import type { Table, Table_Internal } from '../../types/Table'
|
|
14
14
|
import type { Row } from '../../types/Row'
|
|
15
15
|
import type {
|
|
16
|
-
FilterFn,
|
|
17
|
-
FilterFns,
|
|
18
16
|
ResolvedColumnFilter,
|
|
19
17
|
Row_ColumnFiltering,
|
|
20
18
|
} from './columnFilteringFeature.types'
|
|
@@ -23,16 +21,16 @@ import type {
|
|
|
23
21
|
* Creates a memoized filtered row model factory.
|
|
24
22
|
*
|
|
25
23
|
* The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
|
|
24
|
+
*
|
|
25
|
+
* Register filter functions with the `filterFns` slot on the `features` option:
|
|
26
|
+
* `tableFeatures({ columnFilteringFeature, filteredRowModel: createFilteredRowModel(), filterFns })`.
|
|
26
27
|
*/
|
|
27
28
|
export function createFilteredRowModel<
|
|
28
29
|
TFeatures extends TableFeatures,
|
|
29
30
|
TData extends RowData = any,
|
|
30
|
-
>(
|
|
31
|
-
filterFns: Record<keyof FilterFns, FilterFn<TFeatures, TData>>,
|
|
32
|
-
): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {
|
|
31
|
+
>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {
|
|
33
32
|
return (_table) => {
|
|
34
|
-
const table
|
|
35
|
-
if (!table._rowModelFns.filterFns) table._rowModelFns.filterFns = filterFns
|
|
33
|
+
const table = _table as unknown as Table_Internal<TFeatures, TData>
|
|
36
34
|
return tableMemo({
|
|
37
35
|
feature: 'columnFilteringFeature',
|
|
38
36
|
table,
|
|
@@ -20,140 +20,96 @@ import {
|
|
|
20
20
|
table_resetGrouping,
|
|
21
21
|
table_setGrouping,
|
|
22
22
|
} from './columnGroupingFeature.utils'
|
|
23
|
-
import type {
|
|
24
|
-
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
|
|
25
|
-
// import type {
|
|
26
|
-
// CachedRowModel_Grouped,
|
|
27
|
-
// Cell_ColumnGrouping,
|
|
28
|
-
// ColumnDef_ColumnGrouping,
|
|
29
|
-
// Column_ColumnGrouping,
|
|
30
|
-
// CreateRowModel_Grouped,
|
|
31
|
-
// RowModelFns_ColumnGrouping,
|
|
32
|
-
// Row_ColumnGrouping,
|
|
33
|
-
// TableOptions_ColumnGrouping,
|
|
34
|
-
// TableState_ColumnGrouping,
|
|
35
|
-
// Table_ColumnGrouping,
|
|
36
|
-
// } from './columnGroupingFeature.types'
|
|
37
|
-
|
|
38
|
-
export interface ColumnGroupingFeatureConstructors<
|
|
39
|
-
TFeatures extends TableFeatures,
|
|
40
|
-
TData extends RowData,
|
|
41
|
-
> {
|
|
42
|
-
// CachedRowModel: CachedRowModel_Grouped<TFeatures, TData>
|
|
43
|
-
// Cell: Cell_ColumnGrouping
|
|
44
|
-
// Column: Column_ColumnGrouping<TFeatures, TData>
|
|
45
|
-
// ColumnDef: ColumnDef_ColumnGrouping<TFeatures, TData>
|
|
46
|
-
// CreateRowModels: CreateRowModel_Grouped<TFeatures, TData>
|
|
47
|
-
// Row: Row_ColumnGrouping
|
|
48
|
-
// RowModelFns: RowModelFns_ColumnGrouping<TFeatures, TData>
|
|
49
|
-
// Table: Table_ColumnGrouping<TFeatures, TData>
|
|
50
|
-
// TableOptions: TableOptions_ColumnGrouping
|
|
51
|
-
// TableState: TableState_ColumnGrouping
|
|
52
|
-
}
|
|
23
|
+
import type { TableFeature } from '../../types/TableFeatures'
|
|
53
24
|
|
|
54
25
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
|
|
26
|
+
* Feature that adds column grouping state, aggregation defaults, and grouped row APIs.
|
|
58
27
|
*/
|
|
59
|
-
export
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
grouping: getDefaultGroupingState(),
|
|
67
|
-
...initialState,
|
|
68
|
-
}
|
|
69
|
-
},
|
|
28
|
+
export const columnGroupingFeature: TableFeature = {
|
|
29
|
+
getInitialState: (initialState) => {
|
|
30
|
+
return {
|
|
31
|
+
grouping: getDefaultGroupingState(),
|
|
32
|
+
...initialState,
|
|
33
|
+
}
|
|
34
|
+
},
|
|
70
35
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
36
|
+
getDefaultColumnDef: () => {
|
|
37
|
+
return {
|
|
38
|
+
aggregatedCell: ({ getValue }: any) => getValue()?.toString?.() ?? null,
|
|
39
|
+
aggregationFn: 'auto',
|
|
40
|
+
}
|
|
41
|
+
},
|
|
77
42
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
43
|
+
getDefaultTableOptions: (table) => {
|
|
44
|
+
return {
|
|
45
|
+
onGroupingChange: makeStateUpdater('grouping', table),
|
|
46
|
+
groupedColumnMode: 'reorder',
|
|
47
|
+
}
|
|
48
|
+
},
|
|
84
49
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
50
|
+
assignCellPrototype: (prototype, table) => {
|
|
51
|
+
assignPrototypeAPIs('columnGroupingFeature', prototype, table, {
|
|
52
|
+
cell_getIsGrouped: {
|
|
53
|
+
fn: (cell) => cell_getIsGrouped(cell),
|
|
54
|
+
},
|
|
55
|
+
cell_getIsPlaceholder: {
|
|
56
|
+
fn: (cell) => cell_getIsPlaceholder(cell),
|
|
57
|
+
},
|
|
58
|
+
cell_getIsAggregated: {
|
|
59
|
+
fn: (cell) => cell_getIsAggregated(cell),
|
|
60
|
+
},
|
|
61
|
+
})
|
|
62
|
+
},
|
|
98
63
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
64
|
+
assignColumnPrototype: (prototype, table) => {
|
|
65
|
+
assignPrototypeAPIs('columnGroupingFeature', prototype, table, {
|
|
66
|
+
column_toggleGrouping: {
|
|
67
|
+
fn: (column) => column_toggleGrouping(column),
|
|
68
|
+
},
|
|
69
|
+
column_getCanGroup: {
|
|
70
|
+
fn: (column) => column_getCanGroup(column),
|
|
71
|
+
},
|
|
72
|
+
column_getIsGrouped: {
|
|
73
|
+
fn: (column) => column_getIsGrouped(column),
|
|
74
|
+
},
|
|
75
|
+
column_getGroupedIndex: {
|
|
76
|
+
fn: (column) => column_getGroupedIndex(column),
|
|
77
|
+
},
|
|
78
|
+
column_getToggleGroupingHandler: {
|
|
79
|
+
fn: (column) => column_getToggleGroupingHandler(column),
|
|
80
|
+
},
|
|
81
|
+
column_getAutoAggregationFn: {
|
|
82
|
+
fn: (column) => column_getAutoAggregationFn(column),
|
|
83
|
+
},
|
|
84
|
+
column_getAggregationFn: {
|
|
85
|
+
fn: (column) => column_getAggregationFn(column),
|
|
86
|
+
},
|
|
87
|
+
})
|
|
88
|
+
},
|
|
124
89
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
90
|
+
assignRowPrototype: (prototype, table) => {
|
|
91
|
+
assignPrototypeAPIs('columnGroupingFeature', prototype, table, {
|
|
92
|
+
row_getIsGrouped: {
|
|
93
|
+
fn: (row) => row_getIsGrouped(row),
|
|
94
|
+
},
|
|
95
|
+
row_getGroupingValue: {
|
|
96
|
+
fn: (row, columnId) => row_getGroupingValue(row, columnId),
|
|
97
|
+
},
|
|
98
|
+
})
|
|
99
|
+
},
|
|
135
100
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
101
|
+
initRowInstanceData: (row) => {
|
|
102
|
+
;(row as any)._groupingValuesCache = {}
|
|
103
|
+
},
|
|
139
104
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
105
|
+
constructTableAPIs: (table) => {
|
|
106
|
+
assignTableAPIs('columnGroupingFeature', table, {
|
|
107
|
+
table_setGrouping: {
|
|
108
|
+
fn: (updater) => table_setGrouping(table, updater),
|
|
109
|
+
},
|
|
110
|
+
table_resetGrouping: {
|
|
111
|
+
fn: (defaultState) => table_resetGrouping(table, defaultState),
|
|
112
|
+
},
|
|
113
|
+
})
|
|
114
|
+
},
|
|
151
115
|
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* The stock column grouping feature.
|
|
155
|
-
*
|
|
156
|
-
* Register this feature to add grouping state, aggregation defaults, grouped
|
|
157
|
-
* row-model support, and table/row/column/cell grouping APIs.
|
|
158
|
-
*/
|
|
159
|
-
export const columnGroupingFeature = constructColumnGroupingFeature()
|