@tanstack/table-core 8.0.0-alpha.67 → 8.0.0-alpha.68
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/build/cjs/aggregationFns.js +25 -37
- package/build/cjs/aggregationFns.js.map +1 -1
- package/build/cjs/core.js +167 -46
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js +24 -40
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/Cells.js +28 -34
- package/build/cjs/features/Cells.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +90 -107
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Columns.js +52 -79
- package/build/cjs/features/Columns.js.map +1 -1
- package/build/cjs/features/Expanding.js +48 -57
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +96 -191
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +52 -70
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +109 -165
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js +30 -42
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +63 -71
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +65 -121
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +92 -111
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Rows.js +32 -22
- package/build/cjs/features/Rows.js.map +1 -1
- package/build/cjs/features/Sorting.js +49 -68
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +43 -87
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js +48 -72
- package/build/cjs/filterFns.js.map +1 -1
- package/build/cjs/index.js +13 -13
- package/build/cjs/sortingFns.js +21 -21
- package/build/cjs/sortingFns.js.map +1 -1
- package/build/cjs/utils/filterRowsUtils.js +49 -55
- package/build/cjs/utils/filterRowsUtils.js.map +1 -1
- package/build/cjs/utils/getCoreRowModel.js +98 -0
- package/build/cjs/utils/getCoreRowModel.js.map +1 -0
- package/build/cjs/utils/getExpandedRowModel.js +17 -21
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedMinMaxValues.js +48 -0
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -0
- package/build/cjs/utils/getFacetedRowModel.js +50 -0
- package/build/cjs/utils/getFacetedRowModel.js.map +1 -0
- package/build/cjs/utils/getFacetedUniqueValues.js +48 -0
- package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -0
- package/build/cjs/utils/getFilteredRowModel.js +130 -0
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -0
- package/build/cjs/utils/getGroupedRowModel.js +126 -136
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getPaginationRowModel.js +39 -39
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModel.js +112 -0
- package/build/cjs/utils/getSortedRowModel.js.map +1 -0
- package/build/cjs/utils.js +36 -207
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +1729 -2313
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +421 -481
- package/build/types/core.d.ts +3 -5
- package/build/types/features/Cells.d.ts +1 -1
- package/build/types/features/Columns.d.ts +1 -1
- package/build/types/features/Filters.d.ts +10 -5
- package/build/types/features/Grouping.d.ts +4 -3
- package/build/types/features/Rows.d.ts +4 -3
- package/build/types/index.d.ts +6 -4
- package/build/types/types.d.ts +3 -13
- package/build/types/utils/filterRowsUtils.d.ts +3 -3
- package/build/types/utils/getCoreRowModel.d.ts +2 -0
- package/build/types/utils/getFacetedMinMaxValues.d.ts +2 -0
- package/build/types/utils/getFacetedRowModel.d.ts +2 -0
- package/build/types/utils/getFacetedUniqueValues.d.ts +2 -0
- package/build/types/utils/{getCoreRowModelSync.d.ts → getFilteredRowModel.d.ts} +1 -1
- package/build/types/utils/getGroupedRowModel.d.ts +1 -1
- package/build/types/utils/getSortedRowModel.d.ts +2 -0
- package/build/types/utils.d.ts +1 -17
- package/build/umd/index.development.js +1730 -2316
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/core.ts +197 -45
- package/src/features/Cells.ts +7 -11
- package/src/features/ColumnSizing.ts +6 -5
- package/src/features/Columns.ts +4 -8
- package/src/features/Filters.ts +95 -156
- package/src/features/Grouping.ts +16 -20
- package/src/features/Rows.ts +21 -6
- package/src/features/Sorting.ts +2 -2
- package/src/filterFns.ts +9 -9
- package/src/index.ts +12 -4
- package/src/sortingFns.ts +11 -11
- package/src/types.ts +3 -16
- package/src/utils/filterRowsUtils.ts +47 -68
- package/src/utils/{getCoreRowModelSync.ts → getCoreRowModel.ts} +2 -8
- package/src/utils/getFacetedMinMaxValues.ts +37 -0
- package/src/utils/getFacetedRowModel.ts +50 -0
- package/src/utils/getFacetedUniqueValues.ts +37 -0
- package/src/utils/{getFilteredRowModelSync.ts → getFilteredRowModel.ts} +29 -20
- package/src/utils/getGroupedRowModel.ts +52 -61
- package/src/utils/{getSortedRowModelSync.ts → getSortedRowModel.ts} +3 -3
- package/src/utils.ts +28 -236
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
- package/build/cjs/utils/getCoreRowModelAsync.js +0 -125
- package/build/cjs/utils/getCoreRowModelAsync.js.map +0 -1
- package/build/cjs/utils/getCoreRowModelSync.js +0 -102
- package/build/cjs/utils/getCoreRowModelSync.js.map +0 -1
- package/build/cjs/utils/getFilteredRowModelSync.js +0 -125
- package/build/cjs/utils/getFilteredRowModelSync.js.map +0 -1
- package/build/cjs/utils/getSortedRowModelSync.js +0 -118
- package/build/cjs/utils/getSortedRowModelSync.js.map +0 -1
- package/build/types/utils/getCoreRowModelAsync.d.ts +0 -4
- package/build/types/utils/getFilteredRowModelAsync.d.ts +0 -4
- package/build/types/utils/getFilteredRowModelSync.d.ts +0 -2
- package/build/types/utils/getSortedRowModelAsync.d.ts +0 -13
- package/build/types/utils/getSortedRowModelSync.d.ts +0 -2
- package/src/utils/getCoreRowModelAsync.ts +0 -104
- package/src/utils/getFilteredRowModelAsync.ts +0 -157
- package/src/utils/getSortedRowModelAsync.ts +0 -200
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Visibility.js","sources":["../../../src/features/Visibility.ts"],"sourcesContent":["import {\n Cell,\n Column,\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Updater,\n Row,\n TableFeature,\n} from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type VisibilityOptions = {\n onColumnVisibilityChange?: OnChangeFn<VisibilityState>\n enableHiding?: boolean\n}\n\nexport type VisibilityDefaultOptions = {\n onColumnVisibilityChange: OnChangeFn<VisibilityState>\n}\n\nexport type VisibilityState = Record<string, boolean>\n\nexport type VisibilityTableState = {\n columnVisibility: VisibilityState\n}\n\nexport type VisibilityInstance<TGenerics extends TableGenerics> = {\n getVisibleFlatColumns: () => Column<TGenerics>[]\n getVisibleLeafColumns: () => Column<TGenerics>[]\n getLeftVisibleLeafColumns: () => Column<TGenerics>[]\n getRightVisibleLeafColumns: () => Column<TGenerics>[]\n getCenterVisibleLeafColumns: () => Column<TGenerics>[]\n setColumnVisibility: (updater: Updater<VisibilityState>) => void\n toggleAllColumnsVisible: (value?: boolean) => void\n getIsAllColumnsVisible: () => boolean\n getIsSomeColumnsVisible: () => boolean\n getToggleAllColumnsVisibilityHandler: () =>\n | undefined\n | ((event: unknown) => void)\n}\n\nexport type VisibilityColumnDef = {\n enableHiding?: boolean\n defaultIsVisible?: boolean\n}\n\nexport type VisibilityRow<TGenerics extends TableGenerics> = {\n _getAllVisibleCells: () => Cell<TGenerics>[]\n getVisibleCells: () => Cell<TGenerics>[]\n}\n\nexport type VisibilityColumn = {\n getCanHide: () => boolean\n getIsVisible: () => boolean\n toggleVisibility: (value?: boolean) => void\n getToggleVisibilityHandler: () => (event: unknown) => void\n}\n\n//\n\nexport const Visibility: TableFeature = {\n getInitialState: (state): VisibilityTableState => {\n return {\n columnVisibility: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): VisibilityDefaultOptions => {\n return {\n onColumnVisibilityChange: makeStateUpdater('columnVisibility', instance),\n }\n },\n\n getDefaultColumn: () => {\n return {\n defaultIsVisible: true,\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): VisibilityColumn => {\n return {\n toggleVisibility: value => {\n if (column.getCanHide()) {\n instance.setColumnVisibility(old => ({\n ...old,\n [column.id]: value ?? !column.getIsVisible(),\n }))\n }\n },\n getIsVisible: () => {\n return instance.getState().columnVisibility?.[column.id] ?? true\n },\n\n getCanHide: () => {\n return (\n (column.enableHiding ?? true) &&\n (instance.options.enableHiding ?? true)\n )\n },\n getToggleVisibilityHandler: () => {\n return (e: unknown) => {\n column.toggleVisibility?.(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): VisibilityRow<TGenerics> => {\n return {\n _getAllVisibleCells: memo(\n () => [\n row\n .getAllCells()\n .filter(cell => cell.column.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n _ => {\n return row.getAllCells().filter(cell => cell.column.getIsVisible())\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row._getAllVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getVisibleCells: memo(\n () => [\n row.getLeftVisibleCells(),\n row.getCenterVisibleCells(),\n row.getRightVisibleCells(),\n ],\n (left, center, right) => [...left, ...center, ...right],\n {\n key: process.env.NODE_ENV === 'development' && 'row.getVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): VisibilityInstance<TGenerics> => {\n const makeVisibleColumnsMethod = (\n key: string,\n getColumns: () => Column<TGenerics>[]\n ): (() => Column<TGenerics>[]) => {\n return memo(\n () => [\n getColumns(),\n getColumns()\n .filter(d => d.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n columns => {\n return columns.filter(d => d.getIsVisible?.())\n },\n {\n key,\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n )\n }\n\n return {\n getVisibleFlatColumns: makeVisibleColumnsMethod(\n 'getVisibleFlatColumns',\n () => instance.getAllFlatColumns()\n ),\n getVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getVisibleLeafColumns',\n () => instance.getAllLeafColumns()\n ),\n getLeftVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getLeftVisibleLeafColumns',\n () => instance.getLeftLeafColumns()\n ),\n getRightVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getRightVisibleLeafColumns',\n () => instance.getRightLeafColumns()\n ),\n getCenterVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getCenterVisibleLeafColumns',\n () => instance.getCenterLeafColumns()\n ),\n\n setColumnVisibility: updater =>\n instance.options.onColumnVisibilityChange?.(updater),\n\n toggleAllColumnsVisible: value => {\n value = value ?? !instance.getIsAllColumnsVisible()\n\n instance.setColumnVisibility(\n instance.getAllLeafColumns().reduce(\n (obj, column) => ({\n ...obj,\n [column.id]: !value ? !column.getCanHide?.() : value,\n }),\n {}\n )\n )\n },\n\n getIsAllColumnsVisible: () =>\n !instance.getAllLeafColumns().some(column => !column.getIsVisible?.()),\n\n getIsSomeColumnsVisible: () =>\n instance.getAllLeafColumns().some(column => column.getIsVisible?.()),\n\n getToggleAllColumnsVisibilityHandler: () => {\n return (e: unknown) => {\n instance.toggleAllColumnsVisible(\n ((e as MouseEvent).target as HTMLInputElement)?.checked\n )\n }\n },\n }\n },\n}\n"],"names":["Visibility","getInitialState","state","_extends","columnVisibility","getDefaultOptions","instance","onColumnVisibilityChange","makeStateUpdater","getDefaultColumn","defaultIsVisible","createColumn","column","toggleVisibility","value","getCanHide","setColumnVisibility","old","id","getIsVisible","getState","enableHiding","options","getToggleVisibilityHandler","e","target","checked","createRow","row","_getAllVisibleCells","memo","getAllCells","filter","cell","map","d","join","_","key","process","env","NODE_ENV","debug","debugAll","debugRows","getVisibleCells","getLeftVisibleCells","getCenterVisibleCells","getRightVisibleCells","left","center","right","createInstance","makeVisibleColumnsMethod","getColumns","columns","debugColumns","getVisibleFlatColumns","getAllFlatColumns","getVisibleLeafColumns","getAllLeafColumns","getLeftVisibleLeafColumns","getLeftLeafColumns","getRightVisibleLeafColumns","getRightLeafColumns","getCenterVisibleLeafColumns","getCenterLeafColumns","updater","toggleAllColumnsVisible","getIsAllColumnsVisible","reduce","obj","some","getIsSomeColumnsVisible","getToggleAllColumnsVisibilityHandler"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Visibility.js","sources":["../../../src/features/Visibility.ts"],"sourcesContent":["import {\n Cell,\n Column,\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Updater,\n Row,\n TableFeature,\n} from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type VisibilityOptions = {\n onColumnVisibilityChange?: OnChangeFn<VisibilityState>\n enableHiding?: boolean\n}\n\nexport type VisibilityDefaultOptions = {\n onColumnVisibilityChange: OnChangeFn<VisibilityState>\n}\n\nexport type VisibilityState = Record<string, boolean>\n\nexport type VisibilityTableState = {\n columnVisibility: VisibilityState\n}\n\nexport type VisibilityInstance<TGenerics extends TableGenerics> = {\n getVisibleFlatColumns: () => Column<TGenerics>[]\n getVisibleLeafColumns: () => Column<TGenerics>[]\n getLeftVisibleLeafColumns: () => Column<TGenerics>[]\n getRightVisibleLeafColumns: () => Column<TGenerics>[]\n getCenterVisibleLeafColumns: () => Column<TGenerics>[]\n setColumnVisibility: (updater: Updater<VisibilityState>) => void\n toggleAllColumnsVisible: (value?: boolean) => void\n getIsAllColumnsVisible: () => boolean\n getIsSomeColumnsVisible: () => boolean\n getToggleAllColumnsVisibilityHandler: () =>\n | undefined\n | ((event: unknown) => void)\n}\n\nexport type VisibilityColumnDef = {\n enableHiding?: boolean\n defaultIsVisible?: boolean\n}\n\nexport type VisibilityRow<TGenerics extends TableGenerics> = {\n _getAllVisibleCells: () => Cell<TGenerics>[]\n getVisibleCells: () => Cell<TGenerics>[]\n}\n\nexport type VisibilityColumn = {\n getCanHide: () => boolean\n getIsVisible: () => boolean\n toggleVisibility: (value?: boolean) => void\n getToggleVisibilityHandler: () => (event: unknown) => void\n}\n\n//\n\nexport const Visibility: TableFeature = {\n getInitialState: (state): VisibilityTableState => {\n return {\n columnVisibility: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): VisibilityDefaultOptions => {\n return {\n onColumnVisibilityChange: makeStateUpdater('columnVisibility', instance),\n }\n },\n\n getDefaultColumn: () => {\n return {\n defaultIsVisible: true,\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): VisibilityColumn => {\n return {\n toggleVisibility: value => {\n if (column.getCanHide()) {\n instance.setColumnVisibility(old => ({\n ...old,\n [column.id]: value ?? !column.getIsVisible(),\n }))\n }\n },\n getIsVisible: () => {\n return instance.getState().columnVisibility?.[column.id] ?? true\n },\n\n getCanHide: () => {\n return (\n (column.enableHiding ?? true) &&\n (instance.options.enableHiding ?? true)\n )\n },\n getToggleVisibilityHandler: () => {\n return (e: unknown) => {\n column.toggleVisibility?.(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): VisibilityRow<TGenerics> => {\n return {\n _getAllVisibleCells: memo(\n () => [\n row\n .getAllCells()\n .filter(cell => cell.column.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n _ => {\n return row.getAllCells().filter(cell => cell.column.getIsVisible())\n },\n {\n key:\n process.env.NODE_ENV === 'production' && 'row._getAllVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n getVisibleCells: memo(\n () => [\n row.getLeftVisibleCells(),\n row.getCenterVisibleCells(),\n row.getRightVisibleCells(),\n ],\n (left, center, right) => [...left, ...center, ...right],\n {\n key: process.env.NODE_ENV === 'development' && 'row.getVisibleCells',\n debug: () => instance.options.debugAll ?? instance.options.debugRows,\n }\n ),\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): VisibilityInstance<TGenerics> => {\n const makeVisibleColumnsMethod = (\n key: string,\n getColumns: () => Column<TGenerics>[]\n ): (() => Column<TGenerics>[]) => {\n return memo(\n () => [\n getColumns(),\n getColumns()\n .filter(d => d.getIsVisible())\n .map(d => d.id)\n .join('_'),\n ],\n columns => {\n return columns.filter(d => d.getIsVisible?.())\n },\n {\n key,\n debug: () =>\n instance.options.debugAll ?? instance.options.debugColumns,\n }\n )\n }\n\n return {\n getVisibleFlatColumns: makeVisibleColumnsMethod(\n 'getVisibleFlatColumns',\n () => instance.getAllFlatColumns()\n ),\n getVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getVisibleLeafColumns',\n () => instance.getAllLeafColumns()\n ),\n getLeftVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getLeftVisibleLeafColumns',\n () => instance.getLeftLeafColumns()\n ),\n getRightVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getRightVisibleLeafColumns',\n () => instance.getRightLeafColumns()\n ),\n getCenterVisibleLeafColumns: makeVisibleColumnsMethod(\n 'getCenterVisibleLeafColumns',\n () => instance.getCenterLeafColumns()\n ),\n\n setColumnVisibility: updater =>\n instance.options.onColumnVisibilityChange?.(updater),\n\n toggleAllColumnsVisible: value => {\n value = value ?? !instance.getIsAllColumnsVisible()\n\n instance.setColumnVisibility(\n instance.getAllLeafColumns().reduce(\n (obj, column) => ({\n ...obj,\n [column.id]: !value ? !column.getCanHide?.() : value,\n }),\n {}\n )\n )\n },\n\n getIsAllColumnsVisible: () =>\n !instance.getAllLeafColumns().some(column => !column.getIsVisible?.()),\n\n getIsSomeColumnsVisible: () =>\n instance.getAllLeafColumns().some(column => column.getIsVisible?.()),\n\n getToggleAllColumnsVisibilityHandler: () => {\n return (e: unknown) => {\n instance.toggleAllColumnsVisible(\n ((e as MouseEvent).target as HTMLInputElement)?.checked\n )\n }\n },\n }\n },\n}\n"],"names":["Visibility","getInitialState","state","columnVisibility","getDefaultOptions","instance","onColumnVisibilityChange","makeStateUpdater","getDefaultColumn","defaultIsVisible","createColumn","column","toggleVisibility","value","getCanHide","setColumnVisibility","old","id","getIsVisible","getState","enableHiding","options","getToggleVisibilityHandler","e","target","checked","createRow","row","_getAllVisibleCells","memo","getAllCells","filter","cell","map","d","join","_","key","process","env","NODE_ENV","debug","debugAll","debugRows","getVisibleCells","getLeftVisibleCells","getCenterVisibleCells","getRightVisibleCells","left","center","right","createInstance","makeVisibleColumnsMethod","getColumns","columns","debugColumns","getVisibleFlatColumns","getAllFlatColumns","getVisibleLeafColumns","getAllLeafColumns","getLeftVisibleLeafColumns","getLeftLeafColumns","getRightVisibleLeafColumns","getRightLeafColumns","getCenterVisibleLeafColumns","getCenterLeafColumns","updater","toggleAllColumnsVisible","getIsAllColumnsVisible","reduce","obj","some","getIsSomeColumnsVisible","getToggleAllColumnsVisibilityHandler"],"mappings":"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"}
|
package/build/cjs/filterFns.js
CHANGED
|
@@ -12,92 +12,70 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return row.
|
|
15
|
+
const includesString = (row, columnId, filterValue) => {
|
|
16
|
+
const search = filterValue.toLowerCase();
|
|
17
|
+
return row.getValue(columnId).toLowerCase().includes(search);
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
includesString.autoRemove =
|
|
21
|
-
return testFalsey(val);
|
|
22
|
-
};
|
|
20
|
+
includesString.autoRemove = val => testFalsey(val);
|
|
23
21
|
|
|
24
|
-
|
|
25
|
-
return row.
|
|
22
|
+
const includesStringSensitive = (row, columnId, filterValue) => {
|
|
23
|
+
return row.getValue(columnId).includes(filterValue);
|
|
26
24
|
};
|
|
27
25
|
|
|
28
|
-
includesStringSensitive.autoRemove =
|
|
29
|
-
return testFalsey(val);
|
|
30
|
-
};
|
|
26
|
+
includesStringSensitive.autoRemove = val => testFalsey(val);
|
|
31
27
|
|
|
32
|
-
|
|
33
|
-
return row.
|
|
28
|
+
const equalsString = (row, columnId, filterValue) => {
|
|
29
|
+
return row.getValue(columnId).toLowerCase() === filterValue.toLowerCase();
|
|
34
30
|
};
|
|
35
31
|
|
|
36
|
-
equalsString.autoRemove =
|
|
37
|
-
return testFalsey(val);
|
|
38
|
-
};
|
|
32
|
+
equalsString.autoRemove = val => testFalsey(val);
|
|
39
33
|
|
|
40
|
-
|
|
41
|
-
return row.
|
|
34
|
+
const arrIncludes = (row, columnId, filterValue) => {
|
|
35
|
+
return row.getValue(columnId).includes(filterValue);
|
|
42
36
|
};
|
|
43
37
|
|
|
44
|
-
arrIncludes.autoRemove =
|
|
45
|
-
return testFalsey(val) || !(val != null && val.length);
|
|
46
|
-
};
|
|
38
|
+
arrIncludes.autoRemove = val => testFalsey(val) || !(val != null && val.length);
|
|
47
39
|
|
|
48
|
-
|
|
49
|
-
return !filterValue.some(
|
|
50
|
-
return !row.values[columnId].includes(val);
|
|
51
|
-
});
|
|
40
|
+
const arrIncludesAll = (row, columnId, filterValue) => {
|
|
41
|
+
return !filterValue.some(val => !row.getValue(columnId).includes(val));
|
|
52
42
|
};
|
|
53
43
|
|
|
54
|
-
arrIncludesAll.autoRemove =
|
|
55
|
-
return testFalsey(val) || !(val != null && val.length);
|
|
56
|
-
};
|
|
44
|
+
arrIncludesAll.autoRemove = val => testFalsey(val) || !(val != null && val.length);
|
|
57
45
|
|
|
58
|
-
|
|
59
|
-
return filterValue.some(
|
|
60
|
-
return row.values[columnId].includes(val);
|
|
61
|
-
});
|
|
46
|
+
const arrIncludesSome = (row, columnId, filterValue) => {
|
|
47
|
+
return filterValue.some(val => row.getValue(columnId).includes(val));
|
|
62
48
|
};
|
|
63
49
|
|
|
64
|
-
arrIncludesSome.autoRemove =
|
|
65
|
-
return testFalsey(val) || !(val != null && val.length);
|
|
66
|
-
};
|
|
50
|
+
arrIncludesSome.autoRemove = val => testFalsey(val) || !(val != null && val.length);
|
|
67
51
|
|
|
68
|
-
|
|
69
|
-
return row.
|
|
52
|
+
const equals = (row, columnId, filterValue) => {
|
|
53
|
+
return row.getValue(columnId) === filterValue;
|
|
70
54
|
};
|
|
71
55
|
|
|
72
|
-
equals.autoRemove =
|
|
73
|
-
return testFalsey(val);
|
|
74
|
-
};
|
|
56
|
+
equals.autoRemove = val => testFalsey(val);
|
|
75
57
|
|
|
76
|
-
|
|
77
|
-
return row.
|
|
58
|
+
const weakEquals = (row, columnId, filterValue) => {
|
|
59
|
+
return row.getValue(columnId) == filterValue;
|
|
78
60
|
};
|
|
79
61
|
|
|
80
|
-
weakEquals.autoRemove =
|
|
81
|
-
return testFalsey(val);
|
|
82
|
-
};
|
|
62
|
+
weakEquals.autoRemove = val => testFalsey(val);
|
|
83
63
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
var rowValue = row.values[columnId];
|
|
64
|
+
const inNumberRange = (row, columnId, filterValue) => {
|
|
65
|
+
let [min, max] = filterValue;
|
|
66
|
+
const rowValue = row.getValue(columnId);
|
|
88
67
|
return rowValue >= min && rowValue <= max;
|
|
89
68
|
};
|
|
90
69
|
|
|
91
|
-
inNumberRange.resolveFilterValue =
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
var max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax;
|
|
70
|
+
inNumberRange.resolveFilterValue = val => {
|
|
71
|
+
let [unsafeMin, unsafeMax] = val;
|
|
72
|
+
let parsedMin = typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin;
|
|
73
|
+
let parsedMax = typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax;
|
|
74
|
+
let min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin;
|
|
75
|
+
let max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax;
|
|
98
76
|
|
|
99
77
|
if (min > max) {
|
|
100
|
-
|
|
78
|
+
const temp = min;
|
|
101
79
|
min = max;
|
|
102
80
|
max = temp;
|
|
103
81
|
}
|
|
@@ -105,21 +83,19 @@ inNumberRange.resolveFilterValue = function (val) {
|
|
|
105
83
|
return [min, max];
|
|
106
84
|
};
|
|
107
85
|
|
|
108
|
-
inNumberRange.autoRemove =
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
weakEquals: weakEquals,
|
|
122
|
-
inNumberRange: inNumberRange
|
|
86
|
+
inNumberRange.autoRemove = val => testFalsey(val) || testFalsey(val[0]) && testFalsey(val[1]); // Export
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
const filterFns = {
|
|
90
|
+
includesString,
|
|
91
|
+
includesStringSensitive,
|
|
92
|
+
equalsString,
|
|
93
|
+
arrIncludes,
|
|
94
|
+
arrIncludesAll,
|
|
95
|
+
arrIncludesSome,
|
|
96
|
+
equals,
|
|
97
|
+
weakEquals,
|
|
98
|
+
inNumberRange
|
|
123
99
|
};
|
|
124
100
|
|
|
125
101
|
// Utils
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterFns.js","sources":["../../src/filterFns.ts"],"sourcesContent":["import { FilterFn } from './features/Filters'\n\nconst includesString: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: string\n) => {\n const search = filterValue.toLowerCase()\n return row.
|
|
1
|
+
{"version":3,"file":"filterFns.js","sources":["../../src/filterFns.ts"],"sourcesContent":["import { FilterFn } from './features/Filters'\n\nconst includesString: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: string\n) => {\n const search = filterValue.toLowerCase()\n return row.getValue(columnId).toLowerCase().includes(search)\n}\n\nincludesString.autoRemove = (val: any) => testFalsey(val)\n\nconst includesStringSensitive: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: string\n) => {\n return row.getValue(columnId).includes(filterValue)\n}\n\nincludesStringSensitive.autoRemove = (val: any) => testFalsey(val)\n\nconst equalsString: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: string\n) => {\n return row.getValue(columnId).toLowerCase() === filterValue.toLowerCase()\n}\n\nequalsString.autoRemove = (val: any) => testFalsey(val)\n\nconst arrIncludes: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown\n) => {\n return row.getValue(columnId).includes(filterValue)\n}\n\narrIncludes.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nconst arrIncludesAll: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown[]\n) => {\n return !filterValue.some(val => !row.getValue(columnId).includes(val))\n}\n\narrIncludesAll.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nconst arrIncludesSome: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown[]\n) => {\n return filterValue.some(val => row.getValue(columnId).includes(val))\n}\n\narrIncludesSome.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nconst equals: FilterFn<any> = (row, columnId: string, filterValue: unknown) => {\n return row.getValue(columnId) === filterValue\n}\n\nequals.autoRemove = (val: any) => testFalsey(val)\n\nconst weakEquals: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: unknown\n) => {\n return row.getValue(columnId) == filterValue\n}\n\nweakEquals.autoRemove = (val: any) => testFalsey(val)\n\nconst inNumberRange: FilterFn<any> = (\n row,\n columnId: string,\n filterValue: [number, number]\n) => {\n let [min, max] = filterValue\n\n const rowValue = row.getValue(columnId)\n return rowValue >= min && rowValue <= max\n}\n\ninNumberRange.resolveFilterValue = (val: [any, any]) => {\n let [unsafeMin, unsafeMax] = val\n\n let parsedMin =\n typeof unsafeMin !== 'number' ? parseFloat(unsafeMin as string) : unsafeMin\n let parsedMax =\n typeof unsafeMax !== 'number' ? parseFloat(unsafeMax as string) : unsafeMax\n\n let min =\n unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin\n let max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return [min, max] as const\n}\n\ninNumberRange.autoRemove = (val: any) =>\n testFalsey(val) || (testFalsey(val[0]) && testFalsey(val[1]))\n\n// Export\n\nexport const filterFns = {\n includesString,\n includesStringSensitive,\n equalsString,\n arrIncludes,\n arrIncludesAll,\n arrIncludesSome,\n equals,\n weakEquals,\n inNumberRange,\n}\n\nexport type BuiltInFilterFn = keyof typeof filterFns\n\n// Utils\n\nfunction testFalsey(val: any) {\n return val === undefined || val === null || val === ''\n}\n"],"names":["includesString","row","columnId","filterValue","search","toLowerCase","getValue","includes","autoRemove","val","testFalsey","includesStringSensitive","equalsString","arrIncludes","length","arrIncludesAll","some","arrIncludesSome","equals","weakEquals","inNumberRange","min","max","rowValue","resolveFilterValue","unsafeMin","unsafeMax","parsedMin","parseFloat","parsedMax","Number","isNaN","Infinity","temp","filterFns","undefined"],"mappings":"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"}
|
package/build/cjs/index.js
CHANGED
|
@@ -26,10 +26,12 @@ var RowSelection = require('./features/RowSelection.js');
|
|
|
26
26
|
var Sorting = require('./features/Sorting.js');
|
|
27
27
|
var Visibility = require('./features/Visibility.js');
|
|
28
28
|
var utils = require('./utils.js');
|
|
29
|
-
var
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
-
var
|
|
29
|
+
var getCoreRowModel = require('./utils/getCoreRowModel.js');
|
|
30
|
+
var getFilteredRowModel = require('./utils/getFilteredRowModel.js');
|
|
31
|
+
var getFacetedRowModel = require('./utils/getFacetedRowModel.js');
|
|
32
|
+
var getFacetedUniqueValues = require('./utils/getFacetedUniqueValues.js');
|
|
33
|
+
var getFacetedMinMaxValues = require('./utils/getFacetedMinMaxValues.js');
|
|
34
|
+
var getSortedRowModel = require('./utils/getSortedRowModel.js');
|
|
33
35
|
var getGroupedRowModel = require('./utils/getGroupedRowModel.js');
|
|
34
36
|
var getExpandedRowModel = require('./utils/getExpandedRowModel.js');
|
|
35
37
|
var getPaginationRowModel = require('./utils/getPaginationRowModel.js');
|
|
@@ -43,8 +45,6 @@ exports.defaultColumnSizing = ColumnSizing.defaultColumnSizing;
|
|
|
43
45
|
exports.passiveEventSupported = ColumnSizing.passiveEventSupported;
|
|
44
46
|
exports.Expanding = Expanding.Expanding;
|
|
45
47
|
exports.Filters = Filters.Filters;
|
|
46
|
-
exports.getRowModelMinMaxValues = Filters.getRowModelMinMaxValues;
|
|
47
|
-
exports.getRowModelUniqueValues = Filters.getRowModelUniqueValues;
|
|
48
48
|
exports.shouldAutoRemoveFilter = Filters.shouldAutoRemoveFilter;
|
|
49
49
|
exports.Grouping = Grouping.Grouping;
|
|
50
50
|
exports.orderColumns = Grouping.orderColumns;
|
|
@@ -60,17 +60,17 @@ exports.Sorting = Sorting.Sorting;
|
|
|
60
60
|
exports.Visibility = Visibility.Visibility;
|
|
61
61
|
exports.flattenBy = utils.flattenBy;
|
|
62
62
|
exports.functionalUpdate = utils.functionalUpdate;
|
|
63
|
-
exports.getBatchGroups = utils.getBatchGroups;
|
|
64
|
-
exports.incrementalMemo = utils.incrementalMemo;
|
|
65
63
|
exports.isFunction = utils.isFunction;
|
|
66
64
|
exports.makeStateUpdater = utils.makeStateUpdater;
|
|
67
65
|
exports.memo = utils.memo;
|
|
68
66
|
exports.noop = utils.noop;
|
|
69
|
-
exports.
|
|
70
|
-
exports.
|
|
71
|
-
exports.
|
|
72
|
-
exports.
|
|
73
|
-
exports.
|
|
67
|
+
exports.getCoreRowModel = getCoreRowModel.getCoreRowModel;
|
|
68
|
+
exports.getFilteredRowModel = getFilteredRowModel.getFilteredRowModel;
|
|
69
|
+
exports.getFacetedRowModel = getFacetedRowModel.getFacetedRowModel;
|
|
70
|
+
exports.getFacetedUniqueValues = getFacetedUniqueValues.getFacetedUniqueValues;
|
|
71
|
+
exports.getFacetedMinMaxValues = getFacetedMinMaxValues.getFacetedMinMaxValues;
|
|
72
|
+
exports.getSortedRowModel = getSortedRowModel.getSortedRowModel;
|
|
73
|
+
exports.getGroupedRowModel = getGroupedRowModel.getGroupedRowModel;
|
|
74
74
|
exports.expandRows = getExpandedRowModel.expandRows;
|
|
75
75
|
exports.getExpandedRowModel = getExpandedRowModel.getExpandedRowModel;
|
|
76
76
|
exports.getPaginationRowModel = getPaginationRowModel.getPaginationRowModel;
|
package/build/cjs/sortingFns.js
CHANGED
|
@@ -12,22 +12,22 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
alphanumeric
|
|
18
|
-
alphanumericCaseSensitive
|
|
19
|
-
text
|
|
20
|
-
textCaseSensitive
|
|
21
|
-
datetime
|
|
22
|
-
basic
|
|
15
|
+
const reSplitAlphaNumeric = /([0-9]+)/gm;
|
|
16
|
+
const sortingFns = {
|
|
17
|
+
alphanumeric,
|
|
18
|
+
alphanumericCaseSensitive,
|
|
19
|
+
text,
|
|
20
|
+
textCaseSensitive,
|
|
21
|
+
datetime,
|
|
22
|
+
basic
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
function alphanumeric(rowA, rowB, columnId) {
|
|
26
|
-
return compareAlphanumeric(toString(rowA.
|
|
26
|
+
return compareAlphanumeric(toString(rowA.getValue(columnId)).toLowerCase(), toString(rowB.getValue(columnId)).toLowerCase());
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
function alphanumericCaseSensitive(rowA, rowB, columnId) {
|
|
30
|
-
return compareAlphanumeric(toString(rowA.
|
|
30
|
+
return compareAlphanumeric(toString(rowA.getValue(columnId)), toString(rowB.getValue(columnId)));
|
|
31
31
|
} // Mixed sorting is slow, but very inclusive of many edge cases.
|
|
32
32
|
// It handles numbers, mixed alphanumeric combinations, and even
|
|
33
33
|
// null, undefined, and Infinity
|
|
@@ -36,15 +36,15 @@ function alphanumericCaseSensitive(rowA, rowB, columnId) {
|
|
|
36
36
|
function compareAlphanumeric(aStr, bStr) {
|
|
37
37
|
// Split on number groups, but keep the delimiter
|
|
38
38
|
// Then remove falsey split values
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
const a = aStr.split(reSplitAlphaNumeric).filter(Boolean);
|
|
40
|
+
const b = bStr.split(reSplitAlphaNumeric).filter(Boolean); // While
|
|
41
41
|
|
|
42
42
|
while (a.length && b.length) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
const aa = a.shift();
|
|
44
|
+
const bb = b.shift();
|
|
45
|
+
const an = parseInt(aa, 10);
|
|
46
|
+
const bn = parseInt(bb, 10);
|
|
47
|
+
const combo = [an, bn].sort(); // Both are string
|
|
48
48
|
|
|
49
49
|
if (isNaN(combo[0])) {
|
|
50
50
|
if (aa > bb) {
|
|
@@ -79,21 +79,21 @@ function compareAlphanumeric(aStr, bStr) {
|
|
|
79
79
|
|
|
80
80
|
|
|
81
81
|
function text(rowA, rowB, columnId) {
|
|
82
|
-
return compareBasic(toString(rowA.
|
|
82
|
+
return compareBasic(toString(rowA.getValue(columnId)).toLowerCase(), toString(rowB.getValue(columnId)).toLowerCase());
|
|
83
83
|
} // The text filter is more basic (less numeric support)
|
|
84
84
|
// but is much faster
|
|
85
85
|
|
|
86
86
|
|
|
87
87
|
function textCaseSensitive(rowA, rowB, columnId) {
|
|
88
|
-
return compareBasic(toString(rowA.
|
|
88
|
+
return compareBasic(toString(rowA.getValue(columnId)), toString(rowB.getValue(columnId)));
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
function datetime(rowA, rowB, columnId) {
|
|
92
|
-
return compareBasic(rowA.
|
|
92
|
+
return compareBasic(rowA.getValue(columnId).getTime(), rowB.getValue(columnId).getTime());
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
function basic(rowA, rowB, columnId) {
|
|
96
|
-
return compareBasic(rowA.
|
|
96
|
+
return compareBasic(rowA.getValue(columnId), rowB.getValue(columnId));
|
|
97
97
|
} // Utils
|
|
98
98
|
|
|
99
99
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortingFns.js","sources":["../../src/sortingFns.ts"],"sourcesContent":["import { TableGenerics, Row } from './types'\n\nexport const reSplitAlphaNumeric = /([0-9]+)/gm\n\nexport const sortingFns = {\n alphanumeric,\n alphanumericCaseSensitive,\n text,\n textCaseSensitive,\n datetime,\n basic,\n}\n\nexport type BuiltInSortingFn = keyof typeof sortingFns\n\nfunction alphanumeric<TGenerics extends TableGenerics>(\n rowA: Row<TGenerics>,\n rowB: Row<TGenerics>,\n columnId: string\n) {\n return compareAlphanumeric(\n toString(rowA.
|
|
1
|
+
{"version":3,"file":"sortingFns.js","sources":["../../src/sortingFns.ts"],"sourcesContent":["import { TableGenerics, Row } from './types'\n\nexport const reSplitAlphaNumeric = /([0-9]+)/gm\n\nexport const sortingFns = {\n alphanumeric,\n alphanumericCaseSensitive,\n text,\n textCaseSensitive,\n datetime,\n basic,\n}\n\nexport type BuiltInSortingFn = keyof typeof sortingFns\n\nfunction alphanumeric<TGenerics extends TableGenerics>(\n rowA: Row<TGenerics>,\n rowB: Row<TGenerics>,\n columnId: string\n) {\n return compareAlphanumeric(\n toString(rowA.getValue(columnId)).toLowerCase(),\n toString(rowB.getValue(columnId)).toLowerCase()\n )\n}\n\nfunction alphanumericCaseSensitive<TGenerics extends TableGenerics>(\n rowA: Row<TGenerics>,\n rowB: Row<TGenerics>,\n columnId: string\n) {\n return compareAlphanumeric(\n toString(rowA.getValue(columnId)),\n toString(rowB.getValue(columnId))\n )\n}\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nfunction compareAlphanumeric(aStr: string, bStr: string) {\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n const a = aStr.split(reSplitAlphaNumeric).filter(Boolean)\n const b = bStr.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n const aa = a.shift()!\n const bb = b.shift()!\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0]!)) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1]!)) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nfunction text<TGenerics extends TableGenerics>(\n rowA: Row<TGenerics>,\n rowB: Row<TGenerics>,\n columnId: string\n) {\n return compareBasic(\n toString(rowA.getValue(columnId)).toLowerCase(),\n toString(rowB.getValue(columnId)).toLowerCase()\n )\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nfunction textCaseSensitive<TGenerics extends TableGenerics>(\n rowA: Row<TGenerics>,\n rowB: Row<TGenerics>,\n columnId: string\n) {\n return compareBasic(\n toString(rowA.getValue(columnId)),\n toString(rowB.getValue(columnId))\n )\n}\n\nfunction datetime<TGenerics extends TableGenerics>(\n rowA: Row<TGenerics>,\n rowB: Row<TGenerics>,\n columnId: string\n) {\n return compareBasic(\n (rowA.getValue(columnId) as Date).getTime(),\n (rowB.getValue(columnId) as Date).getTime()\n )\n}\n\nfunction basic<TGenerics extends TableGenerics>(\n rowA: Row<TGenerics>,\n rowB: Row<TGenerics>,\n columnId: string\n) {\n return compareBasic(rowA.getValue(columnId), rowB.getValue(columnId))\n}\n\n// Utils\n\nfunction compareBasic(a: any, b: any) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction toString(a: any) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n"],"names":["reSplitAlphaNumeric","sortingFns","alphanumeric","alphanumericCaseSensitive","text","textCaseSensitive","datetime","basic","rowA","rowB","columnId","compareAlphanumeric","toString","getValue","toLowerCase","aStr","bStr","a","split","filter","Boolean","b","length","aa","shift","bb","an","parseInt","bn","combo","sort","isNaN","compareBasic","getTime","Infinity","String"],"mappings":"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"}
|
|
@@ -12,62 +12,51 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
-
function filterRows(rows,
|
|
16
|
-
var filterRowImpl = function filterRowImpl(rowsToFilter) {
|
|
17
|
-
// Horizontally filter rows through each column
|
|
18
|
-
return rowsToFilter.filter(function (row) {
|
|
19
|
-
for (var i = 0; i < columnIds.length; i++) {
|
|
20
|
-
if (row.columnFilterMap[columnIds[i]] === false) {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return true;
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
|
|
15
|
+
function filterRows(rows, filterRowImpl, instance) {
|
|
29
16
|
if (instance.options.filterFromLeafRows) {
|
|
30
17
|
return filterRowModelFromLeafs(rows, filterRowImpl, instance);
|
|
31
18
|
}
|
|
32
19
|
|
|
33
20
|
return filterRowModelFromRoot(rows, filterRowImpl, instance);
|
|
34
21
|
}
|
|
35
|
-
function filterRowModelFromLeafs(rowsToFilter,
|
|
36
|
-
|
|
37
|
-
|
|
22
|
+
function filterRowModelFromLeafs(rowsToFilter, filterRow, instance) {
|
|
23
|
+
const newFilteredFlatRows = [];
|
|
24
|
+
const newFilteredRowsById = {};
|
|
25
|
+
let row;
|
|
26
|
+
let newRow;
|
|
38
27
|
|
|
39
|
-
|
|
28
|
+
const recurseFilterRows = function (rowsToFilter, depth) {
|
|
40
29
|
if (depth === void 0) {
|
|
41
30
|
depth = 0;
|
|
42
31
|
}
|
|
43
32
|
|
|
44
|
-
|
|
33
|
+
const rows = []; // Filter from children up first
|
|
45
34
|
|
|
46
|
-
for (
|
|
35
|
+
for (let i = 0; i < rowsToFilter.length; i++) {
|
|
47
36
|
var _row$subRows;
|
|
48
37
|
|
|
49
|
-
|
|
38
|
+
row = rowsToFilter[i];
|
|
50
39
|
|
|
51
|
-
if (
|
|
52
|
-
|
|
53
|
-
|
|
40
|
+
if ((_row$subRows = row.subRows) != null && _row$subRows.length) {
|
|
41
|
+
newRow = instance.createRow(row.id, row.original, row.index, row.depth);
|
|
42
|
+
newRow.columnFilterMap = row.columnFilterMap;
|
|
43
|
+
newRow.subRows = recurseFilterRows(row.subRows, depth + 1);
|
|
44
|
+
|
|
45
|
+
if (!newRow.subRows.length) {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
54
48
|
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
row = newRow;
|
|
50
|
+
}
|
|
57
51
|
|
|
58
|
-
if (
|
|
59
|
-
|
|
60
|
-
|
|
52
|
+
if (filterRow(row)) {
|
|
53
|
+
rows.push(row);
|
|
54
|
+
newFilteredRowsById[row.id] = row;
|
|
55
|
+
newFilteredRowsById[i] = row;
|
|
61
56
|
}
|
|
62
57
|
}
|
|
63
58
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
rowsToFilter.forEach(function (row) {
|
|
67
|
-
newFilteredFlatRows.push(row);
|
|
68
|
-
newFilteredRowsById[row.id] = row;
|
|
69
|
-
});
|
|
70
|
-
return rowsToFilter;
|
|
59
|
+
return rows;
|
|
71
60
|
};
|
|
72
61
|
|
|
73
62
|
return {
|
|
@@ -76,36 +65,41 @@ function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
|
|
|
76
65
|
rowsById: newFilteredRowsById
|
|
77
66
|
};
|
|
78
67
|
}
|
|
79
|
-
function filterRowModelFromRoot(rowsToFilter,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
68
|
+
function filterRowModelFromRoot(rowsToFilter, filterRow, instance) {
|
|
69
|
+
const newFilteredFlatRows = [];
|
|
70
|
+
const newFilteredRowsById = {};
|
|
71
|
+
let rows;
|
|
72
|
+
let row;
|
|
73
|
+
let newRow; // Filters top level and nested rows
|
|
74
|
+
|
|
75
|
+
const recurseFilterRows = function (rowsToFilter, depth) {
|
|
84
76
|
if (depth === void 0) {
|
|
85
77
|
depth = 0;
|
|
86
78
|
}
|
|
87
79
|
|
|
88
80
|
// Filter from parents downward first
|
|
89
|
-
|
|
81
|
+
rows = []; // Apply the filter to any subRows
|
|
90
82
|
|
|
91
|
-
for (
|
|
92
|
-
|
|
83
|
+
for (let i = 0; i < rowsToFilter.length; i++) {
|
|
84
|
+
row = rowsToFilter[i];
|
|
85
|
+
const pass = filterRow(row);
|
|
93
86
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
newFilteredRowsById[row.id] = row;
|
|
87
|
+
if (pass) {
|
|
88
|
+
var _row$subRows2;
|
|
97
89
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
90
|
+
if ((_row$subRows2 = row.subRows) != null && _row$subRows2.length) {
|
|
91
|
+
newRow = instance.createRow(row.id, row.original, row.index, row.depth);
|
|
92
|
+
newRow.subRows = recurseFilterRows(row.subRows, depth + 1);
|
|
93
|
+
row = newRow;
|
|
94
|
+
}
|
|
103
95
|
|
|
104
|
-
|
|
105
|
-
|
|
96
|
+
rows.push(row);
|
|
97
|
+
newFilteredFlatRows.push(row);
|
|
98
|
+
newFilteredRowsById[row.id] = row;
|
|
99
|
+
}
|
|
106
100
|
}
|
|
107
101
|
|
|
108
|
-
return
|
|
102
|
+
return rows;
|
|
109
103
|
};
|
|
110
104
|
|
|
111
105
|
return {
|