@tanstack/table-core 9.0.0-beta.5 → 9.0.0-beta.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/core/cells/constructCell.cjs +1 -4
- package/dist/core/cells/constructCell.cjs.map +1 -1
- package/dist/core/cells/constructCell.d.cts +4 -4
- package/dist/core/cells/constructCell.d.ts +4 -4
- package/dist/core/cells/constructCell.js +1 -4
- package/dist/core/cells/constructCell.js.map +1 -1
- package/dist/core/cells/coreCellsFeature.types.d.cts +7 -7
- package/dist/core/cells/coreCellsFeature.types.d.ts +7 -7
- package/dist/core/cells/coreCellsFeature.utils.d.cts +4 -4
- package/dist/core/cells/coreCellsFeature.utils.d.ts +4 -4
- package/dist/core/columns/constructColumn.cjs +4 -5
- package/dist/core/columns/constructColumn.cjs.map +1 -1
- package/dist/core/columns/constructColumn.d.cts +3 -3
- package/dist/core/columns/constructColumn.d.ts +3 -3
- package/dist/core/columns/constructColumn.js +4 -5
- package/dist/core/columns/constructColumn.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.cjs +12 -18
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.js +12 -18
- package/dist/core/columns/coreColumnsFeature.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -7
- package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
- package/dist/core/columns/coreColumnsFeature.utils.cjs +4 -8
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +9 -9
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +9 -9
- package/dist/core/columns/coreColumnsFeature.utils.js +5 -9
- package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
- package/dist/core/coreFeatures.cjs.map +1 -1
- package/dist/core/coreFeatures.d.cts +1 -1
- package/dist/core/coreFeatures.d.ts +1 -1
- package/dist/core/coreFeatures.js.map +1 -1
- package/dist/core/headers/buildHeaderGroups.cjs +1 -2
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
- package/dist/core/headers/buildHeaderGroups.d.cts +2 -2
- package/dist/core/headers/buildHeaderGroups.d.ts +2 -2
- package/dist/core/headers/buildHeaderGroups.js +1 -2
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/constructHeader.cjs +1 -4
- package/dist/core/headers/constructHeader.cjs.map +1 -1
- package/dist/core/headers/constructHeader.d.cts +2 -2
- package/dist/core/headers/constructHeader.d.ts +2 -2
- package/dist/core/headers/constructHeader.js +1 -4
- package/dist/core/headers/constructHeader.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.cjs +8 -11
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.js +8 -11
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
- package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.cjs +8 -10
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +6 -6
- package/dist/core/headers/coreHeadersFeature.utils.js +8 -10
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +7 -15
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -15
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +8 -26
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +16 -16
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +16 -16
- package/dist/core/row-models/coreRowModelsFeature.utils.js +8 -26
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
- package/dist/core/row-models/createCoreRowModel.cjs +4 -6
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
- package/dist/core/row-models/createCoreRowModel.d.cts +2 -2
- package/dist/core/row-models/createCoreRowModel.d.ts +2 -2
- package/dist/core/row-models/createCoreRowModel.js +5 -7
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/constructRow.cjs +6 -10
- package/dist/core/rows/constructRow.cjs.map +1 -1
- package/dist/core/rows/constructRow.d.cts +2 -2
- package/dist/core/rows/constructRow.d.ts +2 -2
- package/dist/core/rows/constructRow.js +7 -10
- package/dist/core/rows/constructRow.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.cjs +18 -2
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.js +19 -3
- package/dist/core/rows/coreRowsFeature.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.types.d.cts +41 -7
- package/dist/core/rows/coreRowsFeature.types.d.ts +41 -7
- package/dist/core/rows/coreRowsFeature.utils.cjs +62 -8
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.utils.d.cts +24 -5
- package/dist/core/rows/coreRowsFeature.utils.d.ts +24 -5
- package/dist/core/rows/coreRowsFeature.utils.js +61 -10
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
- package/dist/core/table/constructTable.cjs +24 -14
- package/dist/core/table/constructTable.cjs.map +1 -1
- package/dist/core/table/constructTable.d.cts +1 -1
- package/dist/core/table/constructTable.d.ts +1 -1
- package/dist/core/table/constructTable.js +24 -14
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.types.d.cts +32 -19
- package/dist/core/table/coreTablesFeature.types.d.ts +32 -19
- package/dist/core/table/coreTablesFeature.utils.cjs +38 -14
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.d.cts +10 -7
- package/dist/core/table/coreTablesFeature.utils.d.ts +10 -7
- package/dist/core/table/coreTablesFeature.utils.js +38 -14
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/experimental-worker-plugin.cjs +14 -0
- package/dist/experimental-worker-plugin.d.cts +5 -0
- package/dist/experimental-worker-plugin.d.ts +5 -0
- package/dist/experimental-worker-plugin.js +6 -0
- package/dist/features/aggregation/aggregationFeature.cjs +39 -0
- package/dist/features/aggregation/aggregationFeature.cjs.map +1 -0
- package/dist/features/aggregation/aggregationFeature.d.cts +10 -0
- package/dist/features/aggregation/aggregationFeature.d.ts +10 -0
- package/dist/features/aggregation/aggregationFeature.js +39 -0
- package/dist/features/aggregation/aggregationFeature.js.map +1 -0
- package/dist/features/aggregation/aggregationFeature.types.cjs +13 -0
- package/dist/features/aggregation/aggregationFeature.types.cjs.map +1 -0
- package/dist/features/aggregation/aggregationFeature.types.d.cts +195 -0
- package/dist/features/aggregation/aggregationFeature.types.d.ts +195 -0
- package/dist/features/aggregation/aggregationFeature.types.js +12 -0
- package/dist/features/aggregation/aggregationFeature.types.js.map +1 -0
- package/dist/features/aggregation/aggregationFeature.utils.cjs +212 -0
- package/dist/features/aggregation/aggregationFeature.utils.cjs.map +1 -0
- package/dist/features/aggregation/aggregationFeature.utils.d.cts +34 -0
- package/dist/features/aggregation/aggregationFeature.utils.d.ts +34 -0
- package/dist/features/aggregation/aggregationFeature.utils.js +206 -0
- package/dist/features/aggregation/aggregationFeature.utils.js.map +1 -0
- package/dist/features/aggregation/aggregationFns.cjs +246 -0
- package/dist/features/aggregation/aggregationFns.cjs.map +1 -0
- package/dist/features/aggregation/aggregationFns.d.cts +68 -0
- package/dist/features/aggregation/aggregationFns.d.ts +68 -0
- package/dist/features/aggregation/aggregationFns.js +235 -0
- package/dist/features/aggregation/aggregationFns.js.map +1 -0
- package/dist/features/column-faceting/columnFacetingFeature.cjs +12 -18
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.js +12 -18
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +15 -33
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -33
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +23 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +9 -9
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +9 -9
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +24 -12
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +7 -4
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.js +8 -5
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs +10 -15
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +2 -2
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +2 -2
- package/dist/features/column-faceting/createFacetedRowModel.js +10 -15
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +10 -6
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.js +11 -7
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +2 -2
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.js +3 -3
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +83 -29
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +83 -29
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +23 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +18 -14
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +18 -14
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +23 -17
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs +29 -25
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +10 -4
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +10 -4
- package/dist/features/column-filtering/createFilteredRowModel.js +30 -26
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-filtering/filterFns.cjs +399 -0
- package/dist/features/column-filtering/filterFns.cjs.map +1 -0
- package/dist/features/column-filtering/filterFns.d.cts +210 -0
- package/dist/features/column-filtering/filterFns.d.ts +210 -0
- package/dist/features/column-filtering/filterFns.js +375 -0
- package/dist/features/column-filtering/filterFns.js.map +1 -0
- package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
- package/dist/features/column-filtering/filterRowsUtils.js +3 -2
- package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +4 -16
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.js +6 -18
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +14 -50
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -50
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +6 -61
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +12 -49
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -49
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -60
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs +37 -24
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -4
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -4
- package/dist/features/column-grouping/createGroupedRowModel.js +39 -26
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +17 -21
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.js +18 -22
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +28 -3
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -3
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +35 -15
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +26 -14
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -14
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -17
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +124 -143
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +6 -1
- package/dist/features/column-pinning/columnPinningFeature.d.ts +6 -1
- package/dist/features/column-pinning/columnPinningFeature.js +125 -144
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +52 -41
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +52 -41
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +161 -162
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +101 -92
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +101 -92
- package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -149
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +1 -4
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +84 -44
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
- package/dist/features/column-resizing/columnResizingFeature.utils.js +85 -45
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +33 -67
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.js +34 -68
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +52 -9
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -9
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +88 -45
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +43 -25
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -25
- package/dist/features/column-sizing/columnSizingFeature.utils.js +88 -46
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +25 -36
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.js +25 -36
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +3 -3
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +3 -3
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +30 -29
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +18 -18
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +18 -18
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +31 -30
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.js +1 -2
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +6 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +8 -11
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +8 -11
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +6 -6
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs +6 -10
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +2 -2
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +2 -2
- package/dist/features/row-expanding/createExpandedRowModel.js +6 -10
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +6 -15
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -15
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +28 -26
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +10 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +10 -10
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +29 -27
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +6 -10
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +2 -2
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +2 -2
- package/dist/features/row-pagination/createPaginatedRowModel.js +6 -10
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +5 -14
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -14
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +9 -15
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +17 -17
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +17 -17
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +9 -15
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +4 -16
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.js +4 -16
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +9 -14
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +7 -7
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +7 -7
- package/dist/features/row-pinning/rowPinningFeature.utils.js +9 -14
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +66 -22
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.js +67 -23
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +49 -11
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +49 -11
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +128 -72
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +57 -30
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +57 -30
- package/dist/features/row-selection/rowSelectionFeature.utils.js +129 -74
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs +69 -50
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.d.cts +10 -4
- package/dist/features/row-sorting/createSortedRowModel.d.ts +10 -4
- package/dist/features/row-sorting/createSortedRowModel.js +70 -51
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +54 -22
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -22
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +31 -17
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +16 -16
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +16 -16
- package/dist/features/row-sorting/rowSortingFeature.utils.js +31 -17
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/features/row-sorting/sortFns.cjs +226 -0
- package/dist/features/row-sorting/sortFns.cjs.map +1 -0
- package/dist/features/row-sorting/sortFns.d.cts +98 -0
- package/dist/features/row-sorting/sortFns.d.ts +98 -0
- package/dist/features/row-sorting/sortFns.js +217 -0
- package/dist/features/row-sorting/sortFns.js.map +1 -0
- package/dist/features/stockFeatures.cjs +2 -0
- package/dist/features/stockFeatures.cjs.map +1 -1
- package/dist/features/stockFeatures.d.cts +2 -0
- package/dist/features/stockFeatures.d.ts +2 -0
- package/dist/features/stockFeatures.js +2 -0
- package/dist/features/stockFeatures.js.map +1 -1
- package/dist/flex-render.d.cts +1 -1
- package/dist/flex-render.d.ts +1 -1
- package/dist/helpers/columnHelper.cjs.map +1 -1
- package/dist/helpers/columnHelper.d.cts +2 -2
- package/dist/helpers/columnHelper.d.ts +2 -2
- package/dist/helpers/columnHelper.js.map +1 -1
- package/dist/helpers/metaHelper.cjs +30 -0
- package/dist/helpers/metaHelper.cjs.map +1 -0
- package/dist/helpers/metaHelper.d.cts +26 -0
- package/dist/helpers/metaHelper.d.ts +26 -0
- package/dist/helpers/metaHelper.js +29 -0
- package/dist/helpers/metaHelper.js.map +1 -0
- package/dist/helpers/tableFeatures.cjs +32 -3
- package/dist/helpers/tableFeatures.cjs.map +1 -1
- package/dist/helpers/tableFeatures.d.cts +34 -5
- package/dist/helpers/tableFeatures.d.ts +34 -5
- package/dist/helpers/tableFeatures.js +32 -3
- package/dist/helpers/tableFeatures.js.map +1 -1
- package/dist/index.cjs +23 -3
- package/dist/index.d.cts +31 -28
- package/dist/index.d.ts +31 -28
- package/dist/index.js +8 -5
- package/dist/static-functions.cjs +30 -19
- package/dist/static-functions.d.cts +8 -7
- package/dist/static-functions.d.ts +8 -7
- package/dist/static-functions.js +8 -7
- package/dist/store-reactivity-bindings.cjs +3 -3
- package/dist/store-reactivity-bindings.cjs.map +1 -1
- package/dist/store-reactivity-bindings.d.cts +1 -1
- package/dist/store-reactivity-bindings.d.ts +1 -1
- package/dist/store-reactivity-bindings.js +3 -3
- package/dist/store-reactivity-bindings.js.map +1 -1
- package/dist/types/Cell.d.cts +4 -2
- package/dist/types/Cell.d.ts +4 -2
- package/dist/types/Column.d.cts +15 -15
- package/dist/types/Column.d.ts +15 -15
- package/dist/types/ColumnDef.d.cts +30 -14
- package/dist/types/ColumnDef.d.ts +30 -14
- package/dist/types/Header.d.cts +2 -2
- package/dist/types/Header.d.ts +2 -2
- package/dist/types/HeaderGroup.d.cts +2 -2
- package/dist/types/HeaderGroup.d.ts +2 -2
- package/dist/types/Row.d.cts +6 -4
- package/dist/types/Row.d.ts +6 -4
- package/dist/types/RowModel.d.cts +11 -23
- package/dist/types/RowModel.d.ts +11 -23
- package/dist/types/RowModelFns.d.cts +4 -4
- package/dist/types/RowModelFns.d.ts +4 -4
- package/dist/types/Table.d.cts +26 -31
- package/dist/types/Table.d.ts +26 -31
- package/dist/types/TableFeatures.d.cts +350 -22
- package/dist/types/TableFeatures.d.ts +350 -22
- package/dist/types/TableOptions.d.cts +22 -14
- package/dist/types/TableOptions.d.ts +22 -14
- package/dist/types/TableState.d.cts +6 -6
- package/dist/types/TableState.d.ts +6 -6
- package/dist/types/type-utils.d.cts +8 -1
- package/dist/types/type-utils.d.ts +8 -1
- package/dist/utils.cjs +51 -29
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +30 -8
- package/dist/utils.d.ts +30 -8
- package/dist/utils.js +49 -30
- package/dist/utils.js.map +1 -1
- package/dist/worker/createTableWorker.cjs +189 -0
- package/dist/worker/createTableWorker.cjs.map +1 -0
- package/dist/worker/createTableWorker.d.cts +102 -0
- package/dist/worker/createTableWorker.d.ts +102 -0
- package/dist/worker/createTableWorker.js +186 -0
- package/dist/worker/createTableWorker.js.map +1 -0
- package/dist/worker/createWorkerRowModel.cjs +78 -0
- package/dist/worker/createWorkerRowModel.cjs.map +1 -0
- package/dist/worker/createWorkerRowModel.d.cts +42 -0
- package/dist/worker/createWorkerRowModel.d.ts +42 -0
- package/dist/worker/createWorkerRowModel.js +78 -0
- package/dist/worker/createWorkerRowModel.js.map +1 -0
- package/dist/worker/initTableWorker.cjs +100 -0
- package/dist/worker/initTableWorker.cjs.map +1 -0
- package/dist/worker/initTableWorker.d.cts +33 -0
- package/dist/worker/initTableWorker.d.ts +33 -0
- package/dist/worker/initTableWorker.js +100 -0
- package/dist/worker/initTableWorker.js.map +1 -0
- package/dist/worker/rebuildRowModel.cjs +72 -0
- package/dist/worker/rebuildRowModel.cjs.map +1 -0
- package/dist/worker/rebuildRowModel.d.cts +9 -0
- package/dist/worker/rebuildRowModel.d.ts +9 -0
- package/dist/worker/rebuildRowModel.js +72 -0
- package/dist/worker/rebuildRowModel.js.map +1 -0
- package/dist/worker/serializeRowModel.cjs +53 -0
- package/dist/worker/serializeRowModel.cjs.map +1 -0
- package/dist/worker/serializeRowModel.js +52 -0
- package/dist/worker/serializeRowModel.js.map +1 -0
- package/dist/worker/tableWorkerProtocol.cjs +29 -0
- package/dist/worker/tableWorkerProtocol.cjs.map +1 -0
- package/dist/worker/tableWorkerProtocol.d.cts +88 -0
- package/dist/worker/tableWorkerProtocol.d.ts +88 -0
- package/dist/worker/tableWorkerProtocol.js +27 -0
- package/dist/worker/tableWorkerProtocol.js.map +1 -0
- package/package.json +8 -3
- package/skills/aggregation/SKILL.md +141 -0
- package/skills/api-not-found/SKILL.md +113 -0
- package/skills/client-vs-server/SKILL.md +164 -0
- package/skills/column-faceting/SKILL.md +97 -0
- package/skills/column-filtering/SKILL.md +87 -0
- package/skills/column-ordering/SKILL.md +75 -0
- package/skills/column-pinning/SKILL.md +89 -0
- package/skills/column-resizing/SKILL.md +91 -0
- package/skills/column-sizing/SKILL.md +72 -0
- package/skills/column-visibility/SKILL.md +75 -0
- package/skills/core/SKILL.md +175 -0
- package/skills/custom-features/SKILL.md +235 -0
- package/skills/expanding/SKILL.md +80 -0
- package/skills/global-filtering/SKILL.md +84 -0
- package/skills/grouping/SKILL.md +51 -401
- package/skills/migrate-v8-to-v9/SKILL.md +274 -416
- package/skills/pagination/SKILL.md +37 -344
- package/skills/row-pinning/SKILL.md +47 -234
- package/skills/row-selection/SKILL.md +75 -302
- package/skills/sorting/SKILL.md +45 -303
- package/skills/table-features/SKILL.md +159 -0
- package/skills/typescript/SKILL.md +126 -0
- package/src/core/cells/coreCellsFeature.types.ts +6 -6
- package/src/core/columns/constructColumn.ts +6 -0
- package/src/core/columns/coreColumnsFeature.types.ts +8 -8
- package/src/core/columns/coreColumnsFeature.utils.ts +4 -4
- package/src/core/coreFeatures.ts +1 -1
- package/src/core/headers/buildHeaderGroups.ts +4 -2
- package/src/core/headers/coreHeadersFeature.types.ts +12 -12
- package/src/core/headers/coreHeadersFeature.utils.ts +7 -8
- package/src/core/row-models/coreRowModelsFeature.types.ts +6 -20
- package/src/core/row-models/coreRowModelsFeature.utils.ts +8 -8
- package/src/core/row-models/createCoreRowModel.ts +7 -6
- package/src/core/rows/constructRow.ts +4 -2
- package/src/core/rows/coreRowsFeature.ts +21 -0
- package/src/core/rows/coreRowsFeature.types.ts +45 -8
- package/src/core/rows/coreRowsFeature.utils.ts +93 -5
- package/src/core/table/constructTable.ts +44 -6
- package/src/core/table/coreTablesFeature.types.ts +45 -20
- package/src/core/table/coreTablesFeature.utils.ts +59 -19
- package/src/experimental-worker-plugin.ts +22 -0
- package/src/features/aggregation/aggregationFeature.ts +60 -0
- package/src/features/aggregation/aggregationFeature.types.ts +339 -0
- package/src/features/aggregation/aggregationFeature.utils.ts +430 -0
- package/src/features/aggregation/aggregationFns.ts +345 -0
- package/src/features/column-faceting/columnFacetingFeature.types.ts +17 -48
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +53 -18
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +33 -7
- package/src/features/column-faceting/createFacetedRowModel.ts +8 -1
- package/src/features/column-faceting/createFacetedUniqueValues.ts +41 -10
- package/src/features/column-filtering/columnFilteringFeature.ts +3 -2
- package/src/features/column-filtering/columnFilteringFeature.types.ts +117 -41
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +37 -23
- package/src/features/column-filtering/createFilteredRowModel.ts +28 -17
- package/src/features/column-filtering/filterFns.ts +533 -0
- package/src/features/column-filtering/filterRowsUtils.ts +3 -2
- package/src/features/column-grouping/columnGroupingFeature.ts +3 -21
- package/src/features/column-grouping/columnGroupingFeature.types.ts +21 -95
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -87
- package/src/features/column-grouping/createGroupedRowModel.ts +46 -45
- package/src/features/column-ordering/columnOrderingFeature.ts +12 -7
- package/src/features/column-ordering/columnOrderingFeature.types.ts +29 -3
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +59 -8
- package/src/features/column-pinning/columnPinningFeature.ts +76 -59
- package/src/features/column-pinning/columnPinningFeature.types.ts +53 -42
- package/src/features/column-pinning/columnPinningFeature.utils.ts +184 -170
- package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
- package/src/features/column-resizing/columnResizingFeature.utils.ts +120 -52
- package/src/features/column-sizing/columnSizingFeature.ts +24 -24
- package/src/features/column-sizing/columnSizingFeature.types.ts +53 -8
- package/src/features/column-sizing/columnSizingFeature.utils.ts +143 -62
- package/src/features/column-visibility/columnVisibilityFeature.ts +4 -0
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +48 -30
- package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +13 -5
- package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -23
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
- package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
- package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -21
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +1 -1
- package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
- package/src/features/row-selection/rowSelectionFeature.ts +53 -3
- package/src/features/row-selection/rowSelectionFeature.types.ts +54 -10
- package/src/features/row-selection/rowSelectionFeature.utils.ts +273 -91
- package/src/features/row-sorting/createSortedRowModel.ts +107 -75
- package/src/features/row-sorting/rowSortingFeature.types.ts +87 -34
- package/src/features/row-sorting/rowSortingFeature.utils.ts +49 -23
- package/src/features/row-sorting/sortFns.ts +366 -0
- package/src/features/stockFeatures.ts +3 -0
- package/src/helpers/columnHelper.ts +4 -4
- package/src/helpers/metaHelper.ts +24 -0
- package/src/helpers/tableFeatures.ts +37 -5
- package/src/index.ts +8 -8
- package/src/static-functions.ts +1 -0
- package/src/store-reactivity-bindings.ts +1 -1
- package/src/types/Cell.ts +4 -2
- package/src/types/Column.ts +13 -9
- package/src/types/ColumnDef.ts +40 -10
- package/src/types/Header.ts +2 -2
- package/src/types/HeaderGroup.ts +6 -6
- package/src/types/Row.ts +6 -4
- package/src/types/RowModel.ts +19 -74
- package/src/types/RowModelFns.ts +10 -10
- package/src/types/Table.ts +52 -27
- package/src/types/TableFeatures.ts +392 -14
- package/src/types/TableOptions.ts +67 -14
- package/src/types/TableState.ts +15 -1
- package/src/types/type-utils.ts +8 -0
- package/src/utils.ts +60 -8
- package/src/worker/createTableWorker.ts +357 -0
- package/src/worker/createWorkerRowModel.ts +121 -0
- package/src/worker/initTableWorker.ts +164 -0
- package/src/worker/rebuildRowModel.ts +120 -0
- package/src/worker/serializeRowModel.ts +80 -0
- package/src/worker/tableWorkerProtocol.ts +105 -0
- package/dist/fns/aggregationFns.cjs +0 -161
- package/dist/fns/aggregationFns.cjs.map +0 -1
- package/dist/fns/aggregationFns.d.cts +0 -85
- package/dist/fns/aggregationFns.d.ts +0 -85
- package/dist/fns/aggregationFns.js +0 -151
- package/dist/fns/aggregationFns.js.map +0 -1
- package/dist/fns/filterFns.cjs +0 -201
- package/dist/fns/filterFns.cjs.map +0 -1
- package/dist/fns/filterFns.d.cts +0 -167
- package/dist/fns/filterFns.d.ts +0 -167
- package/dist/fns/filterFns.js +0 -185
- package/dist/fns/filterFns.js.map +0 -1
- package/dist/fns/sortFns.cjs +0 -118
- package/dist/fns/sortFns.cjs.map +0 -1
- package/dist/fns/sortFns.d.cts +0 -65
- package/dist/fns/sortFns.d.ts +0 -65
- package/dist/fns/sortFns.js +0 -110
- package/dist/fns/sortFns.js.map +0 -1
- package/skills/column-definitions/SKILL.md +0 -333
- package/skills/column-layout/SKILL.md +0 -328
- package/skills/column-layout/references/subsystems.md +0 -220
- package/skills/customizing-feature-behavior/SKILL.md +0 -416
- package/skills/filtering/SKILL.md +0 -357
- package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
- package/skills/row-expanding/SKILL.md +0 -348
- package/skills/setup/SKILL.md +0 -400
- package/skills/state-management/SKILL.md +0 -388
- package/src/fns/aggregationFns.ts +0 -245
- package/src/fns/filterFns.ts +0 -382
- package/src/fns/sortFns.ts +0 -217
|
@@ -17,9 +17,33 @@ function getDefaultColumnOrderState() {
|
|
|
17
17
|
return [];
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
+
* Builds column-id to index records for each visible pinning region.
|
|
21
|
+
*
|
|
22
|
+
* All four regions are built in one pass so a single memo entry serves every
|
|
23
|
+
* `column_getIndex` lookup without per-column scans.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* const indexes = table_getColumnIndexes(table)
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
function table_getColumnIndexes(table) {
|
|
31
|
+
const buildIndexes = (columns) => {
|
|
32
|
+
const indexes = require_utils.makeObjectMap();
|
|
33
|
+
for (let i = 0; i < columns.length; i++) indexes[columns[i].id] = i;
|
|
34
|
+
return indexes;
|
|
35
|
+
};
|
|
36
|
+
return {
|
|
37
|
+
all: buildIndexes(require_columnPinningFeature_utils.table_getPinnedVisibleLeafColumns(table)),
|
|
38
|
+
center: buildIndexes(require_columnPinningFeature_utils.table_getPinnedVisibleLeafColumns(table, "center")),
|
|
39
|
+
start: buildIndexes(require_columnPinningFeature_utils.table_getPinnedVisibleLeafColumns(table, "start")),
|
|
40
|
+
end: buildIndexes(require_columnPinningFeature_utils.table_getPinnedVisibleLeafColumns(table, "end"))
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
20
44
|
* Finds this column's index within a visible pinning region.
|
|
21
45
|
*
|
|
22
|
-
* Pass `'
|
|
46
|
+
* Pass `'start'`, `'center'`, or `'end'` to search that region; omit the
|
|
23
47
|
* position to search the full visible leaf column list.
|
|
24
48
|
*
|
|
25
49
|
* @example
|
|
@@ -28,7 +52,7 @@ function getDefaultColumnOrderState() {
|
|
|
28
52
|
* ```
|
|
29
53
|
*/
|
|
30
54
|
function column_getIndex(column, position) {
|
|
31
|
-
return
|
|
55
|
+
return require_utils.callMemoOrStaticFn(column.table, "getColumnIndexes", table_getColumnIndexes)[position === "start" ? "start" : position === "end" ? "end" : position === "center" ? "center" : "all"][column.id] ?? -1;
|
|
32
56
|
}
|
|
33
57
|
/**
|
|
34
58
|
* Checks whether this column is the first visible column in a pinning region.
|
|
@@ -37,12 +61,11 @@ function column_getIndex(column, position) {
|
|
|
37
61
|
*
|
|
38
62
|
* @example
|
|
39
63
|
* ```ts
|
|
40
|
-
* const isFirst = column_getIsFirstColumn(column, '
|
|
64
|
+
* const isFirst = column_getIsFirstColumn(column, 'start')
|
|
41
65
|
* ```
|
|
42
66
|
*/
|
|
43
67
|
function column_getIsFirstColumn(column, position) {
|
|
44
|
-
|
|
45
|
-
return ((_columns$ = require_columnPinningFeature_utils.table_getPinnedVisibleLeafColumns(column.table, position)[0]) === null || _columns$ === void 0 ? void 0 : _columns$.id) === column.id;
|
|
68
|
+
return require_columnPinningFeature_utils.table_getPinnedVisibleLeafColumns(column.table, position)[0]?.id === column.id;
|
|
46
69
|
}
|
|
47
70
|
/**
|
|
48
71
|
* Checks whether this column is the last visible column in a pinning region.
|
|
@@ -51,13 +74,12 @@ function column_getIsFirstColumn(column, position) {
|
|
|
51
74
|
*
|
|
52
75
|
* @example
|
|
53
76
|
* ```ts
|
|
54
|
-
* const isLast = column_getIsLastColumn(column, '
|
|
77
|
+
* const isLast = column_getIsLastColumn(column, 'end')
|
|
55
78
|
* ```
|
|
56
79
|
*/
|
|
57
80
|
function column_getIsLastColumn(column, position) {
|
|
58
|
-
var _columns;
|
|
59
81
|
const columns = require_columnPinningFeature_utils.table_getPinnedVisibleLeafColumns(column.table, position);
|
|
60
|
-
return
|
|
82
|
+
return columns[columns.length - 1]?.id === column.id;
|
|
61
83
|
}
|
|
62
84
|
/**
|
|
63
85
|
* Routes a column order updater through the table's column-order change handler.
|
|
@@ -71,8 +93,7 @@ function column_getIsLastColumn(column, position) {
|
|
|
71
93
|
* ```
|
|
72
94
|
*/
|
|
73
95
|
function table_setColumnOrder(table, updater) {
|
|
74
|
-
|
|
75
|
-
(_table$options$onColu = (_table$options = table.options).onColumnOrderChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updater);
|
|
96
|
+
table.options.onColumnOrderChange?.(updater);
|
|
76
97
|
}
|
|
77
98
|
/**
|
|
78
99
|
* Resets `columnOrder` to the configured initial state or feature default.
|
|
@@ -101,11 +122,10 @@ function table_resetColumnOrder(table, defaultState) {
|
|
|
101
122
|
* ```
|
|
102
123
|
*/
|
|
103
124
|
function table_getOrderColumnsFn(table) {
|
|
104
|
-
|
|
105
|
-
const columnOrder = (_table$atoms$columnOr = table.atoms.columnOrder) === null || _table$atoms$columnOr === void 0 ? void 0 : _table$atoms$columnOr.get();
|
|
125
|
+
const columnOrder = table.atoms.columnOrder?.get();
|
|
106
126
|
return (columns) => {
|
|
107
127
|
let orderedColumns = [];
|
|
108
|
-
if (!
|
|
128
|
+
if (!columnOrder?.length) orderedColumns = columns;
|
|
109
129
|
else {
|
|
110
130
|
const remaining = /* @__PURE__ */ new Map();
|
|
111
131
|
for (let i = 0; i < columns.length; i++) {
|
|
@@ -141,8 +161,7 @@ function table_getOrderColumnsFn(table) {
|
|
|
141
161
|
* ```
|
|
142
162
|
*/
|
|
143
163
|
function orderColumns(table, leafColumns) {
|
|
144
|
-
|
|
145
|
-
const grouping = ((_table$atoms$grouping = table.atoms.grouping) === null || _table$atoms$grouping === void 0 ? void 0 : _table$atoms$grouping.get()) ?? [];
|
|
164
|
+
const grouping = table.atoms.grouping?.get() ?? [];
|
|
146
165
|
const { groupedColumnMode } = table.options;
|
|
147
166
|
if (!grouping.length || !groupedColumnMode) return leafColumns;
|
|
148
167
|
const nonGroupingColumns = leafColumns.filter((col) => !grouping.includes(col.id));
|
|
@@ -166,6 +185,7 @@ exports.column_getIsFirstColumn = column_getIsFirstColumn;
|
|
|
166
185
|
exports.column_getIsLastColumn = column_getIsLastColumn;
|
|
167
186
|
exports.getDefaultColumnOrderState = getDefaultColumnOrderState;
|
|
168
187
|
exports.orderColumns = orderColumns;
|
|
188
|
+
exports.table_getColumnIndexes = table_getColumnIndexes;
|
|
169
189
|
exports.table_getOrderColumnsFn = table_getOrderColumnsFn;
|
|
170
190
|
exports.table_resetColumnOrder = table_resetColumnOrder;
|
|
171
191
|
exports.table_setColumnOrder = table_setColumnOrder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnOrderingFeature.utils.cjs","names":["table_getPinnedVisibleLeafColumns","cloneState"],"sources":["../../../src/features/column-ordering/columnOrderingFeature.utils.ts"],"sourcesContent":["import { table_getPinnedVisibleLeafColumns } from '../column-pinning/columnPinningFeature.utils'\nimport { cloneState } from '../../utils'\nimport type { GroupingState } from '../column-grouping/columnGroupingFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type { ColumnOrderState } from './columnOrderingFeature.types'\n\n/**\n * Creates the default column order state.\n *\n * The feature default is an empty array, meaning leaf columns keep their natural\n * definition order. Reset APIs use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const order = getDefaultColumnOrderState()\n * ```\n */\nexport function getDefaultColumnOrderState(): ColumnOrderState {\n return []\n}\n\n/**\n * Finds this column's index within a visible pinning region.\n *\n * Pass `'left'`, `'center'`, or `'right'` to search that region; omit the\n * position to search the full visible leaf column list.\n *\n * @example\n * ```ts\n * const index = column_getIndex(column, 'center')\n * ```\n */\nexport function column_getIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns.findIndex((d) => d.id === column.id)\n}\n\n/**\n * Checks whether this column is the first visible column in a pinning region.\n *\n * The same `position` semantics as `column_getIndex` apply.\n *\n * @example\n * ```ts\n * const isFirst = column_getIsFirstColumn(column, 'left')\n * ```\n */\nexport function column_getIsFirstColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[0]?.id === column.id\n}\n\n/**\n * Checks whether this column is the last visible column in a pinning region.\n *\n * The same `position` semantics as `column_getIndex` apply.\n *\n * @example\n * ```ts\n * const isLast = column_getIsLastColumn(column, 'right')\n * ```\n */\nexport function column_getIsLastColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[columns.length - 1]?.id === column.id\n}\n\n/**\n * Routes a column order updater through the table's column-order change handler.\n *\n * The updater may be a next ordered id array or a function of the previous\n * array, matching the instance `table.setColumnOrder` behavior.\n *\n * @example\n * ```ts\n * table_setColumnOrder(table, ['firstName', 'lastName', 'age'])\n * ```\n */\nexport function table_setColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnOrderState>) {\n table.options.onColumnOrderChange?.(updater)\n}\n\n/**\n * Resets `columnOrder` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnOrder` when it\n * exists. Passing `true` ignores initial state and resets to `[]`.\n *\n * @example\n * ```ts\n * table_resetColumnOrder(table)\n * table_resetColumnOrder(table, true)\n * ```\n */\nexport function table_resetColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnOrder(\n table,\n defaultState ? [] : cloneState(table.initialState.columnOrder ?? []),\n )\n}\n\n/**\n * Creates the ordering function used to arrange leaf columns.\n *\n * The returned function applies `state.columnOrder`, preserves unspecified\n * columns in their original order, then delegates to grouping rules.\n *\n * @example\n * ```ts\n * const orderColumnsForTable = table_getOrderColumnsFn(table)\n * ```\n */\nexport function table_getOrderColumnsFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const columnOrder = table.atoms.columnOrder?.get()\n\n return (columns: Array<Column_Internal<TFeatures, TData, unknown>>) => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns: Array<Column_Internal<TFeatures, TData, unknown>> = []\n\n // If there is no order, return the normal columns\n if (!columnOrder?.length) {\n orderedColumns = columns\n } else {\n // Index columns by id for O(1) lookup\n const remaining = new Map<\n string,\n Column_Internal<TFeatures, TData, unknown>\n >()\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]!\n remaining.set(column.id, column)\n }\n\n // Place columns in the requested order, removing each as it's used\n // (handles duplicates and unknown ids in columnOrder)\n for (let i = 0; i < columnOrder.length; i++) {\n const id = columnOrder[i]!\n const column = remaining.get(id)\n if (column) {\n orderedColumns.push(column)\n remaining.delete(id)\n }\n }\n\n // Append leftover columns in their original order\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]!\n if (remaining.has(column.id)) orderedColumns.push(column)\n }\n }\n\n return orderColumns(table, orderedColumns)\n }\n}\n\n/**\n * Applies grouped-column placement rules to an already ordered leaf-column list.\n *\n * `groupedColumnMode: 'remove'` drops grouped columns from the list.\n * `groupedColumnMode: 'reorder'` moves grouped columns to the front in grouping\n * state order.\n *\n * @example\n * ```ts\n * const orderedColumns = orderColumns(table, leafColumns)\n * ```\n */\nexport function orderColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n leafColumns: Array<Column_Internal<TFeatures, TData, unknown>>,\n) {\n const grouping = table.atoms.grouping?.get() ?? ([] as GroupingState)\n const { groupedColumnMode } = table.options\n\n if (!grouping.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n (col) => !grouping.includes(col.id),\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const leafColumnsById = new Map<\n string,\n Column_Internal<TFeatures, TData, unknown>\n >()\n for (let i = 0; i < leafColumns.length; i++) {\n const col = leafColumns[i]!\n leafColumnsById.set(col.id, col)\n }\n\n const groupingColumns: Array<Column_Internal<TFeatures, TData, unknown>> = []\n for (let i = 0; i < grouping.length; i++) {\n const col = leafColumnsById.get(grouping[i]!)\n if (col) groupingColumns.push(col)\n }\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"mappings":";;;;;;;;;;;;;;;AAqBA,SAAgB,6BAA+C;CAC7D,OAAO,CAAC;AACV;;;;;;;;;;;;AAaA,SAAgB,gBAKd,QACA,UACA;CAEA,OADgBA,qEAAkC,OAAO,OAAO,QACnD,CAAC,CAAC,WAAW,MAAM,EAAE,OAAO,OAAO,EAAE;AACpD;;;;;;;;;;;AAYA,SAAgB,wBAKd,QACA,UACA;;CAEA,qBADgBA,qEAAkC,OAAO,OAAO,QACnD,CAAC,CAAC,0DAAI,QAAO,OAAO;AACnC;;;;;;;;;;;AAYA,SAAgB,uBAKd,QACA,UACA;;CACA,MAAM,UAAUA,qEAAkC,OAAO,OAAO,QAAQ;CACxE,oBAAO,QAAQ,QAAQ,SAAS,wDAAI,QAAO,OAAO;AACpD;;;;;;;;;;;;AAaA,SAAgB,qBAGd,OAAyC,SAAoC;;CAC7E,iDAAM,SAAQ,gHAAsB,OAAO;AAC7C;;;;;;;;;;;;;AAcA,SAAgB,uBAGd,OAAyC,cAAwB;CACjE,qBACE,OACA,eAAe,CAAC,IAAIC,yBAAW,MAAM,aAAa,eAAe,CAAC,CAAC,CACrE;AACF;;;;;;;;;;;;AAaA,SAAgB,wBAGd,OAAyC;;CACzC,MAAM,uCAAc,MAAM,MAAM,2FAAa,IAAI;CAEjD,QAAQ,YAA+D;EAGrE,IAAI,iBAAoE,CAAC;EAGzE,IAAI,4DAAC,YAAa,SAChB,iBAAiB;OACZ;GAEL,MAAM,4BAAY,IAAI,IAGpB;GACF,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;IACvC,MAAM,SAAS,QAAQ;IACvB,UAAU,IAAI,OAAO,IAAI,MAAM;GACjC;GAIA,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;IAC3C,MAAM,KAAK,YAAY;IACvB,MAAM,SAAS,UAAU,IAAI,EAAE;IAC/B,IAAI,QAAQ;KACV,eAAe,KAAK,MAAM;KAC1B,UAAU,OAAO,EAAE;IACrB;GACF;GAGA,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;IACvC,MAAM,SAAS,QAAQ;IACvB,IAAI,UAAU,IAAI,OAAO,EAAE,GAAG,eAAe,KAAK,MAAM;GAC1D;EACF;EAEA,OAAO,aAAa,OAAO,cAAc;CAC3C;AACF;;;;;;;;;;;;;AAcA,SAAgB,aAId,OACA,aACA;;CACA,MAAM,qCAAW,MAAM,MAAM,wFAAU,IAAI,MAAM,CAAC;CAClD,MAAM,EAAE,sBAAsB,MAAM;CAEpC,IAAI,CAAC,SAAS,UAAU,CAAC,mBACvB,OAAO;CAGT,MAAM,qBAAqB,YAAY,QACpC,QAAQ,CAAC,SAAS,SAAS,IAAI,EAAE,CACpC;CAEA,IAAI,sBAAsB,UACxB,OAAO;CAGT,MAAM,kCAAkB,IAAI,IAG1B;CACF,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;EAC3C,MAAM,MAAM,YAAY;EACxB,gBAAgB,IAAI,IAAI,IAAI,GAAG;CACjC;CAEA,MAAM,kBAAqE,CAAC;CAC5E,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,MAAM,gBAAgB,IAAI,SAAS,EAAG;EAC5C,IAAI,KAAK,gBAAgB,KAAK,GAAG;CACnC;CAEA,OAAO,CAAC,GAAG,iBAAiB,GAAG,kBAAkB;AACnD"}
|
|
1
|
+
{"version":3,"file":"columnOrderingFeature.utils.cjs","names":["makeObjectMap","table_getPinnedVisibleLeafColumns","callMemoOrStaticFn","cloneState"],"sources":["../../../src/features/column-ordering/columnOrderingFeature.utils.ts"],"sourcesContent":["import { table_getPinnedVisibleLeafColumns } from '../column-pinning/columnPinningFeature.utils'\nimport { callMemoOrStaticFn, cloneState, makeObjectMap } from '../../utils'\nimport type { GroupingState } from '../column-grouping/columnGroupingFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column, Column_Internal } from '../../types/Column'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type {\n ColumnIndexes,\n ColumnOrderState,\n} from './columnOrderingFeature.types'\n\n/**\n * Creates the default column order state.\n *\n * The feature default is an empty array, meaning leaf columns keep their natural\n * definition order. Reset APIs use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const order = getDefaultColumnOrderState()\n * ```\n */\nexport function getDefaultColumnOrderState(): ColumnOrderState {\n return []\n}\n\n/**\n * Builds column-id to index records for each visible pinning region.\n *\n * All four regions are built in one pass so a single memo entry serves every\n * `column_getIndex` lookup without per-column scans.\n *\n * @example\n * ```ts\n * const indexes = table_getColumnIndexes(table)\n * ```\n */\nexport function table_getColumnIndexes<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): ColumnIndexes {\n const buildIndexes = (\n columns: ReadonlyArray<\n | Column<TFeatures, TData, unknown>\n | Column_Internal<TFeatures, TData, unknown>\n >,\n ): Record<string, number> => {\n const indexes = makeObjectMap<number>()\n for (let i = 0; i < columns.length; i++) {\n indexes[columns[i]!.id] = i\n }\n return indexes\n }\n\n return {\n all: buildIndexes(table_getPinnedVisibleLeafColumns(table)),\n center: buildIndexes(table_getPinnedVisibleLeafColumns(table, 'center')),\n start: buildIndexes(table_getPinnedVisibleLeafColumns(table, 'start')),\n end: buildIndexes(table_getPinnedVisibleLeafColumns(table, 'end')),\n }\n}\n\n/**\n * Finds this column's index within a visible pinning region.\n *\n * Pass `'start'`, `'center'`, or `'end'` to search that region; omit the\n * position to search the full visible leaf column list.\n *\n * @example\n * ```ts\n * const index = column_getIndex(column, 'center')\n * ```\n */\nexport function column_getIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const indexes = callMemoOrStaticFn(\n column.table,\n 'getColumnIndexes',\n table_getColumnIndexes,\n )\n const key =\n position === 'start'\n ? 'start'\n : position === 'end'\n ? 'end'\n : position === 'center'\n ? 'center'\n : 'all'\n return indexes[key][column.id] ?? -1\n}\n\n/**\n * Checks whether this column is the first visible column in a pinning region.\n *\n * The same `position` semantics as `column_getIndex` apply.\n *\n * @example\n * ```ts\n * const isFirst = column_getIsFirstColumn(column, 'start')\n * ```\n */\nexport function column_getIsFirstColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[0]?.id === column.id\n}\n\n/**\n * Checks whether this column is the last visible column in a pinning region.\n *\n * The same `position` semantics as `column_getIndex` apply.\n *\n * @example\n * ```ts\n * const isLast = column_getIsLastColumn(column, 'end')\n * ```\n */\nexport function column_getIsLastColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[columns.length - 1]?.id === column.id\n}\n\n/**\n * Routes a column order updater through the table's column-order change handler.\n *\n * The updater may be a next ordered id array or a function of the previous\n * array, matching the instance `table.setColumnOrder` behavior.\n *\n * @example\n * ```ts\n * table_setColumnOrder(table, ['firstName', 'lastName', 'age'])\n * ```\n */\nexport function table_setColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnOrderState>) {\n table.options.onColumnOrderChange?.(updater)\n}\n\n/**\n * Resets `columnOrder` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnOrder` when it\n * exists. Passing `true` ignores initial state and resets to `[]`.\n *\n * @example\n * ```ts\n * table_resetColumnOrder(table)\n * table_resetColumnOrder(table, true)\n * ```\n */\nexport function table_resetColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnOrder(\n table,\n defaultState ? [] : cloneState(table.initialState.columnOrder ?? []),\n )\n}\n\n/**\n * Creates the ordering function used to arrange leaf columns.\n *\n * The returned function applies `state.columnOrder`, preserves unspecified\n * columns in their original order, then delegates to grouping rules.\n *\n * @example\n * ```ts\n * const orderColumnsForTable = table_getOrderColumnsFn(table)\n * ```\n */\nexport function table_getOrderColumnsFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const columnOrder = table.atoms.columnOrder?.get()\n\n return (columns: Array<Column_Internal<TFeatures, TData, unknown>>) => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns: Array<Column_Internal<TFeatures, TData, unknown>> = []\n\n // If there is no order, return the normal columns\n if (!columnOrder?.length) {\n orderedColumns = columns\n } else {\n // Index columns by id for O(1) lookup\n const remaining = new Map<\n string,\n Column_Internal<TFeatures, TData, unknown>\n >()\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]!\n remaining.set(column.id, column)\n }\n\n // Place columns in the requested order, removing each as it's used\n // (handles duplicates and unknown ids in columnOrder)\n for (let i = 0; i < columnOrder.length; i++) {\n const id = columnOrder[i]!\n const column = remaining.get(id)\n if (column) {\n orderedColumns.push(column)\n remaining.delete(id)\n }\n }\n\n // Append leftover columns in their original order\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]!\n if (remaining.has(column.id)) orderedColumns.push(column)\n }\n }\n\n return orderColumns(table, orderedColumns)\n }\n}\n\n/**\n * Applies grouped-column placement rules to an already ordered leaf-column list.\n *\n * `groupedColumnMode: 'remove'` drops grouped columns from the list.\n * `groupedColumnMode: 'reorder'` moves grouped columns to the front in grouping\n * state order.\n *\n * @example\n * ```ts\n * const orderedColumns = orderColumns(table, leafColumns)\n * ```\n */\nexport function orderColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n leafColumns: Array<Column_Internal<TFeatures, TData, unknown>>,\n) {\n const grouping = table.atoms.grouping?.get() ?? ([] as GroupingState)\n const { groupedColumnMode } = table.options\n\n if (!grouping.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n (col) => !grouping.includes(col.id),\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const leafColumnsById = new Map<\n string,\n Column_Internal<TFeatures, TData, unknown>\n >()\n for (let i = 0; i < leafColumns.length; i++) {\n const col = leafColumns[i]!\n leafColumnsById.set(col.id, col)\n }\n\n const groupingColumns: Array<Column_Internal<TFeatures, TData, unknown>> = []\n for (let i = 0; i < grouping.length; i++) {\n const col = leafColumnsById.get(grouping[i]!)\n if (col) groupingColumns.push(col)\n }\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { CellData, RowData, Updater } from "../../types/type-utils.cjs";
|
|
2
2
|
import { ColumnPinningPosition } from "../column-pinning/columnPinningFeature.types.cjs";
|
|
3
|
-
import { ColumnOrderState } from "./columnOrderingFeature.types.cjs";
|
|
4
|
-
import {
|
|
3
|
+
import { ColumnIndexes, ColumnOrderState } from "./columnOrderingFeature.types.cjs";
|
|
4
|
+
import { Table } from "../../types/Table.cjs";
|
|
5
|
+
import { Column } from "../../types/Column.cjs";
|
|
5
6
|
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
6
|
-
import { Table_Internal } from "../../types/Table.cjs";
|
|
7
7
|
|
|
8
8
|
//#region src/features/column-ordering/columnOrderingFeature.utils.d.ts
|
|
9
9
|
/**
|
|
@@ -18,10 +18,22 @@ import { Table_Internal } from "../../types/Table.cjs";
|
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
20
|
declare function getDefaultColumnOrderState(): ColumnOrderState;
|
|
21
|
+
/**
|
|
22
|
+
* Builds column-id to index records for each visible pinning region.
|
|
23
|
+
*
|
|
24
|
+
* All four regions are built in one pass so a single memo entry serves every
|
|
25
|
+
* `column_getIndex` lookup without per-column scans.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* const indexes = table_getColumnIndexes(table)
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
declare function table_getColumnIndexes<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): ColumnIndexes;
|
|
21
33
|
/**
|
|
22
34
|
* Finds this column's index within a visible pinning region.
|
|
23
35
|
*
|
|
24
|
-
* Pass `'
|
|
36
|
+
* Pass `'start'`, `'center'`, or `'end'` to search that region; omit the
|
|
25
37
|
* position to search the full visible leaf column list.
|
|
26
38
|
*
|
|
27
39
|
* @example
|
|
@@ -29,7 +41,7 @@ declare function getDefaultColumnOrderState(): ColumnOrderState;
|
|
|
29
41
|
* const index = column_getIndex(column, 'center')
|
|
30
42
|
* ```
|
|
31
43
|
*/
|
|
32
|
-
declare function column_getIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
44
|
+
declare function column_getIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): number;
|
|
33
45
|
/**
|
|
34
46
|
* Checks whether this column is the first visible column in a pinning region.
|
|
35
47
|
*
|
|
@@ -37,10 +49,10 @@ declare function column_getIndex<TFeatures extends TableFeatures, TData extends
|
|
|
37
49
|
*
|
|
38
50
|
* @example
|
|
39
51
|
* ```ts
|
|
40
|
-
* const isFirst = column_getIsFirstColumn(column, '
|
|
52
|
+
* const isFirst = column_getIsFirstColumn(column, 'start')
|
|
41
53
|
* ```
|
|
42
54
|
*/
|
|
43
|
-
declare function column_getIsFirstColumn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
55
|
+
declare function column_getIsFirstColumn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): boolean;
|
|
44
56
|
/**
|
|
45
57
|
* Checks whether this column is the last visible column in a pinning region.
|
|
46
58
|
*
|
|
@@ -48,10 +60,10 @@ declare function column_getIsFirstColumn<TFeatures extends TableFeatures, TData
|
|
|
48
60
|
*
|
|
49
61
|
* @example
|
|
50
62
|
* ```ts
|
|
51
|
-
* const isLast = column_getIsLastColumn(column, '
|
|
63
|
+
* const isLast = column_getIsLastColumn(column, 'end')
|
|
52
64
|
* ```
|
|
53
65
|
*/
|
|
54
|
-
declare function column_getIsLastColumn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
66
|
+
declare function column_getIsLastColumn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): boolean;
|
|
55
67
|
/**
|
|
56
68
|
* Routes a column order updater through the table's column-order change handler.
|
|
57
69
|
*
|
|
@@ -63,7 +75,7 @@ declare function column_getIsLastColumn<TFeatures extends TableFeatures, TData e
|
|
|
63
75
|
* table_setColumnOrder(table, ['firstName', 'lastName', 'age'])
|
|
64
76
|
* ```
|
|
65
77
|
*/
|
|
66
|
-
declare function table_setColumnOrder<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
78
|
+
declare function table_setColumnOrder<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<ColumnOrderState>): void;
|
|
67
79
|
/**
|
|
68
80
|
* Resets `columnOrder` to the configured initial state or feature default.
|
|
69
81
|
*
|
|
@@ -76,7 +88,7 @@ declare function table_setColumnOrder<TFeatures extends TableFeatures, TData ext
|
|
|
76
88
|
* table_resetColumnOrder(table, true)
|
|
77
89
|
* ```
|
|
78
90
|
*/
|
|
79
|
-
declare function table_resetColumnOrder<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
91
|
+
declare function table_resetColumnOrder<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
|
|
80
92
|
/**
|
|
81
93
|
* Creates the ordering function used to arrange leaf columns.
|
|
82
94
|
*
|
|
@@ -88,7 +100,7 @@ declare function table_resetColumnOrder<TFeatures extends TableFeatures, TData e
|
|
|
88
100
|
* const orderColumnsForTable = table_getOrderColumnsFn(table)
|
|
89
101
|
* ```
|
|
90
102
|
*/
|
|
91
|
-
declare function table_getOrderColumnsFn<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
103
|
+
declare function table_getOrderColumnsFn<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): (columns: Array<Column<TFeatures, TData, unknown>>) => Column<TFeatures, TData, unknown>[];
|
|
92
104
|
/**
|
|
93
105
|
* Applies grouped-column placement rules to an already ordered leaf-column list.
|
|
94
106
|
*
|
|
@@ -101,7 +113,7 @@ declare function table_getOrderColumnsFn<TFeatures extends TableFeatures, TData
|
|
|
101
113
|
* const orderedColumns = orderColumns(table, leafColumns)
|
|
102
114
|
* ```
|
|
103
115
|
*/
|
|
104
|
-
declare function orderColumns<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
116
|
+
declare function orderColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, leafColumns: Array<Column<TFeatures, TData, unknown>>): Column<TFeatures, TData, unknown>[];
|
|
105
117
|
//#endregion
|
|
106
|
-
export { column_getIndex, column_getIsFirstColumn, column_getIsLastColumn, getDefaultColumnOrderState, orderColumns, table_getOrderColumnsFn, table_resetColumnOrder, table_setColumnOrder };
|
|
118
|
+
export { column_getIndex, column_getIsFirstColumn, column_getIsLastColumn, getDefaultColumnOrderState, orderColumns, table_getColumnIndexes, table_getOrderColumnsFn, table_resetColumnOrder, table_setColumnOrder };
|
|
107
119
|
//# sourceMappingURL=columnOrderingFeature.utils.d.cts.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { CellData, RowData, Updater } from "../../types/type-utils.js";
|
|
2
2
|
import { ColumnPinningPosition } from "../column-pinning/columnPinningFeature.types.js";
|
|
3
|
-
import { ColumnOrderState } from "./columnOrderingFeature.types.js";
|
|
4
|
-
import {
|
|
3
|
+
import { ColumnIndexes, ColumnOrderState } from "./columnOrderingFeature.types.js";
|
|
4
|
+
import { Table } from "../../types/Table.js";
|
|
5
|
+
import { Column } from "../../types/Column.js";
|
|
5
6
|
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
6
|
-
import { Table_Internal } from "../../types/Table.js";
|
|
7
7
|
|
|
8
8
|
//#region src/features/column-ordering/columnOrderingFeature.utils.d.ts
|
|
9
9
|
/**
|
|
@@ -18,10 +18,22 @@ import { Table_Internal } from "../../types/Table.js";
|
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
20
|
declare function getDefaultColumnOrderState(): ColumnOrderState;
|
|
21
|
+
/**
|
|
22
|
+
* Builds column-id to index records for each visible pinning region.
|
|
23
|
+
*
|
|
24
|
+
* All four regions are built in one pass so a single memo entry serves every
|
|
25
|
+
* `column_getIndex` lookup without per-column scans.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* const indexes = table_getColumnIndexes(table)
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
declare function table_getColumnIndexes<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): ColumnIndexes;
|
|
21
33
|
/**
|
|
22
34
|
* Finds this column's index within a visible pinning region.
|
|
23
35
|
*
|
|
24
|
-
* Pass `'
|
|
36
|
+
* Pass `'start'`, `'center'`, or `'end'` to search that region; omit the
|
|
25
37
|
* position to search the full visible leaf column list.
|
|
26
38
|
*
|
|
27
39
|
* @example
|
|
@@ -29,7 +41,7 @@ declare function getDefaultColumnOrderState(): ColumnOrderState;
|
|
|
29
41
|
* const index = column_getIndex(column, 'center')
|
|
30
42
|
* ```
|
|
31
43
|
*/
|
|
32
|
-
declare function column_getIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
44
|
+
declare function column_getIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): number;
|
|
33
45
|
/**
|
|
34
46
|
* Checks whether this column is the first visible column in a pinning region.
|
|
35
47
|
*
|
|
@@ -37,10 +49,10 @@ declare function column_getIndex<TFeatures extends TableFeatures, TData extends
|
|
|
37
49
|
*
|
|
38
50
|
* @example
|
|
39
51
|
* ```ts
|
|
40
|
-
* const isFirst = column_getIsFirstColumn(column, '
|
|
52
|
+
* const isFirst = column_getIsFirstColumn(column, 'start')
|
|
41
53
|
* ```
|
|
42
54
|
*/
|
|
43
|
-
declare function column_getIsFirstColumn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
55
|
+
declare function column_getIsFirstColumn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): boolean;
|
|
44
56
|
/**
|
|
45
57
|
* Checks whether this column is the last visible column in a pinning region.
|
|
46
58
|
*
|
|
@@ -48,10 +60,10 @@ declare function column_getIsFirstColumn<TFeatures extends TableFeatures, TData
|
|
|
48
60
|
*
|
|
49
61
|
* @example
|
|
50
62
|
* ```ts
|
|
51
|
-
* const isLast = column_getIsLastColumn(column, '
|
|
63
|
+
* const isLast = column_getIsLastColumn(column, 'end')
|
|
52
64
|
* ```
|
|
53
65
|
*/
|
|
54
|
-
declare function column_getIsLastColumn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
66
|
+
declare function column_getIsLastColumn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): boolean;
|
|
55
67
|
/**
|
|
56
68
|
* Routes a column order updater through the table's column-order change handler.
|
|
57
69
|
*
|
|
@@ -63,7 +75,7 @@ declare function column_getIsLastColumn<TFeatures extends TableFeatures, TData e
|
|
|
63
75
|
* table_setColumnOrder(table, ['firstName', 'lastName', 'age'])
|
|
64
76
|
* ```
|
|
65
77
|
*/
|
|
66
|
-
declare function table_setColumnOrder<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
78
|
+
declare function table_setColumnOrder<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<ColumnOrderState>): void;
|
|
67
79
|
/**
|
|
68
80
|
* Resets `columnOrder` to the configured initial state or feature default.
|
|
69
81
|
*
|
|
@@ -76,7 +88,7 @@ declare function table_setColumnOrder<TFeatures extends TableFeatures, TData ext
|
|
|
76
88
|
* table_resetColumnOrder(table, true)
|
|
77
89
|
* ```
|
|
78
90
|
*/
|
|
79
|
-
declare function table_resetColumnOrder<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
91
|
+
declare function table_resetColumnOrder<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
|
|
80
92
|
/**
|
|
81
93
|
* Creates the ordering function used to arrange leaf columns.
|
|
82
94
|
*
|
|
@@ -88,7 +100,7 @@ declare function table_resetColumnOrder<TFeatures extends TableFeatures, TData e
|
|
|
88
100
|
* const orderColumnsForTable = table_getOrderColumnsFn(table)
|
|
89
101
|
* ```
|
|
90
102
|
*/
|
|
91
|
-
declare function table_getOrderColumnsFn<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
103
|
+
declare function table_getOrderColumnsFn<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): (columns: Array<Column<TFeatures, TData, unknown>>) => Column<TFeatures, TData, unknown>[];
|
|
92
104
|
/**
|
|
93
105
|
* Applies grouped-column placement rules to an already ordered leaf-column list.
|
|
94
106
|
*
|
|
@@ -101,7 +113,7 @@ declare function table_getOrderColumnsFn<TFeatures extends TableFeatures, TData
|
|
|
101
113
|
* const orderedColumns = orderColumns(table, leafColumns)
|
|
102
114
|
* ```
|
|
103
115
|
*/
|
|
104
|
-
declare function orderColumns<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
116
|
+
declare function orderColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, leafColumns: Array<Column<TFeatures, TData, unknown>>): Column<TFeatures, TData, unknown>[];
|
|
105
117
|
//#endregion
|
|
106
|
-
export { column_getIndex, column_getIsFirstColumn, column_getIsLastColumn, getDefaultColumnOrderState, orderColumns, table_getOrderColumnsFn, table_resetColumnOrder, table_setColumnOrder };
|
|
118
|
+
export { column_getIndex, column_getIsFirstColumn, column_getIsLastColumn, getDefaultColumnOrderState, orderColumns, table_getColumnIndexes, table_getOrderColumnsFn, table_resetColumnOrder, table_setColumnOrder };
|
|
107
119
|
//# sourceMappingURL=columnOrderingFeature.utils.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cloneState } from "../../utils.js";
|
|
1
|
+
import { callMemoOrStaticFn, cloneState, makeObjectMap } from "../../utils.js";
|
|
2
2
|
import { table_getPinnedVisibleLeafColumns } from "../column-pinning/columnPinningFeature.utils.js";
|
|
3
3
|
|
|
4
4
|
//#region src/features/column-ordering/columnOrderingFeature.utils.ts
|
|
@@ -17,9 +17,33 @@ function getDefaultColumnOrderState() {
|
|
|
17
17
|
return [];
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
+
* Builds column-id to index records for each visible pinning region.
|
|
21
|
+
*
|
|
22
|
+
* All four regions are built in one pass so a single memo entry serves every
|
|
23
|
+
* `column_getIndex` lookup without per-column scans.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* const indexes = table_getColumnIndexes(table)
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
function table_getColumnIndexes(table) {
|
|
31
|
+
const buildIndexes = (columns) => {
|
|
32
|
+
const indexes = makeObjectMap();
|
|
33
|
+
for (let i = 0; i < columns.length; i++) indexes[columns[i].id] = i;
|
|
34
|
+
return indexes;
|
|
35
|
+
};
|
|
36
|
+
return {
|
|
37
|
+
all: buildIndexes(table_getPinnedVisibleLeafColumns(table)),
|
|
38
|
+
center: buildIndexes(table_getPinnedVisibleLeafColumns(table, "center")),
|
|
39
|
+
start: buildIndexes(table_getPinnedVisibleLeafColumns(table, "start")),
|
|
40
|
+
end: buildIndexes(table_getPinnedVisibleLeafColumns(table, "end"))
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
20
44
|
* Finds this column's index within a visible pinning region.
|
|
21
45
|
*
|
|
22
|
-
* Pass `'
|
|
46
|
+
* Pass `'start'`, `'center'`, or `'end'` to search that region; omit the
|
|
23
47
|
* position to search the full visible leaf column list.
|
|
24
48
|
*
|
|
25
49
|
* @example
|
|
@@ -28,7 +52,7 @@ function getDefaultColumnOrderState() {
|
|
|
28
52
|
* ```
|
|
29
53
|
*/
|
|
30
54
|
function column_getIndex(column, position) {
|
|
31
|
-
return
|
|
55
|
+
return callMemoOrStaticFn(column.table, "getColumnIndexes", table_getColumnIndexes)[position === "start" ? "start" : position === "end" ? "end" : position === "center" ? "center" : "all"][column.id] ?? -1;
|
|
32
56
|
}
|
|
33
57
|
/**
|
|
34
58
|
* Checks whether this column is the first visible column in a pinning region.
|
|
@@ -37,12 +61,11 @@ function column_getIndex(column, position) {
|
|
|
37
61
|
*
|
|
38
62
|
* @example
|
|
39
63
|
* ```ts
|
|
40
|
-
* const isFirst = column_getIsFirstColumn(column, '
|
|
64
|
+
* const isFirst = column_getIsFirstColumn(column, 'start')
|
|
41
65
|
* ```
|
|
42
66
|
*/
|
|
43
67
|
function column_getIsFirstColumn(column, position) {
|
|
44
|
-
|
|
45
|
-
return ((_columns$ = table_getPinnedVisibleLeafColumns(column.table, position)[0]) === null || _columns$ === void 0 ? void 0 : _columns$.id) === column.id;
|
|
68
|
+
return table_getPinnedVisibleLeafColumns(column.table, position)[0]?.id === column.id;
|
|
46
69
|
}
|
|
47
70
|
/**
|
|
48
71
|
* Checks whether this column is the last visible column in a pinning region.
|
|
@@ -51,13 +74,12 @@ function column_getIsFirstColumn(column, position) {
|
|
|
51
74
|
*
|
|
52
75
|
* @example
|
|
53
76
|
* ```ts
|
|
54
|
-
* const isLast = column_getIsLastColumn(column, '
|
|
77
|
+
* const isLast = column_getIsLastColumn(column, 'end')
|
|
55
78
|
* ```
|
|
56
79
|
*/
|
|
57
80
|
function column_getIsLastColumn(column, position) {
|
|
58
|
-
var _columns;
|
|
59
81
|
const columns = table_getPinnedVisibleLeafColumns(column.table, position);
|
|
60
|
-
return
|
|
82
|
+
return columns[columns.length - 1]?.id === column.id;
|
|
61
83
|
}
|
|
62
84
|
/**
|
|
63
85
|
* Routes a column order updater through the table's column-order change handler.
|
|
@@ -71,8 +93,7 @@ function column_getIsLastColumn(column, position) {
|
|
|
71
93
|
* ```
|
|
72
94
|
*/
|
|
73
95
|
function table_setColumnOrder(table, updater) {
|
|
74
|
-
|
|
75
|
-
(_table$options$onColu = (_table$options = table.options).onColumnOrderChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updater);
|
|
96
|
+
table.options.onColumnOrderChange?.(updater);
|
|
76
97
|
}
|
|
77
98
|
/**
|
|
78
99
|
* Resets `columnOrder` to the configured initial state or feature default.
|
|
@@ -101,11 +122,10 @@ function table_resetColumnOrder(table, defaultState) {
|
|
|
101
122
|
* ```
|
|
102
123
|
*/
|
|
103
124
|
function table_getOrderColumnsFn(table) {
|
|
104
|
-
|
|
105
|
-
const columnOrder = (_table$atoms$columnOr = table.atoms.columnOrder) === null || _table$atoms$columnOr === void 0 ? void 0 : _table$atoms$columnOr.get();
|
|
125
|
+
const columnOrder = table.atoms.columnOrder?.get();
|
|
106
126
|
return (columns) => {
|
|
107
127
|
let orderedColumns = [];
|
|
108
|
-
if (!
|
|
128
|
+
if (!columnOrder?.length) orderedColumns = columns;
|
|
109
129
|
else {
|
|
110
130
|
const remaining = /* @__PURE__ */ new Map();
|
|
111
131
|
for (let i = 0; i < columns.length; i++) {
|
|
@@ -141,8 +161,7 @@ function table_getOrderColumnsFn(table) {
|
|
|
141
161
|
* ```
|
|
142
162
|
*/
|
|
143
163
|
function orderColumns(table, leafColumns) {
|
|
144
|
-
|
|
145
|
-
const grouping = ((_table$atoms$grouping = table.atoms.grouping) === null || _table$atoms$grouping === void 0 ? void 0 : _table$atoms$grouping.get()) ?? [];
|
|
164
|
+
const grouping = table.atoms.grouping?.get() ?? [];
|
|
146
165
|
const { groupedColumnMode } = table.options;
|
|
147
166
|
if (!grouping.length || !groupedColumnMode) return leafColumns;
|
|
148
167
|
const nonGroupingColumns = leafColumns.filter((col) => !grouping.includes(col.id));
|
|
@@ -161,5 +180,5 @@ function orderColumns(table, leafColumns) {
|
|
|
161
180
|
}
|
|
162
181
|
|
|
163
182
|
//#endregion
|
|
164
|
-
export { column_getIndex, column_getIsFirstColumn, column_getIsLastColumn, getDefaultColumnOrderState, orderColumns, table_getOrderColumnsFn, table_resetColumnOrder, table_setColumnOrder };
|
|
183
|
+
export { column_getIndex, column_getIsFirstColumn, column_getIsLastColumn, getDefaultColumnOrderState, orderColumns, table_getColumnIndexes, table_getOrderColumnsFn, table_resetColumnOrder, table_setColumnOrder };
|
|
165
184
|
//# sourceMappingURL=columnOrderingFeature.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnOrderingFeature.utils.js","names":[],"sources":["../../../src/features/column-ordering/columnOrderingFeature.utils.ts"],"sourcesContent":["import { table_getPinnedVisibleLeafColumns } from '../column-pinning/columnPinningFeature.utils'\nimport { cloneState } from '../../utils'\nimport type { GroupingState } from '../column-grouping/columnGroupingFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type { ColumnOrderState } from './columnOrderingFeature.types'\n\n/**\n * Creates the default column order state.\n *\n * The feature default is an empty array, meaning leaf columns keep their natural\n * definition order. Reset APIs use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const order = getDefaultColumnOrderState()\n * ```\n */\nexport function getDefaultColumnOrderState(): ColumnOrderState {\n return []\n}\n\n/**\n * Finds this column's index within a visible pinning region.\n *\n * Pass `'left'`, `'center'`, or `'right'` to search that region; omit the\n * position to search the full visible leaf column list.\n *\n * @example\n * ```ts\n * const index = column_getIndex(column, 'center')\n * ```\n */\nexport function column_getIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns.findIndex((d) => d.id === column.id)\n}\n\n/**\n * Checks whether this column is the first visible column in a pinning region.\n *\n * The same `position` semantics as `column_getIndex` apply.\n *\n * @example\n * ```ts\n * const isFirst = column_getIsFirstColumn(column, 'left')\n * ```\n */\nexport function column_getIsFirstColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[0]?.id === column.id\n}\n\n/**\n * Checks whether this column is the last visible column in a pinning region.\n *\n * The same `position` semantics as `column_getIndex` apply.\n *\n * @example\n * ```ts\n * const isLast = column_getIsLastColumn(column, 'right')\n * ```\n */\nexport function column_getIsLastColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[columns.length - 1]?.id === column.id\n}\n\n/**\n * Routes a column order updater through the table's column-order change handler.\n *\n * The updater may be a next ordered id array or a function of the previous\n * array, matching the instance `table.setColumnOrder` behavior.\n *\n * @example\n * ```ts\n * table_setColumnOrder(table, ['firstName', 'lastName', 'age'])\n * ```\n */\nexport function table_setColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnOrderState>) {\n table.options.onColumnOrderChange?.(updater)\n}\n\n/**\n * Resets `columnOrder` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnOrder` when it\n * exists. Passing `true` ignores initial state and resets to `[]`.\n *\n * @example\n * ```ts\n * table_resetColumnOrder(table)\n * table_resetColumnOrder(table, true)\n * ```\n */\nexport function table_resetColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnOrder(\n table,\n defaultState ? [] : cloneState(table.initialState.columnOrder ?? []),\n )\n}\n\n/**\n * Creates the ordering function used to arrange leaf columns.\n *\n * The returned function applies `state.columnOrder`, preserves unspecified\n * columns in their original order, then delegates to grouping rules.\n *\n * @example\n * ```ts\n * const orderColumnsForTable = table_getOrderColumnsFn(table)\n * ```\n */\nexport function table_getOrderColumnsFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const columnOrder = table.atoms.columnOrder?.get()\n\n return (columns: Array<Column_Internal<TFeatures, TData, unknown>>) => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns: Array<Column_Internal<TFeatures, TData, unknown>> = []\n\n // If there is no order, return the normal columns\n if (!columnOrder?.length) {\n orderedColumns = columns\n } else {\n // Index columns by id for O(1) lookup\n const remaining = new Map<\n string,\n Column_Internal<TFeatures, TData, unknown>\n >()\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]!\n remaining.set(column.id, column)\n }\n\n // Place columns in the requested order, removing each as it's used\n // (handles duplicates and unknown ids in columnOrder)\n for (let i = 0; i < columnOrder.length; i++) {\n const id = columnOrder[i]!\n const column = remaining.get(id)\n if (column) {\n orderedColumns.push(column)\n remaining.delete(id)\n }\n }\n\n // Append leftover columns in their original order\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]!\n if (remaining.has(column.id)) orderedColumns.push(column)\n }\n }\n\n return orderColumns(table, orderedColumns)\n }\n}\n\n/**\n * Applies grouped-column placement rules to an already ordered leaf-column list.\n *\n * `groupedColumnMode: 'remove'` drops grouped columns from the list.\n * `groupedColumnMode: 'reorder'` moves grouped columns to the front in grouping\n * state order.\n *\n * @example\n * ```ts\n * const orderedColumns = orderColumns(table, leafColumns)\n * ```\n */\nexport function orderColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n leafColumns: Array<Column_Internal<TFeatures, TData, unknown>>,\n) {\n const grouping = table.atoms.grouping?.get() ?? ([] as GroupingState)\n const { groupedColumnMode } = table.options\n\n if (!grouping.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n (col) => !grouping.includes(col.id),\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const leafColumnsById = new Map<\n string,\n Column_Internal<TFeatures, TData, unknown>\n >()\n for (let i = 0; i < leafColumns.length; i++) {\n const col = leafColumns[i]!\n leafColumnsById.set(col.id, col)\n }\n\n const groupingColumns: Array<Column_Internal<TFeatures, TData, unknown>> = []\n for (let i = 0; i < grouping.length; i++) {\n const col = leafColumnsById.get(grouping[i]!)\n if (col) groupingColumns.push(col)\n }\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"mappings":";;;;;;;;;;;;;;;AAqBA,SAAgB,6BAA+C;CAC7D,OAAO,CAAC;AACV;;;;;;;;;;;;AAaA,SAAgB,gBAKd,QACA,UACA;CAEA,OADgB,kCAAkC,OAAO,OAAO,QACnD,CAAC,CAAC,WAAW,MAAM,EAAE,OAAO,OAAO,EAAE;AACpD;;;;;;;;;;;AAYA,SAAgB,wBAKd,QACA,UACA;;CAEA,qBADgB,kCAAkC,OAAO,OAAO,QACnD,CAAC,CAAC,0DAAI,QAAO,OAAO;AACnC;;;;;;;;;;;AAYA,SAAgB,uBAKd,QACA,UACA;;CACA,MAAM,UAAU,kCAAkC,OAAO,OAAO,QAAQ;CACxE,oBAAO,QAAQ,QAAQ,SAAS,wDAAI,QAAO,OAAO;AACpD;;;;;;;;;;;;AAaA,SAAgB,qBAGd,OAAyC,SAAoC;;CAC7E,iDAAM,SAAQ,gHAAsB,OAAO;AAC7C;;;;;;;;;;;;;AAcA,SAAgB,uBAGd,OAAyC,cAAwB;CACjE,qBACE,OACA,eAAe,CAAC,IAAI,WAAW,MAAM,aAAa,eAAe,CAAC,CAAC,CACrE;AACF;;;;;;;;;;;;AAaA,SAAgB,wBAGd,OAAyC;;CACzC,MAAM,uCAAc,MAAM,MAAM,2FAAa,IAAI;CAEjD,QAAQ,YAA+D;EAGrE,IAAI,iBAAoE,CAAC;EAGzE,IAAI,4DAAC,YAAa,SAChB,iBAAiB;OACZ;GAEL,MAAM,4BAAY,IAAI,IAGpB;GACF,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;IACvC,MAAM,SAAS,QAAQ;IACvB,UAAU,IAAI,OAAO,IAAI,MAAM;GACjC;GAIA,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;IAC3C,MAAM,KAAK,YAAY;IACvB,MAAM,SAAS,UAAU,IAAI,EAAE;IAC/B,IAAI,QAAQ;KACV,eAAe,KAAK,MAAM;KAC1B,UAAU,OAAO,EAAE;IACrB;GACF;GAGA,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;IACvC,MAAM,SAAS,QAAQ;IACvB,IAAI,UAAU,IAAI,OAAO,EAAE,GAAG,eAAe,KAAK,MAAM;GAC1D;EACF;EAEA,OAAO,aAAa,OAAO,cAAc;CAC3C;AACF;;;;;;;;;;;;;AAcA,SAAgB,aAId,OACA,aACA;;CACA,MAAM,qCAAW,MAAM,MAAM,wFAAU,IAAI,MAAM,CAAC;CAClD,MAAM,EAAE,sBAAsB,MAAM;CAEpC,IAAI,CAAC,SAAS,UAAU,CAAC,mBACvB,OAAO;CAGT,MAAM,qBAAqB,YAAY,QACpC,QAAQ,CAAC,SAAS,SAAS,IAAI,EAAE,CACpC;CAEA,IAAI,sBAAsB,UACxB,OAAO;CAGT,MAAM,kCAAkB,IAAI,IAG1B;CACF,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;EAC3C,MAAM,MAAM,YAAY;EACxB,gBAAgB,IAAI,IAAI,IAAI,GAAG;CACjC;CAEA,MAAM,kBAAqE,CAAC;CAC5E,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,MAAM,gBAAgB,IAAI,SAAS,EAAG;EAC5C,IAAI,KAAK,gBAAgB,KAAK,GAAG;CACnC;CAEA,OAAO,CAAC,GAAG,iBAAiB,GAAG,kBAAkB;AACnD"}
|
|
1
|
+
{"version":3,"file":"columnOrderingFeature.utils.js","names":[],"sources":["../../../src/features/column-ordering/columnOrderingFeature.utils.ts"],"sourcesContent":["import { table_getPinnedVisibleLeafColumns } from '../column-pinning/columnPinningFeature.utils'\nimport { callMemoOrStaticFn, cloneState, makeObjectMap } from '../../utils'\nimport type { GroupingState } from '../column-grouping/columnGroupingFeature.types'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Column, Column_Internal } from '../../types/Column'\nimport type { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types'\nimport type {\n ColumnIndexes,\n ColumnOrderState,\n} from './columnOrderingFeature.types'\n\n/**\n * Creates the default column order state.\n *\n * The feature default is an empty array, meaning leaf columns keep their natural\n * definition order. Reset APIs use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const order = getDefaultColumnOrderState()\n * ```\n */\nexport function getDefaultColumnOrderState(): ColumnOrderState {\n return []\n}\n\n/**\n * Builds column-id to index records for each visible pinning region.\n *\n * All four regions are built in one pass so a single memo entry serves every\n * `column_getIndex` lookup without per-column scans.\n *\n * @example\n * ```ts\n * const indexes = table_getColumnIndexes(table)\n * ```\n */\nexport function table_getColumnIndexes<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): ColumnIndexes {\n const buildIndexes = (\n columns: ReadonlyArray<\n | Column<TFeatures, TData, unknown>\n | Column_Internal<TFeatures, TData, unknown>\n >,\n ): Record<string, number> => {\n const indexes = makeObjectMap<number>()\n for (let i = 0; i < columns.length; i++) {\n indexes[columns[i]!.id] = i\n }\n return indexes\n }\n\n return {\n all: buildIndexes(table_getPinnedVisibleLeafColumns(table)),\n center: buildIndexes(table_getPinnedVisibleLeafColumns(table, 'center')),\n start: buildIndexes(table_getPinnedVisibleLeafColumns(table, 'start')),\n end: buildIndexes(table_getPinnedVisibleLeafColumns(table, 'end')),\n }\n}\n\n/**\n * Finds this column's index within a visible pinning region.\n *\n * Pass `'start'`, `'center'`, or `'end'` to search that region; omit the\n * position to search the full visible leaf column list.\n *\n * @example\n * ```ts\n * const index = column_getIndex(column, 'center')\n * ```\n */\nexport function column_getIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const indexes = callMemoOrStaticFn(\n column.table,\n 'getColumnIndexes',\n table_getColumnIndexes,\n )\n const key =\n position === 'start'\n ? 'start'\n : position === 'end'\n ? 'end'\n : position === 'center'\n ? 'center'\n : 'all'\n return indexes[key][column.id] ?? -1\n}\n\n/**\n * Checks whether this column is the first visible column in a pinning region.\n *\n * The same `position` semantics as `column_getIndex` apply.\n *\n * @example\n * ```ts\n * const isFirst = column_getIsFirstColumn(column, 'start')\n * ```\n */\nexport function column_getIsFirstColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[0]?.id === column.id\n}\n\n/**\n * Checks whether this column is the last visible column in a pinning region.\n *\n * The same `position` semantics as `column_getIndex` apply.\n *\n * @example\n * ```ts\n * const isLast = column_getIsLastColumn(column, 'end')\n * ```\n */\nexport function column_getIsLastColumn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n position?: ColumnPinningPosition | 'center',\n) {\n const columns = table_getPinnedVisibleLeafColumns(column.table, position)\n return columns[columns.length - 1]?.id === column.id\n}\n\n/**\n * Routes a column order updater through the table's column-order change handler.\n *\n * The updater may be a next ordered id array or a function of the previous\n * array, matching the instance `table.setColumnOrder` behavior.\n *\n * @example\n * ```ts\n * table_setColumnOrder(table, ['firstName', 'lastName', 'age'])\n * ```\n */\nexport function table_setColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnOrderState>) {\n table.options.onColumnOrderChange?.(updater)\n}\n\n/**\n * Resets `columnOrder` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnOrder` when it\n * exists. Passing `true` ignores initial state and resets to `[]`.\n *\n * @example\n * ```ts\n * table_resetColumnOrder(table)\n * table_resetColumnOrder(table, true)\n * ```\n */\nexport function table_resetColumnOrder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnOrder(\n table,\n defaultState ? [] : cloneState(table.initialState.columnOrder ?? []),\n )\n}\n\n/**\n * Creates the ordering function used to arrange leaf columns.\n *\n * The returned function applies `state.columnOrder`, preserves unspecified\n * columns in their original order, then delegates to grouping rules.\n *\n * @example\n * ```ts\n * const orderColumnsForTable = table_getOrderColumnsFn(table)\n * ```\n */\nexport function table_getOrderColumnsFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const columnOrder = table.atoms.columnOrder?.get()\n\n return (columns: Array<Column_Internal<TFeatures, TData, unknown>>) => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns: Array<Column_Internal<TFeatures, TData, unknown>> = []\n\n // If there is no order, return the normal columns\n if (!columnOrder?.length) {\n orderedColumns = columns\n } else {\n // Index columns by id for O(1) lookup\n const remaining = new Map<\n string,\n Column_Internal<TFeatures, TData, unknown>\n >()\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]!\n remaining.set(column.id, column)\n }\n\n // Place columns in the requested order, removing each as it's used\n // (handles duplicates and unknown ids in columnOrder)\n for (let i = 0; i < columnOrder.length; i++) {\n const id = columnOrder[i]!\n const column = remaining.get(id)\n if (column) {\n orderedColumns.push(column)\n remaining.delete(id)\n }\n }\n\n // Append leftover columns in their original order\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i]!\n if (remaining.has(column.id)) orderedColumns.push(column)\n }\n }\n\n return orderColumns(table, orderedColumns)\n }\n}\n\n/**\n * Applies grouped-column placement rules to an already ordered leaf-column list.\n *\n * `groupedColumnMode: 'remove'` drops grouped columns from the list.\n * `groupedColumnMode: 'reorder'` moves grouped columns to the front in grouping\n * state order.\n *\n * @example\n * ```ts\n * const orderedColumns = orderColumns(table, leafColumns)\n * ```\n */\nexport function orderColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n leafColumns: Array<Column_Internal<TFeatures, TData, unknown>>,\n) {\n const grouping = table.atoms.grouping?.get() ?? ([] as GroupingState)\n const { groupedColumnMode } = table.options\n\n if (!grouping.length || !groupedColumnMode) {\n return leafColumns\n }\n\n const nonGroupingColumns = leafColumns.filter(\n (col) => !grouping.includes(col.id),\n )\n\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns\n }\n\n const leafColumnsById = new Map<\n string,\n Column_Internal<TFeatures, TData, unknown>\n >()\n for (let i = 0; i < leafColumns.length; i++) {\n const col = leafColumns[i]!\n leafColumnsById.set(col.id, col)\n }\n\n const groupingColumns: Array<Column_Internal<TFeatures, TData, unknown>> = []\n for (let i = 0; i < grouping.length; i++) {\n const col = leafColumnsById.get(grouping[i]!)\n if (col) groupingColumns.push(col)\n }\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"mappings":"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"}
|