@tanstack/table-core 8.0.0-alpha.65 → 8.0.0-alpha.69
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 -48
- 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 +136 -225
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Columns.js +57 -84
- package/build/cjs/features/Columns.js.map +1 -1
- package/build/cjs/features/Expanding.js +79 -126
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +137 -288
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +71 -117
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +125 -205
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js +32 -44
- 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 +99 -178
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +133 -204
- 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 +67 -136
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +56 -118
- 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 +18 -22
- 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 +2024 -2971
- 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 +4 -15
- package/build/types/features/Columns.d.ts +1 -1
- package/build/types/features/Expanding.d.ts +2 -7
- package/build/types/features/Filters.d.ts +24 -21
- package/build/types/features/Grouping.d.ts +5 -11
- package/build/types/features/Ordering.d.ts +1 -1
- package/build/types/features/Pagination.d.ts +3 -3
- package/build/types/features/Pinning.d.ts +1 -5
- package/build/types/features/RowSelection.d.ts +2 -8
- package/build/types/features/Rows.d.ts +4 -3
- package/build/types/features/Sorting.d.ts +5 -15
- package/build/types/features/Visibility.d.ts +1 -4
- package/build/types/index.d.ts +6 -4
- package/build/types/types.d.ts +3 -15
- 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 +2053 -3002
- 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 -47
- package/src/features/Cells.ts +7 -11
- package/src/features/ColumnSizing.ts +89 -139
- package/src/features/Columns.ts +10 -13
- package/src/features/Expanding.ts +62 -107
- package/src/features/Filters.ts +201 -308
- package/src/features/Grouping.ts +55 -81
- package/src/features/Headers.ts +18 -40
- package/src/features/Ordering.ts +6 -4
- package/src/features/Pagination.ts +31 -17
- package/src/features/Pinning.ts +79 -96
- package/src/features/RowSelection.ts +68 -118
- package/src/features/Rows.ts +21 -6
- package/src/features/Sorting.ts +47 -103
- package/src/features/Visibility.ts +24 -47
- package/src/filterFns.ts +9 -9
- package/src/index.ts +12 -4
- package/src/sortingFns.ts +11 -11
- package/src/types.ts +3 -18
- package/src/utils/filterRowsUtils.ts +47 -68
- package/src/utils/{getCoreRowModelSync.ts → getCoreRowModel.ts} +3 -9
- package/src/utils/getExpandedRowModel.ts +2 -2
- package/src/utils/getFacetedMinMaxValues.ts +37 -0
- package/src/utils/getFacetedRowModel.ts +50 -0
- package/src/utils/getFacetedUniqueValues.ts +37 -0
- package/src/utils/getFilteredRowModel.ts +150 -0
- package/src/utils/getGroupedRowModel.ts +53 -62
- package/src/utils/getPaginationRowModel.ts +1 -1
- package/src/utils/{getSortedRowModelSync.ts → getSortedRowModel.ts} +7 -7
- 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 -130
- 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 -49
- package/src/utils/getFilteredRowModelSync.ts +0 -150
- package/src/utils/getSortedRowModelAsync.ts +0 -200
package/build/cjs/sortingFns.js
CHANGED
|
@@ -12,22 +12,22 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
alphanumeric
|
|
18
|
-
alphanumericCaseSensitive
|
|
19
|
-
text
|
|
20
|
-
textCaseSensitive
|
|
21
|
-
datetime
|
|
22
|
-
basic
|
|
15
|
+
const reSplitAlphaNumeric = /([0-9]+)/gm;
|
|
16
|
+
const sortingFns = {
|
|
17
|
+
alphanumeric,
|
|
18
|
+
alphanumericCaseSensitive,
|
|
19
|
+
text,
|
|
20
|
+
textCaseSensitive,
|
|
21
|
+
datetime,
|
|
22
|
+
basic
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
function alphanumeric(rowA, rowB, columnId) {
|
|
26
|
-
return compareAlphanumeric(toString(rowA.
|
|
26
|
+
return compareAlphanumeric(toString(rowA.getValue(columnId)).toLowerCase(), toString(rowB.getValue(columnId)).toLowerCase());
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
function alphanumericCaseSensitive(rowA, rowB, columnId) {
|
|
30
|
-
return compareAlphanumeric(toString(rowA.
|
|
30
|
+
return compareAlphanumeric(toString(rowA.getValue(columnId)), toString(rowB.getValue(columnId)));
|
|
31
31
|
} // Mixed sorting is slow, but very inclusive of many edge cases.
|
|
32
32
|
// It handles numbers, mixed alphanumeric combinations, and even
|
|
33
33
|
// null, undefined, and Infinity
|
|
@@ -36,15 +36,15 @@ function alphanumericCaseSensitive(rowA, rowB, columnId) {
|
|
|
36
36
|
function compareAlphanumeric(aStr, bStr) {
|
|
37
37
|
// Split on number groups, but keep the delimiter
|
|
38
38
|
// Then remove falsey split values
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
const a = aStr.split(reSplitAlphaNumeric).filter(Boolean);
|
|
40
|
+
const b = bStr.split(reSplitAlphaNumeric).filter(Boolean); // While
|
|
41
41
|
|
|
42
42
|
while (a.length && b.length) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
const aa = a.shift();
|
|
44
|
+
const bb = b.shift();
|
|
45
|
+
const an = parseInt(aa, 10);
|
|
46
|
+
const bn = parseInt(bb, 10);
|
|
47
|
+
const combo = [an, bn].sort(); // Both are string
|
|
48
48
|
|
|
49
49
|
if (isNaN(combo[0])) {
|
|
50
50
|
if (aa > bb) {
|
|
@@ -79,21 +79,21 @@ function compareAlphanumeric(aStr, bStr) {
|
|
|
79
79
|
|
|
80
80
|
|
|
81
81
|
function text(rowA, rowB, columnId) {
|
|
82
|
-
return compareBasic(toString(rowA.
|
|
82
|
+
return compareBasic(toString(rowA.getValue(columnId)).toLowerCase(), toString(rowB.getValue(columnId)).toLowerCase());
|
|
83
83
|
} // The text filter is more basic (less numeric support)
|
|
84
84
|
// but is much faster
|
|
85
85
|
|
|
86
86
|
|
|
87
87
|
function textCaseSensitive(rowA, rowB, columnId) {
|
|
88
|
-
return compareBasic(toString(rowA.
|
|
88
|
+
return compareBasic(toString(rowA.getValue(columnId)), toString(rowB.getValue(columnId)));
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
function datetime(rowA, rowB, columnId) {
|
|
92
|
-
return compareBasic(rowA.
|
|
92
|
+
return compareBasic(rowA.getValue(columnId).getTime(), rowB.getValue(columnId).getTime());
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
function basic(rowA, rowB, columnId) {
|
|
96
|
-
return compareBasic(rowA.
|
|
96
|
+
return compareBasic(rowA.getValue(columnId), rowB.getValue(columnId));
|
|
97
97
|
} // Utils
|
|
98
98
|
|
|
99
99
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortingFns.js","sources":["../../src/sortingFns.ts"],"sourcesContent":["import { TableGenerics, Row } from './types'\n\nexport const reSplitAlphaNumeric = /([0-9]+)/gm\n\nexport const sortingFns = {\n alphanumeric,\n alphanumericCaseSensitive,\n text,\n textCaseSensitive,\n datetime,\n basic,\n}\n\nexport type BuiltInSortingFn = keyof typeof sortingFns\n\nfunction alphanumeric<TGenerics extends TableGenerics>(\n rowA: Row<TGenerics>,\n rowB: Row<TGenerics>,\n columnId: string\n) {\n return compareAlphanumeric(\n toString(rowA.
|
|
1
|
+
{"version":3,"file":"sortingFns.js","sources":["../../src/sortingFns.ts"],"sourcesContent":["import { TableGenerics, Row } from './types'\n\nexport const reSplitAlphaNumeric = /([0-9]+)/gm\n\nexport const sortingFns = {\n alphanumeric,\n alphanumericCaseSensitive,\n text,\n textCaseSensitive,\n datetime,\n basic,\n}\n\nexport type BuiltInSortingFn = keyof typeof sortingFns\n\nfunction alphanumeric<TGenerics extends TableGenerics>(\n rowA: Row<TGenerics>,\n rowB: Row<TGenerics>,\n columnId: string\n) {\n return compareAlphanumeric(\n toString(rowA.getValue(columnId)).toLowerCase(),\n toString(rowB.getValue(columnId)).toLowerCase()\n )\n}\n\nfunction alphanumericCaseSensitive<TGenerics extends TableGenerics>(\n rowA: Row<TGenerics>,\n rowB: Row<TGenerics>,\n columnId: string\n) {\n return compareAlphanumeric(\n toString(rowA.getValue(columnId)),\n toString(rowB.getValue(columnId))\n )\n}\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nfunction compareAlphanumeric(aStr: string, bStr: string) {\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n const a = aStr.split(reSplitAlphaNumeric).filter(Boolean)\n const b = bStr.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n const aa = a.shift()!\n const bb = b.shift()!\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0]!)) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1]!)) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nfunction text<TGenerics extends TableGenerics>(\n rowA: Row<TGenerics>,\n rowB: Row<TGenerics>,\n columnId: string\n) {\n return compareBasic(\n toString(rowA.getValue(columnId)).toLowerCase(),\n toString(rowB.getValue(columnId)).toLowerCase()\n )\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nfunction textCaseSensitive<TGenerics extends TableGenerics>(\n rowA: Row<TGenerics>,\n rowB: Row<TGenerics>,\n columnId: string\n) {\n return compareBasic(\n toString(rowA.getValue(columnId)),\n toString(rowB.getValue(columnId))\n )\n}\n\nfunction datetime<TGenerics extends TableGenerics>(\n rowA: Row<TGenerics>,\n rowB: Row<TGenerics>,\n columnId: string\n) {\n return compareBasic(\n (rowA.getValue(columnId) as Date).getTime(),\n (rowB.getValue(columnId) as Date).getTime()\n )\n}\n\nfunction basic<TGenerics extends TableGenerics>(\n rowA: Row<TGenerics>,\n rowB: Row<TGenerics>,\n columnId: string\n) {\n return compareBasic(rowA.getValue(columnId), rowB.getValue(columnId))\n}\n\n// Utils\n\nfunction compareBasic(a: any, b: any) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction toString(a: any) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n"],"names":["reSplitAlphaNumeric","sortingFns","alphanumeric","alphanumericCaseSensitive","text","textCaseSensitive","datetime","basic","rowA","rowB","columnId","compareAlphanumeric","toString","getValue","toLowerCase","aStr","bStr","a","split","filter","Boolean","b","length","aa","shift","bb","an","parseInt","bn","combo","sort","isNaN","compareBasic","getTime","Infinity","String"],"mappings":"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"}
|
|
@@ -12,62 +12,51 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
-
function filterRows(rows,
|
|
16
|
-
var filterRowImpl = function filterRowImpl(rowsToFilter) {
|
|
17
|
-
// Horizontally filter rows through each column
|
|
18
|
-
return rowsToFilter.filter(function (row) {
|
|
19
|
-
for (var i = 0; i < columnIds.length; i++) {
|
|
20
|
-
if (row.columnFilterMap[columnIds[i]] === false) {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return true;
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
|
|
15
|
+
function filterRows(rows, filterRowImpl, instance) {
|
|
29
16
|
if (instance.options.filterFromLeafRows) {
|
|
30
17
|
return filterRowModelFromLeafs(rows, filterRowImpl, instance);
|
|
31
18
|
}
|
|
32
19
|
|
|
33
20
|
return filterRowModelFromRoot(rows, filterRowImpl, instance);
|
|
34
21
|
}
|
|
35
|
-
function filterRowModelFromLeafs(rowsToFilter,
|
|
36
|
-
|
|
37
|
-
|
|
22
|
+
function filterRowModelFromLeafs(rowsToFilter, filterRow, instance) {
|
|
23
|
+
const newFilteredFlatRows = [];
|
|
24
|
+
const newFilteredRowsById = {};
|
|
25
|
+
let row;
|
|
26
|
+
let newRow;
|
|
38
27
|
|
|
39
|
-
|
|
28
|
+
const recurseFilterRows = function (rowsToFilter, depth) {
|
|
40
29
|
if (depth === void 0) {
|
|
41
30
|
depth = 0;
|
|
42
31
|
}
|
|
43
32
|
|
|
44
|
-
|
|
33
|
+
const rows = []; // Filter from children up first
|
|
45
34
|
|
|
46
|
-
for (
|
|
35
|
+
for (let i = 0; i < rowsToFilter.length; i++) {
|
|
47
36
|
var _row$subRows;
|
|
48
37
|
|
|
49
|
-
|
|
38
|
+
row = rowsToFilter[i];
|
|
50
39
|
|
|
51
|
-
if (
|
|
52
|
-
|
|
53
|
-
|
|
40
|
+
if ((_row$subRows = row.subRows) != null && _row$subRows.length) {
|
|
41
|
+
newRow = instance.createRow(row.id, row.original, row.index, row.depth);
|
|
42
|
+
newRow.columnFilterMap = row.columnFilterMap;
|
|
43
|
+
newRow.subRows = recurseFilterRows(row.subRows, depth + 1);
|
|
44
|
+
|
|
45
|
+
if (!newRow.subRows.length) {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
54
48
|
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
row = newRow;
|
|
50
|
+
}
|
|
57
51
|
|
|
58
|
-
if (
|
|
59
|
-
|
|
60
|
-
|
|
52
|
+
if (filterRow(row)) {
|
|
53
|
+
rows.push(row);
|
|
54
|
+
newFilteredRowsById[row.id] = row;
|
|
55
|
+
newFilteredRowsById[i] = row;
|
|
61
56
|
}
|
|
62
57
|
}
|
|
63
58
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
rowsToFilter.forEach(function (row) {
|
|
67
|
-
newFilteredFlatRows.push(row);
|
|
68
|
-
newFilteredRowsById[row.id] = row;
|
|
69
|
-
});
|
|
70
|
-
return rowsToFilter;
|
|
59
|
+
return rows;
|
|
71
60
|
};
|
|
72
61
|
|
|
73
62
|
return {
|
|
@@ -76,36 +65,41 @@ function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
|
|
|
76
65
|
rowsById: newFilteredRowsById
|
|
77
66
|
};
|
|
78
67
|
}
|
|
79
|
-
function filterRowModelFromRoot(rowsToFilter,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
68
|
+
function filterRowModelFromRoot(rowsToFilter, filterRow, instance) {
|
|
69
|
+
const newFilteredFlatRows = [];
|
|
70
|
+
const newFilteredRowsById = {};
|
|
71
|
+
let rows;
|
|
72
|
+
let row;
|
|
73
|
+
let newRow; // Filters top level and nested rows
|
|
74
|
+
|
|
75
|
+
const recurseFilterRows = function (rowsToFilter, depth) {
|
|
84
76
|
if (depth === void 0) {
|
|
85
77
|
depth = 0;
|
|
86
78
|
}
|
|
87
79
|
|
|
88
80
|
// Filter from parents downward first
|
|
89
|
-
|
|
81
|
+
rows = []; // Apply the filter to any subRows
|
|
90
82
|
|
|
91
|
-
for (
|
|
92
|
-
|
|
83
|
+
for (let i = 0; i < rowsToFilter.length; i++) {
|
|
84
|
+
row = rowsToFilter[i];
|
|
85
|
+
const pass = filterRow(row);
|
|
93
86
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
newFilteredRowsById[row.id] = row;
|
|
87
|
+
if (pass) {
|
|
88
|
+
var _row$subRows2;
|
|
97
89
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
90
|
+
if ((_row$subRows2 = row.subRows) != null && _row$subRows2.length) {
|
|
91
|
+
newRow = instance.createRow(row.id, row.original, row.index, row.depth);
|
|
92
|
+
newRow.subRows = recurseFilterRows(row.subRows, depth + 1);
|
|
93
|
+
row = newRow;
|
|
94
|
+
}
|
|
103
95
|
|
|
104
|
-
|
|
105
|
-
|
|
96
|
+
rows.push(row);
|
|
97
|
+
newFilteredFlatRows.push(row);
|
|
98
|
+
newFilteredRowsById[row.id] = row;
|
|
99
|
+
}
|
|
106
100
|
}
|
|
107
101
|
|
|
108
|
-
return
|
|
102
|
+
return rows;
|
|
109
103
|
};
|
|
110
104
|
|
|
111
105
|
return {
|
|
@@ -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":"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"}
|
|
@@ -15,35 +15,31 @@ 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);
|
|
45
41
|
|
|
46
|
-
if (instance.options.expandSubRows && (_row$subRows = row.subRows) != null && _row$subRows.length &&
|
|
42
|
+
if (instance.options.expandSubRows && (_row$subRows = row.subRows) != null && _row$subRows.length && row.getIsExpanded()) {
|
|
47
43
|
row.subRows.forEach(handleRow);
|
|
48
44
|
}
|
|
49
45
|
};
|
|
@@ -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 === '
|
|
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
|