@tanstack/table-core 8.0.0-alpha.30 → 8.0.0-alpha.32
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/aggregationTypes.js +1 -0
- package/build/cjs/aggregationTypes.js.map +1 -1
- package/build/cjs/core.js +22 -78
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +12 -16
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +28 -81
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +10 -16
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pagination.js +8 -13
- package/build/cjs/features/Pagination.js.map +1 -1
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Sorting.js +10 -16
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterTypes.js.map +1 -1
- package/build/cjs/index.js +19 -12
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/sortTypes.js.map +1 -1
- package/build/cjs/utils/filterRowsUtils.js.map +1 -1
- package/build/cjs/utils/getColumnFilteredRowModelSync.js +113 -0
- package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +1 -0
- package/build/cjs/utils/getCoreRowModelAsync.js +125 -0
- package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -0
- package/build/cjs/utils/getCoreRowModelSync.js +102 -0
- package/build/cjs/utils/getCoreRowModelSync.js.map +1 -0
- package/build/cjs/utils/getExpandedRowModel.js +61 -0
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -0
- package/build/cjs/utils/getGlobalFilteredRowModelSync.js +89 -0
- package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +1 -0
- package/build/cjs/utils/getGroupedRowModel.js +174 -0
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -0
- package/build/cjs/utils/getPaginationRowModel.js +61 -0
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -0
- package/build/cjs/utils/getSortedRowModelSync.js +116 -0
- package/build/cjs/utils/getSortedRowModelSync.js.map +1 -0
- package/build/cjs/utils.js +155 -16
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +841 -491
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +406 -298
- package/build/types/aggregationTypes.d.ts +1 -1
- package/build/types/core.d.ts +7 -1
- package/build/types/features/Expanding.d.ts +2 -1
- package/build/types/features/Filters.d.ts +6 -2
- package/build/types/features/Grouping.d.ts +3 -2
- package/build/types/features/Pagination.d.ts +2 -1
- package/build/types/features/Sorting.d.ts +2 -1
- package/build/types/index.d.ts +8 -6
- package/build/types/types.d.ts +2 -2
- package/build/types/utils/getColumnFilteredRowModelAsync.d.ts +4 -0
- package/build/types/utils/getColumnFilteredRowModelSync.d.ts +2 -0
- package/build/types/utils/getCoreRowModelAsync.d.ts +4 -0
- package/build/types/utils/getCoreRowModelSync.d.ts +2 -0
- package/build/types/utils/getExpandedRowModel.d.ts +7 -0
- package/build/types/utils/getGlobalFilteredRowModelAsync.d.ts +4 -0
- package/build/types/utils/getGlobalFilteredRowModelSync.d.ts +2 -0
- package/build/types/utils/getGroupedRowModel.d.ts +2 -0
- package/build/types/utils/getPaginationRowModel.d.ts +4 -0
- package/build/types/utils/{sortRowsQuicksortFn.d.ts → getSortedRowModelAsync.d.ts} +3 -1
- package/build/types/utils/getSortedRowModelSync.d.ts +2 -0
- package/build/types/utils.d.ts +16 -0
- package/build/umd/index.development.js +851 -496
- 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/aggregationTypes.ts +1 -1
- package/src/core.tsx +33 -97
- package/src/features/Expanding.ts +19 -27
- package/src/features/Filters.ts +52 -99
- package/src/features/Grouping.ts +19 -21
- package/src/features/Pagination.ts +17 -20
- package/src/features/Sorting.ts +19 -23
- package/src/index.tsx +8 -6
- package/src/types.ts +3 -1
- package/src/utils/getColumnFilteredRowModelAsync.ts +117 -0
- package/src/utils/getColumnFilteredRowModelSync.ts +97 -0
- package/src/utils/getCoreRowModelAsync.ts +103 -0
- package/src/utils/getCoreRowModelSync.ts +105 -0
- package/src/utils/getExpandedRowModel.ts +58 -0
- package/src/utils/getGlobalFilteredRowModelAsync.ts +95 -0
- package/src/utils/getGlobalFilteredRowModelSync.ts +74 -0
- package/src/utils/getGroupedRowModel.ts +187 -0
- package/src/utils/getPaginationRowModel.ts +45 -0
- package/src/utils/getSortedRowModelAsync.ts +199 -0
- package/src/utils/getSortedRowModelSync.ts +116 -0
- package/src/utils.tsx +189 -16
- package/build/cjs/utils/columnFilterRowsFn.js +0 -73
- package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
- package/build/cjs/utils/expandRowsFn.js +0 -37
- package/build/cjs/utils/expandRowsFn.js.map +0 -1
- package/build/cjs/utils/globalFilterRowsFn.js +0 -49
- package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
- package/build/cjs/utils/groupRowsFn.js +0 -155
- package/build/cjs/utils/groupRowsFn.js.map +0 -1
- package/build/cjs/utils/paginateRowsFn.js +0 -44
- package/build/cjs/utils/paginateRowsFn.js.map +0 -1
- package/build/cjs/utils/sortRowsFn.js +0 -94
- package/build/cjs/utils/sortRowsFn.js.map +0 -1
- package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
- package/build/types/utils/expandRowsFn.d.ts +0 -2
- package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
- package/build/types/utils/groupRowsFn.d.ts +0 -2
- package/build/types/utils/paginateRowsFn.d.ts +0 -2
- package/build/types/utils/sortRowsFn.d.ts +0 -2
- package/src/utils/columnFilterRowsFn.ts +0 -56
- package/src/utils/expandRowsFn.ts +0 -34
- package/src/utils/globalFilterRowsFn.ts +0 -39
- package/src/utils/groupRowsFn.ts +0 -174
- package/src/utils/paginateRowsFn.ts +0 -28
- package/src/utils/sortRowsFn.ts +0 -99
- package/src/utils/sortRowsQuicksortFn.ts +0 -174
|
@@ -109,6 +109,32 @@
|
|
|
109
109
|
}
|
|
110
110
|
function noop() {//
|
|
111
111
|
}
|
|
112
|
+
function getBatchGroups(arr, count) {
|
|
113
|
+
var groups = [{
|
|
114
|
+
start: 0,
|
|
115
|
+
end: count - 1,
|
|
116
|
+
items: []
|
|
117
|
+
}];
|
|
118
|
+
var groupIndex = 0;
|
|
119
|
+
var group = groups[groupIndex];
|
|
120
|
+
|
|
121
|
+
for (var i = 0; i < arr.length; i++) {
|
|
122
|
+
if (i > group.end) {
|
|
123
|
+
groupIndex++;
|
|
124
|
+
groups[groupIndex] = {
|
|
125
|
+
start: i,
|
|
126
|
+
end: i + count - 1,
|
|
127
|
+
items: []
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
group = groups[groupIndex];
|
|
132
|
+
var _item = arr[i];
|
|
133
|
+
group.items.push(_item);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
return groups;
|
|
137
|
+
}
|
|
112
138
|
function makeStateUpdater(key, instance) {
|
|
113
139
|
return function (updater) {
|
|
114
140
|
instance.setState(function (old) {
|
|
@@ -206,22 +232,133 @@
|
|
|
206
232
|
|
|
207
233
|
return result;
|
|
208
234
|
};
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
235
|
+
}
|
|
236
|
+
function incrementalMemo(getDeps, getInitialValue, schedule, opts) {
|
|
237
|
+
var _opts$timeout;
|
|
238
|
+
|
|
239
|
+
var oldDeps;
|
|
240
|
+
var deps;
|
|
241
|
+
var result;
|
|
242
|
+
var nextResultRef;
|
|
243
|
+
var tasks = [];
|
|
244
|
+
var totalTaskCount = 0;
|
|
245
|
+
var resultStartTime;
|
|
246
|
+
var batchIndex = 0;
|
|
247
|
+
var progress = 0;
|
|
248
|
+
var working = false;
|
|
249
|
+
var callback;
|
|
250
|
+
var timeout = (_opts$timeout = opts.timeout) != null ? _opts$timeout : 100;
|
|
251
|
+
|
|
252
|
+
var onProgress = function onProgress(latestResult, previousResult) {
|
|
253
|
+
progress = 1 - tasks.length / totalTaskCount;
|
|
254
|
+
opts.onProgress(progress, latestResult, previousResult);
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
return function () {
|
|
258
|
+
var scheduleFn = function scheduleFn(workFn) {
|
|
259
|
+
totalTaskCount++;
|
|
260
|
+
tasks.push(workFn);
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
var newDeps = getDeps();
|
|
264
|
+
var first = false;
|
|
265
|
+
|
|
266
|
+
if (!deps) {
|
|
267
|
+
first = true;
|
|
268
|
+
deps = [];
|
|
269
|
+
result = getInitialValue.apply(void 0, newDeps);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
var depsChanged = newDeps.length !== deps.length || newDeps.some(function (dep, index) {
|
|
273
|
+
return deps[index] !== dep;
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
if (depsChanged) {
|
|
277
|
+
cancelIdleCallback(callback);
|
|
278
|
+
oldDeps = deps;
|
|
279
|
+
deps = newDeps;
|
|
280
|
+
totalTaskCount = 0;
|
|
281
|
+
tasks = [];
|
|
282
|
+
nextResultRef = {
|
|
283
|
+
current: getInitialValue.apply(void 0, newDeps)
|
|
284
|
+
};
|
|
285
|
+
resultStartTime = Date.now();
|
|
286
|
+
schedule.apply(void 0, newDeps)(nextResultRef)(scheduleFn);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
var commitResult = function commitResult() {
|
|
290
|
+
cancelIdleCallback(callback);
|
|
291
|
+
|
|
292
|
+
if (opts.key && opts.debug) {
|
|
293
|
+
if (opts != null && opts.debug()) {
|
|
294
|
+
var resultEndTime = Math.round((Date.now() - resultStartTime) * 100) / 100;
|
|
295
|
+
var resultFpsPercentage = resultEndTime / batchIndex / 16;
|
|
296
|
+
console.info("%c\u23F1 " + resultEndTime + " ms / " + batchIndex + " tasks = " + Math.round(resultEndTime / batchIndex) + " ms/task", "\n font-size: .6rem;\n font-weight: bold;\n color: hsl(" + Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120)) + "deg 100% 31%);", opts == null ? void 0 : opts.key, _extends({
|
|
297
|
+
length: oldDeps.length + " -> " + deps.length
|
|
298
|
+
}, deps.map(function (_, index) {
|
|
299
|
+
if (oldDeps[index] !== deps[index]) {
|
|
300
|
+
return [index, oldDeps[index], deps[index]];
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
return false;
|
|
304
|
+
}).filter(Boolean).reduce(function (accu, _ref2) {
|
|
305
|
+
var _extends4;
|
|
306
|
+
|
|
307
|
+
var a = _ref2[0],
|
|
308
|
+
b = _ref2[1];
|
|
309
|
+
return _extends({}, accu, (_extends4 = {}, _extends4[a] = b, _extends4));
|
|
310
|
+
}, {}), {
|
|
311
|
+
parent: parent
|
|
312
|
+
}));
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
working = false;
|
|
317
|
+
var previousResult = result;
|
|
318
|
+
result = nextResultRef.current;
|
|
319
|
+
onProgress(result, previousResult);
|
|
320
|
+
opts.onChange(result, previousResult);
|
|
321
|
+
};
|
|
322
|
+
|
|
323
|
+
if (opts.initialSync && first) {
|
|
324
|
+
batchIndex = 1;
|
|
325
|
+
first = false;
|
|
326
|
+
|
|
327
|
+
for (var i = 0; i < tasks.length; i++) {
|
|
328
|
+
tasks[i]();
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
tasks = [];
|
|
332
|
+
commitResult();
|
|
333
|
+
} else if (!working && tasks.length) {
|
|
334
|
+
cancelIdleCallback(callback);
|
|
335
|
+
working = true;
|
|
336
|
+
batchIndex = 0;
|
|
337
|
+
|
|
338
|
+
var workLoop = function workLoop(deadline) {
|
|
339
|
+
while (tasks.length && deadline.timeRemaining() > 0) {
|
|
340
|
+
tasks.shift()();
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
if (!tasks.length) {
|
|
344
|
+
commitResult();
|
|
345
|
+
} else {
|
|
346
|
+
++batchIndex;
|
|
347
|
+
onProgress(nextResultRef.current, result);
|
|
348
|
+
callback = requestIdleCallback(workLoop, {
|
|
349
|
+
timeout: timeout
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
};
|
|
353
|
+
|
|
354
|
+
callback = requestIdleCallback(workLoop, {
|
|
355
|
+
timeout: timeout
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
return result;
|
|
360
|
+
};
|
|
361
|
+
} // opts?.onChange?.(result, oldResult)
|
|
225
362
|
|
|
226
363
|
//
|
|
227
364
|
var defaultColumnSizing = {
|
|
@@ -552,6 +689,8 @@
|
|
|
552
689
|
var registered = false;
|
|
553
690
|
return {
|
|
554
691
|
_notifyExpandedReset: function _notifyExpandedReset() {
|
|
692
|
+
instance._notifyPageIndexReset();
|
|
693
|
+
|
|
555
694
|
if (!registered) {
|
|
556
695
|
registered = true;
|
|
557
696
|
return;
|
|
@@ -703,25 +842,19 @@
|
|
|
703
842
|
});
|
|
704
843
|
return maxDepth;
|
|
705
844
|
},
|
|
706
|
-
|
|
707
|
-
return
|
|
708
|
-
},
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
845
|
+
getPreExpandedRowModel: function getPreExpandedRowModel() {
|
|
846
|
+
return instance.getGroupedRowModel();
|
|
847
|
+
},
|
|
848
|
+
getExpandedRowModel: function getExpandedRowModel() {
|
|
849
|
+
if (!instance._getExpandedRowModel && instance.options.getExpandedRowModel) {
|
|
850
|
+
instance._getExpandedRowModel = instance.options.getExpandedRowModel(instance);
|
|
712
851
|
}
|
|
713
852
|
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
key: 'getExpandedRowModel',
|
|
717
|
-
debug: function debug() {
|
|
718
|
-
var _instance$options$deb;
|
|
719
|
-
|
|
720
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
853
|
+
if (!instance._getExpandedRowModel) {
|
|
854
|
+
return instance.getPreExpandedRowModel();
|
|
721
855
|
}
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
return instance.getGroupedRowModel();
|
|
856
|
+
|
|
857
|
+
return instance._getExpandedRowModel();
|
|
725
858
|
}
|
|
726
859
|
};
|
|
727
860
|
},
|
|
@@ -909,7 +1042,9 @@
|
|
|
909
1042
|
getInitialState: function getInitialState() {
|
|
910
1043
|
return {
|
|
911
1044
|
columnFilters: [],
|
|
912
|
-
globalFilter: undefined
|
|
1045
|
+
globalFilter: undefined,
|
|
1046
|
+
columnFiltersProgress: 1,
|
|
1047
|
+
globalFilterProgress: 1
|
|
913
1048
|
};
|
|
914
1049
|
},
|
|
915
1050
|
getDefaultOptions: function getDefaultOptions(instance) {
|
|
@@ -1008,6 +1143,8 @@
|
|
|
1008
1143
|
var registered = false;
|
|
1009
1144
|
return {
|
|
1010
1145
|
_notifyFiltersReset: function _notifyFiltersReset() {
|
|
1146
|
+
instance._notifySortingReset();
|
|
1147
|
+
|
|
1011
1148
|
if (!registered) {
|
|
1012
1149
|
registered = true;
|
|
1013
1150
|
return;
|
|
@@ -1017,16 +1154,12 @@
|
|
|
1017
1154
|
return;
|
|
1018
1155
|
}
|
|
1019
1156
|
|
|
1020
|
-
if (instance.options.autoResetAll === true) {
|
|
1021
|
-
instance.
|
|
1022
|
-
}
|
|
1023
|
-
if (instance.options.autoResetColumnFilters) {
|
|
1024
|
-
instance.resetColumnFilters();
|
|
1025
|
-
}
|
|
1157
|
+
if (instance.options.autoResetAll === true || instance.options.autoResetColumnFilters) {
|
|
1158
|
+
instance.resetColumnFilters();
|
|
1159
|
+
}
|
|
1026
1160
|
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
}
|
|
1161
|
+
if (instance.options.autoResetAll === true || instance.options.autoResetGlobalFilter) {
|
|
1162
|
+
instance.resetGlobalFilter();
|
|
1030
1163
|
}
|
|
1031
1164
|
},
|
|
1032
1165
|
getColumnAutoFilterFn: function getColumnAutoFilterFn(columnId) {
|
|
@@ -1206,84 +1339,31 @@
|
|
|
1206
1339
|
getPreColumnFilteredRowModel: function getPreColumnFilteredRowModel() {
|
|
1207
1340
|
return instance.getCoreRowModel();
|
|
1208
1341
|
},
|
|
1209
|
-
getColumnFilteredRowModel:
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
if (!(columnFilters != null && columnFilters.length) || !columnFiltersFn) {
|
|
1214
|
-
return rowModel;
|
|
1215
|
-
}
|
|
1216
|
-
|
|
1217
|
-
return columnFiltersFn(instance, rowModel);
|
|
1218
|
-
}(); // Now that each filtered column has it's partially filtered rows,
|
|
1219
|
-
// lets assign the final filtered rows to all of the other columns
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
1223
|
-
var _instance$getState$co5;
|
|
1224
|
-
|
|
1225
|
-
return !((_instance$getState$co5 = instance.getState().columnFilters) != null && _instance$getState$co5.find(function (d) {
|
|
1226
|
-
return d.id === column.id;
|
|
1227
|
-
}));
|
|
1228
|
-
}); // This essentially enables faceted filter options to be built easily
|
|
1229
|
-
// using every column's preFilteredRows value
|
|
1230
|
-
|
|
1231
|
-
nonFilteredColumns.forEach(function (column) {
|
|
1232
|
-
column.getPreFilteredRows = function () {
|
|
1233
|
-
return columnFilteredRowModel.rows;
|
|
1234
|
-
};
|
|
1235
|
-
});
|
|
1236
|
-
return columnFilteredRowModel;
|
|
1237
|
-
}, {
|
|
1238
|
-
key: 'getColumnFilteredRowModel',
|
|
1239
|
-
debug: function debug() {
|
|
1240
|
-
var _instance$options$deb2;
|
|
1342
|
+
getColumnFilteredRowModel: function getColumnFilteredRowModel() {
|
|
1343
|
+
if (!instance._getColumnFilteredRowModel && instance.options.getColumnFilteredRowModel) {
|
|
1344
|
+
instance._getColumnFilteredRowModel = instance.options.getColumnFilteredRowModel(instance);
|
|
1345
|
+
}
|
|
1241
1346
|
|
|
1242
|
-
|
|
1347
|
+
if (!instance._getColumnFilteredRowModel) {
|
|
1348
|
+
return instance.getPreColumnFilteredRowModel();
|
|
1243
1349
|
}
|
|
1244
|
-
|
|
1350
|
+
|
|
1351
|
+
return instance._getColumnFilteredRowModel();
|
|
1352
|
+
},
|
|
1245
1353
|
getPreGlobalFilteredRowModel: function getPreGlobalFilteredRowModel() {
|
|
1246
1354
|
return instance.getColumnFilteredRowModel();
|
|
1247
1355
|
},
|
|
1248
|
-
getGlobalFilteredRowModel:
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
if (!globalFiltersFn || !globalFilterValue) {
|
|
1253
|
-
return columnFilteredRowModel;
|
|
1254
|
-
}
|
|
1255
|
-
|
|
1256
|
-
return globalFiltersFn(instance, columnFilteredRowModel);
|
|
1257
|
-
}(); // Now that each filtered column has it's partially filtered rows,
|
|
1258
|
-
// lets assign the final filtered rows to all of the other columns
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
1262
|
-
var _instance$getState$co6;
|
|
1263
|
-
|
|
1264
|
-
return !((_instance$getState$co6 = instance.getState().columnFilters) != null && _instance$getState$co6.find(function (d) {
|
|
1265
|
-
return d.id === column.id;
|
|
1266
|
-
}));
|
|
1267
|
-
}); // This essentially enables faceted filter options to be built easily
|
|
1268
|
-
// using every column's preFilteredRows value
|
|
1269
|
-
|
|
1270
|
-
nonFilteredColumns.forEach(function (column) {
|
|
1271
|
-
column.getPreFilteredRows = function () {
|
|
1272
|
-
return globalFilteredRowModel.rows;
|
|
1273
|
-
};
|
|
1274
|
-
});
|
|
1275
|
-
return globalFilteredRowModel;
|
|
1276
|
-
}, {
|
|
1277
|
-
key: 'getGlobalFilteredRowModel',
|
|
1278
|
-
debug: function debug() {
|
|
1279
|
-
var _instance$options$deb3;
|
|
1356
|
+
getGlobalFilteredRowModel: function getGlobalFilteredRowModel() {
|
|
1357
|
+
if (!instance._getGlobalFilteredRowModel && instance.options.getGlobalFilteredRowModel) {
|
|
1358
|
+
instance._getGlobalFilteredRowModel = instance.options.getGlobalFilteredRowModel(instance);
|
|
1359
|
+
}
|
|
1280
1360
|
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
onChange: function onChange() {
|
|
1284
|
-
instance._notifySortingReset();
|
|
1361
|
+
if (!instance._getGlobalFilteredRowModel) {
|
|
1362
|
+
return instance.getPreGlobalFilteredRowModel();
|
|
1285
1363
|
}
|
|
1286
|
-
|
|
1364
|
+
|
|
1365
|
+
return instance._getGlobalFilteredRowModel();
|
|
1366
|
+
}
|
|
1287
1367
|
};
|
|
1288
1368
|
}
|
|
1289
1369
|
};
|
|
@@ -1448,6 +1528,8 @@
|
|
|
1448
1528
|
var registered = false;
|
|
1449
1529
|
return {
|
|
1450
1530
|
_notifyGroupingReset: function _notifyGroupingReset() {
|
|
1531
|
+
instance._notifyExpandedReset();
|
|
1532
|
+
|
|
1451
1533
|
if (!registered) {
|
|
1452
1534
|
registered = true;
|
|
1453
1535
|
return;
|
|
@@ -1547,25 +1629,17 @@
|
|
|
1547
1629
|
getPreGroupedRowModel: function getPreGroupedRowModel() {
|
|
1548
1630
|
return instance.getSortedRowModel();
|
|
1549
1631
|
},
|
|
1550
|
-
getGroupedRowModel:
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
if (!groupRowsFn || !grouping.length) {
|
|
1554
|
-
return rowModel;
|
|
1632
|
+
getGroupedRowModel: function getGroupedRowModel() {
|
|
1633
|
+
if (!instance._getGroupedRowModel && instance.options.getGroupedRowModel) {
|
|
1634
|
+
instance._getGroupedRowModel = instance.options.getGroupedRowModel(instance);
|
|
1555
1635
|
}
|
|
1556
1636
|
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
key: 'getGroupedRowModel',
|
|
1560
|
-
debug: function debug() {
|
|
1561
|
-
var _instance$options$deb;
|
|
1562
|
-
|
|
1563
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
1564
|
-
},
|
|
1565
|
-
onChange: function onChange() {
|
|
1566
|
-
return instance._notifyExpandedReset();
|
|
1637
|
+
if (!instance._getGroupedRowModel) {
|
|
1638
|
+
return instance.getPreGroupedRowModel();
|
|
1567
1639
|
}
|
|
1568
|
-
|
|
1640
|
+
|
|
1641
|
+
return instance._getGroupedRowModel();
|
|
1642
|
+
}
|
|
1569
1643
|
};
|
|
1570
1644
|
},
|
|
1571
1645
|
createRow: function createRow(row, instance) {
|
|
@@ -1834,22 +1908,17 @@
|
|
|
1834
1908
|
getPrePaginationRowModel: function getPrePaginationRowModel() {
|
|
1835
1909
|
return instance.getExpandedRowModel();
|
|
1836
1910
|
},
|
|
1837
|
-
getPaginationRowModel:
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
if (!paginateRowsFn || !rowModel.rows.length) {
|
|
1841
|
-
return rowModel;
|
|
1911
|
+
getPaginationRowModel: function getPaginationRowModel() {
|
|
1912
|
+
if (!instance._getPaginationRowModel && instance.options.getPaginationRowModel) {
|
|
1913
|
+
instance._getPaginationRowModel = instance.options.getPaginationRowModel(instance);
|
|
1842
1914
|
}
|
|
1843
1915
|
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
key: 'getPaginationRowModel',
|
|
1847
|
-
debug: function debug() {
|
|
1848
|
-
var _instance$options$deb2;
|
|
1849
|
-
|
|
1850
|
-
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugTable;
|
|
1916
|
+
if (!instance._getPaginationRowModel) {
|
|
1917
|
+
return instance.getPrePaginationRowModel();
|
|
1851
1918
|
}
|
|
1852
|
-
|
|
1919
|
+
|
|
1920
|
+
return instance._getPaginationRowModel();
|
|
1921
|
+
},
|
|
1853
1922
|
getPageCount: function getPageCount() {
|
|
1854
1923
|
var pageCount = instance.getState().pagination.pageCount;
|
|
1855
1924
|
|
|
@@ -2659,6 +2728,8 @@
|
|
|
2659
2728
|
var registered = false;
|
|
2660
2729
|
return {
|
|
2661
2730
|
_notifySortingReset: function _notifySortingReset() {
|
|
2731
|
+
instance._notifyGroupingReset();
|
|
2732
|
+
|
|
2662
2733
|
if (!registered) {
|
|
2663
2734
|
registered = true;
|
|
2664
2735
|
return;
|
|
@@ -2889,25 +2960,17 @@
|
|
|
2889
2960
|
getPreSortedRowModel: function getPreSortedRowModel() {
|
|
2890
2961
|
return instance.getGlobalFilteredRowModel();
|
|
2891
2962
|
},
|
|
2892
|
-
getSortedRowModel:
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
if (!sortingFn || !(sorting != null && sorting.length)) {
|
|
2896
|
-
return rowModel;
|
|
2963
|
+
getSortedRowModel: function getSortedRowModel() {
|
|
2964
|
+
if (!instance._getSortedRowModel && instance.options.getSortedRowModel) {
|
|
2965
|
+
instance._getSortedRowModel = instance.options.getSortedRowModel(instance);
|
|
2897
2966
|
}
|
|
2898
2967
|
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
key: 'getSortedRowModel',
|
|
2902
|
-
debug: function debug() {
|
|
2903
|
-
var _instance$options$deb;
|
|
2904
|
-
|
|
2905
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
2906
|
-
},
|
|
2907
|
-
onChange: function onChange() {
|
|
2908
|
-
instance._notifyGroupingReset();
|
|
2968
|
+
if (!instance._getSortedRowModel) {
|
|
2969
|
+
return instance.getPreSortedRowModel();
|
|
2909
2970
|
}
|
|
2910
|
-
|
|
2971
|
+
|
|
2972
|
+
return instance._getSortedRowModel();
|
|
2973
|
+
}
|
|
2911
2974
|
};
|
|
2912
2975
|
}
|
|
2913
2976
|
};
|
|
@@ -3693,8 +3756,11 @@
|
|
|
3693
3756
|
};
|
|
3694
3757
|
|
|
3695
3758
|
instance.options = buildOptions(options);
|
|
3759
|
+
var coreInitialState = {
|
|
3760
|
+
coreProgress: 1
|
|
3761
|
+
};
|
|
3696
3762
|
|
|
3697
|
-
var initialState = _extends({}, features.reduce(function (obj, feature) {
|
|
3763
|
+
var initialState = _extends({}, coreInitialState, features.reduce(function (obj, feature) {
|
|
3698
3764
|
return Object.assign(obj, feature.getInitialState == null ? void 0 : feature.getInitialState());
|
|
3699
3765
|
}, {}), (_options$initialState = options.initialState) != null ? _options$initialState : {});
|
|
3700
3766
|
|
|
@@ -4006,85 +4072,13 @@
|
|
|
4006
4072
|
|
|
4007
4073
|
return row;
|
|
4008
4074
|
},
|
|
4009
|
-
getCoreRowModel:
|
|
4010
|
-
|
|
4011
|
-
|
|
4012
|
-
// Access the row model using initial columns
|
|
4013
|
-
var rows = [];
|
|
4014
|
-
var flatRows = [];
|
|
4015
|
-
var rowsById = {};
|
|
4016
|
-
var leafColumns = instance.getAllLeafColumns();
|
|
4017
|
-
|
|
4018
|
-
var accessRow = function accessRow(originalRow, rowIndex, depth, parentRows, parent) {
|
|
4019
|
-
if (depth === void 0) {
|
|
4020
|
-
depth = 0;
|
|
4021
|
-
}
|
|
4022
|
-
|
|
4023
|
-
var id = instance.getRowId(originalRow, rowIndex, parent);
|
|
4024
|
-
|
|
4025
|
-
if (!id) {
|
|
4026
|
-
{
|
|
4027
|
-
throw new Error("getRowId expected an ID, but got " + id);
|
|
4028
|
-
}
|
|
4029
|
-
}
|
|
4030
|
-
|
|
4031
|
-
var values = {};
|
|
4032
|
-
|
|
4033
|
-
for (var i = 0; i < leafColumns.length; i++) {
|
|
4034
|
-
var _column = leafColumns[i];
|
|
4035
|
-
|
|
4036
|
-
if (_column && _column.accessorFn) {
|
|
4037
|
-
values[_column.id] = _column.accessorFn(originalRow, rowIndex);
|
|
4038
|
-
}
|
|
4039
|
-
} // Make the row
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
|
|
4043
|
-
|
|
4044
|
-
parentRows.push(row); // Keep track of every row in a flat array
|
|
4045
|
-
|
|
4046
|
-
flatRows.push(row); // Also keep track of every row by its ID
|
|
4047
|
-
|
|
4048
|
-
rowsById[id] = row; // Get the original subrows
|
|
4049
|
-
|
|
4050
|
-
if (instance.options.getSubRows) {
|
|
4051
|
-
var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
4052
|
-
|
|
4053
|
-
if (originalSubRows != null && originalSubRows.length) {
|
|
4054
|
-
row.originalSubRows = originalSubRows;
|
|
4055
|
-
var subRows = [];
|
|
4056
|
-
|
|
4057
|
-
for (var _i = 0; _i < row.originalSubRows.length; _i++) {
|
|
4058
|
-
accessRow(row.originalSubRows[_i], _i, depth + 1, subRows, row);
|
|
4059
|
-
}
|
|
4060
|
-
|
|
4061
|
-
row.subRows = subRows;
|
|
4062
|
-
}
|
|
4063
|
-
}
|
|
4064
|
-
};
|
|
4065
|
-
|
|
4066
|
-
for (var i = 0; i < data.length; i++) {
|
|
4067
|
-
accessRow(data[i], i, 0, rows);
|
|
4075
|
+
getCoreRowModel: function getCoreRowModel() {
|
|
4076
|
+
if (!instance._getCoreRowModel) {
|
|
4077
|
+
instance._getCoreRowModel = instance.options.getCoreRowModel(instance);
|
|
4068
4078
|
}
|
|
4069
4079
|
|
|
4070
|
-
return
|
|
4071
|
-
|
|
4072
|
-
flatRows: flatRows,
|
|
4073
|
-
rowsById: rowsById
|
|
4074
|
-
};
|
|
4075
|
-
}, {
|
|
4076
|
-
key: 'getRowModel',
|
|
4077
|
-
debug: function debug() {
|
|
4078
|
-
var _instance$options$deb10;
|
|
4079
|
-
|
|
4080
|
-
return (_instance$options$deb10 = instance.options.debugAll) != null ? _instance$options$deb10 : instance.options.debugTable;
|
|
4081
|
-
},
|
|
4082
|
-
onChange: function onChange() {
|
|
4083
|
-
instance._notifyFiltersReset();
|
|
4084
|
-
|
|
4085
|
-
instance._notifyRowSelectionReset();
|
|
4086
|
-
}
|
|
4087
|
-
}),
|
|
4080
|
+
return instance._getCoreRowModel();
|
|
4081
|
+
},
|
|
4088
4082
|
// The final calls start at the bottom of the model,
|
|
4089
4083
|
// expanded rows, which then work their way up
|
|
4090
4084
|
getRowModel: function getRowModel() {
|
|
@@ -4181,6 +4175,18 @@
|
|
|
4181
4175
|
return (_instance$getRightHea = (_instance$getRightHea2 = instance.getRightHeaderGroups()[0]) == null ? void 0 : _instance$getRightHea2.headers.reduce(function (sum, header) {
|
|
4182
4176
|
return sum + header.getWidth();
|
|
4183
4177
|
}, 0)) != null ? _instance$getRightHea : 0;
|
|
4178
|
+
},
|
|
4179
|
+
getOverallProgress: function getOverallProgress() {
|
|
4180
|
+
var _instance$getState = instance.getState(),
|
|
4181
|
+
coreProgress = _instance$getState.coreProgress,
|
|
4182
|
+
columnFiltersProgress = _instance$getState.columnFiltersProgress,
|
|
4183
|
+
globalFilterProgress = _instance$getState.globalFilterProgress;
|
|
4184
|
+
|
|
4185
|
+
return mean(function () {
|
|
4186
|
+
return [coreProgress, columnFiltersProgress, globalFilterProgress].filter(function (d) {
|
|
4187
|
+
return d < 1;
|
|
4188
|
+
});
|
|
4189
|
+
});
|
|
4184
4190
|
}
|
|
4185
4191
|
});
|
|
4186
4192
|
|
|
@@ -4249,25 +4255,215 @@
|
|
|
4249
4255
|
};
|
|
4250
4256
|
}
|
|
4251
4257
|
|
|
4252
|
-
function
|
|
4253
|
-
|
|
4254
|
-
|
|
4258
|
+
function getCoreRowModelSync() {
|
|
4259
|
+
return function (instance) {
|
|
4260
|
+
return memo(function () {
|
|
4261
|
+
return [instance.options.data];
|
|
4262
|
+
}, function (data) {
|
|
4263
|
+
// Access the row model using initial columns
|
|
4264
|
+
var rows = [];
|
|
4265
|
+
var flatRows = [];
|
|
4266
|
+
var rowsById = {};
|
|
4267
|
+
var leafColumns = instance.getAllLeafColumns();
|
|
4255
4268
|
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4269
|
+
var accessRow = function accessRow(originalRow, rowIndex, depth, parentRows, parent) {
|
|
4270
|
+
if (depth === void 0) {
|
|
4271
|
+
depth = 0;
|
|
4272
|
+
}
|
|
4260
4273
|
|
|
4261
|
-
|
|
4274
|
+
var id = instance.getRowId(originalRow, rowIndex, parent);
|
|
4262
4275
|
|
|
4263
|
-
|
|
4264
|
-
|
|
4276
|
+
if (!id) {
|
|
4277
|
+
{
|
|
4278
|
+
throw new Error("getRowId expected an ID, but got " + id);
|
|
4279
|
+
}
|
|
4280
|
+
}
|
|
4265
4281
|
|
|
4266
|
-
|
|
4282
|
+
var values = {};
|
|
4267
4283
|
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4284
|
+
for (var i = 0; i < leafColumns.length; i++) {
|
|
4285
|
+
var column = leafColumns[i];
|
|
4286
|
+
|
|
4287
|
+
if (column && column.accessorFn) {
|
|
4288
|
+
values[column.id] = column.accessorFn(originalRow, rowIndex);
|
|
4289
|
+
}
|
|
4290
|
+
} // Make the row
|
|
4291
|
+
|
|
4292
|
+
|
|
4293
|
+
var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
|
|
4294
|
+
|
|
4295
|
+
parentRows.push(row); // Keep track of every row in a flat array
|
|
4296
|
+
|
|
4297
|
+
flatRows.push(row); // Also keep track of every row by its ID
|
|
4298
|
+
|
|
4299
|
+
rowsById[id] = row; // Get the original subrows
|
|
4300
|
+
|
|
4301
|
+
if (instance.options.getSubRows) {
|
|
4302
|
+
var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
4303
|
+
|
|
4304
|
+
if (originalSubRows != null && originalSubRows.length) {
|
|
4305
|
+
row.originalSubRows = originalSubRows;
|
|
4306
|
+
var subRows = [];
|
|
4307
|
+
|
|
4308
|
+
for (var _i = 0; _i < row.originalSubRows.length; _i++) {
|
|
4309
|
+
accessRow(row.originalSubRows[_i], _i, depth + 1, subRows, row);
|
|
4310
|
+
}
|
|
4311
|
+
|
|
4312
|
+
row.subRows = subRows;
|
|
4313
|
+
}
|
|
4314
|
+
}
|
|
4315
|
+
};
|
|
4316
|
+
|
|
4317
|
+
for (var i = 0; i < data.length; i++) {
|
|
4318
|
+
accessRow(data[i], i, 0, rows);
|
|
4319
|
+
}
|
|
4320
|
+
|
|
4321
|
+
return {
|
|
4322
|
+
rows: rows,
|
|
4323
|
+
flatRows: flatRows,
|
|
4324
|
+
rowsById: rowsById
|
|
4325
|
+
};
|
|
4326
|
+
}, {
|
|
4327
|
+
key: 'getRowModel',
|
|
4328
|
+
debug: function debug() {
|
|
4329
|
+
var _instance$options$deb;
|
|
4330
|
+
|
|
4331
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4332
|
+
},
|
|
4333
|
+
onChange: function onChange() {
|
|
4334
|
+
instance._notifyFiltersReset();
|
|
4335
|
+
|
|
4336
|
+
instance._notifyRowSelectionReset();
|
|
4337
|
+
}
|
|
4338
|
+
});
|
|
4339
|
+
};
|
|
4340
|
+
}
|
|
4341
|
+
|
|
4342
|
+
function getCoreRowModelAsync(opts) {
|
|
4343
|
+
return function (instance) {
|
|
4344
|
+
return incrementalMemo(function () {
|
|
4345
|
+
return [instance.options.data, instance.getAllLeafColumns()];
|
|
4346
|
+
}, function () {
|
|
4347
|
+
var rows = [];
|
|
4348
|
+
var flatRows = [];
|
|
4349
|
+
var rowsById = {};
|
|
4350
|
+
return {
|
|
4351
|
+
rows: rows,
|
|
4352
|
+
flatRows: flatRows,
|
|
4353
|
+
rowsById: rowsById
|
|
4354
|
+
};
|
|
4355
|
+
}, function (data, leafColumns) {
|
|
4356
|
+
return function (rowModelRef) {
|
|
4357
|
+
return function (scheduleTask) {
|
|
4358
|
+
var accessRows = function accessRows(originalRows, depth, parent) {
|
|
4359
|
+
if (depth === void 0) {
|
|
4360
|
+
depth = 0;
|
|
4361
|
+
}
|
|
4362
|
+
|
|
4363
|
+
var batchGroups = getBatchGroups(originalRows, 2000);
|
|
4364
|
+
|
|
4365
|
+
var _loop = function _loop(i) {
|
|
4366
|
+
var batchGroup = batchGroups[i];
|
|
4367
|
+
scheduleTask(function () {
|
|
4368
|
+
for (var _i = 0; _i < batchGroup.items.length; _i++) {
|
|
4369
|
+
var originalRow = batchGroup.items[_i];
|
|
4370
|
+
var rowIndex = batchGroup.start + _i;
|
|
4371
|
+
var id = instance.getRowId(originalRow, rowIndex, parent);
|
|
4372
|
+
|
|
4373
|
+
if (!id) {
|
|
4374
|
+
{
|
|
4375
|
+
throw new Error("getRowId expected an ID, but got " + id);
|
|
4376
|
+
}
|
|
4377
|
+
}
|
|
4378
|
+
|
|
4379
|
+
var values = {};
|
|
4380
|
+
|
|
4381
|
+
for (var _i2 = 0; _i2 < leafColumns.length; _i2++) {
|
|
4382
|
+
var column = leafColumns[_i2];
|
|
4383
|
+
|
|
4384
|
+
if (column && column.accessorFn) {
|
|
4385
|
+
values[column.id] = column.accessorFn(originalRow, rowIndex);
|
|
4386
|
+
}
|
|
4387
|
+
} // Make the row
|
|
4388
|
+
|
|
4389
|
+
|
|
4390
|
+
var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
|
|
4391
|
+
|
|
4392
|
+
if (parent) {
|
|
4393
|
+
parent.subRows.push(row);
|
|
4394
|
+
} else {
|
|
4395
|
+
rowModelRef.current.rows.push(row);
|
|
4396
|
+
} // Keep track of every row in a flat array
|
|
4397
|
+
|
|
4398
|
+
|
|
4399
|
+
rowModelRef.current.flatRows.push(row); // Also keep track of every row by its ID
|
|
4400
|
+
|
|
4401
|
+
rowModelRef.current.rowsById[id] = row; // Get the original subrows
|
|
4402
|
+
|
|
4403
|
+
if (instance.options.getSubRows) {
|
|
4404
|
+
var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
4405
|
+
|
|
4406
|
+
if (originalSubRows != null && originalSubRows.length) {
|
|
4407
|
+
row.originalSubRows = originalSubRows;
|
|
4408
|
+
row.subRows = [];
|
|
4409
|
+
accessRows(row.originalSubRows, depth + 1, row);
|
|
4410
|
+
}
|
|
4411
|
+
}
|
|
4412
|
+
}
|
|
4413
|
+
});
|
|
4414
|
+
};
|
|
4415
|
+
|
|
4416
|
+
for (var i = 0; i < batchGroups.length; i++) {
|
|
4417
|
+
_loop(i);
|
|
4418
|
+
}
|
|
4419
|
+
};
|
|
4420
|
+
|
|
4421
|
+
accessRows(data);
|
|
4422
|
+
};
|
|
4423
|
+
};
|
|
4424
|
+
}, {
|
|
4425
|
+
key: 'getRowModel',
|
|
4426
|
+
initialSync: opts == null ? void 0 : opts.initialSync,
|
|
4427
|
+
onProgress: function onProgress(progress) {
|
|
4428
|
+
instance.setState(function (old) {
|
|
4429
|
+
return _extends({}, old, {
|
|
4430
|
+
coreProgress: progress
|
|
4431
|
+
});
|
|
4432
|
+
});
|
|
4433
|
+
},
|
|
4434
|
+
debug: function debug() {
|
|
4435
|
+
var _instance$options$deb;
|
|
4436
|
+
|
|
4437
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4438
|
+
},
|
|
4439
|
+
onChange: function onChange() {
|
|
4440
|
+
instance._notifyFiltersReset();
|
|
4441
|
+
|
|
4442
|
+
instance._notifyRowSelectionReset();
|
|
4443
|
+
}
|
|
4444
|
+
});
|
|
4445
|
+
};
|
|
4446
|
+
}
|
|
4447
|
+
|
|
4448
|
+
function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
|
|
4449
|
+
var newFilteredFlatRows = [];
|
|
4450
|
+
var newFilteredRowsById = {};
|
|
4451
|
+
|
|
4452
|
+
var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
|
|
4453
|
+
if (depth === void 0) {
|
|
4454
|
+
depth = 0;
|
|
4455
|
+
}
|
|
4456
|
+
|
|
4457
|
+
rowsToFilter = rowsToFilter.slice(); // Filter from children up first
|
|
4458
|
+
|
|
4459
|
+
for (var i = 0; i < rowsToFilter.length; i++) {
|
|
4460
|
+
var _row$subRows;
|
|
4461
|
+
|
|
4462
|
+
var row = rowsToFilter[i];
|
|
4463
|
+
|
|
4464
|
+
if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
|
|
4465
|
+
continue;
|
|
4466
|
+
}
|
|
4271
4467
|
|
|
4272
4468
|
rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
|
|
4273
4469
|
rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
|
|
@@ -4332,259 +4528,380 @@
|
|
|
4332
4528
|
};
|
|
4333
4529
|
}
|
|
4334
4530
|
|
|
4335
|
-
function
|
|
4336
|
-
|
|
4337
|
-
|
|
4338
|
-
|
|
4339
|
-
|
|
4340
|
-
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
|
|
4531
|
+
function getColumnFilteredRowModelSync() {
|
|
4532
|
+
return function (instance) {
|
|
4533
|
+
return memo(function () {
|
|
4534
|
+
return [instance.getState().columnFilters, instance.getCoreRowModel()];
|
|
4535
|
+
}, function (columnFilters, rowModel) {
|
|
4536
|
+
var columnFilteredRowModel = function () {
|
|
4537
|
+
if (!rowModel.rows.length || !columnFilters) {
|
|
4538
|
+
return rowModel;
|
|
4539
|
+
}
|
|
4344
4540
|
|
|
4345
|
-
|
|
4541
|
+
var filterFromLeafRows = instance.options.filterFromLeafRows;
|
|
4346
4542
|
|
|
4347
|
-
|
|
4348
|
-
|
|
4349
|
-
|
|
4350
|
-
|
|
4543
|
+
var filterRows = function filterRows(rowsToFilter, depth) {
|
|
4544
|
+
for (var i = 0; i < columnFilters.length; i++) {
|
|
4545
|
+
var _columnFilters$i = columnFilters[i],
|
|
4546
|
+
columnId = _columnFilters$i.id,
|
|
4547
|
+
filterValue = _columnFilters$i.value; // Find the columnFilters column
|
|
4351
4548
|
|
|
4352
|
-
|
|
4353
|
-
}
|
|
4549
|
+
var column = instance.getColumn(columnId);
|
|
4354
4550
|
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
|
|
4551
|
+
if (!column) {
|
|
4552
|
+
{
|
|
4553
|
+
console.warn("Table: Could not find a column with id: " + columnId);
|
|
4554
|
+
}
|
|
4358
4555
|
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
};
|
|
4362
|
-
})();
|
|
4363
|
-
}
|
|
4556
|
+
throw new Error();
|
|
4557
|
+
}
|
|
4364
4558
|
|
|
4365
|
-
|
|
4559
|
+
if (depth === 0) {
|
|
4560
|
+
(function () {
|
|
4561
|
+
var preFilteredRows = [].concat(rowsToFilter);
|
|
4366
4562
|
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4563
|
+
column.getPreFilteredRows = function () {
|
|
4564
|
+
return preFilteredRows;
|
|
4565
|
+
};
|
|
4566
|
+
})();
|
|
4567
|
+
}
|
|
4371
4568
|
|
|
4372
|
-
|
|
4373
|
-
} // Pass the rows, id, filterValue and column to the filterFn
|
|
4374
|
-
// to get the filtered rows back
|
|
4569
|
+
var filterFn = instance.getColumnFilterFn(column.id);
|
|
4375
4570
|
|
|
4571
|
+
if (!filterFn) {
|
|
4572
|
+
{
|
|
4573
|
+
console.warn("Could not find a valid 'column.filterType' for column with the ID: " + column.id + ".");
|
|
4574
|
+
}
|
|
4376
4575
|
|
|
4377
|
-
|
|
4378
|
-
|
|
4576
|
+
continue;
|
|
4577
|
+
} // Pass the rows, id, filterValue and column to the filterFn
|
|
4578
|
+
// to get the filtered rows back
|
|
4379
4579
|
|
|
4380
|
-
return rowsToFilter;
|
|
4381
|
-
};
|
|
4382
4580
|
|
|
4383
|
-
|
|
4384
|
-
|
|
4385
|
-
}
|
|
4581
|
+
rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
|
|
4582
|
+
}
|
|
4386
4583
|
|
|
4387
|
-
|
|
4388
|
-
|
|
4584
|
+
return rowsToFilter;
|
|
4585
|
+
};
|
|
4389
4586
|
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
var filterFn = instance.getGlobalFilterFn();
|
|
4587
|
+
if (filterFromLeafRows) {
|
|
4588
|
+
return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
|
|
4589
|
+
}
|
|
4394
4590
|
|
|
4395
|
-
|
|
4396
|
-
|
|
4397
|
-
|
|
4398
|
-
}
|
|
4591
|
+
return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
|
|
4592
|
+
}(); // Now that each filtered column has it's partially filtered rows,
|
|
4593
|
+
// lets assign the final filtered rows to all of the other columns
|
|
4399
4594
|
|
|
4400
|
-
return rowModel;
|
|
4401
|
-
}
|
|
4402
4595
|
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
});
|
|
4406
|
-
var filterableColumnIds = filterableColumns.map(function (d) {
|
|
4407
|
-
return d.id;
|
|
4408
|
-
});
|
|
4596
|
+
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4597
|
+
var _instance$getState$co;
|
|
4409
4598
|
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4599
|
+
return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
|
|
4600
|
+
return d.id === column.id;
|
|
4601
|
+
}));
|
|
4602
|
+
}); // This essentially enables faceted filter options to be built easily
|
|
4603
|
+
// using every column's preFilteredRows value
|
|
4413
4604
|
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4605
|
+
nonFilteredColumns.forEach(function (column) {
|
|
4606
|
+
column.getPreFilteredRows = function () {
|
|
4607
|
+
return columnFilteredRowModel.rows;
|
|
4608
|
+
};
|
|
4609
|
+
});
|
|
4610
|
+
return columnFilteredRowModel;
|
|
4611
|
+
}, {
|
|
4612
|
+
key: 'getColumnFilteredRowModelSync',
|
|
4613
|
+
debug: function debug() {
|
|
4614
|
+
var _instance$options$deb;
|
|
4417
4615
|
|
|
4418
|
-
|
|
4616
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4617
|
+
},
|
|
4618
|
+
onChange: function onChange() {
|
|
4619
|
+
instance._notifySortingReset();
|
|
4620
|
+
}
|
|
4621
|
+
});
|
|
4622
|
+
};
|
|
4419
4623
|
}
|
|
4420
4624
|
|
|
4421
|
-
function
|
|
4422
|
-
|
|
4423
|
-
|
|
4625
|
+
function getGlobalFilteredRowModelSync() {
|
|
4626
|
+
return function (instance) {
|
|
4627
|
+
return memo(function () {
|
|
4628
|
+
return [instance.getState().globalFilter, instance.getCoreRowModel()];
|
|
4629
|
+
}, function (globalFilter, rowModel) {
|
|
4630
|
+
var globalFilteredRowModel = function () {
|
|
4631
|
+
if (!rowModel.rows.length || !globalFilter) {
|
|
4632
|
+
return rowModel;
|
|
4633
|
+
}
|
|
4424
4634
|
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
});
|
|
4428
|
-
var columnInfoById = {};
|
|
4429
|
-
availableSorting.forEach(function (sortEntry) {
|
|
4430
|
-
var column = instance.getColumn(sortEntry.id);
|
|
4431
|
-
columnInfoById[sortEntry.id] = {
|
|
4432
|
-
sortUndefined: column.sortUndefined,
|
|
4433
|
-
invertSorting: column.invertSorting,
|
|
4434
|
-
sortingFn: instance.getColumnSortingFn(sortEntry.id)
|
|
4435
|
-
};
|
|
4436
|
-
});
|
|
4635
|
+
var filterFromLeafRows = instance.options.filterFromLeafRows;
|
|
4636
|
+
var filterFn = instance.getGlobalFilterFn();
|
|
4437
4637
|
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
var sortedData = rows.slice();
|
|
4442
|
-
sortedData.sort(function (rowA, rowB) {
|
|
4443
|
-
for (var i = 0; i < availableSorting.length; i += 1) {
|
|
4444
|
-
var _sortEntry$desc;
|
|
4445
|
-
|
|
4446
|
-
var sortEntry = availableSorting[i];
|
|
4447
|
-
var columnInfo = columnInfoById[sortEntry.id];
|
|
4448
|
-
var isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;
|
|
4449
|
-
|
|
4450
|
-
if (columnInfo.sortUndefined) {
|
|
4451
|
-
var aValue = rowA.values[sortEntry.id];
|
|
4452
|
-
var bValue = rowB.values[sortEntry.id];
|
|
4453
|
-
var aUndefined = typeof aValue === 'undefined';
|
|
4454
|
-
var bUndefined = typeof bValue === 'undefined';
|
|
4455
|
-
|
|
4456
|
-
if (aUndefined || bUndefined) {
|
|
4457
|
-
return aUndefined && bUndefined ? 0 : aUndefined ? columnInfo.sortUndefined : -columnInfo.sortUndefined;
|
|
4638
|
+
if (!filterFn) {
|
|
4639
|
+
{
|
|
4640
|
+
console.warn("Could not find a valid 'globalFilterType'");
|
|
4458
4641
|
}
|
|
4459
|
-
} // This function should always return in ascending order
|
|
4460
4642
|
|
|
4643
|
+
return rowModel;
|
|
4644
|
+
}
|
|
4461
4645
|
|
|
4462
|
-
var
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4646
|
+
var filterableColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4647
|
+
return column.getCanGlobalFilter();
|
|
4648
|
+
});
|
|
4649
|
+
var filterableColumnIds = filterableColumns.map(function (d) {
|
|
4650
|
+
return d.id;
|
|
4651
|
+
});
|
|
4468
4652
|
|
|
4469
|
-
|
|
4470
|
-
|
|
4471
|
-
|
|
4653
|
+
var filterRows = function filterRows(rows) {
|
|
4654
|
+
return filterFn(rows, filterableColumnIds, globalFilter);
|
|
4655
|
+
};
|
|
4472
4656
|
|
|
4473
|
-
|
|
4657
|
+
if (filterFromLeafRows) {
|
|
4658
|
+
filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
|
|
4474
4659
|
}
|
|
4475
|
-
}
|
|
4476
4660
|
|
|
4477
|
-
|
|
4478
|
-
|
|
4661
|
+
return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
|
|
4662
|
+
}(); // Now that each filtered column has it's partially filtered rows,
|
|
4663
|
+
// lets assign the final filtered rows to all of the other columns
|
|
4479
4664
|
|
|
4480
|
-
sortedData.forEach(function (row) {
|
|
4481
|
-
sortedFlatRows.push(row);
|
|
4482
4665
|
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
}
|
|
4666
|
+
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4667
|
+
var _instance$getState$co;
|
|
4486
4668
|
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4669
|
+
return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
|
|
4670
|
+
return d.id === column.id;
|
|
4671
|
+
}));
|
|
4672
|
+
}); // This essentially enables faceted filter options to be built easily
|
|
4673
|
+
// using every column's preFilteredRows value
|
|
4491
4674
|
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4675
|
+
nonFilteredColumns.forEach(function (column) {
|
|
4676
|
+
column.getPreFilteredRows = function () {
|
|
4677
|
+
return globalFilteredRowModel.rows;
|
|
4678
|
+
};
|
|
4679
|
+
});
|
|
4680
|
+
return globalFilteredRowModel;
|
|
4681
|
+
}, {
|
|
4682
|
+
key: 'getGlobalFilteredRowModelSync',
|
|
4683
|
+
debug: function debug() {
|
|
4684
|
+
var _instance$options$deb;
|
|
4685
|
+
|
|
4686
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4687
|
+
},
|
|
4688
|
+
onChange: function onChange() {
|
|
4689
|
+
instance._notifySortingReset();
|
|
4690
|
+
}
|
|
4691
|
+
});
|
|
4496
4692
|
};
|
|
4497
4693
|
}
|
|
4498
4694
|
|
|
4499
|
-
function
|
|
4500
|
-
|
|
4695
|
+
function getSortedRowModelSync() {
|
|
4696
|
+
return function (instance) {
|
|
4697
|
+
return memo(function () {
|
|
4698
|
+
return [instance.getState().sorting, instance.getGlobalFilteredRowModel()];
|
|
4699
|
+
}, function (sorting, rowModel) {
|
|
4700
|
+
if (!rowModel.rows.length || !(sorting != null && sorting.length)) {
|
|
4701
|
+
return rowModel;
|
|
4702
|
+
}
|
|
4501
4703
|
|
|
4502
|
-
|
|
4503
|
-
|
|
4504
|
-
}); // Find the columns that can or are aggregating
|
|
4505
|
-
// Uses each column to aggregate rows into a single value
|
|
4704
|
+
var sortingState = instance.getState().sorting;
|
|
4705
|
+
var sortedFlatRows = []; // Filter out sortings that correspond to non existing columns
|
|
4506
4706
|
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
|
|
4707
|
+
var availableSorting = sortingState.filter(function (sort) {
|
|
4708
|
+
return instance.getColumnCanSort(sort.id);
|
|
4709
|
+
});
|
|
4710
|
+
var columnInfoById = {};
|
|
4711
|
+
availableSorting.forEach(function (sortEntry) {
|
|
4712
|
+
var column = instance.getColumn(sortEntry.id);
|
|
4713
|
+
columnInfoById[sortEntry.id] = {
|
|
4714
|
+
sortUndefined: column.sortUndefined,
|
|
4715
|
+
invertSorting: column.invertSorting,
|
|
4716
|
+
sortingFn: instance.getColumnSortingFn(sortEntry.id)
|
|
4717
|
+
};
|
|
4718
|
+
});
|
|
4515
4719
|
|
|
4720
|
+
var sortData = function sortData(rows) {
|
|
4721
|
+
// This will also perform a stable sorting using the row index
|
|
4722
|
+
// if needed.
|
|
4723
|
+
var sortedData = rows.slice();
|
|
4724
|
+
sortedData.sort(function (rowA, rowB) {
|
|
4725
|
+
for (var i = 0; i < availableSorting.length; i += 1) {
|
|
4726
|
+
var _sortEntry$desc;
|
|
4727
|
+
|
|
4728
|
+
var sortEntry = availableSorting[i];
|
|
4729
|
+
var columnInfo = columnInfoById[sortEntry.id];
|
|
4730
|
+
var isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;
|
|
4731
|
+
|
|
4732
|
+
if (columnInfo.sortUndefined) {
|
|
4733
|
+
var aValue = rowA.values[sortEntry.id];
|
|
4734
|
+
var bValue = rowB.values[sortEntry.id];
|
|
4735
|
+
var aUndefined = typeof aValue === 'undefined';
|
|
4736
|
+
var bUndefined = typeof bValue === 'undefined';
|
|
4737
|
+
|
|
4738
|
+
if (aUndefined || bUndefined) {
|
|
4739
|
+
return aUndefined && bUndefined ? 0 : aUndefined ? columnInfo.sortUndefined : -columnInfo.sortUndefined;
|
|
4740
|
+
}
|
|
4741
|
+
} // This function should always return in ascending order
|
|
4516
4742
|
|
|
4517
|
-
var aggregateFn = instance.getColumnAggregationFn(column.id);
|
|
4518
4743
|
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4744
|
+
var sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);
|
|
4745
|
+
|
|
4746
|
+
if (sortInt !== 0) {
|
|
4747
|
+
if (isDesc) {
|
|
4748
|
+
sortInt *= -1;
|
|
4749
|
+
}
|
|
4523
4750
|
|
|
4524
|
-
|
|
4525
|
-
|
|
4751
|
+
if (columnInfo.invertSorting) {
|
|
4752
|
+
sortInt *= -1;
|
|
4753
|
+
}
|
|
4754
|
+
|
|
4755
|
+
return sortInt;
|
|
4526
4756
|
}
|
|
4757
|
+
}
|
|
4527
4758
|
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
|
|
4759
|
+
return rowA.index - rowB.index;
|
|
4760
|
+
}); // If there are sub-rows, sort them
|
|
4761
|
+
|
|
4762
|
+
sortedData.forEach(function (row) {
|
|
4763
|
+
sortedFlatRows.push(row);
|
|
4764
|
+
|
|
4765
|
+
if (!row.subRows || row.subRows.length <= 1) {
|
|
4766
|
+
return;
|
|
4767
|
+
}
|
|
4768
|
+
|
|
4769
|
+
row.subRows = sortData(row.subRows);
|
|
4538
4770
|
});
|
|
4539
|
-
|
|
4540
|
-
}
|
|
4541
|
-
|
|
4771
|
+
return sortedData;
|
|
4772
|
+
};
|
|
4773
|
+
|
|
4774
|
+
return {
|
|
4775
|
+
rows: sortData(rowModel.rows),
|
|
4776
|
+
flatRows: sortedFlatRows,
|
|
4777
|
+
rowsById: rowModel.rowsById
|
|
4778
|
+
};
|
|
4779
|
+
}, {
|
|
4780
|
+
key: 'getSortedRowModel',
|
|
4781
|
+
debug: function debug() {
|
|
4782
|
+
var _instance$options$deb;
|
|
4783
|
+
|
|
4784
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4785
|
+
},
|
|
4786
|
+
onChange: function onChange() {
|
|
4787
|
+
instance._notifyGroupingReset();
|
|
4542
4788
|
}
|
|
4543
4789
|
});
|
|
4544
|
-
return values;
|
|
4545
4790
|
};
|
|
4791
|
+
}
|
|
4546
4792
|
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4793
|
+
function getGroupedRowModelSync() {
|
|
4794
|
+
return function (instance) {
|
|
4795
|
+
return memo(function () {
|
|
4796
|
+
return [instance.getState().grouping, instance.getSortedRowModel()];
|
|
4797
|
+
}, function (grouping, rowModel) {
|
|
4798
|
+
if (!rowModel.rows.length || !grouping.length) {
|
|
4799
|
+
return rowModel;
|
|
4800
|
+
} // Filter the grouping list down to columns that exist
|
|
4553
4801
|
|
|
4554
|
-
var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
|
|
4555
|
-
if (depth === void 0) {
|
|
4556
|
-
depth = 0;
|
|
4557
|
-
}
|
|
4558
4802
|
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
|
|
4562
|
-
|
|
4803
|
+
var existingGrouping = grouping.filter(function (columnId) {
|
|
4804
|
+
return instance.getColumn(columnId);
|
|
4805
|
+
}); // Find the columns that can or are aggregating
|
|
4806
|
+
// Uses each column to aggregate rows into a single value
|
|
4807
|
+
|
|
4808
|
+
var aggregateRowsToValues = function aggregateRowsToValues(leafRows, groupedRows, depth) {
|
|
4809
|
+
var values = {};
|
|
4810
|
+
instance.getAllLeafColumns().forEach(function (column) {
|
|
4811
|
+
// Don't aggregate columns that are in the grouping
|
|
4812
|
+
if (existingGrouping.includes(column.id)) {
|
|
4813
|
+
values[column.id] = groupedRows[0] ? groupedRows[0].values[column.id] : null;
|
|
4814
|
+
return;
|
|
4815
|
+
} // Aggregate the values
|
|
4563
4816
|
|
|
4564
|
-
var columnId = existingGrouping[depth]; // Group the rows together for this level
|
|
4565
4817
|
|
|
4566
|
-
|
|
4818
|
+
var aggregateFn = instance.getColumnAggregationFn(column.id);
|
|
4567
4819
|
|
|
4568
|
-
|
|
4569
|
-
|
|
4570
|
-
|
|
4571
|
-
|
|
4572
|
-
id = parentId ? parentId + ">" + id : id; // First, Recurse to group sub rows before aggregation
|
|
4820
|
+
if (aggregateFn) {
|
|
4821
|
+
values[column.id] = aggregateFn(function () {
|
|
4822
|
+
return leafRows.map(function (row) {
|
|
4823
|
+
var columnValue = row.values[column.id];
|
|
4573
4824
|
|
|
4574
|
-
|
|
4825
|
+
if (!depth && column.aggregateValue) {
|
|
4826
|
+
columnValue = column.aggregateValue(columnValue);
|
|
4827
|
+
}
|
|
4575
4828
|
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
|
|
4587
|
-
|
|
4829
|
+
return columnValue;
|
|
4830
|
+
});
|
|
4831
|
+
}, function () {
|
|
4832
|
+
return groupedRows.map(function (row) {
|
|
4833
|
+
return row.values[column.id];
|
|
4834
|
+
});
|
|
4835
|
+
});
|
|
4836
|
+
} else if (column.aggregationType) {
|
|
4837
|
+
console.info({
|
|
4838
|
+
column: column
|
|
4839
|
+
});
|
|
4840
|
+
throw new Error("Table: Invalid column.aggregateType option for column listed above" );
|
|
4841
|
+
} else {
|
|
4842
|
+
values[column.id] = null;
|
|
4843
|
+
}
|
|
4844
|
+
});
|
|
4845
|
+
return values;
|
|
4846
|
+
};
|
|
4847
|
+
|
|
4848
|
+
var groupedFlatRows = [];
|
|
4849
|
+
var groupedRowsById = {}; // const onlyGroupedFlatRows: Row[] = [];
|
|
4850
|
+
// const onlyGroupedRowsById: Record<RowId, Row> = {};
|
|
4851
|
+
// const nonGroupedFlatRows: Row[] = [];
|
|
4852
|
+
// const nonGroupedRowsById: Record<RowId, Row> = {};
|
|
4853
|
+
// Recursively group the data
|
|
4854
|
+
|
|
4855
|
+
var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
|
|
4856
|
+
if (depth === void 0) {
|
|
4857
|
+
depth = 0;
|
|
4858
|
+
}
|
|
4859
|
+
|
|
4860
|
+
// This is the last level, just return the rows
|
|
4861
|
+
if (depth === existingGrouping.length) {
|
|
4862
|
+
return rows;
|
|
4863
|
+
}
|
|
4864
|
+
|
|
4865
|
+
var columnId = existingGrouping[depth]; // Group the rows together for this level
|
|
4866
|
+
|
|
4867
|
+
var rowGroupsMap = groupBy(rows, columnId); // Peform aggregations for each group
|
|
4868
|
+
|
|
4869
|
+
var aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(function (_ref, index) {
|
|
4870
|
+
var groupingValue = _ref[0],
|
|
4871
|
+
groupedRows = _ref[1];
|
|
4872
|
+
var id = columnId + ":" + groupingValue;
|
|
4873
|
+
id = parentId ? parentId + ">" + id : id; // First, Recurse to group sub rows before aggregation
|
|
4874
|
+
|
|
4875
|
+
var subRows = groupUpRecursively(groupedRows, depth + 1, id); // Flatten the leaf rows of the rows in this group
|
|
4876
|
+
|
|
4877
|
+
var leafRows = depth ? flattenBy(groupedRows, function (row) {
|
|
4878
|
+
return row.subRows;
|
|
4879
|
+
}) : groupedRows;
|
|
4880
|
+
var values = aggregateRowsToValues(leafRows, groupedRows, depth);
|
|
4881
|
+
var row = instance.createRow(id, undefined, index, depth, values);
|
|
4882
|
+
Object.assign(row, {
|
|
4883
|
+
groupingColumnId: columnId,
|
|
4884
|
+
groupingValue: groupingValue,
|
|
4885
|
+
subRows: subRows,
|
|
4886
|
+
leafRows: leafRows
|
|
4887
|
+
});
|
|
4888
|
+
subRows.forEach(function (subRow) {
|
|
4889
|
+
groupedFlatRows.push(subRow);
|
|
4890
|
+
groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) {
|
|
4891
|
+
// onlyGroupedFlatRows.push(subRow);
|
|
4892
|
+
// onlyGroupedRowsById[subRow.id] = subRow;
|
|
4893
|
+
// } else {
|
|
4894
|
+
// nonGroupedFlatRows.push(subRow);
|
|
4895
|
+
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4896
|
+
// }
|
|
4897
|
+
});
|
|
4898
|
+
return row;
|
|
4899
|
+
});
|
|
4900
|
+
return aggregatedGroupedRows;
|
|
4901
|
+
};
|
|
4902
|
+
|
|
4903
|
+
var groupedRows = groupUpRecursively(rowModel.rows, 0, '');
|
|
4904
|
+
groupedRows.forEach(function (subRow) {
|
|
4588
4905
|
groupedFlatRows.push(subRow);
|
|
4589
4906
|
groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) {
|
|
4590
4907
|
// onlyGroupedFlatRows.push(subRow);
|
|
@@ -4594,26 +4911,22 @@
|
|
|
4594
4911
|
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4595
4912
|
// }
|
|
4596
4913
|
});
|
|
4597
|
-
return
|
|
4598
|
-
|
|
4599
|
-
|
|
4600
|
-
|
|
4914
|
+
return {
|
|
4915
|
+
rows: groupedRows,
|
|
4916
|
+
flatRows: groupedFlatRows,
|
|
4917
|
+
rowsById: groupedRowsById
|
|
4918
|
+
};
|
|
4919
|
+
}, {
|
|
4920
|
+
key: 'getGroupedRowModel',
|
|
4921
|
+
debug: function debug() {
|
|
4922
|
+
var _instance$options$deb;
|
|
4601
4923
|
|
|
4602
|
-
|
|
4603
|
-
|
|
4604
|
-
|
|
4605
|
-
|
|
4606
|
-
|
|
4607
|
-
|
|
4608
|
-
// } else {
|
|
4609
|
-
// nonGroupedFlatRows.push(subRow);
|
|
4610
|
-
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4611
|
-
// }
|
|
4612
|
-
});
|
|
4613
|
-
return {
|
|
4614
|
-
rows: groupedRows,
|
|
4615
|
-
flatRows: groupedFlatRows,
|
|
4616
|
-
rowsById: groupedRowsById
|
|
4924
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4925
|
+
},
|
|
4926
|
+
onChange: function onChange() {
|
|
4927
|
+
return instance._notifyExpandedReset();
|
|
4928
|
+
}
|
|
4929
|
+
});
|
|
4617
4930
|
};
|
|
4618
4931
|
}
|
|
4619
4932
|
|
|
@@ -4633,7 +4946,28 @@
|
|
|
4633
4946
|
}, groupMap);
|
|
4634
4947
|
}
|
|
4635
4948
|
|
|
4636
|
-
function
|
|
4949
|
+
function getExpandedRowModel() {
|
|
4950
|
+
return function (instance) {
|
|
4951
|
+
return memo(function () {
|
|
4952
|
+
return [instance.getState().expanded, instance.getGroupedRowModel(), instance.options.paginateExpandedRows];
|
|
4953
|
+
}, function (expanded, rowModel, paginateExpandedRows) {
|
|
4954
|
+
if (!rowModel.rows.length || // Do not expand if rows are not included in pagination
|
|
4955
|
+
!paginateExpandedRows || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
|
|
4956
|
+
return rowModel;
|
|
4957
|
+
}
|
|
4958
|
+
|
|
4959
|
+
return expandRows(rowModel, instance);
|
|
4960
|
+
}, {
|
|
4961
|
+
key: 'getExpandedRowModel',
|
|
4962
|
+
debug: function debug() {
|
|
4963
|
+
var _instance$options$deb;
|
|
4964
|
+
|
|
4965
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4966
|
+
}
|
|
4967
|
+
});
|
|
4968
|
+
};
|
|
4969
|
+
}
|
|
4970
|
+
function expandRows(rowModel, instance) {
|
|
4637
4971
|
var expandedRows = [];
|
|
4638
4972
|
|
|
4639
4973
|
var handleRow = function handleRow(row) {
|
|
@@ -4646,37 +4980,53 @@
|
|
|
4646
4980
|
}
|
|
4647
4981
|
};
|
|
4648
4982
|
|
|
4649
|
-
|
|
4983
|
+
rowModel.rows.forEach(handleRow);
|
|
4650
4984
|
return {
|
|
4651
4985
|
rows: expandedRows,
|
|
4652
|
-
flatRows:
|
|
4653
|
-
rowsById:
|
|
4986
|
+
flatRows: rowModel.flatRows,
|
|
4987
|
+
rowsById: rowModel.rowsById
|
|
4654
4988
|
};
|
|
4655
4989
|
}
|
|
4656
4990
|
|
|
4657
|
-
function
|
|
4658
|
-
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
|
|
4663
|
-
|
|
4664
|
-
|
|
4665
|
-
var pageEnd = pageStart + pageSize;
|
|
4666
|
-
rows = rows.slice(pageStart, pageEnd);
|
|
4667
|
-
|
|
4668
|
-
if (!instance.options.paginateExpandedRows) {
|
|
4669
|
-
return expandRowsFn(instance, {
|
|
4670
|
-
rows: rows,
|
|
4671
|
-
flatRows: flatRows,
|
|
4672
|
-
rowsById: rowsById
|
|
4673
|
-
});
|
|
4674
|
-
}
|
|
4991
|
+
function getPaginationRowModel(opts) {
|
|
4992
|
+
return function (instance) {
|
|
4993
|
+
return memo(function () {
|
|
4994
|
+
return [instance.getState().pagination, instance.getExpandedRowModel()];
|
|
4995
|
+
}, function (pagination, rowModel) {
|
|
4996
|
+
if (!rowModel.rows.length) {
|
|
4997
|
+
return rowModel;
|
|
4998
|
+
}
|
|
4675
4999
|
|
|
4676
|
-
|
|
4677
|
-
|
|
4678
|
-
|
|
4679
|
-
|
|
5000
|
+
var pageSize = pagination.pageSize,
|
|
5001
|
+
pageIndex = pagination.pageIndex;
|
|
5002
|
+
var rows = rowModel.rows,
|
|
5003
|
+
flatRows = rowModel.flatRows,
|
|
5004
|
+
rowsById = rowModel.rowsById;
|
|
5005
|
+
var pageStart = pageSize * pageIndex;
|
|
5006
|
+
var pageEnd = pageStart + pageSize;
|
|
5007
|
+
rows = rows.slice(pageStart, pageEnd);
|
|
5008
|
+
|
|
5009
|
+
if (!instance.options.paginateExpandedRows) {
|
|
5010
|
+
return expandRows({
|
|
5011
|
+
rows: rows,
|
|
5012
|
+
flatRows: flatRows,
|
|
5013
|
+
rowsById: rowsById
|
|
5014
|
+
}, instance);
|
|
5015
|
+
}
|
|
5016
|
+
|
|
5017
|
+
return {
|
|
5018
|
+
rows: rows,
|
|
5019
|
+
flatRows: flatRows,
|
|
5020
|
+
rowsById: rowsById
|
|
5021
|
+
};
|
|
5022
|
+
}, {
|
|
5023
|
+
key: 'getPaginationRowModel',
|
|
5024
|
+
debug: function debug() {
|
|
5025
|
+
var _instance$options$deb;
|
|
5026
|
+
|
|
5027
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
5028
|
+
}
|
|
5029
|
+
});
|
|
4680
5030
|
};
|
|
4681
5031
|
}
|
|
4682
5032
|
|
|
@@ -4692,26 +5042,31 @@
|
|
|
4692
5042
|
exports.Sorting = Sorting;
|
|
4693
5043
|
exports.Visibility = Visibility;
|
|
4694
5044
|
exports.buildHeaderGroups = buildHeaderGroups;
|
|
4695
|
-
exports.columnFilterRowsFn = columnFilterRowsFn;
|
|
4696
5045
|
exports.createTableInstance = createTableInstance;
|
|
4697
5046
|
exports.defaultColumnSizing = defaultColumnSizing;
|
|
4698
|
-
exports.
|
|
5047
|
+
exports.expandRows = expandRows;
|
|
4699
5048
|
exports.flattenBy = flattenBy;
|
|
4700
5049
|
exports.functionalUpdate = functionalUpdate;
|
|
4701
|
-
exports.
|
|
4702
|
-
exports.
|
|
5050
|
+
exports.getBatchGroups = getBatchGroups;
|
|
5051
|
+
exports.getColumnFilteredRowModelSync = getColumnFilteredRowModelSync;
|
|
5052
|
+
exports.getCoreRowModelAsync = getCoreRowModelAsync;
|
|
5053
|
+
exports.getCoreRowModelSync = getCoreRowModelSync;
|
|
5054
|
+
exports.getExpandedRowModel = getExpandedRowModel;
|
|
5055
|
+
exports.getGlobalFilteredRowModelSync = getGlobalFilteredRowModelSync;
|
|
5056
|
+
exports.getGroupedRowModelSync = getGroupedRowModelSync;
|
|
5057
|
+
exports.getPaginationRowModel = getPaginationRowModel;
|
|
5058
|
+
exports.getSortedRowModelSync = getSortedRowModelSync;
|
|
5059
|
+
exports.incrementalMemo = incrementalMemo;
|
|
4703
5060
|
exports.init = init;
|
|
4704
5061
|
exports.isFunction = isFunction;
|
|
4705
5062
|
exports.isRowSelected = isRowSelected;
|
|
4706
5063
|
exports.makeStateUpdater = makeStateUpdater;
|
|
4707
5064
|
exports.memo = memo;
|
|
4708
5065
|
exports.noop = noop;
|
|
4709
|
-
exports.paginateRowsFn = paginateRowsFn;
|
|
4710
5066
|
exports.passiveEventSupported = passiveEventSupported;
|
|
4711
5067
|
exports.propGetter = propGetter;
|
|
4712
5068
|
exports.selectRowsFn = selectRowsFn;
|
|
4713
5069
|
exports.shouldAutoRemoveFilter = shouldAutoRemoveFilter;
|
|
4714
|
-
exports.sortRowsFn = sortRowsFn;
|
|
4715
5070
|
|
|
4716
5071
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4717
5072
|
|