@tanstack/table-core 9.0.0-beta.7 → 9.0.0-beta.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/core/cells/constructCell.d.ts +4 -6
- package/dist/core/cells/constructCell.js +4 -6
- package/dist/core/cells/coreCellsFeature.d.ts +1 -3
- package/dist/core/cells/coreCellsFeature.js +1 -2
- package/dist/core/cells/coreCellsFeature.types.d.ts +7 -9
- package/dist/core/cells/coreCellsFeature.utils.d.ts +5 -5
- package/dist/core/cells/coreCellsFeature.utils.js +1 -2
- package/dist/core/columns/constructColumn.d.ts +4 -6
- package/dist/core/columns/constructColumn.js +8 -9
- package/dist/core/columns/coreColumnsFeature.d.ts +1 -3
- package/dist/core/columns/coreColumnsFeature.js +13 -20
- package/dist/core/columns/coreColumnsFeature.types.d.ts +13 -15
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +10 -12
- package/dist/core/columns/coreColumnsFeature.utils.js +19 -20
- package/dist/core/coreFeatures.d.ts +3 -3
- package/dist/core/coreFeatures.js +1 -2
- package/dist/core/headers/buildHeaderGroups.d.ts +3 -5
- package/dist/core/headers/buildHeaderGroups.js +99 -85
- package/dist/core/headers/constructHeader.d.ts +3 -5
- package/dist/core/headers/constructHeader.js +4 -6
- package/dist/core/headers/coreHeadersFeature.d.ts +1 -3
- package/dist/core/headers/coreHeadersFeature.js +9 -13
- package/dist/core/headers/coreHeadersFeature.types.d.ts +21 -11
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +8 -8
- package/dist/core/headers/coreHeadersFeature.utils.js +14 -17
- package/dist/core/reactivity/coreReactivityFeature.types.d.ts +8 -3
- package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +1 -3
- package/dist/core/reactivity/coreReactivityFeature.utils.js +1 -2
- package/dist/core/reactivity/renderPhaseReactivity.d.ts +80 -0
- package/dist/core/reactivity/renderPhaseReactivity.js +95 -0
- package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -3
- package/dist/core/row-models/coreRowModelsFeature.js +1 -2
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -17
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +17 -19
- package/dist/core/row-models/coreRowModelsFeature.utils.js +9 -28
- package/dist/core/row-models/createCoreRowModel.d.ts +3 -5
- package/dist/core/row-models/createCoreRowModel.js +27 -24
- package/dist/core/rows/constructRow.d.ts +3 -5
- package/dist/core/rows/constructRow.js +9 -13
- package/dist/core/rows/coreRowsFeature.d.ts +1 -3
- package/dist/core/rows/coreRowsFeature.js +20 -5
- package/dist/core/rows/coreRowsFeature.types.d.ts +42 -10
- package/dist/core/rows/coreRowsFeature.utils.d.ts +26 -9
- package/dist/core/rows/coreRowsFeature.utils.js +65 -14
- package/dist/core/table/constructTable.d.ts +2 -4
- package/dist/core/table/constructTable.js +52 -23
- package/dist/core/table/coreTablesFeature.d.ts +1 -3
- package/dist/core/table/coreTablesFeature.js +1 -2
- package/dist/core/table/coreTablesFeature.types.d.ts +56 -25
- package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
- package/dist/core/table/coreTablesFeature.utils.js +69 -24
- package/dist/experimental-worker-plugin.d.ts +5 -0
- package/dist/experimental-worker-plugin.js +6 -0
- package/dist/features/cell-selection/cellSelectionFeature.d.ts +8 -0
- package/dist/features/cell-selection/cellSelectionFeature.js +128 -0
- package/dist/features/cell-selection/cellSelectionFeature.types.d.ts +296 -0
- package/dist/features/cell-selection/cellSelectionFeature.utils.d.ts +306 -0
- package/dist/features/cell-selection/cellSelectionFeature.utils.js +873 -0
- package/dist/features/cell-selection/cellSelectionGeometry.js +121 -0
- package/dist/features/cell-spanning/cellSpanningFeature.d.ts +13 -0
- package/dist/features/cell-spanning/cellSpanningFeature.js +47 -0
- package/dist/features/cell-spanning/cellSpanningFeature.types.d.ts +150 -0
- package/dist/features/cell-spanning/cellSpanningFeature.utils.d.ts +74 -0
- package/dist/features/cell-spanning/cellSpanningFeature.utils.js +262 -0
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +1 -3
- package/dist/features/column-faceting/columnFacetingFeature.js +13 -20
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -35
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +10 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +25 -14
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +2 -4
- package/dist/features/column-faceting/createFacetedMinMaxValues.js +9 -7
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +3 -5
- package/dist/features/column-faceting/createFacetedRowModel.js +12 -17
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +2 -4
- package/dist/features/column-faceting/createFacetedUniqueValues.js +12 -9
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -3
- package/dist/features/column-filtering/columnFilteringFeature.js +4 -5
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +85 -33
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +19 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +33 -21
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
- package/dist/features/column-filtering/createFilteredRowModel.js +33 -29
- package/dist/features/column-filtering/filterFns.d.ts +208 -0
- package/dist/features/column-filtering/filterFns.js +374 -0
- package/dist/features/column-filtering/filterRowsUtils.js +4 -4
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +2 -4
- package/dist/features/column-grouping/columnGroupingFeature.js +7 -20
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -52
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -51
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -61
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +7 -7
- package/dist/features/column-grouping/createGroupedRowModel.js +69 -38
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -3
- package/dist/features/column-ordering/columnOrderingFeature.js +19 -24
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -5
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -16
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -18
- package/dist/features/column-pinning/columnPinningFeature.d.ts +7 -4
- package/dist/features/column-pinning/columnPinningFeature.js +126 -146
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +53 -44
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +100 -93
- package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -150
- package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -3
- package/dist/features/column-resizing/columnResizingFeature.js +1 -2
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +2 -7
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +7 -9
- package/dist/features/column-resizing/columnResizingFeature.utils.js +86 -48
- package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -3
- package/dist/features/column-sizing/columnSizingFeature.js +35 -70
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -11
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -27
- package/dist/features/column-sizing/columnSizingFeature.utils.js +95 -54
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -3
- package/dist/features/column-visibility/columnVisibilityFeature.js +26 -38
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +4 -6
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +20 -20
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +32 -32
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -3
- package/dist/features/global-filtering/globalFilteringFeature.js +3 -4
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -13
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +7 -8
- package/dist/features/row-aggregation/aggregationFns.d.ts +66 -0
- package/dist/features/row-aggregation/aggregationFns.js +279 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.ts +8 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js +35 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +193 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js +11 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +46 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js +235 -0
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +3 -5
- package/dist/features/row-expanding/createExpandedRowModel.js +9 -13
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -3
- package/dist/features/row-expanding/rowExpandingFeature.js +1 -2
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -17
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +11 -16
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +30 -33
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
- package/dist/features/row-pagination/createPaginatedRowModel.js +7 -12
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -3
- package/dist/features/row-pagination/rowPaginationFeature.js +1 -2
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -16
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +18 -20
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +10 -17
- package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -3
- package/dist/features/row-pinning/rowPinningFeature.js +5 -18
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +3 -5
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +8 -10
- package/dist/features/row-pinning/rowPinningFeature.utils.js +10 -16
- package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
- package/dist/features/row-selection/rowSelectionFeature.js +68 -25
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +51 -15
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +60 -35
- package/dist/features/row-selection/rowSelectionFeature.utils.js +142 -89
- package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
- package/dist/features/row-sorting/createSortedRowModel.js +71 -53
- package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -3
- package/dist/features/row-sorting/rowSortingFeature.js +2 -2
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +61 -24
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +31 -22
- package/dist/features/row-sorting/rowSortingFeature.utils.js +51 -25
- package/dist/features/row-sorting/sortFns.d.ts +96 -0
- package/dist/features/row-sorting/sortFns.js +216 -0
- package/dist/features/stockFeatures.d.ts +7 -3
- package/dist/features/stockFeatures.js +7 -2
- package/dist/flex-render.d.ts +2 -4
- package/dist/flex-render.js +10 -3
- package/dist/helpers/columnHelper.d.ts +3 -5
- package/dist/helpers/columnHelper.js +1 -2
- package/dist/helpers/metaHelper.d.ts +25 -0
- package/dist/helpers/metaHelper.js +28 -0
- package/dist/helpers/tableFeatures.d.ts +35 -8
- package/dist/helpers/tableFeatures.js +33 -5
- package/dist/helpers/tableOptions.d.ts +1 -3
- package/dist/helpers/tableOptions.js +1 -2
- package/dist/index.d.ts +34 -27
- package/dist/index.js +10 -5
- package/dist/reactivity.d.ts +2 -1
- package/dist/reactivity.js +2 -1
- package/dist/static-functions.d.ts +12 -9
- package/dist/static-functions.js +12 -9
- package/dist/store-reactivity-bindings.d.ts +2 -4
- package/dist/store-reactivity-bindings.js +4 -5
- package/dist/types/Cell.d.ts +9 -5
- package/dist/types/Column.d.ts +13 -15
- package/dist/types/ColumnDef.d.ts +39 -21
- package/dist/types/Header.d.ts +3 -5
- package/dist/types/HeaderGroup.d.ts +3 -5
- package/dist/types/Row.d.ts +7 -7
- package/dist/types/RowModel.d.ts +11 -25
- package/dist/types/RowModelFns.d.ts +5 -7
- package/dist/types/Table.d.ts +29 -32
- package/dist/types/TableFeatures.d.ts +388 -24
- package/dist/types/TableOptions.d.ts +24 -14
- package/dist/types/TableState.d.ts +8 -8
- package/dist/types/type-utils.d.ts +10 -4
- package/dist/utils.d.ts +32 -26
- package/dist/utils.js +52 -32
- package/dist/worker/createTableWorker.d.ts +100 -0
- package/dist/worker/createTableWorker.js +185 -0
- package/dist/worker/createWorkerRowModel.d.ts +40 -0
- package/dist/worker/createWorkerRowModel.js +77 -0
- package/dist/worker/initTableWorker.d.ts +31 -0
- package/dist/worker/initTableWorker.js +99 -0
- package/dist/worker/rebuildRowModel.d.ts +11 -0
- package/dist/worker/rebuildRowModel.js +71 -0
- package/dist/worker/serializeRowModel.js +51 -0
- package/dist/worker/tableWorkerProtocol.d.ts +88 -0
- package/dist/worker/tableWorkerProtocol.js +26 -0
- package/package.json +12 -28
- package/skills/aggregation/SKILL.md +141 -0
- package/skills/api-not-found/SKILL.md +113 -0
- package/skills/cell-selection/SKILL.md +204 -0
- package/skills/cell-spanning/SKILL.md +162 -0
- package/skills/client-vs-server/SKILL.md +164 -0
- package/skills/column-faceting/SKILL.md +97 -0
- package/skills/column-filtering/SKILL.md +87 -0
- package/skills/column-ordering/SKILL.md +75 -0
- package/skills/column-pinning/SKILL.md +89 -0
- package/skills/column-resizing/SKILL.md +91 -0
- package/skills/column-sizing/SKILL.md +72 -0
- package/skills/column-visibility/SKILL.md +75 -0
- package/skills/core/SKILL.md +175 -0
- package/skills/custom-features/SKILL.md +235 -0
- package/skills/expanding/SKILL.md +80 -0
- package/skills/global-filtering/SKILL.md +84 -0
- package/skills/grouping/SKILL.md +51 -401
- package/skills/migrate-v8-to-v9/SKILL.md +275 -416
- package/skills/pagination/SKILL.md +37 -344
- package/skills/row-pinning/SKILL.md +47 -234
- package/skills/row-selection/SKILL.md +75 -302
- package/skills/sorting/SKILL.md +45 -303
- package/skills/table-features/SKILL.md +159 -0
- package/skills/typescript/SKILL.md +126 -0
- package/dist/core/cells/constructCell.cjs +0 -34
- package/dist/core/cells/constructCell.cjs.map +0 -1
- package/dist/core/cells/constructCell.d.cts +0 -17
- package/dist/core/cells/constructCell.js.map +0 -1
- package/dist/core/cells/coreCellsFeature.cjs +0 -21
- package/dist/core/cells/coreCellsFeature.cjs.map +0 -1
- package/dist/core/cells/coreCellsFeature.d.cts +0 -10
- package/dist/core/cells/coreCellsFeature.js.map +0 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +0 -57
- package/dist/core/cells/coreCellsFeature.utils.cjs +0 -57
- package/dist/core/cells/coreCellsFeature.utils.cjs.map +0 -1
- package/dist/core/cells/coreCellsFeature.utils.d.cts +0 -53
- package/dist/core/cells/coreCellsFeature.utils.js.map +0 -1
- package/dist/core/columns/constructColumn.cjs +0 -61
- package/dist/core/columns/constructColumn.cjs.map +0 -1
- package/dist/core/columns/constructColumn.d.cts +0 -16
- package/dist/core/columns/constructColumn.js.map +0 -1
- package/dist/core/columns/coreColumnsFeature.cjs +0 -70
- package/dist/core/columns/coreColumnsFeature.cjs.map +0 -1
- package/dist/core/columns/coreColumnsFeature.d.cts +0 -10
- package/dist/core/columns/coreColumnsFeature.js.map +0 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +0 -94
- package/dist/core/columns/coreColumnsFeature.utils.cjs +0 -187
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +0 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +0 -119
- package/dist/core/columns/coreColumnsFeature.utils.js.map +0 -1
- package/dist/core/coreFeatures.cjs +0 -25
- package/dist/core/coreFeatures.cjs.map +0 -1
- package/dist/core/coreFeatures.d.cts +0 -26
- package/dist/core/coreFeatures.js.map +0 -1
- package/dist/core/headers/buildHeaderGroups.cjs +0 -103
- package/dist/core/headers/buildHeaderGroups.cjs.map +0 -1
- package/dist/core/headers/buildHeaderGroups.d.cts +0 -16
- package/dist/core/headers/buildHeaderGroups.js.map +0 -1
- package/dist/core/headers/constructHeader.cjs +0 -41
- package/dist/core/headers/constructHeader.cjs.map +0 -1
- package/dist/core/headers/constructHeader.d.cts +0 -22
- package/dist/core/headers/constructHeader.js.map +0 -1
- package/dist/core/headers/coreHeadersFeature.cjs +0 -55
- package/dist/core/headers/coreHeadersFeature.cjs.map +0 -1
- package/dist/core/headers/coreHeadersFeature.d.cts +0 -10
- package/dist/core/headers/coreHeadersFeature.js.map +0 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +0 -106
- package/dist/core/headers/coreHeadersFeature.utils.cjs +0 -142
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +0 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +0 -85
- package/dist/core/headers/coreHeadersFeature.utils.js.map +0 -1
- package/dist/core/reactivity/coreReactivityFeature.types.d.cts +0 -48
- package/dist/core/reactivity/coreReactivityFeature.utils.cjs +0 -24
- package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +0 -1
- package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +0 -24
- package/dist/core/reactivity/coreReactivityFeature.utils.js.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.cjs +0 -27
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.d.cts +0 -10
- package/dist/core/row-models/coreRowModelsFeature.js.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +0 -41
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -215
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +0 -153
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
- package/dist/core/row-models/createCoreRowModel.cjs +0 -52
- package/dist/core/row-models/createCoreRowModel.cjs.map +0 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +0 -15
- package/dist/core/row-models/createCoreRowModel.js.map +0 -1
- package/dist/core/rows/constructRow.cjs +0 -44
- package/dist/core/rows/constructRow.cjs.map +0 -1
- package/dist/core/rows/constructRow.d.cts +0 -15
- package/dist/core/rows/constructRow.js.map +0 -1
- package/dist/core/rows/coreRowsFeature.cjs +0 -37
- package/dist/core/rows/coreRowsFeature.cjs.map +0 -1
- package/dist/core/rows/coreRowsFeature.d.cts +0 -10
- package/dist/core/rows/coreRowsFeature.js.map +0 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +0 -99
- package/dist/core/rows/coreRowsFeature.utils.cjs +0 -192
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -127
- package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
- package/dist/core/table/constructTable.cjs +0 -118
- package/dist/core/table/constructTable.cjs.map +0 -1
- package/dist/core/table/constructTable.d.cts +0 -22
- package/dist/core/table/constructTable.js.map +0 -1
- package/dist/core/table/coreTablesFeature.cjs +0 -17
- package/dist/core/table/coreTablesFeature.cjs.map +0 -1
- package/dist/core/table/coreTablesFeature.d.cts +0 -10
- package/dist/core/table/coreTablesFeature.js.map +0 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +0 -186
- package/dist/core/table/coreTablesFeature.utils.cjs +0 -96
- package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +0 -57
- package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -61
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +0 -10
- package/dist/features/column-faceting/columnFacetingFeature.js.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +0 -85
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -103
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +0 -84
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +0 -44
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +0 -14
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs +0 -50
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +0 -15
- package/dist/features/column-faceting/createFacetedRowModel.js.map +0 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +0 -41
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +0 -14
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +0 -50
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +0 -10
- package/dist/features/column-filtering/columnFilteringFeature.js.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +0 -160
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -212
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -143
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -110
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -16
- package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
- package/dist/features/column-filtering/filterRowsUtils.cjs +0 -81
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +0 -1
- package/dist/features/column-filtering/filterRowsUtils.js.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +0 -67
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +0 -10
- package/dist/features/column-grouping/columnGroupingFeature.js.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +0 -165
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -250
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -190
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -119
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -16
- package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -58
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +0 -10
- package/dist/features/column-ordering/columnOrderingFeature.js.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +0 -56
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -172
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -107
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +0 -221
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -10
- package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -178
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -585
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -375
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.cjs +0 -41
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.d.cts +0 -10
- package/dist/features/column-resizing/columnResizingFeature.js.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +0 -81
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -246
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +0 -109
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +0 -124
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.d.cts +0 -10
- package/dist/features/column-sizing/columnSizingFeature.js.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +0 -96
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -256
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -182
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -94
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +0 -10
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +0 -97
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +0 -283
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +0 -189
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +0 -41
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +0 -10
- package/dist/features/global-filtering/globalFilteringFeature.js.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +0 -71
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +0 -88
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +0 -74
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -59
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +0 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +0 -21
- package/dist/features/row-expanding/createExpandedRowModel.js.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.cjs +0 -47
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +0 -10
- package/dist/features/row-expanding/rowExpandingFeature.js.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +0 -127
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -281
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +0 -191
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +0 -62
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +0 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +0 -15
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.cjs +0 -45
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +0 -10
- package/dist/features/row-pagination/rowPaginationFeature.js.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +0 -135
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -312
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +0 -218
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +0 -67
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.d.cts +0 -10
- package/dist/features/row-pinning/rowPinningFeature.js.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +0 -83
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +0 -229
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +0 -143
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +0 -75
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.d.cts +0 -10
- package/dist/features/row-selection/rowSelectionFeature.js.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +0 -136
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -514
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -318
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +0 -95
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -16
- package/dist/features/row-sorting/createSortedRowModel.js.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.cjs +0 -55
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.d.cts +0 -10
- package/dist/features/row-sorting/rowSortingFeature.js.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +0 -188
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -305
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +0 -193
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
- package/dist/features/stockFeatures.cjs +0 -41
- package/dist/features/stockFeatures.cjs.map +0 -1
- package/dist/features/stockFeatures.d.cts +0 -41
- package/dist/features/stockFeatures.js.map +0 -1
- package/dist/flex-render.cjs +0 -29
- package/dist/flex-render.cjs.map +0 -1
- package/dist/flex-render.d.cts +0 -34
- package/dist/flex-render.js.map +0 -1
- package/dist/fns/aggregationFns.cjs +0 -161
- package/dist/fns/aggregationFns.cjs.map +0 -1
- package/dist/fns/aggregationFns.d.cts +0 -85
- package/dist/fns/aggregationFns.d.ts +0 -85
- package/dist/fns/aggregationFns.js +0 -151
- package/dist/fns/aggregationFns.js.map +0 -1
- package/dist/fns/filterFns.cjs +0 -201
- package/dist/fns/filterFns.cjs.map +0 -1
- package/dist/fns/filterFns.d.cts +0 -167
- package/dist/fns/filterFns.d.ts +0 -167
- package/dist/fns/filterFns.js +0 -185
- package/dist/fns/filterFns.js.map +0 -1
- package/dist/fns/sortFns.cjs +0 -130
- package/dist/fns/sortFns.cjs.map +0 -1
- package/dist/fns/sortFns.d.cts +0 -65
- package/dist/fns/sortFns.d.ts +0 -65
- package/dist/fns/sortFns.js +0 -122
- package/dist/fns/sortFns.js.map +0 -1
- package/dist/helpers/columnHelper.cjs +0 -41
- package/dist/helpers/columnHelper.cjs.map +0 -1
- package/dist/helpers/columnHelper.d.cts +0 -71
- package/dist/helpers/columnHelper.js.map +0 -1
- package/dist/helpers/tableFeatures.cjs +0 -20
- package/dist/helpers/tableFeatures.cjs.map +0 -1
- package/dist/helpers/tableFeatures.d.cts +0 -18
- package/dist/helpers/tableFeatures.js.map +0 -1
- package/dist/helpers/tableOptions.cjs +0 -15
- package/dist/helpers/tableOptions.cjs.map +0 -1
- package/dist/helpers/tableOptions.d.cts +0 -57
- package/dist/helpers/tableOptions.js.map +0 -1
- package/dist/index.cjs +0 -133
- package/dist/index.d.cts +0 -78
- package/dist/reactivity.cjs +0 -4
- package/dist/reactivity.d.cts +0 -3
- package/dist/static-functions.cjs +0 -263
- package/dist/static-functions.d.cts +0 -21
- package/dist/store-reactivity-bindings.cjs +0 -44
- package/dist/store-reactivity-bindings.cjs.map +0 -1
- package/dist/store-reactivity-bindings.d.cts +0 -22
- package/dist/store-reactivity-bindings.js.map +0 -1
- package/dist/types/Cell.d.cts +0 -14
- package/dist/types/Column.d.cts +0 -36
- package/dist/types/ColumnDef.d.cts +0 -109
- package/dist/types/Header.d.cts +0 -16
- package/dist/types/HeaderGroup.d.cts +0 -10
- package/dist/types/Row.d.cts +0 -26
- package/dist/types/RowModel.d.cts +0 -36
- package/dist/types/RowModelFns.d.cts +0 -18
- package/dist/types/Table.d.cts +0 -70
- package/dist/types/TableFeatures.d.cts +0 -53
- package/dist/types/TableOptions.d.cts +0 -69
- package/dist/types/TableState.d.cts +0 -48
- package/dist/types/type-utils.d.cts +0 -23
- package/dist/utils.cjs +0 -243
- package/dist/utils.cjs.map +0 -1
- package/dist/utils.d.cts +0 -114
- package/dist/utils.js.map +0 -1
- package/skills/column-definitions/SKILL.md +0 -333
- package/skills/column-layout/SKILL.md +0 -328
- package/skills/column-layout/references/subsystems.md +0 -220
- package/skills/customizing-feature-behavior/SKILL.md +0 -416
- package/skills/filtering/SKILL.md +0 -357
- package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
- package/skills/row-expanding/SKILL.md +0 -348
- package/skills/setup/SKILL.md +0 -400
- package/skills/state-management/SKILL.md +0 -388
- package/src/core/cells/constructCell.ts +0 -55
- package/src/core/cells/coreCellsFeature.ts +0 -27
- package/src/core/cells/coreCellsFeature.types.ts +0 -68
- package/src/core/cells/coreCellsFeature.utils.ts +0 -68
- package/src/core/columns/constructColumn.ts +0 -119
- package/src/core/columns/coreColumnsFeature.ts +0 -73
- package/src/core/columns/coreColumnsFeature.types.ts +0 -108
- package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
- package/src/core/coreFeatures.ts +0 -31
- package/src/core/headers/buildHeaderGroups.ts +0 -182
- package/src/core/headers/constructHeader.ts +0 -67
- package/src/core/headers/coreHeadersFeature.ts +0 -56
- package/src/core/headers/coreHeadersFeature.types.ts +0 -125
- package/src/core/headers/coreHeadersFeature.utils.ts +0 -200
- package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
- package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
- package/src/core/row-models/coreRowModelsFeature.ts +0 -62
- package/src/core/row-models/coreRowModelsFeature.types.ts +0 -64
- package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
- package/src/core/row-models/createCoreRowModel.ts +0 -93
- package/src/core/rows/constructRow.ts +0 -66
- package/src/core/rows/coreRowsFeature.ts +0 -62
- package/src/core/rows/coreRowsFeature.types.ts +0 -117
- package/src/core/rows/coreRowsFeature.utils.ts +0 -264
- package/src/core/table/constructTable.ts +0 -172
- package/src/core/table/coreTablesFeature.ts +0 -19
- package/src/core/table/coreTablesFeature.types.ts +0 -216
- package/src/core/table/coreTablesFeature.utils.ts +0 -131
- package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
- package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -109
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -145
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -66
- package/src/features/column-faceting/createFacetedRowModel.ts +0 -85
- package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -66
- package/src/features/column-filtering/columnFilteringFeature.ts +0 -86
- package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -232
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -331
- package/src/features/column-filtering/createFilteredRowModel.ts +0 -183
- package/src/features/column-filtering/filterRowsUtils.ts +0 -157
- package/src/features/column-grouping/columnGroupingFeature.ts +0 -115
- package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -226
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -354
- package/src/features/column-grouping/createGroupedRowModel.ts +0 -220
- package/src/features/column-ordering/columnOrderingFeature.ts +0 -73
- package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -60
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -241
- package/src/features/column-pinning/columnPinningFeature.ts +0 -316
- package/src/features/column-pinning/columnPinningFeature.types.ts +0 -192
- package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -908
- package/src/features/column-resizing/columnResizingFeature.ts +0 -65
- package/src/features/column-resizing/columnResizingFeature.types.ts +0 -89
- package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -364
- package/src/features/column-sizing/columnSizingFeature.ts +0 -145
- package/src/features/column-sizing/columnSizingFeature.types.ts +0 -102
- package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -381
- package/src/features/column-visibility/columnVisibilityFeature.ts +0 -122
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -384
- package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
- package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -118
- package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
- package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
- package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -147
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -374
- package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
- package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
- package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -152
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
- package/src/features/row-pinning/rowPinningFeature.ts +0 -97
- package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
- package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
- package/src/features/row-selection/rowSelectionFeature.ts +0 -140
- package/src/features/row-selection/rowSelectionFeature.types.ts +0 -151
- package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -745
- package/src/features/row-sorting/createSortedRowModel.ts +0 -157
- package/src/features/row-sorting/rowSortingFeature.ts +0 -103
- package/src/features/row-sorting/rowSortingFeature.types.ts +0 -235
- package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -489
- package/src/features/stockFeatures.ts +0 -53
- package/src/flex-render.ts +0 -70
- package/src/fns/aggregationFns.ts +0 -245
- package/src/fns/filterFns.ts +0 -382
- package/src/fns/sortFns.ts +0 -240
- package/src/helpers/columnHelper.ts +0 -122
- package/src/helpers/tableFeatures.ts +0 -24
- package/src/helpers/tableOptions.ts +0 -117
- package/src/index.ts +0 -138
- package/src/process-env.d.ts +0 -6
- package/src/reactivity.ts +0 -2
- package/src/static-functions.ts +0 -31
- package/src/store-reactivity-bindings.ts +0 -47
- package/src/types/Cell.ts +0 -21
- package/src/types/Column.ts +0 -51
- package/src/types/ColumnDef.ts +0 -228
- package/src/types/Header.ts +0 -23
- package/src/types/HeaderGroup.ts +0 -13
- package/src/types/Row.ts +0 -34
- package/src/types/RowModel.ts +0 -98
- package/src/types/RowModelFns.ts +0 -32
- package/src/types/Table.ts +0 -91
- package/src/types/TableFeatures.ts +0 -101
- package/src/types/TableOptions.ts +0 -101
- package/src/types/TableState.ts +0 -47
- package/src/types/type-utils.ts +0 -84
- package/src/utils.ts +0 -441
|
@@ -1,13 +1,22 @@
|
|
|
1
|
-
import { CellData, OnChangeFn, RowData, Updater } from "../../types/type-utils.js";
|
|
2
|
-
import { BuiltInFilterFn } from "
|
|
1
|
+
import { CellData, OnChangeFn, RowData, TransformDataValueFn, Updater } from "../../types/type-utils.js";
|
|
2
|
+
import { BuiltInFilterFn } from "./filterFns.js";
|
|
3
3
|
import { Column } from "../../types/Column.js";
|
|
4
4
|
import { Row } from "../../types/Row.js";
|
|
5
|
-
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
6
|
-
import { Table } from "../../types/Table.js";
|
|
7
5
|
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
|
|
8
|
-
|
|
6
|
+
import { IsAny, TableFeatures } from "../../types/TableFeatures.js";
|
|
9
7
|
//#region src/features/column-filtering/columnFilteringFeature.types.d.ts
|
|
10
8
|
interface FilterMeta {}
|
|
9
|
+
/**
|
|
10
|
+
* Resolves the type of the filter meta attached to rows for a feature set.
|
|
11
|
+
*
|
|
12
|
+
* When the features object declares a `filterMeta` type-only slot
|
|
13
|
+
* (`tableFeatures({ ..., filterMeta: {} as MyFilterMeta })`), that type wins.
|
|
14
|
+
* Otherwise this falls back to the global declaration-merged `FilterMeta`
|
|
15
|
+
* interface.
|
|
16
|
+
*/
|
|
17
|
+
type ExtractFilterMeta<TFeatures extends TableFeatures> = IsAny<TFeatures> extends true ? FilterMeta : TFeatures extends {
|
|
18
|
+
filterMeta: infer TFilterMeta extends object;
|
|
19
|
+
} ? TFilterMeta : FilterMeta;
|
|
11
20
|
interface FilterFns {}
|
|
12
21
|
interface TableState_ColumnFiltering {
|
|
13
22
|
columnFilters: ColumnFiltersState;
|
|
@@ -17,24 +26,77 @@ interface ColumnFilter {
|
|
|
17
26
|
id: string;
|
|
18
27
|
value: unknown;
|
|
19
28
|
}
|
|
20
|
-
interface ResolvedColumnFilter<TFeatures extends TableFeatures, TData extends RowData> {
|
|
29
|
+
interface ResolvedColumnFilter<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
21
30
|
filterFn: FilterFn<TFeatures, TData>;
|
|
22
31
|
id: string;
|
|
23
32
|
resolvedValue: unknown;
|
|
24
33
|
}
|
|
25
|
-
interface RowModelFns_ColumnFiltering<TFeatures extends TableFeatures, TData extends RowData> {
|
|
26
|
-
filterFns: Record<
|
|
34
|
+
interface RowModelFns_ColumnFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
35
|
+
filterFns: Record<string, FilterFn<TFeatures, TData>>;
|
|
27
36
|
}
|
|
28
|
-
interface FilterFn<TFeatures extends TableFeatures, TData extends RowData> {
|
|
29
|
-
(row: Row<TFeatures, TData>, columnId: string, filterValue: any, addMeta?: (meta:
|
|
37
|
+
interface FilterFn<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
38
|
+
(row: Row<TFeatures, TData>, columnId: string, filterValue: any, addMeta?: (meta: ExtractFilterMeta<TFeatures>) => void): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Removes the filter from `state.columnFilters` when the filter value fails
|
|
41
|
+
* this test (e.g. empty strings for text filters).
|
|
42
|
+
*/
|
|
30
43
|
autoRemove?: ColumnFilterAutoRemoveTestFn<TFeatures, TData>;
|
|
44
|
+
/**
|
|
45
|
+
* Normalizes the filter value before filtering runs.
|
|
46
|
+
*
|
|
47
|
+
* The table applies this once per filter (not per row) and passes the
|
|
48
|
+
* resolved value to the filter function as `filterValue`.
|
|
49
|
+
*/
|
|
31
50
|
resolveFilterValue?: TransformFilterValueFn<TFeatures, TData>;
|
|
51
|
+
/**
|
|
52
|
+
* Normalizes each row's value before it is compared against the filter
|
|
53
|
+
* value. Only honored by filter functions built with `constructFilterFn`
|
|
54
|
+
* (including all built-in filter functions).
|
|
55
|
+
*/
|
|
56
|
+
resolveDataValue?: TransformDataValueFn;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The definition object accepted by `constructFilterFn`.
|
|
60
|
+
*
|
|
61
|
+
* `filter` is a value-level comparator: it receives the row's (resolved) data
|
|
62
|
+
* value and the (resolved) filter value instead of the whole row, so
|
|
63
|
+
* normalization concerns stay in `resolveDataValue`/`resolveFilterValue`.
|
|
64
|
+
*/
|
|
65
|
+
interface FilterFnDef<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
66
|
+
filter: (dataValue: any, filterValue: any, row: Row<TFeatures, TData>, columnId: string, addMeta?: (meta: ExtractFilterMeta<TFeatures>) => void) => boolean;
|
|
67
|
+
autoRemove?: (filterValue: any) => boolean;
|
|
68
|
+
resolveFilterValue?: (filterValue: any) => any;
|
|
69
|
+
resolveDataValue?: TransformDataValueFn;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The shape returned by `constructFilterFn`: a `FilterFn` with its definition
|
|
73
|
+
* attached, so variants can be built by spreading it into another
|
|
74
|
+
* `constructFilterFn` call.
|
|
75
|
+
*
|
|
76
|
+
* The call signature is generic so a created filter function can be used with
|
|
77
|
+
* any table's rows, regardless of the feature set it was defined against.
|
|
78
|
+
*/
|
|
79
|
+
interface CreatedFilterFn<in out TFeatures extends TableFeatures, in out TData extends RowData> extends FilterFnDef<TFeatures, TData> {
|
|
80
|
+
<TRowFeatures extends TableFeatures, TRowData extends RowData>(row: Row<TRowFeatures, TRowData>, columnId: string, filterValue: any, addMeta?: (meta: ExtractFilterMeta<TRowFeatures>) => void): boolean;
|
|
32
81
|
}
|
|
33
82
|
type TransformFilterValueFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = (value: any, column?: Column<TFeatures, TData, TValue>) => TValue;
|
|
34
83
|
type ColumnFilterAutoRemoveTestFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = (value: any, column?: Column<TFeatures, TData, TValue>) => boolean;
|
|
35
|
-
type CustomFilterFns<TFeatures extends TableFeatures, TData extends RowData> = Record<string, FilterFn<TFeatures,
|
|
36
|
-
|
|
37
|
-
|
|
84
|
+
type CustomFilterFns<TFeatures extends TableFeatures, TData extends RowData> = Record<string, FilterFn<TFeatures, TData>>;
|
|
85
|
+
/**
|
|
86
|
+
* Resolves the valid string names for `columnDef.filterFn` and
|
|
87
|
+
* `options.globalFilterFn` for a feature set.
|
|
88
|
+
*
|
|
89
|
+
* When the features object declares a `filterFns` registry
|
|
90
|
+
* (`tableFeatures({ ..., filterFns })`), its keys are the only valid names; a
|
|
91
|
+
* name is only assignable if a filter function is actually registered for it.
|
|
92
|
+
* Otherwise this falls back to the global declaration-merged `FilterFns`
|
|
93
|
+
* interface.
|
|
94
|
+
*/
|
|
95
|
+
type ExtractFilterFnKeys<TFeatures extends TableFeatures> = IsAny<TFeatures> extends true ? keyof FilterFns | BuiltInFilterFn : TFeatures extends {
|
|
96
|
+
filterFns: infer TFilterFns extends object;
|
|
97
|
+
} ? Extract<keyof TFilterFns, string> : keyof FilterFns;
|
|
98
|
+
type FilterFnOption<TFeatures extends TableFeatures, TData extends RowData> = 'auto' | ExtractFilterFnKeys<TFeatures> | FilterFn<TFeatures, TData>;
|
|
99
|
+
interface ColumnDef_ColumnFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
38
100
|
/**
|
|
39
101
|
* Enables this column to participate in column-specific filtering.
|
|
40
102
|
*
|
|
@@ -47,7 +109,7 @@ interface ColumnDef_ColumnFiltering<TFeatures extends TableFeatures, TData exten
|
|
|
47
109
|
*/
|
|
48
110
|
filterFn?: FilterFnOption<TFeatures, TData>;
|
|
49
111
|
}
|
|
50
|
-
interface Column_ColumnFiltering<TFeatures extends TableFeatures, TData extends RowData> {
|
|
112
|
+
interface Column_ColumnFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
51
113
|
/**
|
|
52
114
|
* Returns an automatically calculated filter function for the column based off of the columns first known value.
|
|
53
115
|
*/
|
|
@@ -80,7 +142,7 @@ interface Column_ColumnFiltering<TFeatures extends TableFeatures, TData extends
|
|
|
80
142
|
*/
|
|
81
143
|
setFilterValue: (updater: Updater<any>) => void;
|
|
82
144
|
}
|
|
83
|
-
interface Row_ColumnFiltering<TFeatures extends TableFeatures,
|
|
145
|
+
interface Row_ColumnFiltering<in out TFeatures extends TableFeatures, in out _TData extends RowData> {
|
|
84
146
|
/**
|
|
85
147
|
* The column filters map for the row. This object tracks whether a row is passing/failing specific filters by their column ID.
|
|
86
148
|
*/
|
|
@@ -88,9 +150,9 @@ interface Row_ColumnFiltering<TFeatures extends TableFeatures, TData extends Row
|
|
|
88
150
|
/**
|
|
89
151
|
* The column filters meta map for the row. This object tracks any filter meta for a row as optionally provided during the filtering process.
|
|
90
152
|
*/
|
|
91
|
-
columnFiltersMeta: Record<string,
|
|
153
|
+
columnFiltersMeta: Record<string, ExtractFilterMeta<TFeatures>>;
|
|
92
154
|
}
|
|
93
|
-
interface TableOptions_ColumnFiltering<
|
|
155
|
+
interface TableOptions_ColumnFiltering<in out _TFeatures extends TableFeatures, in out _TData extends RowData> {
|
|
94
156
|
/**
|
|
95
157
|
* Enables column-specific filtering for all columns that also allow it.
|
|
96
158
|
*/
|
|
@@ -110,9 +172,9 @@ interface TableOptions_ColumnFiltering<TFeatures extends TableFeatures, TData ex
|
|
|
110
172
|
*/
|
|
111
173
|
manualFiltering?: boolean;
|
|
112
174
|
/**
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
175
|
+
* By default, filtering is done for all rows (max depth of 100), no matter if they are root level parent rows or the child leaf rows of a parent row. Setting this option to `0` will cause filtering to only be applied to the root level parent rows, with all sub-rows remaining unfiltered. Similarly, setting this option to `1` will cause filtering to only be applied to child leaf rows 1 level deep, and so on.
|
|
176
|
+
* This is useful for situations where you want a row's entire child hierarchy to be visible regardless of the applied filter.
|
|
177
|
+
*/
|
|
116
178
|
maxLeafRowFilterDepth?: number;
|
|
117
179
|
/**
|
|
118
180
|
* Called with an updater when column filter state changes. Pair this with
|
|
@@ -133,7 +195,7 @@ interface Table_ColumnFiltering {
|
|
|
133
195
|
*/
|
|
134
196
|
setColumnFilters: (updater: Updater<ColumnFiltersState>) => void;
|
|
135
197
|
}
|
|
136
|
-
interface Table_RowModels_Filtered<TFeatures extends TableFeatures, TData extends RowData> {
|
|
198
|
+
interface Table_RowModels_Filtered<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
137
199
|
/**
|
|
138
200
|
* Resolves the row model after column and global filters have been applied.
|
|
139
201
|
*/
|
|
@@ -143,18 +205,8 @@ interface Table_RowModels_Filtered<TFeatures extends TableFeatures, TData extend
|
|
|
143
205
|
*/
|
|
144
206
|
getPreFilteredRowModel: () => RowModel<TFeatures, TData>;
|
|
145
207
|
}
|
|
146
|
-
interface
|
|
147
|
-
/**
|
|
148
|
-
* If provided, this factory is called once per table and should return a
|
|
149
|
-
* function that calculates the filtered row model.
|
|
150
|
-
* - For server-side filtering, this function is unnecessary and can be ignored since the server should already return the filtered row model.
|
|
151
|
-
* - For client-side filtering, pass the exported `createFilteredRowModel()` or implement your own factory.
|
|
152
|
-
*/
|
|
153
|
-
filteredRowModel?: (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
|
|
154
|
-
}
|
|
155
|
-
interface CachedRowModel_Filtered<TFeatures extends TableFeatures, TData extends RowData> {
|
|
208
|
+
interface CachedRowModel_Filtered<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
156
209
|
filteredRowModel: () => RowModel<TFeatures, TData>;
|
|
157
210
|
}
|
|
158
211
|
//#endregion
|
|
159
|
-
export { CachedRowModel_Filtered, ColumnDef_ColumnFiltering, ColumnFilter, ColumnFilterAutoRemoveTestFn, ColumnFiltersState, Column_ColumnFiltering,
|
|
160
|
-
//# sourceMappingURL=columnFilteringFeature.types.d.ts.map
|
|
212
|
+
export { CachedRowModel_Filtered, ColumnDef_ColumnFiltering, ColumnFilter, ColumnFilterAutoRemoveTestFn, ColumnFiltersState, Column_ColumnFiltering, CreatedFilterFn, CustomFilterFns, ExtractFilterFnKeys, ExtractFilterMeta, FilterFn, FilterFnDef, FilterFnOption, FilterFns, FilterMeta, ResolvedColumnFilter, RowModelFns_ColumnFiltering, Row_ColumnFiltering, TableOptions_ColumnFiltering, TableState_ColumnFiltering, Table_ColumnFiltering, Table_RowModels_Filtered, TransformFilterValueFn };
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { CellData, RowData, Updater } from "../../types/type-utils.js";
|
|
2
|
+
import { Column } from "../../types/Column.js";
|
|
2
3
|
import { ColumnFiltersState, FilterFn } from "./columnFilteringFeature.types.js";
|
|
3
|
-
import {
|
|
4
|
+
import { Table } from "../../types/Table.js";
|
|
4
5
|
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
5
|
-
import { Table_Internal } from "../../types/Table.js";
|
|
6
|
-
|
|
7
6
|
//#region src/features/column-filtering/columnFilteringFeature.utils.d.ts
|
|
8
7
|
/**
|
|
9
8
|
* Creates the default column filter state.
|
|
@@ -21,15 +20,19 @@ declare function getDefaultColumnFiltersState(): ColumnFiltersState;
|
|
|
21
20
|
* Chooses a built-in filter function from the column's first core row value.
|
|
22
21
|
*
|
|
23
22
|
* Strings use `includesString`, numbers use `inNumberRange`, booleans and
|
|
24
|
-
* objects use `equals`,
|
|
25
|
-
* to `weakEquals`.
|
|
23
|
+
* objects use `equals`, dates use `inDateRange`, arrays use `arrIncludes`,
|
|
24
|
+
* and unknown values fall back to `weakEquals`.
|
|
25
|
+
*
|
|
26
|
+
* The chosen filter function is looked up in the table's `filterFns`
|
|
27
|
+
* registry. When it is not registered there, this returns `undefined` and
|
|
28
|
+
* warns in development instead of substituting a different filter function.
|
|
26
29
|
*
|
|
27
30
|
* @example
|
|
28
31
|
* ```ts
|
|
29
32
|
* const filterFn = column_getAutoFilterFn(column)
|
|
30
33
|
* ```
|
|
31
34
|
*/
|
|
32
|
-
declare function column_getAutoFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
35
|
+
declare function column_getAutoFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
|
|
33
36
|
/**
|
|
34
37
|
* Resolves the filter function configured for a column.
|
|
35
38
|
*
|
|
@@ -42,7 +45,7 @@ declare function column_getAutoFilterFn<TFeatures extends TableFeatures, TData e
|
|
|
42
45
|
* const filterFn = column_getFilterFn(column)
|
|
43
46
|
* ```
|
|
44
47
|
*/
|
|
45
|
-
declare function column_getFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
48
|
+
declare function column_getFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
|
|
46
49
|
/**
|
|
47
50
|
* Checks whether column filtering is enabled for this accessor column.
|
|
48
51
|
*
|
|
@@ -54,7 +57,7 @@ declare function column_getFilterFn<TFeatures extends TableFeatures, TData exten
|
|
|
54
57
|
* const canFilter = column_getCanFilter(column)
|
|
55
58
|
* ```
|
|
56
59
|
*/
|
|
57
|
-
declare function column_getCanFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
60
|
+
declare function column_getCanFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
|
|
58
61
|
/**
|
|
59
62
|
* Checks whether this column currently has an entry in `state.columnFilters`.
|
|
60
63
|
*
|
|
@@ -66,7 +69,7 @@ declare function column_getCanFilter<TFeatures extends TableFeatures, TData exte
|
|
|
66
69
|
* const isFiltered = column_getIsFiltered(column)
|
|
67
70
|
* ```
|
|
68
71
|
*/
|
|
69
|
-
declare function column_getIsFiltered<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
72
|
+
declare function column_getIsFiltered<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
|
|
70
73
|
/**
|
|
71
74
|
* Reads this column's current filter value from `state.columnFilters`.
|
|
72
75
|
*
|
|
@@ -77,7 +80,7 @@ declare function column_getIsFiltered<TFeatures extends TableFeatures, TData ext
|
|
|
77
80
|
* const value = column_getFilterValue(column)
|
|
78
81
|
* ```
|
|
79
82
|
*/
|
|
80
|
-
declare function column_getFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
83
|
+
declare function column_getFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): unknown;
|
|
81
84
|
/**
|
|
82
85
|
* Finds this column's position in the ordered `state.columnFilters` array.
|
|
83
86
|
*
|
|
@@ -88,7 +91,7 @@ declare function column_getFilterValue<TFeatures extends TableFeatures, TData ex
|
|
|
88
91
|
* const index = column_getFilterIndex(column)
|
|
89
92
|
* ```
|
|
90
93
|
*/
|
|
91
|
-
declare function column_getFilterIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
94
|
+
declare function column_getFilterIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): number;
|
|
92
95
|
/**
|
|
93
96
|
* Adds, updates, or removes this column's filter value.
|
|
94
97
|
*
|
|
@@ -100,7 +103,7 @@ declare function column_getFilterIndex<TFeatures extends TableFeatures, TData ex
|
|
|
100
103
|
* column_setFilterValue(column, (old) => String(old ?? '').trim())
|
|
101
104
|
* ```
|
|
102
105
|
*/
|
|
103
|
-
declare function column_setFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
106
|
+
declare function column_setFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, value: any): void;
|
|
104
107
|
/**
|
|
105
108
|
* Routes a column filter updater through the table's filter change handler.
|
|
106
109
|
*
|
|
@@ -113,7 +116,7 @@ declare function column_setFilterValue<TFeatures extends TableFeatures, TData ex
|
|
|
113
116
|
* table_setColumnFilters(table, (old) => old.filter((filter) => filter.id !== 'age'))
|
|
114
117
|
* ```
|
|
115
118
|
*/
|
|
116
|
-
declare function table_setColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
119
|
+
declare function table_setColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<ColumnFiltersState>): void;
|
|
117
120
|
/**
|
|
118
121
|
* Resets `columnFilters` to the configured initial state or feature default.
|
|
119
122
|
*
|
|
@@ -126,7 +129,7 @@ declare function table_setColumnFilters<TFeatures extends TableFeatures, TData e
|
|
|
126
129
|
* table_resetColumnFilters(table, true)
|
|
127
130
|
* ```
|
|
128
131
|
*/
|
|
129
|
-
declare function table_resetColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
132
|
+
declare function table_resetColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
|
|
130
133
|
/**
|
|
131
134
|
* Returns whether a filter value should be removed from filter state.
|
|
132
135
|
*
|
|
@@ -137,7 +140,6 @@ declare function table_resetColumnFilters<TFeatures extends TableFeatures, TData
|
|
|
137
140
|
* const removeFilter = shouldAutoRemoveFilter(filterFn, value, column)
|
|
138
141
|
* ```
|
|
139
142
|
*/
|
|
140
|
-
declare function shouldAutoRemoveFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(filterFn?: FilterFn<TFeatures, TData>, value?: any, column?:
|
|
143
|
+
declare function shouldAutoRemoveFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(filterFn?: FilterFn<TFeatures, TData>, value?: any, column?: Column<TFeatures, TData, TValue>): boolean;
|
|
141
144
|
//#endregion
|
|
142
|
-
export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
|
|
143
|
-
//# sourceMappingURL=columnFilteringFeature.utils.d.ts.map
|
|
145
|
+
export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
|
|
@@ -19,8 +19,12 @@ function getDefaultColumnFiltersState() {
|
|
|
19
19
|
* Chooses a built-in filter function from the column's first core row value.
|
|
20
20
|
*
|
|
21
21
|
* Strings use `includesString`, numbers use `inNumberRange`, booleans and
|
|
22
|
-
* objects use `equals`,
|
|
23
|
-
* to `weakEquals`.
|
|
22
|
+
* objects use `equals`, dates use `inDateRange`, arrays use `arrIncludes`,
|
|
23
|
+
* and unknown values fall back to `weakEquals`.
|
|
24
|
+
*
|
|
25
|
+
* The chosen filter function is looked up in the table's `filterFns`
|
|
26
|
+
* registry. When it is not registered there, this returns `undefined` and
|
|
27
|
+
* warns in development instead of substituting a different filter function.
|
|
24
28
|
*
|
|
25
29
|
* @example
|
|
26
30
|
* ```ts
|
|
@@ -29,14 +33,26 @@ function getDefaultColumnFiltersState() {
|
|
|
29
33
|
*/
|
|
30
34
|
function column_getAutoFilterFn(column) {
|
|
31
35
|
const filterFns = column.table._rowModelFns.filterFns;
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
const rows = column.table.getCoreRowModel().flatRows;
|
|
37
|
+
let value;
|
|
38
|
+
for (let i = 0; i < rows.length; i++) {
|
|
39
|
+
const rowValue = rows[i].getValue(column.id);
|
|
40
|
+
if (rowValue !== null && rowValue !== void 0) {
|
|
41
|
+
value = rowValue;
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
let filterFnName;
|
|
46
|
+
if (typeof value === "string") filterFnName = "includesString";
|
|
47
|
+
else if (typeof value === "number") filterFnName = "inNumberRange";
|
|
48
|
+
else if (typeof value === "boolean") filterFnName = "equals";
|
|
49
|
+
else if (Array.isArray(value)) filterFnName = "arrIncludes";
|
|
50
|
+
else if (Object.prototype.toString.call(value) === "[object Date]") filterFnName = "inDateRange";
|
|
51
|
+
else if (value !== null && typeof value === "object") filterFnName = "equals";
|
|
52
|
+
else filterFnName = "weakEquals";
|
|
53
|
+
const filterFn = filterFns?.[filterFnName];
|
|
54
|
+
if (process.env.NODE_ENV === "development" && !filterFn) console.warn(`filterFn '${filterFnName}' (auto) for column '${column.id}' is not registered`);
|
|
55
|
+
return filterFn;
|
|
40
56
|
}
|
|
41
57
|
/**
|
|
42
58
|
* Resolves the filter function configured for a column.
|
|
@@ -53,9 +69,9 @@ function column_getAutoFilterFn(column) {
|
|
|
53
69
|
function column_getFilterFn(column) {
|
|
54
70
|
let filterFn = null;
|
|
55
71
|
const filterFns = column.table._rowModelFns.filterFns;
|
|
56
|
-
filterFn = isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === "auto" ? column_getAutoFilterFn(column) : filterFns
|
|
57
|
-
if (process.env.NODE_ENV === "development" && !filterFn) console.warn(`
|
|
58
|
-
return filterFn;
|
|
72
|
+
filterFn = isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === "auto" ? column_getAutoFilterFn(column) : filterFns?.[column.columnDef.filterFn];
|
|
73
|
+
if (process.env.NODE_ENV === "development" && !filterFn && column.columnDef.filterFn !== "auto") console.warn(`filterFn '${String(column.columnDef.filterFn)}' for column '${column.id}' is not registered`);
|
|
74
|
+
return filterFn ?? void 0;
|
|
59
75
|
}
|
|
60
76
|
/**
|
|
61
77
|
* Checks whether column filtering is enabled for this accessor column.
|
|
@@ -96,8 +112,7 @@ function column_getIsFiltered(column) {
|
|
|
96
112
|
* ```
|
|
97
113
|
*/
|
|
98
114
|
function column_getFilterValue(column) {
|
|
99
|
-
|
|
100
|
-
return (_column$table$atoms$c = column.table.atoms.columnFilters) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.get()) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.find((d) => d.id === column.id)) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c.value;
|
|
115
|
+
return column.table.atoms.columnFilters?.get()?.find((d) => d.id === column.id)?.value;
|
|
101
116
|
}
|
|
102
117
|
/**
|
|
103
118
|
* Finds this column's position in the ordered `state.columnFilters` array.
|
|
@@ -110,8 +125,7 @@ function column_getFilterValue(column) {
|
|
|
110
125
|
* ```
|
|
111
126
|
*/
|
|
112
127
|
function column_getFilterIndex(column) {
|
|
113
|
-
|
|
114
|
-
return ((_column$table$atoms$c2 = column.table.atoms.columnFilters) === null || _column$table$atoms$c2 === void 0 || (_column$table$atoms$c2 = _column$table$atoms$c2.get()) === null || _column$table$atoms$c2 === void 0 ? void 0 : _column$table$atoms$c2.findIndex((d) => d.id === column.id)) ?? -1;
|
|
128
|
+
return column.table.atoms.columnFilters?.get()?.findIndex((d) => d.id === column.id) ?? -1;
|
|
115
129
|
}
|
|
116
130
|
/**
|
|
117
131
|
* Adds, updates, or removes this column's filter value.
|
|
@@ -155,7 +169,6 @@ function column_setFilterValue(column, value) {
|
|
|
155
169
|
* ```
|
|
156
170
|
*/
|
|
157
171
|
function table_setColumnFilters(table, updater) {
|
|
158
|
-
var _table$options$onColu, _table$options;
|
|
159
172
|
const leafColumnsById = table.getAllLeafColumnsById();
|
|
160
173
|
const updateFn = (old) => {
|
|
161
174
|
return functionalUpdate(updater, old).filter((filter) => {
|
|
@@ -166,7 +179,7 @@ function table_setColumnFilters(table, updater) {
|
|
|
166
179
|
return true;
|
|
167
180
|
});
|
|
168
181
|
};
|
|
169
|
-
|
|
182
|
+
table.options.onColumnFiltersChange?.(updateFn);
|
|
170
183
|
}
|
|
171
184
|
/**
|
|
172
185
|
* Resets `columnFilters` to the configured initial state or feature default.
|
|
@@ -198,5 +211,4 @@ function shouldAutoRemoveFilter(filterFn, value, column) {
|
|
|
198
211
|
}
|
|
199
212
|
|
|
200
213
|
//#endregion
|
|
201
|
-
export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
|
|
202
|
-
//# sourceMappingURL=columnFilteringFeature.utils.js.map
|
|
214
|
+
export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import { RowData } from "../../types/type-utils.js";
|
|
2
|
-
import { FilterFn, FilterFns } from "./columnFilteringFeature.types.js";
|
|
3
|
-
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
4
|
-
import { Table } from "../../types/Table.js";
|
|
5
2
|
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
|
|
6
|
-
|
|
3
|
+
import { Table } from "../../types/Table.js";
|
|
4
|
+
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
7
5
|
//#region src/features/column-filtering/createFilteredRowModel.d.ts
|
|
8
6
|
/**
|
|
9
7
|
* Creates a memoized filtered row model factory.
|
|
10
8
|
*
|
|
11
9
|
* The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
|
|
10
|
+
*
|
|
11
|
+
* Register the filter functions you use with the `filterFns` slot on the
|
|
12
|
+
* `features` option:
|
|
13
|
+
* `tableFeatures({ columnFilteringFeature, filteredRowModel: createFilteredRowModel(), filterFns: { includesString: filterFn_includesString } })`.
|
|
14
|
+
* Importing individual `filterFn_*` functions keeps unused built-ins out of
|
|
15
|
+
* your bundle; filter functions passed directly to the `filterFn` column
|
|
16
|
+
* option need no registration at all.
|
|
12
17
|
*/
|
|
13
|
-
declare function createFilteredRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(
|
|
18
|
+
declare function createFilteredRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
|
|
14
19
|
//#endregion
|
|
15
|
-
export { createFilteredRowModel };
|
|
16
|
-
//# sourceMappingURL=createFilteredRowModel.d.ts.map
|
|
20
|
+
export { createFilteredRowModel };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { tableMemo } from "../../utils.js";
|
|
1
|
+
import { makeObjectMap, tableMemo } from "../../utils.js";
|
|
2
2
|
import { table_getColumn } from "../../core/columns/coreColumnsFeature.utils.js";
|
|
3
3
|
import { table_autoResetPageIndex } from "../row-pagination/rowPaginationFeature.utils.js";
|
|
4
4
|
import { column_getFilterFn } from "./columnFilteringFeature.utils.js";
|
|
@@ -10,78 +10,82 @@ import { filterRows } from "./filterRowsUtils.js";
|
|
|
10
10
|
* Creates a memoized filtered row model factory.
|
|
11
11
|
*
|
|
12
12
|
* The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
|
|
13
|
+
*
|
|
14
|
+
* Register the filter functions you use with the `filterFns` slot on the
|
|
15
|
+
* `features` option:
|
|
16
|
+
* `tableFeatures({ columnFilteringFeature, filteredRowModel: createFilteredRowModel(), filterFns: { includesString: filterFn_includesString } })`.
|
|
17
|
+
* Importing individual `filterFn_*` functions keeps unused built-ins out of
|
|
18
|
+
* your bundle; filter functions passed directly to the `filterFn` column
|
|
19
|
+
* option need no registration at all.
|
|
13
20
|
*/
|
|
14
|
-
function createFilteredRowModel(
|
|
21
|
+
function createFilteredRowModel() {
|
|
15
22
|
return (_table) => {
|
|
16
23
|
const table = _table;
|
|
17
|
-
if (!table._rowModelFns.filterFns) table._rowModelFns.filterFns = filterFns;
|
|
18
24
|
return tableMemo({
|
|
19
25
|
feature: "columnFilteringFeature",
|
|
20
26
|
table,
|
|
21
27
|
fnName: "table.getFilteredRowModel",
|
|
22
|
-
memoDeps: () =>
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
(_table$atoms$globalFi = table.atoms.globalFilter) === null || _table$atoms$globalFi === void 0 ? void 0 : _table$atoms$globalFi.get()
|
|
28
|
-
];
|
|
29
|
-
},
|
|
28
|
+
memoDeps: () => [
|
|
29
|
+
table.getPreFilteredRowModel(),
|
|
30
|
+
table.atoms.columnFilters?.get(),
|
|
31
|
+
table.atoms.globalFilter?.get()
|
|
32
|
+
],
|
|
30
33
|
fn: () => _createFilteredRowModel(table),
|
|
31
34
|
onAfterUpdate: () => table_autoResetPageIndex(table)
|
|
32
35
|
});
|
|
33
36
|
};
|
|
34
37
|
}
|
|
35
38
|
function _createFilteredRowModel(table) {
|
|
36
|
-
var _table$atoms$columnFi2, _table$atoms$globalFi2;
|
|
37
39
|
const rowModel = table.getPreFilteredRowModel();
|
|
38
|
-
const columnFilters =
|
|
39
|
-
const globalFilter =
|
|
40
|
-
|
|
40
|
+
const columnFilters = table.atoms.columnFilters?.get();
|
|
41
|
+
const globalFilter = table.atoms.globalFilter?.get();
|
|
42
|
+
const hasGlobalFilter = globalFilter !== void 0 && globalFilter !== null && globalFilter !== "";
|
|
43
|
+
if (!rowModel.rows.length || !columnFilters?.length && !hasGlobalFilter) {
|
|
41
44
|
const flatRows = rowModel.flatRows;
|
|
42
45
|
for (let i = 0; i < flatRows.length; i++) {
|
|
43
46
|
const row = flatRows[i];
|
|
44
|
-
row.columnFilters =
|
|
45
|
-
row.columnFiltersMeta =
|
|
47
|
+
row.columnFilters = makeObjectMap();
|
|
48
|
+
row.columnFiltersMeta = makeObjectMap();
|
|
46
49
|
}
|
|
47
50
|
return rowModel;
|
|
48
51
|
}
|
|
49
52
|
const resolvedColumnFilters = [];
|
|
50
53
|
const resolvedGlobalFilters = [];
|
|
51
|
-
columnFilters
|
|
52
|
-
var _filterFn$resolveFilt;
|
|
54
|
+
columnFilters?.forEach((columnFilter) => {
|
|
53
55
|
const column = table_getColumn(table, columnFilter.id);
|
|
54
56
|
if (!column) return;
|
|
55
57
|
const filterFn = column_getFilterFn(column);
|
|
58
|
+
if (!filterFn) return;
|
|
56
59
|
resolvedColumnFilters.push({
|
|
57
60
|
id: columnFilter.id,
|
|
58
61
|
filterFn,
|
|
59
|
-
resolvedValue:
|
|
62
|
+
resolvedValue: filterFn.resolveFilterValue?.(columnFilter.value) ?? columnFilter.value
|
|
60
63
|
});
|
|
61
64
|
});
|
|
62
|
-
const filterableIds =
|
|
65
|
+
const filterableIds = columnFilters?.map((d) => d.id) ?? [];
|
|
63
66
|
const globalFilterFn = table_getGlobalFilterFn(table);
|
|
64
67
|
const globallyFilterableColumns = table.getAllLeafColumns().filter((column) => column_getCanGlobalFilter(column));
|
|
65
|
-
if (
|
|
68
|
+
if (hasGlobalFilter && globalFilterFn && globallyFilterableColumns.length) {
|
|
66
69
|
filterableIds.push("__global__");
|
|
67
70
|
globallyFilterableColumns.forEach((column) => {
|
|
68
|
-
var _globalFilterFn$resol;
|
|
69
71
|
resolvedGlobalFilters.push({
|
|
70
72
|
id: column.id,
|
|
71
73
|
filterFn: globalFilterFn,
|
|
72
|
-
resolvedValue:
|
|
74
|
+
resolvedValue: globalFilterFn.resolveFilterValue?.(globalFilter) ?? globalFilter
|
|
73
75
|
});
|
|
74
76
|
});
|
|
75
77
|
}
|
|
76
78
|
const flatRows = rowModel.flatRows;
|
|
77
79
|
for (let i = 0; i < flatRows.length; i++) {
|
|
78
80
|
const row = flatRows[i];
|
|
79
|
-
row.columnFilters =
|
|
81
|
+
row.columnFilters = makeObjectMap();
|
|
82
|
+
row.columnFiltersMeta = makeObjectMap();
|
|
80
83
|
if (resolvedColumnFilters.length) for (let j = 0; j < resolvedColumnFilters.length; j++) {
|
|
81
84
|
const currentColumnFilter = resolvedColumnFilters[j];
|
|
82
85
|
const id = currentColumnFilter.id;
|
|
83
86
|
row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, (filterMeta) => {
|
|
84
|
-
!row.columnFiltersMeta
|
|
87
|
+
if (!row.columnFiltersMeta) row.columnFiltersMeta = makeObjectMap();
|
|
88
|
+
row.columnFiltersMeta[id] = filterMeta;
|
|
85
89
|
});
|
|
86
90
|
}
|
|
87
91
|
if (resolvedGlobalFilters.length) {
|
|
@@ -89,7 +93,8 @@ function _createFilteredRowModel(table) {
|
|
|
89
93
|
const currentGlobalFilter = resolvedGlobalFilters[j];
|
|
90
94
|
const id = currentGlobalFilter.id;
|
|
91
95
|
if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, (filterMeta) => {
|
|
92
|
-
!row.columnFiltersMeta
|
|
96
|
+
if (!row.columnFiltersMeta) row.columnFiltersMeta = makeObjectMap();
|
|
97
|
+
row.columnFiltersMeta[id] = filterMeta;
|
|
93
98
|
})) {
|
|
94
99
|
row.columnFilters.__global__ = true;
|
|
95
100
|
break;
|
|
@@ -106,5 +111,4 @@ function _createFilteredRowModel(table) {
|
|
|
106
111
|
}
|
|
107
112
|
|
|
108
113
|
//#endregion
|
|
109
|
-
export { createFilteredRowModel };
|
|
110
|
-
//# sourceMappingURL=createFilteredRowModel.js.map
|
|
114
|
+
export { createFilteredRowModel };
|