@tanstack/table-core 8.0.0-alpha.67 → 8.0.0-alpha.70
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 +102 -116
- 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 +49 -58
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +98 -193
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +53 -71
- 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 +31 -43
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +79 -82
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +71 -125
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +93 -112
- 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 +54 -73
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +47 -86
- 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 +1778 -2347
- 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/ColumnSizing.d.ts +2 -2
- package/build/types/features/Columns.d.ts +1 -1
- package/build/types/features/Expanding.d.ts +1 -1
- package/build/types/features/Filters.d.ts +12 -7
- package/build/types/features/Grouping.d.ts +5 -4
- package/build/types/features/Ordering.d.ts +1 -1
- package/build/types/features/Pagination.d.ts +4 -4
- package/build/types/features/Pinning.d.ts +1 -1
- package/build/types/features/RowSelection.d.ts +1 -1
- package/build/types/features/Rows.d.ts +4 -3
- package/build/types/features/Sorting.d.ts +2 -1
- package/build/types/features/Visibility.d.ts +1 -0
- 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 +1779 -2350
- 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 +27 -19
- package/src/features/Columns.ts +4 -8
- package/src/features/Expanding.ts +5 -3
- package/src/features/Filters.ts +105 -162
- package/src/features/Grouping.ts +21 -23
- package/src/features/Ordering.ts +5 -3
- package/src/features/Pagination.ts +32 -19
- package/src/features/Pinning.ts +13 -7
- package/src/features/RowSelection.ts +5 -3
- package/src/features/Rows.ts +21 -6
- package/src/features/Sorting.ts +14 -12
- package/src/features/Visibility.ts +7 -0
- 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":"filterRowsUtils.js","sources":["../../../src/utils/filterRowsUtils.ts"],"sourcesContent":["import { TableGenerics, Row, RowModel, TableInstance } from '../types'\n\nexport function filterRows<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\n
|
|
1
|
+
{"version":3,"file":"filterRowsUtils.js","sources":["../../../src/utils/filterRowsUtils.ts"],"sourcesContent":["import { TableGenerics, Row, RowModel, TableInstance } from '../types'\n\nexport function filterRows<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\n filterRowImpl: (row: Row<TGenerics>) => any,\n instance: TableInstance<TGenerics>\n) {\n if (instance.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, instance)\n }\n\n return filterRowModelFromRoot(rows, filterRowImpl, instance)\n}\n\nexport function filterRowModelFromLeafs<TGenerics extends TableGenerics>(\n rowsToFilter: Row<TGenerics>[],\n filterRow: (row: Row<TGenerics>) => Row<TGenerics>[],\n instance: TableInstance<TGenerics>\n): RowModel<TGenerics> {\n const newFilteredFlatRows: Row<TGenerics>[] = []\n const newFilteredRowsById: Record<string, Row<TGenerics>> = {}\n\n let row\n let newRow\n\n const recurseFilterRows = (rowsToFilter: Row<TGenerics>[], depth = 0) => {\n const rows: Row<TGenerics>[] = []\n\n // Filter from children up first\n for (let i = 0; i < rowsToFilter.length; i++) {\n row = rowsToFilter[i]!\n\n if (row.subRows?.length) {\n newRow = instance.createRow(row.id, row.original, row.index, row.depth)\n newRow.columnFilterMap = row.columnFilterMap\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n if (!newRow.subRows.length) {\n continue\n }\n row = newRow\n }\n\n if (filterRow(row)) {\n rows.push(row)\n newFilteredRowsById[row.id] = row\n newFilteredRowsById[i] = row\n }\n }\n\n return rows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n\nexport function filterRowModelFromRoot<TGenerics extends TableGenerics>(\n rowsToFilter: Row<TGenerics>[],\n filterRow: (row: Row<TGenerics>) => any,\n instance: TableInstance<TGenerics>\n): RowModel<TGenerics> {\n const newFilteredFlatRows: Row<TGenerics>[] = []\n const newFilteredRowsById: Record<string, Row<TGenerics>> = {}\n\n let rows\n let row\n let newRow\n\n // Filters top level and nested rows\n const recurseFilterRows = (rowsToFilter: Row<TGenerics>[], depth = 0) => {\n // Filter from parents downward first\n\n rows = []\n\n // Apply the filter to any subRows\n for (let i = 0; i < rowsToFilter.length; i++) {\n row = rowsToFilter[i]!\n\n const pass = filterRow(row)\n\n if (pass) {\n if (row.subRows?.length) {\n newRow = instance.createRow(\n row.id,\n row.original,\n row.index,\n row.depth\n )\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1)\n row = newRow\n }\n\n rows.push(row)\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n }\n }\n\n return rows\n }\n\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n"],"names":["filterRows","rows","filterRowImpl","instance","options","filterFromLeafRows","filterRowModelFromLeafs","filterRowModelFromRoot","rowsToFilter","filterRow","newFilteredFlatRows","newFilteredRowsById","row","newRow","recurseFilterRows","depth","i","length","subRows","createRow","id","original","index","columnFilterMap","push","flatRows","rowsById","pass"],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* table-core
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) TanStack
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
+
*
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
+
|
|
15
|
+
var utils = require('../utils.js');
|
|
16
|
+
|
|
17
|
+
function getCoreRowModel() {
|
|
18
|
+
return instance => utils.memo(() => [instance.options.data], data => {
|
|
19
|
+
// Access the row model using initial columns
|
|
20
|
+
const rows = [];
|
|
21
|
+
const flatRows = [];
|
|
22
|
+
const rowsById = {};
|
|
23
|
+
const leafColumns = instance.getAllLeafColumns();
|
|
24
|
+
|
|
25
|
+
const accessRow = function (originalRow, rowIndex, depth, parentRows, parent) {
|
|
26
|
+
if (depth === void 0) {
|
|
27
|
+
depth = 0;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const id = instance.getRowId(originalRow, rowIndex, parent);
|
|
31
|
+
|
|
32
|
+
if (!id) {
|
|
33
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
34
|
+
throw new Error("getRowId expected an ID, but got " + id);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const values = {};
|
|
39
|
+
|
|
40
|
+
for (let i = 0; i < leafColumns.length; i++) {
|
|
41
|
+
const column = leafColumns[i];
|
|
42
|
+
|
|
43
|
+
if (column && column.accessorFn) {
|
|
44
|
+
values[column.id] = column.accessorFn(originalRow, rowIndex);
|
|
45
|
+
}
|
|
46
|
+
} // Make the row
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
const row = instance.createRow(id, originalRow, rowIndex, depth); // Push instance row into the parentRows array
|
|
50
|
+
|
|
51
|
+
parentRows.push(row); // Keep track of every row in a flat array
|
|
52
|
+
|
|
53
|
+
flatRows.push(row); // Also keep track of every row by its ID
|
|
54
|
+
|
|
55
|
+
rowsById[id] = row; // Get the original subrows
|
|
56
|
+
|
|
57
|
+
if (instance.options.getSubRows) {
|
|
58
|
+
const originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
59
|
+
|
|
60
|
+
if (originalSubRows != null && originalSubRows.length) {
|
|
61
|
+
row.originalSubRows = originalSubRows;
|
|
62
|
+
const subRows = [];
|
|
63
|
+
|
|
64
|
+
for (let i = 0; i < row.originalSubRows.length; i++) {
|
|
65
|
+
accessRow(row.originalSubRows[i], i, depth + 1, subRows, row);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
row.subRows = subRows;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
for (let i = 0; i < data.length; i++) {
|
|
74
|
+
accessRow(data[i], i, 0, rows);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return {
|
|
78
|
+
rows,
|
|
79
|
+
flatRows,
|
|
80
|
+
rowsById
|
|
81
|
+
};
|
|
82
|
+
}, {
|
|
83
|
+
key: process.env.NODE_ENV === 'development' && 'getRowModel',
|
|
84
|
+
debug: () => {
|
|
85
|
+
var _instance$options$deb;
|
|
86
|
+
|
|
87
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
88
|
+
},
|
|
89
|
+
onChange: () => {
|
|
90
|
+
instance.queue(() => {
|
|
91
|
+
instance._autoResetPageIndex();
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
exports.getCoreRowModel = getCoreRowModel;
|
|
98
|
+
//# sourceMappingURL=getCoreRowModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCoreRowModel.js","sources":["../../../src/utils/getCoreRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { memo } from '../utils'\n\nexport function getCoreRowModel<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.options.data],\n (\n data\n ): {\n rows: Row<TGenerics>[]\n flatRows: Row<TGenerics>[]\n rowsById: Record<string, Row<TGenerics>>\n } => {\n // Access the row model using initial columns\n const rows: Row<TGenerics>[] = []\n const flatRows: Row<TGenerics>[] = []\n const rowsById: Record<string, Row<TGenerics>> = {}\n\n const leafColumns = instance.getAllLeafColumns()\n\n const accessRow = (\n originalRow: TGenerics['Row'],\n rowIndex: number,\n depth = 0,\n parentRows: Row<TGenerics>[],\n parent?: Row<TGenerics>\n ) => {\n const id = instance.getRowId(originalRow, rowIndex, parent)\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRowId expected an ID, but got ${id}`)\n }\n }\n\n const values: Record<string, any> = {}\n\n for (let i = 0; i < leafColumns.length; i++) {\n const column = leafColumns[i]\n if (column && column.accessorFn) {\n values[column.id] = column.accessorFn(originalRow, rowIndex)\n }\n }\n\n // Make the row\n const row = instance.createRow(id, originalRow, rowIndex, depth)\n\n // Push instance row into the parentRows array\n parentRows.push(row)\n // Keep track of every row in a flat array\n flatRows.push(row)\n // Also keep track of every row by its ID\n rowsById[id] = row\n\n // Get the original subrows\n if (instance.options.getSubRows) {\n const originalSubRows = instance.options.getSubRows(\n originalRow,\n rowIndex\n )\n\n // Then recursively access them\n if (originalSubRows?.length) {\n row.originalSubRows = originalSubRows\n const subRows: Row<TGenerics>[] = []\n\n for (let i = 0; i < row.originalSubRows.length; i++) {\n accessRow(\n row.originalSubRows[i] as TGenerics['Row'],\n i,\n depth + 1,\n subRows,\n row\n )\n }\n row.subRows = subRows\n }\n }\n }\n\n for (let i = 0; i < data.length; i++) {\n accessRow(data[i] as TGenerics['Row'], i, 0, rows)\n }\n\n return { rows, flatRows, rowsById }\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n"],"names":["getCoreRowModel","instance","memo","options","data","rows","flatRows","rowsById","leafColumns","getAllLeafColumns","accessRow","originalRow","rowIndex","depth","parentRows","parent","id","getRowId","process","env","NODE_ENV","Error","values","i","length","column","accessorFn","row","createRow","push","getSubRows","originalSubRows","subRows","key","debug","debugAll","debugTable","onChange","queue","_autoResetPageIndex"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,eAAT,GAEwB;AAC7B,EAAA,OAAOC,QAAQ,IACbC,UAAI,CACF,MAAM,CAACD,QAAQ,CAACE,OAAT,CAAiBC,IAAlB,CADJ,EAGAA,IADF,IAMK;AACH;AACA,IAAMC,MAAAA,IAAsB,GAAG,EAA/B,CAAA;AACA,IAAMC,MAAAA,QAA0B,GAAG,EAAnC,CAAA;AACA,IAAMC,MAAAA,QAAwC,GAAG,EAAjD,CAAA;AAEA,IAAA,MAAMC,WAAW,GAAGP,QAAQ,CAACQ,iBAAT,EAApB,CAAA;;AAEA,IAAA,MAAMC,SAAS,GAAG,UAChBC,WADgB,EAEhBC,QAFgB,EAGhBC,KAHgB,EAIhBC,UAJgB,EAKhBC,MALgB,EAMb;AAAA,MAAA,IAHHF,KAGG,KAAA,KAAA,CAAA,EAAA;AAHHA,QAAAA,KAGG,GAHK,CAGL,CAAA;AAAA,OAAA;;AACH,MAAMG,MAAAA,EAAE,GAAGf,QAAQ,CAACgB,QAAT,CAAkBN,WAAlB,EAA+BC,QAA/B,EAAyCG,MAAzC,CAAX,CAAA;;AAEA,MAAI,IAAA,CAACC,EAAL,EAAS;AACP,QAAA,IAAIE,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,UAAA,MAAM,IAAIC,KAAJ,CAA8CL,mCAAAA,GAAAA,EAA9C,CAAN,CAAA;AACD,SAAA;AACF,OAAA;;AAED,MAAMM,MAAAA,MAA2B,GAAG,EAApC,CAAA;;AAEA,MAAA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGf,WAAW,CAACgB,MAAhC,EAAwCD,CAAC,EAAzC,EAA6C;AAC3C,QAAA,MAAME,MAAM,GAAGjB,WAAW,CAACe,CAAD,CAA1B,CAAA;;AACA,QAAA,IAAIE,MAAM,IAAIA,MAAM,CAACC,UAArB,EAAiC;AAC/BJ,UAAAA,MAAM,CAACG,MAAM,CAACT,EAAR,CAAN,GAAoBS,MAAM,CAACC,UAAP,CAAkBf,WAAlB,EAA+BC,QAA/B,CAApB,CAAA;AACD,SAAA;AACF,OAhBE;;;AAmBH,MAAA,MAAMe,GAAG,GAAG1B,QAAQ,CAAC2B,SAAT,CAAmBZ,EAAnB,EAAuBL,WAAvB,EAAoCC,QAApC,EAA8CC,KAA9C,CAAZ,CAnBG;;AAsBHC,MAAAA,UAAU,CAACe,IAAX,CAAgBF,GAAhB,EAtBG;;AAwBHrB,MAAAA,QAAQ,CAACuB,IAAT,CAAcF,GAAd,EAxBG;;AA0BHpB,MAAAA,QAAQ,CAACS,EAAD,CAAR,GAAeW,GAAf,CA1BG;;AA6BH,MAAA,IAAI1B,QAAQ,CAACE,OAAT,CAAiB2B,UAArB,EAAiC;AAC/B,QAAA,MAAMC,eAAe,GAAG9B,QAAQ,CAACE,OAAT,CAAiB2B,UAAjB,CACtBnB,WADsB,EAEtBC,QAFsB,CAAxB,CAD+B;;AAO/B,QAAA,IAAImB,eAAJ,IAAA,IAAA,IAAIA,eAAe,CAAEP,MAArB,EAA6B;AAC3BG,UAAAA,GAAG,CAACI,eAAJ,GAAsBA,eAAtB,CAAA;AACA,UAAMC,MAAAA,OAAyB,GAAG,EAAlC,CAAA;;AAEA,UAAA,KAAK,IAAIT,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGI,GAAG,CAACI,eAAJ,CAAoBP,MAAxC,EAAgDD,CAAC,EAAjD,EAAqD;AACnDb,YAAAA,SAAS,CACPiB,GAAG,CAACI,eAAJ,CAAoBR,CAApB,CADO,EAEPA,CAFO,EAGPV,KAAK,GAAG,CAHD,EAIPmB,OAJO,EAKPL,GALO,CAAT,CAAA;AAOD,WAAA;;AACDA,UAAAA,GAAG,CAACK,OAAJ,GAAcA,OAAd,CAAA;AACD,SAAA;AACF,OAAA;AACF,KA1DD,CAAA;;AA4DA,IAAA,KAAK,IAAIT,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGnB,IAAI,CAACoB,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;AACpCb,MAAAA,SAAS,CAACN,IAAI,CAACmB,CAAD,CAAL,EAA8BA,CAA9B,EAAiC,CAAjC,EAAoClB,IAApC,CAAT,CAAA;AACD,KAAA;;AAED,IAAO,OAAA;AAAEA,MAAAA,IAAF;AAAQC,MAAAA,QAAR;AAAkBC,MAAAA,QAAAA;AAAlB,KAAP,CAAA;AACD,GAjFC,EAkFF;AACE0B,IAAAA,GAAG,EAAEf,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0C,aADjD;AAEEc,IAAAA,KAAK,EAAE,MAAA;AAAA,MAAA,IAAA,qBAAA,CAAA;;AAAA,MAAMjC,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACE,OAAT,CAAiBgC,QAAvB,oCAAmClC,QAAQ,CAACE,OAAT,CAAiBiC,UAApD,CAAA;AAAA,KAFT;AAGEC,IAAAA,QAAQ,EAAE,MAAM;AACdpC,MAAAA,QAAQ,CAACqC,KAAT,CAAe,MAAM;AACnBrC,QAAAA,QAAQ,CAACsC,mBAAT,EAAA,CAAA;AACD,OAFD,CAAA,CAAA;AAGD,KAAA;AAPH,GAlFE,CADN,CAAA;AA6FD;;;;"}
|
|
@@ -15,30 +15,26 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
15
15
|
var utils = require('../utils.js');
|
|
16
16
|
|
|
17
17
|
function getExpandedRowModel() {
|
|
18
|
-
return
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
};
|
|
18
|
+
return instance => utils.memo(() => [instance.getState().expanded, instance.getPreExpandedRowModel(), instance.options.paginateExpandedRows], (expanded, rowModel, paginateExpandedRows) => {
|
|
19
|
+
if (!rowModel.rows.length || // Do not expand if rows are not included in pagination
|
|
20
|
+
!paginateExpandedRows || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
|
|
21
|
+
return rowModel;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return expandRows(rowModel, instance);
|
|
25
|
+
}, {
|
|
26
|
+
key: process.env.NODE_ENV === 'development' && 'getExpandedRowModel',
|
|
27
|
+
debug: () => {
|
|
28
|
+
var _instance$options$deb;
|
|
29
|
+
|
|
30
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
37
33
|
}
|
|
38
34
|
function expandRows(rowModel, instance) {
|
|
39
|
-
|
|
35
|
+
const expandedRows = [];
|
|
40
36
|
|
|
41
|
-
|
|
37
|
+
const handleRow = row => {
|
|
42
38
|
var _row$subRows;
|
|
43
39
|
|
|
44
40
|
expandedRows.push(row);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExpandedRowModel.js","sources":["../../../src/utils/getExpandedRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { memo } from '../utils'\n\nexport function getExpandedRowModel<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getState().expanded,\n instance.getPreExpandedRowModel(),\n instance.options.paginateExpandedRows,\n ],\n (expanded, rowModel, paginateExpandedRows) => {\n if (\n !rowModel.rows.length ||\n // Do not expand if rows are not included in pagination\n !paginateExpandedRows ||\n (expanded !== true && !Object.keys(expanded ?? {}).length)\n ) {\n return rowModel\n }\n\n return expandRows(rowModel, instance)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getExpandedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n )\n}\n\nexport function expandRows<TGenerics extends TableGenerics>(\n rowModel: RowModel<TGenerics>,\n instance: TableInstance<TGenerics>\n) {\n const expandedRows: Row<TGenerics>[] = []\n\n const handleRow = (row: Row<TGenerics>) => {\n expandedRows.push(row)\n\n if (\n instance.options.expandSubRows &&\n row.subRows?.length &&\n row.getIsExpanded()\n ) {\n row.subRows.forEach(handleRow)\n }\n }\n\n rowModel.rows.forEach(handleRow)\n\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById,\n }\n}\n"],"names":["getExpandedRowModel","instance","memo","getState","expanded","getPreExpandedRowModel","options","paginateExpandedRows","rowModel","rows","length","Object","keys","expandRows","key","process","env","NODE_ENV","debug","debugAll","debugTable","expandedRows","handleRow","row","push","expandSubRows","subRows","getIsExpanded","forEach","flatRows","rowsById"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,mBAAT,GAEwB;AAC7B,EAAA,
|
|
1
|
+
{"version":3,"file":"getExpandedRowModel.js","sources":["../../../src/utils/getExpandedRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { memo } from '../utils'\n\nexport function getExpandedRowModel<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getState().expanded,\n instance.getPreExpandedRowModel(),\n instance.options.paginateExpandedRows,\n ],\n (expanded, rowModel, paginateExpandedRows) => {\n if (\n !rowModel.rows.length ||\n // Do not expand if rows are not included in pagination\n !paginateExpandedRows ||\n (expanded !== true && !Object.keys(expanded ?? {}).length)\n ) {\n return rowModel\n }\n\n return expandRows(rowModel, instance)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getExpandedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n )\n}\n\nexport function expandRows<TGenerics extends TableGenerics>(\n rowModel: RowModel<TGenerics>,\n instance: TableInstance<TGenerics>\n) {\n const expandedRows: Row<TGenerics>[] = []\n\n const handleRow = (row: Row<TGenerics>) => {\n expandedRows.push(row)\n\n if (\n instance.options.expandSubRows &&\n row.subRows?.length &&\n row.getIsExpanded()\n ) {\n row.subRows.forEach(handleRow)\n }\n }\n\n rowModel.rows.forEach(handleRow)\n\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById,\n }\n}\n"],"names":["getExpandedRowModel","instance","memo","getState","expanded","getPreExpandedRowModel","options","paginateExpandedRows","rowModel","rows","length","Object","keys","expandRows","key","process","env","NODE_ENV","debug","debugAll","debugTable","expandedRows","handleRow","row","push","expandSubRows","subRows","getIsExpanded","forEach","flatRows","rowsById"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,mBAAT,GAEwB;AAC7B,EAAA,OAAOC,QAAQ,IACbC,UAAI,CACF,MAAM,CACJD,QAAQ,CAACE,QAAT,EAAA,CAAoBC,QADhB,EAEJH,QAAQ,CAACI,sBAAT,EAFI,EAGJJ,QAAQ,CAACK,OAAT,CAAiBC,oBAHb,CADJ,EAMF,CAACH,QAAD,EAAWI,QAAX,EAAqBD,oBAArB,KAA8C;AAC5C,IAAA,IACE,CAACC,QAAQ,CAACC,IAAT,CAAcC,MAAf;AAEA,IAAA,CAACH,oBAFD,IAGCH,QAAQ,KAAK,IAAb,IAAqB,CAACO,MAAM,CAACC,IAAP,CAAYR,QAAZ,IAAYA,IAAAA,GAAAA,QAAZ,GAAwB,EAAxB,CAAA,CAA4BM,MAJrD,EAKE;AACA,MAAA,OAAOF,QAAP,CAAA;AACD,KAAA;;AAED,IAAA,OAAOK,UAAU,CAACL,QAAD,EAAWP,QAAX,CAAjB,CAAA;AACD,GAjBC,EAkBF;AACEa,IAAAA,GAAG,EAAEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0C,qBADjD;AAEEC,IAAAA,KAAK,EAAE,MAAA;AAAA,MAAA,IAAA,qBAAA,CAAA;;AAAA,MAAMjB,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACK,OAAT,CAAiBa,QAAvB,oCAAmClB,QAAQ,CAACK,OAAT,CAAiBc,UAApD,CAAA;AAAA,KAAA;AAFT,GAlBE,CADN,CAAA;AAwBD,CAAA;AAEM,SAASP,UAAT,CACLL,QADK,EAELP,QAFK,EAGL;AACA,EAAMoB,MAAAA,YAA8B,GAAG,EAAvC,CAAA;;AAEA,EAAMC,MAAAA,SAAS,GAAIC,GAAD,IAAyB;AAAA,IAAA,IAAA,YAAA,CAAA;;AACzCF,IAAAA,YAAY,CAACG,IAAb,CAAkBD,GAAlB,CAAA,CAAA;;AAEA,IAAA,IACEtB,QAAQ,CAACK,OAAT,CAAiBmB,aAAjB,oBACAF,GAAG,CAACG,OADJ,KAAA,IAAA,IACA,aAAahB,MADb,IAEAa,GAAG,CAACI,aAAJ,EAHF,EAIE;AACAJ,MAAAA,GAAG,CAACG,OAAJ,CAAYE,OAAZ,CAAoBN,SAApB,CAAA,CAAA;AACD,KAAA;AACF,GAVD,CAAA;;AAYAd,EAAAA,QAAQ,CAACC,IAAT,CAAcmB,OAAd,CAAsBN,SAAtB,CAAA,CAAA;AAEA,EAAO,OAAA;AACLb,IAAAA,IAAI,EAAEY,YADD;AAELQ,IAAAA,QAAQ,EAAErB,QAAQ,CAACqB,QAFd;AAGLC,IAAAA,QAAQ,EAAEtB,QAAQ,CAACsB,QAAAA;AAHd,GAAP,CAAA;AAKD;;;;;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* table-core
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) TanStack
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
+
*
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
+
|
|
15
|
+
var utils = require('../utils.js');
|
|
16
|
+
|
|
17
|
+
function getFacetedMinMaxValues() {
|
|
18
|
+
return (instance, columnId) => utils.memo(() => [instance.getColumn(columnId).getFacetedRowModel()], facetedRowModel => {
|
|
19
|
+
var _facetedRowModel$flat, _facetedRowModel$flat2, _facetedRowModel$flat3, _facetedRowModel$flat4;
|
|
20
|
+
|
|
21
|
+
let facetedMinMaxValues = [(_facetedRowModel$flat = (_facetedRowModel$flat2 = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat2.getValue(columnId)) != null ? _facetedRowModel$flat : null, (_facetedRowModel$flat3 = (_facetedRowModel$flat4 = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat4.getValue(columnId)) != null ? _facetedRowModel$flat3 : null];
|
|
22
|
+
|
|
23
|
+
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
24
|
+
var _facetedRowModel$flat5;
|
|
25
|
+
|
|
26
|
+
const value = (_facetedRowModel$flat5 = facetedRowModel.flatRows[i]) == null ? void 0 : _facetedRowModel$flat5.getValue(columnId);
|
|
27
|
+
|
|
28
|
+
if (value < facetedMinMaxValues[0]) {
|
|
29
|
+
facetedMinMaxValues[0] = value;
|
|
30
|
+
} else if (value > facetedMinMaxValues[1]) {
|
|
31
|
+
facetedMinMaxValues[1] = value;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return facetedMinMaxValues;
|
|
36
|
+
}, {
|
|
37
|
+
key: process.env.NODE_ENV === 'development' && 'getFacetedMinMaxValues_' + columnId,
|
|
38
|
+
debug: () => {
|
|
39
|
+
var _instance$options$deb;
|
|
40
|
+
|
|
41
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
42
|
+
},
|
|
43
|
+
onChange: () => {}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
exports.getFacetedMinMaxValues = getFacetedMinMaxValues;
|
|
48
|
+
//# sourceMappingURL=getFacetedMinMaxValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFacetedMinMaxValues.js","sources":["../../../src/utils/getFacetedMinMaxValues.ts"],"sourcesContent":["import { TableInstance, TableGenerics } from '../types'\nimport { memo } from '../utils'\n\nexport function getFacetedMinMaxValues<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>,\n columnId: string\n) => () => [number, number] {\n return (instance, columnId) =>\n memo(\n () => [instance.getColumn(columnId).getFacetedRowModel()],\n facetedRowModel => {\n let facetedMinMaxValues: [any, any] = [\n facetedRowModel.flatRows[0]?.getValue(columnId) ?? null,\n facetedRowModel.flatRows[0]?.getValue(columnId) ?? null,\n ]\n\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const value = facetedRowModel.flatRows[i]?.getValue(columnId)\n\n if (value < facetedMinMaxValues[0]) {\n facetedMinMaxValues[0] = value\n } else if (value > facetedMinMaxValues[1]) {\n facetedMinMaxValues[1] = value\n }\n }\n\n return facetedMinMaxValues\n },\n {\n key:\n process.env.NODE_ENV === 'development' &&\n 'getFacetedMinMaxValues_' + columnId,\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedMinMaxValues","instance","columnId","memo","getColumn","getFacetedRowModel","facetedRowModel","facetedMinMaxValues","flatRows","getValue","i","length","value","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,sBAAT,GAGqB;AAC1B,EAAO,OAAA,CAACC,QAAD,EAAWC,QAAX,KACLC,UAAI,CACF,MAAM,CAACF,QAAQ,CAACG,SAAT,CAAmBF,QAAnB,CAA6BG,CAAAA,kBAA7B,EAAD,CADJ,EAEFC,eAAe,IAAI;AAAA,IAAA,IAAA,qBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,sBAAA,CAAA;;AACjB,IAAA,IAAIC,mBAA+B,GAAG,CACpCD,CAAAA,qBAAAA,GAAAA,CAAAA,sBAAAA,GAAAA,eAAe,CAACE,QAAhB,CAAyB,CAAzB,CADoC,KACpC,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAA6BC,QAA7B,CAAsCP,QAAtC,CADoC,KAAA,IAAA,GAAA,qBAAA,GACe,IADf,EAAA,CAAA,sBAAA,GAAA,CAAA,sBAAA,GAEpCI,eAAe,CAACE,QAAhB,CAAyB,CAAzB,CAFoC,KAAA,IAAA,GAAA,KAAA,CAAA,GAEpC,sBAA6BC,CAAAA,QAA7B,CAAsCP,QAAtC,CAFoC,KAAA,IAAA,GAAA,sBAAA,GAEe,IAFf,CAAtC,CAAA;;AAKA,IAAA,KAAK,IAAIQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,eAAe,CAACE,QAAhB,CAAyBG,MAA7C,EAAqDD,CAAC,EAAtD,EAA0D;AAAA,MAAA,IAAA,sBAAA,CAAA;;AACxD,MAAA,MAAME,KAAK,GAAA,CAAA,sBAAA,GAAGN,eAAe,CAACE,QAAhB,CAAyBE,CAAzB,CAAH,KAAG,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAA6BD,QAA7B,CAAsCP,QAAtC,CAAd,CAAA;;AAEA,MAAA,IAAIU,KAAK,GAAGL,mBAAmB,CAAC,CAAD,CAA/B,EAAoC;AAClCA,QAAAA,mBAAmB,CAAC,CAAD,CAAnB,GAAyBK,KAAzB,CAAA;AACD,OAFD,MAEO,IAAIA,KAAK,GAAGL,mBAAmB,CAAC,CAAD,CAA/B,EAAoC;AACzCA,QAAAA,mBAAmB,CAAC,CAAD,CAAnB,GAAyBK,KAAzB,CAAA;AACD,OAAA;AACF,KAAA;;AAED,IAAA,OAAOL,mBAAP,CAAA;AACD,GAnBC,EAoBF;AACEM,IAAAA,GAAG,EACDC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACA,yBAAA,GAA4Bd,QAHhC;AAIEe,IAAAA,KAAK,EAAE,MAAA;AAAA,MAAA,IAAA,qBAAA,CAAA;;AAAA,MAAMhB,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACiB,OAAT,CAAiBC,QAAvB,oCAAmClB,QAAQ,CAACiB,OAAT,CAAiBE,UAApD,CAAA;AAAA,KAJT;AAKEC,IAAAA,QAAQ,EAAE,MAAM,EAAE;AALpB,GApBE,CADN,CAAA;AA6BD;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* table-core
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) TanStack
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
+
*
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
+
|
|
15
|
+
var utils = require('../utils.js');
|
|
16
|
+
var filterRowsUtils = require('./filterRowsUtils.js');
|
|
17
|
+
|
|
18
|
+
function getFacetedRowModel() {
|
|
19
|
+
return (instance, columnId) => utils.memo(() => [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter, instance.getFilteredRowModel()], (preRowModel, columnFilters, globalFilter) => {
|
|
20
|
+
if (!preRowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
|
|
21
|
+
return preRowModel;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const filterableIds = [...columnFilters.map(d => d.id).filter(d => d !== columnId), globalFilter ? '__global__' : undefined].filter(Boolean);
|
|
25
|
+
|
|
26
|
+
const filterRowsImpl = row => {
|
|
27
|
+
// Horizontally filter rows through each column
|
|
28
|
+
for (let i = 0; i < filterableIds.length; i++) {
|
|
29
|
+
if (row.columnFilterMap[filterableIds[i]] === false) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return true;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
return filterRowsUtils.filterRows(preRowModel.rows, filterRowsImpl, instance);
|
|
38
|
+
}, {
|
|
39
|
+
key: process.env.NODE_ENV === 'development' && 'getFacetedRowModel_' + columnId,
|
|
40
|
+
debug: () => {
|
|
41
|
+
var _instance$options$deb;
|
|
42
|
+
|
|
43
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
44
|
+
},
|
|
45
|
+
onChange: () => {}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
exports.getFacetedRowModel = getFacetedRowModel;
|
|
50
|
+
//# sourceMappingURL=getFacetedRowModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFacetedRowModel.js","sources":["../../../src/utils/getFacetedRowModel.ts"],"sourcesContent":["import { TableInstance, RowModel, TableGenerics, Row } from '../types'\nimport { memo } from '../utils'\nimport { filterRows } from './filterRowsUtils'\n\nexport function getFacetedRowModel<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>,\n columnId: string\n) => () => RowModel<TGenerics> {\n return (instance, columnId) =>\n memo(\n () => [\n instance.getPreFilteredRowModel(),\n instance.getState().columnFilters,\n instance.getState().globalFilter,\n instance.getFilteredRowModel(),\n ],\n (preRowModel, columnFilters, globalFilter) => {\n if (\n !preRowModel.rows.length ||\n (!columnFilters?.length && !globalFilter)\n ) {\n return preRowModel\n }\n\n const filterableIds = [\n ...columnFilters.map(d => d.id).filter(d => d !== columnId),\n globalFilter ? '__global__' : undefined,\n ].filter(Boolean) as string[]\n\n const filterRowsImpl = (row: Row<TGenerics>) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilterMap[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, instance)\n },\n {\n key:\n process.env.NODE_ENV === 'development' &&\n 'getFacetedRowModel_' + columnId,\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedRowModel","instance","columnId","memo","getPreFilteredRowModel","getState","columnFilters","globalFilter","getFilteredRowModel","preRowModel","rows","length","filterableIds","map","d","id","filter","undefined","Boolean","filterRowsImpl","row","i","columnFilterMap","filterRows","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange"],"mappings":";;;;;;;;;;;;;;;;;AAIO,SAASA,kBAAT,GAGwB;AAC7B,EAAA,OAAO,CAACC,QAAD,EAAWC,QAAX,KACLC,UAAI,CACF,MAAM,CACJF,QAAQ,CAACG,sBAAT,EADI,EAEJH,QAAQ,CAACI,QAAT,EAAoBC,CAAAA,aAFhB,EAGJL,QAAQ,CAACI,QAAT,EAAA,CAAoBE,YAHhB,EAIJN,QAAQ,CAACO,mBAAT,EAJI,CADJ,EAOF,CAACC,WAAD,EAAcH,aAAd,EAA6BC,YAA7B,KAA8C;AAC5C,IAAA,IACE,CAACE,WAAW,CAACC,IAAZ,CAAiBC,MAAlB,IACC,EAACL,aAAD,IAAA,IAAA,IAACA,aAAa,CAAEK,MAAhB,CAA0B,IAAA,CAACJ,YAF9B,EAGE;AACA,MAAA,OAAOE,WAAP,CAAA;AACD,KAAA;;AAED,IAAA,MAAMG,aAAa,GAAG,CACpB,GAAGN,aAAa,CAACO,GAAd,CAAkBC,CAAC,IAAIA,CAAC,CAACC,EAAzB,EAA6BC,MAA7B,CAAoCF,CAAC,IAAIA,CAAC,KAAKZ,QAA/C,CADiB,EAEpBK,YAAY,GAAG,YAAH,GAAkBU,SAFV,CAAA,CAGpBD,MAHoB,CAGbE,OAHa,CAAtB,CAAA;;AAKA,IAAMC,MAAAA,cAAc,GAAIC,GAAD,IAAyB;AAC9C;AACA,MAAA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGT,aAAa,CAACD,MAAlC,EAA0CU,CAAC,EAA3C,EAA+C;AAC7C,QAAID,IAAAA,GAAG,CAACE,eAAJ,CAAoBV,aAAa,CAACS,CAAD,CAAjC,CAA2C,KAAA,KAA/C,EAAsD;AACpD,UAAA,OAAO,KAAP,CAAA;AACD,SAAA;AACF,OAAA;;AACD,MAAA,OAAO,IAAP,CAAA;AACD,KARD,CAAA;;AAUA,IAAOE,OAAAA,0BAAU,CAACd,WAAW,CAACC,IAAb,EAAmBS,cAAnB,EAAmClB,QAAnC,CAAjB,CAAA;AACD,GA/BC,EAgCF;AACEuB,IAAAA,GAAG,EACDC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACA,qBAAA,GAAwBzB,QAH5B;AAIE0B,IAAAA,KAAK,EAAE,MAAA;AAAA,MAAA,IAAA,qBAAA,CAAA;;AAAA,MAAM3B,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAAC4B,OAAT,CAAiBC,QAAvB,oCAAmC7B,QAAQ,CAAC4B,OAAT,CAAiBE,UAApD,CAAA;AAAA,KAJT;AAKEC,IAAAA,QAAQ,EAAE,MAAM,EAAE;AALpB,GAhCE,CADN,CAAA;AAyCD;;;;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* table-core
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) TanStack
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
+
*
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
+
|
|
15
|
+
var utils = require('../utils.js');
|
|
16
|
+
|
|
17
|
+
function getFacetedUniqueValues() {
|
|
18
|
+
return (instance, columnId) => utils.memo(() => [instance.getColumn(columnId).getFacetedRowModel()], facetedRowModel => {
|
|
19
|
+
let facetedUniqueValues = new Map();
|
|
20
|
+
|
|
21
|
+
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
22
|
+
var _facetedRowModel$flat;
|
|
23
|
+
|
|
24
|
+
const value = (_facetedRowModel$flat = facetedRowModel.flatRows[i]) == null ? void 0 : _facetedRowModel$flat.getValue(columnId);
|
|
25
|
+
|
|
26
|
+
if (facetedUniqueValues.has(value)) {
|
|
27
|
+
var _facetedUniqueValues$;
|
|
28
|
+
|
|
29
|
+
facetedUniqueValues.set(value, ((_facetedUniqueValues$ = facetedUniqueValues.get(value)) != null ? _facetedUniqueValues$ : 0) + 1);
|
|
30
|
+
} else {
|
|
31
|
+
facetedUniqueValues.set(value, 1);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return facetedUniqueValues;
|
|
36
|
+
}, {
|
|
37
|
+
key: process.env.NODE_ENV === 'development' && 'getFacetedUniqueValues_' + columnId,
|
|
38
|
+
debug: () => {
|
|
39
|
+
var _instance$options$deb;
|
|
40
|
+
|
|
41
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
42
|
+
},
|
|
43
|
+
onChange: () => {}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
exports.getFacetedUniqueValues = getFacetedUniqueValues;
|
|
48
|
+
//# sourceMappingURL=getFacetedUniqueValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFacetedUniqueValues.js","sources":["../../../src/utils/getFacetedUniqueValues.ts"],"sourcesContent":["import { TableInstance, TableGenerics } from '../types'\nimport { memo } from '../utils'\n\nexport function getFacetedUniqueValues<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>,\n columnId: string\n) => () => Map<any, number> {\n return (instance, columnId) =>\n memo(\n () => [instance.getColumn(columnId).getFacetedRowModel()],\n facetedRowModel => {\n let facetedUniqueValues = new Map<any, number>()\n\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const value = facetedRowModel.flatRows[i]?.getValue(columnId)\n\n if (facetedUniqueValues.has(value)) {\n facetedUniqueValues.set(\n value,\n (facetedUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n facetedUniqueValues.set(value, 1)\n }\n }\n\n return facetedUniqueValues\n },\n {\n key:\n process.env.NODE_ENV === 'development' &&\n 'getFacetedUniqueValues_' + columnId,\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedUniqueValues","instance","columnId","memo","getColumn","getFacetedRowModel","facetedRowModel","facetedUniqueValues","Map","i","flatRows","length","value","getValue","has","set","get","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,sBAAT,GAGqB;AAC1B,EAAO,OAAA,CAACC,QAAD,EAAWC,QAAX,KACLC,UAAI,CACF,MAAM,CAACF,QAAQ,CAACG,SAAT,CAAmBF,QAAnB,CAA6BG,CAAAA,kBAA7B,EAAD,CADJ,EAEFC,eAAe,IAAI;AACjB,IAAA,IAAIC,mBAAmB,GAAG,IAAIC,GAAJ,EAA1B,CAAA;;AAEA,IAAA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,eAAe,CAACI,QAAhB,CAAyBC,MAA7C,EAAqDF,CAAC,EAAtD,EAA0D;AAAA,MAAA,IAAA,qBAAA,CAAA;;AACxD,MAAA,MAAMG,KAAK,GAAA,CAAA,qBAAA,GAAGN,eAAe,CAACI,QAAhB,CAAyBD,CAAzB,CAAH,KAAG,IAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAA6BI,QAA7B,CAAsCX,QAAtC,CAAd,CAAA;;AAEA,MAAA,IAAIK,mBAAmB,CAACO,GAApB,CAAwBF,KAAxB,CAAJ,EAAoC;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAClCL,QAAAA,mBAAmB,CAACQ,GAApB,CACEH,KADF,EAEE,CAACL,CAAAA,qBAAAA,GAAAA,mBAAmB,CAACS,GAApB,CAAwBJ,KAAxB,CAAD,KAAmC,IAAA,GAAA,qBAAA,GAAA,CAAnC,IAAwC,CAF1C,CAAA,CAAA;AAID,OALD,MAKO;AACLL,QAAAA,mBAAmB,CAACQ,GAApB,CAAwBH,KAAxB,EAA+B,CAA/B,CAAA,CAAA;AACD,OAAA;AACF,KAAA;;AAED,IAAA,OAAOL,mBAAP,CAAA;AACD,GAnBC,EAoBF;AACEU,IAAAA,GAAG,EACDC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACA,yBAAA,GAA4BlB,QAHhC;AAIEmB,IAAAA,KAAK,EAAE,MAAA;AAAA,MAAA,IAAA,qBAAA,CAAA;;AAAA,MAAMpB,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACqB,OAAT,CAAiBC,QAAvB,oCAAmCtB,QAAQ,CAACqB,OAAT,CAAiBE,UAApD,CAAA;AAAA,KAJT;AAKEC,IAAAA,QAAQ,EAAE,MAAM,EAAE;AALpB,GApBE,CADN,CAAA;AA6BD;;;;"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* table-core
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) TanStack
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
+
*
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
+
|
|
15
|
+
var utils = require('../utils.js');
|
|
16
|
+
var filterRowsUtils = require('./filterRowsUtils.js');
|
|
17
|
+
|
|
18
|
+
function getFilteredRowModel() {
|
|
19
|
+
return instance => utils.memo(() => [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter], (rowModel, columnFilters, globalFilter) => {
|
|
20
|
+
if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
|
|
21
|
+
return rowModel;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const resolvedColumnFilters = [];
|
|
25
|
+
const resolvedGlobalFilters = [];
|
|
26
|
+
(columnFilters != null ? columnFilters : []).forEach(d => {
|
|
27
|
+
var _filterFn$resolveFilt;
|
|
28
|
+
|
|
29
|
+
const column = instance.getColumn(d.id);
|
|
30
|
+
|
|
31
|
+
if (!column) {
|
|
32
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
33
|
+
console.warn("Table: Could not find a column to filter with columnId: " + d.id);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const filterFn = column.getFilterFn();
|
|
38
|
+
|
|
39
|
+
if (!filterFn) {
|
|
40
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
41
|
+
console.warn("Could not find a valid 'column.filterFn' for column with the ID: " + column.id + ".");
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
resolvedColumnFilters.push({
|
|
48
|
+
id: d.id,
|
|
49
|
+
filterFn,
|
|
50
|
+
resolvedValue: (_filterFn$resolveFilt = filterFn.resolveFilterValue == null ? void 0 : filterFn.resolveFilterValue(d.value)) != null ? _filterFn$resolveFilt : d.value
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
const filterableIds = columnFilters.map(d => d.id);
|
|
54
|
+
const globalFilterFn = instance.getGlobalFilterFn();
|
|
55
|
+
const globallyFilterableColumns = instance.getAllLeafColumns().filter(column => column.getCanGlobalFilter());
|
|
56
|
+
|
|
57
|
+
if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
|
|
58
|
+
filterableIds.push('__global__');
|
|
59
|
+
globallyFilterableColumns.forEach(column => {
|
|
60
|
+
var _globalFilterFn$resol;
|
|
61
|
+
|
|
62
|
+
resolvedGlobalFilters.push({
|
|
63
|
+
id: column.id,
|
|
64
|
+
filterFn: globalFilterFn,
|
|
65
|
+
resolvedValue: (_globalFilterFn$resol = globalFilterFn.resolveFilterValue == null ? void 0 : globalFilterFn.resolveFilterValue(globalFilter)) != null ? _globalFilterFn$resol : globalFilter
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
let currentColumnFilter;
|
|
71
|
+
let currentGlobalFilter; // Flag the prefiltered row model with each filter state
|
|
72
|
+
|
|
73
|
+
for (let j = 0; j < rowModel.flatRows.length; j++) {
|
|
74
|
+
const row = rowModel.flatRows[j];
|
|
75
|
+
row.columnFilterMap = {};
|
|
76
|
+
|
|
77
|
+
if (resolvedColumnFilters.length) {
|
|
78
|
+
for (let i = 0; i < resolvedColumnFilters.length; i++) {
|
|
79
|
+
currentColumnFilter = resolvedColumnFilters[i]; // Tag the row with the column filter state
|
|
80
|
+
|
|
81
|
+
row.columnFilterMap[currentColumnFilter.id] = currentColumnFilter.filterFn(row, currentColumnFilter.id, currentColumnFilter.resolvedValue);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (resolvedGlobalFilters.length) {
|
|
86
|
+
for (let i = 0; i < resolvedGlobalFilters.length; i++) {
|
|
87
|
+
currentGlobalFilter = resolvedGlobalFilters[i]; // Tag the row with the first truthy global filter state
|
|
88
|
+
|
|
89
|
+
if (currentGlobalFilter.filterFn(row, currentGlobalFilter.id, currentGlobalFilter.resolvedValue)) {
|
|
90
|
+
row.columnFilterMap.__global__ = true;
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (row.columnFilterMap.__global__ !== true) {
|
|
96
|
+
row.columnFilterMap.__global__ = false;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const filterRowsImpl = row => {
|
|
102
|
+
// Horizontally filter rows through each column
|
|
103
|
+
for (let i = 0; i < filterableIds.length; i++) {
|
|
104
|
+
if (row.columnFilterMap[filterableIds[i]] === false) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return true;
|
|
110
|
+
}; // Filter final rows using all of the active filters
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
return filterRowsUtils.filterRows(rowModel.rows, filterRowsImpl, instance);
|
|
114
|
+
}, {
|
|
115
|
+
key: process.env.NODE_ENV === 'development' && 'getFilteredRowModel',
|
|
116
|
+
debug: () => {
|
|
117
|
+
var _instance$options$deb;
|
|
118
|
+
|
|
119
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
120
|
+
},
|
|
121
|
+
onChange: () => {
|
|
122
|
+
instance.queue(() => {
|
|
123
|
+
instance._autoResetPageIndex();
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
exports.getFilteredRowModel = getFilteredRowModel;
|
|
130
|
+
//# sourceMappingURL=getFilteredRowModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFilteredRowModel.js","sources":["../../../src/utils/getFilteredRowModel.ts"],"sourcesContent":["import { ResolvedColumnFilter } from '../features/Filters'\nimport { TableInstance, RowModel, TableGenerics, Row } from '../types'\nimport { memo } from '../utils'\nimport { filterRows } from './filterRowsUtils'\n\nexport function getFilteredRowModel<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getPreFilteredRowModel(),\n instance.getState().columnFilters,\n instance.getState().globalFilter,\n ],\n (rowModel, columnFilters, globalFilter) => {\n if (\n !rowModel.rows.length ||\n (!columnFilters?.length && !globalFilter)\n ) {\n return rowModel\n }\n\n const resolvedColumnFilters: ResolvedColumnFilter<TGenerics>[] = []\n const resolvedGlobalFilters: ResolvedColumnFilter<TGenerics>[] = []\n\n ;(columnFilters ?? []).forEach(d => {\n const column = instance.getColumn(d.id)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Table: Could not find a column to filter with columnId: ${d.id}`\n )\n }\n }\n\n const filterFn = column.getFilterFn()\n\n if (!filterFn) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`\n )\n }\n return\n }\n\n resolvedColumnFilters.push({\n id: d.id,\n filterFn,\n resolvedValue: filterFn.resolveFilterValue?.(d.value) ?? d.value,\n })\n })\n\n const filterableIds = columnFilters.map(d => d.id)\n\n const globalFilterFn = instance.getGlobalFilterFn()\n\n const globallyFilterableColumns = instance\n .getAllLeafColumns()\n .filter(column => column.getCanGlobalFilter())\n\n if (\n globalFilter &&\n globalFilterFn &&\n globallyFilterableColumns.length\n ) {\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) ??\n globalFilter,\n })\n })\n }\n\n let currentColumnFilter\n let currentGlobalFilter\n\n // Flag the prefiltered row model with each filter state\n for (let j = 0; j < rowModel.flatRows.length; j++) {\n const row = rowModel.flatRows[j]!\n\n row.columnFilterMap = {}\n\n if (resolvedColumnFilters.length) {\n for (let i = 0; i < resolvedColumnFilters.length; i++) {\n currentColumnFilter = resolvedColumnFilters[i]!\n\n // Tag the row with the column filter state\n row.columnFilterMap[currentColumnFilter.id] =\n currentColumnFilter.filterFn(\n row,\n currentColumnFilter.id,\n currentColumnFilter.resolvedValue\n )\n }\n }\n\n if (resolvedGlobalFilters.length) {\n for (let i = 0; i < resolvedGlobalFilters.length; i++) {\n currentGlobalFilter = resolvedGlobalFilters[i]!\n // Tag the row with the first truthy global filter state\n if (\n currentGlobalFilter.filterFn(\n row,\n currentGlobalFilter.id,\n currentGlobalFilter.resolvedValue\n )\n ) {\n row.columnFilterMap.__global__ = true\n break\n }\n }\n\n if (row.columnFilterMap.__global__ !== true) {\n row.columnFilterMap.__global__ = false\n }\n }\n }\n\n const filterRowsImpl = (row: Row<TGenerics>) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilterMap[filterableIds[i]!] === 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, instance)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFilteredRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n"],"names":["getFilteredRowModel","instance","memo","getPreFilteredRowModel","getState","columnFilters","globalFilter","rowModel","rows","length","resolvedColumnFilters","resolvedGlobalFilters","forEach","d","column","getColumn","id","process","env","NODE_ENV","console","warn","filterFn","getFilterFn","push","resolvedValue","resolveFilterValue","value","filterableIds","map","globalFilterFn","getGlobalFilterFn","globallyFilterableColumns","getAllLeafColumns","filter","getCanGlobalFilter","currentColumnFilter","currentGlobalFilter","j","flatRows","row","columnFilterMap","i","__global__","filterRowsImpl","filterRows","key","debug","options","debugAll","debugTable","onChange","queue","_autoResetPageIndex"],"mappings":"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"}
|