@tanstack/table-core 9.0.0-beta.7 → 9.0.0-beta.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/core/cells/constructCell.d.ts +4 -6
- package/dist/core/cells/constructCell.js +4 -6
- package/dist/core/cells/coreCellsFeature.d.ts +1 -3
- package/dist/core/cells/coreCellsFeature.js +1 -2
- package/dist/core/cells/coreCellsFeature.types.d.ts +7 -9
- package/dist/core/cells/coreCellsFeature.utils.d.ts +5 -5
- package/dist/core/cells/coreCellsFeature.utils.js +1 -2
- package/dist/core/columns/constructColumn.d.ts +4 -6
- package/dist/core/columns/constructColumn.js +8 -9
- package/dist/core/columns/coreColumnsFeature.d.ts +1 -3
- package/dist/core/columns/coreColumnsFeature.js +13 -20
- package/dist/core/columns/coreColumnsFeature.types.d.ts +13 -15
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +10 -12
- package/dist/core/columns/coreColumnsFeature.utils.js +19 -20
- package/dist/core/coreFeatures.d.ts +3 -3
- package/dist/core/coreFeatures.js +1 -2
- package/dist/core/headers/buildHeaderGroups.d.ts +3 -5
- package/dist/core/headers/buildHeaderGroups.js +99 -85
- package/dist/core/headers/constructHeader.d.ts +3 -5
- package/dist/core/headers/constructHeader.js +4 -6
- package/dist/core/headers/coreHeadersFeature.d.ts +1 -3
- package/dist/core/headers/coreHeadersFeature.js +9 -13
- package/dist/core/headers/coreHeadersFeature.types.d.ts +21 -11
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +8 -8
- package/dist/core/headers/coreHeadersFeature.utils.js +14 -17
- package/dist/core/reactivity/coreReactivityFeature.types.d.ts +8 -3
- package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +1 -3
- package/dist/core/reactivity/coreReactivityFeature.utils.js +1 -2
- package/dist/core/reactivity/renderPhaseReactivity.d.ts +80 -0
- package/dist/core/reactivity/renderPhaseReactivity.js +95 -0
- package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -3
- package/dist/core/row-models/coreRowModelsFeature.js +1 -2
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -17
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +17 -19
- package/dist/core/row-models/coreRowModelsFeature.utils.js +9 -28
- package/dist/core/row-models/createCoreRowModel.d.ts +3 -5
- package/dist/core/row-models/createCoreRowModel.js +25 -24
- package/dist/core/rows/constructRow.d.ts +3 -5
- package/dist/core/rows/constructRow.js +9 -13
- package/dist/core/rows/coreRowsFeature.d.ts +1 -3
- package/dist/core/rows/coreRowsFeature.js +20 -5
- package/dist/core/rows/coreRowsFeature.types.d.ts +42 -10
- package/dist/core/rows/coreRowsFeature.utils.d.ts +26 -9
- package/dist/core/rows/coreRowsFeature.utils.js +65 -14
- package/dist/core/table/constructTable.d.ts +2 -4
- package/dist/core/table/constructTable.js +52 -23
- package/dist/core/table/coreTablesFeature.d.ts +1 -3
- package/dist/core/table/coreTablesFeature.js +1 -2
- package/dist/core/table/coreTablesFeature.types.d.ts +56 -25
- package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
- package/dist/core/table/coreTablesFeature.utils.js +69 -24
- package/dist/experimental-worker-plugin.d.ts +5 -0
- package/dist/experimental-worker-plugin.js +6 -0
- package/dist/features/cell-selection/cellSelectionFeature.d.ts +8 -0
- package/dist/features/cell-selection/cellSelectionFeature.js +128 -0
- package/dist/features/cell-selection/cellSelectionFeature.types.d.ts +296 -0
- package/dist/features/cell-selection/cellSelectionFeature.utils.d.ts +306 -0
- package/dist/features/cell-selection/cellSelectionFeature.utils.js +873 -0
- package/dist/features/cell-selection/cellSelectionGeometry.js +121 -0
- package/dist/features/cell-spanning/cellSpanningFeature.d.ts +13 -0
- package/dist/features/cell-spanning/cellSpanningFeature.js +47 -0
- package/dist/features/cell-spanning/cellSpanningFeature.types.d.ts +150 -0
- package/dist/features/cell-spanning/cellSpanningFeature.utils.d.ts +74 -0
- package/dist/features/cell-spanning/cellSpanningFeature.utils.js +262 -0
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +1 -3
- package/dist/features/column-faceting/columnFacetingFeature.js +13 -20
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -35
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +10 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +25 -14
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +2 -4
- package/dist/features/column-faceting/createFacetedMinMaxValues.js +9 -7
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +3 -5
- package/dist/features/column-faceting/createFacetedRowModel.js +12 -17
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +2 -4
- package/dist/features/column-faceting/createFacetedUniqueValues.js +12 -9
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -3
- package/dist/features/column-filtering/columnFilteringFeature.js +4 -5
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +85 -33
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +19 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +33 -21
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
- package/dist/features/column-filtering/createFilteredRowModel.js +33 -29
- package/dist/features/column-filtering/filterFns.d.ts +208 -0
- package/dist/features/column-filtering/filterFns.js +374 -0
- package/dist/features/column-filtering/filterRowsUtils.js +4 -4
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +2 -4
- package/dist/features/column-grouping/columnGroupingFeature.js +7 -20
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -52
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -51
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -61
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +7 -7
- package/dist/features/column-grouping/createGroupedRowModel.js +69 -38
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -3
- package/dist/features/column-ordering/columnOrderingFeature.js +19 -24
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -5
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -16
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -18
- package/dist/features/column-pinning/columnPinningFeature.d.ts +7 -4
- package/dist/features/column-pinning/columnPinningFeature.js +126 -146
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +53 -44
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +100 -93
- package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -150
- package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -3
- package/dist/features/column-resizing/columnResizingFeature.js +1 -2
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +2 -7
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +7 -9
- package/dist/features/column-resizing/columnResizingFeature.utils.js +86 -48
- package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -3
- package/dist/features/column-sizing/columnSizingFeature.js +35 -70
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -11
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -27
- package/dist/features/column-sizing/columnSizingFeature.utils.js +95 -54
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -3
- package/dist/features/column-visibility/columnVisibilityFeature.js +26 -38
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +4 -6
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +20 -20
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +32 -32
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -3
- package/dist/features/global-filtering/globalFilteringFeature.js +3 -4
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -13
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +7 -8
- package/dist/features/row-aggregation/aggregationFns.d.ts +66 -0
- package/dist/features/row-aggregation/aggregationFns.js +279 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.ts +8 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js +35 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +193 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js +11 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +46 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js +235 -0
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +3 -5
- package/dist/features/row-expanding/createExpandedRowModel.js +9 -13
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -3
- package/dist/features/row-expanding/rowExpandingFeature.js +1 -2
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -17
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +11 -16
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +30 -33
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
- package/dist/features/row-pagination/createPaginatedRowModel.js +7 -12
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -3
- package/dist/features/row-pagination/rowPaginationFeature.js +1 -2
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -16
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +18 -20
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +10 -17
- package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -3
- package/dist/features/row-pinning/rowPinningFeature.js +5 -18
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +3 -5
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +8 -10
- package/dist/features/row-pinning/rowPinningFeature.utils.js +10 -16
- package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
- package/dist/features/row-selection/rowSelectionFeature.js +68 -25
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +51 -15
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +60 -35
- package/dist/features/row-selection/rowSelectionFeature.utils.js +142 -89
- package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
- package/dist/features/row-sorting/createSortedRowModel.js +71 -53
- package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -3
- package/dist/features/row-sorting/rowSortingFeature.js +1 -2
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -24
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +19 -22
- package/dist/features/row-sorting/rowSortingFeature.utils.js +36 -25
- package/dist/features/row-sorting/sortFns.d.ts +96 -0
- package/dist/features/row-sorting/sortFns.js +216 -0
- package/dist/features/stockFeatures.d.ts +7 -3
- package/dist/features/stockFeatures.js +7 -2
- package/dist/flex-render.d.ts +2 -4
- package/dist/flex-render.js +10 -3
- package/dist/helpers/columnHelper.d.ts +3 -5
- package/dist/helpers/columnHelper.js +1 -2
- package/dist/helpers/metaHelper.d.ts +25 -0
- package/dist/helpers/metaHelper.js +28 -0
- package/dist/helpers/tableFeatures.d.ts +35 -8
- package/dist/helpers/tableFeatures.js +33 -5
- package/dist/helpers/tableOptions.d.ts +1 -3
- package/dist/helpers/tableOptions.js +1 -2
- package/dist/index.d.ts +34 -27
- package/dist/index.js +10 -5
- package/dist/reactivity.d.ts +2 -1
- package/dist/reactivity.js +2 -1
- package/dist/static-functions.d.ts +11 -8
- package/dist/static-functions.js +11 -8
- package/dist/store-reactivity-bindings.d.ts +2 -4
- package/dist/store-reactivity-bindings.js +4 -5
- package/dist/types/Cell.d.ts +9 -5
- package/dist/types/Column.d.ts +13 -15
- package/dist/types/ColumnDef.d.ts +39 -21
- package/dist/types/Header.d.ts +3 -5
- package/dist/types/HeaderGroup.d.ts +3 -5
- package/dist/types/Row.d.ts +7 -7
- package/dist/types/RowModel.d.ts +11 -25
- package/dist/types/RowModelFns.d.ts +5 -7
- package/dist/types/Table.d.ts +29 -32
- package/dist/types/TableFeatures.d.ts +388 -24
- package/dist/types/TableOptions.d.ts +24 -14
- package/dist/types/TableState.d.ts +8 -8
- package/dist/types/type-utils.d.ts +10 -4
- package/dist/utils.d.ts +32 -26
- package/dist/utils.js +52 -32
- package/dist/worker/createTableWorker.d.ts +100 -0
- package/dist/worker/createTableWorker.js +185 -0
- package/dist/worker/createWorkerRowModel.d.ts +40 -0
- package/dist/worker/createWorkerRowModel.js +77 -0
- package/dist/worker/initTableWorker.d.ts +31 -0
- package/dist/worker/initTableWorker.js +99 -0
- package/dist/worker/rebuildRowModel.d.ts +11 -0
- package/dist/worker/rebuildRowModel.js +71 -0
- package/dist/worker/serializeRowModel.js +51 -0
- package/dist/worker/tableWorkerProtocol.d.ts +88 -0
- package/dist/worker/tableWorkerProtocol.js +26 -0
- package/package.json +12 -28
- package/skills/aggregation/SKILL.md +141 -0
- package/skills/api-not-found/SKILL.md +113 -0
- package/skills/cell-selection/SKILL.md +204 -0
- package/skills/cell-spanning/SKILL.md +162 -0
- package/skills/client-vs-server/SKILL.md +164 -0
- package/skills/column-faceting/SKILL.md +97 -0
- package/skills/column-filtering/SKILL.md +87 -0
- package/skills/column-ordering/SKILL.md +75 -0
- package/skills/column-pinning/SKILL.md +89 -0
- package/skills/column-resizing/SKILL.md +91 -0
- package/skills/column-sizing/SKILL.md +72 -0
- package/skills/column-visibility/SKILL.md +75 -0
- package/skills/core/SKILL.md +175 -0
- package/skills/custom-features/SKILL.md +235 -0
- package/skills/expanding/SKILL.md +80 -0
- package/skills/global-filtering/SKILL.md +84 -0
- package/skills/grouping/SKILL.md +51 -401
- package/skills/migrate-v8-to-v9/SKILL.md +275 -416
- package/skills/pagination/SKILL.md +37 -344
- package/skills/row-pinning/SKILL.md +47 -234
- package/skills/row-selection/SKILL.md +75 -302
- package/skills/sorting/SKILL.md +45 -303
- package/skills/table-features/SKILL.md +159 -0
- package/skills/typescript/SKILL.md +126 -0
- package/dist/core/cells/constructCell.cjs +0 -34
- package/dist/core/cells/constructCell.cjs.map +0 -1
- package/dist/core/cells/constructCell.d.cts +0 -17
- package/dist/core/cells/constructCell.js.map +0 -1
- package/dist/core/cells/coreCellsFeature.cjs +0 -21
- package/dist/core/cells/coreCellsFeature.cjs.map +0 -1
- package/dist/core/cells/coreCellsFeature.d.cts +0 -10
- package/dist/core/cells/coreCellsFeature.js.map +0 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +0 -57
- package/dist/core/cells/coreCellsFeature.utils.cjs +0 -57
- package/dist/core/cells/coreCellsFeature.utils.cjs.map +0 -1
- package/dist/core/cells/coreCellsFeature.utils.d.cts +0 -53
- package/dist/core/cells/coreCellsFeature.utils.js.map +0 -1
- package/dist/core/columns/constructColumn.cjs +0 -61
- package/dist/core/columns/constructColumn.cjs.map +0 -1
- package/dist/core/columns/constructColumn.d.cts +0 -16
- package/dist/core/columns/constructColumn.js.map +0 -1
- package/dist/core/columns/coreColumnsFeature.cjs +0 -70
- package/dist/core/columns/coreColumnsFeature.cjs.map +0 -1
- package/dist/core/columns/coreColumnsFeature.d.cts +0 -10
- package/dist/core/columns/coreColumnsFeature.js.map +0 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +0 -94
- package/dist/core/columns/coreColumnsFeature.utils.cjs +0 -187
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +0 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +0 -119
- package/dist/core/columns/coreColumnsFeature.utils.js.map +0 -1
- package/dist/core/coreFeatures.cjs +0 -25
- package/dist/core/coreFeatures.cjs.map +0 -1
- package/dist/core/coreFeatures.d.cts +0 -26
- package/dist/core/coreFeatures.js.map +0 -1
- package/dist/core/headers/buildHeaderGroups.cjs +0 -103
- package/dist/core/headers/buildHeaderGroups.cjs.map +0 -1
- package/dist/core/headers/buildHeaderGroups.d.cts +0 -16
- package/dist/core/headers/buildHeaderGroups.js.map +0 -1
- package/dist/core/headers/constructHeader.cjs +0 -41
- package/dist/core/headers/constructHeader.cjs.map +0 -1
- package/dist/core/headers/constructHeader.d.cts +0 -22
- package/dist/core/headers/constructHeader.js.map +0 -1
- package/dist/core/headers/coreHeadersFeature.cjs +0 -55
- package/dist/core/headers/coreHeadersFeature.cjs.map +0 -1
- package/dist/core/headers/coreHeadersFeature.d.cts +0 -10
- package/dist/core/headers/coreHeadersFeature.js.map +0 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +0 -106
- package/dist/core/headers/coreHeadersFeature.utils.cjs +0 -142
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +0 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +0 -85
- package/dist/core/headers/coreHeadersFeature.utils.js.map +0 -1
- package/dist/core/reactivity/coreReactivityFeature.types.d.cts +0 -48
- package/dist/core/reactivity/coreReactivityFeature.utils.cjs +0 -24
- package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +0 -1
- package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +0 -24
- package/dist/core/reactivity/coreReactivityFeature.utils.js.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.cjs +0 -27
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.d.cts +0 -10
- package/dist/core/row-models/coreRowModelsFeature.js.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +0 -41
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -215
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +0 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +0 -153
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
- package/dist/core/row-models/createCoreRowModel.cjs +0 -52
- package/dist/core/row-models/createCoreRowModel.cjs.map +0 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +0 -15
- package/dist/core/row-models/createCoreRowModel.js.map +0 -1
- package/dist/core/rows/constructRow.cjs +0 -44
- package/dist/core/rows/constructRow.cjs.map +0 -1
- package/dist/core/rows/constructRow.d.cts +0 -15
- package/dist/core/rows/constructRow.js.map +0 -1
- package/dist/core/rows/coreRowsFeature.cjs +0 -37
- package/dist/core/rows/coreRowsFeature.cjs.map +0 -1
- package/dist/core/rows/coreRowsFeature.d.cts +0 -10
- package/dist/core/rows/coreRowsFeature.js.map +0 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +0 -99
- package/dist/core/rows/coreRowsFeature.utils.cjs +0 -192
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -127
- package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
- package/dist/core/table/constructTable.cjs +0 -118
- package/dist/core/table/constructTable.cjs.map +0 -1
- package/dist/core/table/constructTable.d.cts +0 -22
- package/dist/core/table/constructTable.js.map +0 -1
- package/dist/core/table/coreTablesFeature.cjs +0 -17
- package/dist/core/table/coreTablesFeature.cjs.map +0 -1
- package/dist/core/table/coreTablesFeature.d.cts +0 -10
- package/dist/core/table/coreTablesFeature.js.map +0 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +0 -186
- package/dist/core/table/coreTablesFeature.utils.cjs +0 -96
- package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +0 -57
- package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -61
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +0 -10
- package/dist/features/column-faceting/columnFacetingFeature.js.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +0 -85
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -103
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +0 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +0 -84
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +0 -44
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +0 -14
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs +0 -50
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +0 -15
- package/dist/features/column-faceting/createFacetedRowModel.js.map +0 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +0 -41
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +0 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +0 -14
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +0 -50
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +0 -10
- package/dist/features/column-filtering/columnFilteringFeature.js.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +0 -160
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -212
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -143
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -110
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -16
- package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
- package/dist/features/column-filtering/filterRowsUtils.cjs +0 -81
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +0 -1
- package/dist/features/column-filtering/filterRowsUtils.js.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +0 -67
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +0 -10
- package/dist/features/column-grouping/columnGroupingFeature.js.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +0 -165
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -250
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -190
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -119
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -16
- package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -58
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +0 -10
- package/dist/features/column-ordering/columnOrderingFeature.js.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +0 -56
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -172
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -107
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +0 -221
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -10
- package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -178
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -585
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -375
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.cjs +0 -41
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.d.cts +0 -10
- package/dist/features/column-resizing/columnResizingFeature.js.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +0 -81
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -246
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +0 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +0 -109
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +0 -124
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.d.cts +0 -10
- package/dist/features/column-sizing/columnSizingFeature.js.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +0 -96
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -256
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -182
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -94
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +0 -10
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +0 -97
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +0 -283
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +0 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +0 -189
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +0 -41
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +0 -10
- package/dist/features/global-filtering/globalFilteringFeature.js.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +0 -71
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +0 -88
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +0 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +0 -74
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -59
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +0 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +0 -21
- package/dist/features/row-expanding/createExpandedRowModel.js.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.cjs +0 -47
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +0 -10
- package/dist/features/row-expanding/rowExpandingFeature.js.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +0 -127
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -281
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +0 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +0 -191
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +0 -62
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +0 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +0 -15
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.cjs +0 -45
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +0 -10
- package/dist/features/row-pagination/rowPaginationFeature.js.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +0 -135
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -312
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +0 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +0 -218
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +0 -67
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.d.cts +0 -10
- package/dist/features/row-pinning/rowPinningFeature.js.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +0 -83
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +0 -229
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +0 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +0 -143
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +0 -75
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.d.cts +0 -10
- package/dist/features/row-selection/rowSelectionFeature.js.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +0 -136
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -514
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -318
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +0 -95
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -16
- package/dist/features/row-sorting/createSortedRowModel.js.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.cjs +0 -55
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.d.cts +0 -10
- package/dist/features/row-sorting/rowSortingFeature.js.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +0 -188
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -305
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +0 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +0 -193
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
- package/dist/features/stockFeatures.cjs +0 -41
- package/dist/features/stockFeatures.cjs.map +0 -1
- package/dist/features/stockFeatures.d.cts +0 -41
- package/dist/features/stockFeatures.js.map +0 -1
- package/dist/flex-render.cjs +0 -29
- package/dist/flex-render.cjs.map +0 -1
- package/dist/flex-render.d.cts +0 -34
- package/dist/flex-render.js.map +0 -1
- package/dist/fns/aggregationFns.cjs +0 -161
- package/dist/fns/aggregationFns.cjs.map +0 -1
- package/dist/fns/aggregationFns.d.cts +0 -85
- package/dist/fns/aggregationFns.d.ts +0 -85
- package/dist/fns/aggregationFns.js +0 -151
- package/dist/fns/aggregationFns.js.map +0 -1
- package/dist/fns/filterFns.cjs +0 -201
- package/dist/fns/filterFns.cjs.map +0 -1
- package/dist/fns/filterFns.d.cts +0 -167
- package/dist/fns/filterFns.d.ts +0 -167
- package/dist/fns/filterFns.js +0 -185
- package/dist/fns/filterFns.js.map +0 -1
- package/dist/fns/sortFns.cjs +0 -130
- package/dist/fns/sortFns.cjs.map +0 -1
- package/dist/fns/sortFns.d.cts +0 -65
- package/dist/fns/sortFns.d.ts +0 -65
- package/dist/fns/sortFns.js +0 -122
- package/dist/fns/sortFns.js.map +0 -1
- package/dist/helpers/columnHelper.cjs +0 -41
- package/dist/helpers/columnHelper.cjs.map +0 -1
- package/dist/helpers/columnHelper.d.cts +0 -71
- package/dist/helpers/columnHelper.js.map +0 -1
- package/dist/helpers/tableFeatures.cjs +0 -20
- package/dist/helpers/tableFeatures.cjs.map +0 -1
- package/dist/helpers/tableFeatures.d.cts +0 -18
- package/dist/helpers/tableFeatures.js.map +0 -1
- package/dist/helpers/tableOptions.cjs +0 -15
- package/dist/helpers/tableOptions.cjs.map +0 -1
- package/dist/helpers/tableOptions.d.cts +0 -57
- package/dist/helpers/tableOptions.js.map +0 -1
- package/dist/index.cjs +0 -133
- package/dist/index.d.cts +0 -78
- package/dist/reactivity.cjs +0 -4
- package/dist/reactivity.d.cts +0 -3
- package/dist/static-functions.cjs +0 -263
- package/dist/static-functions.d.cts +0 -21
- package/dist/store-reactivity-bindings.cjs +0 -44
- package/dist/store-reactivity-bindings.cjs.map +0 -1
- package/dist/store-reactivity-bindings.d.cts +0 -22
- package/dist/store-reactivity-bindings.js.map +0 -1
- package/dist/types/Cell.d.cts +0 -14
- package/dist/types/Column.d.cts +0 -36
- package/dist/types/ColumnDef.d.cts +0 -109
- package/dist/types/Header.d.cts +0 -16
- package/dist/types/HeaderGroup.d.cts +0 -10
- package/dist/types/Row.d.cts +0 -26
- package/dist/types/RowModel.d.cts +0 -36
- package/dist/types/RowModelFns.d.cts +0 -18
- package/dist/types/Table.d.cts +0 -70
- package/dist/types/TableFeatures.d.cts +0 -53
- package/dist/types/TableOptions.d.cts +0 -69
- package/dist/types/TableState.d.cts +0 -48
- package/dist/types/type-utils.d.cts +0 -23
- package/dist/utils.cjs +0 -243
- package/dist/utils.cjs.map +0 -1
- package/dist/utils.d.cts +0 -114
- package/dist/utils.js.map +0 -1
- package/skills/column-definitions/SKILL.md +0 -333
- package/skills/column-layout/SKILL.md +0 -328
- package/skills/column-layout/references/subsystems.md +0 -220
- package/skills/customizing-feature-behavior/SKILL.md +0 -416
- package/skills/filtering/SKILL.md +0 -357
- package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
- package/skills/row-expanding/SKILL.md +0 -348
- package/skills/setup/SKILL.md +0 -400
- package/skills/state-management/SKILL.md +0 -388
- package/src/core/cells/constructCell.ts +0 -55
- package/src/core/cells/coreCellsFeature.ts +0 -27
- package/src/core/cells/coreCellsFeature.types.ts +0 -68
- package/src/core/cells/coreCellsFeature.utils.ts +0 -68
- package/src/core/columns/constructColumn.ts +0 -119
- package/src/core/columns/coreColumnsFeature.ts +0 -73
- package/src/core/columns/coreColumnsFeature.types.ts +0 -108
- package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
- package/src/core/coreFeatures.ts +0 -31
- package/src/core/headers/buildHeaderGroups.ts +0 -182
- package/src/core/headers/constructHeader.ts +0 -67
- package/src/core/headers/coreHeadersFeature.ts +0 -56
- package/src/core/headers/coreHeadersFeature.types.ts +0 -125
- package/src/core/headers/coreHeadersFeature.utils.ts +0 -200
- package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
- package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
- package/src/core/row-models/coreRowModelsFeature.ts +0 -62
- package/src/core/row-models/coreRowModelsFeature.types.ts +0 -64
- package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
- package/src/core/row-models/createCoreRowModel.ts +0 -93
- package/src/core/rows/constructRow.ts +0 -66
- package/src/core/rows/coreRowsFeature.ts +0 -62
- package/src/core/rows/coreRowsFeature.types.ts +0 -117
- package/src/core/rows/coreRowsFeature.utils.ts +0 -264
- package/src/core/table/constructTable.ts +0 -172
- package/src/core/table/coreTablesFeature.ts +0 -19
- package/src/core/table/coreTablesFeature.types.ts +0 -216
- package/src/core/table/coreTablesFeature.utils.ts +0 -131
- package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
- package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -109
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -145
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -66
- package/src/features/column-faceting/createFacetedRowModel.ts +0 -85
- package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -66
- package/src/features/column-filtering/columnFilteringFeature.ts +0 -86
- package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -232
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -331
- package/src/features/column-filtering/createFilteredRowModel.ts +0 -183
- package/src/features/column-filtering/filterRowsUtils.ts +0 -157
- package/src/features/column-grouping/columnGroupingFeature.ts +0 -115
- package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -226
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -354
- package/src/features/column-grouping/createGroupedRowModel.ts +0 -220
- package/src/features/column-ordering/columnOrderingFeature.ts +0 -73
- package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -60
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -241
- package/src/features/column-pinning/columnPinningFeature.ts +0 -316
- package/src/features/column-pinning/columnPinningFeature.types.ts +0 -192
- package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -908
- package/src/features/column-resizing/columnResizingFeature.ts +0 -65
- package/src/features/column-resizing/columnResizingFeature.types.ts +0 -89
- package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -364
- package/src/features/column-sizing/columnSizingFeature.ts +0 -145
- package/src/features/column-sizing/columnSizingFeature.types.ts +0 -102
- package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -381
- package/src/features/column-visibility/columnVisibilityFeature.ts +0 -122
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -384
- package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
- package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -118
- package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
- package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
- package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -147
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -374
- package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
- package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
- package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -152
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
- package/src/features/row-pinning/rowPinningFeature.ts +0 -97
- package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
- package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
- package/src/features/row-selection/rowSelectionFeature.ts +0 -140
- package/src/features/row-selection/rowSelectionFeature.types.ts +0 -151
- package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -745
- package/src/features/row-sorting/createSortedRowModel.ts +0 -157
- package/src/features/row-sorting/rowSortingFeature.ts +0 -103
- package/src/features/row-sorting/rowSortingFeature.types.ts +0 -235
- package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -489
- package/src/features/stockFeatures.ts +0 -53
- package/src/flex-render.ts +0 -70
- package/src/fns/aggregationFns.ts +0 -245
- package/src/fns/filterFns.ts +0 -382
- package/src/fns/sortFns.ts +0 -240
- package/src/helpers/columnHelper.ts +0 -122
- package/src/helpers/tableFeatures.ts +0 -24
- package/src/helpers/tableOptions.ts +0 -117
- package/src/index.ts +0 -138
- package/src/process-env.d.ts +0 -6
- package/src/reactivity.ts +0 -2
- package/src/static-functions.ts +0 -31
- package/src/store-reactivity-bindings.ts +0 -47
- package/src/types/Cell.ts +0 -21
- package/src/types/Column.ts +0 -51
- package/src/types/ColumnDef.ts +0 -228
- package/src/types/Header.ts +0 -23
- package/src/types/HeaderGroup.ts +0 -13
- package/src/types/Row.ts +0 -34
- package/src/types/RowModel.ts +0 -98
- package/src/types/RowModelFns.ts +0 -32
- package/src/types/Table.ts +0 -91
- package/src/types/TableFeatures.ts +0 -101
- package/src/types/TableOptions.ts +0 -101
- package/src/types/TableState.ts +0 -47
- package/src/types/type-utils.ts +0 -84
- package/src/utils.ts +0 -441
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
assignPrototypeAPIs,
|
|
3
|
-
assignTableAPIs,
|
|
4
|
-
makeStateUpdater,
|
|
5
|
-
} from '../../utils'
|
|
6
|
-
import {
|
|
7
|
-
cell_getIsAggregated,
|
|
8
|
-
cell_getIsGrouped,
|
|
9
|
-
cell_getIsPlaceholder,
|
|
10
|
-
column_getAggregationFn,
|
|
11
|
-
column_getAutoAggregationFn,
|
|
12
|
-
column_getCanGroup,
|
|
13
|
-
column_getGroupedIndex,
|
|
14
|
-
column_getIsGrouped,
|
|
15
|
-
column_getToggleGroupingHandler,
|
|
16
|
-
column_toggleGrouping,
|
|
17
|
-
getDefaultGroupingState,
|
|
18
|
-
row_getGroupingValue,
|
|
19
|
-
row_getIsGrouped,
|
|
20
|
-
table_resetGrouping,
|
|
21
|
-
table_setGrouping,
|
|
22
|
-
} from './columnGroupingFeature.utils'
|
|
23
|
-
import type { TableFeature } from '../../types/TableFeatures'
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Feature that adds column grouping state, aggregation defaults, and grouped row APIs.
|
|
27
|
-
*/
|
|
28
|
-
export const columnGroupingFeature: TableFeature = {
|
|
29
|
-
getInitialState: (initialState) => {
|
|
30
|
-
return {
|
|
31
|
-
grouping: getDefaultGroupingState(),
|
|
32
|
-
...initialState,
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
|
|
36
|
-
getDefaultColumnDef: () => {
|
|
37
|
-
return {
|
|
38
|
-
aggregatedCell: ({ getValue }: any) => getValue()?.toString?.() ?? null,
|
|
39
|
-
aggregationFn: 'auto',
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
getDefaultTableOptions: (table) => {
|
|
44
|
-
return {
|
|
45
|
-
onGroupingChange: makeStateUpdater('grouping', table),
|
|
46
|
-
groupedColumnMode: 'reorder',
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
|
|
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
|
-
},
|
|
63
|
-
|
|
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
|
-
},
|
|
89
|
-
|
|
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
|
-
},
|
|
100
|
-
|
|
101
|
-
initRowInstanceData: (row) => {
|
|
102
|
-
;(row as any)._groupingValuesCache = {}
|
|
103
|
-
},
|
|
104
|
-
|
|
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
|
-
},
|
|
115
|
-
}
|
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
|
|
2
|
-
import type { Table } from '../../types/Table'
|
|
3
|
-
import type { BuiltInAggregationFn } from '../../fns/aggregationFns'
|
|
4
|
-
import type {
|
|
5
|
-
CellData,
|
|
6
|
-
OnChangeFn,
|
|
7
|
-
RowData,
|
|
8
|
-
Updater,
|
|
9
|
-
} from '../../types/type-utils'
|
|
10
|
-
import type { TableFeatures } from '../../types/TableFeatures'
|
|
11
|
-
import type { Row } from '../../types/Row'
|
|
12
|
-
import type { Cell } from '../../types/Cell'
|
|
13
|
-
import type { ColumnDefTemplate } from '../../types/ColumnDef'
|
|
14
|
-
|
|
15
|
-
export type GroupingState = Array<string>
|
|
16
|
-
|
|
17
|
-
export interface TableState_ColumnGrouping {
|
|
18
|
-
grouping: GroupingState
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface RowModelFns_ColumnGrouping<
|
|
22
|
-
TFeatures extends TableFeatures,
|
|
23
|
-
TData extends RowData,
|
|
24
|
-
> {
|
|
25
|
-
aggregationFns: Record<keyof AggregationFns, AggregationFn<TFeatures, TData>>
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface AggregationFns {}
|
|
29
|
-
|
|
30
|
-
export type AggregationFn<
|
|
31
|
-
TFeatures extends TableFeatures,
|
|
32
|
-
TData extends RowData,
|
|
33
|
-
> = (
|
|
34
|
-
columnId: string,
|
|
35
|
-
leafRows: Array<Row<TFeatures, TData>>,
|
|
36
|
-
childRows: Array<Row<TFeatures, TData>>,
|
|
37
|
-
) => any
|
|
38
|
-
|
|
39
|
-
export type CustomAggregationFns<
|
|
40
|
-
TFeatures extends TableFeatures,
|
|
41
|
-
TData extends RowData,
|
|
42
|
-
> = Record<string, AggregationFn<TFeatures, TData>>
|
|
43
|
-
|
|
44
|
-
export type AggregationFnOption<
|
|
45
|
-
TFeatures extends TableFeatures,
|
|
46
|
-
TData extends RowData,
|
|
47
|
-
> =
|
|
48
|
-
| 'auto'
|
|
49
|
-
| keyof AggregationFns
|
|
50
|
-
| BuiltInAggregationFn
|
|
51
|
-
| AggregationFn<TFeatures, TData>
|
|
52
|
-
|
|
53
|
-
export interface ColumnDef_ColumnGrouping<
|
|
54
|
-
TFeatures extends TableFeatures,
|
|
55
|
-
TData extends RowData,
|
|
56
|
-
TValue extends CellData = CellData,
|
|
57
|
-
> {
|
|
58
|
-
/**
|
|
59
|
-
* The cell to display each row for the column if the cell is an aggregate. If a function is passed, it will be passed a props object with the context of the cell and should return the property type for your adapter (the exact type depends on the adapter being used).
|
|
60
|
-
*/
|
|
61
|
-
aggregatedCell?: ColumnDefTemplate<
|
|
62
|
-
ReturnType<Cell<TFeatures, TData, TValue>['getContext']>
|
|
63
|
-
>
|
|
64
|
-
/**
|
|
65
|
-
* The resolved aggregation function for the column.
|
|
66
|
-
*/
|
|
67
|
-
aggregationFn?: AggregationFnOption<TFeatures, TData>
|
|
68
|
-
/**
|
|
69
|
-
* Allows this column to be added to grouping state.
|
|
70
|
-
*
|
|
71
|
-
* Defaults to `true`; table-level `enableGrouping` must also allow grouping.
|
|
72
|
-
*/
|
|
73
|
-
enableGrouping?: boolean
|
|
74
|
-
/**
|
|
75
|
-
* Specify a value to be used for grouping rows on this column. If this option is not specified, the value derived from `accessorKey` / `accessorFn` will be used instead.
|
|
76
|
-
*/
|
|
77
|
-
getGroupingValue?: (row: TData) => any
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
export interface Column_ColumnGrouping<
|
|
81
|
-
TFeatures extends TableFeatures,
|
|
82
|
-
TData extends RowData,
|
|
83
|
-
> {
|
|
84
|
-
/**
|
|
85
|
-
* Returns the aggregation function for the column.
|
|
86
|
-
*/
|
|
87
|
-
getAggregationFn: () => AggregationFn<TFeatures, TData> | undefined
|
|
88
|
-
/**
|
|
89
|
-
* Returns the automatically inferred aggregation function for the column.
|
|
90
|
-
*/
|
|
91
|
-
getAutoAggregationFn: () => AggregationFn<TFeatures, TData> | undefined
|
|
92
|
-
/**
|
|
93
|
-
* Checks whether this column can currently be grouped.
|
|
94
|
-
*/
|
|
95
|
-
getCanGroup: () => boolean
|
|
96
|
-
/**
|
|
97
|
-
* Finds this column's position in the ordered grouping state.
|
|
98
|
-
*/
|
|
99
|
-
getGroupedIndex: () => number
|
|
100
|
-
/**
|
|
101
|
-
* Checks whether this column id is present in grouping state.
|
|
102
|
-
*/
|
|
103
|
-
getIsGrouped: () => boolean
|
|
104
|
-
/**
|
|
105
|
-
* Returns a function that toggles the grouping state of the column. This is useful for passing to the `onClick` prop of a button.
|
|
106
|
-
*/
|
|
107
|
-
getToggleGroupingHandler: () => () => void
|
|
108
|
-
/**
|
|
109
|
-
* Toggles the grouping state of the column.
|
|
110
|
-
*/
|
|
111
|
-
toggleGrouping: () => void
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
export interface Row_ColumnGrouping {
|
|
115
|
-
_groupingValuesCache: Record<string, any>
|
|
116
|
-
/**
|
|
117
|
-
* Reads the value used to group this row for a column id.
|
|
118
|
-
*/
|
|
119
|
-
getGroupingValue: (columnId: string) => unknown
|
|
120
|
-
/**
|
|
121
|
-
* Checks whether this row represents a grouped row.
|
|
122
|
-
*/
|
|
123
|
-
getIsGrouped: () => boolean
|
|
124
|
-
/**
|
|
125
|
-
* If this row is grouped, this is the id of the column that this row is grouped by.
|
|
126
|
-
*/
|
|
127
|
-
groupingColumnId?: string
|
|
128
|
-
/**
|
|
129
|
-
* If this row is grouped, this is the unique/shared value for the `groupingColumnId` for all of the rows in this group.
|
|
130
|
-
*/
|
|
131
|
-
groupingValue?: unknown
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
export interface Cell_ColumnGrouping {
|
|
135
|
-
/**
|
|
136
|
-
* Checks whether this cell should render an aggregated value.
|
|
137
|
-
*/
|
|
138
|
-
getIsAggregated: () => boolean
|
|
139
|
-
/**
|
|
140
|
-
* Checks whether this cell represents the active grouping column.
|
|
141
|
-
*/
|
|
142
|
-
getIsGrouped: () => boolean
|
|
143
|
-
/**
|
|
144
|
-
* Checks whether this cell is hidden as a grouping placeholder.
|
|
145
|
-
*/
|
|
146
|
-
getIsPlaceholder: () => boolean
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
export interface ColumnDefaultOptions {
|
|
150
|
-
enableGrouping: boolean
|
|
151
|
-
onGroupingChange: OnChangeFn<GroupingState>
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
export interface TableOptions_ColumnGrouping {
|
|
155
|
-
/**
|
|
156
|
-
* Allows columns to be grouped for this table.
|
|
157
|
-
*/
|
|
158
|
-
enableGrouping?: boolean
|
|
159
|
-
/**
|
|
160
|
-
* Grouping columns are automatically reordered by default to the start of the columns list. If you would rather remove them or leave them as-is, set the appropriate mode here.
|
|
161
|
-
*/
|
|
162
|
-
groupedColumnMode?: false | 'reorder' | 'remove'
|
|
163
|
-
/**
|
|
164
|
-
* Enables manual grouping. If this option is set to `true`, the table will not automatically group rows using `getGroupedRowModel()` and instead will expect you to manually group the rows before passing them to the table. This is useful if you are doing server-side grouping and aggregation.
|
|
165
|
-
*/
|
|
166
|
-
manualGrouping?: boolean
|
|
167
|
-
/**
|
|
168
|
-
* Called with an updater when grouping state changes. Pair this with
|
|
169
|
-
* `state.grouping` when using external state; external atoms can own the
|
|
170
|
-
* slice without this callback.
|
|
171
|
-
*/
|
|
172
|
-
onGroupingChange?: OnChangeFn<GroupingState>
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
export type GroupingColumnMode = false | 'reorder' | 'remove'
|
|
176
|
-
|
|
177
|
-
export interface Table_ColumnGrouping<
|
|
178
|
-
TFeatures extends TableFeatures,
|
|
179
|
-
TData extends RowData,
|
|
180
|
-
> {
|
|
181
|
-
/**
|
|
182
|
-
* Resets `grouping` to `initialState.grouping`.
|
|
183
|
-
*
|
|
184
|
-
* Pass `true` to ignore initial state and reset to `[]`.
|
|
185
|
-
*/
|
|
186
|
-
resetGrouping: (defaultState?: boolean) => void
|
|
187
|
-
/**
|
|
188
|
-
* Updates grouping state with a next ordered id array or updater function.
|
|
189
|
-
*/
|
|
190
|
-
setGrouping: (updater: Updater<GroupingState>) => void
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
export interface Table_RowModels_Grouped<
|
|
194
|
-
TFeatures extends TableFeatures,
|
|
195
|
-
TData extends RowData,
|
|
196
|
-
> {
|
|
197
|
-
/**
|
|
198
|
-
* Resolves the row model after grouping and aggregation have been applied.
|
|
199
|
-
*/
|
|
200
|
-
getGroupedRowModel: () => RowModel<TFeatures, TData>
|
|
201
|
-
/**
|
|
202
|
-
* Reads the row model immediately before grouping.
|
|
203
|
-
*/
|
|
204
|
-
getPreGroupedRowModel: () => RowModel<TFeatures, TData>
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
export interface CreateRowModel_Grouped<
|
|
208
|
-
TFeatures extends TableFeatures,
|
|
209
|
-
TData extends RowData,
|
|
210
|
-
> {
|
|
211
|
-
/**
|
|
212
|
-
* Factory used to retrieve the grouped row model. If using server-side
|
|
213
|
-
* grouping, this is not required. To use client-side grouping, pass
|
|
214
|
-
* `createGroupedRowModel()` or implement your own factory.
|
|
215
|
-
*/
|
|
216
|
-
groupedRowModel?: (
|
|
217
|
-
table: Table<TFeatures, TData>,
|
|
218
|
-
) => () => RowModel<TFeatures, TData>
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
export interface CachedRowModel_Grouped<
|
|
222
|
-
TFeatures extends TableFeatures,
|
|
223
|
-
TData extends RowData,
|
|
224
|
-
> {
|
|
225
|
-
groupedRowModel: () => RowModel<TFeatures, TData>
|
|
226
|
-
}
|
|
@@ -1,354 +0,0 @@
|
|
|
1
|
-
import { cloneState, isFunction } from '../../utils'
|
|
2
|
-
import type { Column_Internal } from '../../types/Column'
|
|
3
|
-
import type { CellData, RowData, Updater } from '../../types/type-utils'
|
|
4
|
-
import type { TableFeatures } from '../../types/TableFeatures'
|
|
5
|
-
import type { Table_Internal } from '../../types/Table'
|
|
6
|
-
import type { Row } from '../../types/Row'
|
|
7
|
-
import type { Cell } from '../../types/Cell'
|
|
8
|
-
import type {
|
|
9
|
-
AggregationFn,
|
|
10
|
-
GroupingState,
|
|
11
|
-
Row_ColumnGrouping,
|
|
12
|
-
} from './columnGroupingFeature.types'
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Creates the default grouping state.
|
|
16
|
-
*
|
|
17
|
-
* The feature default is an empty array, meaning no columns are grouped. Reset
|
|
18
|
-
* APIs use this value when `defaultState` is `true`.
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```ts
|
|
22
|
-
* const grouping = getDefaultGroupingState()
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
export function getDefaultGroupingState(): GroupingState {
|
|
26
|
-
return []
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Adds or removes this column id from the grouping state.
|
|
31
|
-
*
|
|
32
|
-
* Existing grouped columns keep their order. A column already present in
|
|
33
|
-
* `state.grouping` is removed; otherwise it is appended.
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```ts
|
|
37
|
-
* column_toggleGrouping(column)
|
|
38
|
-
* ```
|
|
39
|
-
*/
|
|
40
|
-
export function column_toggleGrouping<
|
|
41
|
-
TFeatures extends TableFeatures,
|
|
42
|
-
TData extends RowData,
|
|
43
|
-
TValue extends CellData = CellData,
|
|
44
|
-
>(column: Column_Internal<TFeatures, TData, TValue>) {
|
|
45
|
-
table_setGrouping(column.table, (old) => {
|
|
46
|
-
// Find any existing grouping for this column
|
|
47
|
-
if (old.includes(column.id)) {
|
|
48
|
-
return old.filter((d) => d !== column.id)
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return [...old, column.id]
|
|
52
|
-
})
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Checks whether this column can be used for grouping.
|
|
57
|
-
*
|
|
58
|
-
* Grouping must be enabled at the column and table level, and the column must
|
|
59
|
-
* either have an accessor or provide `getGroupingValue`.
|
|
60
|
-
*
|
|
61
|
-
* @example
|
|
62
|
-
* ```ts
|
|
63
|
-
* const canGroup = column_getCanGroup(column)
|
|
64
|
-
* ```
|
|
65
|
-
*/
|
|
66
|
-
export function column_getCanGroup<
|
|
67
|
-
TFeatures extends TableFeatures,
|
|
68
|
-
TData extends RowData,
|
|
69
|
-
TValue extends CellData = CellData,
|
|
70
|
-
>(column: Column_Internal<TFeatures, TData, TValue>) {
|
|
71
|
-
return (
|
|
72
|
-
(column.columnDef.enableGrouping ?? true) &&
|
|
73
|
-
(column.table.options.enableGrouping ?? true) &&
|
|
74
|
-
(!!column.accessorFn || !!column.columnDef.getGroupingValue)
|
|
75
|
-
)
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Checks whether this column id is present in `state.grouping`.
|
|
80
|
-
*
|
|
81
|
-
* The result only reflects grouping state, not whether the grouped row model has
|
|
82
|
-
* been calculated yet.
|
|
83
|
-
*
|
|
84
|
-
* @example
|
|
85
|
-
* ```ts
|
|
86
|
-
* const isGrouped = column_getIsGrouped(column)
|
|
87
|
-
* ```
|
|
88
|
-
*/
|
|
89
|
-
export function column_getIsGrouped<
|
|
90
|
-
TFeatures extends TableFeatures,
|
|
91
|
-
TData extends RowData,
|
|
92
|
-
TValue extends CellData = CellData,
|
|
93
|
-
>(column: Column_Internal<TFeatures, TData, TValue>): boolean {
|
|
94
|
-
return !!column.table.atoms.grouping?.get()?.includes(column.id)
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Finds this column's position in the ordered grouping state.
|
|
99
|
-
*
|
|
100
|
-
* The result is `-1` when the column is not grouped.
|
|
101
|
-
*
|
|
102
|
-
* @example
|
|
103
|
-
* ```ts
|
|
104
|
-
* const index = column_getGroupedIndex(column)
|
|
105
|
-
* ```
|
|
106
|
-
*/
|
|
107
|
-
export function column_getGroupedIndex<
|
|
108
|
-
TFeatures extends TableFeatures,
|
|
109
|
-
TData extends RowData,
|
|
110
|
-
TValue extends CellData = CellData,
|
|
111
|
-
>(column: Column_Internal<TFeatures, TData, TValue>): number {
|
|
112
|
-
return column.table.atoms.grouping?.get()?.indexOf(column.id) ?? -1
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Creates a header/control handler that toggles grouping for this column.
|
|
117
|
-
*
|
|
118
|
-
* The handler is a no-op when `column_getCanGroup(column)` is false.
|
|
119
|
-
*
|
|
120
|
-
* @example
|
|
121
|
-
* ```ts
|
|
122
|
-
* const onClick = column_getToggleGroupingHandler(column)
|
|
123
|
-
* ```
|
|
124
|
-
*/
|
|
125
|
-
export function column_getToggleGroupingHandler<
|
|
126
|
-
TFeatures extends TableFeatures,
|
|
127
|
-
TData extends RowData,
|
|
128
|
-
TValue extends CellData = CellData,
|
|
129
|
-
>(column: Column_Internal<TFeatures, TData, TValue>) {
|
|
130
|
-
const canGroup = column_getCanGroup(column)
|
|
131
|
-
|
|
132
|
-
return () => {
|
|
133
|
-
if (!canGroup) return
|
|
134
|
-
column_toggleGrouping(column)
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Chooses a built-in aggregation function from the first core row value.
|
|
140
|
-
*
|
|
141
|
-
* Numeric columns default to `sum`, date-like values default to `extent`, and
|
|
142
|
-
* other value types leave aggregation unspecified.
|
|
143
|
-
*
|
|
144
|
-
* @example
|
|
145
|
-
* ```ts
|
|
146
|
-
* const aggregationFn = column_getAutoAggregationFn(column)
|
|
147
|
-
* ```
|
|
148
|
-
*/
|
|
149
|
-
export function column_getAutoAggregationFn<
|
|
150
|
-
TFeatures extends TableFeatures,
|
|
151
|
-
TData extends RowData,
|
|
152
|
-
TValue extends CellData = CellData,
|
|
153
|
-
>(column: Column_Internal<TFeatures, TData, TValue>) {
|
|
154
|
-
const aggregationFns:
|
|
155
|
-
| Record<string, AggregationFn<TFeatures, TData>>
|
|
156
|
-
| undefined = column.table._rowModelFns.aggregationFns
|
|
157
|
-
|
|
158
|
-
const firstRow = column.table.getCoreRowModel().flatRows[0]
|
|
159
|
-
|
|
160
|
-
const value = firstRow?.getValue(column.id)
|
|
161
|
-
|
|
162
|
-
if (typeof value === 'number') {
|
|
163
|
-
return aggregationFns?.sum
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
if (Object.prototype.toString.call(value) === '[object Date]') {
|
|
167
|
-
return aggregationFns?.extent
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Resolves the aggregation function configured for a column.
|
|
173
|
-
*
|
|
174
|
-
* Function-valued `columnDef.aggregationFn` is returned directly, `'auto'`
|
|
175
|
-
* delegates to `column_getAutoAggregationFn`, and string values are looked up in
|
|
176
|
-
* the table's aggregation function registry.
|
|
177
|
-
*
|
|
178
|
-
* @example
|
|
179
|
-
* ```ts
|
|
180
|
-
* const aggregationFn = column_getAggregationFn(column)
|
|
181
|
-
* ```
|
|
182
|
-
*/
|
|
183
|
-
export function column_getAggregationFn<
|
|
184
|
-
TFeatures extends TableFeatures,
|
|
185
|
-
TData extends RowData,
|
|
186
|
-
TValue extends CellData = CellData,
|
|
187
|
-
>(column: Column_Internal<TFeatures, TData, TValue>) {
|
|
188
|
-
const aggregationFns:
|
|
189
|
-
| Record<string, AggregationFn<TFeatures, TData>>
|
|
190
|
-
| undefined = column.table._rowModelFns.aggregationFns
|
|
191
|
-
|
|
192
|
-
return isFunction(column.columnDef.aggregationFn)
|
|
193
|
-
? column.columnDef.aggregationFn
|
|
194
|
-
: column.columnDef.aggregationFn === 'auto'
|
|
195
|
-
? column_getAutoAggregationFn(column)
|
|
196
|
-
: aggregationFns?.[column.columnDef.aggregationFn as string]
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* Routes a grouping updater through the table's grouping change handler.
|
|
201
|
-
*
|
|
202
|
-
* The updater may be a next `GroupingState` array or a function of the previous
|
|
203
|
-
* grouping state, matching the instance `table.setGrouping` behavior.
|
|
204
|
-
*
|
|
205
|
-
* @example
|
|
206
|
-
* ```ts
|
|
207
|
-
* table_setGrouping(table, (old) => [...old, 'status'])
|
|
208
|
-
* ```
|
|
209
|
-
*/
|
|
210
|
-
export function table_setGrouping<
|
|
211
|
-
TFeatures extends TableFeatures,
|
|
212
|
-
TData extends RowData,
|
|
213
|
-
>(table: Table_Internal<TFeatures, TData>, updater: Updater<GroupingState>) {
|
|
214
|
-
table.options.onGroupingChange?.(updater)
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
/**
|
|
218
|
-
* Resets `grouping` to the configured initial state or feature default.
|
|
219
|
-
*
|
|
220
|
-
* With no argument, the reset clones `table.initialState.grouping` when it
|
|
221
|
-
* exists. Passing `true` ignores initial state and resets to `[]`.
|
|
222
|
-
*
|
|
223
|
-
* @example
|
|
224
|
-
* ```ts
|
|
225
|
-
* table_resetGrouping(table)
|
|
226
|
-
* table_resetGrouping(table, true)
|
|
227
|
-
* ```
|
|
228
|
-
*/
|
|
229
|
-
export function table_resetGrouping<
|
|
230
|
-
TFeatures extends TableFeatures,
|
|
231
|
-
TData extends RowData,
|
|
232
|
-
>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {
|
|
233
|
-
table_setGrouping(
|
|
234
|
-
table,
|
|
235
|
-
defaultState ? [] : cloneState(table.initialState.grouping ?? []),
|
|
236
|
-
)
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
/**
|
|
240
|
-
* Checks whether this row was created as a grouped row.
|
|
241
|
-
*
|
|
242
|
-
* Grouped rows carry a `groupingColumnId`; ordinary leaf rows do not.
|
|
243
|
-
*
|
|
244
|
-
* @example
|
|
245
|
-
* ```ts
|
|
246
|
-
* const isGrouped = row_getIsGrouped(row)
|
|
247
|
-
* ```
|
|
248
|
-
*/
|
|
249
|
-
export function row_getIsGrouped<
|
|
250
|
-
TFeatures extends TableFeatures,
|
|
251
|
-
TData extends RowData,
|
|
252
|
-
>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>) {
|
|
253
|
-
return !!row.groupingColumnId
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
/**
|
|
257
|
-
* Reads and caches this row's grouping value for a column.
|
|
258
|
-
*
|
|
259
|
-
* `columnDef.getGroupingValue` wins when provided; otherwise the normal row
|
|
260
|
-
* accessor value is used.
|
|
261
|
-
*
|
|
262
|
-
* @example
|
|
263
|
-
* ```ts
|
|
264
|
-
* const groupValue = row_getGroupingValue(row, 'status')
|
|
265
|
-
* ```
|
|
266
|
-
*/
|
|
267
|
-
export function row_getGroupingValue<
|
|
268
|
-
TFeatures extends TableFeatures,
|
|
269
|
-
TData extends RowData,
|
|
270
|
-
>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>, columnId: string) {
|
|
271
|
-
if (row._groupingValuesCache?.hasOwnProperty(columnId)) {
|
|
272
|
-
return row._groupingValuesCache[columnId]
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
const column = row.table.getColumn(columnId) as Column_Internal<
|
|
276
|
-
TFeatures,
|
|
277
|
-
TData
|
|
278
|
-
>
|
|
279
|
-
|
|
280
|
-
if (!column.columnDef.getGroupingValue) {
|
|
281
|
-
return row.getValue(columnId)
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
if (row._groupingValuesCache) {
|
|
285
|
-
row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(
|
|
286
|
-
row.original,
|
|
287
|
-
)
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
return row._groupingValuesCache?.[columnId]
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
/**
|
|
294
|
-
* Checks whether this cell represents the grouped column for a grouped row.
|
|
295
|
-
*
|
|
296
|
-
* This is the cell that usually renders the grouped value and expansion control.
|
|
297
|
-
*
|
|
298
|
-
* @example
|
|
299
|
-
* ```ts
|
|
300
|
-
* const isGroupedCell = cell_getIsGrouped(cell)
|
|
301
|
-
* ```
|
|
302
|
-
*/
|
|
303
|
-
export function cell_getIsGrouped<
|
|
304
|
-
TFeatures extends TableFeatures,
|
|
305
|
-
TData extends RowData,
|
|
306
|
-
TValue extends CellData = CellData,
|
|
307
|
-
>(cell: Cell<TFeatures, TData, TValue>) {
|
|
308
|
-
const row = cell.row as Row<TFeatures, TData> & Partial<Row_ColumnGrouping>
|
|
309
|
-
return (
|
|
310
|
-
column_getIsGrouped(cell.column) && cell.column.id === row.groupingColumnId
|
|
311
|
-
)
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
/**
|
|
315
|
-
* Checks whether this cell is a placeholder hidden by grouping.
|
|
316
|
-
*
|
|
317
|
-
* Placeholder cells belong to grouped columns other than the row's active
|
|
318
|
-
* grouping column.
|
|
319
|
-
*
|
|
320
|
-
* @example
|
|
321
|
-
* ```ts
|
|
322
|
-
* const isPlaceholder = cell_getIsPlaceholder(cell)
|
|
323
|
-
* ```
|
|
324
|
-
*/
|
|
325
|
-
export function cell_getIsPlaceholder<
|
|
326
|
-
TFeatures extends TableFeatures,
|
|
327
|
-
TData extends RowData,
|
|
328
|
-
TValue extends CellData = CellData,
|
|
329
|
-
>(cell: Cell<TFeatures, TData, TValue>) {
|
|
330
|
-
return !cell_getIsGrouped(cell) && column_getIsGrouped(cell.column)
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
/**
|
|
334
|
-
* Checks whether this cell should render an aggregated value.
|
|
335
|
-
*
|
|
336
|
-
* Aggregated cells are non-placeholder, non-grouped cells on rows that have
|
|
337
|
-
* subRows.
|
|
338
|
-
*
|
|
339
|
-
* @example
|
|
340
|
-
* ```ts
|
|
341
|
-
* const isAggregated = cell_getIsAggregated(cell)
|
|
342
|
-
* ```
|
|
343
|
-
*/
|
|
344
|
-
export function cell_getIsAggregated<
|
|
345
|
-
TFeatures extends TableFeatures,
|
|
346
|
-
TData extends RowData,
|
|
347
|
-
TValue extends CellData = CellData,
|
|
348
|
-
>(cell: Cell<TFeatures, TData, TValue>) {
|
|
349
|
-
return (
|
|
350
|
-
!cell_getIsGrouped(cell) &&
|
|
351
|
-
!cell_getIsPlaceholder(cell) &&
|
|
352
|
-
!!cell.row.subRows.length
|
|
353
|
-
)
|
|
354
|
-
}
|