@tanstack/table-core 8.5.15 → 8.5.16
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 +0 -15
- package/build/cjs/aggregationFns.js.map +1 -1
- package/build/cjs/columnHelper.js +10 -2
- package/build/cjs/columnHelper.js.map +1 -1
- package/build/cjs/core/cell.js +0 -3
- package/build/cjs/core/cell.js.map +1 -1
- package/build/cjs/core/column.js +4 -12
- package/build/cjs/core/column.js.map +1 -1
- package/build/cjs/core/headers.js +18 -30
- package/build/cjs/core/headers.js.map +1 -1
- package/build/cjs/core/row.js +0 -5
- package/build/cjs/core/row.js.map +1 -1
- package/build/cjs/core/table.js +13 -30
- package/build/cjs/core/table.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +33 -32
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +9 -19
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +6 -34
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +1 -16
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Ordering.js +13 -10
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +11 -22
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +5 -11
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +35 -39
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +14 -29
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +5 -5
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js +3 -28
- package/build/cjs/filterFns.js.map +1 -1
- package/build/cjs/sortingFns.js +24 -31
- package/build/cjs/sortingFns.js.map +1 -1
- package/build/cjs/utils/filterRowsUtils.js +7 -19
- package/build/cjs/utils/filterRowsUtils.js.map +1 -1
- package/build/cjs/utils/getCoreRowModel.js +11 -13
- package/build/cjs/utils/getCoreRowModel.js.map +1 -1
- package/build/cjs/utils/getExpandedRowModel.js +0 -6
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedMinMaxValues.js +0 -6
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
- package/build/cjs/utils/getFacetedRowModel.js +0 -4
- package/build/cjs/utils/getFacetedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedUniqueValues.js +0 -4
- package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -1
- package/build/cjs/utils/getFilteredRowModel.js +8 -20
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
- package/build/cjs/utils/getGroupedRowModel.js +21 -25
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getPaginationRowModel.js +0 -6
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModel.js +6 -15
- package/build/cjs/utils/getSortedRowModel.js.map +1 -1
- package/build/cjs/utils.js +7 -13
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +264 -504
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +51 -41
- package/build/stats-react.json +369 -369
- package/build/umd/index.development.js +264 -502
- 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/features/ColumnSizing.ts +11 -1
|
@@ -18,44 +18,35 @@ function filterRows(rows, filterRowImpl, table) {
|
|
|
18
18
|
if (table.options.filterFromLeafRows) {
|
|
19
19
|
return filterRowModelFromLeafs(rows, filterRowImpl, table);
|
|
20
20
|
}
|
|
21
|
-
|
|
22
21
|
return filterRowModelFromRoot(rows, filterRowImpl, table);
|
|
23
22
|
}
|
|
24
23
|
function filterRowModelFromLeafs(rowsToFilter, filterRow, table) {
|
|
25
24
|
const newFilteredFlatRows = [];
|
|
26
25
|
const newFilteredRowsById = {};
|
|
27
|
-
|
|
28
26
|
const recurseFilterRows = function (rowsToFilter, depth) {
|
|
27
|
+
const rows = [];
|
|
29
28
|
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
// Filter from children up first
|
|
32
30
|
for (let i = 0; i < rowsToFilter.length; i++) {
|
|
33
31
|
var _row$subRows;
|
|
34
|
-
|
|
35
32
|
let row$1 = rowsToFilter[i];
|
|
36
|
-
|
|
37
33
|
if ((_row$subRows = row$1.subRows) != null && _row$subRows.length) {
|
|
38
34
|
const newRow = row.createRow(table, row$1.id, row$1.original, row$1.index, row$1.depth);
|
|
39
35
|
newRow.columnFilters = row$1.columnFilters;
|
|
40
36
|
newRow.subRows = recurseFilterRows(row$1.subRows);
|
|
41
|
-
|
|
42
37
|
if (!newRow.subRows.length) {
|
|
43
38
|
continue;
|
|
44
39
|
}
|
|
45
|
-
|
|
46
40
|
row$1 = newRow;
|
|
47
41
|
}
|
|
48
|
-
|
|
49
42
|
if (filterRow(row$1)) {
|
|
50
43
|
rows.push(row$1);
|
|
51
44
|
newFilteredRowsById[row$1.id] = row$1;
|
|
52
45
|
newFilteredRowsById[i] = row$1;
|
|
53
46
|
}
|
|
54
47
|
}
|
|
55
|
-
|
|
56
48
|
return rows;
|
|
57
49
|
};
|
|
58
|
-
|
|
59
50
|
return {
|
|
60
51
|
rows: recurseFilterRows(rowsToFilter),
|
|
61
52
|
flatRows: newFilteredFlatRows,
|
|
@@ -64,35 +55,32 @@ function filterRowModelFromLeafs(rowsToFilter, filterRow, table) {
|
|
|
64
55
|
}
|
|
65
56
|
function filterRowModelFromRoot(rowsToFilter, filterRow, table) {
|
|
66
57
|
const newFilteredFlatRows = [];
|
|
67
|
-
const newFilteredRowsById = {};
|
|
58
|
+
const newFilteredRowsById = {};
|
|
68
59
|
|
|
60
|
+
// Filters top level and nested rows
|
|
69
61
|
const recurseFilterRows = function (rowsToFilter, depth) {
|
|
70
|
-
|
|
71
62
|
// Filter from parents downward first
|
|
72
|
-
const rows = []; // Apply the filter to any subRows
|
|
73
63
|
|
|
64
|
+
const rows = [];
|
|
65
|
+
|
|
66
|
+
// Apply the filter to any subRows
|
|
74
67
|
for (let i = 0; i < rowsToFilter.length; i++) {
|
|
75
68
|
let row$1 = rowsToFilter[i];
|
|
76
69
|
const pass = filterRow(row$1);
|
|
77
|
-
|
|
78
70
|
if (pass) {
|
|
79
71
|
var _row$subRows2;
|
|
80
|
-
|
|
81
72
|
if ((_row$subRows2 = row$1.subRows) != null && _row$subRows2.length) {
|
|
82
73
|
const newRow = row.createRow(table, row$1.id, row$1.original, row$1.index, row$1.depth);
|
|
83
74
|
newRow.subRows = recurseFilterRows(row$1.subRows);
|
|
84
75
|
row$1 = newRow;
|
|
85
76
|
}
|
|
86
|
-
|
|
87
77
|
rows.push(row$1);
|
|
88
78
|
newFilteredFlatRows.push(row$1);
|
|
89
79
|
newFilteredRowsById[row$1.id] = row$1;
|
|
90
80
|
}
|
|
91
81
|
}
|
|
92
|
-
|
|
93
82
|
return rows;
|
|
94
83
|
};
|
|
95
|
-
|
|
96
84
|
return {
|
|
97
85
|
rows: recurseFilterRows(rowsToFilter),
|
|
98
86
|
flatRows: newFilteredFlatRows,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterRowsUtils.js","sources":["../../../src/utils/filterRowsUtils.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Row, RowModel, Table, RowData } from '../types'\n\nexport function filterRows<TData extends RowData>(\n rows: Row<TData>[],\n filterRowImpl: (row: Row<TData>) => any,\n table: Table<TData>\n) {\n if (table.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, table)\n }\n\n return filterRowModelFromRoot(rows, filterRowImpl, table)\n}\n\nexport function filterRowModelFromLeafs<TData extends RowData>(\n rowsToFilter: Row<TData>[],\n filterRow: (row: Row<TData>) => Row<TData>[],\n table: Table<TData>\n): RowModel<TData> {\n const newFilteredFlatRows: Row<TData>[] = []\n const newFilteredRowsById: Record<string, Row<TData>> = {}\n\n const recurseFilterRows = (rowsToFilter: Row<TData>[], depth = 0) => {\n const rows: Row<TData>[] = []\n\n // Filter from children up first\n for (let i = 0; i < rowsToFilter.length; i++) {\n let row = rowsToFilter[i]!\n\n if (row.subRows?.length) {\n const newRow = createRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth\n )\n newRow.columnFilters = row.columnFilters\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<TData extends RowData>(\n rowsToFilter: Row<TData>[],\n filterRow: (row: Row<TData>) => any,\n table: Table<TData>\n): RowModel<TData> {\n const newFilteredFlatRows: Row<TData>[] = []\n const newFilteredRowsById: Record<string, Row<TData>> = {}\n\n // Filters top level and nested rows\n const recurseFilterRows = (rowsToFilter: Row<TData>[], depth = 0) => {\n // Filter from parents downward first\n\n const rows = []\n\n // Apply the filter to any subRows\n for (let i = 0; i < rowsToFilter.length; i++) {\n let row = rowsToFilter[i]!\n\n const pass = filterRow(row)\n\n if (pass) {\n if (row.subRows?.length) {\n const newRow = createRow(\n table,\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","table","options","filterFromLeafRows","filterRowModelFromLeafs","filterRowModelFromRoot","rowsToFilter","filterRow","newFilteredFlatRows","newFilteredRowsById","recurseFilterRows","depth","i","length","row","subRows","newRow","createRow","id","original","index","columnFilters","push","flatRows","rowsById","pass"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,
|
|
1
|
+
{"version":3,"file":"filterRowsUtils.js","sources":["../../../src/utils/filterRowsUtils.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Row, RowModel, Table, RowData } from '../types'\n\nexport function filterRows<TData extends RowData>(\n rows: Row<TData>[],\n filterRowImpl: (row: Row<TData>) => any,\n table: Table<TData>\n) {\n if (table.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, table)\n }\n\n return filterRowModelFromRoot(rows, filterRowImpl, table)\n}\n\nexport function filterRowModelFromLeafs<TData extends RowData>(\n rowsToFilter: Row<TData>[],\n filterRow: (row: Row<TData>) => Row<TData>[],\n table: Table<TData>\n): RowModel<TData> {\n const newFilteredFlatRows: Row<TData>[] = []\n const newFilteredRowsById: Record<string, Row<TData>> = {}\n\n const recurseFilterRows = (rowsToFilter: Row<TData>[], depth = 0) => {\n const rows: Row<TData>[] = []\n\n // Filter from children up first\n for (let i = 0; i < rowsToFilter.length; i++) {\n let row = rowsToFilter[i]!\n\n if (row.subRows?.length) {\n const newRow = createRow(\n table,\n row.id,\n row.original,\n row.index,\n row.depth\n )\n newRow.columnFilters = row.columnFilters\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<TData extends RowData>(\n rowsToFilter: Row<TData>[],\n filterRow: (row: Row<TData>) => any,\n table: Table<TData>\n): RowModel<TData> {\n const newFilteredFlatRows: Row<TData>[] = []\n const newFilteredRowsById: Record<string, Row<TData>> = {}\n\n // Filters top level and nested rows\n const recurseFilterRows = (rowsToFilter: Row<TData>[], depth = 0) => {\n // Filter from parents downward first\n\n const rows = []\n\n // Apply the filter to any subRows\n for (let i = 0; i < rowsToFilter.length; i++) {\n let row = rowsToFilter[i]!\n\n const pass = filterRow(row)\n\n if (pass) {\n if (row.subRows?.length) {\n const newRow = createRow(\n table,\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","table","options","filterFromLeafRows","filterRowModelFromLeafs","filterRowModelFromRoot","rowsToFilter","filterRow","newFilteredFlatRows","newFilteredRowsById","recurseFilterRows","depth","i","length","row","subRows","newRow","createRow","id","original","index","columnFilters","push","flatRows","rowsById","pass"],"mappings":"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"}
|
|
@@ -22,14 +22,11 @@ function getCoreRowModel() {
|
|
|
22
22
|
flatRows: [],
|
|
23
23
|
rowsById: {}
|
|
24
24
|
};
|
|
25
|
-
|
|
26
25
|
const accessRows = function (originalRows, depth, parent) {
|
|
27
26
|
if (depth === void 0) {
|
|
28
27
|
depth = 0;
|
|
29
28
|
}
|
|
30
|
-
|
|
31
29
|
const rows = [];
|
|
32
|
-
|
|
33
30
|
for (let i = 0; i < originalRows.length; i++) {
|
|
34
31
|
// This could be an expensive check at scale, so we should move it somewhere else, but where?
|
|
35
32
|
// if (!id) {
|
|
@@ -37,29 +34,30 @@ function getCoreRowModel() {
|
|
|
37
34
|
// throw new Error(`getRowId expected an ID, but got ${id}`)
|
|
38
35
|
// }
|
|
39
36
|
// }
|
|
40
|
-
// Make the row
|
|
41
|
-
const row$1 = row.createRow(table, table._getRowId(originalRows[i], i, parent), originalRows[i], i, depth); // Keep track of every row in a flat array
|
|
42
|
-
|
|
43
|
-
rowModel.flatRows.push(row$1); // Also keep track of every row by its ID
|
|
44
37
|
|
|
45
|
-
|
|
38
|
+
// Make the row
|
|
39
|
+
const row$1 = row.createRow(table, table._getRowId(originalRows[i], i, parent), originalRows[i], i, depth);
|
|
46
40
|
|
|
47
|
-
|
|
41
|
+
// Keep track of every row in a flat array
|
|
42
|
+
rowModel.flatRows.push(row$1);
|
|
43
|
+
// Also keep track of every row by its ID
|
|
44
|
+
rowModel.rowsById[row$1.id] = row$1;
|
|
45
|
+
// Push table row into parent
|
|
46
|
+
rows.push(row$1);
|
|
48
47
|
|
|
48
|
+
// Get the original subrows
|
|
49
49
|
if (table.options.getSubRows) {
|
|
50
50
|
var _row$originalSubRows;
|
|
51
|
+
row$1.originalSubRows = table.options.getSubRows(originalRows[i], i);
|
|
51
52
|
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
// Then recursively access them
|
|
54
54
|
if ((_row$originalSubRows = row$1.originalSubRows) != null && _row$originalSubRows.length) {
|
|
55
55
|
row$1.subRows = accessRows(row$1.originalSubRows, depth + 1, row$1);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
|
|
60
59
|
return rows;
|
|
61
60
|
};
|
|
62
|
-
|
|
63
61
|
rowModel.rows = accessRows(data);
|
|
64
62
|
return rowModel;
|
|
65
63
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCoreRowModel.js","sources":["../../../src/utils/getCoreRowModel.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Table, Row, RowModel, RowData } from '../types'\nimport { memo } from '../utils'\n\nexport function getCoreRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.options.data],\n (\n data\n ): {\n rows: Row<TData>[]\n flatRows: Row<TData>[]\n rowsById: Record<string, Row<TData>>\n } => {\n const rowModel: RowModel<TData> = {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n\n const accessRows = (\n originalRows: TData[],\n depth = 0,\n parent?: Row<TData>\n ): Row<TData>[] => {\n const rows = [] as Row<TData>[]\n\n for (let i = 0; i < originalRows.length; i++) {\n // This could be an expensive check at scale, so we should move it somewhere else, but where?\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 // Make the row\n const row = createRow(\n table,\n table._getRowId(originalRows[i]!, i, parent),\n originalRows[i]!,\n i,\n depth\n )\n\n // Keep track of every row in a flat array\n rowModel.flatRows.push(row)\n // Also keep track of every row by its ID\n rowModel.rowsById[row.id] = row\n // Push table row into parent\n rows.push(row)\n\n // Get the original subrows\n if (table.options.getSubRows) {\n row.originalSubRows = table.options.getSubRows(\n originalRows[i]!,\n i\n )\n\n // Then recursively access them\n if (row.originalSubRows?.length) {\n row.subRows = accessRows(row.originalSubRows, depth + 1, row)\n }\n }\n }\n\n return rows\n }\n\n rowModel.rows = accessRows(data)\n\n return rowModel\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {\n table._autoResetPageIndex()\n },\n }\n )\n}\n"],"names":["getCoreRowModel","table","memo","options","data","rowModel","rows","flatRows","rowsById","accessRows","originalRows","depth","parent","i","length","row","createRow","_getRowId","push","id","getSubRows","originalSubRows","subRows","key","process","env","NODE_ENV","debug","debugAll","debugTable","onChange","_autoResetPageIndex"],"mappings":";;;;;;;;;;;;;;;;;AAIO,SAASA,
|
|
1
|
+
{"version":3,"file":"getCoreRowModel.js","sources":["../../../src/utils/getCoreRowModel.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Table, Row, RowModel, RowData } from '../types'\nimport { memo } from '../utils'\n\nexport function getCoreRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.options.data],\n (\n data\n ): {\n rows: Row<TData>[]\n flatRows: Row<TData>[]\n rowsById: Record<string, Row<TData>>\n } => {\n const rowModel: RowModel<TData> = {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n\n const accessRows = (\n originalRows: TData[],\n depth = 0,\n parent?: Row<TData>\n ): Row<TData>[] => {\n const rows = [] as Row<TData>[]\n\n for (let i = 0; i < originalRows.length; i++) {\n // This could be an expensive check at scale, so we should move it somewhere else, but where?\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 // Make the row\n const row = createRow(\n table,\n table._getRowId(originalRows[i]!, i, parent),\n originalRows[i]!,\n i,\n depth\n )\n\n // Keep track of every row in a flat array\n rowModel.flatRows.push(row)\n // Also keep track of every row by its ID\n rowModel.rowsById[row.id] = row\n // Push table row into parent\n rows.push(row)\n\n // Get the original subrows\n if (table.options.getSubRows) {\n row.originalSubRows = table.options.getSubRows(\n originalRows[i]!,\n i\n )\n\n // Then recursively access them\n if (row.originalSubRows?.length) {\n row.subRows = accessRows(row.originalSubRows, depth + 1, row)\n }\n }\n }\n\n return rows\n }\n\n rowModel.rows = accessRows(data)\n\n return rowModel\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {\n table._autoResetPageIndex()\n },\n }\n )\n}\n"],"names":["getCoreRowModel","table","memo","options","data","rowModel","rows","flatRows","rowsById","accessRows","originalRows","depth","parent","i","length","row","createRow","_getRowId","push","id","getSubRows","originalSubRows","subRows","key","process","env","NODE_ENV","debug","debugAll","debugTable","onChange","_autoResetPageIndex"],"mappings":";;;;;;;;;;;;;;;;;AAIO,SAASA,eAAe,GAEJ;AACzB,EAAA,OAAOC,KAAK,IACVC,UAAI,CACF,MAAM,CAACD,KAAK,CAACE,OAAO,CAACC,IAAI,CAAC,EAExBA,IAAI,IAKD;AACH,IAAA,MAAMC,QAAyB,GAAG;AAChCC,MAAAA,IAAI,EAAE,EAAE;AACRC,MAAAA,QAAQ,EAAE,EAAE;AACZC,MAAAA,QAAQ,EAAE,EAAC;KACZ,CAAA;IAED,MAAMC,UAAU,GAAG,UACjBC,YAAqB,EACrBC,KAAK,EACLC,MAAmB,EACF;AAAA,MAAA,IAFjBD,KAAK,KAAA,KAAA,CAAA,EAAA;AAALA,QAAAA,KAAK,GAAG,CAAC,CAAA;AAAA,OAAA;MAGT,MAAML,IAAI,GAAG,EAAkB,CAAA;AAE/B,MAAA,KAAK,IAAIO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,YAAY,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAA,MAAME,KAAG,GAAGC,aAAS,CACnBf,KAAK,EACLA,KAAK,CAACgB,SAAS,CAACP,YAAY,CAACG,CAAC,CAAC,EAAGA,CAAC,EAAED,MAAM,CAAC,EAC5CF,YAAY,CAACG,CAAC,CAAC,EACfA,CAAC,EACDF,KAAK,CACN,CAAA;;AAED;AACAN,QAAAA,QAAQ,CAACE,QAAQ,CAACW,IAAI,CAACH,KAAG,CAAC,CAAA;AAC3B;QACAV,QAAQ,CAACG,QAAQ,CAACO,KAAG,CAACI,EAAE,CAAC,GAAGJ,KAAG,CAAA;AAC/B;AACAT,QAAAA,IAAI,CAACY,IAAI,CAACH,KAAG,CAAC,CAAA;;AAEd;AACA,QAAA,IAAId,KAAK,CAACE,OAAO,CAACiB,UAAU,EAAE;AAAA,UAAA,IAAA,oBAAA,CAAA;AAC5BL,UAAAA,KAAG,CAACM,eAAe,GAAGpB,KAAK,CAACE,OAAO,CAACiB,UAAU,CAC5CV,YAAY,CAACG,CAAC,CAAC,EACfA,CAAC,CACF,CAAA;;AAED;AACA,UAAA,IAAA,CAAA,oBAAA,GAAIE,KAAG,CAACM,eAAe,KAAnB,IAAA,IAAA,oBAAA,CAAqBP,MAAM,EAAE;AAC/BC,YAAAA,KAAG,CAACO,OAAO,GAAGb,UAAU,CAACM,KAAG,CAACM,eAAe,EAAEV,KAAK,GAAG,CAAC,EAAEI,KAAG,CAAC,CAAA;AAC/D,WAAA;AACF,SAAA;AACF,OAAA;AAEA,MAAA,OAAOT,IAAI,CAAA;KACZ,CAAA;AAEDD,IAAAA,QAAQ,CAACC,IAAI,GAAGG,UAAU,CAACL,IAAI,CAAC,CAAA;AAEhC,IAAA,OAAOC,QAAQ,CAAA;AACjB,GAAC,EACD;IACEkB,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,aAAa;AAC5DC,IAAAA,KAAK,EAAE,MAAM1B,KAAK,CAACE,OAAO,CAACyB,QAAQ,IAAI3B,KAAK,CAACE,OAAO,CAAC0B,UAAU;AAC/DC,IAAAA,QAAQ,EAAE,MAAM;MACd7B,KAAK,CAAC8B,mBAAmB,EAAE,CAAA;AAC7B,KAAA;AACF,GAAC,CACF,CAAA;AACL;;;;"}
|
|
@@ -19,12 +19,10 @@ function getExpandedRowModel() {
|
|
|
19
19
|
if (!rowModel.rows.length || expanded !== true && !Object.keys(expanded ?? {}).length) {
|
|
20
20
|
return rowModel;
|
|
21
21
|
}
|
|
22
|
-
|
|
23
22
|
if (!paginateExpandedRows) {
|
|
24
23
|
// Only expand rows at this point if they are being paginated
|
|
25
24
|
return rowModel;
|
|
26
25
|
}
|
|
27
|
-
|
|
28
26
|
return expandRows(rowModel);
|
|
29
27
|
}, {
|
|
30
28
|
key: process.env.NODE_ENV === 'development' && 'getExpandedRowModel',
|
|
@@ -33,17 +31,13 @@ function getExpandedRowModel() {
|
|
|
33
31
|
}
|
|
34
32
|
function expandRows(rowModel) {
|
|
35
33
|
const expandedRows = [];
|
|
36
|
-
|
|
37
34
|
const handleRow = row => {
|
|
38
35
|
var _row$subRows;
|
|
39
|
-
|
|
40
36
|
expandedRows.push(row);
|
|
41
|
-
|
|
42
37
|
if ((_row$subRows = row.subRows) != null && _row$subRows.length && row.getIsExpanded()) {
|
|
43
38
|
row.subRows.forEach(handleRow);
|
|
44
39
|
}
|
|
45
40
|
};
|
|
46
|
-
|
|
47
41
|
rowModel.rows.forEach(handleRow);
|
|
48
42
|
return {
|
|
49
43
|
rows: expandedRows,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExpandedRowModel.js","sources":["../../../src/utils/getExpandedRowModel.ts"],"sourcesContent":["import { Table, Row, RowModel, RowData } from '../types'\nimport { memo } from '../utils'\n\nexport function getExpandedRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [\n table.getState().expanded,\n table.getPreExpandedRowModel(),\n table.options.paginateExpandedRows,\n ],\n (expanded, rowModel, paginateExpandedRows) => {\n if (\n !rowModel.rows.length ||\n (expanded !== true && !Object.keys(expanded ?? {}).length)\n ) {\n return rowModel\n }\n\n if (!paginateExpandedRows) {\n // Only expand rows at this point if they are being paginated\n return rowModel\n }\n\n return expandRows(rowModel)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getExpandedRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n }\n )\n}\n\nexport function expandRows<TData extends RowData>(rowModel: RowModel<TData>) {\n const expandedRows: Row<TData>[] = []\n\n const handleRow = (row: Row<TData>) => {\n expandedRows.push(row)\n\n if (row.subRows?.length && row.getIsExpanded()) {\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","table","memo","getState","expanded","getPreExpandedRowModel","options","paginateExpandedRows","rowModel","rows","length","Object","keys","expandRows","key","process","env","NODE_ENV","debug","debugAll","debugTable","expandedRows","handleRow","row","push","subRows","getIsExpanded","forEach","flatRows","rowsById"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,
|
|
1
|
+
{"version":3,"file":"getExpandedRowModel.js","sources":["../../../src/utils/getExpandedRowModel.ts"],"sourcesContent":["import { Table, Row, RowModel, RowData } from '../types'\nimport { memo } from '../utils'\n\nexport function getExpandedRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [\n table.getState().expanded,\n table.getPreExpandedRowModel(),\n table.options.paginateExpandedRows,\n ],\n (expanded, rowModel, paginateExpandedRows) => {\n if (\n !rowModel.rows.length ||\n (expanded !== true && !Object.keys(expanded ?? {}).length)\n ) {\n return rowModel\n }\n\n if (!paginateExpandedRows) {\n // Only expand rows at this point if they are being paginated\n return rowModel\n }\n\n return expandRows(rowModel)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getExpandedRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n }\n )\n}\n\nexport function expandRows<TData extends RowData>(rowModel: RowModel<TData>) {\n const expandedRows: Row<TData>[] = []\n\n const handleRow = (row: Row<TData>) => {\n expandedRows.push(row)\n\n if (row.subRows?.length && row.getIsExpanded()) {\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","table","memo","getState","expanded","getPreExpandedRowModel","options","paginateExpandedRows","rowModel","rows","length","Object","keys","expandRows","key","process","env","NODE_ENV","debug","debugAll","debugTable","expandedRows","handleRow","row","push","subRows","getIsExpanded","forEach","flatRows","rowsById"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,mBAAmB,GAER;AACzB,EAAA,OAAOC,KAAK,IACVC,UAAI,CACF,MAAM,CACJD,KAAK,CAACE,QAAQ,EAAE,CAACC,QAAQ,EACzBH,KAAK,CAACI,sBAAsB,EAAE,EAC9BJ,KAAK,CAACK,OAAO,CAACC,oBAAoB,CACnC,EACD,CAACH,QAAQ,EAAEI,QAAQ,EAAED,oBAAoB,KAAK;IAC5C,IACE,CAACC,QAAQ,CAACC,IAAI,CAACC,MAAM,IACpBN,QAAQ,KAAK,IAAI,IAAI,CAACO,MAAM,CAACC,IAAI,CAACR,QAAQ,IAAI,EAAE,CAAC,CAACM,MAAO,EAC1D;AACA,MAAA,OAAOF,QAAQ,CAAA;AACjB,KAAA;IAEA,IAAI,CAACD,oBAAoB,EAAE;AACzB;AACA,MAAA,OAAOC,QAAQ,CAAA;AACjB,KAAA;IAEA,OAAOK,UAAU,CAACL,QAAQ,CAAC,CAAA;AAC7B,GAAC,EACD;IACEM,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,qBAAqB;IACpEC,KAAK,EAAE,MAAMjB,KAAK,CAACK,OAAO,CAACa,QAAQ,IAAIlB,KAAK,CAACK,OAAO,CAACc,UAAAA;AACvD,GAAC,CACF,CAAA;AACL,CAAA;AAEO,SAASP,UAAU,CAAwBL,QAAyB,EAAE;EAC3E,MAAMa,YAA0B,GAAG,EAAE,CAAA;EAErC,MAAMC,SAAS,GAAIC,GAAe,IAAK;AAAA,IAAA,IAAA,YAAA,CAAA;AACrCF,IAAAA,YAAY,CAACG,IAAI,CAACD,GAAG,CAAC,CAAA;AAEtB,IAAA,IAAI,CAAAA,YAAAA,GAAAA,GAAG,CAACE,OAAO,KAAX,IAAA,IAAA,YAAA,CAAaf,MAAM,IAAIa,GAAG,CAACG,aAAa,EAAE,EAAE;AAC9CH,MAAAA,GAAG,CAACE,OAAO,CAACE,OAAO,CAACL,SAAS,CAAC,CAAA;AAChC,KAAA;GACD,CAAA;AAEDd,EAAAA,QAAQ,CAACC,IAAI,CAACkB,OAAO,CAACL,SAAS,CAAC,CAAA;EAEhC,OAAO;AACLb,IAAAA,IAAI,EAAEY,YAAY;IAClBO,QAAQ,EAAEpB,QAAQ,CAACoB,QAAQ;IAC3BC,QAAQ,EAAErB,QAAQ,CAACqB,QAAAA;GACpB,CAAA;AACH;;;;;"}
|
|
@@ -17,25 +17,19 @@ var utils = require('../utils.js');
|
|
|
17
17
|
function getFacetedMinMaxValues() {
|
|
18
18
|
return (table, columnId) => utils.memo(() => [table.getColumn(columnId).getFacetedRowModel()], facetedRowModel => {
|
|
19
19
|
var _facetedRowModel$flat;
|
|
20
|
-
|
|
21
20
|
const firstValue = (_facetedRowModel$flat = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat.getValue(columnId);
|
|
22
|
-
|
|
23
21
|
if (typeof firstValue === 'undefined') {
|
|
24
22
|
return undefined;
|
|
25
23
|
}
|
|
26
|
-
|
|
27
24
|
let facetedMinMaxValues = [firstValue, firstValue];
|
|
28
|
-
|
|
29
25
|
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
30
26
|
const value = facetedRowModel.flatRows[i].getValue(columnId);
|
|
31
|
-
|
|
32
27
|
if (value < facetedMinMaxValues[0]) {
|
|
33
28
|
facetedMinMaxValues[0] = value;
|
|
34
29
|
} else if (value > facetedMinMaxValues[1]) {
|
|
35
30
|
facetedMinMaxValues[1] = value;
|
|
36
31
|
}
|
|
37
32
|
}
|
|
38
|
-
|
|
39
33
|
return facetedMinMaxValues;
|
|
40
34
|
}, {
|
|
41
35
|
key: process.env.NODE_ENV === 'development' && 'getFacetedMinMaxValues_' + columnId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFacetedMinMaxValues.js","sources":["../../../src/utils/getFacetedMinMaxValues.ts"],"sourcesContent":["import { Table, RowData } from '../types'\nimport { memo } from '../utils'\n\nexport function getFacetedMinMaxValues<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => undefined | [number, number] {\n return (table, columnId) =>\n memo(\n () => [table.getColumn(columnId).getFacetedRowModel()],\n facetedRowModel => {\n const firstValue = facetedRowModel.flatRows[0]?.getValue(columnId)\n\n if (typeof firstValue === 'undefined') {\n return undefined\n }\n\n let facetedMinMaxValues: [any, any] = [firstValue, firstValue]\n\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const value = facetedRowModel.flatRows[i]!.getValue<number>(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: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedMinMaxValues","table","columnId","memo","getColumn","getFacetedRowModel","facetedRowModel","firstValue","flatRows","getValue","undefined","facetedMinMaxValues","i","length","value","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,
|
|
1
|
+
{"version":3,"file":"getFacetedMinMaxValues.js","sources":["../../../src/utils/getFacetedMinMaxValues.ts"],"sourcesContent":["import { Table, RowData } from '../types'\nimport { memo } from '../utils'\n\nexport function getFacetedMinMaxValues<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => undefined | [number, number] {\n return (table, columnId) =>\n memo(\n () => [table.getColumn(columnId).getFacetedRowModel()],\n facetedRowModel => {\n const firstValue = facetedRowModel.flatRows[0]?.getValue(columnId)\n\n if (typeof firstValue === 'undefined') {\n return undefined\n }\n\n let facetedMinMaxValues: [any, any] = [firstValue, firstValue]\n\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const value = facetedRowModel.flatRows[i]!.getValue<number>(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: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedMinMaxValues","table","columnId","memo","getColumn","getFacetedRowModel","facetedRowModel","firstValue","flatRows","getValue","undefined","facetedMinMaxValues","i","length","value","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,sBAAsB,GAGE;EACtC,OAAO,CAACC,KAAK,EAAEC,QAAQ,KACrBC,UAAI,CACF,MAAM,CAACF,KAAK,CAACG,SAAS,CAACF,QAAQ,CAAC,CAACG,kBAAkB,EAAE,CAAC,EACtDC,eAAe,IAAI;AAAA,IAAA,IAAA,qBAAA,CAAA;AACjB,IAAA,MAAMC,UAAU,GAAA,CAAA,qBAAA,GAAGD,eAAe,CAACE,QAAQ,CAAC,CAAC,CAAC,KAA3B,IAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAA6BC,QAAQ,CAACP,QAAQ,CAAC,CAAA;AAElE,IAAA,IAAI,OAAOK,UAAU,KAAK,WAAW,EAAE;AACrC,MAAA,OAAOG,SAAS,CAAA;AAClB,KAAA;AAEA,IAAA,IAAIC,mBAA+B,GAAG,CAACJ,UAAU,EAAEA,UAAU,CAAC,CAAA;AAE9D,IAAA,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,eAAe,CAACE,QAAQ,CAACK,MAAM,EAAED,CAAC,EAAE,EAAE;AACxD,MAAA,MAAME,KAAK,GAAGR,eAAe,CAACE,QAAQ,CAACI,CAAC,CAAC,CAAEH,QAAQ,CAASP,QAAQ,CAAC,CAAA;AAErE,MAAA,IAAIY,KAAK,GAAGH,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAClCA,QAAAA,mBAAmB,CAAC,CAAC,CAAC,GAAGG,KAAK,CAAA;OAC/B,MAAM,IAAIA,KAAK,GAAGH,mBAAmB,CAAC,CAAC,CAAC,EAAE;AACzCA,QAAAA,mBAAmB,CAAC,CAAC,CAAC,GAAGG,KAAK,CAAA;AAChC,OAAA;AACF,KAAA;AAEA,IAAA,OAAOH,mBAAmB,CAAA;AAC5B,GAAC,EACD;IACEI,GAAG,EACDC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IACtC,yBAAyB,GAAGhB,QAAQ;AACtCiB,IAAAA,KAAK,EAAE,MAAMlB,KAAK,CAACmB,OAAO,CAACC,QAAQ,IAAIpB,KAAK,CAACmB,OAAO,CAACE,UAAU;IAC/DC,QAAQ,EAAE,MAAM,EAAC;AACnB,GAAC,CACF,CAAA;AACL;;;;"}
|
|
@@ -20,9 +20,7 @@ function getFacetedRowModel() {
|
|
|
20
20
|
if (!preRowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
|
|
21
21
|
return preRowModel;
|
|
22
22
|
}
|
|
23
|
-
|
|
24
23
|
const filterableIds = [...columnFilters.map(d => d.id).filter(d => d !== columnId), globalFilter ? '__global__' : undefined].filter(Boolean);
|
|
25
|
-
|
|
26
24
|
const filterRowsImpl = row => {
|
|
27
25
|
// Horizontally filter rows through each column
|
|
28
26
|
for (let i = 0; i < filterableIds.length; i++) {
|
|
@@ -30,10 +28,8 @@ function getFacetedRowModel() {
|
|
|
30
28
|
return false;
|
|
31
29
|
}
|
|
32
30
|
}
|
|
33
|
-
|
|
34
31
|
return true;
|
|
35
32
|
};
|
|
36
|
-
|
|
37
33
|
return filterRowsUtils.filterRows(preRowModel.rows, filterRowsImpl, table);
|
|
38
34
|
}, {
|
|
39
35
|
key: process.env.NODE_ENV === 'development' && 'getFacetedRowModel_' + columnId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFacetedRowModel.js","sources":["../../../src/utils/getFacetedRowModel.ts"],"sourcesContent":["import { Table, RowModel, Row, RowData } from '../types'\nimport { memo } from '../utils'\nimport { filterRows } from './filterRowsUtils'\n\nexport function getFacetedRowModel<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => RowModel<TData> {\n return (table, columnId) =>\n memo(\n () => [\n table.getPreFilteredRowModel(),\n table.getState().columnFilters,\n table.getState().globalFilter,\n table.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<TData>) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n },\n {\n key:\n process.env.NODE_ENV === 'development' &&\n 'getFacetedRowModel_' + columnId,\n debug: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedRowModel","table","columnId","memo","getPreFilteredRowModel","getState","columnFilters","globalFilter","getFilteredRowModel","preRowModel","rows","length","filterableIds","map","d","id","filter","undefined","Boolean","filterRowsImpl","row","i","filterRows","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange"],"mappings":";;;;;;;;;;;;;;;;;AAIO,SAASA,
|
|
1
|
+
{"version":3,"file":"getFacetedRowModel.js","sources":["../../../src/utils/getFacetedRowModel.ts"],"sourcesContent":["import { Table, RowModel, Row, RowData } from '../types'\nimport { memo } from '../utils'\nimport { filterRows } from './filterRowsUtils'\n\nexport function getFacetedRowModel<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => RowModel<TData> {\n return (table, columnId) =>\n memo(\n () => [\n table.getPreFilteredRowModel(),\n table.getState().columnFilters,\n table.getState().globalFilter,\n table.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<TData>) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters[filterableIds[i]!] === false) {\n return false\n }\n }\n return true\n }\n\n return filterRows(preRowModel.rows, filterRowsImpl, table)\n },\n {\n key:\n process.env.NODE_ENV === 'development' &&\n 'getFacetedRowModel_' + columnId,\n debug: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedRowModel","table","columnId","memo","getPreFilteredRowModel","getState","columnFilters","globalFilter","getFilteredRowModel","preRowModel","rows","length","filterableIds","map","d","id","filter","undefined","Boolean","filterRowsImpl","row","i","filterRows","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange"],"mappings":";;;;;;;;;;;;;;;;;AAIO,SAASA,kBAAkB,GAGP;AACzB,EAAA,OAAO,CAACC,KAAK,EAAEC,QAAQ,KACrBC,UAAI,CACF,MAAM,CACJF,KAAK,CAACG,sBAAsB,EAAE,EAC9BH,KAAK,CAACI,QAAQ,EAAE,CAACC,aAAa,EAC9BL,KAAK,CAACI,QAAQ,EAAE,CAACE,YAAY,EAC7BN,KAAK,CAACO,mBAAmB,EAAE,CAC5B,EACD,CAACC,WAAW,EAAEH,aAAa,EAAEC,YAAY,KAAK;AAC5C,IAAA,IACE,CAACE,WAAW,CAACC,IAAI,CAACC,MAAM,IACvB,EAACL,aAAa,IAAA,IAAA,IAAbA,aAAa,CAAEK,MAAM,CAAI,IAAA,CAACJ,YAAa,EACzC;AACA,MAAA,OAAOE,WAAW,CAAA;AACpB,KAAA;AAEA,IAAA,MAAMG,aAAa,GAAG,CACpB,GAAGN,aAAa,CAACO,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,EAAE,CAAC,CAACC,MAAM,CAACF,CAAC,IAAIA,CAAC,KAAKZ,QAAQ,CAAC,EAC3DK,YAAY,GAAG,YAAY,GAAGU,SAAS,CACxC,CAACD,MAAM,CAACE,OAAO,CAAa,CAAA;IAE7B,MAAMC,cAAc,GAAIC,GAAe,IAAK;AAC1C;AACA,MAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,aAAa,CAACD,MAAM,EAAEU,CAAC,EAAE,EAAE;QAC7C,IAAID,GAAG,CAACd,aAAa,CAACM,aAAa,CAACS,CAAC,CAAC,CAAE,KAAK,KAAK,EAAE;AAClD,UAAA,OAAO,KAAK,CAAA;AACd,SAAA;AACF,OAAA;AACA,MAAA,OAAO,IAAI,CAAA;KACZ,CAAA;IAED,OAAOC,0BAAU,CAACb,WAAW,CAACC,IAAI,EAAES,cAAc,EAAElB,KAAK,CAAC,CAAA;AAC5D,GAAC,EACD;IACEsB,GAAG,EACDC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IACtC,qBAAqB,GAAGxB,QAAQ;AAClCyB,IAAAA,KAAK,EAAE,MAAM1B,KAAK,CAAC2B,OAAO,CAACC,QAAQ,IAAI5B,KAAK,CAAC2B,OAAO,CAACE,UAAU;IAC/DC,QAAQ,EAAE,MAAM,EAAC;AACnB,GAAC,CACF,CAAA;AACL;;;;"}
|
|
@@ -17,19 +17,15 @@ var utils = require('../utils.js');
|
|
|
17
17
|
function getFacetedUniqueValues() {
|
|
18
18
|
return (table, columnId) => utils.memo(() => [table.getColumn(columnId).getFacetedRowModel()], facetedRowModel => {
|
|
19
19
|
let facetedUniqueValues = new Map();
|
|
20
|
-
|
|
21
20
|
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
22
21
|
var _facetedRowModel$flat;
|
|
23
|
-
|
|
24
22
|
const value = (_facetedRowModel$flat = facetedRowModel.flatRows[i]) == null ? void 0 : _facetedRowModel$flat.getValue(columnId);
|
|
25
|
-
|
|
26
23
|
if (facetedUniqueValues.has(value)) {
|
|
27
24
|
facetedUniqueValues.set(value, (facetedUniqueValues.get(value) ?? 0) + 1);
|
|
28
25
|
} else {
|
|
29
26
|
facetedUniqueValues.set(value, 1);
|
|
30
27
|
}
|
|
31
28
|
}
|
|
32
|
-
|
|
33
29
|
return facetedUniqueValues;
|
|
34
30
|
}, {
|
|
35
31
|
key: process.env.NODE_ENV === 'development' && 'getFacetedUniqueValues_' + columnId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFacetedUniqueValues.js","sources":["../../../src/utils/getFacetedUniqueValues.ts"],"sourcesContent":["import { Table, RowData } from '../types'\nimport { memo } from '../utils'\n\nexport function getFacetedUniqueValues<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => Map<any, number> {\n return (table, columnId) =>\n memo(\n () => [table.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: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedUniqueValues","table","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,
|
|
1
|
+
{"version":3,"file":"getFacetedUniqueValues.js","sources":["../../../src/utils/getFacetedUniqueValues.ts"],"sourcesContent":["import { Table, RowData } from '../types'\nimport { memo } from '../utils'\n\nexport function getFacetedUniqueValues<TData extends RowData>(): (\n table: Table<TData>,\n columnId: string\n) => () => Map<any, number> {\n return (table, columnId) =>\n memo(\n () => [table.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: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {},\n }\n )\n}\n"],"names":["getFacetedUniqueValues","table","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,sBAAsB,GAGV;EAC1B,OAAO,CAACC,KAAK,EAAEC,QAAQ,KACrBC,UAAI,CACF,MAAM,CAACF,KAAK,CAACG,SAAS,CAACF,QAAQ,CAAC,CAACG,kBAAkB,EAAE,CAAC,EACtDC,eAAe,IAAI;AACjB,IAAA,IAAIC,mBAAmB,GAAG,IAAIC,GAAG,EAAe,CAAA;AAEhD,IAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,eAAe,CAACI,QAAQ,CAACC,MAAM,EAAEF,CAAC,EAAE,EAAE;AAAA,MAAA,IAAA,qBAAA,CAAA;AACxD,MAAA,MAAMG,KAAK,GAAA,CAAA,qBAAA,GAAGN,eAAe,CAACI,QAAQ,CAACD,CAAC,CAAC,KAA3B,IAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAA6BI,QAAQ,CAACX,QAAQ,CAAC,CAAA;AAE7D,MAAA,IAAIK,mBAAmB,CAACO,GAAG,CAACF,KAAK,CAAC,EAAE;AAClCL,QAAAA,mBAAmB,CAACQ,GAAG,CACrBH,KAAK,EACL,CAACL,mBAAmB,CAACS,GAAG,CAACJ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1C,CAAA;AACH,OAAC,MAAM;AACLL,QAAAA,mBAAmB,CAACQ,GAAG,CAACH,KAAK,EAAE,CAAC,CAAC,CAAA;AACnC,OAAA;AACF,KAAA;AAEA,IAAA,OAAOL,mBAAmB,CAAA;AAC5B,GAAC,EACD;IACEU,GAAG,EACDC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IACtC,yBAAyB,GAAGlB,QAAQ;AACtCmB,IAAAA,KAAK,EAAE,MAAMpB,KAAK,CAACqB,OAAO,CAACC,QAAQ,IAAItB,KAAK,CAACqB,OAAO,CAACE,UAAU;IAC/DC,QAAQ,EAAE,MAAM,EAAC;AACnB,GAAC,CACF,CAAA;AACL;;;;"}
|
|
@@ -22,31 +22,24 @@ function getFilteredRowModel() {
|
|
|
22
22
|
rowModel.flatRows[i].columnFilters = {};
|
|
23
23
|
rowModel.flatRows[i].columnFiltersMeta = {};
|
|
24
24
|
}
|
|
25
|
-
|
|
26
25
|
return rowModel;
|
|
27
26
|
}
|
|
28
|
-
|
|
29
27
|
const resolvedColumnFilters = [];
|
|
30
28
|
const resolvedGlobalFilters = [];
|
|
31
29
|
(columnFilters ?? []).forEach(d => {
|
|
32
30
|
const column = table.getColumn(d.id);
|
|
33
|
-
|
|
34
31
|
if (!column) {
|
|
35
32
|
if (process.env.NODE_ENV !== 'production') {
|
|
36
33
|
console.warn(`Table: Could not find a column to filter with columnId: ${d.id}`);
|
|
37
34
|
}
|
|
38
35
|
}
|
|
39
|
-
|
|
40
36
|
const filterFn = column.getFilterFn();
|
|
41
|
-
|
|
42
37
|
if (!filterFn) {
|
|
43
38
|
if (process.env.NODE_ENV !== 'production') {
|
|
44
39
|
console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`);
|
|
45
40
|
}
|
|
46
|
-
|
|
47
41
|
return;
|
|
48
42
|
}
|
|
49
|
-
|
|
50
43
|
resolvedColumnFilters.push({
|
|
51
44
|
id: d.id,
|
|
52
45
|
filterFn,
|
|
@@ -56,7 +49,6 @@ function getFilteredRowModel() {
|
|
|
56
49
|
const filterableIds = columnFilters.map(d => d.id);
|
|
57
50
|
const globalFilterFn = table.getGlobalFilterFn();
|
|
58
51
|
const globallyFilterableColumns = table.getAllLeafColumns().filter(column => column.getCanGlobalFilter());
|
|
59
|
-
|
|
60
52
|
if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
|
|
61
53
|
filterableIds.push('__global__');
|
|
62
54
|
globallyFilterableColumns.forEach(column => {
|
|
@@ -67,30 +59,29 @@ function getFilteredRowModel() {
|
|
|
67
59
|
});
|
|
68
60
|
});
|
|
69
61
|
}
|
|
70
|
-
|
|
71
62
|
let currentColumnFilter;
|
|
72
|
-
let currentGlobalFilter;
|
|
63
|
+
let currentGlobalFilter;
|
|
73
64
|
|
|
65
|
+
// Flag the prefiltered row model with each filter state
|
|
74
66
|
for (let j = 0; j < rowModel.flatRows.length; j++) {
|
|
75
67
|
const row = rowModel.flatRows[j];
|
|
76
68
|
row.columnFilters = {};
|
|
77
|
-
|
|
78
69
|
if (resolvedColumnFilters.length) {
|
|
79
70
|
for (let i = 0; i < resolvedColumnFilters.length; i++) {
|
|
80
71
|
currentColumnFilter = resolvedColumnFilters[i];
|
|
81
|
-
const id = currentColumnFilter.id;
|
|
72
|
+
const id = currentColumnFilter.id;
|
|
82
73
|
|
|
74
|
+
// Tag the row with the column filter state
|
|
83
75
|
row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, filterMeta => {
|
|
84
76
|
row.columnFiltersMeta[id] = filterMeta;
|
|
85
77
|
});
|
|
86
78
|
}
|
|
87
79
|
}
|
|
88
|
-
|
|
89
80
|
if (resolvedGlobalFilters.length) {
|
|
90
81
|
for (let i = 0; i < resolvedGlobalFilters.length; i++) {
|
|
91
82
|
currentGlobalFilter = resolvedGlobalFilters[i];
|
|
92
|
-
const id = currentGlobalFilter.id;
|
|
93
|
-
|
|
83
|
+
const id = currentGlobalFilter.id;
|
|
84
|
+
// Tag the row with the first truthy global filter state
|
|
94
85
|
if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, filterMeta => {
|
|
95
86
|
row.columnFiltersMeta[id] = filterMeta;
|
|
96
87
|
})) {
|
|
@@ -98,13 +89,11 @@ function getFilteredRowModel() {
|
|
|
98
89
|
break;
|
|
99
90
|
}
|
|
100
91
|
}
|
|
101
|
-
|
|
102
92
|
if (row.columnFilters.__global__ !== true) {
|
|
103
93
|
row.columnFilters.__global__ = false;
|
|
104
94
|
}
|
|
105
95
|
}
|
|
106
96
|
}
|
|
107
|
-
|
|
108
97
|
const filterRowsImpl = row => {
|
|
109
98
|
// Horizontally filter rows through each column
|
|
110
99
|
for (let i = 0; i < filterableIds.length; i++) {
|
|
@@ -112,11 +101,10 @@ function getFilteredRowModel() {
|
|
|
112
101
|
return false;
|
|
113
102
|
}
|
|
114
103
|
}
|
|
115
|
-
|
|
116
104
|
return true;
|
|
117
|
-
};
|
|
118
|
-
|
|
105
|
+
};
|
|
119
106
|
|
|
107
|
+
// Filter final rows using all of the active filters
|
|
120
108
|
return filterRowsUtils.filterRows(rowModel.rows, filterRowsImpl, table);
|
|
121
109
|
}, {
|
|
122
110
|
key: process.env.NODE_ENV === 'development' && 'getFilteredRowModel',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFilteredRowModel.js","sources":["../../../src/utils/getFilteredRowModel.ts"],"sourcesContent":["import { ResolvedColumnFilter } from '../features/Filters'\nimport { Table, RowModel, Row, RowData } from '../types'\nimport { memo } from '../utils'\nimport { filterRows } from './filterRowsUtils'\n\nexport function getFilteredRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [\n table.getPreFilteredRowModel(),\n table.getState().columnFilters,\n table.getState().globalFilter,\n ],\n (rowModel, columnFilters, globalFilter) => {\n if (\n !rowModel.rows.length ||\n (!columnFilters?.length && !globalFilter)\n ) {\n for (let i = 0; i < rowModel.flatRows.length; i++) {\n rowModel.flatRows[i]!.columnFilters = {}\n rowModel.flatRows[i]!.columnFiltersMeta = {}\n }\n return rowModel\n }\n\n const resolvedColumnFilters: ResolvedColumnFilter<TData>[] = []\n const resolvedGlobalFilters: ResolvedColumnFilter<TData>[] = []\n\n ;(columnFilters ?? []).forEach(d => {\n const column = table.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 = table.getGlobalFilterFn()\n\n const globallyFilterableColumns = table\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.columnFilters = {}\n\n if (resolvedColumnFilters.length) {\n for (let i = 0; i < resolvedColumnFilters.length; i++) {\n currentColumnFilter = resolvedColumnFilters[i]!\n const id = currentColumnFilter.id\n\n // Tag the row with the column filter state\n row.columnFilters[id] = currentColumnFilter.filterFn(\n row,\n id,\n currentColumnFilter.resolvedValue,\n filterMeta => {\n row.columnFiltersMeta[id] = filterMeta\n }\n )\n }\n }\n\n if (resolvedGlobalFilters.length) {\n for (let i = 0; i < resolvedGlobalFilters.length; i++) {\n currentGlobalFilter = resolvedGlobalFilters[i]!\n const id = currentGlobalFilter.id\n // Tag the row with the first truthy global filter state\n if (\n currentGlobalFilter.filterFn(\n row,\n id,\n currentGlobalFilter.resolvedValue,\n filterMeta => {\n row.columnFiltersMeta[id] = filterMeta\n }\n )\n ) {\n row.columnFilters.__global__ = true\n break\n }\n }\n\n if (row.columnFilters.__global__ !== true) {\n row.columnFilters.__global__ = false\n }\n }\n }\n\n const filterRowsImpl = (row: Row<TData>) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters[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, table)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFilteredRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {\n table._autoResetPageIndex()\n },\n }\n )\n}\n"],"names":["getFilteredRowModel","table","memo","getPreFilteredRowModel","getState","columnFilters","globalFilter","rowModel","rows","length","i","flatRows","columnFiltersMeta","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","row","filterMeta","__global__","filterRowsImpl","filterRows","key","debug","options","debugAll","debugTable","onChange","_autoResetPageIndex"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getFilteredRowModel.js","sources":["../../../src/utils/getFilteredRowModel.ts"],"sourcesContent":["import { ResolvedColumnFilter } from '../features/Filters'\nimport { Table, RowModel, Row, RowData } from '../types'\nimport { memo } from '../utils'\nimport { filterRows } from './filterRowsUtils'\n\nexport function getFilteredRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [\n table.getPreFilteredRowModel(),\n table.getState().columnFilters,\n table.getState().globalFilter,\n ],\n (rowModel, columnFilters, globalFilter) => {\n if (\n !rowModel.rows.length ||\n (!columnFilters?.length && !globalFilter)\n ) {\n for (let i = 0; i < rowModel.flatRows.length; i++) {\n rowModel.flatRows[i]!.columnFilters = {}\n rowModel.flatRows[i]!.columnFiltersMeta = {}\n }\n return rowModel\n }\n\n const resolvedColumnFilters: ResolvedColumnFilter<TData>[] = []\n const resolvedGlobalFilters: ResolvedColumnFilter<TData>[] = []\n\n ;(columnFilters ?? []).forEach(d => {\n const column = table.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 = table.getGlobalFilterFn()\n\n const globallyFilterableColumns = table\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.columnFilters = {}\n\n if (resolvedColumnFilters.length) {\n for (let i = 0; i < resolvedColumnFilters.length; i++) {\n currentColumnFilter = resolvedColumnFilters[i]!\n const id = currentColumnFilter.id\n\n // Tag the row with the column filter state\n row.columnFilters[id] = currentColumnFilter.filterFn(\n row,\n id,\n currentColumnFilter.resolvedValue,\n filterMeta => {\n row.columnFiltersMeta[id] = filterMeta\n }\n )\n }\n }\n\n if (resolvedGlobalFilters.length) {\n for (let i = 0; i < resolvedGlobalFilters.length; i++) {\n currentGlobalFilter = resolvedGlobalFilters[i]!\n const id = currentGlobalFilter.id\n // Tag the row with the first truthy global filter state\n if (\n currentGlobalFilter.filterFn(\n row,\n id,\n currentGlobalFilter.resolvedValue,\n filterMeta => {\n row.columnFiltersMeta[id] = filterMeta\n }\n )\n ) {\n row.columnFilters.__global__ = true\n break\n }\n }\n\n if (row.columnFilters.__global__ !== true) {\n row.columnFilters.__global__ = false\n }\n }\n }\n\n const filterRowsImpl = (row: Row<TData>) => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters[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, table)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getFilteredRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {\n table._autoResetPageIndex()\n },\n }\n )\n}\n"],"names":["getFilteredRowModel","table","memo","getPreFilteredRowModel","getState","columnFilters","globalFilter","rowModel","rows","length","i","flatRows","columnFiltersMeta","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","row","filterMeta","__global__","filterRowsImpl","filterRows","key","debug","options","debugAll","debugTable","onChange","_autoResetPageIndex"],"mappings":";;;;;;;;;;;;;;;;;AAKO,SAASA,mBAAmB,GAER;AACzB,EAAA,OAAOC,KAAK,IACVC,UAAI,CACF,MAAM,CACJD,KAAK,CAACE,sBAAsB,EAAE,EAC9BF,KAAK,CAACG,QAAQ,EAAE,CAACC,aAAa,EAC9BJ,KAAK,CAACG,QAAQ,EAAE,CAACE,YAAY,CAC9B,EACD,CAACC,QAAQ,EAAEF,aAAa,EAAEC,YAAY,KAAK;AACzC,IAAA,IACE,CAACC,QAAQ,CAACC,IAAI,CAACC,MAAM,IACpB,EAACJ,aAAa,IAAA,IAAA,IAAbA,aAAa,CAAEI,MAAM,CAAI,IAAA,CAACH,YAAa,EACzC;AACA,MAAA,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,QAAQ,CAACI,QAAQ,CAACF,MAAM,EAAEC,CAAC,EAAE,EAAE;QACjDH,QAAQ,CAACI,QAAQ,CAACD,CAAC,CAAC,CAAEL,aAAa,GAAG,EAAE,CAAA;QACxCE,QAAQ,CAACI,QAAQ,CAACD,CAAC,CAAC,CAAEE,iBAAiB,GAAG,EAAE,CAAA;AAC9C,OAAA;AACA,MAAA,OAAOL,QAAQ,CAAA;AACjB,KAAA;IAEA,MAAMM,qBAAoD,GAAG,EAAE,CAAA;IAC/D,MAAMC,qBAAoD,GAAG,EAAE,CAAA;AAE9D,IAAA,CAACT,aAAa,IAAI,EAAE,EAAEU,OAAO,CAACC,CAAC,IAAI;MAClC,MAAMC,MAAM,GAAGhB,KAAK,CAACiB,SAAS,CAACF,CAAC,CAACG,EAAE,CAAC,CAAA;MAEpC,IAAI,CAACF,MAAM,EAAE;AACX,QAAA,IAAIG,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;UACzCC,OAAO,CAACC,IAAI,CACT,CAAA,wDAAA,EAA0DR,CAAC,CAACG,EAAG,EAAC,CAClE,CAAA;AACH,SAAA;AACF,OAAA;AAEA,MAAA,MAAMM,QAAQ,GAAGR,MAAM,CAACS,WAAW,EAAE,CAAA;MAErC,IAAI,CAACD,QAAQ,EAAE;AACb,QAAA,IAAIL,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;UACzCC,OAAO,CAACC,IAAI,CACT,CAAA,iEAAA,EAAmEP,MAAM,CAACE,EAAG,GAAE,CACjF,CAAA;AACH,SAAA;AACA,QAAA,OAAA;AACF,OAAA;MAEAN,qBAAqB,CAACc,IAAI,CAAC;QACzBR,EAAE,EAAEH,CAAC,CAACG,EAAE;QACRM,QAAQ;AACRG,QAAAA,aAAa,EAAE,CAAAH,QAAQ,CAACI,kBAAkB,oBAA3BJ,QAAQ,CAACI,kBAAkB,CAAGb,CAAC,CAACc,KAAK,CAAC,KAAId,CAAC,CAACc,KAAAA;AAC7D,OAAC,CAAC,CAAA;AACJ,KAAC,CAAC,CAAA;IAEF,MAAMC,aAAa,GAAG1B,aAAa,CAAC2B,GAAG,CAAChB,CAAC,IAAIA,CAAC,CAACG,EAAE,CAAC,CAAA;AAElD,IAAA,MAAMc,cAAc,GAAGhC,KAAK,CAACiC,iBAAiB,EAAE,CAAA;AAEhD,IAAA,MAAMC,yBAAyB,GAAGlC,KAAK,CACpCmC,iBAAiB,EAAE,CACnBC,MAAM,CAACpB,MAAM,IAAIA,MAAM,CAACqB,kBAAkB,EAAE,CAAC,CAAA;AAEhD,IAAA,IACEhC,YAAY,IACZ2B,cAAc,IACdE,yBAAyB,CAAC1B,MAAM,EAChC;AACAsB,MAAAA,aAAa,CAACJ,IAAI,CAAC,YAAY,CAAC,CAAA;AAEhCQ,MAAAA,yBAAyB,CAACpB,OAAO,CAACE,MAAM,IAAI;QAC1CH,qBAAqB,CAACa,IAAI,CAAC;UACzBR,EAAE,EAAEF,MAAM,CAACE,EAAE;AACbM,UAAAA,QAAQ,EAAEQ,cAAc;AACxBL,UAAAA,aAAa,EACX,CAAAK,cAAc,CAACJ,kBAAkB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAjCI,cAAc,CAACJ,kBAAkB,CAAGvB,YAAY,CAAC,KACjDA,YAAAA;AACJ,SAAC,CAAC,CAAA;AACJ,OAAC,CAAC,CAAA;AACJ,KAAA;AAEA,IAAA,IAAIiC,mBAAmB,CAAA;AACvB,IAAA,IAAIC,mBAAmB,CAAA;;AAEvB;AACA,IAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGlC,QAAQ,CAACI,QAAQ,CAACF,MAAM,EAAEgC,CAAC,EAAE,EAAE;AACjD,MAAA,MAAMC,GAAG,GAAGnC,QAAQ,CAACI,QAAQ,CAAC8B,CAAC,CAAE,CAAA;AAEjCC,MAAAA,GAAG,CAACrC,aAAa,GAAG,EAAE,CAAA;MAEtB,IAAIQ,qBAAqB,CAACJ,MAAM,EAAE;AAChC,QAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGG,qBAAqB,CAACJ,MAAM,EAAEC,CAAC,EAAE,EAAE;AACrD6B,UAAAA,mBAAmB,GAAG1B,qBAAqB,CAACH,CAAC,CAAE,CAAA;AAC/C,UAAA,MAAMS,EAAE,GAAGoB,mBAAmB,CAACpB,EAAE,CAAA;;AAEjC;AACAuB,UAAAA,GAAG,CAACrC,aAAa,CAACc,EAAE,CAAC,GAAGoB,mBAAmB,CAACd,QAAQ,CAClDiB,GAAG,EACHvB,EAAE,EACFoB,mBAAmB,CAACX,aAAa,EACjCe,UAAU,IAAI;AACZD,YAAAA,GAAG,CAAC9B,iBAAiB,CAACO,EAAE,CAAC,GAAGwB,UAAU,CAAA;AACxC,WAAC,CACF,CAAA;AACH,SAAA;AACF,OAAA;MAEA,IAAI7B,qBAAqB,CAACL,MAAM,EAAE;AAChC,QAAA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGI,qBAAqB,CAACL,MAAM,EAAEC,CAAC,EAAE,EAAE;AACrD8B,UAAAA,mBAAmB,GAAG1B,qBAAqB,CAACJ,CAAC,CAAE,CAAA;AAC/C,UAAA,MAAMS,EAAE,GAAGqB,mBAAmB,CAACrB,EAAE,CAAA;AACjC;AACA,UAAA,IACEqB,mBAAmB,CAACf,QAAQ,CAC1BiB,GAAG,EACHvB,EAAE,EACFqB,mBAAmB,CAACZ,aAAa,EACjCe,UAAU,IAAI;AACZD,YAAAA,GAAG,CAAC9B,iBAAiB,CAACO,EAAE,CAAC,GAAGwB,UAAU,CAAA;AACxC,WAAC,CACF,EACD;AACAD,YAAAA,GAAG,CAACrC,aAAa,CAACuC,UAAU,GAAG,IAAI,CAAA;AACnC,YAAA,MAAA;AACF,WAAA;AACF,SAAA;AAEA,QAAA,IAAIF,GAAG,CAACrC,aAAa,CAACuC,UAAU,KAAK,IAAI,EAAE;AACzCF,UAAAA,GAAG,CAACrC,aAAa,CAACuC,UAAU,GAAG,KAAK,CAAA;AACtC,SAAA;AACF,OAAA;AACF,KAAA;IAEA,MAAMC,cAAc,GAAIH,GAAe,IAAK;AAC1C;AACA,MAAA,KAAK,IAAIhC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqB,aAAa,CAACtB,MAAM,EAAEC,CAAC,EAAE,EAAE;QAC7C,IAAIgC,GAAG,CAACrC,aAAa,CAAC0B,aAAa,CAACrB,CAAC,CAAC,CAAE,KAAK,KAAK,EAAE;AAClD,UAAA,OAAO,KAAK,CAAA;AACd,SAAA;AACF,OAAA;AACA,MAAA,OAAO,IAAI,CAAA;KACZ,CAAA;;AAED;IACA,OAAOoC,0BAAU,CAACvC,QAAQ,CAACC,IAAI,EAAEqC,cAAc,EAAE5C,KAAK,CAAC,CAAA;AACzD,GAAC,EACD;IACE8C,GAAG,EAAE3B,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,qBAAqB;AACpE0B,IAAAA,KAAK,EAAE,MAAM/C,KAAK,CAACgD,OAAO,CAACC,QAAQ,IAAIjD,KAAK,CAACgD,OAAO,CAACE,UAAU;AAC/DC,IAAAA,QAAQ,EAAE,MAAM;MACdnD,KAAK,CAACoD,mBAAmB,EAAE,CAAA;AAC7B,KAAA;AACF,GAAC,CACF,CAAA;AACL;;;;"}
|