@tanstack/table-core 9.0.0-alpha.4 → 9.0.0-alpha.41
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 +117 -0
- package/dist/core/cells/constructCell.cjs +28 -0
- package/dist/core/cells/constructCell.cjs.map +1 -0
- package/dist/core/cells/constructCell.d.cts +12 -0
- package/dist/core/cells/constructCell.d.ts +12 -0
- package/dist/core/cells/constructCell.js +27 -0
- package/dist/core/cells/constructCell.js.map +1 -0
- package/dist/core/cells/coreCellsFeature.cjs +25 -0
- package/dist/core/cells/coreCellsFeature.cjs.map +1 -0
- package/dist/core/cells/coreCellsFeature.d.cts +13 -0
- package/dist/core/cells/coreCellsFeature.d.ts +13 -0
- package/dist/core/cells/coreCellsFeature.js +24 -0
- package/dist/core/cells/coreCellsFeature.js.map +1 -0
- package/dist/core/cells/coreCellsFeature.types.d.cts +57 -0
- package/dist/core/cells/coreCellsFeature.types.d.ts +57 -0
- package/dist/core/cells/coreCellsFeature.utils.cjs +24 -0
- package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -0
- package/dist/core/cells/coreCellsFeature.utils.d.cts +20 -0
- package/dist/core/cells/coreCellsFeature.utils.d.ts +20 -0
- package/dist/core/cells/coreCellsFeature.utils.js +21 -0
- package/dist/core/cells/coreCellsFeature.utils.js.map +1 -0
- package/dist/core/columns/constructColumn.cjs +52 -0
- package/dist/core/columns/constructColumn.cjs.map +1 -0
- package/dist/core/columns/constructColumn.d.cts +11 -0
- package/dist/core/columns/constructColumn.d.ts +11 -0
- package/dist/core/columns/constructColumn.js +51 -0
- package/dist/core/columns/constructColumn.js.map +1 -0
- package/dist/core/columns/coreColumnsFeature.cjs +70 -0
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -0
- package/dist/core/columns/coreColumnsFeature.d.cts +13 -0
- package/dist/core/columns/coreColumnsFeature.d.ts +13 -0
- package/dist/core/columns/coreColumnsFeature.js +69 -0
- package/dist/core/columns/coreColumnsFeature.js.map +1 -0
- package/dist/core/columns/coreColumnsFeature.types.d.cts +89 -0
- package/dist/core/columns/coreColumnsFeature.types.d.ts +89 -0
- package/dist/core/columns/coreColumnsFeature.utils.cjs +74 -0
- package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -0
- package/dist/core/columns/coreColumnsFeature.utils.d.cts +18 -0
- package/dist/core/columns/coreColumnsFeature.utils.d.ts +18 -0
- package/dist/core/columns/coreColumnsFeature.utils.js +67 -0
- package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -0
- package/dist/core/coreFeatures.cjs +20 -0
- package/dist/core/coreFeatures.cjs.map +1 -0
- package/dist/core/coreFeatures.d.cts +20 -0
- package/dist/core/coreFeatures.d.ts +20 -0
- package/dist/core/coreFeatures.js +20 -0
- package/dist/core/coreFeatures.js.map +1 -0
- package/dist/core/headers/buildHeaderGroups.cjs +90 -0
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -0
- package/dist/core/headers/buildHeaderGroups.d.cts +11 -0
- package/dist/core/headers/buildHeaderGroups.d.ts +11 -0
- package/dist/core/headers/buildHeaderGroups.js +90 -0
- package/dist/core/headers/buildHeaderGroups.js.map +1 -0
- package/dist/core/headers/constructHeader.cjs +35 -0
- package/dist/core/headers/constructHeader.cjs.map +1 -0
- package/dist/core/headers/constructHeader.d.cts +17 -0
- package/dist/core/headers/constructHeader.d.ts +17 -0
- package/dist/core/headers/constructHeader.js +34 -0
- package/dist/core/headers/constructHeader.js.map +1 -0
- package/dist/core/headers/coreHeadersFeature.cjs +64 -0
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -0
- package/dist/core/headers/coreHeadersFeature.d.cts +13 -0
- package/dist/core/headers/coreHeadersFeature.d.ts +13 -0
- package/dist/core/headers/coreHeadersFeature.js +63 -0
- package/dist/core/headers/coreHeadersFeature.js.map +1 -0
- package/dist/core/headers/coreHeadersFeature.types.d.cts +104 -0
- package/dist/core/headers/coreHeadersFeature.types.d.ts +104 -0
- package/dist/core/headers/coreHeadersFeature.utils.cjs +66 -0
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -0
- package/dist/core/headers/coreHeadersFeature.utils.d.cts +20 -0
- package/dist/core/headers/coreHeadersFeature.utils.d.ts +20 -0
- package/dist/core/headers/coreHeadersFeature.utils.js +61 -0
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -0
- package/dist/core/row-models/coreRowModelsFeature.cjs +31 -0
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -0
- package/dist/core/row-models/coreRowModelsFeature.d.cts +13 -0
- package/dist/core/row-models/coreRowModelsFeature.d.ts +13 -0
- package/dist/core/row-models/coreRowModelsFeature.js +30 -0
- package/dist/core/row-models/coreRowModelsFeature.js.map +1 -0
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +42 -0
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +42 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs +83 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +21 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +21 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.js +72 -0
- package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
- package/dist/core/row-models/createCoreRowModel.cjs +47 -0
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -0
- package/dist/core/row-models/createCoreRowModel.d.cts +10 -0
- package/dist/core/row-models/createCoreRowModel.d.ts +10 -0
- package/dist/core/row-models/createCoreRowModel.js +47 -0
- package/dist/core/row-models/createCoreRowModel.js.map +1 -0
- package/dist/core/rows/constructRow.cjs +37 -0
- package/dist/core/rows/constructRow.cjs.map +1 -0
- package/dist/core/rows/constructRow.d.cts +10 -0
- package/dist/core/rows/constructRow.d.ts +10 -0
- package/dist/core/rows/constructRow.js +36 -0
- package/dist/core/rows/constructRow.js.map +1 -0
- package/dist/core/rows/coreRowsFeature.cjs +41 -0
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -0
- package/dist/core/rows/coreRowsFeature.d.cts +13 -0
- package/dist/core/rows/coreRowsFeature.d.ts +13 -0
- package/dist/core/rows/coreRowsFeature.js +40 -0
- package/dist/core/rows/coreRowsFeature.js.map +1 -0
- package/dist/core/rows/coreRowsFeature.types.d.cts +96 -0
- package/dist/core/rows/coreRowsFeature.types.d.ts +96 -0
- package/dist/core/rows/coreRowsFeature.utils.cjs +81 -0
- package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -0
- package/dist/core/rows/coreRowsFeature.utils.d.cts +20 -0
- package/dist/core/rows/coreRowsFeature.utils.d.ts +20 -0
- package/dist/core/rows/coreRowsFeature.utils.js +72 -0
- package/dist/core/rows/coreRowsFeature.utils.js.map +1 -0
- package/dist/core/table/constructTable.cjs +79 -0
- package/dist/core/table/constructTable.cjs.map +1 -0
- package/dist/core/table/constructTable.d.cts +12 -0
- package/dist/core/table/constructTable.d.ts +12 -0
- package/dist/core/table/constructTable.js +78 -0
- package/dist/core/table/constructTable.js.map +1 -0
- package/dist/core/table/coreTablesFeature.cjs +21 -0
- package/dist/core/table/coreTablesFeature.cjs.map +1 -0
- package/dist/core/table/coreTablesFeature.d.cts +13 -0
- package/dist/core/table/coreTablesFeature.d.ts +13 -0
- package/dist/core/table/coreTablesFeature.js +20 -0
- package/dist/core/table/coreTablesFeature.js.map +1 -0
- package/dist/core/table/coreTablesFeature.types.d.cts +157 -0
- package/dist/core/table/coreTablesFeature.types.d.ts +157 -0
- package/dist/core/table/coreTablesFeature.utils.cjs +27 -0
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -0
- package/dist/core/table/coreTablesFeature.utils.d.cts +12 -0
- package/dist/core/table/coreTablesFeature.utils.d.ts +12 -0
- package/dist/core/table/coreTablesFeature.utils.js +25 -0
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -0
- package/dist/features/column-faceting/columnFacetingFeature.cjs +65 -0
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -0
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +13 -0
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +13 -0
- package/dist/features/column-faceting/columnFacetingFeature.js +64 -0
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -0
- package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +73 -0
- package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +73 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +35 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +16 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +16 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.js +29 -0
- package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +36 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +9 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +9 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.js +36 -0
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
- package/dist/features/column-faceting/createFacetedRowModel.cjs +40 -0
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -0
- package/dist/features/column-faceting/createFacetedRowModel.d.cts +10 -0
- package/dist/features/column-faceting/createFacetedRowModel.d.ts +10 -0
- package/dist/features/column-faceting/createFacetedRowModel.js +40 -0
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs +33 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +9 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +9 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.js +33 -0
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
- package/dist/features/column-filtering/columnFilteringFeature.cjs +55 -0
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -0
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +14 -0
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +14 -0
- package/dist/features/column-filtering/columnFilteringFeature.js +54 -0
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -0
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +147 -0
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +147 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +90 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +21 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +21 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.js +80 -0
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
- package/dist/features/column-filtering/createFilteredRowModel.cjs +99 -0
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -0
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +11 -0
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -0
- package/dist/features/column-filtering/createFilteredRowModel.js +99 -0
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -0
- package/dist/features/column-filtering/filterRowsUtils.cjs +76 -0
- package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -0
- package/dist/features/column-filtering/filterRowsUtils.js +76 -0
- package/dist/features/column-filtering/filterRowsUtils.js.map +1 -0
- package/dist/features/column-grouping/columnGroupingFeature.cjs +71 -0
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -0
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +13 -0
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +13 -0
- package/dist/features/column-grouping/columnGroupingFeature.js +70 -0
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -0
- package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +157 -0
- package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +157 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +88 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +27 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +27 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.js +74 -0
- package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
- package/dist/features/column-grouping/createGroupedRowModel.cjs +114 -0
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -0
- package/dist/features/column-grouping/createGroupedRowModel.d.cts +11 -0
- package/dist/features/column-grouping/createGroupedRowModel.d.ts +11 -0
- package/dist/features/column-grouping/createGroupedRowModel.js +114 -0
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -0
- package/dist/features/column-ordering/columnOrderingFeature.cjs +61 -0
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -0
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +13 -0
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +13 -0
- package/dist/features/column-ordering/columnOrderingFeature.js +60 -0
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -0
- package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +45 -0
- package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +45 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +65 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +19 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +19 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.js +58 -0
- package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
- package/dist/features/column-pinning/columnPinningFeature.cjs +231 -0
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -0
- package/dist/features/column-pinning/columnPinningFeature.d.cts +13 -0
- package/dist/features/column-pinning/columnPinningFeature.d.ts +13 -0
- package/dist/features/column-pinning/columnPinningFeature.js +230 -0
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -0
- package/dist/features/column-pinning/columnPinningFeature.types.d.cts +162 -0
- package/dist/features/column-pinning/columnPinningFeature.types.d.ts +162 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs +205 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +43 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +43 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.js +175 -0
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
- package/dist/features/column-resizing/columnResizingFeature.cjs +46 -0
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -0
- package/dist/features/column-resizing/columnResizingFeature.d.cts +14 -0
- package/dist/features/column-resizing/columnResizingFeature.d.ts +14 -0
- package/dist/features/column-resizing/columnResizingFeature.js +45 -0
- package/dist/features/column-resizing/columnResizingFeature.js.map +1 -0
- package/dist/features/column-resizing/columnResizingFeature.types.d.cts +73 -0
- package/dist/features/column-resizing/columnResizingFeature.types.d.ts +73 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs +157 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +19 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +19 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.js +150 -0
- package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
- package/dist/features/column-sizing/columnSizingFeature.cjs +75 -0
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -0
- package/dist/features/column-sizing/columnSizingFeature.d.cts +14 -0
- package/dist/features/column-sizing/columnSizingFeature.d.ts +14 -0
- package/dist/features/column-sizing/columnSizingFeature.js +74 -0
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -0
- package/dist/features/column-sizing/columnSizingFeature.types.d.cts +86 -0
- package/dist/features/column-sizing/columnSizingFeature.types.d.ts +86 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs +97 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +30 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +30 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.js +84 -0
- package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +96 -0
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -0
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +13 -0
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +13 -0
- package/dist/features/column-visibility/columnVisibilityFeature.js +95 -0
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -0
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +89 -0
- package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +89 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +84 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +26 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +26 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js +70 -0
- package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
- package/dist/features/global-filtering/globalFilteringFeature.cjs +46 -0
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -0
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +14 -0
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +14 -0
- package/dist/features/global-filtering/globalFilteringFeature.js +45 -0
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -0
- package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +64 -0
- package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +64 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +31 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +15 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +15 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.js +27 -0
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
- package/dist/features/row-expanding/createExpandedRowModel.cjs +49 -0
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -0
- package/dist/features/row-expanding/createExpandedRowModel.d.cts +11 -0
- package/dist/features/row-expanding/createExpandedRowModel.d.ts +11 -0
- package/dist/features/row-expanding/createExpandedRowModel.js +48 -0
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -0
- package/dist/features/row-expanding/rowExpandingFeature.cjs +51 -0
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -0
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +13 -0
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +13 -0
- package/dist/features/row-expanding/rowExpandingFeature.js +50 -0
- package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -0
- package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +121 -0
- package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +121 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +115 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +25 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +25 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.js +101 -0
- package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
- package/dist/features/row-pagination/createPaginatedRowModel.cjs +57 -0
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -0
- package/dist/features/row-pagination/createPaginatedRowModel.d.cts +10 -0
- package/dist/features/row-pagination/createPaginatedRowModel.d.ts +10 -0
- package/dist/features/row-pagination/createPaginatedRowModel.js +57 -0
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -0
- package/dist/features/row-pagination/rowPaginationFeature.cjs +49 -0
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -0
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +13 -0
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +13 -0
- package/dist/features/row-pagination/rowPaginationFeature.js +48 -0
- package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -0
- package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +124 -0
- package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +124 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +120 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +26 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +26 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.js +104 -0
- package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
- package/dist/features/row-pinning/rowPinningFeature.cjs +71 -0
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -0
- package/dist/features/row-pinning/rowPinningFeature.d.cts +13 -0
- package/dist/features/row-pinning/rowPinningFeature.d.ts +13 -0
- package/dist/features/row-pinning/rowPinningFeature.js +70 -0
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -0
- package/dist/features/row-pinning/rowPinningFeature.types.d.cts +77 -0
- package/dist/features/row-pinning/rowPinningFeature.types.d.ts +77 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs +101 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +21 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +21 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.js +91 -0
- package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
- package/dist/features/row-selection/rowSelectionFeature.cjs +79 -0
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -0
- package/dist/features/row-selection/rowSelectionFeature.d.cts +13 -0
- package/dist/features/row-selection/rowSelectionFeature.d.ts +13 -0
- package/dist/features/row-selection/rowSelectionFeature.js +78 -0
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -0
- package/dist/features/row-selection/rowSelectionFeature.types.d.cts +128 -0
- package/dist/features/row-selection/rowSelectionFeature.types.d.ts +128 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs +232 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +39 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +39 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.js +207 -0
- package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
- package/dist/features/row-sorting/createSortedRowModel.cjs +85 -0
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -0
- package/dist/features/row-sorting/createSortedRowModel.d.cts +11 -0
- package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -0
- package/dist/features/row-sorting/createSortedRowModel.js +85 -0
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -0
- package/dist/features/row-sorting/rowSortingFeature.cjs +59 -0
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -0
- package/dist/features/row-sorting/rowSortingFeature.d.cts +13 -0
- package/dist/features/row-sorting/rowSortingFeature.d.ts +13 -0
- package/dist/features/row-sorting/rowSortingFeature.js +58 -0
- package/dist/features/row-sorting/rowSortingFeature.js.map +1 -0
- package/dist/features/row-sorting/rowSortingFeature.types.d.cts +182 -0
- package/dist/features/row-sorting/rowSortingFeature.types.d.ts +182 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +134 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +25 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +25 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.js +120 -0
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
- package/dist/features/stockFeatures.cjs +36 -0
- package/dist/features/stockFeatures.cjs.map +1 -0
- package/dist/features/stockFeatures.d.cts +36 -0
- package/dist/features/stockFeatures.d.ts +36 -0
- package/dist/features/stockFeatures.js +36 -0
- package/dist/features/stockFeatures.js.map +1 -0
- package/dist/features/table-reactivity/tableReactivityFeature.cjs +46 -0
- package/dist/features/table-reactivity/tableReactivityFeature.cjs.map +1 -0
- package/dist/features/table-reactivity/tableReactivityFeature.d.cts +12 -0
- package/dist/features/table-reactivity/tableReactivityFeature.d.ts +12 -0
- package/dist/features/table-reactivity/tableReactivityFeature.js +45 -0
- package/dist/features/table-reactivity/tableReactivityFeature.js.map +1 -0
- package/dist/flex-render.cjs +19 -0
- package/dist/flex-render.cjs.map +1 -0
- package/dist/flex-render.d.cts +24 -0
- package/dist/flex-render.d.ts +24 -0
- package/dist/flex-render.js +16 -0
- package/dist/flex-render.js.map +1 -0
- package/dist/fns/aggregationFns.cjs +125 -0
- package/dist/fns/aggregationFns.cjs.map +1 -0
- package/dist/fns/aggregationFns.d.cts +54 -0
- package/dist/fns/aggregationFns.d.ts +54 -0
- package/dist/fns/aggregationFns.js +116 -0
- package/dist/fns/aggregationFns.js.map +1 -0
- package/dist/fns/filterFns.cjs +179 -0
- package/dist/fns/filterFns.cjs.map +1 -0
- package/dist/fns/filterFns.d.cts +81 -0
- package/dist/fns/filterFns.d.ts +81 -0
- package/dist/fns/filterFns.js +163 -0
- package/dist/fns/filterFns.js.map +1 -0
- package/dist/fns/sortFns.cjs +73 -0
- package/dist/fns/sortFns.cjs.map +1 -0
- package/dist/fns/sortFns.d.cts +22 -0
- package/dist/fns/sortFns.d.ts +22 -0
- package/dist/fns/sortFns.js +65 -0
- package/dist/fns/sortFns.js.map +1 -0
- package/dist/helpers/columnHelper.cjs +36 -0
- package/dist/helpers/columnHelper.cjs.map +1 -0
- package/dist/helpers/columnHelper.d.cts +66 -0
- package/dist/helpers/columnHelper.d.ts +66 -0
- package/dist/helpers/columnHelper.js +35 -0
- package/dist/helpers/columnHelper.js.map +1 -0
- package/dist/helpers/tableFeatures.cjs +20 -0
- package/dist/helpers/tableFeatures.cjs.map +1 -0
- package/dist/helpers/tableFeatures.d.cts +18 -0
- package/dist/helpers/tableFeatures.d.ts +18 -0
- package/dist/helpers/tableFeatures.js +19 -0
- package/dist/helpers/tableFeatures.js.map +1 -0
- package/dist/helpers/tableOptions.cjs +9 -0
- package/dist/helpers/tableOptions.cjs.map +1 -0
- package/dist/helpers/tableOptions.d.cts +28 -0
- package/dist/helpers/tableOptions.d.ts +28 -0
- package/dist/helpers/tableOptions.js +8 -0
- package/dist/helpers/tableOptions.js.map +1 -0
- package/dist/index.cjs +159 -0
- package/dist/index.d.cts +79 -0
- package/dist/index.d.ts +79 -0
- package/dist/index.js +47 -0
- package/dist/static-functions.cjs +261 -0
- package/dist/static-functions.d.cts +21 -0
- package/dist/static-functions.d.ts +21 -0
- package/dist/static-functions.js +22 -0
- package/dist/types/Cell.d.cts +16 -0
- package/dist/types/Cell.d.ts +16 -0
- package/dist/types/Column.d.cts +29 -0
- package/dist/types/Column.d.ts +29 -0
- package/dist/types/ColumnDef.d.cts +66 -0
- package/dist/types/ColumnDef.d.ts +66 -0
- package/dist/types/Header.d.cts +17 -0
- package/dist/types/Header.d.ts +17 -0
- package/dist/types/HeaderGroup.d.cts +15 -0
- package/dist/types/HeaderGroup.d.ts +15 -0
- package/dist/types/Row.d.cts +22 -0
- package/dist/types/Row.d.ts +22 -0
- package/dist/types/RowModel.d.cts +26 -0
- package/dist/types/RowModel.d.ts +26 -0
- package/dist/types/RowModelFns.d.cts +18 -0
- package/dist/types/RowModelFns.d.ts +18 -0
- package/dist/types/Table.d.cts +59 -0
- package/dist/types/Table.d.ts +59 -0
- package/dist/types/TableFeatures.d.cts +77 -0
- package/dist/types/TableFeatures.d.ts +77 -0
- package/dist/types/TableOptions.d.cts +39 -0
- package/dist/types/TableOptions.d.ts +39 -0
- package/dist/types/TableState.d.cts +27 -0
- package/dist/types/TableState.d.ts +27 -0
- package/dist/types/type-utils.d.cts +23 -0
- package/dist/types/type-utils.d.ts +23 -0
- package/dist/utils.cjs +218 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.cts +91 -0
- package/dist/utils.d.ts +91 -0
- package/dist/utils.js +203 -0
- package/dist/utils.js.map +1 -0
- package/package.json +31 -14
- package/src/core/cells/constructCell.ts +49 -0
- package/src/core/cells/coreCellsFeature.ts +44 -0
- package/src/core/cells/coreCellsFeature.types.ts +68 -0
- package/src/core/cells/coreCellsFeature.utils.ts +35 -0
- package/src/core/columns/constructColumn.ts +111 -0
- package/src/core/columns/coreColumnsFeature.ts +90 -0
- package/src/core/columns/coreColumnsFeature.types.ts +103 -0
- package/src/core/columns/coreColumnsFeature.utils.ts +160 -0
- package/src/core/coreFeatures.ts +24 -0
- package/src/core/headers/buildHeaderGroups.ts +177 -0
- package/src/core/headers/constructHeader.ts +61 -0
- package/src/core/headers/coreHeadersFeature.ts +98 -0
- package/src/core/headers/coreHeadersFeature.types.ts +123 -0
- package/src/core/headers/coreHeadersFeature.utils.ts +131 -0
- package/src/core/row-models/coreRowModelsFeature.ts +78 -0
- package/src/core/row-models/coreRowModelsFeature.types.ts +67 -0
- package/src/core/row-models/coreRowModelsFeature.utils.ts +140 -0
- package/src/core/row-models/createCoreRowModel.ts +88 -0
- package/src/core/rows/constructRow.ts +59 -0
- package/src/core/rows/coreRowsFeature.ts +84 -0
- package/src/core/rows/coreRowsFeature.types.ts +114 -0
- package/src/core/rows/coreRowsFeature.utils.ts +152 -0
- package/src/core/table/constructTable.ts +110 -0
- package/src/core/table/coreTablesFeature.ts +36 -0
- package/src/core/table/coreTablesFeature.types.ts +187 -0
- package/src/core/table/coreTablesFeature.utils.ts +47 -0
- package/src/features/column-faceting/columnFacetingFeature.ts +112 -0
- package/src/features/column-faceting/columnFacetingFeature.types.ts +97 -0
- package/src/features/column-faceting/columnFacetingFeature.utils.ts +77 -0
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +63 -0
- package/src/features/column-faceting/createFacetedRowModel.ts +76 -0
- package/src/features/column-faceting/createFacetedUniqueValues.ts +60 -0
- package/src/features/column-filtering/columnFilteringFeature.ts +121 -0
- package/src/features/column-filtering/columnFilteringFeature.types.ts +219 -0
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +209 -0
- package/src/features/column-filtering/createFilteredRowModel.ts +172 -0
- package/src/features/column-filtering/filterRowsUtils.ts +152 -0
- package/src/features/column-grouping/columnGroupingFeature.ts +151 -0
- package/src/features/column-grouping/columnGroupingFeature.types.ts +218 -0
- package/src/features/column-grouping/columnGroupingFeature.utils.ts +192 -0
- package/src/features/column-grouping/createGroupedRowModel.ts +215 -0
- package/src/features/column-ordering/columnOrderingFeature.ts +96 -0
- package/src/features/column-ordering/columnOrderingFeature.types.ts +49 -0
- package/src/features/column-ordering/columnOrderingFeature.utils.ts +134 -0
- package/src/features/column-pinning/columnPinningFeature.ts +347 -0
- package/src/features/column-pinning/columnPinningFeature.types.ts +176 -0
- package/src/features/column-pinning/columnPinningFeature.utils.ts +539 -0
- package/src/features/column-resizing/columnResizingFeature.ts +92 -0
- package/src/features/column-resizing/columnResizingFeature.types.ts +81 -0
- package/src/features/column-resizing/columnResizingFeature.utils.ts +276 -0
- package/src/features/column-sizing/columnSizingFeature.ts +146 -0
- package/src/features/column-sizing/columnSizingFeature.types.ts +92 -0
- package/src/features/column-sizing/columnSizingFeature.utils.ts +211 -0
- package/src/features/column-visibility/columnVisibilityFeature.ts +157 -0
- package/src/features/column-visibility/columnVisibilityFeature.types.ts +101 -0
- package/src/features/column-visibility/columnVisibilityFeature.utils.ts +183 -0
- package/src/features/global-filtering/globalFilteringFeature.ts +92 -0
- package/src/features/global-filtering/globalFilteringFeature.types.ts +84 -0
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +59 -0
- package/src/features/row-expanding/createExpandedRowModel.ts +72 -0
- package/src/features/row-expanding/rowExpandingFeature.ts +122 -0
- package/src/features/row-expanding/rowExpandingFeature.types.ts +141 -0
- package/src/features/row-expanding/rowExpandingFeature.utils.ts +208 -0
- package/src/features/row-pagination/createPaginatedRowModel.ts +78 -0
- package/src/features/row-pagination/rowPaginationFeature.ts +121 -0
- package/src/features/row-pagination/rowPaginationFeature.types.ts +141 -0
- package/src/features/row-pagination/rowPaginationFeature.utils.ts +208 -0
- package/src/features/row-pinning/rowPinningFeature.ts +121 -0
- package/src/features/row-pinning/rowPinningFeature.types.ts +89 -0
- package/src/features/row-pinning/rowPinningFeature.utils.ts +199 -0
- package/src/features/row-selection/rowSelectionFeature.ts +164 -0
- package/src/features/row-selection/rowSelectionFeature.types.ts +143 -0
- package/src/features/row-selection/rowSelectionFeature.utils.ts +465 -0
- package/src/features/row-sorting/createSortedRowModel.ts +149 -0
- package/src/features/row-sorting/rowSortingFeature.ts +136 -0
- package/src/features/row-sorting/rowSortingFeature.types.ts +229 -0
- package/src/features/row-sorting/rowSortingFeature.utils.ts +319 -0
- package/src/features/stockFeatures.ts +48 -0
- package/src/features/table-reactivity/tableReactivityFeature.ts +92 -0
- package/src/flex-render.ts +60 -0
- package/src/fns/aggregationFns.ts +220 -0
- package/src/fns/filterFns.ts +379 -0
- package/src/{sortingFns.ts → fns/sortFns.ts} +66 -21
- package/src/helpers/columnHelper.ts +117 -0
- package/src/helpers/tableFeatures.ts +24 -0
- package/src/helpers/tableOptions.ts +82 -0
- package/src/index.ts +140 -42
- package/src/process-env.d.ts +6 -0
- package/src/static-functions.ts +31 -0
- package/src/types/Cell.ts +41 -0
- package/src/types/Column.ts +86 -0
- package/src/types/ColumnDef.ts +217 -0
- package/src/types/Header.ts +45 -0
- package/src/types/HeaderGroup.ts +24 -0
- package/src/types/Row.ts +55 -0
- package/src/types/RowModel.ts +137 -0
- package/src/types/RowModelFns.ts +51 -0
- package/src/types/Table.ts +132 -0
- package/src/types/TableFeatures.ts +150 -0
- package/src/types/TableOptions.ts +125 -0
- package/src/types/TableState.ts +88 -0
- package/src/types/type-utils.ts +84 -0
- package/src/utils.ts +361 -161
- package/dist/cjs/aggregationFns.cjs +0 -98
- package/dist/cjs/aggregationFns.cjs.map +0 -1
- package/dist/cjs/aggregationFns.d.cts +0 -14
- package/dist/cjs/columnHelper.cjs +0 -19
- package/dist/cjs/columnHelper.cjs.map +0 -1
- package/dist/cjs/columnHelper.d.cts +0 -9
- package/dist/cjs/core/cell.cjs +0 -38
- package/dist/cjs/core/cell.cjs.map +0 -1
- package/dist/cjs/core/cell.d.cts +0 -50
- package/dist/cjs/core/column.cjs +0 -81
- package/dist/cjs/core/column.cjs.map +0 -1
- package/dist/cjs/core/column.d.cts +0 -56
- package/dist/cjs/core/headers.cjs +0 -310
- package/dist/cjs/core/headers.cjs.map +0 -1
- package/dist/cjs/core/headers.d.cts +0 -195
- package/dist/cjs/core/row.cjs +0 -93
- package/dist/cjs/core/row.cjs.map +0 -1
- package/dist/cjs/core/row.d.cts +0 -92
- package/dist/cjs/core/table.cjs +0 -228
- package/dist/cjs/core/table.cjs.map +0 -1
- package/dist/cjs/core/table.d.cts +0 -221
- package/dist/cjs/features/ColumnFaceting.cjs +0 -29
- package/dist/cjs/features/ColumnFaceting.cjs.map +0 -1
- package/dist/cjs/features/ColumnFaceting.d.cts +0 -35
- package/dist/cjs/features/ColumnFiltering.cjs +0 -137
- package/dist/cjs/features/ColumnFiltering.cjs.map +0 -1
- package/dist/cjs/features/ColumnFiltering.d.cts +0 -195
- package/dist/cjs/features/ColumnGrouping.cjs +0 -134
- package/dist/cjs/features/ColumnGrouping.cjs.map +0 -1
- package/dist/cjs/features/ColumnGrouping.d.cts +0 -202
- package/dist/cjs/features/ColumnOrdering.cjs +0 -76
- package/dist/cjs/features/ColumnOrdering.cjs.map +0 -1
- package/dist/cjs/features/ColumnOrdering.d.cts +0 -54
- package/dist/cjs/features/ColumnPinning.cjs +0 -145
- package/dist/cjs/features/ColumnPinning.cjs.map +0 -1
- package/dist/cjs/features/ColumnPinning.d.cts +0 -127
- package/dist/cjs/features/ColumnSizing.cjs +0 -308
- package/dist/cjs/features/ColumnSizing.cjs.map +0 -1
- package/dist/cjs/features/ColumnSizing.d.cts +0 -194
- package/dist/cjs/features/ColumnVisibility.cjs +0 -144
- package/dist/cjs/features/ColumnVisibility.cjs.map +0 -1
- package/dist/cjs/features/ColumnVisibility.d.cts +0 -130
- package/dist/cjs/features/GlobalFaceting.cjs +0 -29
- package/dist/cjs/features/GlobalFaceting.cjs.map +0 -1
- package/dist/cjs/features/GlobalFaceting.d.cts +0 -27
- package/dist/cjs/features/GlobalFiltering.cjs +0 -50
- package/dist/cjs/features/GlobalFiltering.cjs.map +0 -1
- package/dist/cjs/features/GlobalFiltering.d.cts +0 -80
- package/dist/cjs/features/RowExpanding.cjs +0 -154
- package/dist/cjs/features/RowExpanding.cjs.map +0 -1
- package/dist/cjs/features/RowExpanding.d.cts +0 -155
- package/dist/cjs/features/RowPagination.cjs +0 -162
- package/dist/cjs/features/RowPagination.cjs.map +0 -1
- package/dist/cjs/features/RowPagination.d.cts +0 -166
- package/dist/cjs/features/RowPinning.cjs +0 -133
- package/dist/cjs/features/RowPinning.cjs.map +0 -1
- package/dist/cjs/features/RowPinning.d.cts +0 -99
- package/dist/cjs/features/RowSelection.cjs +0 -298
- package/dist/cjs/features/RowSelection.cjs.map +0 -1
- package/dist/cjs/features/RowSelection.d.cts +0 -177
- package/dist/cjs/features/RowSorting.cjs +0 -201
- package/dist/cjs/features/RowSorting.cjs.map +0 -1
- package/dist/cjs/features/RowSorting.d.cts +0 -238
- package/dist/cjs/filterFns.cjs +0 -88
- package/dist/cjs/filterFns.cjs.map +0 -1
- package/dist/cjs/filterFns.d.cts +0 -14
- package/dist/cjs/index.cjs +0 -87
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/index.d.cts +0 -34
- package/dist/cjs/sortingFns.cjs +0 -91
- package/dist/cjs/sortingFns.cjs.map +0 -1
- package/dist/cjs/sortingFns.d.cts +0 -12
- package/dist/cjs/types.d.cts +0 -120
- package/dist/cjs/utils/filterRowsUtils.cjs +0 -99
- package/dist/cjs/utils/filterRowsUtils.cjs.map +0 -1
- package/dist/cjs/utils/filterRowsUtils.d.cts +0 -3
- package/dist/cjs/utils/getCoreRowModel.cjs +0 -54
- package/dist/cjs/utils/getCoreRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getCoreRowModel.d.cts +0 -3
- package/dist/cjs/utils/getExpandedRowModel.cjs +0 -41
- package/dist/cjs/utils/getExpandedRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getExpandedRowModel.d.cts +0 -8
- package/dist/cjs/utils/getFacetedMinMaxValues.cjs +0 -36
- package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +0 -1
- package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +0 -3
- package/dist/cjs/utils/getFacetedRowModel.cjs +0 -35
- package/dist/cjs/utils/getFacetedRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getFacetedRowModel.d.cts +0 -3
- package/dist/cjs/utils/getFacetedUniqueValues.cjs +0 -38
- package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +0 -1
- package/dist/cjs/utils/getFacetedUniqueValues.d.cts +0 -3
- package/dist/cjs/utils/getFilteredRowModel.cjs +0 -116
- package/dist/cjs/utils/getFilteredRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getFilteredRowModel.d.cts +0 -3
- package/dist/cjs/utils/getGroupedRowModel.cjs +0 -118
- package/dist/cjs/utils/getGroupedRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getGroupedRowModel.d.cts +0 -3
- package/dist/cjs/utils/getPaginationRowModel.cjs +0 -49
- package/dist/cjs/utils/getPaginationRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getPaginationRowModel.d.cts +0 -5
- package/dist/cjs/utils/getSortedRowModel.cjs +0 -91
- package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
- package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
- package/dist/cjs/utils.cjs +0 -100
- package/dist/cjs/utils.cjs.map +0 -1
- package/dist/cjs/utils.d.cts +0 -39
- package/dist/esm/aggregationFns.d.ts +0 -14
- package/dist/esm/aggregationFns.js +0 -98
- package/dist/esm/aggregationFns.js.map +0 -1
- package/dist/esm/columnHelper.d.ts +0 -9
- package/dist/esm/columnHelper.js +0 -19
- package/dist/esm/columnHelper.js.map +0 -1
- package/dist/esm/core/cell.d.ts +0 -50
- package/dist/esm/core/cell.js +0 -38
- package/dist/esm/core/cell.js.map +0 -1
- package/dist/esm/core/column.d.ts +0 -56
- package/dist/esm/core/column.js +0 -81
- package/dist/esm/core/column.js.map +0 -1
- package/dist/esm/core/headers.d.ts +0 -195
- package/dist/esm/core/headers.js +0 -310
- package/dist/esm/core/headers.js.map +0 -1
- package/dist/esm/core/row.d.ts +0 -92
- package/dist/esm/core/row.js +0 -93
- package/dist/esm/core/row.js.map +0 -1
- package/dist/esm/core/table.d.ts +0 -221
- package/dist/esm/core/table.js +0 -228
- package/dist/esm/core/table.js.map +0 -1
- package/dist/esm/features/ColumnFaceting.d.ts +0 -35
- package/dist/esm/features/ColumnFaceting.js +0 -29
- package/dist/esm/features/ColumnFaceting.js.map +0 -1
- package/dist/esm/features/ColumnFiltering.d.ts +0 -195
- package/dist/esm/features/ColumnFiltering.js +0 -137
- package/dist/esm/features/ColumnFiltering.js.map +0 -1
- package/dist/esm/features/ColumnGrouping.d.ts +0 -202
- package/dist/esm/features/ColumnGrouping.js +0 -134
- package/dist/esm/features/ColumnGrouping.js.map +0 -1
- package/dist/esm/features/ColumnOrdering.d.ts +0 -54
- package/dist/esm/features/ColumnOrdering.js +0 -76
- package/dist/esm/features/ColumnOrdering.js.map +0 -1
- package/dist/esm/features/ColumnPinning.d.ts +0 -127
- package/dist/esm/features/ColumnPinning.js +0 -145
- package/dist/esm/features/ColumnPinning.js.map +0 -1
- package/dist/esm/features/ColumnSizing.d.ts +0 -194
- package/dist/esm/features/ColumnSizing.js +0 -308
- package/dist/esm/features/ColumnSizing.js.map +0 -1
- package/dist/esm/features/ColumnVisibility.d.ts +0 -130
- package/dist/esm/features/ColumnVisibility.js +0 -144
- package/dist/esm/features/ColumnVisibility.js.map +0 -1
- package/dist/esm/features/GlobalFaceting.d.ts +0 -27
- package/dist/esm/features/GlobalFaceting.js +0 -29
- package/dist/esm/features/GlobalFaceting.js.map +0 -1
- package/dist/esm/features/GlobalFiltering.d.ts +0 -80
- package/dist/esm/features/GlobalFiltering.js +0 -50
- package/dist/esm/features/GlobalFiltering.js.map +0 -1
- package/dist/esm/features/RowExpanding.d.ts +0 -155
- package/dist/esm/features/RowExpanding.js +0 -154
- package/dist/esm/features/RowExpanding.js.map +0 -1
- package/dist/esm/features/RowPagination.d.ts +0 -166
- package/dist/esm/features/RowPagination.js +0 -162
- package/dist/esm/features/RowPagination.js.map +0 -1
- package/dist/esm/features/RowPinning.d.ts +0 -99
- package/dist/esm/features/RowPinning.js +0 -133
- package/dist/esm/features/RowPinning.js.map +0 -1
- package/dist/esm/features/RowSelection.d.ts +0 -177
- package/dist/esm/features/RowSelection.js +0 -298
- package/dist/esm/features/RowSelection.js.map +0 -1
- package/dist/esm/features/RowSorting.d.ts +0 -238
- package/dist/esm/features/RowSorting.js +0 -201
- package/dist/esm/features/RowSorting.js.map +0 -1
- package/dist/esm/filterFns.d.ts +0 -14
- package/dist/esm/filterFns.js +0 -88
- package/dist/esm/filterFns.js.map +0 -1
- package/dist/esm/index.d.ts +0 -34
- package/dist/esm/index.js +0 -87
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/sortingFns.d.ts +0 -12
- package/dist/esm/sortingFns.js +0 -91
- package/dist/esm/sortingFns.js.map +0 -1
- package/dist/esm/types.d.ts +0 -120
- package/dist/esm/utils/filterRowsUtils.d.ts +0 -3
- package/dist/esm/utils/filterRowsUtils.js +0 -99
- package/dist/esm/utils/filterRowsUtils.js.map +0 -1
- package/dist/esm/utils/getCoreRowModel.d.ts +0 -3
- package/dist/esm/utils/getCoreRowModel.js +0 -54
- package/dist/esm/utils/getCoreRowModel.js.map +0 -1
- package/dist/esm/utils/getExpandedRowModel.d.ts +0 -8
- package/dist/esm/utils/getExpandedRowModel.js +0 -41
- package/dist/esm/utils/getExpandedRowModel.js.map +0 -1
- package/dist/esm/utils/getFacetedMinMaxValues.d.ts +0 -3
- package/dist/esm/utils/getFacetedMinMaxValues.js +0 -36
- package/dist/esm/utils/getFacetedMinMaxValues.js.map +0 -1
- package/dist/esm/utils/getFacetedRowModel.d.ts +0 -3
- package/dist/esm/utils/getFacetedRowModel.js +0 -35
- package/dist/esm/utils/getFacetedRowModel.js.map +0 -1
- package/dist/esm/utils/getFacetedUniqueValues.d.ts +0 -3
- package/dist/esm/utils/getFacetedUniqueValues.js +0 -38
- package/dist/esm/utils/getFacetedUniqueValues.js.map +0 -1
- package/dist/esm/utils/getFilteredRowModel.d.ts +0 -3
- package/dist/esm/utils/getFilteredRowModel.js +0 -116
- package/dist/esm/utils/getFilteredRowModel.js.map +0 -1
- package/dist/esm/utils/getGroupedRowModel.d.ts +0 -3
- package/dist/esm/utils/getGroupedRowModel.js +0 -118
- package/dist/esm/utils/getGroupedRowModel.js.map +0 -1
- package/dist/esm/utils/getPaginationRowModel.d.ts +0 -5
- package/dist/esm/utils/getPaginationRowModel.js +0 -49
- package/dist/esm/utils/getPaginationRowModel.js.map +0 -1
- package/dist/esm/utils/getSortedRowModel.d.ts +0 -3
- package/dist/esm/utils/getSortedRowModel.js +0 -91
- package/dist/esm/utils/getSortedRowModel.js.map +0 -1
- package/dist/esm/utils.d.ts +0 -39
- package/dist/esm/utils.js +0 -100
- package/dist/esm/utils.js.map +0 -1
- package/src/aggregationFns.ts +0 -123
- package/src/columnHelper.ts +0 -91
- package/src/core/cell.ts +0 -91
- package/src/core/column.ts +0 -165
- package/src/core/headers.ts +0 -639
- package/src/core/row.ts +0 -201
- package/src/core/table.ts +0 -527
- package/src/features/ColumnFaceting.ts +0 -84
- package/src/features/ColumnFiltering.ts +0 -429
- package/src/features/ColumnGrouping.ts +0 -422
- package/src/features/ColumnOrdering.ts +0 -161
- package/src/features/ColumnPinning.ts +0 -336
- package/src/features/ColumnSizing.ts +0 -579
- package/src/features/ColumnVisibility.ts +0 -317
- package/src/features/GlobalFaceting.ts +0 -66
- package/src/features/GlobalFiltering.ts +0 -162
- package/src/features/RowExpanding.ts +0 -355
- package/src/features/RowPagination.ts +0 -396
- package/src/features/RowPinning.ts +0 -273
- package/src/features/RowSelection.ts +0 -668
- package/src/features/RowSorting.ts +0 -542
- package/src/filterFns.ts +0 -150
- package/src/types.ts +0 -361
- package/src/utils/filterRowsUtils.ts +0 -130
- package/src/utils/getCoreRowModel.ts +0 -82
- package/src/utils/getExpandedRowModel.ts +0 -51
- package/src/utils/getFacetedMinMaxValues.ts +0 -42
- package/src/utils/getFacetedRowModel.ts +0 -44
- package/src/utils/getFacetedUniqueValues.ts +0 -42
- package/src/utils/getFilteredRowModel.ts +0 -151
- package/src/utils/getGroupedRowModel.ts +0 -181
- package/src/utils/getPaginationRowModel.ts +0 -60
- package/src/utils/getSortedRowModel.ts +0 -121
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
const require_utils = require('../../utils.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/features/column-filtering/columnFilteringFeature.utils.ts
|
|
4
|
+
function getDefaultColumnFiltersState() {
|
|
5
|
+
return [];
|
|
6
|
+
}
|
|
7
|
+
function column_getAutoFilterFn(column) {
|
|
8
|
+
const filterFns = column.table._rowModelFns.filterFns;
|
|
9
|
+
const firstRow = column.table.getCoreRowModel().flatRows[0];
|
|
10
|
+
const value = firstRow ? firstRow.getValue(column.id) : void 0;
|
|
11
|
+
if (typeof value === "string") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.includesString;
|
|
12
|
+
if (typeof value === "number") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.inNumberRange;
|
|
13
|
+
if (typeof value === "boolean") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.equals;
|
|
14
|
+
if (value !== null && typeof value === "object") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.equals;
|
|
15
|
+
if (Array.isArray(value)) return filterFns === null || filterFns === void 0 ? void 0 : filterFns.arrIncludes;
|
|
16
|
+
return filterFns === null || filterFns === void 0 ? void 0 : filterFns.weakEquals;
|
|
17
|
+
}
|
|
18
|
+
function column_getFilterFn(column) {
|
|
19
|
+
let filterFn = null;
|
|
20
|
+
const filterFns = column.table._rowModelFns.filterFns;
|
|
21
|
+
filterFn = require_utils.isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === "auto" ? column_getAutoFilterFn(column) : filterFns === null || filterFns === void 0 ? void 0 : filterFns[column.columnDef.filterFn];
|
|
22
|
+
if (process.env.NODE_ENV === "development" && !filterFn) console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`);
|
|
23
|
+
return filterFn;
|
|
24
|
+
}
|
|
25
|
+
function column_getCanFilter(column) {
|
|
26
|
+
return (column.columnDef.enableColumnFilter ?? true) && (column.table.options.enableColumnFilters ?? true) && (column.table.options.enableFilters ?? true) && !!column.accessorFn;
|
|
27
|
+
}
|
|
28
|
+
function column_getIsFiltered(column) {
|
|
29
|
+
return column_getFilterIndex(column) > -1;
|
|
30
|
+
}
|
|
31
|
+
function column_getFilterValue(column) {
|
|
32
|
+
var _column$table$atoms$c;
|
|
33
|
+
return (_column$table$atoms$c = column.table.atoms.columnFilters) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.get()) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.find((d) => d.id === column.id)) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c.value;
|
|
34
|
+
}
|
|
35
|
+
function column_getFilterIndex(column) {
|
|
36
|
+
var _column$table$atoms$c2;
|
|
37
|
+
return ((_column$table$atoms$c2 = column.table.atoms.columnFilters) === null || _column$table$atoms$c2 === void 0 || (_column$table$atoms$c2 = _column$table$atoms$c2.get()) === null || _column$table$atoms$c2 === void 0 ? void 0 : _column$table$atoms$c2.findIndex((d) => d.id === column.id)) ?? -1;
|
|
38
|
+
}
|
|
39
|
+
function column_setFilterValue(column, value) {
|
|
40
|
+
table_setColumnFilters(column.table, (old) => {
|
|
41
|
+
const filterFn = column_getFilterFn(column);
|
|
42
|
+
const previousFilter = old.find((d) => d.id === column.id);
|
|
43
|
+
const newFilter = require_utils.functionalUpdate(value, previousFilter ? previousFilter.value : void 0);
|
|
44
|
+
if (shouldAutoRemoveFilter(filterFn, newFilter, column)) return old.filter((d) => d.id !== column.id);
|
|
45
|
+
const newFilterObj = {
|
|
46
|
+
id: column.id,
|
|
47
|
+
value: newFilter
|
|
48
|
+
};
|
|
49
|
+
if (previousFilter) return old.map((d) => {
|
|
50
|
+
if (d.id === column.id) return newFilterObj;
|
|
51
|
+
return d;
|
|
52
|
+
});
|
|
53
|
+
if (old.length) return [...old, newFilterObj];
|
|
54
|
+
return [newFilterObj];
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function table_setColumnFilters(table, updater) {
|
|
58
|
+
var _table$options$onColu, _table$options;
|
|
59
|
+
const leafColumns = table.getAllLeafColumns();
|
|
60
|
+
const updateFn = (old) => {
|
|
61
|
+
return require_utils.functionalUpdate(updater, old).filter((filter) => {
|
|
62
|
+
const column = leafColumns.find((d) => d.id === filter.id);
|
|
63
|
+
if (column) {
|
|
64
|
+
if (shouldAutoRemoveFilter(column_getFilterFn(column), filter.value, column)) return false;
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
(_table$options$onColu = (_table$options = table.options).onColumnFiltersChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updateFn);
|
|
70
|
+
}
|
|
71
|
+
function table_resetColumnFilters(table, defaultState) {
|
|
72
|
+
table_setColumnFilters(table, defaultState ? [] : require_utils.cloneState(table.initialState.columnFilters ?? []));
|
|
73
|
+
}
|
|
74
|
+
function shouldAutoRemoveFilter(filterFn, value, column) {
|
|
75
|
+
return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === "undefined" || typeof value === "string" && !value;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
//#endregion
|
|
79
|
+
exports.column_getAutoFilterFn = column_getAutoFilterFn;
|
|
80
|
+
exports.column_getCanFilter = column_getCanFilter;
|
|
81
|
+
exports.column_getFilterFn = column_getFilterFn;
|
|
82
|
+
exports.column_getFilterIndex = column_getFilterIndex;
|
|
83
|
+
exports.column_getFilterValue = column_getFilterValue;
|
|
84
|
+
exports.column_getIsFiltered = column_getIsFiltered;
|
|
85
|
+
exports.column_setFilterValue = column_setFilterValue;
|
|
86
|
+
exports.getDefaultColumnFiltersState = getDefaultColumnFiltersState;
|
|
87
|
+
exports.shouldAutoRemoveFilter = shouldAutoRemoveFilter;
|
|
88
|
+
exports.table_resetColumnFilters = table_resetColumnFilters;
|
|
89
|
+
exports.table_setColumnFilters = table_setColumnFilters;
|
|
90
|
+
//# sourceMappingURL=columnFilteringFeature.utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnFilteringFeature.utils.cjs","names":["isFunction","functionalUpdate","cloneState"],"sources":["../../../src/features/column-filtering/columnFilteringFeature.utils.ts"],"sourcesContent":["import { cloneState, functionalUpdate, isFunction } from '../../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 { Column_Internal } from '../../types/Column'\nimport type {\n ColumnFiltersState,\n FilterFn,\n} from './columnFilteringFeature.types'\n\nexport function getDefaultColumnFiltersState(): ColumnFiltersState {\n return []\n}\n\nexport function column_getAutoFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n\n const firstRow = column.table.getCoreRowModel().flatRows[0]\n\n const value = firstRow ? firstRow.getValue(column.id) : undefined\n\n if (typeof value === 'string') {\n return filterFns?.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns?.inNumberRange\n }\n\n if (typeof value === 'boolean') {\n return filterFns?.equals\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns?.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns?.arrIncludes\n }\n\n return filterFns?.weakEquals\n}\n\nexport function column_getFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n): FilterFn<TFeatures, TData> | undefined {\n let filterFn = null\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n filterFn = isFunction(column.columnDef.filterFn)\n ? column.columnDef.filterFn\n : column.columnDef.filterFn === 'auto'\n ? column_getAutoFilterFn(column)\n : filterFns?.[column.columnDef.filterFn as string]\n\n if (process.env.NODE_ENV === 'development' && !filterFn) {\n console.warn(\n `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`,\n )\n }\n\n return filterFn\n}\n\nexport function column_getCanFilter<\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.enableColumnFilter ?? true) &&\n (column.table.options.enableColumnFilters ?? true) &&\n (column.table.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n}\n\nexport function column_getIsFiltered<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column_getFilterIndex(column) > -1\n}\n\nexport function column_getFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column.table.atoms.columnFilters\n ?.get()\n ?.find((d) => d.id === column.id)?.value\n}\n\nexport function column_getFilterIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return (\n column.table.atoms.columnFilters\n ?.get()\n ?.findIndex((d) => d.id === column.id) ?? -1\n )\n}\n\nexport function column_setFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, value: any) {\n table_setColumnFilters(column.table, (old) => {\n const filterFn = column_getFilterFn(column)\n const previousFilter = old.find((d) => d.id === column.id)\n\n const newFilter = functionalUpdate(\n value,\n previousFilter ? previousFilter.value : undefined,\n )\n\n if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {\n return old.filter((d) => d.id !== column.id)\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousFilter) {\n return old.map((d) => {\n if (d.id === column.id) {\n return newFilterObj\n }\n return d\n })\n }\n\n if (old.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n}\n\nexport function table_setColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnFiltersState>,\n) {\n const leafColumns = table.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old).filter((filter) => {\n const column = leafColumns.find((d) => d.id === filter.id)\n\n if (column) {\n const filterFn = column_getFilterFn(column)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n table.options.onColumnFiltersChange?.(updateFn)\n}\n\nexport function table_resetColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnFilters(\n table,\n defaultState ? [] : cloneState(table.initialState.columnFilters ?? []),\n )\n}\n\nexport function shouldAutoRemoveFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n filterFn?: FilterFn<TFeatures, TData>,\n value?: any,\n column?: Column_Internal<TFeatures, TData, TValue>,\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"mappings":";;;AAUA,SAAgB,+BAAmD;AACjE,QAAO,EAAE;;AAGX,SAAgB,uBAId,QAAmD;CACnD,MAAM,YACJ,OAAO,MAAM,aAAa;CAE5B,MAAM,WAAW,OAAO,MAAM,iBAAiB,CAAC,SAAS;CAEzD,MAAM,QAAQ,WAAW,SAAS,SAAS,OAAO,GAAG,GAAG;AAExD,KAAI,OAAO,UAAU,SACnB,8DAAO,UAAW;AAGpB,KAAI,OAAO,UAAU,SACnB,8DAAO,UAAW;AAGpB,KAAI,OAAO,UAAU,UACnB,8DAAO,UAAW;AAGpB,KAAI,UAAU,QAAQ,OAAO,UAAU,SACrC,8DAAO,UAAW;AAGpB,KAAI,MAAM,QAAQ,MAAM,CACtB,8DAAO,UAAW;AAGpB,8DAAO,UAAW;;AAGpB,SAAgB,mBAKd,QACwC;CACxC,IAAI,WAAW;CACf,MAAM,YACJ,OAAO,MAAM,aAAa;AAC5B,YAAWA,yBAAW,OAAO,UAAU,SAAS,GAC5C,OAAO,UAAU,WACjB,OAAO,UAAU,aAAa,SAC5B,uBAAuB,OAAO,yDAC9B,UAAY,OAAO,UAAU;AAEnC,KAAI,QAAQ,IAAI,aAAa,iBAAiB,CAAC,SAC7C,SAAQ,KACN,oEAAoE,OAAO,GAAG,GAC/E;AAGH,QAAO;;AAGT,SAAgB,oBAId,QAAmD;AACnD,SACG,OAAO,UAAU,sBAAsB,UACvC,OAAO,MAAM,QAAQ,uBAAuB,UAC5C,OAAO,MAAM,QAAQ,iBAAiB,SACvC,CAAC,CAAC,OAAO;;AAIb,SAAgB,qBAId,QAAmD;AACnD,QAAO,sBAAsB,OAAO,GAAG;;AAGzC,SAAgB,sBAId,QAAmD;;AACnD,iCAAO,OAAO,MAAM,MAAM,8GACtB,KAAK,iGACL,MAAM,MAAM,EAAE,OAAO,OAAO,GAAG,gFAAE;;AAGvC,SAAgB,sBAId,QAA2D;;AAC3D,mCACE,OAAO,MAAM,MAAM,iHACf,KAAK,kFACL,WAAW,MAAM,EAAE,OAAO,OAAO,GAAG,KAAI;;AAIhD,SAAgB,sBAId,QAAmD,OAAY;AAC/D,wBAAuB,OAAO,QAAQ,QAAQ;EAC5C,MAAM,WAAW,mBAAmB,OAAO;EAC3C,MAAM,iBAAiB,IAAI,MAAM,MAAM,EAAE,OAAO,OAAO,GAAG;EAE1D,MAAM,YAAYC,+BAChB,OACA,iBAAiB,eAAe,QAAQ,OACzC;AAED,MAAI,uBAAuB,UAAU,WAAW,OAAO,CACrD,QAAO,IAAI,QAAQ,MAAM,EAAE,OAAO,OAAO,GAAG;EAG9C,MAAM,eAAe;GAAE,IAAI,OAAO;GAAI,OAAO;GAAW;AAExD,MAAI,eACF,QAAO,IAAI,KAAK,MAAM;AACpB,OAAI,EAAE,OAAO,OAAO,GAClB,QAAO;AAET,UAAO;IACP;AAGJ,MAAI,IAAI,OACN,QAAO,CAAC,GAAG,KAAK,aAAa;AAG/B,SAAO,CAAC,aAAa;GACrB;;AAGJ,SAAgB,uBAId,OACA,SACA;;CACA,MAAM,cAAc,MAAM,mBAAmB;CAE7C,MAAM,YAAY,QAA4B;AAC5C,SAAOA,+BAAiB,SAAS,IAAI,CAAC,QAAQ,WAAW;GACvD,MAAM,SAAS,YAAY,MAAM,MAAM,EAAE,OAAO,OAAO,GAAG;AAE1D,OAAI,QAGF;QAAI,uBAFa,mBAAmB,OAED,EAAE,OAAO,OAAO,OAAO,CACxD,QAAO;;AAIX,UAAO;IACP;;AAGJ,kDAAM,SAAQ,kHAAwB,SAAS;;AAGjD,SAAgB,yBAGd,OAAyC,cAAwB;AACjE,wBACE,OACA,eAAe,EAAE,GAAGC,yBAAW,MAAM,aAAa,iBAAiB,EAAE,CAAC,CACvE;;AAGH,SAAgB,uBAKd,UACA,OACA,QACA;AACA,SACG,YAAY,SAAS,aAClB,SAAS,WAAW,OAAO,OAAO,GAClC,UACJ,OAAO,UAAU,eAChB,OAAO,UAAU,YAAY,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CellData, RowData, Updater } from "../../types/type-utils.cjs";
|
|
2
|
+
import { ColumnFiltersState, FilterFn } from "./columnFilteringFeature.types.cjs";
|
|
3
|
+
import { Column_Internal } from "../../types/Column.cjs";
|
|
4
|
+
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
5
|
+
import { Table_Internal } from "../../types/Table.cjs";
|
|
6
|
+
|
|
7
|
+
//#region src/features/column-filtering/columnFilteringFeature.utils.d.ts
|
|
8
|
+
declare function getDefaultColumnFiltersState(): ColumnFiltersState;
|
|
9
|
+
declare function column_getAutoFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
|
|
10
|
+
declare function column_getFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
|
|
11
|
+
declare function column_getCanFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
|
|
12
|
+
declare function column_getIsFiltered<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
|
|
13
|
+
declare function column_getFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): unknown;
|
|
14
|
+
declare function column_getFilterIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): number;
|
|
15
|
+
declare function column_setFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, value: any): void;
|
|
16
|
+
declare function table_setColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnFiltersState>): void;
|
|
17
|
+
declare function table_resetColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
|
|
18
|
+
declare function shouldAutoRemoveFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(filterFn?: FilterFn<TFeatures, TData>, value?: any, column?: Column_Internal<TFeatures, TData, TValue>): boolean;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
|
|
21
|
+
//# sourceMappingURL=columnFilteringFeature.utils.d.cts.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CellData, RowData, Updater } from "../../types/type-utils.js";
|
|
2
|
+
import { ColumnFiltersState, FilterFn } from "./columnFilteringFeature.types.js";
|
|
3
|
+
import { Column_Internal } from "../../types/Column.js";
|
|
4
|
+
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
5
|
+
import { Table_Internal } from "../../types/Table.js";
|
|
6
|
+
|
|
7
|
+
//#region src/features/column-filtering/columnFilteringFeature.utils.d.ts
|
|
8
|
+
declare function getDefaultColumnFiltersState(): ColumnFiltersState;
|
|
9
|
+
declare function column_getAutoFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
|
|
10
|
+
declare function column_getFilterFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): FilterFn<TFeatures, TData> | undefined;
|
|
11
|
+
declare function column_getCanFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
|
|
12
|
+
declare function column_getIsFiltered<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
|
|
13
|
+
declare function column_getFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): unknown;
|
|
14
|
+
declare function column_getFilterIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): number;
|
|
15
|
+
declare function column_setFilterValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, value: any): void;
|
|
16
|
+
declare function table_setColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<ColumnFiltersState>): void;
|
|
17
|
+
declare function table_resetColumnFilters<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
|
|
18
|
+
declare function shouldAutoRemoveFilter<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(filterFn?: FilterFn<TFeatures, TData>, value?: any, column?: Column_Internal<TFeatures, TData, TValue>): boolean;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
|
|
21
|
+
//# sourceMappingURL=columnFilteringFeature.utils.d.ts.map
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { cloneState, functionalUpdate, isFunction } from "../../utils.js";
|
|
2
|
+
|
|
3
|
+
//#region src/features/column-filtering/columnFilteringFeature.utils.ts
|
|
4
|
+
function getDefaultColumnFiltersState() {
|
|
5
|
+
return [];
|
|
6
|
+
}
|
|
7
|
+
function column_getAutoFilterFn(column) {
|
|
8
|
+
const filterFns = column.table._rowModelFns.filterFns;
|
|
9
|
+
const firstRow = column.table.getCoreRowModel().flatRows[0];
|
|
10
|
+
const value = firstRow ? firstRow.getValue(column.id) : void 0;
|
|
11
|
+
if (typeof value === "string") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.includesString;
|
|
12
|
+
if (typeof value === "number") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.inNumberRange;
|
|
13
|
+
if (typeof value === "boolean") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.equals;
|
|
14
|
+
if (value !== null && typeof value === "object") return filterFns === null || filterFns === void 0 ? void 0 : filterFns.equals;
|
|
15
|
+
if (Array.isArray(value)) return filterFns === null || filterFns === void 0 ? void 0 : filterFns.arrIncludes;
|
|
16
|
+
return filterFns === null || filterFns === void 0 ? void 0 : filterFns.weakEquals;
|
|
17
|
+
}
|
|
18
|
+
function column_getFilterFn(column) {
|
|
19
|
+
let filterFn = null;
|
|
20
|
+
const filterFns = column.table._rowModelFns.filterFns;
|
|
21
|
+
filterFn = isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === "auto" ? column_getAutoFilterFn(column) : filterFns === null || filterFns === void 0 ? void 0 : filterFns[column.columnDef.filterFn];
|
|
22
|
+
if (process.env.NODE_ENV === "development" && !filterFn) console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`);
|
|
23
|
+
return filterFn;
|
|
24
|
+
}
|
|
25
|
+
function column_getCanFilter(column) {
|
|
26
|
+
return (column.columnDef.enableColumnFilter ?? true) && (column.table.options.enableColumnFilters ?? true) && (column.table.options.enableFilters ?? true) && !!column.accessorFn;
|
|
27
|
+
}
|
|
28
|
+
function column_getIsFiltered(column) {
|
|
29
|
+
return column_getFilterIndex(column) > -1;
|
|
30
|
+
}
|
|
31
|
+
function column_getFilterValue(column) {
|
|
32
|
+
var _column$table$atoms$c;
|
|
33
|
+
return (_column$table$atoms$c = column.table.atoms.columnFilters) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.get()) === null || _column$table$atoms$c === void 0 || (_column$table$atoms$c = _column$table$atoms$c.find((d) => d.id === column.id)) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c.value;
|
|
34
|
+
}
|
|
35
|
+
function column_getFilterIndex(column) {
|
|
36
|
+
var _column$table$atoms$c2;
|
|
37
|
+
return ((_column$table$atoms$c2 = column.table.atoms.columnFilters) === null || _column$table$atoms$c2 === void 0 || (_column$table$atoms$c2 = _column$table$atoms$c2.get()) === null || _column$table$atoms$c2 === void 0 ? void 0 : _column$table$atoms$c2.findIndex((d) => d.id === column.id)) ?? -1;
|
|
38
|
+
}
|
|
39
|
+
function column_setFilterValue(column, value) {
|
|
40
|
+
table_setColumnFilters(column.table, (old) => {
|
|
41
|
+
const filterFn = column_getFilterFn(column);
|
|
42
|
+
const previousFilter = old.find((d) => d.id === column.id);
|
|
43
|
+
const newFilter = functionalUpdate(value, previousFilter ? previousFilter.value : void 0);
|
|
44
|
+
if (shouldAutoRemoveFilter(filterFn, newFilter, column)) return old.filter((d) => d.id !== column.id);
|
|
45
|
+
const newFilterObj = {
|
|
46
|
+
id: column.id,
|
|
47
|
+
value: newFilter
|
|
48
|
+
};
|
|
49
|
+
if (previousFilter) return old.map((d) => {
|
|
50
|
+
if (d.id === column.id) return newFilterObj;
|
|
51
|
+
return d;
|
|
52
|
+
});
|
|
53
|
+
if (old.length) return [...old, newFilterObj];
|
|
54
|
+
return [newFilterObj];
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function table_setColumnFilters(table, updater) {
|
|
58
|
+
var _table$options$onColu, _table$options;
|
|
59
|
+
const leafColumns = table.getAllLeafColumns();
|
|
60
|
+
const updateFn = (old) => {
|
|
61
|
+
return functionalUpdate(updater, old).filter((filter) => {
|
|
62
|
+
const column = leafColumns.find((d) => d.id === filter.id);
|
|
63
|
+
if (column) {
|
|
64
|
+
if (shouldAutoRemoveFilter(column_getFilterFn(column), filter.value, column)) return false;
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
(_table$options$onColu = (_table$options = table.options).onColumnFiltersChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updateFn);
|
|
70
|
+
}
|
|
71
|
+
function table_resetColumnFilters(table, defaultState) {
|
|
72
|
+
table_setColumnFilters(table, defaultState ? [] : cloneState(table.initialState.columnFilters ?? []));
|
|
73
|
+
}
|
|
74
|
+
function shouldAutoRemoveFilter(filterFn, value, column) {
|
|
75
|
+
return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === "undefined" || typeof value === "string" && !value;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
//#endregion
|
|
79
|
+
export { column_getAutoFilterFn, column_getCanFilter, column_getFilterFn, column_getFilterIndex, column_getFilterValue, column_getIsFiltered, column_setFilterValue, getDefaultColumnFiltersState, shouldAutoRemoveFilter, table_resetColumnFilters, table_setColumnFilters };
|
|
80
|
+
//# sourceMappingURL=columnFilteringFeature.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnFilteringFeature.utils.js","names":[],"sources":["../../../src/features/column-filtering/columnFilteringFeature.utils.ts"],"sourcesContent":["import { cloneState, functionalUpdate, isFunction } from '../../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 { Column_Internal } from '../../types/Column'\nimport type {\n ColumnFiltersState,\n FilterFn,\n} from './columnFilteringFeature.types'\n\nexport function getDefaultColumnFiltersState(): ColumnFiltersState {\n return []\n}\n\nexport function column_getAutoFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n\n const firstRow = column.table.getCoreRowModel().flatRows[0]\n\n const value = firstRow ? firstRow.getValue(column.id) : undefined\n\n if (typeof value === 'string') {\n return filterFns?.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns?.inNumberRange\n }\n\n if (typeof value === 'boolean') {\n return filterFns?.equals\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns?.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns?.arrIncludes\n }\n\n return filterFns?.weakEquals\n}\n\nexport function column_getFilterFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n): FilterFn<TFeatures, TData> | undefined {\n let filterFn = null\n const filterFns: Record<string, FilterFn<TFeatures, TData>> | undefined =\n column.table._rowModelFns.filterFns\n filterFn = isFunction(column.columnDef.filterFn)\n ? column.columnDef.filterFn\n : column.columnDef.filterFn === 'auto'\n ? column_getAutoFilterFn(column)\n : filterFns?.[column.columnDef.filterFn as string]\n\n if (process.env.NODE_ENV === 'development' && !filterFn) {\n console.warn(\n `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`,\n )\n }\n\n return filterFn\n}\n\nexport function column_getCanFilter<\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.enableColumnFilter ?? true) &&\n (column.table.options.enableColumnFilters ?? true) &&\n (column.table.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n}\n\nexport function column_getIsFiltered<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column_getFilterIndex(column) > -1\n}\n\nexport function column_getFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return column.table.atoms.columnFilters\n ?.get()\n ?.find((d) => d.id === column.id)?.value\n}\n\nexport function column_getFilterIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return (\n column.table.atoms.columnFilters\n ?.get()\n ?.findIndex((d) => d.id === column.id) ?? -1\n )\n}\n\nexport function column_setFilterValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>, value: any) {\n table_setColumnFilters(column.table, (old) => {\n const filterFn = column_getFilterFn(column)\n const previousFilter = old.find((d) => d.id === column.id)\n\n const newFilter = functionalUpdate(\n value,\n previousFilter ? previousFilter.value : undefined,\n )\n\n if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {\n return old.filter((d) => d.id !== column.id)\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousFilter) {\n return old.map((d) => {\n if (d.id === column.id) {\n return newFilterObj\n }\n return d\n })\n }\n\n if (old.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n}\n\nexport function table_setColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<ColumnFiltersState>,\n) {\n const leafColumns = table.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old).filter((filter) => {\n const column = leafColumns.find((d) => d.id === filter.id)\n\n if (column) {\n const filterFn = column_getFilterFn(column)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n table.options.onColumnFiltersChange?.(updateFn)\n}\n\nexport function table_resetColumnFilters<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setColumnFilters(\n table,\n defaultState ? [] : cloneState(table.initialState.columnFilters ?? []),\n )\n}\n\nexport function shouldAutoRemoveFilter<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n filterFn?: FilterFn<TFeatures, TData>,\n value?: any,\n column?: Column_Internal<TFeatures, TData, TValue>,\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"mappings":";;;AAUA,SAAgB,+BAAmD;AACjE,QAAO,EAAE;;AAGX,SAAgB,uBAId,QAAmD;CACnD,MAAM,YACJ,OAAO,MAAM,aAAa;CAE5B,MAAM,WAAW,OAAO,MAAM,iBAAiB,CAAC,SAAS;CAEzD,MAAM,QAAQ,WAAW,SAAS,SAAS,OAAO,GAAG,GAAG;AAExD,KAAI,OAAO,UAAU,SACnB,8DAAO,UAAW;AAGpB,KAAI,OAAO,UAAU,SACnB,8DAAO,UAAW;AAGpB,KAAI,OAAO,UAAU,UACnB,8DAAO,UAAW;AAGpB,KAAI,UAAU,QAAQ,OAAO,UAAU,SACrC,8DAAO,UAAW;AAGpB,KAAI,MAAM,QAAQ,MAAM,CACtB,8DAAO,UAAW;AAGpB,8DAAO,UAAW;;AAGpB,SAAgB,mBAKd,QACwC;CACxC,IAAI,WAAW;CACf,MAAM,YACJ,OAAO,MAAM,aAAa;AAC5B,YAAW,WAAW,OAAO,UAAU,SAAS,GAC5C,OAAO,UAAU,WACjB,OAAO,UAAU,aAAa,SAC5B,uBAAuB,OAAO,yDAC9B,UAAY,OAAO,UAAU;AAEnC,KAAI,QAAQ,IAAI,aAAa,iBAAiB,CAAC,SAC7C,SAAQ,KACN,oEAAoE,OAAO,GAAG,GAC/E;AAGH,QAAO;;AAGT,SAAgB,oBAId,QAAmD;AACnD,SACG,OAAO,UAAU,sBAAsB,UACvC,OAAO,MAAM,QAAQ,uBAAuB,UAC5C,OAAO,MAAM,QAAQ,iBAAiB,SACvC,CAAC,CAAC,OAAO;;AAIb,SAAgB,qBAId,QAAmD;AACnD,QAAO,sBAAsB,OAAO,GAAG;;AAGzC,SAAgB,sBAId,QAAmD;;AACnD,iCAAO,OAAO,MAAM,MAAM,8GACtB,KAAK,iGACL,MAAM,MAAM,EAAE,OAAO,OAAO,GAAG,gFAAE;;AAGvC,SAAgB,sBAId,QAA2D;;AAC3D,mCACE,OAAO,MAAM,MAAM,iHACf,KAAK,kFACL,WAAW,MAAM,EAAE,OAAO,OAAO,GAAG,KAAI;;AAIhD,SAAgB,sBAId,QAAmD,OAAY;AAC/D,wBAAuB,OAAO,QAAQ,QAAQ;EAC5C,MAAM,WAAW,mBAAmB,OAAO;EAC3C,MAAM,iBAAiB,IAAI,MAAM,MAAM,EAAE,OAAO,OAAO,GAAG;EAE1D,MAAM,YAAY,iBAChB,OACA,iBAAiB,eAAe,QAAQ,OACzC;AAED,MAAI,uBAAuB,UAAU,WAAW,OAAO,CACrD,QAAO,IAAI,QAAQ,MAAM,EAAE,OAAO,OAAO,GAAG;EAG9C,MAAM,eAAe;GAAE,IAAI,OAAO;GAAI,OAAO;GAAW;AAExD,MAAI,eACF,QAAO,IAAI,KAAK,MAAM;AACpB,OAAI,EAAE,OAAO,OAAO,GAClB,QAAO;AAET,UAAO;IACP;AAGJ,MAAI,IAAI,OACN,QAAO,CAAC,GAAG,KAAK,aAAa;AAG/B,SAAO,CAAC,aAAa;GACrB;;AAGJ,SAAgB,uBAId,OACA,SACA;;CACA,MAAM,cAAc,MAAM,mBAAmB;CAE7C,MAAM,YAAY,QAA4B;AAC5C,SAAO,iBAAiB,SAAS,IAAI,CAAC,QAAQ,WAAW;GACvD,MAAM,SAAS,YAAY,MAAM,MAAM,EAAE,OAAO,OAAO,GAAG;AAE1D,OAAI,QAGF;QAAI,uBAFa,mBAAmB,OAED,EAAE,OAAO,OAAO,OAAO,CACxD,QAAO;;AAIX,UAAO;IACP;;AAGJ,kDAAM,SAAQ,kHAAwB,SAAS;;AAGjD,SAAgB,yBAGd,OAAyC,cAAwB;AACjE,wBACE,OACA,eAAe,EAAE,GAAG,WAAW,MAAM,aAAa,iBAAiB,EAAE,CAAC,CACvE;;AAGH,SAAgB,uBAKd,UACA,OACA,QACA;AACA,SACG,YAAY,SAAS,aAClB,SAAS,WAAW,OAAO,OAAO,GAClC,UACJ,OAAO,UAAU,eAChB,OAAO,UAAU,YAAY,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
const require_utils = require('../../utils.cjs');
|
|
2
|
+
const require_coreColumnsFeature_utils = require('../../core/columns/coreColumnsFeature.utils.cjs');
|
|
3
|
+
const require_rowPaginationFeature_utils = require('../row-pagination/rowPaginationFeature.utils.cjs');
|
|
4
|
+
const require_columnFilteringFeature_utils = require('./columnFilteringFeature.utils.cjs');
|
|
5
|
+
const require_globalFilteringFeature_utils = require('../global-filtering/globalFilteringFeature.utils.cjs');
|
|
6
|
+
const require_filterRowsUtils = require('./filterRowsUtils.cjs');
|
|
7
|
+
|
|
8
|
+
//#region src/features/column-filtering/createFilteredRowModel.ts
|
|
9
|
+
function createFilteredRowModel(filterFns) {
|
|
10
|
+
return (_table) => {
|
|
11
|
+
const table = _table;
|
|
12
|
+
if (!table._rowModelFns.filterFns) table._rowModelFns.filterFns = filterFns;
|
|
13
|
+
return require_utils.tableMemo({
|
|
14
|
+
feature: "columnFilteringFeature",
|
|
15
|
+
table,
|
|
16
|
+
fnName: "table.getFilteredRowModel",
|
|
17
|
+
memoDeps: () => {
|
|
18
|
+
var _table$atoms$columnFi, _table$atoms$globalFi;
|
|
19
|
+
return [
|
|
20
|
+
table.getPreFilteredRowModel(),
|
|
21
|
+
(_table$atoms$columnFi = table.atoms.columnFilters) === null || _table$atoms$columnFi === void 0 ? void 0 : _table$atoms$columnFi.get(),
|
|
22
|
+
(_table$atoms$globalFi = table.atoms.globalFilter) === null || _table$atoms$globalFi === void 0 ? void 0 : _table$atoms$globalFi.get()
|
|
23
|
+
];
|
|
24
|
+
},
|
|
25
|
+
fn: () => _createFilteredRowModel(table),
|
|
26
|
+
onAfterUpdate: () => require_rowPaginationFeature_utils.table_autoResetPageIndex(table)
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function _createFilteredRowModel(table) {
|
|
31
|
+
var _table$atoms$columnFi2, _table$atoms$globalFi2;
|
|
32
|
+
const rowModel = table.getPreFilteredRowModel();
|
|
33
|
+
const columnFilters = (_table$atoms$columnFi2 = table.atoms.columnFilters) === null || _table$atoms$columnFi2 === void 0 ? void 0 : _table$atoms$columnFi2.get();
|
|
34
|
+
const globalFilter = (_table$atoms$globalFi2 = table.atoms.globalFilter) === null || _table$atoms$globalFi2 === void 0 ? void 0 : _table$atoms$globalFi2.get();
|
|
35
|
+
if (!rowModel.rows.length || !(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.length) && !globalFilter) {
|
|
36
|
+
for (const row of rowModel.flatRows) {
|
|
37
|
+
row.columnFilters = {};
|
|
38
|
+
row.columnFiltersMeta = {};
|
|
39
|
+
}
|
|
40
|
+
return rowModel;
|
|
41
|
+
}
|
|
42
|
+
const resolvedColumnFilters = [];
|
|
43
|
+
const resolvedGlobalFilters = [];
|
|
44
|
+
columnFilters === null || columnFilters === void 0 || columnFilters.forEach((columnFilter) => {
|
|
45
|
+
var _filterFn$resolveFilt;
|
|
46
|
+
const column = require_coreColumnsFeature_utils.table_getColumn(table, columnFilter.id);
|
|
47
|
+
if (!column) return;
|
|
48
|
+
const filterFn = require_columnFilteringFeature_utils.column_getFilterFn(column);
|
|
49
|
+
resolvedColumnFilters.push({
|
|
50
|
+
id: columnFilter.id,
|
|
51
|
+
filterFn,
|
|
52
|
+
resolvedValue: ((_filterFn$resolveFilt = filterFn.resolveFilterValue) === null || _filterFn$resolveFilt === void 0 ? void 0 : _filterFn$resolveFilt.call(filterFn, columnFilter.value)) ?? columnFilter.value
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
const filterableIds = (columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.map((d) => d.id)) ?? [];
|
|
56
|
+
const globalFilterFn = require_globalFilteringFeature_utils.table_getGlobalFilterFn(table);
|
|
57
|
+
const globallyFilterableColumns = table.getAllLeafColumns().filter((column) => require_globalFilteringFeature_utils.column_getCanGlobalFilter(column));
|
|
58
|
+
if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
|
|
59
|
+
filterableIds.push("__global__");
|
|
60
|
+
globallyFilterableColumns.forEach((column) => {
|
|
61
|
+
var _globalFilterFn$resol;
|
|
62
|
+
resolvedGlobalFilters.push({
|
|
63
|
+
id: column.id,
|
|
64
|
+
filterFn: globalFilterFn,
|
|
65
|
+
resolvedValue: ((_globalFilterFn$resol = globalFilterFn.resolveFilterValue) === null || _globalFilterFn$resol === void 0 ? void 0 : _globalFilterFn$resol.call(globalFilterFn, globalFilter)) ?? globalFilter
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
for (const row of rowModel.flatRows) {
|
|
70
|
+
row.columnFilters = {};
|
|
71
|
+
if (resolvedColumnFilters.length) for (const currentColumnFilter of resolvedColumnFilters) {
|
|
72
|
+
const id = currentColumnFilter.id;
|
|
73
|
+
row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, (filterMeta) => {
|
|
74
|
+
!row.columnFiltersMeta ? row.columnFiltersMeta = {} : row.columnFiltersMeta[id] = filterMeta;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
if (resolvedGlobalFilters.length) {
|
|
78
|
+
for (const currentGlobalFilter of resolvedGlobalFilters) {
|
|
79
|
+
const id = currentGlobalFilter.id;
|
|
80
|
+
if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, (filterMeta) => {
|
|
81
|
+
!row.columnFiltersMeta ? row.columnFiltersMeta = {} : row.columnFiltersMeta[id] = filterMeta;
|
|
82
|
+
})) {
|
|
83
|
+
row.columnFilters.__global__ = true;
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (row.columnFilters.__global__ !== true) row.columnFilters.__global__ = false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const filterRowsImpl = (row) => {
|
|
91
|
+
for (const columnId of filterableIds) if (row.columnFilters[columnId] === false) return false;
|
|
92
|
+
return true;
|
|
93
|
+
};
|
|
94
|
+
return require_filterRowsUtils.filterRows(rowModel.rows, filterRowsImpl, table);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
//#endregion
|
|
98
|
+
exports.createFilteredRowModel = createFilteredRowModel;
|
|
99
|
+
//# sourceMappingURL=createFilteredRowModel.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFilteredRowModel.cjs","names":["tableMemo","table_autoResetPageIndex","table_getColumn","column_getFilterFn","table_getGlobalFilterFn","column_getCanGlobalFilter","filterRows"],"sources":["../../../src/features/column-filtering/createFilteredRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport {\n column_getCanGlobalFilter,\n table_getGlobalFilterFn,\n} from '../global-filtering/globalFilteringFeature.utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport { filterRows } from './filterRowsUtils'\nimport { column_getFilterFn } from './columnFilteringFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n FilterFn,\n FilterFns,\n ResolvedColumnFilter,\n Row_ColumnFiltering,\n} from './columnFilteringFeature.types'\n\nexport function createFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n filterFns: Record<keyof FilterFns, FilterFn<TFeatures, TData>>,\n): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table: Table_Internal<TFeatures, TData> = _table\n if (!table._rowModelFns.filterFns) table._rowModelFns.filterFns = filterFns\n return tableMemo({\n feature: 'columnFilteringFeature',\n table,\n fnName: 'table.getFilteredRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n ],\n fn: () => _createFilteredRowModel(table),\n onAfterUpdate: () => table_autoResetPageIndex(table),\n })\n }\n}\n\nfunction _createFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreFilteredRowModel()\n const columnFilters = table.atoms.columnFilters?.get()\n const globalFilter = table.atoms.globalFilter?.get()\n\n if (!rowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n for (const row of rowModel.flatRows as Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >) {\n row.columnFilters = {}\n row.columnFiltersMeta = {}\n }\n return rowModel\n }\n\n const resolvedColumnFilters: Array<ResolvedColumnFilter<TFeatures, TData>> =\n []\n const resolvedGlobalFilters: Array<ResolvedColumnFilter<TFeatures, TData>> =\n []\n\n columnFilters?.forEach((columnFilter) => {\n const column = table_getColumn(table, columnFilter.id)\n\n if (!column) {\n return\n }\n\n const filterFn = column_getFilterFn(column)!\n\n resolvedColumnFilters.push({\n id: columnFilter.id,\n filterFn,\n resolvedValue:\n filterFn.resolveFilterValue?.(columnFilter.value) ?? columnFilter.value,\n })\n })\n\n const filterableIds = columnFilters?.map((d) => d.id) ?? []\n\n const globalFilterFn = table_getGlobalFilterFn(table)\n\n const globallyFilterableColumns = table\n .getAllLeafColumns()\n .filter((column) => column_getCanGlobalFilter(column))\n\n if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {\n filterableIds.push('__global__')\n\n globallyFilterableColumns.forEach((column) => {\n resolvedGlobalFilters.push({\n id: column.id,\n filterFn: globalFilterFn,\n resolvedValue:\n globalFilterFn.resolveFilterValue?.(globalFilter) ?? globalFilter,\n })\n })\n }\n\n // Flag the pre-filtered row model with each filter state\n for (const row of rowModel.flatRows as Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >) {\n row.columnFilters = {}\n\n if (resolvedColumnFilters.length) {\n for (const currentColumnFilter of resolvedColumnFilters) {\n const id = currentColumnFilter.id\n\n // Tag the row with the column filter state\n row.columnFilters[id] = currentColumnFilter.filterFn(\n row,\n id,\n currentColumnFilter.resolvedValue,\n (filterMeta) => {\n !row.columnFiltersMeta\n ? (row.columnFiltersMeta = {})\n : (row.columnFiltersMeta[id] = filterMeta)\n },\n )\n }\n }\n\n if (resolvedGlobalFilters.length) {\n for (const currentGlobalFilter of resolvedGlobalFilters) {\n const id = currentGlobalFilter.id\n // Tag the row with the first truthy global filter state\n if (\n currentGlobalFilter.filterFn(\n row,\n id,\n currentGlobalFilter.resolvedValue,\n (filterMeta) => {\n !row.columnFiltersMeta\n ? (row.columnFiltersMeta = {})\n : (row.columnFiltersMeta[id] = filterMeta)\n },\n )\n ) {\n row.columnFilters.__global__ = true\n break\n }\n }\n\n if (row.columnFilters.__global__ !== true) {\n row.columnFilters.__global__ = false\n }\n }\n }\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Row_ColumnFiltering<TFeatures, TData>,\n ) => {\n // Horizontally filter rows through each column\n for (const columnId of filterableIds) {\n if (row.columnFilters[columnId] === false) {\n return false\n }\n }\n return true\n }\n\n // Filter final rows using all of the active filters\n return filterRows(rowModel.rows, filterRowsImpl as any, table)\n}\n"],"mappings":";;;;;;;;AAqBA,SAAgB,uBAId,WACsE;AACtE,SAAQ,WAAW;EACjB,MAAM,QAA0C;AAChD,MAAI,CAAC,MAAM,aAAa,UAAW,OAAM,aAAa,YAAY;AAClE,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,wBAAwB;8BAC9B,MAAM,MAAM,6FAAe,KAAK;8BAChC,MAAM,MAAM,4FAAc,KAAK;KAChC;;GACD,UAAU,wBAAwB,MAAM;GACxC,qBAAqBC,4DAAyB,MAAM;GACrD,CAAC;;;AAIN,SAAS,wBAGP,OAAqE;;CACrE,MAAM,WAAW,MAAM,wBAAwB;CAC/C,MAAM,0CAAgB,MAAM,MAAM,+FAAe,KAAK;CACtD,MAAM,yCAAe,MAAM,MAAM,8FAAc,KAAK;AAEpD,KAAI,CAAC,SAAS,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,cAAe;AACtE,OAAK,MAAM,OAAO,SAAS,UAExB;AACD,OAAI,gBAAgB,EAAE;AACtB,OAAI,oBAAoB,EAAE;;AAE5B,SAAO;;CAGT,MAAM,wBACJ,EAAE;CACJ,MAAM,wBACJ,EAAE;AAEJ,qEAAe,SAAS,iBAAiB;;EACvC,MAAM,SAASC,iDAAgB,OAAO,aAAa,GAAG;AAEtD,MAAI,CAAC,OACH;EAGF,MAAM,WAAWC,wDAAmB,OAAO;AAE3C,wBAAsB,KAAK;GACzB,IAAI,aAAa;GACjB;GACA,yCACE,SAAS,iHAAqB,aAAa,MAAM,KAAI,aAAa;GACrE,CAAC;GACF;CAEF,MAAM,+EAAgB,cAAe,KAAK,MAAM,EAAE,GAAG,KAAI,EAAE;CAE3D,MAAM,iBAAiBC,6DAAwB,MAAM;CAErD,MAAM,4BAA4B,MAC/B,mBAAmB,CACnB,QAAQ,WAAWC,+DAA0B,OAAO,CAAC;AAExD,KAAI,gBAAgB,kBAAkB,0BAA0B,QAAQ;AACtE,gBAAc,KAAK,aAAa;AAEhC,4BAA0B,SAAS,WAAW;;AAC5C,yBAAsB,KAAK;IACzB,IAAI,OAAO;IACX,UAAU;IACV,yCACE,eAAe,uHAAqB,aAAa,KAAI;IACxD,CAAC;IACF;;AAIJ,MAAK,MAAM,OAAO,SAAS,UAExB;AACD,MAAI,gBAAgB,EAAE;AAEtB,MAAI,sBAAsB,OACxB,MAAK,MAAM,uBAAuB,uBAAuB;GACvD,MAAM,KAAK,oBAAoB;AAG/B,OAAI,cAAc,MAAM,oBAAoB,SAC1C,KACA,IACA,oBAAoB,gBACnB,eAAe;AACd,KAAC,IAAI,oBACA,IAAI,oBAAoB,EAAE,GAC1B,IAAI,kBAAkB,MAAM;KAEpC;;AAIL,MAAI,sBAAsB,QAAQ;AAChC,QAAK,MAAM,uBAAuB,uBAAuB;IACvD,MAAM,KAAK,oBAAoB;AAE/B,QACE,oBAAoB,SAClB,KACA,IACA,oBAAoB,gBACnB,eAAe;AACd,MAAC,IAAI,oBACA,IAAI,oBAAoB,EAAE,GAC1B,IAAI,kBAAkB,MAAM;MAEpC,EACD;AACA,SAAI,cAAc,aAAa;AAC/B;;;AAIJ,OAAI,IAAI,cAAc,eAAe,KACnC,KAAI,cAAc,aAAa;;;CAKrC,MAAM,kBACJ,QACG;AAEH,OAAK,MAAM,YAAY,cACrB,KAAI,IAAI,cAAc,cAAc,MAClC,QAAO;AAGX,SAAO;;AAIT,QAAOC,mCAAW,SAAS,MAAM,gBAAuB,MAAM"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RowData } from "../../types/type-utils.cjs";
|
|
2
|
+
import { FilterFn, FilterFns } from "./columnFilteringFeature.types.cjs";
|
|
3
|
+
import { TableFeatures } from "../../types/TableFeatures.cjs";
|
|
4
|
+
import { Table } from "../../types/Table.cjs";
|
|
5
|
+
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
|
|
6
|
+
|
|
7
|
+
//#region src/features/column-filtering/createFilteredRowModel.d.ts
|
|
8
|
+
declare function createFilteredRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(filterFns: Record<keyof FilterFns, FilterFn<TFeatures, TData>>): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { createFilteredRowModel };
|
|
11
|
+
//# sourceMappingURL=createFilteredRowModel.d.cts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RowData } from "../../types/type-utils.js";
|
|
2
|
+
import { FilterFn, FilterFns } from "./columnFilteringFeature.types.js";
|
|
3
|
+
import { TableFeatures } from "../../types/TableFeatures.js";
|
|
4
|
+
import { Table } from "../../types/Table.js";
|
|
5
|
+
import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
|
|
6
|
+
|
|
7
|
+
//#region src/features/column-filtering/createFilteredRowModel.d.ts
|
|
8
|
+
declare function createFilteredRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(filterFns: Record<keyof FilterFns, FilterFn<TFeatures, TData>>): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { createFilteredRowModel };
|
|
11
|
+
//# sourceMappingURL=createFilteredRowModel.d.ts.map
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { tableMemo } from "../../utils.js";
|
|
2
|
+
import { table_getColumn } from "../../core/columns/coreColumnsFeature.utils.js";
|
|
3
|
+
import { table_autoResetPageIndex } from "../row-pagination/rowPaginationFeature.utils.js";
|
|
4
|
+
import { column_getFilterFn } from "./columnFilteringFeature.utils.js";
|
|
5
|
+
import { column_getCanGlobalFilter, table_getGlobalFilterFn } from "../global-filtering/globalFilteringFeature.utils.js";
|
|
6
|
+
import { filterRows } from "./filterRowsUtils.js";
|
|
7
|
+
|
|
8
|
+
//#region src/features/column-filtering/createFilteredRowModel.ts
|
|
9
|
+
function createFilteredRowModel(filterFns) {
|
|
10
|
+
return (_table) => {
|
|
11
|
+
const table = _table;
|
|
12
|
+
if (!table._rowModelFns.filterFns) table._rowModelFns.filterFns = filterFns;
|
|
13
|
+
return tableMemo({
|
|
14
|
+
feature: "columnFilteringFeature",
|
|
15
|
+
table,
|
|
16
|
+
fnName: "table.getFilteredRowModel",
|
|
17
|
+
memoDeps: () => {
|
|
18
|
+
var _table$atoms$columnFi, _table$atoms$globalFi;
|
|
19
|
+
return [
|
|
20
|
+
table.getPreFilteredRowModel(),
|
|
21
|
+
(_table$atoms$columnFi = table.atoms.columnFilters) === null || _table$atoms$columnFi === void 0 ? void 0 : _table$atoms$columnFi.get(),
|
|
22
|
+
(_table$atoms$globalFi = table.atoms.globalFilter) === null || _table$atoms$globalFi === void 0 ? void 0 : _table$atoms$globalFi.get()
|
|
23
|
+
];
|
|
24
|
+
},
|
|
25
|
+
fn: () => _createFilteredRowModel(table),
|
|
26
|
+
onAfterUpdate: () => table_autoResetPageIndex(table)
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function _createFilteredRowModel(table) {
|
|
31
|
+
var _table$atoms$columnFi2, _table$atoms$globalFi2;
|
|
32
|
+
const rowModel = table.getPreFilteredRowModel();
|
|
33
|
+
const columnFilters = (_table$atoms$columnFi2 = table.atoms.columnFilters) === null || _table$atoms$columnFi2 === void 0 ? void 0 : _table$atoms$columnFi2.get();
|
|
34
|
+
const globalFilter = (_table$atoms$globalFi2 = table.atoms.globalFilter) === null || _table$atoms$globalFi2 === void 0 ? void 0 : _table$atoms$globalFi2.get();
|
|
35
|
+
if (!rowModel.rows.length || !(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.length) && !globalFilter) {
|
|
36
|
+
for (const row of rowModel.flatRows) {
|
|
37
|
+
row.columnFilters = {};
|
|
38
|
+
row.columnFiltersMeta = {};
|
|
39
|
+
}
|
|
40
|
+
return rowModel;
|
|
41
|
+
}
|
|
42
|
+
const resolvedColumnFilters = [];
|
|
43
|
+
const resolvedGlobalFilters = [];
|
|
44
|
+
columnFilters === null || columnFilters === void 0 || columnFilters.forEach((columnFilter) => {
|
|
45
|
+
var _filterFn$resolveFilt;
|
|
46
|
+
const column = table_getColumn(table, columnFilter.id);
|
|
47
|
+
if (!column) return;
|
|
48
|
+
const filterFn = column_getFilterFn(column);
|
|
49
|
+
resolvedColumnFilters.push({
|
|
50
|
+
id: columnFilter.id,
|
|
51
|
+
filterFn,
|
|
52
|
+
resolvedValue: ((_filterFn$resolveFilt = filterFn.resolveFilterValue) === null || _filterFn$resolveFilt === void 0 ? void 0 : _filterFn$resolveFilt.call(filterFn, columnFilter.value)) ?? columnFilter.value
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
const filterableIds = (columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.map((d) => d.id)) ?? [];
|
|
56
|
+
const globalFilterFn = table_getGlobalFilterFn(table);
|
|
57
|
+
const globallyFilterableColumns = table.getAllLeafColumns().filter((column) => column_getCanGlobalFilter(column));
|
|
58
|
+
if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
|
|
59
|
+
filterableIds.push("__global__");
|
|
60
|
+
globallyFilterableColumns.forEach((column) => {
|
|
61
|
+
var _globalFilterFn$resol;
|
|
62
|
+
resolvedGlobalFilters.push({
|
|
63
|
+
id: column.id,
|
|
64
|
+
filterFn: globalFilterFn,
|
|
65
|
+
resolvedValue: ((_globalFilterFn$resol = globalFilterFn.resolveFilterValue) === null || _globalFilterFn$resol === void 0 ? void 0 : _globalFilterFn$resol.call(globalFilterFn, globalFilter)) ?? globalFilter
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
for (const row of rowModel.flatRows) {
|
|
70
|
+
row.columnFilters = {};
|
|
71
|
+
if (resolvedColumnFilters.length) for (const currentColumnFilter of resolvedColumnFilters) {
|
|
72
|
+
const id = currentColumnFilter.id;
|
|
73
|
+
row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, (filterMeta) => {
|
|
74
|
+
!row.columnFiltersMeta ? row.columnFiltersMeta = {} : row.columnFiltersMeta[id] = filterMeta;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
if (resolvedGlobalFilters.length) {
|
|
78
|
+
for (const currentGlobalFilter of resolvedGlobalFilters) {
|
|
79
|
+
const id = currentGlobalFilter.id;
|
|
80
|
+
if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, (filterMeta) => {
|
|
81
|
+
!row.columnFiltersMeta ? row.columnFiltersMeta = {} : row.columnFiltersMeta[id] = filterMeta;
|
|
82
|
+
})) {
|
|
83
|
+
row.columnFilters.__global__ = true;
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (row.columnFilters.__global__ !== true) row.columnFilters.__global__ = false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const filterRowsImpl = (row) => {
|
|
91
|
+
for (const columnId of filterableIds) if (row.columnFilters[columnId] === false) return false;
|
|
92
|
+
return true;
|
|
93
|
+
};
|
|
94
|
+
return filterRows(rowModel.rows, filterRowsImpl, table);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
//#endregion
|
|
98
|
+
export { createFilteredRowModel };
|
|
99
|
+
//# sourceMappingURL=createFilteredRowModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFilteredRowModel.js","names":[],"sources":["../../../src/features/column-filtering/createFilteredRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport {\n column_getCanGlobalFilter,\n table_getGlobalFilterFn,\n} from '../global-filtering/globalFilteringFeature.utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport { filterRows } from './filterRowsUtils'\nimport { column_getFilterFn } from './columnFilteringFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n FilterFn,\n FilterFns,\n ResolvedColumnFilter,\n Row_ColumnFiltering,\n} from './columnFilteringFeature.types'\n\nexport function createFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n filterFns: Record<keyof FilterFns, FilterFn<TFeatures, TData>>,\n): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table: Table_Internal<TFeatures, TData> = _table\n if (!table._rowModelFns.filterFns) table._rowModelFns.filterFns = filterFns\n return tableMemo({\n feature: 'columnFilteringFeature',\n table,\n fnName: 'table.getFilteredRowModel',\n memoDeps: () => [\n table.getPreFilteredRowModel(),\n table.atoms.columnFilters?.get(),\n table.atoms.globalFilter?.get(),\n ],\n fn: () => _createFilteredRowModel(table),\n onAfterUpdate: () => table_autoResetPageIndex(table),\n })\n }\n}\n\nfunction _createFilteredRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreFilteredRowModel()\n const columnFilters = table.atoms.columnFilters?.get()\n const globalFilter = table.atoms.globalFilter?.get()\n\n if (!rowModel.rows.length || (!columnFilters?.length && !globalFilter)) {\n for (const row of rowModel.flatRows as Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >) {\n row.columnFilters = {}\n row.columnFiltersMeta = {}\n }\n return rowModel\n }\n\n const resolvedColumnFilters: Array<ResolvedColumnFilter<TFeatures, TData>> =\n []\n const resolvedGlobalFilters: Array<ResolvedColumnFilter<TFeatures, TData>> =\n []\n\n columnFilters?.forEach((columnFilter) => {\n const column = table_getColumn(table, columnFilter.id)\n\n if (!column) {\n return\n }\n\n const filterFn = column_getFilterFn(column)!\n\n resolvedColumnFilters.push({\n id: columnFilter.id,\n filterFn,\n resolvedValue:\n filterFn.resolveFilterValue?.(columnFilter.value) ?? columnFilter.value,\n })\n })\n\n const filterableIds = columnFilters?.map((d) => d.id) ?? []\n\n const globalFilterFn = table_getGlobalFilterFn(table)\n\n const globallyFilterableColumns = table\n .getAllLeafColumns()\n .filter((column) => column_getCanGlobalFilter(column))\n\n if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {\n filterableIds.push('__global__')\n\n globallyFilterableColumns.forEach((column) => {\n resolvedGlobalFilters.push({\n id: column.id,\n filterFn: globalFilterFn,\n resolvedValue:\n globalFilterFn.resolveFilterValue?.(globalFilter) ?? globalFilter,\n })\n })\n }\n\n // Flag the pre-filtered row model with each filter state\n for (const row of rowModel.flatRows as Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >) {\n row.columnFilters = {}\n\n if (resolvedColumnFilters.length) {\n for (const currentColumnFilter of resolvedColumnFilters) {\n const id = currentColumnFilter.id\n\n // Tag the row with the column filter state\n row.columnFilters[id] = currentColumnFilter.filterFn(\n row,\n id,\n currentColumnFilter.resolvedValue,\n (filterMeta) => {\n !row.columnFiltersMeta\n ? (row.columnFiltersMeta = {})\n : (row.columnFiltersMeta[id] = filterMeta)\n },\n )\n }\n }\n\n if (resolvedGlobalFilters.length) {\n for (const currentGlobalFilter of resolvedGlobalFilters) {\n const id = currentGlobalFilter.id\n // Tag the row with the first truthy global filter state\n if (\n currentGlobalFilter.filterFn(\n row,\n id,\n currentGlobalFilter.resolvedValue,\n (filterMeta) => {\n !row.columnFiltersMeta\n ? (row.columnFiltersMeta = {})\n : (row.columnFiltersMeta[id] = filterMeta)\n },\n )\n ) {\n row.columnFilters.__global__ = true\n break\n }\n }\n\n if (row.columnFilters.__global__ !== true) {\n row.columnFilters.__global__ = false\n }\n }\n }\n\n const filterRowsImpl = (\n row: Row<TFeatures, TData> & Row_ColumnFiltering<TFeatures, TData>,\n ) => {\n // Horizontally filter rows through each column\n for (const columnId of filterableIds) {\n if (row.columnFilters[columnId] === false) {\n return false\n }\n }\n return true\n }\n\n // Filter final rows using all of the active filters\n return filterRows(rowModel.rows, filterRowsImpl as any, table)\n}\n"],"mappings":";;;;;;;;AAqBA,SAAgB,uBAId,WACsE;AACtE,SAAQ,WAAW;EACjB,MAAM,QAA0C;AAChD,MAAI,CAAC,MAAM,aAAa,UAAW,OAAM,aAAa,YAAY;AAClE,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;;KACd,MAAM,wBAAwB;8BAC9B,MAAM,MAAM,6FAAe,KAAK;8BAChC,MAAM,MAAM,4FAAc,KAAK;KAChC;;GACD,UAAU,wBAAwB,MAAM;GACxC,qBAAqB,yBAAyB,MAAM;GACrD,CAAC;;;AAIN,SAAS,wBAGP,OAAqE;;CACrE,MAAM,WAAW,MAAM,wBAAwB;CAC/C,MAAM,0CAAgB,MAAM,MAAM,+FAAe,KAAK;CACtD,MAAM,yCAAe,MAAM,MAAM,8FAAc,KAAK;AAEpD,KAAI,CAAC,SAAS,KAAK,UAAW,gEAAC,cAAe,WAAU,CAAC,cAAe;AACtE,OAAK,MAAM,OAAO,SAAS,UAExB;AACD,OAAI,gBAAgB,EAAE;AACtB,OAAI,oBAAoB,EAAE;;AAE5B,SAAO;;CAGT,MAAM,wBACJ,EAAE;CACJ,MAAM,wBACJ,EAAE;AAEJ,qEAAe,SAAS,iBAAiB;;EACvC,MAAM,SAAS,gBAAgB,OAAO,aAAa,GAAG;AAEtD,MAAI,CAAC,OACH;EAGF,MAAM,WAAW,mBAAmB,OAAO;AAE3C,wBAAsB,KAAK;GACzB,IAAI,aAAa;GACjB;GACA,yCACE,SAAS,iHAAqB,aAAa,MAAM,KAAI,aAAa;GACrE,CAAC;GACF;CAEF,MAAM,+EAAgB,cAAe,KAAK,MAAM,EAAE,GAAG,KAAI,EAAE;CAE3D,MAAM,iBAAiB,wBAAwB,MAAM;CAErD,MAAM,4BAA4B,MAC/B,mBAAmB,CACnB,QAAQ,WAAW,0BAA0B,OAAO,CAAC;AAExD,KAAI,gBAAgB,kBAAkB,0BAA0B,QAAQ;AACtE,gBAAc,KAAK,aAAa;AAEhC,4BAA0B,SAAS,WAAW;;AAC5C,yBAAsB,KAAK;IACzB,IAAI,OAAO;IACX,UAAU;IACV,yCACE,eAAe,uHAAqB,aAAa,KAAI;IACxD,CAAC;IACF;;AAIJ,MAAK,MAAM,OAAO,SAAS,UAExB;AACD,MAAI,gBAAgB,EAAE;AAEtB,MAAI,sBAAsB,OACxB,MAAK,MAAM,uBAAuB,uBAAuB;GACvD,MAAM,KAAK,oBAAoB;AAG/B,OAAI,cAAc,MAAM,oBAAoB,SAC1C,KACA,IACA,oBAAoB,gBACnB,eAAe;AACd,KAAC,IAAI,oBACA,IAAI,oBAAoB,EAAE,GAC1B,IAAI,kBAAkB,MAAM;KAEpC;;AAIL,MAAI,sBAAsB,QAAQ;AAChC,QAAK,MAAM,uBAAuB,uBAAuB;IACvD,MAAM,KAAK,oBAAoB;AAE/B,QACE,oBAAoB,SAClB,KACA,IACA,oBAAoB,gBACnB,eAAe;AACd,MAAC,IAAI,oBACA,IAAI,oBAAoB,EAAE,GAC1B,IAAI,kBAAkB,MAAM;MAEpC,EACD;AACA,SAAI,cAAc,aAAa;AAC/B;;;AAIJ,OAAI,IAAI,cAAc,eAAe,KACnC,KAAI,cAAc,aAAa;;;CAKrC,MAAM,kBACJ,QACG;AAEH,OAAK,MAAM,YAAY,cACrB,KAAI,IAAI,cAAc,cAAc,MAClC,QAAO;AAGX,SAAO;;AAIT,QAAO,WAAW,SAAS,MAAM,gBAAuB,MAAM"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
const require_constructRow = require('../../core/rows/constructRow.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/features/column-filtering/filterRowsUtils.ts
|
|
4
|
+
function filterRows(rows, filterRowImpl, table) {
|
|
5
|
+
if (table.options.filterFromLeafRows) return filterRowModelFromLeafs(rows, filterRowImpl, table);
|
|
6
|
+
return filterRowModelFromRoot(rows, filterRowImpl, table);
|
|
7
|
+
}
|
|
8
|
+
function filterRowModelFromLeafs(rowsToFilter, filterRow, table) {
|
|
9
|
+
const newFilteredFlatRows = [];
|
|
10
|
+
const newFilteredRowsById = {};
|
|
11
|
+
const maxDepth = table.options.maxLeafRowFilterDepth ?? 100;
|
|
12
|
+
const recurseFilterRows = (rowsToFilter, depth = 0) => {
|
|
13
|
+
const filteredRows = [];
|
|
14
|
+
for (let row of rowsToFilter) {
|
|
15
|
+
const newRow = require_constructRow.constructRow(table, row.id, row.original, row.index, row.depth, void 0, row.parentId);
|
|
16
|
+
newRow.columnFilters = row.columnFilters;
|
|
17
|
+
if (row.subRows.length && depth < maxDepth) {
|
|
18
|
+
newRow.subRows = recurseFilterRows(row.subRows, depth + 1);
|
|
19
|
+
row = newRow;
|
|
20
|
+
if (filterRow(row) && !newRow.subRows.length) {
|
|
21
|
+
filteredRows.push(row);
|
|
22
|
+
newFilteredRowsById[row.id] = row;
|
|
23
|
+
newFilteredFlatRows.push(row);
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
if (filterRow(row) || newRow.subRows.length) {
|
|
27
|
+
filteredRows.push(row);
|
|
28
|
+
newFilteredRowsById[row.id] = row;
|
|
29
|
+
newFilteredFlatRows.push(row);
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
} else {
|
|
33
|
+
row = newRow;
|
|
34
|
+
if (filterRow(row)) {
|
|
35
|
+
filteredRows.push(row);
|
|
36
|
+
newFilteredRowsById[row.id] = row;
|
|
37
|
+
newFilteredFlatRows.push(row);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return filteredRows;
|
|
42
|
+
};
|
|
43
|
+
return {
|
|
44
|
+
rows: recurseFilterRows(rowsToFilter),
|
|
45
|
+
flatRows: newFilteredFlatRows,
|
|
46
|
+
rowsById: newFilteredRowsById
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function filterRowModelFromRoot(rowsToFilter, filterRow, table) {
|
|
50
|
+
const newFilteredFlatRows = [];
|
|
51
|
+
const newFilteredRowsById = {};
|
|
52
|
+
const maxDepth = table.options.maxLeafRowFilterDepth ?? 100;
|
|
53
|
+
const recurseFilterRows = (rowsToFilter, depth = 0) => {
|
|
54
|
+
const filteredRows = [];
|
|
55
|
+
for (let row of rowsToFilter) if (filterRow(row)) {
|
|
56
|
+
if (row.subRows.length && depth < maxDepth) {
|
|
57
|
+
const newRow = require_constructRow.constructRow(table, row.id, row.original, row.index, row.depth, void 0, row.parentId);
|
|
58
|
+
newRow.subRows = recurseFilterRows(row.subRows, depth + 1);
|
|
59
|
+
row = newRow;
|
|
60
|
+
}
|
|
61
|
+
filteredRows.push(row);
|
|
62
|
+
newFilteredFlatRows.push(row);
|
|
63
|
+
newFilteredRowsById[row.id] = row;
|
|
64
|
+
}
|
|
65
|
+
return filteredRows;
|
|
66
|
+
};
|
|
67
|
+
return {
|
|
68
|
+
rows: recurseFilterRows(rowsToFilter),
|
|
69
|
+
flatRows: newFilteredFlatRows,
|
|
70
|
+
rowsById: newFilteredRowsById
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
//#endregion
|
|
75
|
+
exports.filterRows = filterRows;
|
|
76
|
+
//# sourceMappingURL=filterRowsUtils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterRowsUtils.cjs","names":["constructRow"],"sources":["../../../src/features/column-filtering/filterRowsUtils.ts"],"sourcesContent":["import { constructRow } from '../../core/rows/constructRow'\nimport type { Row_ColumnFiltering } from './columnFilteringFeature.types'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Row } from '../../types/Row'\nimport type { Table_Internal } from '../../types/Table'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowData } from '../../types/type-utils'\n\nexport function filterRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rows: Array<Row<TFeatures, TData>>,\n filterRowImpl: (row: Row<TFeatures, TData>) => any,\n table: Table_Internal<TFeatures, TData>,\n) {\n if (table.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, table)\n }\n\n return filterRowModelFromRoot(rows, filterRowImpl, table)\n}\n\nfunction filterRowModelFromLeafs<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rowsToFilter: Array<Row<TFeatures, TData>>,\n filterRow: (\n row: Row<TFeatures, TData>,\n ) => Array<Row<TFeatures, TData>> | undefined,\n table: Table_Internal<TFeatures, TData>,\n): RowModel<TFeatures, TData> {\n const newFilteredFlatRows: Array<Row<TFeatures, TData>> = []\n const newFilteredRowsById: Record<string, Row<TFeatures, TData>> = {}\n const maxDepth = table.options.maxLeafRowFilterDepth ?? 100\n\n const recurseFilterRows = (\n rowsToFilter: Array<\n Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>\n >,\n depth = 0,\n ) => {\n const filteredRows: Array<Row<TFeatures, TData>> &\n Partial<Row_ColumnFiltering<TFeatures, TData>> = []\n\n // Filter from children up first\n for (let row of rowsToFilter) {\n const newRow = constructRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth,\n undefined,\n row.parentId,\n ) as Row<TFeatures, TData> &\n Partial<Row_ColumnFiltering<TFeatures, TData>>\n newRow.columnFilters = row.columnFilters\n\n if (row.subRows.length && depth < maxDepth) {\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n\n if (filterRow(row) && !newRow.subRows.length) {\n filteredRows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n continue\n }\n\n if (filterRow(row) || newRow.subRows.length) {\n filteredRows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n continue\n }\n } else {\n row = newRow\n if (filterRow(row)) {\n filteredRows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredFlatRows.push(row)\n }\n }\n }\n\n return filteredRows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n\nfunction filterRowModelFromRoot<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rowsToFilter: Array<Row<TFeatures, TData>>,\n filterRow: (row: Row<TFeatures, TData>) => any,\n table: Table_Internal<TFeatures, TData>,\n): RowModel<TFeatures, TData> {\n const newFilteredFlatRows: Array<Row<TFeatures, TData>> = []\n const newFilteredRowsById: Record<string, Row<TFeatures, TData>> = {}\n const maxDepth = table.options.maxLeafRowFilterDepth ?? 100\n\n // Filters top level and nested rows\n const recurseFilterRows = (\n rowsToFilter: Array<Row<TFeatures, TData>>,\n depth = 0,\n ) => {\n // Filter from parents downward first\n\n const filteredRows: Array<Row<TFeatures, TData>> = []\n\n // Apply the filter to any subRows\n for (let row of rowsToFilter) {\n const pass = filterRow(row)\n\n if (pass) {\n if (row.subRows.length && depth < maxDepth) {\n const newRow = constructRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth,\n undefined,\n row.parentId,\n )\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n }\n\n filteredRows.push(row)\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n }\n }\n\n return filteredRows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n"],"mappings":";;;AAQA,SAAgB,WAId,MACA,eACA,OACA;AACA,KAAI,MAAM,QAAQ,mBAChB,QAAO,wBAAwB,MAAM,eAAe,MAAM;AAG5D,QAAO,uBAAuB,MAAM,eAAe,MAAM;;AAG3D,SAAS,wBAIP,cACA,WAGA,OAC4B;CAC5B,MAAM,sBAAoD,EAAE;CAC5D,MAAM,sBAA6D,EAAE;CACrE,MAAM,WAAW,MAAM,QAAQ,yBAAyB;CAExD,MAAM,qBACJ,cAGA,QAAQ,MACL;EACH,MAAM,eAC6C,EAAE;AAGrD,OAAK,IAAI,OAAO,cAAc;GAC5B,MAAM,SAASA,kCACb,OACA,IAAI,IACJ,IAAI,UACJ,IAAI,OACJ,IAAI,OACJ,QACA,IAAI,SACL;AAED,UAAO,gBAAgB,IAAI;AAE3B,OAAI,IAAI,QAAQ,UAAU,QAAQ,UAAU;AAC1C,WAAO,UAAU,kBAAkB,IAAI,SAAS,QAAQ,EAAE;AAC1D,UAAM;AAEN,QAAI,UAAU,IAAI,IAAI,CAAC,OAAO,QAAQ,QAAQ;AAC5C,kBAAa,KAAK,IAAI;AACtB,yBAAoB,IAAI,MAAM;AAC9B,yBAAoB,KAAK,IAAI;AAC7B;;AAGF,QAAI,UAAU,IAAI,IAAI,OAAO,QAAQ,QAAQ;AAC3C,kBAAa,KAAK,IAAI;AACtB,yBAAoB,IAAI,MAAM;AAC9B,yBAAoB,KAAK,IAAI;AAC7B;;UAEG;AACL,UAAM;AACN,QAAI,UAAU,IAAI,EAAE;AAClB,kBAAa,KAAK,IAAI;AACtB,yBAAoB,IAAI,MAAM;AAC9B,yBAAoB,KAAK,IAAI;;;;AAKnC,SAAO;;AAGT,QAAO;EACL,MAAM,kBAAkB,aAAa;EACrC,UAAU;EACV,UAAU;EACX;;AAGH,SAAS,uBAIP,cACA,WACA,OAC4B;CAC5B,MAAM,sBAAoD,EAAE;CAC5D,MAAM,sBAA6D,EAAE;CACrE,MAAM,WAAW,MAAM,QAAQ,yBAAyB;CAGxD,MAAM,qBACJ,cACA,QAAQ,MACL;EAGH,MAAM,eAA6C,EAAE;AAGrD,OAAK,IAAI,OAAO,aAGd,KAFa,UAAU,IAEf,EAAE;AACR,OAAI,IAAI,QAAQ,UAAU,QAAQ,UAAU;IAC1C,MAAM,SAASA,kCACb,OACA,IAAI,IACJ,IAAI,UACJ,IAAI,OACJ,IAAI,OACJ,QACA,IAAI,SACL;AACD,WAAO,UAAU,kBAAkB,IAAI,SAAS,QAAQ,EAAE;AAC1D,UAAM;;AAGR,gBAAa,KAAK,IAAI;AACtB,uBAAoB,KAAK,IAAI;AAC7B,uBAAoB,IAAI,MAAM;;AAIlC,SAAO;;AAGT,QAAO;EACL,MAAM,kBAAkB,aAAa;EACrC,UAAU;EACV,UAAU;EACX"}
|