@tanstack/table-core 8.0.0-alpha.65 → 8.0.0-alpha.67
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/core.js +0 -2
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/features/Cells.js +1 -1
- package/build/cjs/features/Cells.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +65 -140
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Columns.js +5 -5
- package/build/cjs/features/Columns.js.map +1 -1
- package/build/cjs/features/Expanding.js +49 -87
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +89 -145
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +30 -58
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +16 -40
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js +1 -1
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +1 -1
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js +70 -95
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js +60 -112
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +33 -83
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +16 -39
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/utils/getCoreRowModelAsync.js +1 -1
- package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
- package/build/cjs/utils/getCoreRowModelSync.js +1 -1
- package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
- package/build/cjs/utils/getExpandedRowModel.js +2 -2
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
- package/build/cjs/utils/getFilteredRowModelSync.js +64 -69
- package/build/cjs/utils/getFilteredRowModelSync.js.map +1 -1
- package/build/cjs/utils/getGroupedRowModel.js +1 -1
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getPaginationRowModel.js +1 -1
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModelSync.js +3 -3
- package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
- package/build/esm/index.js +546 -924
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +354 -354
- package/build/types/features/ColumnSizing.d.ts +2 -13
- package/build/types/features/Expanding.d.ts +1 -6
- package/build/types/features/Filters.d.ts +12 -14
- package/build/types/features/Grouping.d.ts +0 -7
- package/build/types/features/Pinning.d.ts +0 -4
- package/build/types/features/RowSelection.d.ts +1 -7
- package/build/types/features/Sorting.d.ts +3 -14
- package/build/types/features/Visibility.d.ts +0 -4
- package/build/types/types.d.ts +0 -2
- package/build/umd/index.development.js +534 -912
- 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 +0 -2
- package/src/features/Cells.ts +1 -1
- package/src/features/ColumnSizing.ts +67 -125
- package/src/features/Columns.ts +6 -5
- package/src/features/Expanding.ts +58 -105
- package/src/features/Filters.ts +122 -172
- package/src/features/Grouping.ts +36 -60
- package/src/features/Headers.ts +18 -40
- package/src/features/Ordering.ts +1 -1
- package/src/features/Pagination.ts +1 -1
- package/src/features/Pinning.ts +66 -89
- package/src/features/RowSelection.ts +63 -115
- package/src/features/Sorting.ts +36 -94
- package/src/features/Visibility.ts +19 -49
- package/src/types.ts +0 -2
- package/src/utils/getCoreRowModelAsync.ts +1 -1
- package/src/utils/getCoreRowModelSync.ts +1 -1
- package/src/utils/getExpandedRowModel.ts +2 -2
- package/src/utils/getFilteredRowModelAsync.ts +118 -10
- package/src/utils/getFilteredRowModelSync.ts +95 -104
- package/src/utils/getGroupedRowModel.ts +1 -1
- package/src/utils/getPaginationRowModel.ts +1 -1
- package/src/utils/getSortedRowModelAsync.ts +1 -1
- package/src/utils/getSortedRowModelSync.ts +4 -4
|
@@ -26,7 +26,7 @@ function getExpandedRowModel() {
|
|
|
26
26
|
|
|
27
27
|
return expandRows(rowModel, instance);
|
|
28
28
|
}, {
|
|
29
|
-
key: process.env.NODE_ENV === '
|
|
29
|
+
key: process.env.NODE_ENV === 'development' && 'getExpandedRowModel',
|
|
30
30
|
debug: function debug() {
|
|
31
31
|
var _instance$options$deb;
|
|
32
32
|
|
|
@@ -43,7 +43,7 @@ function expandRows(rowModel, instance) {
|
|
|
43
43
|
|
|
44
44
|
expandedRows.push(row);
|
|
45
45
|
|
|
46
|
-
if (instance.options.expandSubRows && (_row$subRows = row.subRows) != null && _row$subRows.length &&
|
|
46
|
+
if (instance.options.expandSubRows && (_row$subRows = row.subRows) != null && _row$subRows.length && row.getIsExpanded()) {
|
|
47
47
|
row.subRows.forEach(handleRow);
|
|
48
48
|
}
|
|
49
49
|
};
|
|
@@ -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,OAAO,UAAAC,QAAQ,EAAA;AAAA,IAAA,OACbC,UAAI,CACF,YAAA;AAAA,MAAA,OAAM,CACJD,QAAQ,CAACE,QAAT,EAAA,CAAoBC,QADhB,EAEJH,QAAQ,CAACI,sBAAT,EAFI,EAGJJ,QAAQ,CAACK,OAAT,CAAiBC,oBAHb,CAAN,CAAA;AAAA,KADE,EAMF,UAACH,QAAD,EAAWI,QAAX,EAAqBD,oBAArB,EAA8C;AAC5C,MAAA,IACE,CAACC,QAAQ,CAACC,IAAT,CAAcC,MAAf;AAEA,MAAA,CAACH,oBAFD,IAGCH,QAAQ,KAAK,IAAb,IAAqB,CAACO,MAAM,CAACC,IAAP,CAAYR,QAAZ,IAAYA,IAAAA,GAAAA,QAAZ,GAAwB,EAAxB,CAAA,CAA4BM,MAJrD,EAKE;AACA,QAAA,OAAOF,QAAP,CAAA;AACD,OAAA;;AAED,MAAA,OAAOK,UAAU,CAACL,QAAD,EAAWP,QAAX,CAAjB,CAAA;AACD,KAjBC,EAkBF;AACEa,MAAAA,GAAG,EAAEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0C,qBADjD;AAEEC,MAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAAA,QAAMjB,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACK,OAAT,CAAiBa,QAAvB,oCAAmClB,QAAQ,CAACK,OAAT,CAAiBc,UAApD,CAAA;AAAA,OAAA;AAFT,KAlBE,CADS,CAAA;AAAA,GAAf,CAAA;AAwBD,CAAA;AAEM,SAASP,UAAT,CACLL,QADK,EAELP,QAFK,EAGL;AACA,EAAMoB,IAAAA,YAA8B,GAAG,EAAvC,CAAA;;AAEA,EAAA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,GAAD,EAAyB;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;;;;;"}
|
|
@@ -20,98 +20,93 @@ function getFilteredRowModelSync() {
|
|
|
20
20
|
return utils.memo(function () {
|
|
21
21
|
return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter];
|
|
22
22
|
}, function (rowModel, columnFilters, globalFilter) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
23
|
+
if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
|
|
24
|
+
return rowModel;
|
|
25
|
+
}
|
|
27
26
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
var resolvedColumnFilters = [];
|
|
28
|
+
var resolvedGlobalFilters = [];
|
|
29
|
+
(columnFilters != null ? columnFilters : []).forEach(function (d) {
|
|
30
|
+
var _filterFn$resolveFilt;
|
|
32
31
|
|
|
33
|
-
|
|
32
|
+
var column = instance.getColumn(d.id);
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
34
|
+
if (!column) {
|
|
35
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
36
|
+
console.warn("Table: Could not find a column to filter with columnId: " + d.id);
|
|
39
37
|
}
|
|
38
|
+
}
|
|
40
39
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if (!filterFn) {
|
|
44
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
45
|
-
console.warn("Could not find a valid 'column.filterFn' for column with the ID: " + column.id + ".");
|
|
46
|
-
}
|
|
40
|
+
var filterFn = column.getFilterFn();
|
|
47
41
|
|
|
48
|
-
|
|
42
|
+
if (!filterFn) {
|
|
43
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
44
|
+
console.warn("Could not find a valid 'column.filterFn' for column with the ID: " + column.id + ".");
|
|
49
45
|
}
|
|
50
46
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
filterFn: filterFn,
|
|
54
|
-
resolvedFilterValue: (_filterFn$resolveFilt = filterFn.resolveFilterValue == null ? void 0 : filterFn.resolveFilterValue(d.value)) != null ? _filterFn$resolveFilt : d.value
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
var filterableIds = columnFilters.map(function (d) {
|
|
58
|
-
return d.id;
|
|
59
|
-
});
|
|
60
|
-
var globalFilterFn = instance.getGlobalFilterFn();
|
|
61
|
-
var globallyFilterableColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
62
|
-
return column.getCanGlobalFilter();
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
|
|
66
|
-
filterableIds.push('__global__');
|
|
67
|
-
globallyFilterableColumns.forEach(function (column) {
|
|
68
|
-
var _globalFilterFn$resol;
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
69
49
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
50
|
+
resolvedColumnFilters.push({
|
|
51
|
+
id: d.id,
|
|
52
|
+
filterFn: filterFn,
|
|
53
|
+
resolvedValue: (_filterFn$resolveFilt = filterFn.resolveFilterValue == null ? void 0 : filterFn.resolveFilterValue(d.value)) != null ? _filterFn$resolveFilt : d.value
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
var filterableIds = columnFilters.map(function (d) {
|
|
57
|
+
return d.id;
|
|
58
|
+
});
|
|
59
|
+
var globalFilterFn = instance.getGlobalFilterFn();
|
|
60
|
+
var globallyFilterableColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
61
|
+
return column.getCanGlobalFilter();
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
|
|
65
|
+
filterableIds.push('__global__');
|
|
66
|
+
globallyFilterableColumns.forEach(function (column) {
|
|
67
|
+
var _globalFilterFn$resol;
|
|
68
|
+
|
|
69
|
+
resolvedGlobalFilters.push({
|
|
70
|
+
id: column.id,
|
|
71
|
+
filterFn: globalFilterFn,
|
|
72
|
+
resolvedValue: (_globalFilterFn$resol = globalFilterFn.resolveFilterValue == null ? void 0 : globalFilterFn.resolveFilterValue(globalFilter)) != null ? _globalFilterFn$resol : globalFilter
|
|
75
73
|
});
|
|
76
|
-
}
|
|
74
|
+
});
|
|
75
|
+
} // Flag the prefiltered row model with each filter state
|
|
77
76
|
|
|
78
77
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
for (var j = 0; j < rowModel.flatRows.length; j++) {
|
|
79
|
+
var row = rowModel.flatRows[j];
|
|
80
|
+
row.columnFilterMap = {};
|
|
82
81
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
if (resolvedColumnFilters.length) {
|
|
83
|
+
for (var i = 0; i < resolvedColumnFilters.length; i++) {
|
|
84
|
+
var columnFilter = resolvedColumnFilters[i]; // Tag the row with the column filter state
|
|
86
85
|
|
|
87
|
-
|
|
88
|
-
}
|
|
86
|
+
row.columnFilterMap[columnFilter.id] = columnFilter.filterFn(row, columnFilter.id, columnFilter.resolvedValue);
|
|
89
87
|
}
|
|
88
|
+
}
|
|
90
89
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
var _globalFilter = resolvedGlobalFilters[_i]; // Tag the row with the first truthy global filter state
|
|
95
|
-
|
|
96
|
-
if (_globalFilter.filterFn(row, _globalFilter.id, _globalFilter.resolvedFilterValue)) {
|
|
97
|
-
row.columnFilterMap.__global__ = true;
|
|
98
|
-
break;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
90
|
+
if (resolvedGlobalFilters.length) {
|
|
91
|
+
for (var _i = 0; _i < resolvedGlobalFilters.length; _i++) {
|
|
92
|
+
var _globalFilter = resolvedGlobalFilters[_i]; // Tag the row with the first truthy global filter state
|
|
101
93
|
|
|
102
|
-
if (row.
|
|
103
|
-
row.columnFilterMap.__global__ =
|
|
94
|
+
if (_globalFilter.filterFn(row, _globalFilter.id, _globalFilter.resolvedValue)) {
|
|
95
|
+
row.columnFilterMap.__global__ = true;
|
|
96
|
+
break;
|
|
104
97
|
}
|
|
105
98
|
}
|
|
106
|
-
} // Filter final rows using all of the active filters
|
|
107
99
|
|
|
100
|
+
if (row.columnFilterMap.__global__ !== true) {
|
|
101
|
+
row.columnFilterMap.__global__ = false;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
} // Filter final rows using all of the active filters
|
|
108
105
|
|
|
109
|
-
return filterRowsUtils.filterRows(rowModel.rows, filterableIds, instance);
|
|
110
|
-
}();
|
|
111
106
|
|
|
112
|
-
return
|
|
107
|
+
return filterRowsUtils.filterRows(rowModel.rows, filterableIds, instance);
|
|
113
108
|
}, {
|
|
114
|
-
key: process.env.NODE_ENV === '
|
|
109
|
+
key: process.env.NODE_ENV === 'development' && 'getFilteredRowModelSync',
|
|
115
110
|
debug: function debug() {
|
|
116
111
|
var _instance$options$deb;
|
|
117
112
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFilteredRowModelSync.js","sources":["../../../src/utils/getFilteredRowModelSync.ts"],"sourcesContent":["import { ColumnFilter, FilterFn } from '../features/Filters'\nimport { TableInstance, RowModel, TableGenerics, Row } from '../types'\nimport { memo } from '../utils'\nimport { filterRows } from './filterRowsUtils'\n\ntype ResolvedColumnFilter<TGenerics extends TableGenerics> = {\n id: string\n filterFn: FilterFn<TGenerics>\n resolvedFilterValue: unknown\n}\n\nexport function getFilteredRowModelSync<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getPreFilteredRowModel(),\n instance.getState().columnFilters,\n instance.getState().globalFilter,\n ],\n (rowModel, columnFilters, globalFilter) => {\n const columnFilteredRowModel: RowModel<TGenerics> = (() => {\n if (\n !rowModel.rows.length ||\n (!columnFilters?.length && !globalFilter)\n ) {\n return rowModel\n }\n\n const resolvedColumnFilters: ResolvedColumnFilter<TGenerics>[] = []\n const resolvedGlobalFilters: ResolvedColumnFilter<TGenerics>[] = []\n\n ;(columnFilters ?? []).forEach(d => {\n const column = instance.getColumn(d.id)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Table: Could not find a column to filter with columnId: ${d.id}`\n )\n }\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)!\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 resolvedFilterValue:\n filterFn.resolveFilterValue?.(d.value) ?? d.value,\n })\n })\n\n const filterableIds = columnFilters.map(d => d.id)\n\n const globalFilterFn = instance.getGlobalFilterFn()\n\n const globallyFilterableColumns = instance\n .getAllLeafColumns()\n .filter(column => column.getCanGlobalFilter())\n\n if (\n globalFilter &&\n globalFilterFn &&\n globallyFilterableColumns.length\n ) {\n filterableIds.push('__global__')\n\n globallyFilterableColumns.forEach(column => {\n resolvedGlobalFilters.push({\n id: column.id,\n filterFn: globalFilterFn,\n resolvedFilterValue:\n globalFilterFn.resolveFilterValue?.(globalFilter) ??\n globalFilter,\n })\n })\n }\n\n // Flag the prefiltered row model with each filter state\n for (let j = 0; j < rowModel.flatRows.length; j++) {\n const row = rowModel.flatRows[j]\n\n row.columnFilterMap = {}\n\n if (resolvedColumnFilters.length) {\n for (let i = 0; i < resolvedColumnFilters.length; i++) {\n const columnFilter = resolvedColumnFilters[i]\n\n // Tag the row with the column filter state\n row.columnFilterMap[columnFilter.id] = columnFilter.filterFn(\n row,\n columnFilter.id,\n columnFilter.resolvedFilterValue\n )\n }\n }\n\n if (resolvedGlobalFilters.length) {\n let hit = false\n\n for (let i = 0; i < resolvedGlobalFilters.length; i++) {\n const globalFilter = resolvedGlobalFilters[i]\n // Tag the row with the first truthy global filter state\n if (\n globalFilter.filterFn(\n row,\n globalFilter.id,\n globalFilter.resolvedFilterValue\n )\n ) {\n hit = true\n row.columnFilterMap.__global__ = true\n break\n }\n }\n\n if (row.columnFilterMap.__global__ !== true) {\n row.columnFilterMap.__global__ = false\n }\n }\n }\n\n // Filter final rows using all of the active filters\n return filterRows(rowModel.rows, filterableIds, instance)\n })()\n\n return columnFilteredRowModel\n },\n {\n key: process.env.NODE_ENV === 'production' && 'getFilteredRowModelSync',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n"],"names":["getFilteredRowModelSync","instance","memo","getPreFilteredRowModel","getState","columnFilters","globalFilter","rowModel","columnFilteredRowModel","rows","length","resolvedColumnFilters","resolvedGlobalFilters","forEach","d","column","getColumn","id","process","env","NODE_ENV","console","warn","filterFn","getColumnFilterFn","push","resolvedFilterValue","resolveFilterValue","value","filterableIds","map","globalFilterFn","getGlobalFilterFn","globallyFilterableColumns","getAllLeafColumns","filter","getCanGlobalFilter","j","flatRows","row","columnFilterMap","i","columnFilter","__global__","filterRows","key","debug","options","debugAll","debugTable","onChange","queue","_autoResetPageIndex"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getFilteredRowModelSync.js","sources":["../../../src/utils/getFilteredRowModelSync.ts"],"sourcesContent":["import {\n ColumnFilter,\n FilterFn,\n ResolvedColumnFilter,\n} from '../features/Filters'\nimport { TableInstance, RowModel, TableGenerics, Row } from '../types'\nimport { memo } from '../utils'\nimport { filterRows } from './filterRowsUtils'\n\nexport function getFilteredRowModelSync<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getPreFilteredRowModel(),\n instance.getState().columnFilters,\n instance.getState().globalFilter,\n ],\n (rowModel, columnFilters, globalFilter) => {\n if (\n !rowModel.rows.length ||\n (!columnFilters?.length && !globalFilter)\n ) {\n return rowModel\n }\n\n const resolvedColumnFilters: ResolvedColumnFilter<TGenerics>[] = []\n const resolvedGlobalFilters: ResolvedColumnFilter<TGenerics>[] = []\n\n ;(columnFilters ?? []).forEach(d => {\n const column = instance.getColumn(d.id)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Table: Could not find a column to filter with columnId: ${d.id}`\n )\n }\n }\n\n const filterFn = column.getFilterFn()\n\n if (!filterFn) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`\n )\n }\n return\n }\n\n resolvedColumnFilters.push({\n id: d.id,\n filterFn,\n resolvedValue: filterFn.resolveFilterValue?.(d.value) ?? d.value,\n })\n })\n\n const filterableIds = columnFilters.map(d => d.id)\n\n const globalFilterFn = instance.getGlobalFilterFn()\n\n const globallyFilterableColumns = instance\n .getAllLeafColumns()\n .filter(column => column.getCanGlobalFilter())\n\n if (\n globalFilter &&\n globalFilterFn &&\n globallyFilterableColumns.length\n ) {\n filterableIds.push('__global__')\n\n globallyFilterableColumns.forEach(column => {\n resolvedGlobalFilters.push({\n id: column.id,\n filterFn: globalFilterFn,\n resolvedValue:\n globalFilterFn.resolveFilterValue?.(globalFilter) ??\n globalFilter,\n })\n })\n }\n\n // Flag the prefiltered row model with each filter state\n for (let j = 0; j < rowModel.flatRows.length; j++) {\n const row = rowModel.flatRows[j]\n\n row.columnFilterMap = {}\n\n if (resolvedColumnFilters.length) {\n for (let i = 0; i < resolvedColumnFilters.length; i++) {\n const columnFilter = resolvedColumnFilters[i]\n\n // Tag the row with the column filter state\n row.columnFilterMap[columnFilter.id] = columnFilter.filterFn(\n row,\n columnFilter.id,\n columnFilter.resolvedValue\n )\n }\n }\n\n if (resolvedGlobalFilters.length) {\n for (let i = 0; i < resolvedGlobalFilters.length; i++) {\n const globalFilter = resolvedGlobalFilters[i]\n // Tag the row with the first truthy global filter state\n if (\n globalFilter.filterFn(\n row,\n globalFilter.id,\n globalFilter.resolvedValue\n )\n ) {\n row.columnFilterMap.__global__ = true\n break\n }\n }\n\n if (row.columnFilterMap.__global__ !== true) {\n row.columnFilterMap.__global__ = false\n }\n }\n }\n\n // Filter final rows using all of the active filters\n return filterRows(rowModel.rows, filterableIds, instance)\n },\n {\n key:\n process.env.NODE_ENV === 'development' && 'getFilteredRowModelSync',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n"],"names":["getFilteredRowModelSync","instance","memo","getPreFilteredRowModel","getState","columnFilters","globalFilter","rowModel","rows","length","resolvedColumnFilters","resolvedGlobalFilters","forEach","d","column","getColumn","id","process","env","NODE_ENV","console","warn","filterFn","getFilterFn","push","resolvedValue","resolveFilterValue","value","filterableIds","map","globalFilterFn","getGlobalFilterFn","globallyFilterableColumns","getAllLeafColumns","filter","getCanGlobalFilter","j","flatRows","row","columnFilterMap","i","columnFilter","__global__","filterRows","key","debug","options","debugAll","debugTable","onChange","queue","_autoResetPageIndex"],"mappings":"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"}
|
|
@@ -141,7 +141,7 @@ function getGroupedRowModelSync() {
|
|
|
141
141
|
rowsById: groupedRowsById
|
|
142
142
|
};
|
|
143
143
|
}, {
|
|
144
|
-
key: process.env.NODE_ENV === '
|
|
144
|
+
key: process.env.NODE_ENV === 'development' && 'getGroupedRowModel',
|
|
145
145
|
debug: function debug() {
|
|
146
146
|
var _instance$options$deb;
|
|
147
147
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { flattenBy, memo } from '../utils'\n\nexport function getGroupedRowModelSync<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().grouping, instance.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 instance.getColumn(columnId)\n )\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (\n leafRows: Row<TGenerics>[],\n groupedRows: Row<TGenerics>[],\n depth: number\n ) => {\n const values: Record<string, unknown> = {}\n\n instance.getAllLeafColumns().forEach(column => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(column.id)) {\n values[column.id] = groupedRows[0]\n ? groupedRows[0].values[column.id]\n : null\n return\n }\n\n // Aggregate the values\n const aggregateFn = instance.getColumnAggregationFn(column.id)\n\n if (aggregateFn) {\n values[column.id] = aggregateFn(\n () =>\n leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n columnValue = column.aggregateValue(columnValue)\n }\n\n return columnValue\n }),\n () => groupedRows.map(row => row.values[column.id])\n )\n } else if (column.aggregationFn) {\n console.info({ column })\n throw new Error(\n process.env.NODE_ENV !== 'production'\n ? `Table: Invalid column.aggregateType option for column listed above`\n : ''\n )\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n const groupedFlatRows: Row<TGenerics>[] = []\n const groupedRowsById: Record<string, Row<TGenerics>> = {}\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<TGenerics>[],\n depth = 0,\n parentId: string\n ) => {\n // This is the last level, just return the rows\n if (depth === existingGrouping.length) {\n return rows\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 values = aggregateRowsToValues(leafRows, groupedRows, depth)\n\n const row = instance.createRow(\n id,\n undefined,\n index,\n depth,\n values\n )\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\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 === 'production' && 'getGroupedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._autoResetExpanded()\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n\nfunction groupBy<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\n columnId: string\n) {\n const groupMap = new Map<any, Row<TGenerics>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.values[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":["getGroupedRowModelSync","instance","memo","getState","grouping","getPreGroupedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","aggregateRowsToValues","leafRows","groupedRows","depth","values","getAllLeafColumns","forEach","column","includes","id","aggregateFn","getColumnAggregationFn","map","row","columnValue","aggregateValue","aggregationFn","console","info","Error","process","env","NODE_ENV","groupedFlatRows","groupedRowsById","groupUpRecursively","parentId","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","index","groupingValue","subRows","flattenBy","createRow","undefined","Object","assign","groupingColumnId","subRow","push","flatRows","rowsById","key","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 { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { flattenBy, memo } from '../utils'\n\nexport function getGroupedRowModelSync<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().grouping, instance.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 instance.getColumn(columnId)\n )\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (\n leafRows: Row<TGenerics>[],\n groupedRows: Row<TGenerics>[],\n depth: number\n ) => {\n const values: Record<string, unknown> = {}\n\n instance.getAllLeafColumns().forEach(column => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(column.id)) {\n values[column.id] = groupedRows[0]\n ? groupedRows[0].values[column.id]\n : null\n return\n }\n\n // Aggregate the values\n const aggregateFn = instance.getColumnAggregationFn(column.id)\n\n if (aggregateFn) {\n values[column.id] = aggregateFn(\n () =>\n leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n columnValue = column.aggregateValue(columnValue)\n }\n\n return columnValue\n }),\n () => groupedRows.map(row => row.values[column.id])\n )\n } else if (column.aggregationFn) {\n console.info({ column })\n throw new Error(\n process.env.NODE_ENV !== 'production'\n ? `Table: Invalid column.aggregateType option for column listed above`\n : ''\n )\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n const groupedFlatRows: Row<TGenerics>[] = []\n const groupedRowsById: Record<string, Row<TGenerics>> = {}\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<TGenerics>[],\n depth = 0,\n parentId: string\n ) => {\n // This is the last level, just return the rows\n if (depth === existingGrouping.length) {\n return rows\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 values = aggregateRowsToValues(leafRows, groupedRows, depth)\n\n const row = instance.createRow(\n id,\n undefined,\n index,\n depth,\n values\n )\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\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: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._autoResetExpanded()\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n\nfunction groupBy<TGenerics extends TableGenerics>(\n rows: Row<TGenerics>[],\n columnId: string\n) {\n const groupMap = new Map<any, Row<TGenerics>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.values[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":["getGroupedRowModelSync","instance","memo","getState","grouping","getPreGroupedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","aggregateRowsToValues","leafRows","groupedRows","depth","values","getAllLeafColumns","forEach","column","includes","id","aggregateFn","getColumnAggregationFn","map","row","columnValue","aggregateValue","aggregationFn","console","info","Error","process","env","NODE_ENV","groupedFlatRows","groupedRowsById","groupUpRecursively","parentId","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","index","groupingValue","subRows","flattenBy","createRow","undefined","Object","assign","groupingColumnId","subRow","push","flatRows","rowsById","key","debug","options","debugAll","debugTable","onChange","queue","_autoResetExpanded","_autoResetPageIndex","groupMap","Map","reduce","resKey","previous","get","set"],"mappings":"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"}
|
|
@@ -47,7 +47,7 @@ function getPaginationRowModel(opts) {
|
|
|
47
47
|
rowsById: rowsById
|
|
48
48
|
};
|
|
49
49
|
}, {
|
|
50
|
-
key: process.env.NODE_ENV === '
|
|
50
|
+
key: process.env.NODE_ENV === 'development' && 'getPaginationRowModel',
|
|
51
51
|
debug: function debug() {
|
|
52
52
|
var _instance$options$deb;
|
|
53
53
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPaginationRowModel.js","sources":["../../../src/utils/getPaginationRowModel.ts"],"sourcesContent":["import { TableInstance, RowModel, TableGenerics } from '../types'\nimport { memo } from '../utils'\nimport { expandRows } from './getExpandedRowModel'\n\nexport function getPaginationRowModel<TGenerics extends TableGenerics>(opts?: {\n initialSync: boolean\n}): (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getState().pagination,\n instance.getPrePaginationRowModel(),\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 if (!instance.options.paginateExpandedRows) {\n return expandRows(\n {\n rows,\n flatRows,\n rowsById,\n },\n instance\n )\n }\n\n return {\n rows,\n flatRows,\n rowsById,\n }\n },\n {\n key: process.env.NODE_ENV === '
|
|
1
|
+
{"version":3,"file":"getPaginationRowModel.js","sources":["../../../src/utils/getPaginationRowModel.ts"],"sourcesContent":["import { TableInstance, RowModel, TableGenerics } from '../types'\nimport { memo } from '../utils'\nimport { expandRows } from './getExpandedRowModel'\n\nexport function getPaginationRowModel<TGenerics extends TableGenerics>(opts?: {\n initialSync: boolean\n}): (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getState().pagination,\n instance.getPrePaginationRowModel(),\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 if (!instance.options.paginateExpandedRows) {\n return expandRows(\n {\n rows,\n flatRows,\n rowsById,\n },\n instance\n )\n }\n\n return {\n rows,\n flatRows,\n rowsById,\n }\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getPaginationRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n )\n}\n"],"names":["getPaginationRowModel","opts","instance","memo","getState","pagination","getPrePaginationRowModel","rowModel","rows","length","pageSize","pageIndex","flatRows","rowsById","pageStart","pageEnd","slice","options","paginateExpandedRows","expandRows","key","process","env","NODE_ENV","debug","debugAll","debugTable"],"mappings":";;;;;;;;;;;;;;;;;AAIO,SAASA,qBAAT,CAAgEC,IAAhE,EAE+D;AACpE,EAAA,OAAO,UAAAC,QAAQ,EAAA;AAAA,IAAA,OACbC,UAAI,CACF,YAAA;AAAA,MAAM,OAAA,CACJD,QAAQ,CAACE,QAAT,EAAA,CAAoBC,UADhB,EAEJH,QAAQ,CAACI,wBAAT,EAFI,CAAN,CAAA;AAAA,KADE,EAKF,UAACD,UAAD,EAAaE,QAAb,EAA0B;AACxB,MAAA,IAAI,CAACA,QAAQ,CAACC,IAAT,CAAcC,MAAnB,EAA2B;AACzB,QAAA,OAAOF,QAAP,CAAA;AACD,OAAA;;AAED,MAAA,IAAQG,QAAR,GAAgCL,UAAhC,CAAQK,QAAR;AAAA,UAAkBC,SAAlB,GAAgCN,UAAhC,CAAkBM,SAAlB,CAAA;AACA,MAAA,IAAMH,IAAN,GAAmCD,QAAnC,CAAMC,IAAN;AAAA,UAAYI,QAAZ,GAAmCL,QAAnC,CAAYK,QAAZ;AAAA,UAAsBC,QAAtB,GAAmCN,QAAnC,CAAsBM,QAAtB,CAAA;AACA,MAAA,IAAMC,SAAS,GAAGJ,QAAQ,GAAGC,SAA7B,CAAA;AACA,MAAA,IAAMI,OAAO,GAAGD,SAAS,GAAGJ,QAA5B,CAAA;AAEAF,MAAAA,IAAI,GAAGA,IAAI,CAACQ,KAAL,CAAWF,SAAX,EAAsBC,OAAtB,CAAP,CAAA;;AAEA,MAAA,IAAI,CAACb,QAAQ,CAACe,OAAT,CAAiBC,oBAAtB,EAA4C;AAC1C,QAAA,OAAOC,8BAAU,CACf;AACEX,UAAAA,IAAI,EAAJA,IADF;AAEEI,UAAAA,QAAQ,EAARA,QAFF;AAGEC,UAAAA,QAAQ,EAARA,QAAAA;AAHF,SADe,EAMfX,QANe,CAAjB,CAAA;AAQD,OAAA;;AAED,MAAO,OAAA;AACLM,QAAAA,IAAI,EAAJA,IADK;AAELI,QAAAA,QAAQ,EAARA,QAFK;AAGLC,QAAAA,QAAQ,EAARA,QAAAA;AAHK,OAAP,CAAA;AAKD,KAjCC,EAkCF;AACEO,MAAAA,GAAG,EAAEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0C,uBADjD;AAEEC,MAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAAA,QAAMtB,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACe,OAAT,CAAiBQ,QAAvB,oCAAmCvB,QAAQ,CAACe,OAAT,CAAiBS,UAApD,CAAA;AAAA,OAAA;AAFT,KAlCE,CADS,CAAA;AAAA,GAAf,CAAA;AAwCD;;;;"}
|
|
@@ -27,7 +27,7 @@ function getSortedRowModelSync() {
|
|
|
27
27
|
var sortedFlatRows = []; // Filter out sortings that correspond to non existing columns
|
|
28
28
|
|
|
29
29
|
var availableSorting = sortingState.filter(function (sort) {
|
|
30
|
-
return instance.
|
|
30
|
+
return instance.getColumn(sort.id).getCanSort();
|
|
31
31
|
});
|
|
32
32
|
var columnInfoById = {};
|
|
33
33
|
availableSorting.forEach(function (sortEntry) {
|
|
@@ -35,7 +35,7 @@ function getSortedRowModelSync() {
|
|
|
35
35
|
columnInfoById[sortEntry.id] = {
|
|
36
36
|
sortUndefined: column.sortUndefined,
|
|
37
37
|
invertSorting: column.invertSorting,
|
|
38
|
-
sortingFn:
|
|
38
|
+
sortingFn: column.getSortingFn()
|
|
39
39
|
};
|
|
40
40
|
});
|
|
41
41
|
|
|
@@ -99,7 +99,7 @@ function getSortedRowModelSync() {
|
|
|
99
99
|
rowsById: rowModel.rowsById
|
|
100
100
|
};
|
|
101
101
|
}, {
|
|
102
|
-
key: process.env.NODE_ENV === '
|
|
102
|
+
key: process.env.NODE_ENV === 'development' && 'getSortedRowModel',
|
|
103
103
|
debug: function debug() {
|
|
104
104
|
var _instance$options$deb;
|
|
105
105
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSortedRowModelSync.js","sources":["../../../src/utils/getSortedRowModelSync.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { SortingFn } from '../features/Sorting'\nimport { memo } from '../utils'\n\nexport function getSortedRowModelSync<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().sorting, instance.getPreSortedRowModel()],\n (sorting, rowModel) => {\n if (!rowModel.rows.length || !sorting?.length) {\n return rowModel\n }\n\n const sortingState = instance.getState().sorting\n\n const sortedFlatRows: Row<TGenerics>[] = []\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sortingState.filter(sort =>\n instance.
|
|
1
|
+
{"version":3,"file":"getSortedRowModelSync.js","sources":["../../../src/utils/getSortedRowModelSync.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { SortingFn } from '../features/Sorting'\nimport { memo } from '../utils'\n\nexport function getSortedRowModelSync<TGenerics extends TableGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().sorting, instance.getPreSortedRowModel()],\n (sorting, rowModel) => {\n if (!rowModel.rows.length || !sorting?.length) {\n return rowModel\n }\n\n const sortingState = instance.getState().sorting\n\n const sortedFlatRows: Row<TGenerics>[] = []\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sortingState.filter(sort =>\n instance.getColumn(sort.id).getCanSort()\n )\n\n const columnInfoById: Record<\n string,\n {\n sortUndefined?: false | -1 | 1\n invertSorting?: boolean\n sortingFn: SortingFn<TGenerics>\n }\n > = {}\n\n availableSorting.forEach(sortEntry => {\n const column = instance.getColumn(sortEntry.id)\n\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.sortUndefined,\n invertSorting: column.invertSorting,\n sortingFn: column.getSortingFn(),\n }\n })\n\n const sortData = (rows: Row<TGenerics>[]) => {\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = rows.slice()\n\n sortedData.sort((rowA, rowB) => {\n for (let i = 0; i < availableSorting.length; i += 1) {\n const sortEntry = availableSorting[i]!\n const columnInfo = columnInfoById[sortEntry.id]!\n const isDesc = sortEntry?.desc ?? false\n\n if (columnInfo.sortUndefined) {\n const aValue = rowA.values[sortEntry.id]\n const bValue = rowB.values[sortEntry.id]\n\n const aUndefined = typeof aValue === 'undefined'\n const bUndefined = typeof bValue === 'undefined'\n\n if (aUndefined || bUndefined) {\n return aUndefined && bUndefined\n ? 0\n : aUndefined\n ? columnInfo.sortUndefined\n : -columnInfo.sortUndefined\n }\n }\n\n // This function should always return in ascending order\n let sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id)\n\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1\n }\n\n if (columnInfo.invertSorting) {\n sortInt *= -1\n }\n\n return sortInt\n }\n }\n\n return rowA.index - rowB.index\n })\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (!row.subRows || row.subRows.length <= 1) {\n return\n }\n row.subRows = sortData(row.subRows)\n })\n\n return sortedData\n }\n\n return {\n rows: sortData(rowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: rowModel.rowsById,\n }\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getSortedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n"],"names":["getSortedRowModelSync","instance","memo","getState","sorting","getPreSortedRowModel","rowModel","rows","length","sortingState","sortedFlatRows","availableSorting","filter","sort","getColumn","id","getCanSort","columnInfoById","forEach","sortEntry","column","sortUndefined","invertSorting","sortingFn","getSortingFn","sortData","sortedData","slice","rowA","rowB","i","columnInfo","isDesc","desc","aValue","values","bValue","aUndefined","bUndefined","sortInt","index","row","push","subRows","flatRows","rowsById","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange","queue","_autoResetPageIndex"],"mappings":"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"}
|