@tanstack/table-core 9.0.0-beta.5 → 9.0.0-beta.51
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/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-aggregation/aggregationFns.cjs +246 -0
- package/dist/features/row-aggregation/aggregationFns.cjs.map +1 -0
- package/dist/features/row-aggregation/aggregationFns.d.cts +68 -0
- package/dist/features/row-aggregation/aggregationFns.d.ts +68 -0
- package/dist/features/row-aggregation/aggregationFns.js +235 -0
- package/dist/features/row-aggregation/aggregationFns.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.cjs +39 -0
- package/dist/features/row-aggregation/rowAggregationFeature.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.cts +10 -0
- package/dist/features/row-aggregation/rowAggregationFeature.d.ts +10 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js +39 -0
- package/dist/features/row-aggregation/rowAggregationFeature.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.cjs +13 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.cts +195 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +195 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js +12 -0
- package/dist/features/row-aggregation/rowAggregationFeature.types.js.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs +212 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs.map +1 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.cts +34 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +34 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js +206 -0
- package/dist/features/row-aggregation/rowAggregationFeature.utils.js.map +1 -0
- 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/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-aggregation/aggregationFns.ts +345 -0
- package/src/features/row-aggregation/rowAggregationFeature.ts +60 -0
- package/src/features/row-aggregation/rowAggregationFeature.types.ts +339 -0
- package/src/features/row-aggregation/rowAggregationFeature.utils.ts +430 -0
- 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
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { CellData, RowData, Updater } from "../../types/type-utils.cjs";
|
|
2
|
-
import {
|
|
2
|
+
import { Cell } from "../../types/Cell.cjs";
|
|
3
3
|
import { ColumnVisibilityState } from "./columnVisibilityFeature.types.cjs";
|
|
4
4
|
import { Row } from "../../types/Row.cjs";
|
|
5
|
+
import { Table } from "../../types/Table.cjs";
|
|
6
|
+
import { Column } from "../../types/Column.cjs";
|
|
5
7
|
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
6
|
-
import { Table_Internal } from "../../types/Table.cjs";
|
|
7
|
-
import { Cell } from "../../types/Cell.cjs";
|
|
8
8
|
//#region src/features/column-visibility/columnVisibilityFeature.utils.d.ts
|
|
9
9
|
/**
|
|
10
10
|
* Creates the default column visibility state.
|
|
@@ -22,14 +22,14 @@ declare function getDefaultColumnVisibilityState(): ColumnVisibilityState;
|
|
|
22
22
|
* Updates this column's visibility when hiding is allowed.
|
|
23
23
|
*
|
|
24
24
|
* Passing `visible` stores that value. Omitting it flips the column's current
|
|
25
|
-
* visibility state. Columns that cannot hide are
|
|
25
|
+
* visibility state. Columns that cannot hide are start unchanged.
|
|
26
26
|
*
|
|
27
27
|
* @example
|
|
28
28
|
* ```ts
|
|
29
29
|
* column_toggleVisibility(column)
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
|
-
declare function column_toggleVisibility<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
32
|
+
declare function column_toggleVisibility<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, visible?: boolean): void;
|
|
33
33
|
/**
|
|
34
34
|
* Checks whether this column is visible.
|
|
35
35
|
*
|
|
@@ -42,7 +42,7 @@ declare function column_toggleVisibility<TFeatures extends TableFeatures, TData
|
|
|
42
42
|
* const visible = column_getIsVisible(column)
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
|
-
declare function column_getIsVisible<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
45
|
+
declare function column_getIsVisible<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
|
|
46
46
|
/**
|
|
47
47
|
* Checks whether this column is allowed to be hidden.
|
|
48
48
|
*
|
|
@@ -53,7 +53,7 @@ declare function column_getIsVisible<TFeatures extends TableFeatures, TData exte
|
|
|
53
53
|
* const canHide = column_getCanHide(column)
|
|
54
54
|
* ```
|
|
55
55
|
*/
|
|
56
|
-
declare function column_getCanHide<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
56
|
+
declare function column_getCanHide<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
|
|
57
57
|
/**
|
|
58
58
|
* Creates a checkbox-style handler that writes this column's visibility.
|
|
59
59
|
*
|
|
@@ -65,12 +65,12 @@ declare function column_getCanHide<TFeatures extends TableFeatures, TData extend
|
|
|
65
65
|
* const onChange = column_getToggleVisibilityHandler(column)
|
|
66
66
|
* ```
|
|
67
67
|
*/
|
|
68
|
-
declare function column_getToggleVisibilityHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
68
|
+
declare function column_getToggleVisibilityHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): (e: unknown) => void;
|
|
69
69
|
/**
|
|
70
70
|
* Collects the cells from this row whose columns are visible.
|
|
71
71
|
*
|
|
72
|
-
* When column pinning is active, the result is ordered as
|
|
73
|
-
* center cells, then
|
|
72
|
+
* When column pinning is active, the result is ordered as start-pinned cells,
|
|
73
|
+
* center cells, then end-pinned cells.
|
|
74
74
|
*
|
|
75
75
|
* @example
|
|
76
76
|
* ```ts
|
|
@@ -100,7 +100,7 @@ declare function row_getVisibleCellsByColumnId<TFeatures extends TableFeatures,
|
|
|
100
100
|
* const columns = table_getVisibleFlatColumns(table)
|
|
101
101
|
* ```
|
|
102
102
|
*/
|
|
103
|
-
declare function table_getVisibleFlatColumns<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
103
|
+
declare function table_getVisibleFlatColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Column<TFeatures, TData, unknown>[];
|
|
104
104
|
/**
|
|
105
105
|
* Filters leaf columns down to those currently visible.
|
|
106
106
|
*
|
|
@@ -112,7 +112,7 @@ declare function table_getVisibleFlatColumns<TFeatures extends TableFeatures, TD
|
|
|
112
112
|
* const columns = table_getVisibleLeafColumns(table)
|
|
113
113
|
* ```
|
|
114
114
|
*/
|
|
115
|
-
declare function table_getVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
115
|
+
declare function table_getVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Column<TFeatures, TData, unknown>[];
|
|
116
116
|
/**
|
|
117
117
|
* Routes a column visibility updater through the table's visibility change handler.
|
|
118
118
|
*
|
|
@@ -124,7 +124,7 @@ declare function table_getVisibleLeafColumns<TFeatures extends TableFeatures, TD
|
|
|
124
124
|
* table_setColumnVisibility(table, (old) => ({ ...old, age: false }))
|
|
125
125
|
* ```
|
|
126
126
|
*/
|
|
127
|
-
declare function table_setColumnVisibility<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
127
|
+
declare function table_setColumnVisibility<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<ColumnVisibilityState>): void;
|
|
128
128
|
/**
|
|
129
129
|
* Resets `columnVisibility` to the configured initial state or feature default.
|
|
130
130
|
*
|
|
@@ -137,7 +137,7 @@ declare function table_setColumnVisibility<TFeatures extends TableFeatures, TDat
|
|
|
137
137
|
* table_resetColumnVisibility(table, true)
|
|
138
138
|
* ```
|
|
139
139
|
*/
|
|
140
|
-
declare function table_resetColumnVisibility<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
140
|
+
declare function table_resetColumnVisibility<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
|
|
141
141
|
/**
|
|
142
142
|
* Shows or hides every hideable leaf column.
|
|
143
143
|
*
|
|
@@ -148,7 +148,7 @@ declare function table_resetColumnVisibility<TFeatures extends TableFeatures, TD
|
|
|
148
148
|
* table_toggleAllColumnsVisible(table)
|
|
149
149
|
* ```
|
|
150
150
|
*/
|
|
151
|
-
declare function table_toggleAllColumnsVisible<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
151
|
+
declare function table_toggleAllColumnsVisible<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, value?: boolean): void;
|
|
152
152
|
/**
|
|
153
153
|
* Checks whether every leaf column is currently visible.
|
|
154
154
|
*
|
|
@@ -160,7 +160,7 @@ declare function table_toggleAllColumnsVisible<TFeatures extends TableFeatures,
|
|
|
160
160
|
* const allVisible = table_getIsAllColumnsVisible(table)
|
|
161
161
|
* ```
|
|
162
162
|
*/
|
|
163
|
-
declare function table_getIsAllColumnsVisible<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
163
|
+
declare function table_getIsAllColumnsVisible<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): boolean;
|
|
164
164
|
/**
|
|
165
165
|
* Checks whether at least one leaf column is currently visible.
|
|
166
166
|
*
|
|
@@ -171,7 +171,7 @@ declare function table_getIsAllColumnsVisible<TFeatures extends TableFeatures, T
|
|
|
171
171
|
* const someVisible = table_getIsSomeColumnsVisible(table)
|
|
172
172
|
* ```
|
|
173
173
|
*/
|
|
174
|
-
declare function table_getIsSomeColumnsVisible<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
174
|
+
declare function table_getIsSomeColumnsVisible<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): boolean;
|
|
175
175
|
/**
|
|
176
176
|
* Creates a checkbox-style handler that shows or hides all columns.
|
|
177
177
|
*
|
|
@@ -183,7 +183,7 @@ declare function table_getIsSomeColumnsVisible<TFeatures extends TableFeatures,
|
|
|
183
183
|
* const onChange = table_getToggleAllColumnsVisibilityHandler(table)
|
|
184
184
|
* ```
|
|
185
185
|
*/
|
|
186
|
-
declare function table_getToggleAllColumnsVisibilityHandler<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
186
|
+
declare function table_getToggleAllColumnsVisibilityHandler<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): (e: unknown) => void;
|
|
187
187
|
//#endregion
|
|
188
188
|
export { column_getCanHide, column_getIsVisible, column_getToggleVisibilityHandler, column_toggleVisibility, getDefaultColumnVisibilityState, row_getVisibleCells, row_getVisibleCellsByColumnId, table_getIsAllColumnsVisible, table_getIsSomeColumnsVisible, table_getToggleAllColumnsVisibilityHandler, table_getVisibleFlatColumns, table_getVisibleLeafColumns, table_resetColumnVisibility, table_setColumnVisibility, table_toggleAllColumnsVisible };
|
|
189
189
|
//# sourceMappingURL=columnVisibilityFeature.utils.d.cts.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { CellData, RowData, Updater } from "../../types/type-utils.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Cell } from "../../types/Cell.js";
|
|
3
3
|
import { ColumnVisibilityState } from "./columnVisibilityFeature.types.js";
|
|
4
4
|
import { Row } from "../../types/Row.js";
|
|
5
|
+
import { Table } from "../../types/Table.js";
|
|
6
|
+
import { Column } from "../../types/Column.js";
|
|
5
7
|
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
6
|
-
import { Table_Internal } from "../../types/Table.js";
|
|
7
|
-
import { Cell } from "../../types/Cell.js";
|
|
8
8
|
//#region src/features/column-visibility/columnVisibilityFeature.utils.d.ts
|
|
9
9
|
/**
|
|
10
10
|
* Creates the default column visibility state.
|
|
@@ -22,14 +22,14 @@ declare function getDefaultColumnVisibilityState(): ColumnVisibilityState;
|
|
|
22
22
|
* Updates this column's visibility when hiding is allowed.
|
|
23
23
|
*
|
|
24
24
|
* Passing `visible` stores that value. Omitting it flips the column's current
|
|
25
|
-
* visibility state. Columns that cannot hide are
|
|
25
|
+
* visibility state. Columns that cannot hide are start unchanged.
|
|
26
26
|
*
|
|
27
27
|
* @example
|
|
28
28
|
* ```ts
|
|
29
29
|
* column_toggleVisibility(column)
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
|
-
declare function column_toggleVisibility<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
32
|
+
declare function column_toggleVisibility<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, visible?: boolean): void;
|
|
33
33
|
/**
|
|
34
34
|
* Checks whether this column is visible.
|
|
35
35
|
*
|
|
@@ -42,7 +42,7 @@ declare function column_toggleVisibility<TFeatures extends TableFeatures, TData
|
|
|
42
42
|
* const visible = column_getIsVisible(column)
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
|
-
declare function column_getIsVisible<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
45
|
+
declare function column_getIsVisible<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
|
|
46
46
|
/**
|
|
47
47
|
* Checks whether this column is allowed to be hidden.
|
|
48
48
|
*
|
|
@@ -53,7 +53,7 @@ declare function column_getIsVisible<TFeatures extends TableFeatures, TData exte
|
|
|
53
53
|
* const canHide = column_getCanHide(column)
|
|
54
54
|
* ```
|
|
55
55
|
*/
|
|
56
|
-
declare function column_getCanHide<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
56
|
+
declare function column_getCanHide<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): boolean;
|
|
57
57
|
/**
|
|
58
58
|
* Creates a checkbox-style handler that writes this column's visibility.
|
|
59
59
|
*
|
|
@@ -65,12 +65,12 @@ declare function column_getCanHide<TFeatures extends TableFeatures, TData extend
|
|
|
65
65
|
* const onChange = column_getToggleVisibilityHandler(column)
|
|
66
66
|
* ```
|
|
67
67
|
*/
|
|
68
|
-
declare function column_getToggleVisibilityHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column:
|
|
68
|
+
declare function column_getToggleVisibilityHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): (e: unknown) => void;
|
|
69
69
|
/**
|
|
70
70
|
* Collects the cells from this row whose columns are visible.
|
|
71
71
|
*
|
|
72
|
-
* When column pinning is active, the result is ordered as
|
|
73
|
-
* center cells, then
|
|
72
|
+
* When column pinning is active, the result is ordered as start-pinned cells,
|
|
73
|
+
* center cells, then end-pinned cells.
|
|
74
74
|
*
|
|
75
75
|
* @example
|
|
76
76
|
* ```ts
|
|
@@ -100,7 +100,7 @@ declare function row_getVisibleCellsByColumnId<TFeatures extends TableFeatures,
|
|
|
100
100
|
* const columns = table_getVisibleFlatColumns(table)
|
|
101
101
|
* ```
|
|
102
102
|
*/
|
|
103
|
-
declare function table_getVisibleFlatColumns<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
103
|
+
declare function table_getVisibleFlatColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Column<TFeatures, TData, unknown>[];
|
|
104
104
|
/**
|
|
105
105
|
* Filters leaf columns down to those currently visible.
|
|
106
106
|
*
|
|
@@ -112,7 +112,7 @@ declare function table_getVisibleFlatColumns<TFeatures extends TableFeatures, TD
|
|
|
112
112
|
* const columns = table_getVisibleLeafColumns(table)
|
|
113
113
|
* ```
|
|
114
114
|
*/
|
|
115
|
-
declare function table_getVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
115
|
+
declare function table_getVisibleLeafColumns<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Column<TFeatures, TData, unknown>[];
|
|
116
116
|
/**
|
|
117
117
|
* Routes a column visibility updater through the table's visibility change handler.
|
|
118
118
|
*
|
|
@@ -124,7 +124,7 @@ declare function table_getVisibleLeafColumns<TFeatures extends TableFeatures, TD
|
|
|
124
124
|
* table_setColumnVisibility(table, (old) => ({ ...old, age: false }))
|
|
125
125
|
* ```
|
|
126
126
|
*/
|
|
127
|
-
declare function table_setColumnVisibility<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
127
|
+
declare function table_setColumnVisibility<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, updater: Updater<ColumnVisibilityState>): void;
|
|
128
128
|
/**
|
|
129
129
|
* Resets `columnVisibility` to the configured initial state or feature default.
|
|
130
130
|
*
|
|
@@ -137,7 +137,7 @@ declare function table_setColumnVisibility<TFeatures extends TableFeatures, TDat
|
|
|
137
137
|
* table_resetColumnVisibility(table, true)
|
|
138
138
|
* ```
|
|
139
139
|
*/
|
|
140
|
-
declare function table_resetColumnVisibility<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
140
|
+
declare function table_resetColumnVisibility<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, defaultState?: boolean): void;
|
|
141
141
|
/**
|
|
142
142
|
* Shows or hides every hideable leaf column.
|
|
143
143
|
*
|
|
@@ -148,7 +148,7 @@ declare function table_resetColumnVisibility<TFeatures extends TableFeatures, TD
|
|
|
148
148
|
* table_toggleAllColumnsVisible(table)
|
|
149
149
|
* ```
|
|
150
150
|
*/
|
|
151
|
-
declare function table_toggleAllColumnsVisible<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
151
|
+
declare function table_toggleAllColumnsVisible<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, value?: boolean): void;
|
|
152
152
|
/**
|
|
153
153
|
* Checks whether every leaf column is currently visible.
|
|
154
154
|
*
|
|
@@ -160,7 +160,7 @@ declare function table_toggleAllColumnsVisible<TFeatures extends TableFeatures,
|
|
|
160
160
|
* const allVisible = table_getIsAllColumnsVisible(table)
|
|
161
161
|
* ```
|
|
162
162
|
*/
|
|
163
|
-
declare function table_getIsAllColumnsVisible<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
163
|
+
declare function table_getIsAllColumnsVisible<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): boolean;
|
|
164
164
|
/**
|
|
165
165
|
* Checks whether at least one leaf column is currently visible.
|
|
166
166
|
*
|
|
@@ -171,7 +171,7 @@ declare function table_getIsAllColumnsVisible<TFeatures extends TableFeatures, T
|
|
|
171
171
|
* const someVisible = table_getIsSomeColumnsVisible(table)
|
|
172
172
|
* ```
|
|
173
173
|
*/
|
|
174
|
-
declare function table_getIsSomeColumnsVisible<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
174
|
+
declare function table_getIsSomeColumnsVisible<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): boolean;
|
|
175
175
|
/**
|
|
176
176
|
* Creates a checkbox-style handler that shows or hides all columns.
|
|
177
177
|
*
|
|
@@ -183,7 +183,7 @@ declare function table_getIsSomeColumnsVisible<TFeatures extends TableFeatures,
|
|
|
183
183
|
* const onChange = table_getToggleAllColumnsVisibilityHandler(table)
|
|
184
184
|
* ```
|
|
185
185
|
*/
|
|
186
|
-
declare function table_getToggleAllColumnsVisibilityHandler<TFeatures extends TableFeatures, TData extends RowData>(table:
|
|
186
|
+
declare function table_getToggleAllColumnsVisibilityHandler<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): (e: unknown) => void;
|
|
187
187
|
//#endregion
|
|
188
188
|
export { column_getCanHide, column_getIsVisible, column_getToggleVisibilityHandler, column_toggleVisibility, getDefaultColumnVisibilityState, row_getVisibleCells, row_getVisibleCellsByColumnId, table_getIsAllColumnsVisible, table_getIsSomeColumnsVisible, table_getToggleAllColumnsVisibilityHandler, table_getVisibleFlatColumns, table_getVisibleLeafColumns, table_resetColumnVisibility, table_setColumnVisibility, table_toggleAllColumnsVisible };
|
|
189
189
|
//# sourceMappingURL=columnVisibilityFeature.utils.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { callMemoOrStaticFn, cloneState } from "../../utils.js";
|
|
1
|
+
import { callMemoOrStaticFn, cloneState, hasOwn, makeObjectMap } from "../../utils.js";
|
|
2
2
|
import { getDefaultColumnPinningState } from "../column-pinning/columnPinningFeature.utils.js";
|
|
3
3
|
|
|
4
4
|
//#region src/features/column-visibility/columnVisibilityFeature.utils.ts
|
|
@@ -14,13 +14,13 @@ import { getDefaultColumnPinningState } from "../column-pinning/columnPinningFea
|
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
16
|
function getDefaultColumnVisibilityState() {
|
|
17
|
-
return
|
|
17
|
+
return makeObjectMap();
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* Updates this column's visibility when hiding is allowed.
|
|
21
21
|
*
|
|
22
22
|
* Passing `visible` stores that value. Omitting it flips the column's current
|
|
23
|
-
* visibility state. Columns that cannot hide are
|
|
23
|
+
* visibility state. Columns that cannot hide are start unchanged.
|
|
24
24
|
*
|
|
25
25
|
* @example
|
|
26
26
|
* ```ts
|
|
@@ -28,10 +28,11 @@ function getDefaultColumnVisibilityState() {
|
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
30
|
function column_toggleVisibility(column, visible) {
|
|
31
|
-
if (column_getCanHide(column)) table_setColumnVisibility(column.table, (old) =>
|
|
32
|
-
|
|
33
|
-
[column.id]
|
|
34
|
-
|
|
31
|
+
if (column_getCanHide(column)) table_setColumnVisibility(column.table, (old) => {
|
|
32
|
+
const next = Object.assign(makeObjectMap(), old);
|
|
33
|
+
next[column.id] = visible ?? !callMemoOrStaticFn(column, "getIsVisible", column_getIsVisible);
|
|
34
|
+
return next;
|
|
35
|
+
});
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
37
38
|
* Checks whether this column is visible.
|
|
@@ -46,9 +47,11 @@ function column_toggleVisibility(column, visible) {
|
|
|
46
47
|
* ```
|
|
47
48
|
*/
|
|
48
49
|
function column_getIsVisible(column) {
|
|
49
|
-
|
|
50
|
+
const columnVisibility = column.table.atoms.columnVisibility?.get();
|
|
51
|
+
if (!columnVisibility) return true;
|
|
50
52
|
const childColumns = column.columns;
|
|
51
|
-
|
|
53
|
+
if (childColumns.length) return childColumns.some((childColumn) => callMemoOrStaticFn(childColumn, "getIsVisible", column_getIsVisible));
|
|
54
|
+
return (hasOwn(columnVisibility, column.id) ? columnVisibility[column.id] : void 0) ?? true;
|
|
52
55
|
}
|
|
53
56
|
/**
|
|
54
57
|
* Checks whether this column is allowed to be hidden.
|
|
@@ -82,8 +85,8 @@ function column_getToggleVisibilityHandler(column) {
|
|
|
82
85
|
/**
|
|
83
86
|
* Collects the cells from this row whose columns are visible.
|
|
84
87
|
*
|
|
85
|
-
* When column pinning is active, the result is ordered as
|
|
86
|
-
* center cells, then
|
|
88
|
+
* When column pinning is active, the result is ordered as start-pinned cells,
|
|
89
|
+
* center cells, then end-pinned cells.
|
|
87
90
|
*
|
|
88
91
|
* @example
|
|
89
92
|
* ```ts
|
|
@@ -91,36 +94,35 @@ function column_getToggleVisibilityHandler(column) {
|
|
|
91
94
|
* ```
|
|
92
95
|
*/
|
|
93
96
|
function row_getVisibleCells(row) {
|
|
94
|
-
var _row$table$atoms$colu;
|
|
95
97
|
const allCells = row.getAllCells();
|
|
96
98
|
const visibleCells = [];
|
|
97
99
|
for (let i = 0; i < allCells.length; i++) {
|
|
98
100
|
const cell = allCells[i];
|
|
99
101
|
if (callMemoOrStaticFn(cell.column, "getIsVisible", column_getIsVisible)) visibleCells.push(cell);
|
|
100
102
|
}
|
|
101
|
-
const {
|
|
102
|
-
if (!
|
|
103
|
+
const { start, end } = row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState();
|
|
104
|
+
if (!start.length && !end.length) return visibleCells;
|
|
103
105
|
const visibleCellsByColumnId = callMemoOrStaticFn(row, "getVisibleCellsByColumnId", row_getVisibleCellsByColumnId);
|
|
104
|
-
const
|
|
105
|
-
for (let i = 0; i <
|
|
106
|
-
const cell = visibleCellsByColumnId[
|
|
107
|
-
if (cell)
|
|
106
|
+
const startCells = [];
|
|
107
|
+
for (let i = 0; i < start.length; i++) {
|
|
108
|
+
const cell = visibleCellsByColumnId[start[i]];
|
|
109
|
+
if (cell) startCells.push(cell);
|
|
108
110
|
}
|
|
109
|
-
const
|
|
110
|
-
for (let i = 0; i <
|
|
111
|
-
const cell = visibleCellsByColumnId[
|
|
112
|
-
if (cell)
|
|
111
|
+
const endCells = [];
|
|
112
|
+
for (let i = 0; i < end.length; i++) {
|
|
113
|
+
const cell = visibleCellsByColumnId[end[i]];
|
|
114
|
+
if (cell) endCells.push(cell);
|
|
113
115
|
}
|
|
114
116
|
const centerCells = [];
|
|
115
117
|
for (let i = 0; i < visibleCells.length; i++) {
|
|
116
118
|
const cell = visibleCells[i];
|
|
117
119
|
const id = cell.column.id;
|
|
118
|
-
if (!
|
|
120
|
+
if (!start.includes(id) && !end.includes(id)) centerCells.push(cell);
|
|
119
121
|
}
|
|
120
122
|
return [
|
|
121
|
-
...
|
|
123
|
+
...startCells,
|
|
122
124
|
...centerCells,
|
|
123
|
-
...
|
|
125
|
+
...endCells
|
|
124
126
|
];
|
|
125
127
|
}
|
|
126
128
|
/**
|
|
@@ -134,7 +136,7 @@ function row_getVisibleCells(row) {
|
|
|
134
136
|
* ```
|
|
135
137
|
*/
|
|
136
138
|
function row_getVisibleCellsByColumnId(row) {
|
|
137
|
-
const result =
|
|
139
|
+
const result = makeObjectMap();
|
|
138
140
|
const allCells = row.getAllCells();
|
|
139
141
|
for (let i = 0; i < allCells.length; i++) {
|
|
140
142
|
const cell = allCells[i];
|
|
@@ -182,8 +184,7 @@ function table_getVisibleLeafColumns(table) {
|
|
|
182
184
|
* ```
|
|
183
185
|
*/
|
|
184
186
|
function table_setColumnVisibility(table, updater) {
|
|
185
|
-
|
|
186
|
-
(_table$options$onColu = (_table$options = table.options).onColumnVisibilityChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updater);
|
|
187
|
+
table.options.onColumnVisibilityChange?.(updater);
|
|
187
188
|
}
|
|
188
189
|
/**
|
|
189
190
|
* Resets `columnVisibility` to the configured initial state or feature default.
|
|
@@ -198,7 +199,7 @@ function table_setColumnVisibility(table, updater) {
|
|
|
198
199
|
* ```
|
|
199
200
|
*/
|
|
200
201
|
function table_resetColumnVisibility(table, defaultState) {
|
|
201
|
-
table_setColumnVisibility(table, defaultState ?
|
|
202
|
+
table_setColumnVisibility(table, defaultState ? makeObjectMap() : Object.assign(makeObjectMap(), cloneState(table.initialState.columnVisibility ?? {})));
|
|
202
203
|
}
|
|
203
204
|
/**
|
|
204
205
|
* Shows or hides every hideable leaf column.
|
|
@@ -212,7 +213,7 @@ function table_resetColumnVisibility(table, defaultState) {
|
|
|
212
213
|
*/
|
|
213
214
|
function table_toggleAllColumnsVisible(table, value) {
|
|
214
215
|
value = value ?? !table_getIsAllColumnsVisible(table);
|
|
215
|
-
const visibility =
|
|
216
|
+
const visibility = makeObjectMap();
|
|
216
217
|
const leafColumns = table.getAllLeafColumns();
|
|
217
218
|
for (let i = 0; i < leafColumns.length; i++) {
|
|
218
219
|
const column = leafColumns[i];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnVisibilityFeature.utils.js","names":[],"sources":["../../../src/features/column-visibility/columnVisibilityFeature.utils.ts"],"sourcesContent":["import { callMemoOrStaticFn, cloneState } from '../../utils'\nimport { getDefaultColumnPinningState } from '../column-pinning/columnPinningFeature.utils'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Cell } from '../../types/Cell'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnVisibilityState } from './columnVisibilityFeature.types'\nimport type { Row } from '../../types/Row'\n\n/**\n * Creates the default column visibility state.\n *\n * The feature default is an empty object, where missing column ids are treated\n * as visible. Reset APIs use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const visibility = getDefaultColumnVisibilityState()\n * ```\n */\nexport function getDefaultColumnVisibilityState(): ColumnVisibilityState {\n return {}\n}\n\n/**\n * Updates this column's visibility when hiding is allowed.\n *\n * Passing `visible` stores that value. Omitting it flips the column's current\n * visibility state. Columns that cannot hide are left unchanged.\n *\n * @example\n * ```ts\n * column_toggleVisibility(column)\n * ```\n */\nexport function column_toggleVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, visible?: boolean): void {\n if (column_getCanHide(column)) {\n table_setColumnVisibility(column.table, (old) => ({\n ...old,\n [column.id]:\n visible ??\n !callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n }))\n }\n}\n\n/**\n * Checks whether this column is visible.\n *\n * Leaf columns read `state.columnVisibility[column.id]`, where missing entries\n * default to visible. Parent columns are visible when at least one child column\n * is visible.\n *\n * @example\n * ```ts\n * const visible = column_getIsVisible(column)\n * ```\n */\nexport function column_getIsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n const childColumns = column.columns\n return (\n (childColumns.length\n ? childColumns.some((childColumn) =>\n callMemoOrStaticFn(childColumn, 'getIsVisible', column_getIsVisible),\n )\n : column.table.atoms.columnVisibility?.get()?.[column.id]) ?? true\n )\n}\n\n/**\n * Checks whether this column is allowed to be hidden.\n *\n * Both `columnDef.enableHiding` and table `enableHiding` default to `true`.\n *\n * @example\n * ```ts\n * const canHide = column_getCanHide(column)\n * ```\n */\nexport function column_getCanHide<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableHiding ?? true) &&\n (column.table.options.enableHiding ?? true)\n )\n}\n\n/**\n * Creates a checkbox-style handler that writes this column's visibility.\n *\n * The handler reads `event.target.checked`, so it is intended for visibility\n * controls whose checked state means \"visible\".\n *\n * @example\n * ```ts\n * const onChange = column_getToggleVisibilityHandler(column)\n * ```\n */\nexport function column_getToggleVisibilityHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (e: unknown) => {\n column_toggleVisibility(\n column,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\n/**\n * Collects the cells from this row whose columns are visible.\n *\n * When column pinning is active, the result is ordered as left-pinned cells,\n * center cells, then right-pinned cells.\n *\n * @example\n * ```ts\n * const visibleCells = row_getVisibleCells(row)\n * ```\n */\nexport function row_getVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): Array<Cell<TFeatures, TData, unknown>> {\n const allCells = row.getAllCells()\n const visibleCells: Array<Cell<TFeatures, TData, unknown>> = []\n for (let i = 0; i < allCells.length; i++) {\n const cell = allCells[i]!\n if (callMemoOrStaticFn(cell.column, 'getIsVisible', column_getIsVisible)) {\n visibleCells.push(cell)\n }\n }\n\n const { left, right } =\n row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n if (!left.length && !right.length) return visibleCells // no pinning, return early\n\n const visibleCellsByColumnId = callMemoOrStaticFn(\n row,\n 'getVisibleCellsByColumnId',\n row_getVisibleCellsByColumnId,\n )\n\n const leftCells: Array<Cell<TFeatures, TData, unknown>> = []\n for (let i = 0; i < left.length; i++) {\n const cell = visibleCellsByColumnId[left[i]!]\n if (cell) leftCells.push(cell)\n }\n\n const rightCells: Array<Cell<TFeatures, TData, unknown>> = []\n for (let i = 0; i < right.length; i++) {\n const cell = visibleCellsByColumnId[right[i]!]\n if (cell) rightCells.push(cell)\n }\n\n // Center cells: visible cells in natural column order, minus pinned ones.\n const centerCells: Array<Cell<TFeatures, TData, unknown>> = []\n for (let i = 0; i < visibleCells.length; i++) {\n const cell = visibleCells[i]!\n const id = cell.column.id\n if (!left.includes(id) && !right.includes(id)) centerCells.push(cell)\n }\n\n return [...leftCells, ...centerCells, ...rightCells]\n}\n\n/**\n * Builds a lookup map of this row's visible cells keyed by column id.\n *\n * Hidden columns are omitted from the map.\n *\n * @example\n * ```ts\n * const visibleCellsById = row_getVisibleCellsByColumnId(row)\n * ```\n */\nexport function row_getVisibleCellsByColumnId<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): Record<string, Cell<TFeatures, TData, unknown>> {\n const result: Record<string, Cell<TFeatures, TData, unknown>> = {}\n const allCells = row.getAllCells()\n for (let i = 0; i < allCells.length; i++) {\n const cell = allCells[i]!\n if (callMemoOrStaticFn(cell.column, 'getIsVisible', column_getIsVisible)) {\n result[cell.column.id] = cell\n }\n }\n return result\n}\n\n/**\n * Filters the flat column list down to visible columns.\n *\n * Parent/group columns are included when `column_getIsVisible` considers them\n * visible.\n *\n * @example\n * ```ts\n * const columns = table_getVisibleFlatColumns(table)\n * ```\n */\nexport function table_getVisibleFlatColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllFlatColumns()\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\n/**\n * Filters leaf columns down to those currently visible.\n *\n * This is the column list most row rendering code uses before pinning-specific\n * partitioning.\n *\n * @example\n * ```ts\n * const columns = table_getVisibleLeafColumns(table)\n * ```\n */\nexport function table_getVisibleLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllLeafColumns()\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\n/**\n * Routes a column visibility updater through the table's visibility change handler.\n *\n * The updater may be a next visibility map or a function of the previous map,\n * matching the instance `table.setColumnVisibility` behavior.\n *\n * @example\n * ```ts\n * table_setColumnVisibility(table, (old) => ({ ...old, age: false }))\n * ```\n */\nexport function table_setColumnVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnVisibilityState>,\n) {\n table.options.onColumnVisibilityChange?.(updater)\n}\n\n/**\n * Resets `columnVisibility` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnVisibility` when\n * it exists. Passing `true` ignores initial state and resets to `{}`.\n *\n * @example\n * ```ts\n * table_resetColumnVisibility(table)\n * table_resetColumnVisibility(table, true)\n * ```\n */\nexport function table_resetColumnVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnVisibility(\n table,\n defaultState ? {} : cloneState(table.initialState.columnVisibility ?? {}),\n )\n}\n\n/**\n * Shows or hides every hideable leaf column.\n *\n * Columns that cannot hide stay visible when toggling all columns off.\n *\n * @example\n * ```ts\n * table_toggleAllColumnsVisible(table)\n * ```\n */\nexport function table_toggleAllColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, value?: boolean) {\n value = value ?? !table_getIsAllColumnsVisible(table)\n\n const visibility: Record<string, boolean> = {}\n const leafColumns = table.getAllLeafColumns()\n for (let i = 0; i < leafColumns.length; i++) {\n const column = leafColumns[i]!\n visibility[column.id] = !value ? !column_getCanHide(column) : value\n }\n\n table_setColumnVisibility(table, visibility)\n}\n\n/**\n * Checks whether every leaf column is currently visible.\n *\n * Non-hideable columns are naturally visible because missing visibility entries\n * default to `true`.\n *\n * @example\n * ```ts\n * const allVisible = table_getIsAllColumnsVisible(table)\n * ```\n */\nexport function table_getIsAllColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return !table\n .getAllLeafColumns()\n .some(\n (column) =>\n !callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\n/**\n * Checks whether at least one leaf column is currently visible.\n *\n * This is useful for tri-state \"show all columns\" controls.\n *\n * @example\n * ```ts\n * const someVisible = table_getIsSomeColumnsVisible(table)\n * ```\n */\nexport function table_getIsSomeColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllLeafColumns()\n .some((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\n/**\n * Creates a checkbox-style handler that shows or hides all columns.\n *\n * The handler reads `event.target.checked`, so it is intended for controls whose\n * checked state means \"all columns visible\".\n *\n * @example\n * ```ts\n * const onChange = table_getToggleAllColumnsVisibilityHandler(table)\n * ```\n */\nexport function table_getToggleAllColumnsVisibilityHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n table_toggleAllColumnsVisible(\n table,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"columnVisibilityFeature.utils.js","names":[],"sources":["../../../src/features/column-visibility/columnVisibilityFeature.utils.ts"],"sourcesContent":["import {\n callMemoOrStaticFn,\n cloneState,\n hasOwn,\n makeObjectMap,\n} from '../../utils'\nimport { getDefaultColumnPinningState } from '../column-pinning/columnPinningFeature.utils'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Cell } from '../../types/Cell'\nimport type { Column_Internal } from '../../types/Column'\nimport type { ColumnVisibilityState } from './columnVisibilityFeature.types'\nimport type { Row } from '../../types/Row'\n\n/**\n * Creates the default column visibility state.\n *\n * The feature default is an empty object, where missing column ids are treated\n * as visible. Reset APIs use this value when `defaultState` is `true`.\n *\n * @example\n * ```ts\n * const visibility = getDefaultColumnVisibilityState()\n * ```\n */\nexport function getDefaultColumnVisibilityState(): ColumnVisibilityState {\n return makeObjectMap()\n}\n\n/**\n * Updates this column's visibility when hiding is allowed.\n *\n * Passing `visible` stores that value. Omitting it flips the column's current\n * visibility state. Columns that cannot hide are start unchanged.\n *\n * @example\n * ```ts\n * column_toggleVisibility(column)\n * ```\n */\nexport function column_toggleVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, visible?: boolean): void {\n if (column_getCanHide(column)) {\n table_setColumnVisibility(column.table, (old) => {\n const next = Object.assign(makeObjectMap<boolean>(), old)\n next[column.id] =\n visible ??\n !callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)\n return next\n })\n }\n}\n\n/**\n * Checks whether this column is visible.\n *\n * Leaf columns read `state.columnVisibility[column.id]`, where missing entries\n * default to visible. Parent columns are visible when at least one child column\n * is visible.\n *\n * @example\n * ```ts\n * const visible = column_getIsVisible(column)\n * ```\n */\nexport function column_getIsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n const columnVisibility = column.table.atoms.columnVisibility?.get()\n if (!columnVisibility) return true\n\n const childColumns = column.columns\n if (childColumns.length) {\n return childColumns.some((childColumn) =>\n callMemoOrStaticFn(childColumn, 'getIsVisible', column_getIsVisible),\n )\n }\n\n return (\n (hasOwn(columnVisibility, column.id)\n ? columnVisibility[column.id]\n : undefined) ?? true\n )\n}\n\n/**\n * Checks whether this column is allowed to be hidden.\n *\n * Both `columnDef.enableHiding` and table `enableHiding` default to `true`.\n *\n * @example\n * ```ts\n * const canHide = column_getCanHide(column)\n * ```\n */\nexport function column_getCanHide<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableHiding ?? true) &&\n (column.table.options.enableHiding ?? true)\n )\n}\n\n/**\n * Creates a checkbox-style handler that writes this column's visibility.\n *\n * The handler reads `event.target.checked`, so it is intended for visibility\n * controls whose checked state means \"visible\".\n *\n * @example\n * ```ts\n * const onChange = column_getToggleVisibilityHandler(column)\n * ```\n */\nexport function column_getToggleVisibilityHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (e: unknown) => {\n column_toggleVisibility(\n column,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\n/**\n * Collects the cells from this row whose columns are visible.\n *\n * When column pinning is active, the result is ordered as start-pinned cells,\n * center cells, then end-pinned cells.\n *\n * @example\n * ```ts\n * const visibleCells = row_getVisibleCells(row)\n * ```\n */\nexport function row_getVisibleCells<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): Array<Cell<TFeatures, TData, unknown>> {\n const allCells = row.getAllCells()\n const visibleCells: Array<Cell<TFeatures, TData, unknown>> = []\n for (let i = 0; i < allCells.length; i++) {\n const cell = allCells[i]!\n if (callMemoOrStaticFn(cell.column, 'getIsVisible', column_getIsVisible)) {\n visibleCells.push(cell)\n }\n }\n\n const { start, end } =\n row.table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n if (!start.length && !end.length) return visibleCells // no pinning, return early\n\n const visibleCellsByColumnId = callMemoOrStaticFn(\n row,\n 'getVisibleCellsByColumnId',\n row_getVisibleCellsByColumnId,\n )\n\n const startCells: Array<Cell<TFeatures, TData, unknown>> = []\n for (let i = 0; i < start.length; i++) {\n const cell = visibleCellsByColumnId[start[i]!]\n if (cell) startCells.push(cell)\n }\n\n const endCells: Array<Cell<TFeatures, TData, unknown>> = []\n for (let i = 0; i < end.length; i++) {\n const cell = visibleCellsByColumnId[end[i]!]\n if (cell) endCells.push(cell)\n }\n\n // Center cells: visible cells in natural column order, minus pinned ones.\n const centerCells: Array<Cell<TFeatures, TData, unknown>> = []\n for (let i = 0; i < visibleCells.length; i++) {\n const cell = visibleCells[i]!\n const id = cell.column.id\n if (!start.includes(id) && !end.includes(id)) centerCells.push(cell)\n }\n\n return [...startCells, ...centerCells, ...endCells]\n}\n\n/**\n * Builds a lookup map of this row's visible cells keyed by column id.\n *\n * Hidden columns are omitted from the map.\n *\n * @example\n * ```ts\n * const visibleCellsById = row_getVisibleCellsByColumnId(row)\n * ```\n */\nexport function row_getVisibleCellsByColumnId<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): Record<string, Cell<TFeatures, TData, unknown>> {\n const result = makeObjectMap<Cell<TFeatures, TData, unknown>>()\n const allCells = row.getAllCells()\n for (let i = 0; i < allCells.length; i++) {\n const cell = allCells[i]!\n if (callMemoOrStaticFn(cell.column, 'getIsVisible', column_getIsVisible)) {\n result[cell.column.id] = cell\n }\n }\n return result\n}\n\n/**\n * Filters the flat column list down to visible columns.\n *\n * Parent/group columns are included when `column_getIsVisible` considers them\n * visible.\n *\n * @example\n * ```ts\n * const columns = table_getVisibleFlatColumns(table)\n * ```\n */\nexport function table_getVisibleFlatColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllFlatColumns()\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\n/**\n * Filters leaf columns down to those currently visible.\n *\n * This is the column list most row rendering code uses before pinning-specific\n * partitioning.\n *\n * @example\n * ```ts\n * const columns = table_getVisibleLeafColumns(table)\n * ```\n */\nexport function table_getVisibleLeafColumns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllLeafColumns()\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\n/**\n * Routes a column visibility updater through the table's visibility change handler.\n *\n * The updater may be a next visibility map or a function of the previous map,\n * matching the instance `table.setColumnVisibility` behavior.\n *\n * @example\n * ```ts\n * table_setColumnVisibility(table, (old) => ({ ...old, age: false }))\n * ```\n */\nexport function table_setColumnVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnVisibilityState>,\n) {\n table.options.onColumnVisibilityChange?.(updater)\n}\n\n/**\n * Resets `columnVisibility` to the configured initial state or feature default.\n *\n * With no argument, the reset clones `table.initialState.columnVisibility` when\n * it exists. Passing `true` ignores initial state and resets to `{}`.\n *\n * @example\n * ```ts\n * table_resetColumnVisibility(table)\n * table_resetColumnVisibility(table, true)\n * ```\n */\nexport function table_resetColumnVisibility<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnVisibility(\n table,\n defaultState\n ? makeObjectMap()\n : Object.assign(\n makeObjectMap<boolean>(),\n cloneState(table.initialState.columnVisibility ?? {}),\n ),\n )\n}\n\n/**\n * Shows or hides every hideable leaf column.\n *\n * Columns that cannot hide stay visible when toggling all columns off.\n *\n * @example\n * ```ts\n * table_toggleAllColumnsVisible(table)\n * ```\n */\nexport function table_toggleAllColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, value?: boolean) {\n value = value ?? !table_getIsAllColumnsVisible(table)\n\n const visibility = makeObjectMap<boolean>()\n const leafColumns = table.getAllLeafColumns()\n for (let i = 0; i < leafColumns.length; i++) {\n const column = leafColumns[i]!\n visibility[column.id] = !value ? !column_getCanHide(column) : value\n }\n\n table_setColumnVisibility(table, visibility)\n}\n\n/**\n * Checks whether every leaf column is currently visible.\n *\n * Non-hideable columns are naturally visible because missing visibility entries\n * default to `true`.\n *\n * @example\n * ```ts\n * const allVisible = table_getIsAllColumnsVisible(table)\n * ```\n */\nexport function table_getIsAllColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return !table\n .getAllLeafColumns()\n .some(\n (column) =>\n !callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\n/**\n * Checks whether at least one leaf column is currently visible.\n *\n * This is useful for tri-state \"show all columns\" controls.\n *\n * @example\n * ```ts\n * const someVisible = table_getIsSomeColumnsVisible(table)\n * ```\n */\nexport function table_getIsSomeColumnsVisible<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return table\n .getAllLeafColumns()\n .some((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n}\n\n/**\n * Creates a checkbox-style handler that shows or hides all columns.\n *\n * The handler reads `event.target.checked`, so it is intended for controls whose\n * checked state means \"all columns visible\".\n *\n * @example\n * ```ts\n * const onChange = table_getToggleAllColumnsVisibilityHandler(table)\n * ```\n */\nexport function table_getToggleAllColumnsVisibilityHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n table_toggleAllColumnsVisible(\n table,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n"],"mappings":"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"}
|
|
@@ -17,8 +17,7 @@ const globalFilteringFeature = {
|
|
|
17
17
|
onGlobalFilterChange: require_utils.makeStateUpdater("globalFilter", table),
|
|
18
18
|
globalFilterFn: "auto",
|
|
19
19
|
getColumnCanGlobalFilter: (column) => {
|
|
20
|
-
|
|
21
|
-
const value = (_table$getCoreRowMode = table.getCoreRowModel().flatRows[0]) === null || _table$getCoreRowMode === void 0 || (_table$getCoreRowMode = _table$getCoreRowMode.getAllCellsByColumnId()[column.id]) === null || _table$getCoreRowMode === void 0 ? void 0 : _table$getCoreRowMode.getValue();
|
|
20
|
+
const value = table.getCoreRowModel().flatRows[0]?.getAllCellsByColumnId()[column.id]?.getValue();
|
|
22
21
|
return typeof value === "string" || typeof value === "number";
|
|
23
22
|
}
|
|
24
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalFilteringFeature.cjs","names":["makeStateUpdater","column_getCanGlobalFilter","table_getGlobalAutoFilterFn","table_getGlobalFilterFn","table_setGlobalFilter","table_resetGlobalFilter"],"sources":["../../../src/features/global-filtering/globalFilteringFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getCanGlobalFilter,\n table_getGlobalAutoFilterFn,\n table_getGlobalFilterFn,\n table_resetGlobalFilter,\n table_setGlobalFilter,\n} from './globalFilteringFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds global filtering state, defaults, and global filter APIs.\n */\nexport const globalFilteringFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n globalFilter: undefined,\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onGlobalFilterChange: makeStateUpdater('globalFilter', table),\n globalFilterFn: 'auto',\n getColumnCanGlobalFilter: (column) => {\n const value = table\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()\n [column.id]?.getValue()\n\n return typeof value === 'string' || typeof value === 'number'\n },\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('globalFilteringFeature', prototype, table, {\n column_getCanGlobalFilter: {\n fn: (column) => column_getCanGlobalFilter(column),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('globalFilteringFeature', table, {\n table_getGlobalAutoFilterFn: {\n fn: () => table_getGlobalAutoFilterFn(),\n },\n table_getGlobalFilterFn: {\n fn: () => table_getGlobalFilterFn(table),\n },\n table_setGlobalFilter: {\n fn: (updater) => table_setGlobalFilter(table, updater),\n },\n table_resetGlobalFilter: {\n fn: (defaultState) => table_resetGlobalFilter(table, defaultState),\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAiBA,MAAa,yBAAuC;CAClD,kBAAkB,iBAAiB;EACjC,OAAO;GACL,cAAc;GACd,GAAG;EACL;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO;GACL,sBAAsBA,+BAAiB,gBAAgB,KAAK;GAC5D,gBAAgB;GAChB,2BAA2B,WAAW
|
|
1
|
+
{"version":3,"file":"globalFilteringFeature.cjs","names":["makeStateUpdater","column_getCanGlobalFilter","table_getGlobalAutoFilterFn","table_getGlobalFilterFn","table_setGlobalFilter","table_resetGlobalFilter"],"sources":["../../../src/features/global-filtering/globalFilteringFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getCanGlobalFilter,\n table_getGlobalAutoFilterFn,\n table_getGlobalFilterFn,\n table_resetGlobalFilter,\n table_setGlobalFilter,\n} from './globalFilteringFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds global filtering state, defaults, and global filter APIs.\n */\nexport const globalFilteringFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n globalFilter: undefined,\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onGlobalFilterChange: makeStateUpdater('globalFilter', table),\n globalFilterFn: 'auto',\n getColumnCanGlobalFilter: (column) => {\n const value = table\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()\n [column.id]?.getValue()\n\n return typeof value === 'string' || typeof value === 'number'\n },\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('globalFilteringFeature', prototype, table, {\n column_getCanGlobalFilter: {\n fn: (column) => column_getCanGlobalFilter(column),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('globalFilteringFeature', table, {\n table_getGlobalAutoFilterFn: {\n fn: () => table_getGlobalAutoFilterFn(),\n },\n table_getGlobalFilterFn: {\n fn: () => table_getGlobalFilterFn(table),\n },\n table_setGlobalFilter: {\n fn: (updater) => table_setGlobalFilter(table, updater),\n },\n table_resetGlobalFilter: {\n fn: (defaultState) => table_resetGlobalFilter(table, defaultState),\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAiBA,MAAa,yBAAuC;CAClD,kBAAkB,iBAAiB;EACjC,OAAO;GACL,cAAc;GACd,GAAG;EACL;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO;GACL,sBAAsBA,+BAAiB,gBAAgB,KAAK;GAC5D,gBAAgB;GAChB,2BAA2B,WAAW;IACpC,MAAM,QAAQ,MACX,gBAAgB,CAAC,CACjB,SAAS,EAAE,EAAE,sBAAsB,CAAC,CACpC,OAAO,GAAG,EAAE,SAAS;IAExB,OAAO,OAAO,UAAU,YAAY,OAAO,UAAU;GACvD;EACF;CACF;CAEA,wBAAwB,WAAW,UAAU;EAC3C,kCAAoB,0BAA0B,WAAW,OAAO,EAC9D,2BAA2B,EACzB,KAAK,WAAWC,+DAA0B,MAAM,EAClD,EACF,CAAC;CACH;CAEA,qBAAqB,UAAU;EAC7B,8BAAgB,0BAA0B,OAAO;GAC/C,6BAA6B,EAC3B,UAAUC,iEAA4B,EACxC;GACA,yBAAyB,EACvB,UAAUC,6DAAwB,KAAK,EACzC;GACA,uBAAuB,EACrB,KAAK,YAAYC,2DAAsB,OAAO,OAAO,EACvD;GACA,yBAAyB,EACvB,KAAK,iBAAiBC,6DAAwB,OAAO,YAAY,EACnE;EACF,CAAC;CACH;AACF"}
|
|
@@ -17,8 +17,7 @@ const globalFilteringFeature = {
|
|
|
17
17
|
onGlobalFilterChange: makeStateUpdater("globalFilter", table),
|
|
18
18
|
globalFilterFn: "auto",
|
|
19
19
|
getColumnCanGlobalFilter: (column) => {
|
|
20
|
-
|
|
21
|
-
const value = (_table$getCoreRowMode = table.getCoreRowModel().flatRows[0]) === null || _table$getCoreRowMode === void 0 || (_table$getCoreRowMode = _table$getCoreRowMode.getAllCellsByColumnId()[column.id]) === null || _table$getCoreRowMode === void 0 ? void 0 : _table$getCoreRowMode.getValue();
|
|
20
|
+
const value = table.getCoreRowModel().flatRows[0]?.getAllCellsByColumnId()[column.id]?.getValue();
|
|
22
21
|
return typeof value === "string" || typeof value === "number";
|
|
23
22
|
}
|
|
24
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalFilteringFeature.js","names":[],"sources":["../../../src/features/global-filtering/globalFilteringFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getCanGlobalFilter,\n table_getGlobalAutoFilterFn,\n table_getGlobalFilterFn,\n table_resetGlobalFilter,\n table_setGlobalFilter,\n} from './globalFilteringFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds global filtering state, defaults, and global filter APIs.\n */\nexport const globalFilteringFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n globalFilter: undefined,\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onGlobalFilterChange: makeStateUpdater('globalFilter', table),\n globalFilterFn: 'auto',\n getColumnCanGlobalFilter: (column) => {\n const value = table\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()\n [column.id]?.getValue()\n\n return typeof value === 'string' || typeof value === 'number'\n },\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('globalFilteringFeature', prototype, table, {\n column_getCanGlobalFilter: {\n fn: (column) => column_getCanGlobalFilter(column),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('globalFilteringFeature', table, {\n table_getGlobalAutoFilterFn: {\n fn: () => table_getGlobalAutoFilterFn(),\n },\n table_getGlobalFilterFn: {\n fn: () => table_getGlobalFilterFn(table),\n },\n table_setGlobalFilter: {\n fn: (updater) => table_setGlobalFilter(table, updater),\n },\n table_resetGlobalFilter: {\n fn: (defaultState) => table_resetGlobalFilter(table, defaultState),\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAiBA,MAAa,yBAAuC;CAClD,kBAAkB,iBAAiB;EACjC,OAAO;GACL,cAAc;GACd,GAAG;EACL;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO;GACL,sBAAsB,iBAAiB,gBAAgB,KAAK;GAC5D,gBAAgB;GAChB,2BAA2B,WAAW
|
|
1
|
+
{"version":3,"file":"globalFilteringFeature.js","names":[],"sources":["../../../src/features/global-filtering/globalFilteringFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getCanGlobalFilter,\n table_getGlobalAutoFilterFn,\n table_getGlobalFilterFn,\n table_resetGlobalFilter,\n table_setGlobalFilter,\n} from './globalFilteringFeature.utils'\nimport type { TableFeature } from '../../types/TableFeatures'\n\n/**\n * Feature that adds global filtering state, defaults, and global filter APIs.\n */\nexport const globalFilteringFeature: TableFeature = {\n getInitialState: (initialState) => {\n return {\n globalFilter: undefined,\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onGlobalFilterChange: makeStateUpdater('globalFilter', table),\n globalFilterFn: 'auto',\n getColumnCanGlobalFilter: (column) => {\n const value = table\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()\n [column.id]?.getValue()\n\n return typeof value === 'string' || typeof value === 'number'\n },\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('globalFilteringFeature', prototype, table, {\n column_getCanGlobalFilter: {\n fn: (column) => column_getCanGlobalFilter(column),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('globalFilteringFeature', table, {\n table_getGlobalAutoFilterFn: {\n fn: () => table_getGlobalAutoFilterFn(),\n },\n table_getGlobalFilterFn: {\n fn: () => table_getGlobalFilterFn(table),\n },\n table_setGlobalFilter: {\n fn: (updater) => table_setGlobalFilter(table, updater),\n },\n table_resetGlobalFilter: {\n fn: (defaultState) => table_resetGlobalFilter(table, defaultState),\n },\n })\n },\n}\n"],"mappings":";;;;;;;AAiBA,MAAa,yBAAuC;CAClD,kBAAkB,iBAAiB;EACjC,OAAO;GACL,cAAc;GACd,GAAG;EACL;CACF;CAEA,yBAAyB,UAAU;EACjC,OAAO;GACL,sBAAsB,iBAAiB,gBAAgB,KAAK;GAC5D,gBAAgB;GAChB,2BAA2B,WAAW;IACpC,MAAM,QAAQ,MACX,gBAAgB,CAAC,CACjB,SAAS,EAAE,EAAE,sBAAsB,CAAC,CACpC,OAAO,GAAG,EAAE,SAAS;IAExB,OAAO,OAAO,UAAU,YAAY,OAAO,UAAU;GACvD;EACF;CACF;CAEA,wBAAwB,WAAW,UAAU;EAC3C,oBAAoB,0BAA0B,WAAW,OAAO,EAC9D,2BAA2B,EACzB,KAAK,WAAW,0BAA0B,MAAM,EAClD,EACF,CAAC;CACH;CAEA,qBAAqB,UAAU;EAC7B,gBAAgB,0BAA0B,OAAO;GAC/C,6BAA6B,EAC3B,UAAU,4BAA4B,EACxC;GACA,yBAAyB,EACvB,UAAU,wBAAwB,KAAK,EACzC;GACA,uBAAuB,EACrB,KAAK,YAAY,sBAAsB,OAAO,OAAO,EACvD;GACA,yBAAyB,EACvB,KAAK,iBAAiB,wBAAwB,OAAO,YAAY,EACnE;EACF,CAAC;CACH;AACF"}
|
|
@@ -22,7 +22,7 @@ interface Column_GlobalFiltering {
|
|
|
22
22
|
*/
|
|
23
23
|
getCanGlobalFilter: () => boolean;
|
|
24
24
|
}
|
|
25
|
-
interface TableOptions_GlobalFiltering<TFeatures extends TableFeatures, TData extends RowData> {
|
|
25
|
+
interface TableOptions_GlobalFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
26
26
|
/**
|
|
27
27
|
* Enables global filtering across columns that allow it.
|
|
28
28
|
*/
|
|
@@ -46,7 +46,7 @@ interface TableOptions_GlobalFiltering<TFeatures extends TableFeatures, TData ex
|
|
|
46
46
|
*/
|
|
47
47
|
onGlobalFilterChange?: OnChangeFn<any>;
|
|
48
48
|
}
|
|
49
|
-
interface Table_GlobalFiltering<TFeatures extends TableFeatures, TData extends RowData> {
|
|
49
|
+
interface Table_GlobalFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
50
50
|
/**
|
|
51
51
|
* Currently, this function returns the built-in `includesString` filter function. In future releases, it may return more dynamic filter functions based on the nature of the data provided.
|
|
52
52
|
*/
|
|
@@ -22,7 +22,7 @@ interface Column_GlobalFiltering {
|
|
|
22
22
|
*/
|
|
23
23
|
getCanGlobalFilter: () => boolean;
|
|
24
24
|
}
|
|
25
|
-
interface TableOptions_GlobalFiltering<TFeatures extends TableFeatures, TData extends RowData> {
|
|
25
|
+
interface TableOptions_GlobalFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
26
26
|
/**
|
|
27
27
|
* Enables global filtering across columns that allow it.
|
|
28
28
|
*/
|
|
@@ -46,7 +46,7 @@ interface TableOptions_GlobalFiltering<TFeatures extends TableFeatures, TData ex
|
|
|
46
46
|
*/
|
|
47
47
|
onGlobalFilterChange?: OnChangeFn<any>;
|
|
48
48
|
}
|
|
49
|
-
interface Table_GlobalFiltering<TFeatures extends TableFeatures, TData extends RowData> {
|
|
49
|
+
interface Table_GlobalFiltering<in out TFeatures extends TableFeatures, in out TData extends RowData> {
|
|
50
50
|
/**
|
|
51
51
|
* Currently, this function returns the built-in `includesString` filter function. In future releases, it may return more dynamic filter functions based on the nature of the data provided.
|
|
52
52
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_utils = require('../../utils.cjs');
|
|
2
|
-
const require_filterFns = require('
|
|
2
|
+
const require_filterFns = require('../column-filtering/filterFns.cjs');
|
|
3
3
|
|
|
4
4
|
//#region src/features/global-filtering/globalFilteringFeature.utils.ts
|
|
5
5
|
/**
|
|
@@ -14,8 +14,7 @@ const require_filterFns = require('../../fns/filterFns.cjs');
|
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
16
|
function column_getCanGlobalFilter(column) {
|
|
17
|
-
|
|
18
|
-
return (column.columnDef.enableGlobalFilter ?? true) && (column.table.options.enableGlobalFilter ?? true) && (column.table.options.enableFilters ?? true) && (((_column$table$options = (_column$table$options2 = column.table.options).getColumnCanGlobalFilter) === null || _column$table$options === void 0 ? void 0 : _column$table$options.call(_column$table$options2, column)) ?? true) && !!column.accessorFn;
|
|
17
|
+
return (column.columnDef.enableGlobalFilter ?? true) && (column.table.options.enableGlobalFilter ?? true) && (column.table.options.enableFilters ?? true) && (column.table.options.getColumnCanGlobalFilter?.(column) ?? true) && !!column.accessorFn;
|
|
19
18
|
}
|
|
20
19
|
/**
|
|
21
20
|
* Provides the built-in automatic global filter function.
|
|
@@ -46,7 +45,9 @@ function table_getGlobalAutoFilterFn() {
|
|
|
46
45
|
function table_getGlobalFilterFn(table) {
|
|
47
46
|
const { globalFilterFn } = table.options;
|
|
48
47
|
const filterFns = table._rowModelFns.filterFns;
|
|
49
|
-
|
|
48
|
+
const filterFn = require_utils.isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === "auto" ? table_getGlobalAutoFilterFn() : filterFns?.[globalFilterFn];
|
|
49
|
+
if (process.env.NODE_ENV === "development" && !filterFn && globalFilterFn != null) console.warn(`globalFilterFn '${String(globalFilterFn)}' is not registered`);
|
|
50
|
+
return filterFn;
|
|
50
51
|
}
|
|
51
52
|
/**
|
|
52
53
|
* Routes a global filter updater through the table's global filter handler.
|
|
@@ -60,8 +61,7 @@ function table_getGlobalFilterFn(table) {
|
|
|
60
61
|
* ```
|
|
61
62
|
*/
|
|
62
63
|
function table_setGlobalFilter(table, updater) {
|
|
63
|
-
|
|
64
|
-
(_table$options$onGlob = (_table$options = table.options).onGlobalFilterChange) === null || _table$options$onGlob === void 0 || _table$options$onGlob.call(_table$options, updater);
|
|
64
|
+
table.options.onGlobalFilterChange?.(updater);
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* Resets `globalFilter` to the configured initial state or feature default.
|