@tanstack/table-core 8.5.13 → 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 +2 -9
- package/build/cjs/core/cell.js.map +1 -1
- package/build/cjs/core/column.js +9 -27
- package/build/cjs/core/column.js.map +1 -1
- package/build/cjs/core/headers.js +45 -129
- package/build/cjs/core/headers.js.map +1 -1
- package/build/cjs/core/row.js +4 -21
- package/build/cjs/core/row.js.map +1 -1
- package/build/cjs/core/table.js +26 -73
- package/build/cjs/core/table.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +56 -67
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +18 -34
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +19 -55
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +9 -26
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Ordering.js +14 -13
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +20 -43
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +26 -66
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +44 -74
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +25 -50
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +14 -32
- 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 +12 -18
- package/build/cjs/utils/getCoreRowModel.js.map +1 -1
- package/build/cjs/utils/getExpandedRowModel.js +2 -12
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedMinMaxValues.js +1 -11
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
- package/build/cjs/utils/getFacetedRowModel.js +1 -9
- package/build/cjs/utils/getFacetedRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedUniqueValues.js +2 -12
- package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -1
- package/build/cjs/utils/getFilteredRowModel.js +14 -34
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
- package/build/cjs/utils/getGroupedRowModel.js +25 -35
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getPaginationRowModel.js +1 -11
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModel.js +8 -23
- package/build/cjs/utils/getSortedRowModel.js.map +1 -1
- package/build/cjs/utils.js +11 -14
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +452 -993
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +44 -34
- package/build/stats-react.json +371 -371
- package/build/umd/index.development.js +452 -991
- 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
- package/src/features/Expanding.ts +1 -1
|
@@ -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,29 +17,19 @@ 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
|
-
|
|
28
|
-
|
|
29
|
-
facetedUniqueValues.set(value, ((_facetedUniqueValues$ = facetedUniqueValues.get(value)) != null ? _facetedUniqueValues$ : 0) + 1);
|
|
24
|
+
facetedUniqueValues.set(value, (facetedUniqueValues.get(value) ?? 0) + 1);
|
|
30
25
|
} else {
|
|
31
26
|
facetedUniqueValues.set(value, 1);
|
|
32
27
|
}
|
|
33
28
|
}
|
|
34
|
-
|
|
35
29
|
return facetedUniqueValues;
|
|
36
30
|
}, {
|
|
37
31
|
key: process.env.NODE_ENV === 'development' && 'getFacetedUniqueValues_' + columnId,
|
|
38
|
-
debug: () =>
|
|
39
|
-
var _table$options$debugA;
|
|
40
|
-
|
|
41
|
-
return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
|
|
42
|
-
},
|
|
32
|
+
debug: () => table.options.debugAll ?? table.options.debugTable,
|
|
43
33
|
onChange: () => {}
|
|
44
34
|
});
|
|
45
35
|
}
|
|
@@ -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,79 +22,66 @@ 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
|
-
(columnFilters
|
|
32
|
-
var _filterFn$resolveFilt;
|
|
33
|
-
|
|
29
|
+
(columnFilters ?? []).forEach(d => {
|
|
34
30
|
const column = table.getColumn(d.id);
|
|
35
|
-
|
|
36
31
|
if (!column) {
|
|
37
32
|
if (process.env.NODE_ENV !== 'production') {
|
|
38
|
-
console.warn(
|
|
33
|
+
console.warn(`Table: Could not find a column to filter with columnId: ${d.id}`);
|
|
39
34
|
}
|
|
40
35
|
}
|
|
41
|
-
|
|
42
36
|
const filterFn = column.getFilterFn();
|
|
43
|
-
|
|
44
37
|
if (!filterFn) {
|
|
45
38
|
if (process.env.NODE_ENV !== 'production') {
|
|
46
|
-
console.warn(
|
|
39
|
+
console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`);
|
|
47
40
|
}
|
|
48
|
-
|
|
49
41
|
return;
|
|
50
42
|
}
|
|
51
|
-
|
|
52
43
|
resolvedColumnFilters.push({
|
|
53
44
|
id: d.id,
|
|
54
45
|
filterFn,
|
|
55
|
-
resolvedValue: (
|
|
46
|
+
resolvedValue: (filterFn.resolveFilterValue == null ? void 0 : filterFn.resolveFilterValue(d.value)) ?? d.value
|
|
56
47
|
});
|
|
57
48
|
});
|
|
58
49
|
const filterableIds = columnFilters.map(d => d.id);
|
|
59
50
|
const globalFilterFn = table.getGlobalFilterFn();
|
|
60
51
|
const globallyFilterableColumns = table.getAllLeafColumns().filter(column => column.getCanGlobalFilter());
|
|
61
|
-
|
|
62
52
|
if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
|
|
63
53
|
filterableIds.push('__global__');
|
|
64
54
|
globallyFilterableColumns.forEach(column => {
|
|
65
|
-
var _globalFilterFn$resol;
|
|
66
|
-
|
|
67
55
|
resolvedGlobalFilters.push({
|
|
68
56
|
id: column.id,
|
|
69
57
|
filterFn: globalFilterFn,
|
|
70
|
-
resolvedValue: (
|
|
58
|
+
resolvedValue: (globalFilterFn.resolveFilterValue == null ? void 0 : globalFilterFn.resolveFilterValue(globalFilter)) ?? globalFilter
|
|
71
59
|
});
|
|
72
60
|
});
|
|
73
61
|
}
|
|
74
|
-
|
|
75
62
|
let currentColumnFilter;
|
|
76
|
-
let currentGlobalFilter;
|
|
63
|
+
let currentGlobalFilter;
|
|
77
64
|
|
|
65
|
+
// Flag the prefiltered row model with each filter state
|
|
78
66
|
for (let j = 0; j < rowModel.flatRows.length; j++) {
|
|
79
67
|
const row = rowModel.flatRows[j];
|
|
80
68
|
row.columnFilters = {};
|
|
81
|
-
|
|
82
69
|
if (resolvedColumnFilters.length) {
|
|
83
70
|
for (let i = 0; i < resolvedColumnFilters.length; i++) {
|
|
84
71
|
currentColumnFilter = resolvedColumnFilters[i];
|
|
85
|
-
const id = currentColumnFilter.id;
|
|
72
|
+
const id = currentColumnFilter.id;
|
|
86
73
|
|
|
74
|
+
// Tag the row with the column filter state
|
|
87
75
|
row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, filterMeta => {
|
|
88
76
|
row.columnFiltersMeta[id] = filterMeta;
|
|
89
77
|
});
|
|
90
78
|
}
|
|
91
79
|
}
|
|
92
|
-
|
|
93
80
|
if (resolvedGlobalFilters.length) {
|
|
94
81
|
for (let i = 0; i < resolvedGlobalFilters.length; i++) {
|
|
95
82
|
currentGlobalFilter = resolvedGlobalFilters[i];
|
|
96
|
-
const id = currentGlobalFilter.id;
|
|
97
|
-
|
|
83
|
+
const id = currentGlobalFilter.id;
|
|
84
|
+
// Tag the row with the first truthy global filter state
|
|
98
85
|
if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, filterMeta => {
|
|
99
86
|
row.columnFiltersMeta[id] = filterMeta;
|
|
100
87
|
})) {
|
|
@@ -102,13 +89,11 @@ function getFilteredRowModel() {
|
|
|
102
89
|
break;
|
|
103
90
|
}
|
|
104
91
|
}
|
|
105
|
-
|
|
106
92
|
if (row.columnFilters.__global__ !== true) {
|
|
107
93
|
row.columnFilters.__global__ = false;
|
|
108
94
|
}
|
|
109
95
|
}
|
|
110
96
|
}
|
|
111
|
-
|
|
112
97
|
const filterRowsImpl = row => {
|
|
113
98
|
// Horizontally filter rows through each column
|
|
114
99
|
for (let i = 0; i < filterableIds.length; i++) {
|
|
@@ -116,19 +101,14 @@ function getFilteredRowModel() {
|
|
|
116
101
|
return false;
|
|
117
102
|
}
|
|
118
103
|
}
|
|
119
|
-
|
|
120
104
|
return true;
|
|
121
|
-
};
|
|
122
|
-
|
|
105
|
+
};
|
|
123
106
|
|
|
107
|
+
// Filter final rows using all of the active filters
|
|
124
108
|
return filterRowsUtils.filterRows(rowModel.rows, filterRowsImpl, table);
|
|
125
109
|
}, {
|
|
126
110
|
key: process.env.NODE_ENV === 'development' && 'getFilteredRowModel',
|
|
127
|
-
debug: () =>
|
|
128
|
-
var _table$options$debugA;
|
|
129
|
-
|
|
130
|
-
return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
|
|
131
|
-
},
|
|
111
|
+
debug: () => table.options.debugAll ?? table.options.debugTable,
|
|
132
112
|
onChange: () => {
|
|
133
113
|
table._autoResetPageIndex();
|
|
134
114
|
}
|
|
@@ -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":"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"}
|
|
@@ -19,22 +19,22 @@ function getGroupedRowModel() {
|
|
|
19
19
|
return table => utils.memo(() => [table.getState().grouping, table.getPreGroupedRowModel()], (grouping, rowModel) => {
|
|
20
20
|
if (!rowModel.rows.length || !grouping.length) {
|
|
21
21
|
return rowModel;
|
|
22
|
-
}
|
|
23
|
-
|
|
22
|
+
}
|
|
24
23
|
|
|
24
|
+
// Filter the grouping list down to columns that exist
|
|
25
25
|
const existingGrouping = grouping.filter(columnId => table.getColumn(columnId));
|
|
26
26
|
const groupedFlatRows = [];
|
|
27
|
-
const groupedRowsById = {};
|
|
27
|
+
const groupedRowsById = {};
|
|
28
|
+
// const onlyGroupedFlatRows: Row[] = [];
|
|
28
29
|
// const onlyGroupedRowsById: Record<RowId, Row> = {};
|
|
29
30
|
// const nonGroupedFlatRows: Row[] = [];
|
|
30
31
|
// const nonGroupedRowsById: Record<RowId, Row> = {};
|
|
31
|
-
// Recursively group the data
|
|
32
32
|
|
|
33
|
+
// Recursively group the data
|
|
33
34
|
const groupUpRecursively = function (rows, depth, parentId) {
|
|
34
35
|
if (depth === void 0) {
|
|
35
36
|
depth = 0;
|
|
36
37
|
}
|
|
37
|
-
|
|
38
38
|
// Grouping depth has been been met
|
|
39
39
|
// Stop grouping and simply rewrite thd depth and row relationships
|
|
40
40
|
if (depth >= existingGrouping.length) {
|
|
@@ -42,26 +42,27 @@ function getGroupedRowModel() {
|
|
|
42
42
|
row.depth = depth;
|
|
43
43
|
groupedFlatRows.push(row);
|
|
44
44
|
groupedRowsById[row.id] = row;
|
|
45
|
-
|
|
46
45
|
if (row.subRows) {
|
|
47
46
|
row.subRows = groupUpRecursively(row.subRows, depth + 1);
|
|
48
47
|
}
|
|
49
|
-
|
|
50
48
|
return row;
|
|
51
49
|
});
|
|
52
50
|
}
|
|
51
|
+
const columnId = existingGrouping[depth];
|
|
53
52
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const rowGroupsMap = groupBy(rows, columnId); // Peform aggregations for each group
|
|
53
|
+
// Group the rows together for this level
|
|
54
|
+
const rowGroupsMap = groupBy(rows, columnId);
|
|
57
55
|
|
|
56
|
+
// Peform aggregations for each group
|
|
58
57
|
const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map((_ref, index) => {
|
|
59
58
|
let [groupingValue, groupedRows] = _ref;
|
|
60
|
-
let id = columnId
|
|
61
|
-
id = parentId ? parentId
|
|
59
|
+
let id = `${columnId}:${groupingValue}`;
|
|
60
|
+
id = parentId ? `${parentId}>${id}` : id;
|
|
62
61
|
|
|
63
|
-
|
|
62
|
+
// First, Recurse to group sub rows before aggregation
|
|
63
|
+
const subRows = groupUpRecursively(groupedRows, depth + 1, id);
|
|
64
64
|
|
|
65
|
+
// Flatten the leaf rows of the rows in this group
|
|
65
66
|
const leafRows = depth ? utils.flattenBy(groupedRows, row => row.subRows) : groupedRows;
|
|
66
67
|
const row$1 = row.createRow(table, id, leafRows[0].original, index, depth);
|
|
67
68
|
Object.assign(row$1, {
|
|
@@ -75,24 +76,18 @@ function getGroupedRowModel() {
|
|
|
75
76
|
if (row$1._valuesCache.hasOwnProperty(columnId)) {
|
|
76
77
|
return row$1._valuesCache[columnId];
|
|
77
78
|
}
|
|
78
|
-
|
|
79
79
|
if (groupedRows[0]) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
row$1._valuesCache[columnId] = (_groupedRows$0$getVal = groupedRows[0].getValue(columnId)) != null ? _groupedRows$0$getVal : undefined;
|
|
80
|
+
row$1._valuesCache[columnId] = groupedRows[0].getValue(columnId) ?? undefined;
|
|
83
81
|
}
|
|
84
|
-
|
|
85
82
|
return row$1._valuesCache[columnId];
|
|
86
83
|
}
|
|
87
|
-
|
|
88
84
|
if (row$1._groupingValuesCache.hasOwnProperty(columnId)) {
|
|
89
85
|
return row$1._groupingValuesCache[columnId];
|
|
90
|
-
}
|
|
91
|
-
|
|
86
|
+
}
|
|
92
87
|
|
|
88
|
+
// Aggregate the values
|
|
93
89
|
const column = table.getColumn(columnId);
|
|
94
90
|
const aggregateFn = column.getAggregationFn();
|
|
95
|
-
|
|
96
91
|
if (aggregateFn) {
|
|
97
92
|
row$1._groupingValuesCache[columnId] = aggregateFn(columnId, leafRows, groupedRows);
|
|
98
93
|
return row$1._groupingValuesCache[columnId];
|
|
@@ -101,7 +96,8 @@ function getGroupedRowModel() {
|
|
|
101
96
|
});
|
|
102
97
|
subRows.forEach(subRow => {
|
|
103
98
|
groupedFlatRows.push(subRow);
|
|
104
|
-
groupedRowsById[subRow.id] = subRow;
|
|
99
|
+
groupedRowsById[subRow.id] = subRow;
|
|
100
|
+
// if (subRow.getIsGrouped?.()) {
|
|
105
101
|
// onlyGroupedFlatRows.push(subRow);
|
|
106
102
|
// onlyGroupedRowsById[subRow.id] = subRow;
|
|
107
103
|
// } else {
|
|
@@ -109,15 +105,16 @@ function getGroupedRowModel() {
|
|
|
109
105
|
// nonGroupedRowsById[subRow.id] = subRow;
|
|
110
106
|
// }
|
|
111
107
|
});
|
|
108
|
+
|
|
112
109
|
return row$1;
|
|
113
110
|
});
|
|
114
111
|
return aggregatedGroupedRows;
|
|
115
112
|
};
|
|
116
|
-
|
|
117
113
|
const groupedRows = groupUpRecursively(rowModel.rows, 0, '');
|
|
118
114
|
groupedRows.forEach(subRow => {
|
|
119
115
|
groupedFlatRows.push(subRow);
|
|
120
|
-
groupedRowsById[subRow.id] = subRow;
|
|
116
|
+
groupedRowsById[subRow.id] = subRow;
|
|
117
|
+
// if (subRow.getIsGrouped?.()) {
|
|
121
118
|
// onlyGroupedFlatRows.push(subRow);
|
|
122
119
|
// onlyGroupedRowsById[subRow.id] = subRow;
|
|
123
120
|
// } else {
|
|
@@ -125,6 +122,7 @@ function getGroupedRowModel() {
|
|
|
125
122
|
// nonGroupedRowsById[subRow.id] = subRow;
|
|
126
123
|
// }
|
|
127
124
|
});
|
|
125
|
+
|
|
128
126
|
return {
|
|
129
127
|
rows: groupedRows,
|
|
130
128
|
flatRows: groupedFlatRows,
|
|
@@ -132,33 +130,25 @@ function getGroupedRowModel() {
|
|
|
132
130
|
};
|
|
133
131
|
}, {
|
|
134
132
|
key: process.env.NODE_ENV === 'development' && 'getGroupedRowModel',
|
|
135
|
-
debug: () =>
|
|
136
|
-
var _table$options$debugA;
|
|
137
|
-
|
|
138
|
-
return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
|
|
139
|
-
},
|
|
133
|
+
debug: () => table.options.debugAll ?? table.options.debugTable,
|
|
140
134
|
onChange: () => {
|
|
141
135
|
table._queue(() => {
|
|
142
136
|
table._autoResetExpanded();
|
|
143
|
-
|
|
144
137
|
table._autoResetPageIndex();
|
|
145
138
|
});
|
|
146
139
|
}
|
|
147
140
|
});
|
|
148
141
|
}
|
|
149
|
-
|
|
150
142
|
function groupBy(rows, columnId) {
|
|
151
143
|
const groupMap = new Map();
|
|
152
144
|
return rows.reduce((map, row) => {
|
|
153
|
-
const resKey =
|
|
145
|
+
const resKey = `${row.getValue(columnId)}`;
|
|
154
146
|
const previous = map.get(resKey);
|
|
155
|
-
|
|
156
147
|
if (!previous) {
|
|
157
148
|
map.set(resKey, [row]);
|
|
158
149
|
} else {
|
|
159
150
|
map.set(resKey, [...previous, row]);
|
|
160
151
|
}
|
|
161
|
-
|
|
162
152
|
return map;
|
|
163
153
|
}, groupMap);
|
|
164
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Table, Row, RowModel, RowData } from '../types'\nimport { flattenBy, memo } from '../utils'\n\nexport function getGroupedRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.getState().grouping, table.getPreGroupedRowModel()],\n (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId =>\n table.getColumn(columnId)\n )\n\n const groupedFlatRows: Row<TData>[] = []\n const groupedRowsById: Record<string, Row<TData>> = {}\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Row<TData>[],\n depth = 0,\n parentId?: string\n ) => {\n // Grouping depth has been been met\n // Stop grouping and simply rewrite thd depth and row relationships\n if (depth >= existingGrouping.length) {\n return rows.map(row => {\n row.depth = depth\n\n groupedFlatRows.push(row)\n groupedRowsById[row.id] = row\n\n if (row.subRows) {\n row.subRows = groupUpRecursively(row.subRows, depth + 1)\n }\n\n return row\n })\n }\n\n const columnId = existingGrouping[depth]!\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, row => row.subRows)\n : groupedRows\n\n const row = createRow(\n table,\n id,\n leafRows[0]!.original,\n index,\n depth\n )\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (columnId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n if (groupedRows[0]) {\n row._valuesCache[columnId] =\n groupedRows[0].getValue(columnId) ?? undefined\n }\n\n return row._valuesCache[columnId]\n }\n\n if (row._groupingValuesCache.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId]\n }\n\n // Aggregate the values\n const column = table.getColumn(columnId)\n const aggregateFn = column.getAggregationFn()\n\n if (aggregateFn) {\n row._groupingValuesCache[columnId] = aggregateFn(\n columnId,\n leafRows,\n groupedRows\n )\n\n return row._groupingValuesCache[columnId]\n }\n },\n })\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0, '')\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getGroupedRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {\n table._queue(() => {\n table._autoResetExpanded()\n table._autoResetPageIndex()\n })\n },\n }\n )\n}\n\nfunction groupBy<TData extends RowData>(rows: Row<TData>[], columnId: string) {\n const groupMap = new Map<any, Row<TData>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.getValue(columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n map.set(resKey, [...previous, row])\n }\n return map\n }, groupMap)\n}\n"],"names":["getGroupedRowModel","table","memo","getState","grouping","getPreGroupedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","groupedFlatRows","groupedRowsById","groupUpRecursively","depth","parentId","map","row","push","id","subRows","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","index","groupingValue","groupedRows","leafRows","flattenBy","createRow","original","Object","assign","groupingColumnId","getValue","includes","_valuesCache","hasOwnProperty","undefined","_groupingValuesCache","column","aggregateFn","getAggregationFn","forEach","subRow","flatRows","rowsById","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange","_queue","_autoResetExpanded","_autoResetPageIndex","groupMap","Map","reduce","resKey","previous","get","set"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { createRow } from '../core/row'\nimport { Table, Row, RowModel, RowData } from '../types'\nimport { flattenBy, memo } from '../utils'\n\nexport function getGroupedRowModel<TData extends RowData>(): (\n table: Table<TData>\n) => () => RowModel<TData> {\n return table =>\n memo(\n () => [table.getState().grouping, table.getPreGroupedRowModel()],\n (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId =>\n table.getColumn(columnId)\n )\n\n const groupedFlatRows: Row<TData>[] = []\n const groupedRowsById: Record<string, Row<TData>> = {}\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Row<TData>[],\n depth = 0,\n parentId?: string\n ) => {\n // Grouping depth has been been met\n // Stop grouping and simply rewrite thd depth and row relationships\n if (depth >= existingGrouping.length) {\n return rows.map(row => {\n row.depth = depth\n\n groupedFlatRows.push(row)\n groupedRowsById[row.id] = row\n\n if (row.subRows) {\n row.subRows = groupUpRecursively(row.subRows, depth + 1)\n }\n\n return row\n })\n }\n\n const columnId = existingGrouping[depth]!\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, row => row.subRows)\n : groupedRows\n\n const row = createRow(\n table,\n id,\n leafRows[0]!.original,\n index,\n depth\n )\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (columnId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId]\n }\n\n if (groupedRows[0]) {\n row._valuesCache[columnId] =\n groupedRows[0].getValue(columnId) ?? undefined\n }\n\n return row._valuesCache[columnId]\n }\n\n if (row._groupingValuesCache.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId]\n }\n\n // Aggregate the values\n const column = table.getColumn(columnId)\n const aggregateFn = column.getAggregationFn()\n\n if (aggregateFn) {\n row._groupingValuesCache[columnId] = aggregateFn(\n columnId,\n leafRows,\n groupedRows\n )\n\n return row._groupingValuesCache[columnId]\n }\n },\n })\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0, '')\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getGroupedRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n onChange: () => {\n table._queue(() => {\n table._autoResetExpanded()\n table._autoResetPageIndex()\n })\n },\n }\n )\n}\n\nfunction groupBy<TData extends RowData>(rows: Row<TData>[], columnId: string) {\n const groupMap = new Map<any, Row<TData>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.getValue(columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n map.set(resKey, [...previous, row])\n }\n return map\n }, groupMap)\n}\n"],"names":["getGroupedRowModel","table","memo","getState","grouping","getPreGroupedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","groupedFlatRows","groupedRowsById","groupUpRecursively","depth","parentId","map","row","push","id","subRows","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","index","groupingValue","groupedRows","leafRows","flattenBy","createRow","original","Object","assign","groupingColumnId","getValue","includes","_valuesCache","hasOwnProperty","undefined","_groupingValuesCache","column","aggregateFn","getAggregationFn","forEach","subRow","flatRows","rowsById","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange","_queue","_autoResetExpanded","_autoResetPageIndex","groupMap","Map","reduce","resKey","previous","get","set"],"mappings":"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"}
|
|
@@ -20,7 +20,6 @@ function getPaginationRowModel(opts) {
|
|
|
20
20
|
if (!rowModel.rows.length) {
|
|
21
21
|
return rowModel;
|
|
22
22
|
}
|
|
23
|
-
|
|
24
23
|
const {
|
|
25
24
|
pageSize,
|
|
26
25
|
pageIndex
|
|
@@ -34,7 +33,6 @@ function getPaginationRowModel(opts) {
|
|
|
34
33
|
const pageEnd = pageStart + pageSize;
|
|
35
34
|
rows = rows.slice(pageStart, pageEnd);
|
|
36
35
|
let paginatedRowModel;
|
|
37
|
-
|
|
38
36
|
if (!table.options.paginateExpandedRows) {
|
|
39
37
|
paginatedRowModel = getExpandedRowModel.expandRows({
|
|
40
38
|
rows,
|
|
@@ -48,26 +46,18 @@ function getPaginationRowModel(opts) {
|
|
|
48
46
|
rowsById
|
|
49
47
|
};
|
|
50
48
|
}
|
|
51
|
-
|
|
52
49
|
paginatedRowModel.flatRows = [];
|
|
53
|
-
|
|
54
50
|
const handleRow = row => {
|
|
55
51
|
paginatedRowModel.flatRows.push(row);
|
|
56
|
-
|
|
57
52
|
if (row.subRows.length) {
|
|
58
53
|
row.subRows.forEach(handleRow);
|
|
59
54
|
}
|
|
60
55
|
};
|
|
61
|
-
|
|
62
56
|
paginatedRowModel.rows.forEach(handleRow);
|
|
63
57
|
return paginatedRowModel;
|
|
64
58
|
}, {
|
|
65
59
|
key: process.env.NODE_ENV === 'development' && 'getPaginationRowModel',
|
|
66
|
-
debug: () =>
|
|
67
|
-
var _table$options$debugA;
|
|
68
|
-
|
|
69
|
-
return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
|
|
70
|
-
}
|
|
60
|
+
debug: () => table.options.debugAll ?? table.options.debugTable
|
|
71
61
|
});
|
|
72
62
|
}
|
|
73
63
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPaginationRowModel.js","sources":["../../../src/utils/getPaginationRowModel.ts"],"sourcesContent":["import { Table, RowModel, Row, RowData } from '../types'\nimport { memo } from '../utils'\nimport { expandRows } from './getExpandedRowModel'\n\nexport function getPaginationRowModel<TData extends RowData>(opts?: {\n initialSync: boolean\n}): (table: Table<TData>) => () => RowModel<TData> {\n return table =>\n memo(\n () => [\n table.getState().pagination,\n table.getPrePaginationRowModel(),\n table.options.paginateExpandedRows\n ? undefined\n : table.getState().expanded,\n ],\n (pagination, rowModel) => {\n if (!rowModel.rows.length) {\n return rowModel\n }\n\n const { pageSize, pageIndex } = pagination\n let { rows, flatRows, rowsById } = rowModel\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n rows = rows.slice(pageStart, pageEnd)\n\n let paginatedRowModel: RowModel<TData>\n\n if (!table.options.paginateExpandedRows) {\n paginatedRowModel = expandRows({\n rows,\n flatRows,\n rowsById,\n })\n } else {\n paginatedRowModel = {\n rows,\n flatRows,\n rowsById,\n }\n }\n\n paginatedRowModel.flatRows = []\n\n const handleRow = (row: Row<TData>) => {\n paginatedRowModel.flatRows.push(row)\n if (row.subRows.length) {\n row.subRows.forEach(handleRow)\n }\n }\n\n paginatedRowModel.rows.forEach(handleRow)\n\n return paginatedRowModel\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getPaginationRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n }\n )\n}\n"],"names":["getPaginationRowModel","opts","table","memo","getState","pagination","getPrePaginationRowModel","options","paginateExpandedRows","undefined","expanded","rowModel","rows","length","pageSize","pageIndex","flatRows","rowsById","pageStart","pageEnd","slice","paginatedRowModel","expandRows","handleRow","row","push","subRows","forEach","key","process","env","NODE_ENV","debug","debugAll","debugTable"],"mappings":";;;;;;;;;;;;;;;;;AAIO,SAASA,
|
|
1
|
+
{"version":3,"file":"getPaginationRowModel.js","sources":["../../../src/utils/getPaginationRowModel.ts"],"sourcesContent":["import { Table, RowModel, Row, RowData } from '../types'\nimport { memo } from '../utils'\nimport { expandRows } from './getExpandedRowModel'\n\nexport function getPaginationRowModel<TData extends RowData>(opts?: {\n initialSync: boolean\n}): (table: Table<TData>) => () => RowModel<TData> {\n return table =>\n memo(\n () => [\n table.getState().pagination,\n table.getPrePaginationRowModel(),\n table.options.paginateExpandedRows\n ? undefined\n : table.getState().expanded,\n ],\n (pagination, rowModel) => {\n if (!rowModel.rows.length) {\n return rowModel\n }\n\n const { pageSize, pageIndex } = pagination\n let { rows, flatRows, rowsById } = rowModel\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n rows = rows.slice(pageStart, pageEnd)\n\n let paginatedRowModel: RowModel<TData>\n\n if (!table.options.paginateExpandedRows) {\n paginatedRowModel = expandRows({\n rows,\n flatRows,\n rowsById,\n })\n } else {\n paginatedRowModel = {\n rows,\n flatRows,\n rowsById,\n }\n }\n\n paginatedRowModel.flatRows = []\n\n const handleRow = (row: Row<TData>) => {\n paginatedRowModel.flatRows.push(row)\n if (row.subRows.length) {\n row.subRows.forEach(handleRow)\n }\n }\n\n paginatedRowModel.rows.forEach(handleRow)\n\n return paginatedRowModel\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getPaginationRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n }\n )\n}\n"],"names":["getPaginationRowModel","opts","table","memo","getState","pagination","getPrePaginationRowModel","options","paginateExpandedRows","undefined","expanded","rowModel","rows","length","pageSize","pageIndex","flatRows","rowsById","pageStart","pageEnd","slice","paginatedRowModel","expandRows","handleRow","row","push","subRows","forEach","key","process","env","NODE_ENV","debug","debugAll","debugTable"],"mappings":";;;;;;;;;;;;;;;;;AAIO,SAASA,qBAAqB,CAAwBC,IAE5D,EAAkD;AACjD,EAAA,OAAOC,KAAK,IACVC,UAAI,CACF,MAAM,CACJD,KAAK,CAACE,QAAQ,EAAE,CAACC,UAAU,EAC3BH,KAAK,CAACI,wBAAwB,EAAE,EAChCJ,KAAK,CAACK,OAAO,CAACC,oBAAoB,GAC9BC,SAAS,GACTP,KAAK,CAACE,QAAQ,EAAE,CAACM,QAAQ,CAC9B,EACD,CAACL,UAAU,EAAEM,QAAQ,KAAK;AACxB,IAAA,IAAI,CAACA,QAAQ,CAACC,IAAI,CAACC,MAAM,EAAE;AACzB,MAAA,OAAOF,QAAQ,CAAA;AACjB,KAAA;IAEA,MAAM;MAAEG,QAAQ;AAAEC,MAAAA,SAAAA;AAAU,KAAC,GAAGV,UAAU,CAAA;IAC1C,IAAI;MAAEO,IAAI;MAAEI,QAAQ;AAAEC,MAAAA,QAAAA;AAAS,KAAC,GAAGN,QAAQ,CAAA;AAC3C,IAAA,MAAMO,SAAS,GAAGJ,QAAQ,GAAGC,SAAS,CAAA;AACtC,IAAA,MAAMI,OAAO,GAAGD,SAAS,GAAGJ,QAAQ,CAAA;IAEpCF,IAAI,GAAGA,IAAI,CAACQ,KAAK,CAACF,SAAS,EAAEC,OAAO,CAAC,CAAA;AAErC,IAAA,IAAIE,iBAAkC,CAAA;AAEtC,IAAA,IAAI,CAACnB,KAAK,CAACK,OAAO,CAACC,oBAAoB,EAAE;MACvCa,iBAAiB,GAAGC,8BAAU,CAAC;QAC7BV,IAAI;QACJI,QAAQ;AACRC,QAAAA,QAAAA;AACF,OAAC,CAAC,CAAA;AACJ,KAAC,MAAM;AACLI,MAAAA,iBAAiB,GAAG;QAClBT,IAAI;QACJI,QAAQ;AACRC,QAAAA,QAAAA;OACD,CAAA;AACH,KAAA;IAEAI,iBAAiB,CAACL,QAAQ,GAAG,EAAE,CAAA;IAE/B,MAAMO,SAAS,GAAIC,GAAe,IAAK;AACrCH,MAAAA,iBAAiB,CAACL,QAAQ,CAACS,IAAI,CAACD,GAAG,CAAC,CAAA;AACpC,MAAA,IAAIA,GAAG,CAACE,OAAO,CAACb,MAAM,EAAE;AACtBW,QAAAA,GAAG,CAACE,OAAO,CAACC,OAAO,CAACJ,SAAS,CAAC,CAAA;AAChC,OAAA;KACD,CAAA;AAEDF,IAAAA,iBAAiB,CAACT,IAAI,CAACe,OAAO,CAACJ,SAAS,CAAC,CAAA;AAEzC,IAAA,OAAOF,iBAAiB,CAAA;AAC1B,GAAC,EACD;IACEO,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAI,uBAAuB;IACtEC,KAAK,EAAE,MAAM9B,KAAK,CAACK,OAAO,CAAC0B,QAAQ,IAAI/B,KAAK,CAACK,OAAO,CAAC2B,UAAAA;AACvD,GAAC,CACF,CAAA;AACL;;;;"}
|