@tanstack/table-core 9.0.0-alpha.0 → 9.0.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/core/cells/constructCell.d.ts +7 -0
- package/dist/esm/core/cells/constructCell.js +21 -0
- package/dist/esm/core/cells/constructCell.js.map +1 -0
- package/dist/esm/core/cells/coreCellsFeature.d.ts +10 -0
- package/dist/esm/core/cells/coreCellsFeature.js +26 -0
- package/dist/esm/core/cells/coreCellsFeature.js.map +1 -0
- package/dist/esm/core/cells/coreCellsFeature.types.d.ts +52 -0
- package/dist/esm/core/cells/coreCellsFeature.utils.d.ts +13 -0
- package/dist/esm/core/cells/coreCellsFeature.utils.js +23 -0
- package/dist/esm/core/cells/coreCellsFeature.utils.js.map +1 -0
- package/dist/esm/core/columns/constructColumn.d.ts +6 -0
- package/dist/esm/core/columns/constructColumn.js +60 -0
- package/dist/esm/core/columns/constructColumn.js.map +1 -0
- package/dist/esm/core/columns/coreColumnsFeature.d.ts +10 -0
- package/dist/esm/core/columns/coreColumnsFeature.js +61 -0
- package/dist/esm/core/columns/coreColumnsFeature.js.map +1 -0
- package/dist/esm/core/columns/coreColumnsFeature.types.d.ts +84 -0
- package/dist/esm/core/columns/coreColumnsFeature.utils.d.ts +13 -0
- package/dist/esm/core/columns/coreColumnsFeature.utils.js +91 -0
- package/dist/esm/core/columns/coreColumnsFeature.utils.js.map +1 -0
- package/dist/esm/core/coreFeatures.d.ts +15 -0
- package/dist/esm/core/coreFeatures.js +18 -0
- package/dist/esm/core/coreFeatures.js.map +1 -0
- package/dist/esm/core/headers/buildHeaderGroups.d.ts +6 -0
- package/dist/esm/core/headers/buildHeaderGroups.js +99 -0
- package/dist/esm/core/headers/buildHeaderGroups.js.map +1 -0
- package/dist/esm/core/headers/constructHeader.d.ts +12 -0
- package/dist/esm/core/headers/constructHeader.js +28 -0
- package/dist/esm/core/headers/constructHeader.js.map +1 -0
- package/dist/esm/core/headers/coreHeadersFeature.d.ts +10 -0
- package/dist/esm/core/headers/coreHeadersFeature.js +68 -0
- package/dist/esm/core/headers/coreHeadersFeature.js.map +1 -0
- package/dist/esm/core/headers/coreHeadersFeature.types.d.ts +99 -0
- package/dist/esm/core/headers/coreHeadersFeature.utils.d.ts +15 -0
- package/dist/esm/core/headers/coreHeadersFeature.utils.js +85 -0
- package/dist/esm/core/headers/coreHeadersFeature.utils.js.map +1 -0
- package/dist/esm/core/row-models/coreRowModelsFeature.d.ts +10 -0
- package/dist/esm/core/row-models/coreRowModelsFeature.js +52 -0
- package/dist/esm/core/row-models/coreRowModelsFeature.js.map +1 -0
- package/dist/esm/core/row-models/coreRowModelsFeature.types.d.ts +39 -0
- package/dist/esm/core/row-models/coreRowModelsFeature.utils.d.ts +16 -0
- package/dist/esm/core/row-models/coreRowModelsFeature.utils.js +85 -0
- package/dist/esm/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
- package/dist/esm/core/row-models/createCoreRowModel.d.ts +5 -0
- package/dist/esm/core/row-models/createCoreRowModel.js +54 -0
- package/dist/esm/core/row-models/createCoreRowModel.js.map +1 -0
- package/dist/esm/core/rows/constructRow.d.ts +5 -0
- package/dist/esm/core/rows/constructRow.js +29 -0
- package/dist/esm/core/rows/constructRow.js.map +1 -0
- package/dist/esm/core/rows/coreRowsFeature.d.ts +10 -0
- package/dist/esm/core/rows/coreRowsFeature.js +52 -0
- package/dist/esm/core/rows/coreRowsFeature.js.map +1 -0
- package/dist/esm/core/rows/coreRowsFeature.types.d.ts +91 -0
- package/dist/esm/core/rows/coreRowsFeature.utils.d.ts +15 -0
- package/dist/esm/core/rows/coreRowsFeature.utils.js +94 -0
- package/dist/esm/core/rows/coreRowsFeature.utils.js.map +1 -0
- package/dist/esm/core/table/constructTable.d.ts +9 -0
- package/dist/esm/core/table/constructTable.js +65 -0
- package/dist/esm/core/table/constructTable.js.map +1 -0
- package/dist/esm/core/table/coreTablesFeature.d.ts +10 -0
- package/dist/esm/core/table/coreTablesFeature.js +22 -0
- package/dist/esm/core/table/coreTablesFeature.js.map +1 -0
- package/dist/esm/core/table/coreTablesFeature.types.d.ts +105 -0
- package/dist/esm/core/table/coreTablesFeature.utils.d.ts +7 -0
- package/dist/esm/core/table/coreTablesFeature.utils.js +23 -0
- package/dist/esm/core/table/coreTablesFeature.utils.js.map +1 -0
- package/dist/esm/features/column-faceting/columnFacetingFeature.d.ts +10 -0
- package/dist/esm/features/column-faceting/columnFacetingFeature.js +80 -0
- package/dist/esm/features/column-faceting/columnFacetingFeature.js.map +1 -0
- package/dist/esm/features/column-faceting/columnFacetingFeature.types.d.ts +68 -0
- package/dist/esm/features/column-faceting/columnFacetingFeature.utils.d.ts +11 -0
- package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js +33 -0
- package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
- package/dist/esm/features/column-faceting/createFacetedMinMaxValues.d.ts +4 -0
- package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js +41 -0
- package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
- package/dist/esm/features/column-faceting/createFacetedRowModel.d.ts +5 -0
- package/dist/esm/features/column-faceting/createFacetedRowModel.js +47 -0
- package/dist/esm/features/column-faceting/createFacetedRowModel.js.map +1 -0
- package/dist/esm/features/column-faceting/createFacetedUniqueValues.d.ts +4 -0
- package/dist/esm/features/column-faceting/createFacetedUniqueValues.js +46 -0
- package/dist/esm/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
- package/dist/esm/features/column-filtering/columnFilteringFeature.d.ts +11 -0
- package/dist/esm/features/column-filtering/columnFilteringFeature.js +69 -0
- package/dist/esm/features/column-filtering/columnFilteringFeature.js.map +1 -0
- package/dist/esm/features/column-filtering/columnFilteringFeature.types.d.ts +145 -0
- package/dist/esm/features/column-filtering/columnFilteringFeature.utils.d.ts +16 -0
- package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js +118 -0
- package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
- package/dist/esm/features/column-filtering/createFilteredRowModel.d.ts +6 -0
- package/dist/esm/features/column-filtering/createFilteredRowModel.js +110 -0
- package/dist/esm/features/column-filtering/createFilteredRowModel.js.map +1 -0
- package/dist/esm/features/column-filtering/filterRowsUtils.d.ts +6 -0
- package/dist/esm/{utils → features/column-filtering}/filterRowsUtils.js +15 -19
- package/dist/esm/features/column-filtering/filterRowsUtils.js.map +1 -0
- package/dist/esm/features/column-grouping/columnGroupingFeature.d.ts +10 -0
- package/dist/esm/features/column-grouping/columnGroupingFeature.js +91 -0
- package/dist/esm/features/column-grouping/columnGroupingFeature.js.map +1 -0
- package/dist/esm/features/column-grouping/columnGroupingFeature.types.d.ts +153 -0
- package/dist/esm/features/column-grouping/columnGroupingFeature.utils.d.ts +22 -0
- package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js +99 -0
- package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
- package/dist/esm/features/column-grouping/createGroupedRowModel.d.ts +6 -0
- package/dist/esm/features/column-grouping/createGroupedRowModel.js +144 -0
- package/dist/esm/features/column-grouping/createGroupedRowModel.js.map +1 -0
- package/dist/esm/features/column-ordering/columnOrderingFeature.d.ts +10 -0
- package/dist/esm/features/column-ordering/columnOrderingFeature.js +60 -0
- package/dist/esm/features/column-ordering/columnOrderingFeature.js.map +1 -0
- package/dist/{cjs/features/ColumnOrdering.d.cts → esm/features/column-ordering/columnOrderingFeature.types.d.ts} +8 -22
- package/dist/esm/features/column-ordering/columnOrderingFeature.utils.d.ts +14 -0
- package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js +72 -0
- package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
- package/dist/esm/features/column-pinning/columnPinningFeature.d.ts +10 -0
- package/dist/esm/features/column-pinning/columnPinningFeature.js +260 -0
- package/dist/esm/features/column-pinning/columnPinningFeature.js.map +1 -0
- package/dist/esm/features/column-pinning/columnPinningFeature.types.d.ts +157 -0
- package/dist/esm/features/column-pinning/columnPinningFeature.utils.d.ts +39 -0
- package/dist/esm/features/column-pinning/columnPinningFeature.utils.js +325 -0
- package/dist/esm/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
- package/dist/esm/features/column-resizing/columnResizingFeature.d.ts +11 -0
- package/dist/esm/features/column-resizing/columnResizingFeature.js +52 -0
- package/dist/esm/features/column-resizing/columnResizingFeature.js.map +1 -0
- package/dist/esm/features/column-resizing/columnResizingFeature.types.d.ts +68 -0
- package/dist/esm/features/column-resizing/columnResizingFeature.utils.d.ts +14 -0
- package/dist/esm/features/column-resizing/columnResizingFeature.utils.js +193 -0
- package/dist/esm/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
- package/dist/esm/features/column-sizing/columnSizingFeature.d.ts +11 -0
- package/dist/esm/features/column-sizing/columnSizingFeature.js +95 -0
- package/dist/esm/features/column-sizing/columnSizingFeature.js.map +1 -0
- package/dist/esm/features/column-sizing/columnSizingFeature.types.d.ts +81 -0
- package/dist/esm/features/column-sizing/columnSizingFeature.utils.d.ts +25 -0
- package/dist/esm/features/column-sizing/columnSizingFeature.utils.js +128 -0
- package/dist/esm/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
- package/dist/esm/features/column-visibility/columnVisibilityFeature.d.ts +10 -0
- package/dist/esm/features/column-visibility/columnVisibilityFeature.js +100 -0
- package/dist/esm/features/column-visibility/columnVisibilityFeature.js.map +1 -0
- package/dist/esm/features/column-visibility/columnVisibilityFeature.types.d.ts +84 -0
- package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.d.ts +22 -0
- package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js +105 -0
- package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
- package/dist/esm/features/global-filtering/globalFilteringFeature.d.ts +11 -0
- package/dist/esm/features/global-filtering/globalFilteringFeature.js +51 -0
- package/dist/esm/features/global-filtering/globalFilteringFeature.js.map +1 -0
- package/dist/esm/features/global-filtering/globalFilteringFeature.types.d.ts +59 -0
- package/dist/esm/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -0
- package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js +30 -0
- package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
- package/dist/esm/features/row-expanding/createExpandedRowModel.d.ts +6 -0
- package/dist/esm/features/row-expanding/createExpandedRowModel.js +49 -0
- package/dist/esm/features/row-expanding/createExpandedRowModel.js.map +1 -0
- package/dist/esm/features/row-expanding/rowExpandingFeature.d.ts +10 -0
- package/dist/esm/features/row-expanding/rowExpandingFeature.js +74 -0
- package/dist/esm/features/row-expanding/rowExpandingFeature.js.map +1 -0
- package/dist/esm/features/row-expanding/rowExpandingFeature.types.d.ts +116 -0
- package/dist/esm/features/row-expanding/rowExpandingFeature.utils.d.ts +20 -0
- package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js +125 -0
- package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
- package/dist/esm/features/row-pagination/createPaginatedRowModel.d.ts +5 -0
- package/dist/esm/features/row-pagination/createPaginatedRowModel.js +58 -0
- package/dist/esm/features/row-pagination/createPaginatedRowModel.js.map +1 -0
- package/dist/esm/features/row-pagination/rowPaginationFeature.d.ts +10 -0
- package/dist/esm/features/row-pagination/rowPaginationFeature.js +78 -0
- package/dist/esm/features/row-pagination/rowPaginationFeature.js.map +1 -0
- package/dist/esm/features/row-pagination/rowPaginationFeature.types.d.ts +119 -0
- package/dist/esm/features/row-pagination/rowPaginationFeature.utils.d.ts +21 -0
- package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js +126 -0
- package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
- package/dist/esm/features/row-pinning/rowPinningFeature.d.ts +10 -0
- package/dist/esm/features/row-pinning/rowPinningFeature.js +80 -0
- package/dist/esm/features/row-pinning/rowPinningFeature.js.map +1 -0
- package/dist/esm/features/row-pinning/rowPinningFeature.types.d.ts +72 -0
- package/dist/esm/features/row-pinning/rowPinningFeature.utils.d.ts +16 -0
- package/dist/esm/features/row-pinning/rowPinningFeature.utils.js +115 -0
- package/dist/esm/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
- package/dist/esm/features/row-selection/rowSelectionFeature.d.ts +10 -0
- package/dist/esm/features/row-selection/rowSelectionFeature.js +112 -0
- package/dist/esm/features/row-selection/rowSelectionFeature.js.map +1 -0
- package/dist/esm/features/row-selection/rowSelectionFeature.types.d.ts +123 -0
- package/dist/esm/features/row-selection/rowSelectionFeature.utils.d.ts +34 -0
- package/dist/esm/features/row-selection/rowSelectionFeature.utils.js +290 -0
- package/dist/esm/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
- package/dist/esm/features/row-sorting/createSortedRowModel.d.ts +6 -0
- package/dist/esm/features/row-sorting/createSortedRowModel.js +94 -0
- package/dist/esm/features/row-sorting/createSortedRowModel.js.map +1 -0
- package/dist/esm/features/row-sorting/rowSortingFeature.d.ts +10 -0
- package/dist/esm/features/row-sorting/rowSortingFeature.js +82 -0
- package/dist/esm/features/row-sorting/rowSortingFeature.js.map +1 -0
- package/dist/esm/features/row-sorting/rowSortingFeature.types.d.ts +178 -0
- package/dist/esm/features/row-sorting/rowSortingFeature.utils.d.ts +20 -0
- package/dist/esm/features/row-sorting/rowSortingFeature.utils.js +181 -0
- package/dist/esm/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
- package/dist/esm/features/stockFeatures.d.ts +31 -0
- package/dist/esm/features/stockFeatures.js +34 -0
- package/dist/esm/features/stockFeatures.js.map +1 -0
- package/dist/esm/fns/aggregationFns.d.ts +49 -0
- package/dist/esm/fns/aggregationFns.js +110 -0
- package/dist/esm/fns/aggregationFns.js.map +1 -0
- package/dist/esm/fns/filterFns.d.ts +76 -0
- package/dist/esm/fns/filterFns.js +134 -0
- package/dist/esm/fns/filterFns.js.map +1 -0
- package/dist/esm/fns/sortFns.d.ts +17 -0
- package/dist/esm/{sortingFns.js → fns/sortFns.js} +21 -15
- package/dist/esm/fns/sortFns.js.map +1 -0
- package/dist/esm/helpers/columnHelper.d.ts +61 -0
- package/dist/esm/{columnHelper.js → helpers/columnHelper.js} +1 -0
- package/dist/esm/helpers/columnHelper.js.map +1 -0
- package/dist/esm/helpers/tableFeatures.d.ts +13 -0
- package/dist/esm/helpers/tableFeatures.js +7 -0
- package/dist/esm/helpers/tableFeatures.js.map +1 -0
- package/dist/esm/helpers/tableHelper.d.ts +25 -0
- package/dist/esm/helpers/tableHelper.js +13 -0
- package/dist/esm/helpers/tableHelper.js.map +1 -0
- package/dist/esm/helpers/tableOptions.d.ts +23 -0
- package/dist/esm/helpers/tableOptions.js +7 -0
- package/dist/esm/helpers/tableOptions.js.map +1 -0
- package/dist/esm/index.d.ts +109 -33
- package/dist/esm/index.js +397 -65
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/Cell.d.ts +13 -0
- package/dist/esm/types/Column.d.ts +26 -0
- package/dist/esm/types/ColumnDef.d.ts +64 -0
- package/dist/esm/types/Header.d.ts +14 -0
- package/dist/esm/types/HeaderGroup.d.ts +12 -0
- package/dist/esm/types/Row.d.ts +19 -0
- package/dist/esm/types/RowModel.d.ts +23 -0
- package/dist/esm/types/RowModelFns.d.ts +15 -0
- package/dist/esm/types/Table.d.ts +53 -0
- package/dist/esm/types/TableFeatures.d.ts +77 -0
- package/dist/esm/types/TableOptions.d.ts +39 -0
- package/dist/esm/types/TableState.d.ts +23 -0
- package/dist/esm/types/type-utils.d.ts +22 -0
- package/dist/esm/utils.d.ts +66 -33
- package/dist/esm/utils.js +183 -52
- package/dist/esm/utils.js.map +1 -1
- package/package.json +21 -12
- package/src/core/cells/constructCell.ts +49 -0
- package/src/core/cells/coreCellsFeature.ts +44 -0
- package/src/core/cells/coreCellsFeature.types.ts +68 -0
- package/src/core/cells/coreCellsFeature.utils.ts +35 -0
- package/src/core/columns/constructColumn.ts +111 -0
- package/src/core/columns/coreColumnsFeature.ts +90 -0
- package/src/core/columns/coreColumnsFeature.types.ts +103 -0
- package/src/core/columns/coreColumnsFeature.utils.ts +160 -0
- package/src/core/coreFeatures.ts +24 -0
- package/src/core/headers/buildHeaderGroups.ts +177 -0
- package/src/core/headers/constructHeader.ts +61 -0
- package/src/core/headers/coreHeadersFeature.ts +98 -0
- package/src/core/headers/coreHeadersFeature.types.ts +123 -0
- package/src/core/headers/coreHeadersFeature.utils.ts +131 -0
- package/src/core/row-models/coreRowModelsFeature.ts +78 -0
- package/src/core/row-models/coreRowModelsFeature.types.ts +67 -0
- package/src/core/row-models/coreRowModelsFeature.utils.ts +140 -0
- package/src/core/row-models/createCoreRowModel.ts +88 -0
- package/src/core/rows/constructRow.ts +59 -0
- package/src/core/rows/coreRowsFeature.ts +84 -0
- package/src/core/rows/coreRowsFeature.types.ts +111 -0
- package/src/core/rows/coreRowsFeature.utils.ts +152 -0
- package/src/core/table/constructTable.ts +95 -0
- package/src/core/table/coreTablesFeature.ts +36 -0
- package/src/core/table/coreTablesFeature.types.ts +123 -0
- package/src/core/table/coreTablesFeature.utils.ts +40 -0
- package/src/features/column-faceting/columnFacetingFeature.ts +112 -0
- package/src/features/column-faceting/columnFacetingFeature.types.ts +97 -0
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +77 -0
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +63 -0
- package/src/features/column-faceting/createFacetedRowModel.ts +76 -0
- package/src/features/column-faceting/createFacetedUniqueValues.ts +60 -0
- package/src/features/column-filtering/columnFilteringFeature.ts +121 -0
- package/src/features/column-filtering/columnFilteringFeature.types.ts +219 -0
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +213 -0
- package/src/features/column-filtering/createFilteredRowModel.ts +171 -0
- package/src/features/column-filtering/filterRowsUtils.ts +152 -0
- package/src/features/column-grouping/columnGroupingFeature.ts +151 -0
- package/src/features/column-grouping/columnGroupingFeature.types.ts +218 -0
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +192 -0
- package/src/features/column-grouping/createGroupedRowModel.ts +215 -0
- package/src/features/column-ordering/columnOrderingFeature.ts +96 -0
- package/src/features/column-ordering/columnOrderingFeature.types.ts +49 -0
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +133 -0
- package/src/features/column-pinning/columnPinningFeature.ts +324 -0
- package/src/features/column-pinning/columnPinningFeature.types.ts +176 -0
- package/src/features/column-pinning/columnPinningFeature.utils.ts +537 -0
- package/src/features/column-resizing/columnResizingFeature.ts +92 -0
- package/src/features/column-resizing/columnResizingFeature.types.ts +81 -0
- package/src/features/column-resizing/columnResizingFeature.utils.ts +265 -0
- package/src/features/column-sizing/columnSizingFeature.ts +146 -0
- package/src/features/column-sizing/columnSizingFeature.types.ts +92 -0
- package/src/features/column-sizing/columnSizingFeature.utils.ts +211 -0
- package/src/features/column-visibility/columnVisibilityFeature.ts +155 -0
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +101 -0
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +183 -0
- package/src/features/global-filtering/globalFilteringFeature.ts +92 -0
- package/src/features/global-filtering/globalFilteringFeature.types.ts +84 -0
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +60 -0
- package/src/features/row-expanding/createExpandedRowModel.ts +72 -0
- package/src/features/row-expanding/rowExpandingFeature.ts +122 -0
- package/src/features/row-expanding/rowExpandingFeature.types.ts +141 -0
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +207 -0
- package/src/features/row-pagination/createPaginatedRowModel.ts +78 -0
- package/src/features/row-pagination/rowPaginationFeature.ts +121 -0
- package/src/features/row-pagination/rowPaginationFeature.types.ts +141 -0
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +204 -0
- package/src/features/row-pinning/rowPinningFeature.ts +121 -0
- package/src/features/row-pinning/rowPinningFeature.types.ts +89 -0
- package/src/features/row-pinning/rowPinningFeature.utils.ts +197 -0
- package/src/features/row-selection/rowSelectionFeature.ts +164 -0
- package/src/features/row-selection/rowSelectionFeature.types.ts +143 -0
- package/src/features/row-selection/rowSelectionFeature.utils.ts +464 -0
- package/src/features/row-sorting/createSortedRowModel.ts +147 -0
- package/src/features/row-sorting/rowSortingFeature.ts +136 -0
- package/src/features/row-sorting/rowSortingFeature.types.ts +229 -0
- package/src/features/row-sorting/rowSortingFeature.utils.ts +320 -0
- package/src/features/stockFeatures.ts +48 -0
- package/src/fns/aggregationFns.ts +220 -0
- package/src/fns/filterFns.ts +379 -0
- package/src/{sortingFns.ts → fns/sortFns.ts} +66 -21
- package/src/helpers/columnHelper.ts +117 -0
- package/src/helpers/tableFeatures.ts +24 -0
- package/src/helpers/tableHelper.ts +61 -0
- package/src/helpers/tableOptions.ts +82 -0
- package/src/index.ts +156 -42
- package/src/types/Cell.ts +41 -0
- package/src/types/Column.ts +86 -0
- package/src/types/ColumnDef.ts +217 -0
- package/src/types/Header.ts +45 -0
- package/src/types/HeaderGroup.ts +24 -0
- package/src/types/Row.ts +55 -0
- package/src/types/RowModel.ts +137 -0
- package/src/types/RowModelFns.ts +51 -0
- package/src/types/Table.ts +125 -0
- package/src/types/TableFeatures.ts +150 -0
- package/src/types/TableOptions.ts +125 -0
- package/src/types/TableState.ts +88 -0
- package/src/types/type-utils.ts +84 -0
- package/src/utils.ts +344 -163
- package/dist/cjs/aggregationFns.cjs +0 -98
- package/dist/cjs/aggregationFns.cjs.map +0 -1
- package/dist/cjs/aggregationFns.d.cts +0 -14
- package/dist/cjs/columnHelper.cjs +0 -19
- package/dist/cjs/columnHelper.cjs.map +0 -1
- package/dist/cjs/columnHelper.d.cts +0 -9
- package/dist/cjs/core/cell.cjs +0 -38
- package/dist/cjs/core/cell.cjs.map +0 -1
- package/dist/cjs/core/cell.d.cts +0 -50
- package/dist/cjs/core/column.cjs +0 -81
- package/dist/cjs/core/column.cjs.map +0 -1
- package/dist/cjs/core/column.d.cts +0 -56
- package/dist/cjs/core/headers.cjs +0 -310
- package/dist/cjs/core/headers.cjs.map +0 -1
- package/dist/cjs/core/headers.d.cts +0 -195
- package/dist/cjs/core/row.cjs +0 -93
- package/dist/cjs/core/row.cjs.map +0 -1
- package/dist/cjs/core/row.d.cts +0 -92
- package/dist/cjs/core/table.cjs +0 -228
- package/dist/cjs/core/table.cjs.map +0 -1
- package/dist/cjs/core/table.d.cts +0 -221
- package/dist/cjs/features/ColumnFaceting.cjs +0 -29
- package/dist/cjs/features/ColumnFaceting.cjs.map +0 -1
- package/dist/cjs/features/ColumnFaceting.d.cts +0 -35
- package/dist/cjs/features/ColumnFiltering.cjs +0 -137
- package/dist/cjs/features/ColumnFiltering.cjs.map +0 -1
- package/dist/cjs/features/ColumnFiltering.d.cts +0 -195
- package/dist/cjs/features/ColumnGrouping.cjs +0 -134
- package/dist/cjs/features/ColumnGrouping.cjs.map +0 -1
- package/dist/cjs/features/ColumnGrouping.d.cts +0 -202
- package/dist/cjs/features/ColumnOrdering.cjs +0 -76
- package/dist/cjs/features/ColumnOrdering.cjs.map +0 -1
- package/dist/cjs/features/ColumnPinning.cjs +0 -145
- package/dist/cjs/features/ColumnPinning.cjs.map +0 -1
- package/dist/cjs/features/ColumnPinning.d.cts +0 -127
- package/dist/cjs/features/ColumnSizing.cjs +0 -308
- package/dist/cjs/features/ColumnSizing.cjs.map +0 -1
- package/dist/cjs/features/ColumnSizing.d.cts +0 -194
- package/dist/cjs/features/ColumnVisibility.cjs +0 -144
- package/dist/cjs/features/ColumnVisibility.cjs.map +0 -1
- package/dist/cjs/features/ColumnVisibility.d.cts +0 -130
- package/dist/cjs/features/GlobalFaceting.cjs +0 -29
- package/dist/cjs/features/GlobalFaceting.cjs.map +0 -1
- package/dist/cjs/features/GlobalFaceting.d.cts +0 -27
- package/dist/cjs/features/GlobalFiltering.cjs +0 -50
- package/dist/cjs/features/GlobalFiltering.cjs.map +0 -1
- package/dist/cjs/features/GlobalFiltering.d.cts +0 -80
- package/dist/cjs/features/RowExpanding.cjs +0 -154
- package/dist/cjs/features/RowExpanding.cjs.map +0 -1
- package/dist/cjs/features/RowExpanding.d.cts +0 -155
- package/dist/cjs/features/RowPagination.cjs +0 -162
- package/dist/cjs/features/RowPagination.cjs.map +0 -1
- package/dist/cjs/features/RowPagination.d.cts +0 -166
- package/dist/cjs/features/RowPinning.cjs +0 -133
- package/dist/cjs/features/RowPinning.cjs.map +0 -1
- package/dist/cjs/features/RowPinning.d.cts +0 -99
- package/dist/cjs/features/RowSelection.cjs +0 -298
- package/dist/cjs/features/RowSelection.cjs.map +0 -1
- package/dist/cjs/features/RowSelection.d.cts +0 -177
- package/dist/cjs/features/RowSorting.cjs +0 -201
- package/dist/cjs/features/RowSorting.cjs.map +0 -1
- package/dist/cjs/features/RowSorting.d.cts +0 -238
- package/dist/cjs/filterFns.cjs +0 -88
- package/dist/cjs/filterFns.cjs.map +0 -1
- package/dist/cjs/filterFns.d.cts +0 -14
- package/dist/cjs/index.cjs +0 -87
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/index.d.cts +0 -34
- package/dist/cjs/sortingFns.cjs +0 -91
- package/dist/cjs/sortingFns.cjs.map +0 -1
- package/dist/cjs/sortingFns.d.cts +0 -12
- package/dist/cjs/types.d.cts +0 -120
- package/dist/cjs/utils/filterRowsUtils.cjs +0 -99
- package/dist/cjs/utils/filterRowsUtils.cjs.map +0 -1
- package/dist/cjs/utils/filterRowsUtils.d.cts +0 -3
- package/dist/cjs/utils/getCoreRowModel.cjs +0 -54
- package/dist/cjs/utils/getCoreRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getCoreRowModel.d.cts +0 -3
- package/dist/cjs/utils/getExpandedRowModel.cjs +0 -41
- package/dist/cjs/utils/getExpandedRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getExpandedRowModel.d.cts +0 -8
- package/dist/cjs/utils/getFacetedMinMaxValues.cjs +0 -36
- package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +0 -1
- package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +0 -3
- package/dist/cjs/utils/getFacetedRowModel.cjs +0 -35
- package/dist/cjs/utils/getFacetedRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getFacetedRowModel.d.cts +0 -3
- package/dist/cjs/utils/getFacetedUniqueValues.cjs +0 -38
- package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +0 -1
- package/dist/cjs/utils/getFacetedUniqueValues.d.cts +0 -3
- package/dist/cjs/utils/getFilteredRowModel.cjs +0 -116
- package/dist/cjs/utils/getFilteredRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getFilteredRowModel.d.cts +0 -3
- package/dist/cjs/utils/getGroupedRowModel.cjs +0 -118
- package/dist/cjs/utils/getGroupedRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getGroupedRowModel.d.cts +0 -3
- package/dist/cjs/utils/getPaginationRowModel.cjs +0 -49
- package/dist/cjs/utils/getPaginationRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getPaginationRowModel.d.cts +0 -5
- package/dist/cjs/utils/getSortedRowModel.cjs +0 -91
- package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
- package/dist/cjs/utils.cjs +0 -100
- package/dist/cjs/utils.cjs.map +0 -1
- package/dist/cjs/utils.d.cts +0 -39
- package/dist/esm/aggregationFns.d.ts +0 -14
- package/dist/esm/aggregationFns.js +0 -98
- package/dist/esm/aggregationFns.js.map +0 -1
- package/dist/esm/columnHelper.d.ts +0 -9
- package/dist/esm/columnHelper.js.map +0 -1
- package/dist/esm/core/cell.d.ts +0 -50
- package/dist/esm/core/cell.js +0 -38
- package/dist/esm/core/cell.js.map +0 -1
- package/dist/esm/core/column.d.ts +0 -56
- package/dist/esm/core/column.js +0 -81
- package/dist/esm/core/column.js.map +0 -1
- package/dist/esm/core/headers.d.ts +0 -195
- package/dist/esm/core/headers.js +0 -310
- package/dist/esm/core/headers.js.map +0 -1
- package/dist/esm/core/row.d.ts +0 -92
- package/dist/esm/core/row.js +0 -93
- package/dist/esm/core/row.js.map +0 -1
- package/dist/esm/core/table.d.ts +0 -221
- package/dist/esm/core/table.js +0 -228
- package/dist/esm/core/table.js.map +0 -1
- package/dist/esm/features/ColumnFaceting.d.ts +0 -35
- package/dist/esm/features/ColumnFaceting.js +0 -29
- package/dist/esm/features/ColumnFaceting.js.map +0 -1
- package/dist/esm/features/ColumnFiltering.d.ts +0 -195
- package/dist/esm/features/ColumnFiltering.js +0 -137
- package/dist/esm/features/ColumnFiltering.js.map +0 -1
- package/dist/esm/features/ColumnGrouping.d.ts +0 -202
- package/dist/esm/features/ColumnGrouping.js +0 -134
- package/dist/esm/features/ColumnGrouping.js.map +0 -1
- package/dist/esm/features/ColumnOrdering.d.ts +0 -54
- package/dist/esm/features/ColumnOrdering.js +0 -76
- package/dist/esm/features/ColumnOrdering.js.map +0 -1
- package/dist/esm/features/ColumnPinning.d.ts +0 -127
- package/dist/esm/features/ColumnPinning.js +0 -145
- package/dist/esm/features/ColumnPinning.js.map +0 -1
- package/dist/esm/features/ColumnSizing.d.ts +0 -194
- package/dist/esm/features/ColumnSizing.js +0 -308
- package/dist/esm/features/ColumnSizing.js.map +0 -1
- package/dist/esm/features/ColumnVisibility.d.ts +0 -130
- package/dist/esm/features/ColumnVisibility.js +0 -144
- package/dist/esm/features/ColumnVisibility.js.map +0 -1
- package/dist/esm/features/GlobalFaceting.d.ts +0 -27
- package/dist/esm/features/GlobalFaceting.js +0 -29
- package/dist/esm/features/GlobalFaceting.js.map +0 -1
- package/dist/esm/features/GlobalFiltering.d.ts +0 -80
- package/dist/esm/features/GlobalFiltering.js +0 -50
- package/dist/esm/features/GlobalFiltering.js.map +0 -1
- package/dist/esm/features/RowExpanding.d.ts +0 -155
- package/dist/esm/features/RowExpanding.js +0 -154
- package/dist/esm/features/RowExpanding.js.map +0 -1
- package/dist/esm/features/RowPagination.d.ts +0 -166
- package/dist/esm/features/RowPagination.js +0 -162
- package/dist/esm/features/RowPagination.js.map +0 -1
- package/dist/esm/features/RowPinning.d.ts +0 -99
- package/dist/esm/features/RowPinning.js +0 -133
- package/dist/esm/features/RowPinning.js.map +0 -1
- package/dist/esm/features/RowSelection.d.ts +0 -177
- package/dist/esm/features/RowSelection.js +0 -298
- package/dist/esm/features/RowSelection.js.map +0 -1
- package/dist/esm/features/RowSorting.d.ts +0 -238
- package/dist/esm/features/RowSorting.js +0 -201
- package/dist/esm/features/RowSorting.js.map +0 -1
- package/dist/esm/filterFns.d.ts +0 -14
- package/dist/esm/filterFns.js +0 -88
- package/dist/esm/filterFns.js.map +0 -1
- package/dist/esm/sortingFns.d.ts +0 -12
- package/dist/esm/sortingFns.js.map +0 -1
- package/dist/esm/types.d.ts +0 -120
- package/dist/esm/utils/filterRowsUtils.d.ts +0 -3
- package/dist/esm/utils/filterRowsUtils.js.map +0 -1
- package/dist/esm/utils/getCoreRowModel.d.ts +0 -3
- package/dist/esm/utils/getCoreRowModel.js +0 -54
- package/dist/esm/utils/getCoreRowModel.js.map +0 -1
- package/dist/esm/utils/getExpandedRowModel.d.ts +0 -8
- package/dist/esm/utils/getExpandedRowModel.js +0 -41
- package/dist/esm/utils/getExpandedRowModel.js.map +0 -1
- package/dist/esm/utils/getFacetedMinMaxValues.d.ts +0 -3
- package/dist/esm/utils/getFacetedMinMaxValues.js +0 -36
- package/dist/esm/utils/getFacetedMinMaxValues.js.map +0 -1
- package/dist/esm/utils/getFacetedRowModel.d.ts +0 -3
- package/dist/esm/utils/getFacetedRowModel.js +0 -35
- package/dist/esm/utils/getFacetedRowModel.js.map +0 -1
- package/dist/esm/utils/getFacetedUniqueValues.d.ts +0 -3
- package/dist/esm/utils/getFacetedUniqueValues.js +0 -38
- package/dist/esm/utils/getFacetedUniqueValues.js.map +0 -1
- package/dist/esm/utils/getFilteredRowModel.d.ts +0 -3
- package/dist/esm/utils/getFilteredRowModel.js +0 -116
- package/dist/esm/utils/getFilteredRowModel.js.map +0 -1
- package/dist/esm/utils/getGroupedRowModel.d.ts +0 -3
- package/dist/esm/utils/getGroupedRowModel.js +0 -118
- package/dist/esm/utils/getGroupedRowModel.js.map +0 -1
- package/dist/esm/utils/getPaginationRowModel.d.ts +0 -5
- package/dist/esm/utils/getPaginationRowModel.js +0 -49
- package/dist/esm/utils/getPaginationRowModel.js.map +0 -1
- package/dist/esm/utils/getSortedRowModel.d.ts +0 -3
- package/dist/esm/utils/getSortedRowModel.js +0 -91
- package/dist/esm/utils/getSortedRowModel.js.map +0 -1
- package/src/aggregationFns.ts +0 -123
- package/src/columnHelper.ts +0 -91
- package/src/core/cell.ts +0 -91
- package/src/core/column.ts +0 -165
- package/src/core/headers.ts +0 -639
- package/src/core/row.ts +0 -201
- package/src/core/table.ts +0 -527
- package/src/features/ColumnFaceting.ts +0 -84
- package/src/features/ColumnFiltering.ts +0 -429
- package/src/features/ColumnGrouping.ts +0 -422
- package/src/features/ColumnOrdering.ts +0 -161
- package/src/features/ColumnPinning.ts +0 -336
- package/src/features/ColumnSizing.ts +0 -579
- package/src/features/ColumnVisibility.ts +0 -317
- package/src/features/GlobalFaceting.ts +0 -66
- package/src/features/GlobalFiltering.ts +0 -162
- package/src/features/RowExpanding.ts +0 -355
- package/src/features/RowPagination.ts +0 -396
- package/src/features/RowPinning.ts +0 -273
- package/src/features/RowSelection.ts +0 -668
- package/src/features/RowSorting.ts +0 -542
- package/src/filterFns.ts +0 -150
- package/src/types.ts +0 -361
- package/src/utils/filterRowsUtils.ts +0 -130
- package/src/utils/getCoreRowModel.ts +0 -82
- package/src/utils/getExpandedRowModel.ts +0 -51
- package/src/utils/getFacetedMinMaxValues.ts +0 -42
- package/src/utils/getFacetedRowModel.ts +0 -44
- package/src/utils/getFacetedUniqueValues.ts +0 -42
- package/src/utils/getFilteredRowModel.ts +0 -151
- package/src/utils/getGroupedRowModel.ts +0 -181
- package/src/utils/getPaginationRowModel.ts +0 -60
- package/src/utils/getSortedRowModel.ts +0 -121
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { assignTableAPIs, assignPrototypeAPIs, makeStateUpdater } from "../../utils.js";
|
|
2
|
+
import { table_getOrderColumnsFn, table_resetColumnOrder, table_setColumnOrder, column_getIsLastColumn, column_getIsFirstColumn, column_getIndex, getDefaultColumnOrderState } from "./columnOrderingFeature.utils.js";
|
|
3
|
+
function constructColumnOrderingFeature() {
|
|
4
|
+
return {
|
|
5
|
+
getInitialState: (initialState) => {
|
|
6
|
+
return {
|
|
7
|
+
columnOrder: getDefaultColumnOrderState(),
|
|
8
|
+
...initialState
|
|
9
|
+
};
|
|
10
|
+
},
|
|
11
|
+
getDefaultTableOptions: (table) => {
|
|
12
|
+
return {
|
|
13
|
+
onColumnOrderChange: makeStateUpdater("columnOrder", table)
|
|
14
|
+
};
|
|
15
|
+
},
|
|
16
|
+
assignColumnPrototype: (prototype, table) => {
|
|
17
|
+
assignPrototypeAPIs("columnOrderingFeature", prototype, table, {
|
|
18
|
+
column_getIndex: {
|
|
19
|
+
fn: (column, position) => column_getIndex(column, position),
|
|
20
|
+
memoDeps: (column, position) => [
|
|
21
|
+
position,
|
|
22
|
+
column.table.store.state.columnOrder,
|
|
23
|
+
column.table.store.state.columnPinning,
|
|
24
|
+
column.table.store.state.grouping
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
column_getIsFirstColumn: {
|
|
28
|
+
fn: (column, position) => column_getIsFirstColumn(column, position)
|
|
29
|
+
},
|
|
30
|
+
column_getIsLastColumn: {
|
|
31
|
+
fn: (column, position) => column_getIsLastColumn(column, position)
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
},
|
|
35
|
+
constructTableAPIs: (table) => {
|
|
36
|
+
assignTableAPIs("columnOrderingFeature", table, {
|
|
37
|
+
table_setColumnOrder: {
|
|
38
|
+
fn: (updater) => table_setColumnOrder(table, updater)
|
|
39
|
+
},
|
|
40
|
+
table_resetColumnOrder: {
|
|
41
|
+
fn: (defaultState) => table_resetColumnOrder(table, defaultState)
|
|
42
|
+
},
|
|
43
|
+
table_getOrderColumnsFn: {
|
|
44
|
+
fn: () => table_getOrderColumnsFn(table),
|
|
45
|
+
memoDeps: () => [
|
|
46
|
+
table.store.state.columnOrder,
|
|
47
|
+
table.store.state.grouping,
|
|
48
|
+
table.options.groupedColumnMode
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const columnOrderingFeature = constructColumnOrderingFeature();
|
|
56
|
+
export {
|
|
57
|
+
columnOrderingFeature,
|
|
58
|
+
constructColumnOrderingFeature
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=columnOrderingFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnOrderingFeature.js","sources":["../../../../src/features/column-ordering/columnOrderingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getIndex,\n column_getIsFirstColumn,\n column_getIsLastColumn,\n getDefaultColumnOrderState,\n table_getOrderColumnsFn,\n table_resetColumnOrder,\n table_setColumnOrder,\n} from './columnOrderingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Column_ColumnOrdering,\n// TableOptions_ColumnOrdering,\n// TableState_ColumnOrdering,\n// Table_ColumnOrdering,\n// } from './columnOrderingFeature.types'\n\ninterface ColumnOrderingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Column: Column_ColumnOrdering\n // Table: Table_ColumnOrdering<TFeatures, TData>\n // TableOptions: TableOptions_ColumnOrdering\n // TableState: TableState_ColumnOrdering\n}\n\nexport function constructColumnOrderingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnOrderingFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnOrder: getDefaultColumnOrderState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnOrderingFeature', prototype, table, {\n column_getIndex: {\n fn: (column, position) => column_getIndex(column, position),\n memoDeps: (column, position) => [\n position,\n column.table.store.state.columnOrder,\n column.table.store.state.columnPinning,\n column.table.store.state.grouping,\n ],\n },\n column_getIsFirstColumn: {\n fn: (column, position) => column_getIsFirstColumn(column, position),\n },\n column_getIsLastColumn: {\n fn: (column, position) => column_getIsLastColumn(column, position),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnOrderingFeature', table, {\n table_setColumnOrder: {\n fn: (updater) => table_setColumnOrder(table, updater),\n },\n table_resetColumnOrder: {\n fn: (defaultState) => table_resetColumnOrder(table, defaultState),\n },\n table_getOrderColumnsFn: {\n fn: () => table_getOrderColumnsFn(table),\n memoDeps: () => [\n table.store.state.columnOrder,\n table.store.state.grouping,\n table.options.groupedColumnMode,\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Column Ordering feature adds column ordering state and APIs to the table and column objects.\n */\nexport const columnOrderingFeature = constructColumnOrderingFeature()\n"],"names":[],"mappings":";;AAiCO,SAAS,iCAGuD;AACrE,SAAO;AAAA,IACL,iBAAiB,CAAC,iBAAiB;AACjC,aAAO;AAAA,QACL,aAAa,2BAAA;AAAA,QACb,GAAG;AAAA,MAAA;AAAA,IAEP;AAAA,IAEA,wBAAwB,CAAC,UAAU;AACjC,aAAO;AAAA,QACL,qBAAqB,iBAAiB,eAAe,KAAK;AAAA,MAAA;AAAA,IAE9D;AAAA,IAEA,uBAAuB,CAAC,WAAW,UAAU;AAC3C,0BAAoB,yBAAyB,WAAW,OAAO;AAAA,QAC7D,iBAAiB;AAAA,UACf,IAAI,CAAC,QAAQ,aAAa,gBAAgB,QAAQ,QAAQ;AAAA,UAC1D,UAAU,CAAC,QAAQ,aAAa;AAAA,YAC9B;AAAA,YACA,OAAO,MAAM,MAAM,MAAM;AAAA,YACzB,OAAO,MAAM,MAAM,MAAM;AAAA,YACzB,OAAO,MAAM,MAAM,MAAM;AAAA,UAAA;AAAA,QAC3B;AAAA,QAEF,yBAAyB;AAAA,UACvB,IAAI,CAAC,QAAQ,aAAa,wBAAwB,QAAQ,QAAQ;AAAA,QAAA;AAAA,QAEpE,wBAAwB;AAAA,UACtB,IAAI,CAAC,QAAQ,aAAa,uBAAuB,QAAQ,QAAQ;AAAA,QAAA;AAAA,MACnE,CACD;AAAA,IACH;AAAA,IAEA,oBAAoB,CAAC,UAAU;AAC7B,sBAAgB,yBAAyB,OAAO;AAAA,QAC9C,sBAAsB;AAAA,UACpB,IAAI,CAAC,YAAY,qBAAqB,OAAO,OAAO;AAAA,QAAA;AAAA,QAEtD,wBAAwB;AAAA,UACtB,IAAI,CAAC,iBAAiB,uBAAuB,OAAO,YAAY;AAAA,QAAA;AAAA,QAElE,yBAAyB;AAAA,UACvB,IAAI,MAAM,wBAAwB,KAAK;AAAA,UACvC,UAAU,MAAM;AAAA,YACd,MAAM,MAAM,MAAM;AAAA,YAClB,MAAM,MAAM,MAAM;AAAA,YAClB,MAAM,QAAQ;AAAA,UAAA;AAAA,QAChB;AAAA,MACF,CACD;AAAA,IACH;AAAA,EAAA;AAEJ;AAKO,MAAM,wBAAwB,+BAAA;"}
|
|
@@ -1,54 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export
|
|
1
|
+
import { OnChangeFn, RowData, Updater } from '../../types/type-utils.js';
|
|
2
|
+
import { TableFeatures } from '../../types/TableFeatures.js';
|
|
3
|
+
import { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types';
|
|
4
|
+
export type ColumnOrderState = Array<string>;
|
|
5
|
+
export interface TableState_ColumnOrdering {
|
|
5
6
|
columnOrder: ColumnOrderState;
|
|
6
7
|
}
|
|
7
|
-
export
|
|
8
|
-
export interface ColumnOrderOptions {
|
|
8
|
+
export interface TableOptions_ColumnOrdering {
|
|
9
9
|
/**
|
|
10
10
|
* If provided, this function will be called with an `updaterFn` when `state.columnOrder` changes. This overrides the default internal state management, so you will need to persist the state change either fully or partially outside of the table.
|
|
11
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-ordering#oncolumnorderchange)
|
|
12
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-ordering)
|
|
13
11
|
*/
|
|
14
12
|
onColumnOrderChange?: OnChangeFn<ColumnOrderState>;
|
|
15
13
|
}
|
|
16
|
-
export interface
|
|
14
|
+
export interface Column_ColumnOrdering {
|
|
17
15
|
/**
|
|
18
16
|
* Returns the index of the column in the order of the visible columns. Optionally pass a `position` parameter to get the index of the column in a sub-section of the table
|
|
19
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-ordering#getindex)
|
|
20
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-ordering)
|
|
21
17
|
*/
|
|
22
18
|
getIndex: (position?: ColumnPinningPosition | 'center') => number;
|
|
23
19
|
/**
|
|
24
20
|
* Returns `true` if the column is the first column in the order of the visible columns. Optionally pass a `position` parameter to check if the column is the first in a sub-section of the table.
|
|
25
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-ordering#getisfirstcolumn)
|
|
26
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-ordering)
|
|
27
21
|
*/
|
|
28
22
|
getIsFirstColumn: (position?: ColumnPinningPosition | 'center') => boolean;
|
|
29
23
|
/**
|
|
30
24
|
* Returns `true` if the column is the last column in the order of the visible columns. Optionally pass a `position` parameter to check if the column is the last in a sub-section of the table.
|
|
31
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-ordering#getislastcolumn)
|
|
32
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-ordering)
|
|
33
25
|
*/
|
|
34
26
|
getIsLastColumn: (position?: ColumnPinningPosition | 'center') => boolean;
|
|
35
27
|
}
|
|
36
28
|
export interface ColumnOrderDefaultOptions {
|
|
37
29
|
onColumnOrderChange: OnChangeFn<ColumnOrderState>;
|
|
38
30
|
}
|
|
39
|
-
export interface
|
|
40
|
-
_getOrderColumnsFn: () => (columns: Column<TData, unknown>[]) => Column<TData, unknown>[];
|
|
31
|
+
export interface Table_ColumnOrdering<TFeatures extends TableFeatures, TData extends RowData> {
|
|
41
32
|
/**
|
|
42
33
|
* Resets the **columnOrder** state to `initialState.columnOrder`, or `true` can be passed to force a default blank state reset to `[]`.
|
|
43
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-ordering#resetcolumnorder)
|
|
44
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-ordering)
|
|
45
34
|
*/
|
|
46
35
|
resetColumnOrder: (defaultState?: boolean) => void;
|
|
47
36
|
/**
|
|
48
37
|
* Sets or updates the `state.columnOrder` state.
|
|
49
|
-
* @link [API Docs](https://tanstack.com/table/v8/docs/api/features/column-ordering#setcolumnorder)
|
|
50
|
-
* @link [Guide](https://tanstack.com/table/v8/docs/guide/column-ordering)
|
|
51
38
|
*/
|
|
52
39
|
setColumnOrder: (updater: Updater<ColumnOrderState>) => void;
|
|
53
40
|
}
|
|
54
|
-
export declare const ColumnOrdering: TableFeature;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CellData, RowData, Updater } from '../../types/type-utils.js';
|
|
2
|
+
import { TableFeatures } from '../../types/TableFeatures.js';
|
|
3
|
+
import { Table_Internal } from '../../types/Table.js';
|
|
4
|
+
import { Column_Internal } from '../../types/Column.js';
|
|
5
|
+
import { ColumnPinningPosition } from '../column-pinning/columnPinningFeature.types';
|
|
6
|
+
import { ColumnOrderState } from './columnOrderingFeature.types';
|
|
7
|
+
export declare function getDefaultColumnOrderState(): ColumnOrderState;
|
|
8
|
+
export declare function column_getIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): number;
|
|
9
|
+
export declare function column_getIsFirstColumn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): boolean;
|
|
10
|
+
export declare function column_getIsLastColumn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, position?: ColumnPinningPosition | 'center'): boolean;
|
|
11
|
+
export declare function table_setColumnOrder<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnOrderState>): void;
|
|
12
|
+
export declare function table_resetColumnOrder<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
|
|
13
|
+
export declare function table_getOrderColumnsFn<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): (columns: Array<Column_Internal<TFeatures, TData, unknown>>) => Column_Internal<TFeatures, TData, unknown>[];
|
|
14
|
+
export declare function orderColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, leafColumns: Array<Column_Internal<TFeatures, TData, unknown>>): Column_Internal<TFeatures, TData, unknown>[];
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { table_getPinnedVisibleLeafColumns } from "../column-pinning/columnPinningFeature.utils.js";
|
|
2
|
+
function getDefaultColumnOrderState() {
|
|
3
|
+
return structuredClone([]);
|
|
4
|
+
}
|
|
5
|
+
function column_getIndex(column, position) {
|
|
6
|
+
const columns = table_getPinnedVisibleLeafColumns(column.table, position);
|
|
7
|
+
return columns.findIndex((d) => d.id === column.id);
|
|
8
|
+
}
|
|
9
|
+
function column_getIsFirstColumn(column, position) {
|
|
10
|
+
const columns = table_getPinnedVisibleLeafColumns(column.table, position);
|
|
11
|
+
return columns[0]?.id === column.id;
|
|
12
|
+
}
|
|
13
|
+
function column_getIsLastColumn(column, position) {
|
|
14
|
+
const columns = table_getPinnedVisibleLeafColumns(column.table, position);
|
|
15
|
+
return columns[columns.length - 1]?.id === column.id;
|
|
16
|
+
}
|
|
17
|
+
function table_setColumnOrder(table, updater) {
|
|
18
|
+
table.options.onColumnOrderChange?.(updater);
|
|
19
|
+
}
|
|
20
|
+
function table_resetColumnOrder(table, defaultState) {
|
|
21
|
+
table_setColumnOrder(
|
|
22
|
+
table,
|
|
23
|
+
defaultState ? [] : table.initialState.columnOrder ?? []
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
function table_getOrderColumnsFn(table) {
|
|
27
|
+
const { columnOrder = [] } = table.store.state;
|
|
28
|
+
return (columns) => {
|
|
29
|
+
let orderedColumns = [];
|
|
30
|
+
if (!columnOrder.length) {
|
|
31
|
+
orderedColumns = columns;
|
|
32
|
+
} else {
|
|
33
|
+
const columnOrderCopy = [...columnOrder];
|
|
34
|
+
const columnsCopy = [...columns];
|
|
35
|
+
while (columnsCopy.length && columnOrderCopy.length) {
|
|
36
|
+
const targetColumnId = columnOrderCopy.shift();
|
|
37
|
+
const foundIndex = columnsCopy.findIndex((d) => d.id === targetColumnId);
|
|
38
|
+
if (foundIndex > -1) {
|
|
39
|
+
orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
orderedColumns = [...orderedColumns, ...columnsCopy];
|
|
43
|
+
}
|
|
44
|
+
return orderColumns(table, orderedColumns);
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function orderColumns(table, leafColumns) {
|
|
48
|
+
const grouping = table.store.state.grouping ?? [];
|
|
49
|
+
const { groupedColumnMode } = table.options;
|
|
50
|
+
if (!grouping.length || !groupedColumnMode) {
|
|
51
|
+
return leafColumns;
|
|
52
|
+
}
|
|
53
|
+
const nonGroupingColumns = leafColumns.filter(
|
|
54
|
+
(col) => !grouping.includes(col.id)
|
|
55
|
+
);
|
|
56
|
+
if (groupedColumnMode === "remove") {
|
|
57
|
+
return nonGroupingColumns;
|
|
58
|
+
}
|
|
59
|
+
const groupingColumns = grouping.map((g) => leafColumns.find((col) => col.id === g)).filter(Boolean);
|
|
60
|
+
return [...groupingColumns, ...nonGroupingColumns];
|
|
61
|
+
}
|
|
62
|
+
export {
|
|
63
|
+
column_getIndex,
|
|
64
|
+
column_getIsFirstColumn,
|
|
65
|
+
column_getIsLastColumn,
|
|
66
|
+
getDefaultColumnOrderState,
|
|
67
|
+
orderColumns,
|
|
68
|
+
table_getOrderColumnsFn,
|
|
69
|
+
table_resetColumnOrder,
|
|
70
|
+
table_setColumnOrder
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=columnOrderingFeature.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnOrderingFeature.utils.js","sources":["../../../../src/features/column-ordering/columnOrderingFeature.utils.ts"],"sourcesContent":["import { table_getPinnedVisibleLeafColumns } from '../column-pinning/columnPinningFeature.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\nexport function getDefaultColumnOrderState(): ColumnOrderState {\n return structuredClone([])\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\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\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\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\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 ? [] : (table.initialState.columnOrder ?? []),\n )\n}\n\nexport function table_getOrderColumnsFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { columnOrder = [] } = table.store.state\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 const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex((d) => d.id === targetColumnId)\n if (foundIndex > -1) {\n orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]!)\n }\n }\n\n // If there are any columns left, add them to the end\n orderedColumns = [...orderedColumns, ...columnsCopy]\n }\n\n return orderColumns(table, orderedColumns)\n }\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.store.state.grouping ?? ([] 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 groupingColumns = grouping\n .map((g) => leafColumns.find((col) => col.id === g)!)\n .filter(Boolean)\n\n return [...groupingColumns, ...nonGroupingColumns]\n}\n"],"names":[],"mappings":";AASO,SAAS,6BAA+C;AAC7D,SAAO,gBAAgB,CAAA,CAAE;AAC3B;AAEO,SAAS,gBAKd,QACA,UACA;AACA,QAAM,UAAU,kCAAkC,OAAO,OAAO,QAAQ;AACxE,SAAO,QAAQ,UAAU,CAAC,MAAM,EAAE,OAAO,OAAO,EAAE;AACpD;AAEO,SAAS,wBAKd,QACA,UACA;AACA,QAAM,UAAU,kCAAkC,OAAO,OAAO,QAAQ;AACxE,SAAO,QAAQ,CAAC,GAAG,OAAO,OAAO;AACnC;AAEO,SAAS,uBAKd,QACA,UACA;AACA,QAAM,UAAU,kCAAkC,OAAO,OAAO,QAAQ;AACxE,SAAO,QAAQ,QAAQ,SAAS,CAAC,GAAG,OAAO,OAAO;AACpD;AAEO,SAAS,qBAGd,OAAyC,SAAoC;AAC7E,QAAM,QAAQ,sBAAsB,OAAO;AAC7C;AAEO,SAAS,uBAGd,OAAyC,cAAwB;AACjE;AAAA,IACE;AAAA,IACA,eAAe,CAAA,IAAM,MAAM,aAAa,eAAe,CAAA;AAAA,EAAC;AAE5D;AAEO,SAAS,wBAGd,OAAyC;AACzC,QAAM,EAAE,cAAc,CAAA,EAAC,IAAM,MAAM,MAAM;AAEzC,SAAO,CAAC,YAA+D;AAGrE,QAAI,iBAAoE,CAAA;AAGxE,QAAI,CAAC,YAAY,QAAQ;AACvB,uBAAiB;AAAA,IACnB,OAAO;AACL,YAAM,kBAAkB,CAAC,GAAG,WAAW;AAGvC,YAAM,cAAc,CAAC,GAAG,OAAO;AAK/B,aAAO,YAAY,UAAU,gBAAgB,QAAQ;AACnD,cAAM,iBAAiB,gBAAgB,MAAA;AACvC,cAAM,aAAa,YAAY,UAAU,CAAC,MAAM,EAAE,OAAO,cAAc;AACvE,YAAI,aAAa,IAAI;AACnB,yBAAe,KAAK,YAAY,OAAO,YAAY,CAAC,EAAE,CAAC,CAAE;AAAA,QAC3D;AAAA,MACF;AAGA,uBAAiB,CAAC,GAAG,gBAAgB,GAAG,WAAW;AAAA,IACrD;AAEA,WAAO,aAAa,OAAO,cAAc;AAAA,EAC3C;AACF;AAEO,SAAS,aAId,OACA,aACA;AACA,QAAM,WAAW,MAAM,MAAM,MAAM,YAAa,CAAA;AAChD,QAAM,EAAE,sBAAsB,MAAM;AAEpC,MAAI,CAAC,SAAS,UAAU,CAAC,mBAAmB;AAC1C,WAAO;AAAA,EACT;AAEA,QAAM,qBAAqB,YAAY;AAAA,IACrC,CAAC,QAAQ,CAAC,SAAS,SAAS,IAAI,EAAE;AAAA,EAAA;AAGpC,MAAI,sBAAsB,UAAU;AAClC,WAAO;AAAA,EACT;AAEA,QAAM,kBAAkB,SACrB,IAAI,CAAC,MAAM,YAAY,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAE,EACnD,OAAO,OAAO;AAEjB,SAAO,CAAC,GAAG,iBAAiB,GAAG,kBAAkB;AACnD;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RowData } from '../../types/type-utils.js';
|
|
2
|
+
import { TableFeature, TableFeatures } from '../../types/TableFeatures.js';
|
|
3
|
+
interface ColumnPinningFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {
|
|
4
|
+
}
|
|
5
|
+
export declare function constructColumnPinningFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<ColumnPinningFeatureConstructors<TFeatures, TData>>;
|
|
6
|
+
/**
|
|
7
|
+
* The Column Pinning feature adds column pinning state and APIs to the table, row, and column objects.
|
|
8
|
+
*/
|
|
9
|
+
export declare const columnPinningFeature: TableFeature<ColumnPinningFeatureConstructors<TableFeatures, RowData>>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { assignTableAPIs, callMemoOrStaticFn, assignPrototypeAPIs, makeStateUpdater } from "../../utils.js";
|
|
2
|
+
import { table_getVisibleLeafColumns } from "../column-visibility/columnVisibilityFeature.utils.js";
|
|
3
|
+
import { table_getRightVisibleLeafColumns, table_getCenterVisibleLeafColumns, table_getLeftVisibleLeafColumns, table_getCenterLeafColumns, table_getRightLeafColumns, table_getLeftLeafColumns, table_getCenterLeafHeaders, table_getRightLeafHeaders, table_getLeftLeafHeaders, table_getCenterFlatHeaders, table_getRightFlatHeaders, table_getLeftFlatHeaders, table_getRightFooterGroups, table_getCenterFooterGroups, table_getLeftFooterGroups, table_getRightHeaderGroups, table_getCenterHeaderGroups, table_getLeftHeaderGroups, table_getIsSomeColumnsPinned, table_resetColumnPinning, table_setColumnPinning, row_getRightVisibleCells, row_getLeftVisibleCells, row_getCenterVisibleCells, column_getIsPinned, column_getPinnedIndex, column_getCanPin, column_pin, getDefaultColumnPinningState } from "./columnPinningFeature.utils.js";
|
|
4
|
+
function constructColumnPinningFeature() {
|
|
5
|
+
return {
|
|
6
|
+
getInitialState: (initialState) => {
|
|
7
|
+
return {
|
|
8
|
+
columnPinning: {
|
|
9
|
+
...getDefaultColumnPinningState(),
|
|
10
|
+
...initialState.columnPinning
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
},
|
|
14
|
+
getDefaultTableOptions: (table) => {
|
|
15
|
+
return {
|
|
16
|
+
onColumnPinningChange: makeStateUpdater("columnPinning", table)
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
assignColumnPrototype: (prototype, table) => {
|
|
20
|
+
assignPrototypeAPIs("columnPinningFeature", prototype, table, {
|
|
21
|
+
column_pin: {
|
|
22
|
+
fn: (column, position) => column_pin(column, position)
|
|
23
|
+
},
|
|
24
|
+
column_getCanPin: {
|
|
25
|
+
fn: (column) => column_getCanPin(column)
|
|
26
|
+
},
|
|
27
|
+
column_getPinnedIndex: {
|
|
28
|
+
fn: (column) => column_getPinnedIndex(column)
|
|
29
|
+
},
|
|
30
|
+
column_getIsPinned: {
|
|
31
|
+
fn: (column) => column_getIsPinned(column)
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
},
|
|
35
|
+
assignRowPrototype: (prototype, table) => {
|
|
36
|
+
assignPrototypeAPIs("columnPinningFeature", prototype, table, {
|
|
37
|
+
row_getCenterVisibleCells: {
|
|
38
|
+
fn: (row) => row_getCenterVisibleCells(row),
|
|
39
|
+
memoDeps: (row) => [
|
|
40
|
+
row.getAllCells(),
|
|
41
|
+
row.table.store.state.columnPinning,
|
|
42
|
+
row.table.store.state.columnVisibility
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
row_getLeftVisibleCells: {
|
|
46
|
+
fn: (row) => row_getLeftVisibleCells(row),
|
|
47
|
+
memoDeps: (row) => [
|
|
48
|
+
row.getAllCells(),
|
|
49
|
+
row.table.store.state.columnPinning?.left,
|
|
50
|
+
row.table.store.state.columnVisibility
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
row_getRightVisibleCells: {
|
|
54
|
+
fn: (row) => row_getRightVisibleCells(row),
|
|
55
|
+
memoDeps: (row) => [
|
|
56
|
+
row.getAllCells(),
|
|
57
|
+
row.table.store.state.columnPinning?.right,
|
|
58
|
+
row.table.store.state.columnVisibility
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
},
|
|
63
|
+
constructTableAPIs: (table) => {
|
|
64
|
+
assignTableAPIs("columnPinningFeature", table, {
|
|
65
|
+
table_setColumnPinning: {
|
|
66
|
+
fn: (updater) => table_setColumnPinning(table, updater)
|
|
67
|
+
},
|
|
68
|
+
table_resetColumnPinning: {
|
|
69
|
+
fn: (defaultState) => table_resetColumnPinning(table, defaultState)
|
|
70
|
+
},
|
|
71
|
+
table_getIsSomeColumnsPinned: {
|
|
72
|
+
fn: (position) => table_getIsSomeColumnsPinned(table, position)
|
|
73
|
+
},
|
|
74
|
+
// header groups
|
|
75
|
+
table_getLeftHeaderGroups: {
|
|
76
|
+
fn: () => table_getLeftHeaderGroups(table),
|
|
77
|
+
memoDeps: () => [
|
|
78
|
+
table.getAllColumns(),
|
|
79
|
+
callMemoOrStaticFn(
|
|
80
|
+
table,
|
|
81
|
+
"getVisibleLeafColumns",
|
|
82
|
+
table_getVisibleLeafColumns
|
|
83
|
+
),
|
|
84
|
+
table.store.state.columnPinning?.left
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
table_getCenterHeaderGroups: {
|
|
88
|
+
fn: () => table_getCenterHeaderGroups(table),
|
|
89
|
+
memoDeps: () => [
|
|
90
|
+
table.getAllColumns(),
|
|
91
|
+
callMemoOrStaticFn(
|
|
92
|
+
table,
|
|
93
|
+
"getVisibleLeafColumns",
|
|
94
|
+
table_getVisibleLeafColumns
|
|
95
|
+
),
|
|
96
|
+
table.store.state.columnPinning
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
table_getRightHeaderGroups: {
|
|
100
|
+
fn: () => table_getRightHeaderGroups(table),
|
|
101
|
+
memoDeps: () => [
|
|
102
|
+
table.getAllColumns(),
|
|
103
|
+
callMemoOrStaticFn(
|
|
104
|
+
table,
|
|
105
|
+
"getVisibleLeafColumns",
|
|
106
|
+
table_getVisibleLeafColumns
|
|
107
|
+
),
|
|
108
|
+
table.store.state.columnPinning?.right
|
|
109
|
+
]
|
|
110
|
+
},
|
|
111
|
+
// footer groups
|
|
112
|
+
table_getLeftFooterGroups: {
|
|
113
|
+
fn: () => table_getLeftFooterGroups(table),
|
|
114
|
+
memoDeps: () => [
|
|
115
|
+
callMemoOrStaticFn(
|
|
116
|
+
table,
|
|
117
|
+
"getLeftHeaderGroups",
|
|
118
|
+
table_getLeftHeaderGroups
|
|
119
|
+
)
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
table_getCenterFooterGroups: {
|
|
123
|
+
fn: () => table_getCenterFooterGroups(table),
|
|
124
|
+
memoDeps: () => [
|
|
125
|
+
callMemoOrStaticFn(
|
|
126
|
+
table,
|
|
127
|
+
"getCenterHeaderGroups",
|
|
128
|
+
table_getCenterHeaderGroups
|
|
129
|
+
)
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
table_getRightFooterGroups: {
|
|
133
|
+
fn: () => table_getRightFooterGroups(table),
|
|
134
|
+
memoDeps: () => [
|
|
135
|
+
callMemoOrStaticFn(
|
|
136
|
+
table,
|
|
137
|
+
"getRightHeaderGroups",
|
|
138
|
+
table_getRightHeaderGroups
|
|
139
|
+
)
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
// flat headers
|
|
143
|
+
table_getLeftFlatHeaders: {
|
|
144
|
+
fn: () => table_getLeftFlatHeaders(table),
|
|
145
|
+
memoDeps: () => [
|
|
146
|
+
callMemoOrStaticFn(
|
|
147
|
+
table,
|
|
148
|
+
"getLeftHeaderGroups",
|
|
149
|
+
table_getLeftHeaderGroups
|
|
150
|
+
)
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
table_getRightFlatHeaders: {
|
|
154
|
+
fn: () => table_getRightFlatHeaders(table),
|
|
155
|
+
memoDeps: () => [
|
|
156
|
+
callMemoOrStaticFn(
|
|
157
|
+
table,
|
|
158
|
+
"getRightHeaderGroups",
|
|
159
|
+
table_getRightHeaderGroups
|
|
160
|
+
)
|
|
161
|
+
]
|
|
162
|
+
},
|
|
163
|
+
table_getCenterFlatHeaders: {
|
|
164
|
+
fn: () => table_getCenterFlatHeaders(table),
|
|
165
|
+
memoDeps: () => [
|
|
166
|
+
callMemoOrStaticFn(
|
|
167
|
+
table,
|
|
168
|
+
"getCenterHeaderGroups",
|
|
169
|
+
table_getCenterHeaderGroups
|
|
170
|
+
)
|
|
171
|
+
]
|
|
172
|
+
},
|
|
173
|
+
// leaf headers
|
|
174
|
+
table_getLeftLeafHeaders: {
|
|
175
|
+
fn: () => table_getLeftLeafHeaders(table),
|
|
176
|
+
memoDeps: () => [
|
|
177
|
+
callMemoOrStaticFn(
|
|
178
|
+
table,
|
|
179
|
+
"getLeftHeaderGroups",
|
|
180
|
+
table_getLeftHeaderGroups
|
|
181
|
+
)
|
|
182
|
+
]
|
|
183
|
+
},
|
|
184
|
+
table_getRightLeafHeaders: {
|
|
185
|
+
fn: () => table_getRightLeafHeaders(table),
|
|
186
|
+
memoDeps: () => [
|
|
187
|
+
callMemoOrStaticFn(
|
|
188
|
+
table,
|
|
189
|
+
"getRightHeaderGroups",
|
|
190
|
+
table_getRightHeaderGroups
|
|
191
|
+
)
|
|
192
|
+
]
|
|
193
|
+
},
|
|
194
|
+
table_getCenterLeafHeaders: {
|
|
195
|
+
fn: () => table_getCenterLeafHeaders(table),
|
|
196
|
+
memoDeps: () => [
|
|
197
|
+
callMemoOrStaticFn(
|
|
198
|
+
table,
|
|
199
|
+
"getCenterHeaderGroups",
|
|
200
|
+
table_getCenterHeaderGroups
|
|
201
|
+
)
|
|
202
|
+
]
|
|
203
|
+
},
|
|
204
|
+
// leaf columns
|
|
205
|
+
table_getLeftLeafColumns: {
|
|
206
|
+
fn: () => table_getLeftLeafColumns(table),
|
|
207
|
+
memoDeps: () => [
|
|
208
|
+
table.options.columns,
|
|
209
|
+
table.store.state.columnPinning
|
|
210
|
+
]
|
|
211
|
+
},
|
|
212
|
+
table_getRightLeafColumns: {
|
|
213
|
+
fn: () => table_getRightLeafColumns(table),
|
|
214
|
+
memoDeps: () => [
|
|
215
|
+
table.options.columns,
|
|
216
|
+
table.store.state.columnPinning
|
|
217
|
+
]
|
|
218
|
+
},
|
|
219
|
+
table_getCenterLeafColumns: {
|
|
220
|
+
fn: () => table_getCenterLeafColumns(table),
|
|
221
|
+
memoDeps: () => [
|
|
222
|
+
table.options.columns,
|
|
223
|
+
table.store.state.columnPinning
|
|
224
|
+
]
|
|
225
|
+
},
|
|
226
|
+
// visible leaf columns
|
|
227
|
+
table_getLeftVisibleLeafColumns: {
|
|
228
|
+
fn: () => table_getLeftVisibleLeafColumns(table),
|
|
229
|
+
memoDeps: () => [
|
|
230
|
+
table.options.columns,
|
|
231
|
+
table.store.state.columnPinning,
|
|
232
|
+
table.store.state.columnVisibility
|
|
233
|
+
]
|
|
234
|
+
},
|
|
235
|
+
table_getCenterVisibleLeafColumns: {
|
|
236
|
+
fn: () => table_getCenterVisibleLeafColumns(table),
|
|
237
|
+
memoDeps: () => [
|
|
238
|
+
table.options.columns,
|
|
239
|
+
table.store.state.columnPinning,
|
|
240
|
+
table.store.state.columnVisibility
|
|
241
|
+
]
|
|
242
|
+
},
|
|
243
|
+
table_getRightVisibleLeafColumns: {
|
|
244
|
+
fn: () => table_getRightVisibleLeafColumns(table),
|
|
245
|
+
memoDeps: () => [
|
|
246
|
+
table.options.columns,
|
|
247
|
+
table.store.state.columnPinning,
|
|
248
|
+
table.store.state.columnVisibility
|
|
249
|
+
]
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
const columnPinningFeature = constructColumnPinningFeature();
|
|
256
|
+
export {
|
|
257
|
+
columnPinningFeature,
|
|
258
|
+
constructColumnPinningFeature
|
|
259
|
+
};
|
|
260
|
+
//# sourceMappingURL=columnPinningFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnPinningFeature.js","sources":["../../../../src/features/column-pinning/columnPinningFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n makeStateUpdater,\n} from '../../utils'\nimport { table_getVisibleLeafColumns } from '../column-visibility/columnVisibilityFeature.utils'\nimport {\n column_getCanPin,\n column_getIsPinned,\n column_getPinnedIndex,\n column_pin,\n getDefaultColumnPinningState,\n row_getCenterVisibleCells,\n row_getLeftVisibleCells,\n row_getRightVisibleCells,\n table_getCenterFlatHeaders,\n table_getCenterFooterGroups,\n table_getCenterHeaderGroups,\n table_getCenterLeafColumns,\n table_getCenterLeafHeaders,\n table_getCenterVisibleLeafColumns,\n table_getIsSomeColumnsPinned,\n table_getLeftFlatHeaders,\n table_getLeftFooterGroups,\n table_getLeftHeaderGroups,\n table_getLeftLeafColumns,\n table_getLeftLeafHeaders,\n table_getLeftVisibleLeafColumns,\n table_getRightFlatHeaders,\n table_getRightFooterGroups,\n table_getRightHeaderGroups,\n table_getRightLeafColumns,\n table_getRightLeafHeaders,\n table_getRightVisibleLeafColumns,\n table_resetColumnPinning,\n table_setColumnPinning,\n} from './columnPinningFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// ColumnDef_ColumnPinning,\n// Column_ColumnPinning,\n// Row_ColumnPinning,\n// TableOptions_ColumnPinning,\n// TableState_ColumnPinning,\n// Table_ColumnPinning,\n// } from './columnPinningFeature.types'\n\ninterface ColumnPinningFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Column: Column_ColumnPinning\n // ColumnDef: ColumnDef_ColumnPinning\n // Row: Row_ColumnPinning<TFeatures, TData>\n // Table: Table_ColumnPinning<TFeatures, TData>\n // TableOptions: TableOptions_ColumnPinning\n // TableState: TableState_ColumnPinning\n}\n\nexport function constructColumnPinningFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnPinningFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnPinning: {\n ...getDefaultColumnPinningState(),\n ...initialState.columnPinning,\n },\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnPinningFeature', prototype, table, {\n column_pin: {\n fn: (column, position) => column_pin(column, position),\n },\n column_getCanPin: {\n fn: (column) => column_getCanPin(column),\n },\n column_getPinnedIndex: {\n fn: (column) => column_getPinnedIndex(column),\n },\n column_getIsPinned: {\n fn: (column) => column_getIsPinned(column),\n },\n })\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnPinningFeature', prototype, table, {\n row_getCenterVisibleCells: {\n fn: (row) => row_getCenterVisibleCells(row),\n memoDeps: (row) => [\n row.getAllCells(),\n row.table.store.state.columnPinning,\n row.table.store.state.columnVisibility,\n ],\n },\n row_getLeftVisibleCells: {\n fn: (row) => row_getLeftVisibleCells(row),\n memoDeps: (row) => [\n row.getAllCells(),\n row.table.store.state.columnPinning?.left,\n row.table.store.state.columnVisibility,\n ],\n },\n row_getRightVisibleCells: {\n fn: (row) => row_getRightVisibleCells(row),\n memoDeps: (row) => [\n row.getAllCells(),\n row.table.store.state.columnPinning?.right,\n row.table.store.state.columnVisibility,\n ],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnPinningFeature', table, {\n table_setColumnPinning: {\n fn: (updater) => table_setColumnPinning(table, updater),\n },\n table_resetColumnPinning: {\n fn: (defaultState) => table_resetColumnPinning(table, defaultState),\n },\n table_getIsSomeColumnsPinned: {\n fn: (position) => table_getIsSomeColumnsPinned(table, position),\n },\n // header groups\n table_getLeftHeaderGroups: {\n fn: () => table_getLeftHeaderGroups(table),\n memoDeps: () => [\n table.getAllColumns(),\n callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ),\n table.store.state.columnPinning?.left,\n ],\n },\n table_getCenterHeaderGroups: {\n fn: () => table_getCenterHeaderGroups(table),\n memoDeps: () => [\n table.getAllColumns(),\n callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ),\n table.store.state.columnPinning,\n ],\n },\n table_getRightHeaderGroups: {\n fn: () => table_getRightHeaderGroups(table),\n memoDeps: () => [\n table.getAllColumns(),\n callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ),\n table.store.state.columnPinning?.right,\n ],\n },\n // footer groups\n table_getLeftFooterGroups: {\n fn: () => table_getLeftFooterGroups(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n ],\n },\n table_getCenterFooterGroups: {\n fn: () => table_getCenterFooterGroups(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n ],\n },\n table_getRightFooterGroups: {\n fn: () => table_getRightFooterGroups(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n // flat headers\n table_getLeftFlatHeaders: {\n fn: () => table_getLeftFlatHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n ],\n },\n table_getRightFlatHeaders: {\n fn: () => table_getRightFlatHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n table_getCenterFlatHeaders: {\n fn: () => table_getCenterFlatHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n ],\n },\n // leaf headers\n table_getLeftLeafHeaders: {\n fn: () => table_getLeftLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n ],\n },\n table_getRightLeafHeaders: {\n fn: () => table_getRightLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n table_getCenterLeafHeaders: {\n fn: () => table_getCenterLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n ],\n },\n // leaf columns\n table_getLeftLeafColumns: {\n fn: () => table_getLeftLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.store.state.columnPinning,\n ],\n },\n table_getRightLeafColumns: {\n fn: () => table_getRightLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.store.state.columnPinning,\n ],\n },\n table_getCenterLeafColumns: {\n fn: () => table_getCenterLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.store.state.columnPinning,\n ],\n },\n // visible leaf columns\n table_getLeftVisibleLeafColumns: {\n fn: () => table_getLeftVisibleLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.store.state.columnPinning,\n table.store.state.columnVisibility,\n ],\n },\n table_getCenterVisibleLeafColumns: {\n fn: () => table_getCenterVisibleLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.store.state.columnPinning,\n table.store.state.columnVisibility,\n ],\n },\n table_getRightVisibleLeafColumns: {\n fn: () => table_getRightVisibleLeafColumns(table),\n memoDeps: () => [\n table.options.columns,\n table.store.state.columnPinning,\n table.store.state.columnVisibility,\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Column Pinning feature adds column pinning state and APIs to the table, row, and column objects.\n */\nexport const columnPinningFeature = constructColumnPinningFeature()\n"],"names":[],"mappings":"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"}
|