@tanstack/table-core 8.0.0-alpha.30 → 8.0.0-alpha.36
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 +43 -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 +9 -3
- 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 +115 -0
- package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +1 -0
- package/build/cjs/utils/getCoreRowModelAsync.js +127 -0
- package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -0
- package/build/cjs/utils/getCoreRowModelSync.js +104 -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 +91 -0
- package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +1 -0
- package/build/cjs/utils/getGroupedRowModel.js +176 -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 +118 -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 +877 -488
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +408 -300
- package/build/types/aggregationTypes.d.ts +1 -1
- package/build/types/core.d.ts +9 -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 +887 -493
- 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 +3 -1
- package/src/aggregationTypes.ts +1 -1
- package/src/core.tsx +53 -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/RowSelection.ts +5 -3
- package/src/features/Sorting.ts +19 -23
- package/src/index.tsx +8 -6
- package/src/types.ts +3 -1
- package/src/utils/getColumnFilteredRowModelAsync.ts +119 -0
- package/src/utils/getColumnFilteredRowModelSync.ts +99 -0
- package/src/utils/getCoreRowModelAsync.ts +105 -0
- package/src/utils/getCoreRowModelSync.ts +107 -0
- package/src/utils/getExpandedRowModel.ts +58 -0
- package/src/utils/getGlobalFilteredRowModelAsync.ts +97 -0
- package/src/utils/getGlobalFilteredRowModelSync.ts +76 -0
- package/src/utils/getGroupedRowModel.ts +191 -0
- package/src/utils/getPaginationRowModel.ts +45 -0
- package/src/utils/getSortedRowModelAsync.ts +201 -0
- package/src/utils/getSortedRowModelSync.ts +118 -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
package/build/esm/index.js
CHANGED
|
@@ -103,6 +103,32 @@ function functionalUpdate(updater, input) {
|
|
|
103
103
|
}
|
|
104
104
|
function noop() {//
|
|
105
105
|
}
|
|
106
|
+
function getBatchGroups(arr, count) {
|
|
107
|
+
var groups = [{
|
|
108
|
+
start: 0,
|
|
109
|
+
end: count - 1,
|
|
110
|
+
items: []
|
|
111
|
+
}];
|
|
112
|
+
var groupIndex = 0;
|
|
113
|
+
var group = groups[groupIndex];
|
|
114
|
+
|
|
115
|
+
for (var i = 0; i < arr.length; i++) {
|
|
116
|
+
if (i > group.end) {
|
|
117
|
+
groupIndex++;
|
|
118
|
+
groups[groupIndex] = {
|
|
119
|
+
start: i,
|
|
120
|
+
end: i + count - 1,
|
|
121
|
+
items: []
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
group = groups[groupIndex];
|
|
126
|
+
var _item = arr[i];
|
|
127
|
+
group.items.push(_item);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
return groups;
|
|
131
|
+
}
|
|
106
132
|
function makeStateUpdater(key, instance) {
|
|
107
133
|
return function (updater) {
|
|
108
134
|
instance.setState(function (old) {
|
|
@@ -200,22 +226,133 @@ function memo(getDeps, fn, opts) {
|
|
|
200
226
|
|
|
201
227
|
return result;
|
|
202
228
|
};
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
229
|
+
}
|
|
230
|
+
function incrementalMemo(getDeps, getInitialValue, schedule, opts) {
|
|
231
|
+
var _opts$timeout;
|
|
232
|
+
|
|
233
|
+
var oldDeps;
|
|
234
|
+
var deps;
|
|
235
|
+
var result;
|
|
236
|
+
var nextResultRef;
|
|
237
|
+
var tasks = [];
|
|
238
|
+
var totalTaskCount = 0;
|
|
239
|
+
var resultStartTime;
|
|
240
|
+
var batchIndex = 0;
|
|
241
|
+
var progress = 0;
|
|
242
|
+
var working = false;
|
|
243
|
+
var callback;
|
|
244
|
+
var timeout = (_opts$timeout = opts.timeout) != null ? _opts$timeout : 100;
|
|
245
|
+
|
|
246
|
+
var onProgress = function onProgress(latestResult, previousResult) {
|
|
247
|
+
progress = 1 - tasks.length / totalTaskCount;
|
|
248
|
+
opts.onProgress(progress, latestResult, previousResult);
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
return function () {
|
|
252
|
+
var scheduleFn = function scheduleFn(workFn) {
|
|
253
|
+
totalTaskCount++;
|
|
254
|
+
tasks.push(workFn);
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
var newDeps = getDeps();
|
|
258
|
+
var first = false;
|
|
259
|
+
|
|
260
|
+
if (!deps) {
|
|
261
|
+
first = true;
|
|
262
|
+
deps = [];
|
|
263
|
+
result = getInitialValue.apply(void 0, newDeps);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
var depsChanged = newDeps.length !== deps.length || newDeps.some(function (dep, index) {
|
|
267
|
+
return deps[index] !== dep;
|
|
268
|
+
});
|
|
269
|
+
|
|
270
|
+
if (depsChanged) {
|
|
271
|
+
cancelIdleCallback(callback);
|
|
272
|
+
oldDeps = deps;
|
|
273
|
+
deps = newDeps;
|
|
274
|
+
totalTaskCount = 0;
|
|
275
|
+
tasks = [];
|
|
276
|
+
nextResultRef = {
|
|
277
|
+
current: getInitialValue.apply(void 0, newDeps)
|
|
278
|
+
};
|
|
279
|
+
resultStartTime = Date.now();
|
|
280
|
+
schedule.apply(void 0, newDeps)(nextResultRef)(scheduleFn);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
var commitResult = function commitResult() {
|
|
284
|
+
cancelIdleCallback(callback);
|
|
285
|
+
|
|
286
|
+
if (opts.key && opts.debug) {
|
|
287
|
+
if (opts != null && opts.debug()) {
|
|
288
|
+
var resultEndTime = Math.round((Date.now() - resultStartTime) * 100) / 100;
|
|
289
|
+
var resultFpsPercentage = resultEndTime / batchIndex / 16;
|
|
290
|
+
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({
|
|
291
|
+
length: oldDeps.length + " -> " + deps.length
|
|
292
|
+
}, deps.map(function (_, index) {
|
|
293
|
+
if (oldDeps[index] !== deps[index]) {
|
|
294
|
+
return [index, oldDeps[index], deps[index]];
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
return false;
|
|
298
|
+
}).filter(Boolean).reduce(function (accu, _ref2) {
|
|
299
|
+
var _extends4;
|
|
300
|
+
|
|
301
|
+
var a = _ref2[0],
|
|
302
|
+
b = _ref2[1];
|
|
303
|
+
return _extends({}, accu, (_extends4 = {}, _extends4[a] = b, _extends4));
|
|
304
|
+
}, {}), {
|
|
305
|
+
parent: parent
|
|
306
|
+
}));
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
working = false;
|
|
311
|
+
var previousResult = result;
|
|
312
|
+
result = nextResultRef.current;
|
|
313
|
+
onProgress(result, previousResult);
|
|
314
|
+
opts.onChange(result, previousResult);
|
|
315
|
+
};
|
|
316
|
+
|
|
317
|
+
if (opts.initialSync && first) {
|
|
318
|
+
batchIndex = 1;
|
|
319
|
+
first = false;
|
|
320
|
+
|
|
321
|
+
for (var i = 0; i < tasks.length; i++) {
|
|
322
|
+
tasks[i]();
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
tasks = [];
|
|
326
|
+
commitResult();
|
|
327
|
+
} else if (!working && tasks.length) {
|
|
328
|
+
cancelIdleCallback(callback);
|
|
329
|
+
working = true;
|
|
330
|
+
batchIndex = 0;
|
|
331
|
+
|
|
332
|
+
var workLoop = function workLoop(deadline) {
|
|
333
|
+
while (tasks.length && deadline.timeRemaining() > 0) {
|
|
334
|
+
tasks.shift()();
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
if (!tasks.length) {
|
|
338
|
+
commitResult();
|
|
339
|
+
} else {
|
|
340
|
+
++batchIndex;
|
|
341
|
+
onProgress(nextResultRef.current, result);
|
|
342
|
+
callback = requestIdleCallback(workLoop, {
|
|
343
|
+
timeout: timeout
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
};
|
|
347
|
+
|
|
348
|
+
callback = requestIdleCallback(workLoop, {
|
|
349
|
+
timeout: timeout
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
return result;
|
|
354
|
+
};
|
|
355
|
+
} // opts?.onChange?.(result, oldResult)
|
|
219
356
|
|
|
220
357
|
//
|
|
221
358
|
var defaultColumnSizing = {
|
|
@@ -546,6 +683,8 @@ var Expanding = {
|
|
|
546
683
|
var registered = false;
|
|
547
684
|
return {
|
|
548
685
|
_notifyExpandedReset: function _notifyExpandedReset() {
|
|
686
|
+
instance._notifyPageIndexReset();
|
|
687
|
+
|
|
549
688
|
if (!registered) {
|
|
550
689
|
registered = true;
|
|
551
690
|
return;
|
|
@@ -697,25 +836,19 @@ var Expanding = {
|
|
|
697
836
|
});
|
|
698
837
|
return maxDepth;
|
|
699
838
|
},
|
|
700
|
-
|
|
701
|
-
return
|
|
702
|
-
},
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
839
|
+
getPreExpandedRowModel: function getPreExpandedRowModel() {
|
|
840
|
+
return instance.getGroupedRowModel();
|
|
841
|
+
},
|
|
842
|
+
getExpandedRowModel: function getExpandedRowModel() {
|
|
843
|
+
if (!instance._getExpandedRowModel && instance.options.getExpandedRowModel) {
|
|
844
|
+
instance._getExpandedRowModel = instance.options.getExpandedRowModel(instance);
|
|
706
845
|
}
|
|
707
846
|
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
key: 'getExpandedRowModel',
|
|
711
|
-
debug: function debug() {
|
|
712
|
-
var _instance$options$deb;
|
|
713
|
-
|
|
714
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
847
|
+
if (!instance._getExpandedRowModel) {
|
|
848
|
+
return instance.getPreExpandedRowModel();
|
|
715
849
|
}
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
return instance.getGroupedRowModel();
|
|
850
|
+
|
|
851
|
+
return instance._getExpandedRowModel();
|
|
719
852
|
}
|
|
720
853
|
};
|
|
721
854
|
},
|
|
@@ -903,7 +1036,9 @@ var Filters = {
|
|
|
903
1036
|
getInitialState: function getInitialState() {
|
|
904
1037
|
return {
|
|
905
1038
|
columnFilters: [],
|
|
906
|
-
globalFilter: undefined
|
|
1039
|
+
globalFilter: undefined,
|
|
1040
|
+
columnFiltersProgress: 1,
|
|
1041
|
+
globalFilterProgress: 1
|
|
907
1042
|
};
|
|
908
1043
|
},
|
|
909
1044
|
getDefaultOptions: function getDefaultOptions(instance) {
|
|
@@ -1002,6 +1137,8 @@ var Filters = {
|
|
|
1002
1137
|
var registered = false;
|
|
1003
1138
|
return {
|
|
1004
1139
|
_notifyFiltersReset: function _notifyFiltersReset() {
|
|
1140
|
+
instance._notifySortingReset();
|
|
1141
|
+
|
|
1005
1142
|
if (!registered) {
|
|
1006
1143
|
registered = true;
|
|
1007
1144
|
return;
|
|
@@ -1011,16 +1148,12 @@ var Filters = {
|
|
|
1011
1148
|
return;
|
|
1012
1149
|
}
|
|
1013
1150
|
|
|
1014
|
-
if (instance.options.autoResetAll === true) {
|
|
1015
|
-
instance.
|
|
1016
|
-
}
|
|
1017
|
-
if (instance.options.autoResetColumnFilters) {
|
|
1018
|
-
instance.resetColumnFilters();
|
|
1019
|
-
}
|
|
1151
|
+
if (instance.options.autoResetAll === true || instance.options.autoResetColumnFilters) {
|
|
1152
|
+
instance.resetColumnFilters();
|
|
1153
|
+
}
|
|
1020
1154
|
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
}
|
|
1155
|
+
if (instance.options.autoResetAll === true || instance.options.autoResetGlobalFilter) {
|
|
1156
|
+
instance.resetGlobalFilter();
|
|
1024
1157
|
}
|
|
1025
1158
|
},
|
|
1026
1159
|
getColumnAutoFilterFn: function getColumnAutoFilterFn(columnId) {
|
|
@@ -1200,84 +1333,31 @@ var Filters = {
|
|
|
1200
1333
|
getPreColumnFilteredRowModel: function getPreColumnFilteredRowModel() {
|
|
1201
1334
|
return instance.getCoreRowModel();
|
|
1202
1335
|
},
|
|
1203
|
-
getColumnFilteredRowModel:
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
if (!(columnFilters != null && columnFilters.length) || !columnFiltersFn) {
|
|
1208
|
-
return rowModel;
|
|
1209
|
-
}
|
|
1210
|
-
|
|
1211
|
-
return columnFiltersFn(instance, rowModel);
|
|
1212
|
-
}(); // Now that each filtered column has it's partially filtered rows,
|
|
1213
|
-
// lets assign the final filtered rows to all of the other columns
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
1217
|
-
var _instance$getState$co5;
|
|
1218
|
-
|
|
1219
|
-
return !((_instance$getState$co5 = instance.getState().columnFilters) != null && _instance$getState$co5.find(function (d) {
|
|
1220
|
-
return d.id === column.id;
|
|
1221
|
-
}));
|
|
1222
|
-
}); // This essentially enables faceted filter options to be built easily
|
|
1223
|
-
// using every column's preFilteredRows value
|
|
1224
|
-
|
|
1225
|
-
nonFilteredColumns.forEach(function (column) {
|
|
1226
|
-
column.getPreFilteredRows = function () {
|
|
1227
|
-
return columnFilteredRowModel.rows;
|
|
1228
|
-
};
|
|
1229
|
-
});
|
|
1230
|
-
return columnFilteredRowModel;
|
|
1231
|
-
}, {
|
|
1232
|
-
key: 'getColumnFilteredRowModel',
|
|
1233
|
-
debug: function debug() {
|
|
1234
|
-
var _instance$options$deb2;
|
|
1336
|
+
getColumnFilteredRowModel: function getColumnFilteredRowModel() {
|
|
1337
|
+
if (!instance._getColumnFilteredRowModel && instance.options.getColumnFilteredRowModel) {
|
|
1338
|
+
instance._getColumnFilteredRowModel = instance.options.getColumnFilteredRowModel(instance);
|
|
1339
|
+
}
|
|
1235
1340
|
|
|
1236
|
-
|
|
1341
|
+
if (!instance._getColumnFilteredRowModel) {
|
|
1342
|
+
return instance.getPreColumnFilteredRowModel();
|
|
1237
1343
|
}
|
|
1238
|
-
|
|
1344
|
+
|
|
1345
|
+
return instance._getColumnFilteredRowModel();
|
|
1346
|
+
},
|
|
1239
1347
|
getPreGlobalFilteredRowModel: function getPreGlobalFilteredRowModel() {
|
|
1240
1348
|
return instance.getColumnFilteredRowModel();
|
|
1241
1349
|
},
|
|
1242
|
-
getGlobalFilteredRowModel:
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
if (!globalFiltersFn || !globalFilterValue) {
|
|
1247
|
-
return columnFilteredRowModel;
|
|
1248
|
-
}
|
|
1249
|
-
|
|
1250
|
-
return globalFiltersFn(instance, columnFilteredRowModel);
|
|
1251
|
-
}(); // Now that each filtered column has it's partially filtered rows,
|
|
1252
|
-
// lets assign the final filtered rows to all of the other columns
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
1256
|
-
var _instance$getState$co6;
|
|
1257
|
-
|
|
1258
|
-
return !((_instance$getState$co6 = instance.getState().columnFilters) != null && _instance$getState$co6.find(function (d) {
|
|
1259
|
-
return d.id === column.id;
|
|
1260
|
-
}));
|
|
1261
|
-
}); // This essentially enables faceted filter options to be built easily
|
|
1262
|
-
// using every column's preFilteredRows value
|
|
1263
|
-
|
|
1264
|
-
nonFilteredColumns.forEach(function (column) {
|
|
1265
|
-
column.getPreFilteredRows = function () {
|
|
1266
|
-
return globalFilteredRowModel.rows;
|
|
1267
|
-
};
|
|
1268
|
-
});
|
|
1269
|
-
return globalFilteredRowModel;
|
|
1270
|
-
}, {
|
|
1271
|
-
key: 'getGlobalFilteredRowModel',
|
|
1272
|
-
debug: function debug() {
|
|
1273
|
-
var _instance$options$deb3;
|
|
1350
|
+
getGlobalFilteredRowModel: function getGlobalFilteredRowModel() {
|
|
1351
|
+
if (!instance._getGlobalFilteredRowModel && instance.options.getGlobalFilteredRowModel) {
|
|
1352
|
+
instance._getGlobalFilteredRowModel = instance.options.getGlobalFilteredRowModel(instance);
|
|
1353
|
+
}
|
|
1274
1354
|
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
onChange: function onChange() {
|
|
1278
|
-
instance._notifySortingReset();
|
|
1355
|
+
if (!instance._getGlobalFilteredRowModel) {
|
|
1356
|
+
return instance.getPreGlobalFilteredRowModel();
|
|
1279
1357
|
}
|
|
1280
|
-
|
|
1358
|
+
|
|
1359
|
+
return instance._getGlobalFilteredRowModel();
|
|
1360
|
+
}
|
|
1281
1361
|
};
|
|
1282
1362
|
}
|
|
1283
1363
|
};
|
|
@@ -1442,6 +1522,8 @@ var Grouping = {
|
|
|
1442
1522
|
var registered = false;
|
|
1443
1523
|
return {
|
|
1444
1524
|
_notifyGroupingReset: function _notifyGroupingReset() {
|
|
1525
|
+
instance._notifyExpandedReset();
|
|
1526
|
+
|
|
1445
1527
|
if (!registered) {
|
|
1446
1528
|
registered = true;
|
|
1447
1529
|
return;
|
|
@@ -1541,25 +1623,17 @@ var Grouping = {
|
|
|
1541
1623
|
getPreGroupedRowModel: function getPreGroupedRowModel() {
|
|
1542
1624
|
return instance.getSortedRowModel();
|
|
1543
1625
|
},
|
|
1544
|
-
getGroupedRowModel:
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
if (!groupRowsFn || !grouping.length) {
|
|
1548
|
-
return rowModel;
|
|
1626
|
+
getGroupedRowModel: function getGroupedRowModel() {
|
|
1627
|
+
if (!instance._getGroupedRowModel && instance.options.getGroupedRowModel) {
|
|
1628
|
+
instance._getGroupedRowModel = instance.options.getGroupedRowModel(instance);
|
|
1549
1629
|
}
|
|
1550
1630
|
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
key: 'getGroupedRowModel',
|
|
1554
|
-
debug: function debug() {
|
|
1555
|
-
var _instance$options$deb;
|
|
1556
|
-
|
|
1557
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
1558
|
-
},
|
|
1559
|
-
onChange: function onChange() {
|
|
1560
|
-
return instance._notifyExpandedReset();
|
|
1631
|
+
if (!instance._getGroupedRowModel) {
|
|
1632
|
+
return instance.getPreGroupedRowModel();
|
|
1561
1633
|
}
|
|
1562
|
-
|
|
1634
|
+
|
|
1635
|
+
return instance._getGroupedRowModel();
|
|
1636
|
+
}
|
|
1563
1637
|
};
|
|
1564
1638
|
},
|
|
1565
1639
|
createRow: function createRow(row, instance) {
|
|
@@ -1828,22 +1902,17 @@ var Pagination = {
|
|
|
1828
1902
|
getPrePaginationRowModel: function getPrePaginationRowModel() {
|
|
1829
1903
|
return instance.getExpandedRowModel();
|
|
1830
1904
|
},
|
|
1831
|
-
getPaginationRowModel:
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
if (!paginateRowsFn || !rowModel.rows.length) {
|
|
1835
|
-
return rowModel;
|
|
1905
|
+
getPaginationRowModel: function getPaginationRowModel() {
|
|
1906
|
+
if (!instance._getPaginationRowModel && instance.options.getPaginationRowModel) {
|
|
1907
|
+
instance._getPaginationRowModel = instance.options.getPaginationRowModel(instance);
|
|
1836
1908
|
}
|
|
1837
1909
|
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
key: 'getPaginationRowModel',
|
|
1841
|
-
debug: function debug() {
|
|
1842
|
-
var _instance$options$deb2;
|
|
1843
|
-
|
|
1844
|
-
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugTable;
|
|
1910
|
+
if (!instance._getPaginationRowModel) {
|
|
1911
|
+
return instance.getPrePaginationRowModel();
|
|
1845
1912
|
}
|
|
1846
|
-
|
|
1913
|
+
|
|
1914
|
+
return instance._getPaginationRowModel();
|
|
1915
|
+
},
|
|
1847
1916
|
getPageCount: function getPageCount() {
|
|
1848
1917
|
var pageCount = instance.getState().pagination.pageCount;
|
|
1849
1918
|
|
|
@@ -2161,7 +2230,9 @@ var RowSelection = {
|
|
|
2161
2230
|
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
2162
2231
|
},
|
|
2163
2232
|
onChange: function onChange() {
|
|
2164
|
-
|
|
2233
|
+
instance.queue(function () {
|
|
2234
|
+
return instance._notifyExpandedReset();
|
|
2235
|
+
});
|
|
2165
2236
|
}
|
|
2166
2237
|
}),
|
|
2167
2238
|
getFilteredSelectedRowModel: memo(function () {
|
|
@@ -2184,7 +2255,9 @@ var RowSelection = {
|
|
|
2184
2255
|
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugTable;
|
|
2185
2256
|
},
|
|
2186
2257
|
onChange: function onChange() {
|
|
2187
|
-
return instance.
|
|
2258
|
+
return instance.queue(function () {
|
|
2259
|
+
return instance._notifyExpandedReset();
|
|
2260
|
+
});
|
|
2188
2261
|
}
|
|
2189
2262
|
}),
|
|
2190
2263
|
getGroupedSelectedRowModel: memo(function () {
|
|
@@ -2207,7 +2280,9 @@ var RowSelection = {
|
|
|
2207
2280
|
return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugTable;
|
|
2208
2281
|
},
|
|
2209
2282
|
onChange: function onChange() {
|
|
2210
|
-
return instance.
|
|
2283
|
+
return instance.queue(function () {
|
|
2284
|
+
return instance._notifyExpandedReset();
|
|
2285
|
+
});
|
|
2211
2286
|
}
|
|
2212
2287
|
}),
|
|
2213
2288
|
///
|
|
@@ -2653,6 +2728,8 @@ var Sorting = {
|
|
|
2653
2728
|
var registered = false;
|
|
2654
2729
|
return {
|
|
2655
2730
|
_notifySortingReset: function _notifySortingReset() {
|
|
2731
|
+
instance._notifyGroupingReset();
|
|
2732
|
+
|
|
2656
2733
|
if (!registered) {
|
|
2657
2734
|
registered = true;
|
|
2658
2735
|
return;
|
|
@@ -2883,25 +2960,17 @@ var Sorting = {
|
|
|
2883
2960
|
getPreSortedRowModel: function getPreSortedRowModel() {
|
|
2884
2961
|
return instance.getGlobalFilteredRowModel();
|
|
2885
2962
|
},
|
|
2886
|
-
getSortedRowModel:
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
if (!sortingFn || !(sorting != null && sorting.length)) {
|
|
2890
|
-
return rowModel;
|
|
2963
|
+
getSortedRowModel: function getSortedRowModel() {
|
|
2964
|
+
if (!instance._getSortedRowModel && instance.options.getSortedRowModel) {
|
|
2965
|
+
instance._getSortedRowModel = instance.options.getSortedRowModel(instance);
|
|
2891
2966
|
}
|
|
2892
2967
|
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
key: 'getSortedRowModel',
|
|
2896
|
-
debug: function debug() {
|
|
2897
|
-
var _instance$options$deb;
|
|
2898
|
-
|
|
2899
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
2900
|
-
},
|
|
2901
|
-
onChange: function onChange() {
|
|
2902
|
-
instance._notifyGroupingReset();
|
|
2968
|
+
if (!instance._getSortedRowModel) {
|
|
2969
|
+
return instance.getPreSortedRowModel();
|
|
2903
2970
|
}
|
|
2904
|
-
|
|
2971
|
+
|
|
2972
|
+
return instance._getSortedRowModel();
|
|
2973
|
+
}
|
|
2905
2974
|
};
|
|
2906
2975
|
}
|
|
2907
2976
|
};
|
|
@@ -3687,14 +3756,38 @@ function createTableInstance(options) {
|
|
|
3687
3756
|
};
|
|
3688
3757
|
|
|
3689
3758
|
instance.options = buildOptions(options);
|
|
3759
|
+
var coreInitialState = {
|
|
3760
|
+
coreProgress: 1
|
|
3761
|
+
};
|
|
3690
3762
|
|
|
3691
|
-
var initialState = _extends({}, features.reduce(function (obj, feature) {
|
|
3763
|
+
var initialState = _extends({}, coreInitialState, features.reduce(function (obj, feature) {
|
|
3692
3764
|
return Object.assign(obj, feature.getInitialState == null ? void 0 : feature.getInitialState());
|
|
3693
3765
|
}, {}), (_options$initialState = options.initialState) != null ? _options$initialState : {});
|
|
3694
3766
|
|
|
3767
|
+
var queued = [];
|
|
3768
|
+
var queuedTimeout;
|
|
3769
|
+
|
|
3695
3770
|
var finalInstance = _extends({}, instance, features.reduce(function (obj, feature) {
|
|
3696
3771
|
return Object.assign(obj, feature.getInstance == null ? void 0 : feature.getInstance(instance));
|
|
3697
3772
|
}, {}), {
|
|
3773
|
+
queue: function queue(cb) {
|
|
3774
|
+
queued.push(cb);
|
|
3775
|
+
|
|
3776
|
+
if (!queuedTimeout) {
|
|
3777
|
+
queuedTimeout = setTimeout(function () {
|
|
3778
|
+
instance.setState(function (old) {
|
|
3779
|
+
return _extends({}, old);
|
|
3780
|
+
});
|
|
3781
|
+
});
|
|
3782
|
+
}
|
|
3783
|
+
},
|
|
3784
|
+
willUpdate: function willUpdate() {
|
|
3785
|
+
clearTimeout(queuedTimeout);
|
|
3786
|
+
|
|
3787
|
+
while (queued.length) {
|
|
3788
|
+
queued.shift()();
|
|
3789
|
+
}
|
|
3790
|
+
},
|
|
3698
3791
|
initialState: initialState,
|
|
3699
3792
|
reset: function reset() {
|
|
3700
3793
|
instance.setState(instance.initialState);
|
|
@@ -4002,85 +4095,13 @@ function createTableInstance(options) {
|
|
|
4002
4095
|
|
|
4003
4096
|
return row;
|
|
4004
4097
|
},
|
|
4005
|
-
getCoreRowModel:
|
|
4006
|
-
|
|
4007
|
-
|
|
4008
|
-
// Access the row model using initial columns
|
|
4009
|
-
var rows = [];
|
|
4010
|
-
var flatRows = [];
|
|
4011
|
-
var rowsById = {};
|
|
4012
|
-
var leafColumns = instance.getAllLeafColumns();
|
|
4013
|
-
|
|
4014
|
-
var accessRow = function accessRow(originalRow, rowIndex, depth, parentRows, parent) {
|
|
4015
|
-
if (depth === void 0) {
|
|
4016
|
-
depth = 0;
|
|
4017
|
-
}
|
|
4018
|
-
|
|
4019
|
-
var id = instance.getRowId(originalRow, rowIndex, parent);
|
|
4020
|
-
|
|
4021
|
-
if (!id) {
|
|
4022
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
4023
|
-
throw new Error("getRowId expected an ID, but got " + id);
|
|
4024
|
-
}
|
|
4025
|
-
}
|
|
4026
|
-
|
|
4027
|
-
var values = {};
|
|
4028
|
-
|
|
4029
|
-
for (var i = 0; i < leafColumns.length; i++) {
|
|
4030
|
-
var _column = leafColumns[i];
|
|
4031
|
-
|
|
4032
|
-
if (_column && _column.accessorFn) {
|
|
4033
|
-
values[_column.id] = _column.accessorFn(originalRow, rowIndex);
|
|
4034
|
-
}
|
|
4035
|
-
} // Make the row
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
|
|
4039
|
-
|
|
4040
|
-
parentRows.push(row); // Keep track of every row in a flat array
|
|
4041
|
-
|
|
4042
|
-
flatRows.push(row); // Also keep track of every row by its ID
|
|
4043
|
-
|
|
4044
|
-
rowsById[id] = row; // Get the original subrows
|
|
4045
|
-
|
|
4046
|
-
if (instance.options.getSubRows) {
|
|
4047
|
-
var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
4048
|
-
|
|
4049
|
-
if (originalSubRows != null && originalSubRows.length) {
|
|
4050
|
-
row.originalSubRows = originalSubRows;
|
|
4051
|
-
var subRows = [];
|
|
4052
|
-
|
|
4053
|
-
for (var _i = 0; _i < row.originalSubRows.length; _i++) {
|
|
4054
|
-
accessRow(row.originalSubRows[_i], _i, depth + 1, subRows, row);
|
|
4055
|
-
}
|
|
4056
|
-
|
|
4057
|
-
row.subRows = subRows;
|
|
4058
|
-
}
|
|
4059
|
-
}
|
|
4060
|
-
};
|
|
4061
|
-
|
|
4062
|
-
for (var i = 0; i < data.length; i++) {
|
|
4063
|
-
accessRow(data[i], i, 0, rows);
|
|
4098
|
+
getCoreRowModel: function getCoreRowModel() {
|
|
4099
|
+
if (!instance._getCoreRowModel) {
|
|
4100
|
+
instance._getCoreRowModel = instance.options.getCoreRowModel(instance);
|
|
4064
4101
|
}
|
|
4065
4102
|
|
|
4066
|
-
return
|
|
4067
|
-
|
|
4068
|
-
flatRows: flatRows,
|
|
4069
|
-
rowsById: rowsById
|
|
4070
|
-
};
|
|
4071
|
-
}, {
|
|
4072
|
-
key: 'getRowModel',
|
|
4073
|
-
debug: function debug() {
|
|
4074
|
-
var _instance$options$deb10;
|
|
4075
|
-
|
|
4076
|
-
return (_instance$options$deb10 = instance.options.debugAll) != null ? _instance$options$deb10 : instance.options.debugTable;
|
|
4077
|
-
},
|
|
4078
|
-
onChange: function onChange() {
|
|
4079
|
-
instance._notifyFiltersReset();
|
|
4080
|
-
|
|
4081
|
-
instance._notifyRowSelectionReset();
|
|
4082
|
-
}
|
|
4083
|
-
}),
|
|
4103
|
+
return instance._getCoreRowModel();
|
|
4104
|
+
},
|
|
4084
4105
|
// The final calls start at the bottom of the model,
|
|
4085
4106
|
// expanded rows, which then work their way up
|
|
4086
4107
|
getRowModel: function getRowModel() {
|
|
@@ -4183,6 +4204,18 @@ function createTableInstance(options) {
|
|
|
4183
4204
|
return (_instance$getRightHea = (_instance$getRightHea2 = instance.getRightHeaderGroups()[0]) == null ? void 0 : _instance$getRightHea2.headers.reduce(function (sum, header) {
|
|
4184
4205
|
return sum + header.getWidth();
|
|
4185
4206
|
}, 0)) != null ? _instance$getRightHea : 0;
|
|
4207
|
+
},
|
|
4208
|
+
getOverallProgress: function getOverallProgress() {
|
|
4209
|
+
var _instance$getState = instance.getState(),
|
|
4210
|
+
coreProgress = _instance$getState.coreProgress,
|
|
4211
|
+
columnFiltersProgress = _instance$getState.columnFiltersProgress,
|
|
4212
|
+
globalFilterProgress = _instance$getState.globalFilterProgress;
|
|
4213
|
+
|
|
4214
|
+
return mean(function () {
|
|
4215
|
+
return [coreProgress, columnFiltersProgress, globalFilterProgress].filter(function (d) {
|
|
4216
|
+
return d < 1;
|
|
4217
|
+
});
|
|
4218
|
+
});
|
|
4186
4219
|
}
|
|
4187
4220
|
});
|
|
4188
4221
|
|
|
@@ -4251,18 +4284,212 @@ function _createTable(_, __, __options) {
|
|
|
4251
4284
|
};
|
|
4252
4285
|
}
|
|
4253
4286
|
|
|
4254
|
-
function
|
|
4255
|
-
|
|
4256
|
-
|
|
4287
|
+
function getCoreRowModelSync() {
|
|
4288
|
+
return function (instance) {
|
|
4289
|
+
return memo(function () {
|
|
4290
|
+
return [instance.options.data];
|
|
4291
|
+
}, function (data) {
|
|
4292
|
+
// Access the row model using initial columns
|
|
4293
|
+
var rows = [];
|
|
4294
|
+
var flatRows = [];
|
|
4295
|
+
var rowsById = {};
|
|
4296
|
+
var leafColumns = instance.getAllLeafColumns();
|
|
4257
4297
|
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4298
|
+
var accessRow = function accessRow(originalRow, rowIndex, depth, parentRows, parent) {
|
|
4299
|
+
if (depth === void 0) {
|
|
4300
|
+
depth = 0;
|
|
4301
|
+
}
|
|
4262
4302
|
|
|
4263
|
-
|
|
4303
|
+
var id = instance.getRowId(originalRow, rowIndex, parent);
|
|
4264
4304
|
|
|
4265
|
-
|
|
4305
|
+
if (!id) {
|
|
4306
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
4307
|
+
throw new Error("getRowId expected an ID, but got " + id);
|
|
4308
|
+
}
|
|
4309
|
+
}
|
|
4310
|
+
|
|
4311
|
+
var values = {};
|
|
4312
|
+
|
|
4313
|
+
for (var i = 0; i < leafColumns.length; i++) {
|
|
4314
|
+
var column = leafColumns[i];
|
|
4315
|
+
|
|
4316
|
+
if (column && column.accessorFn) {
|
|
4317
|
+
values[column.id] = column.accessorFn(originalRow, rowIndex);
|
|
4318
|
+
}
|
|
4319
|
+
} // Make the row
|
|
4320
|
+
|
|
4321
|
+
|
|
4322
|
+
var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
|
|
4323
|
+
|
|
4324
|
+
parentRows.push(row); // Keep track of every row in a flat array
|
|
4325
|
+
|
|
4326
|
+
flatRows.push(row); // Also keep track of every row by its ID
|
|
4327
|
+
|
|
4328
|
+
rowsById[id] = row; // Get the original subrows
|
|
4329
|
+
|
|
4330
|
+
if (instance.options.getSubRows) {
|
|
4331
|
+
var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
4332
|
+
|
|
4333
|
+
if (originalSubRows != null && originalSubRows.length) {
|
|
4334
|
+
row.originalSubRows = originalSubRows;
|
|
4335
|
+
var subRows = [];
|
|
4336
|
+
|
|
4337
|
+
for (var _i = 0; _i < row.originalSubRows.length; _i++) {
|
|
4338
|
+
accessRow(row.originalSubRows[_i], _i, depth + 1, subRows, row);
|
|
4339
|
+
}
|
|
4340
|
+
|
|
4341
|
+
row.subRows = subRows;
|
|
4342
|
+
}
|
|
4343
|
+
}
|
|
4344
|
+
};
|
|
4345
|
+
|
|
4346
|
+
for (var i = 0; i < data.length; i++) {
|
|
4347
|
+
accessRow(data[i], i, 0, rows);
|
|
4348
|
+
}
|
|
4349
|
+
|
|
4350
|
+
return {
|
|
4351
|
+
rows: rows,
|
|
4352
|
+
flatRows: flatRows,
|
|
4353
|
+
rowsById: rowsById
|
|
4354
|
+
};
|
|
4355
|
+
}, {
|
|
4356
|
+
key: 'getRowModel',
|
|
4357
|
+
debug: function debug() {
|
|
4358
|
+
var _instance$options$deb;
|
|
4359
|
+
|
|
4360
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4361
|
+
},
|
|
4362
|
+
onChange: function onChange() {
|
|
4363
|
+
instance.queue(function () {
|
|
4364
|
+
instance._notifyFiltersReset();
|
|
4365
|
+
|
|
4366
|
+
instance._notifyRowSelectionReset();
|
|
4367
|
+
});
|
|
4368
|
+
}
|
|
4369
|
+
});
|
|
4370
|
+
};
|
|
4371
|
+
}
|
|
4372
|
+
|
|
4373
|
+
function getCoreRowModelAsync(opts) {
|
|
4374
|
+
return function (instance) {
|
|
4375
|
+
return incrementalMemo(function () {
|
|
4376
|
+
return [instance.options.data, instance.getAllLeafColumns()];
|
|
4377
|
+
}, function () {
|
|
4378
|
+
var rows = [];
|
|
4379
|
+
var flatRows = [];
|
|
4380
|
+
var rowsById = {};
|
|
4381
|
+
return {
|
|
4382
|
+
rows: rows,
|
|
4383
|
+
flatRows: flatRows,
|
|
4384
|
+
rowsById: rowsById
|
|
4385
|
+
};
|
|
4386
|
+
}, function (data, leafColumns) {
|
|
4387
|
+
return function (rowModelRef) {
|
|
4388
|
+
return function (scheduleTask) {
|
|
4389
|
+
var accessRows = function accessRows(originalRows, depth, parent) {
|
|
4390
|
+
if (depth === void 0) {
|
|
4391
|
+
depth = 0;
|
|
4392
|
+
}
|
|
4393
|
+
|
|
4394
|
+
var batchGroups = getBatchGroups(originalRows, 2000);
|
|
4395
|
+
|
|
4396
|
+
var _loop = function _loop(i) {
|
|
4397
|
+
var batchGroup = batchGroups[i];
|
|
4398
|
+
scheduleTask(function () {
|
|
4399
|
+
for (var _i = 0; _i < batchGroup.items.length; _i++) {
|
|
4400
|
+
var originalRow = batchGroup.items[_i];
|
|
4401
|
+
var rowIndex = batchGroup.start + _i;
|
|
4402
|
+
var id = instance.getRowId(originalRow, rowIndex, parent);
|
|
4403
|
+
|
|
4404
|
+
if (!id) {
|
|
4405
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
4406
|
+
throw new Error("getRowId expected an ID, but got " + id);
|
|
4407
|
+
}
|
|
4408
|
+
}
|
|
4409
|
+
|
|
4410
|
+
var values = {};
|
|
4411
|
+
|
|
4412
|
+
for (var _i2 = 0; _i2 < leafColumns.length; _i2++) {
|
|
4413
|
+
var column = leafColumns[_i2];
|
|
4414
|
+
|
|
4415
|
+
if (column && column.accessorFn) {
|
|
4416
|
+
values[column.id] = column.accessorFn(originalRow, rowIndex);
|
|
4417
|
+
}
|
|
4418
|
+
} // Make the row
|
|
4419
|
+
|
|
4420
|
+
|
|
4421
|
+
var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
|
|
4422
|
+
|
|
4423
|
+
if (parent) {
|
|
4424
|
+
parent.subRows.push(row);
|
|
4425
|
+
} else {
|
|
4426
|
+
rowModelRef.current.rows.push(row);
|
|
4427
|
+
} // Keep track of every row in a flat array
|
|
4428
|
+
|
|
4429
|
+
|
|
4430
|
+
rowModelRef.current.flatRows.push(row); // Also keep track of every row by its ID
|
|
4431
|
+
|
|
4432
|
+
rowModelRef.current.rowsById[id] = row; // Get the original subrows
|
|
4433
|
+
|
|
4434
|
+
if (instance.options.getSubRows) {
|
|
4435
|
+
var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
4436
|
+
|
|
4437
|
+
if (originalSubRows != null && originalSubRows.length) {
|
|
4438
|
+
row.originalSubRows = originalSubRows;
|
|
4439
|
+
row.subRows = [];
|
|
4440
|
+
accessRows(row.originalSubRows, depth + 1, row);
|
|
4441
|
+
}
|
|
4442
|
+
}
|
|
4443
|
+
}
|
|
4444
|
+
});
|
|
4445
|
+
};
|
|
4446
|
+
|
|
4447
|
+
for (var i = 0; i < batchGroups.length; i++) {
|
|
4448
|
+
_loop(i);
|
|
4449
|
+
}
|
|
4450
|
+
};
|
|
4451
|
+
|
|
4452
|
+
accessRows(data);
|
|
4453
|
+
};
|
|
4454
|
+
};
|
|
4455
|
+
}, {
|
|
4456
|
+
key: 'getRowModel',
|
|
4457
|
+
initialSync: opts == null ? void 0 : opts.initialSync,
|
|
4458
|
+
onProgress: function onProgress(progress) {
|
|
4459
|
+
instance.setState(function (old) {
|
|
4460
|
+
return _extends({}, old, {
|
|
4461
|
+
coreProgress: progress
|
|
4462
|
+
});
|
|
4463
|
+
});
|
|
4464
|
+
},
|
|
4465
|
+
debug: function debug() {
|
|
4466
|
+
var _instance$options$deb;
|
|
4467
|
+
|
|
4468
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4469
|
+
},
|
|
4470
|
+
onChange: function onChange() {
|
|
4471
|
+
instance.queue(function () {
|
|
4472
|
+
instance._notifyFiltersReset();
|
|
4473
|
+
|
|
4474
|
+
instance._notifyRowSelectionReset();
|
|
4475
|
+
});
|
|
4476
|
+
}
|
|
4477
|
+
});
|
|
4478
|
+
};
|
|
4479
|
+
}
|
|
4480
|
+
|
|
4481
|
+
function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
|
|
4482
|
+
var newFilteredFlatRows = [];
|
|
4483
|
+
var newFilteredRowsById = {};
|
|
4484
|
+
|
|
4485
|
+
var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
|
|
4486
|
+
if (depth === void 0) {
|
|
4487
|
+
depth = 0;
|
|
4488
|
+
}
|
|
4489
|
+
|
|
4490
|
+
rowsToFilter = rowsToFilter.slice(); // Filter from children up first
|
|
4491
|
+
|
|
4492
|
+
for (var i = 0; i < rowsToFilter.length; i++) {
|
|
4266
4493
|
var _row$subRows;
|
|
4267
4494
|
|
|
4268
4495
|
var row = rowsToFilter[i];
|
|
@@ -4334,259 +4561,386 @@ function filterRowModelFromRoot(rowsToFilter, filterRows, instance) {
|
|
|
4334
4561
|
};
|
|
4335
4562
|
}
|
|
4336
4563
|
|
|
4337
|
-
function
|
|
4338
|
-
|
|
4339
|
-
|
|
4564
|
+
function getColumnFilteredRowModelSync() {
|
|
4565
|
+
return function (instance) {
|
|
4566
|
+
return memo(function () {
|
|
4567
|
+
return [instance.getState().columnFilters, instance.getCoreRowModel()];
|
|
4568
|
+
}, function (columnFilters, rowModel) {
|
|
4569
|
+
var columnFilteredRowModel = function () {
|
|
4570
|
+
if (!rowModel.rows.length || !columnFilters) {
|
|
4571
|
+
return rowModel;
|
|
4572
|
+
}
|
|
4340
4573
|
|
|
4341
|
-
|
|
4342
|
-
for (var i = 0; i < columnFilters.length; i++) {
|
|
4343
|
-
var _columnFilters$i = columnFilters[i],
|
|
4344
|
-
columnId = _columnFilters$i.id,
|
|
4345
|
-
filterValue = _columnFilters$i.value; // Find the columnFilters column
|
|
4574
|
+
var filterFromLeafRows = instance.options.filterFromLeafRows;
|
|
4346
4575
|
|
|
4347
|
-
|
|
4576
|
+
var filterRows = function filterRows(rowsToFilter, depth) {
|
|
4577
|
+
for (var i = 0; i < columnFilters.length; i++) {
|
|
4578
|
+
var _columnFilters$i = columnFilters[i],
|
|
4579
|
+
columnId = _columnFilters$i.id,
|
|
4580
|
+
filterValue = _columnFilters$i.value; // Find the columnFilters column
|
|
4348
4581
|
|
|
4349
|
-
|
|
4350
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
4351
|
-
console.warn("Table: Could not find a column with id: " + columnId);
|
|
4352
|
-
}
|
|
4353
|
-
|
|
4354
|
-
throw new Error();
|
|
4355
|
-
}
|
|
4582
|
+
var column = instance.getColumn(columnId);
|
|
4356
4583
|
|
|
4357
|
-
|
|
4358
|
-
|
|
4359
|
-
|
|
4584
|
+
if (!column) {
|
|
4585
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
4586
|
+
console.warn("Table: Could not find a column with id: " + columnId);
|
|
4587
|
+
}
|
|
4360
4588
|
|
|
4361
|
-
|
|
4362
|
-
|
|
4363
|
-
};
|
|
4364
|
-
})();
|
|
4365
|
-
}
|
|
4589
|
+
throw new Error();
|
|
4590
|
+
}
|
|
4366
4591
|
|
|
4367
|
-
|
|
4592
|
+
if (depth === 0) {
|
|
4593
|
+
(function () {
|
|
4594
|
+
var preFilteredRows = [].concat(rowsToFilter);
|
|
4368
4595
|
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
|
|
4372
|
-
|
|
4596
|
+
column.getPreFilteredRows = function () {
|
|
4597
|
+
return preFilteredRows;
|
|
4598
|
+
};
|
|
4599
|
+
})();
|
|
4600
|
+
}
|
|
4373
4601
|
|
|
4374
|
-
|
|
4375
|
-
} // Pass the rows, id, filterValue and column to the filterFn
|
|
4376
|
-
// to get the filtered rows back
|
|
4602
|
+
var filterFn = instance.getColumnFilterFn(column.id);
|
|
4377
4603
|
|
|
4604
|
+
if (!filterFn) {
|
|
4605
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
4606
|
+
console.warn("Could not find a valid 'column.filterType' for column with the ID: " + column.id + ".");
|
|
4607
|
+
}
|
|
4378
4608
|
|
|
4379
|
-
|
|
4380
|
-
|
|
4609
|
+
continue;
|
|
4610
|
+
} // Pass the rows, id, filterValue and column to the filterFn
|
|
4611
|
+
// to get the filtered rows back
|
|
4381
4612
|
|
|
4382
|
-
return rowsToFilter;
|
|
4383
|
-
};
|
|
4384
4613
|
|
|
4385
|
-
|
|
4386
|
-
|
|
4387
|
-
}
|
|
4614
|
+
rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
|
|
4615
|
+
}
|
|
4388
4616
|
|
|
4389
|
-
|
|
4390
|
-
}
|
|
4617
|
+
return rowsToFilter;
|
|
4618
|
+
};
|
|
4391
4619
|
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
var filterFn = instance.getGlobalFilterFn();
|
|
4620
|
+
if (filterFromLeafRows) {
|
|
4621
|
+
return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
|
|
4622
|
+
}
|
|
4396
4623
|
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4400
|
-
}
|
|
4624
|
+
return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
|
|
4625
|
+
}(); // Now that each filtered column has it's partially filtered rows,
|
|
4626
|
+
// lets assign the final filtered rows to all of the other columns
|
|
4401
4627
|
|
|
4402
|
-
return rowModel;
|
|
4403
|
-
}
|
|
4404
4628
|
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
});
|
|
4408
|
-
var filterableColumnIds = filterableColumns.map(function (d) {
|
|
4409
|
-
return d.id;
|
|
4410
|
-
});
|
|
4629
|
+
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4630
|
+
var _instance$getState$co;
|
|
4411
4631
|
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4632
|
+
return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
|
|
4633
|
+
return d.id === column.id;
|
|
4634
|
+
}));
|
|
4635
|
+
}); // This essentially enables faceted filter options to be built easily
|
|
4636
|
+
// using every column's preFilteredRows value
|
|
4415
4637
|
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
|
|
4638
|
+
nonFilteredColumns.forEach(function (column) {
|
|
4639
|
+
column.getPreFilteredRows = function () {
|
|
4640
|
+
return columnFilteredRowModel.rows;
|
|
4641
|
+
};
|
|
4642
|
+
});
|
|
4643
|
+
return columnFilteredRowModel;
|
|
4644
|
+
}, {
|
|
4645
|
+
key: 'getColumnFilteredRowModelSync',
|
|
4646
|
+
debug: function debug() {
|
|
4647
|
+
var _instance$options$deb;
|
|
4419
4648
|
|
|
4420
|
-
|
|
4649
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4650
|
+
},
|
|
4651
|
+
onChange: function onChange() {
|
|
4652
|
+
instance.queue(function () {
|
|
4653
|
+
instance._notifySortingReset();
|
|
4654
|
+
});
|
|
4655
|
+
}
|
|
4656
|
+
});
|
|
4657
|
+
};
|
|
4421
4658
|
}
|
|
4422
4659
|
|
|
4423
|
-
function
|
|
4424
|
-
|
|
4425
|
-
|
|
4660
|
+
function getGlobalFilteredRowModelSync() {
|
|
4661
|
+
return function (instance) {
|
|
4662
|
+
return memo(function () {
|
|
4663
|
+
return [instance.getState().globalFilter, instance.getCoreRowModel()];
|
|
4664
|
+
}, function (globalFilter, rowModel) {
|
|
4665
|
+
var globalFilteredRowModel = function () {
|
|
4666
|
+
if (!rowModel.rows.length || !globalFilter) {
|
|
4667
|
+
return rowModel;
|
|
4668
|
+
}
|
|
4426
4669
|
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
});
|
|
4430
|
-
var columnInfoById = {};
|
|
4431
|
-
availableSorting.forEach(function (sortEntry) {
|
|
4432
|
-
var column = instance.getColumn(sortEntry.id);
|
|
4433
|
-
columnInfoById[sortEntry.id] = {
|
|
4434
|
-
sortUndefined: column.sortUndefined,
|
|
4435
|
-
invertSorting: column.invertSorting,
|
|
4436
|
-
sortingFn: instance.getColumnSortingFn(sortEntry.id)
|
|
4437
|
-
};
|
|
4438
|
-
});
|
|
4670
|
+
var filterFromLeafRows = instance.options.filterFromLeafRows;
|
|
4671
|
+
var filterFn = instance.getGlobalFilterFn();
|
|
4439
4672
|
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
var sortedData = rows.slice();
|
|
4444
|
-
sortedData.sort(function (rowA, rowB) {
|
|
4445
|
-
for (var i = 0; i < availableSorting.length; i += 1) {
|
|
4446
|
-
var _sortEntry$desc;
|
|
4447
|
-
|
|
4448
|
-
var sortEntry = availableSorting[i];
|
|
4449
|
-
var columnInfo = columnInfoById[sortEntry.id];
|
|
4450
|
-
var isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;
|
|
4451
|
-
|
|
4452
|
-
if (columnInfo.sortUndefined) {
|
|
4453
|
-
var aValue = rowA.values[sortEntry.id];
|
|
4454
|
-
var bValue = rowB.values[sortEntry.id];
|
|
4455
|
-
var aUndefined = typeof aValue === 'undefined';
|
|
4456
|
-
var bUndefined = typeof bValue === 'undefined';
|
|
4457
|
-
|
|
4458
|
-
if (aUndefined || bUndefined) {
|
|
4459
|
-
return aUndefined && bUndefined ? 0 : aUndefined ? columnInfo.sortUndefined : -columnInfo.sortUndefined;
|
|
4673
|
+
if (!filterFn) {
|
|
4674
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
4675
|
+
console.warn("Could not find a valid 'globalFilterType'");
|
|
4460
4676
|
}
|
|
4461
|
-
} // This function should always return in ascending order
|
|
4462
4677
|
|
|
4678
|
+
return rowModel;
|
|
4679
|
+
}
|
|
4463
4680
|
|
|
4464
|
-
var
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4468
|
-
|
|
4469
|
-
|
|
4681
|
+
var filterableColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4682
|
+
return column.getCanGlobalFilter();
|
|
4683
|
+
});
|
|
4684
|
+
var filterableColumnIds = filterableColumns.map(function (d) {
|
|
4685
|
+
return d.id;
|
|
4686
|
+
});
|
|
4470
4687
|
|
|
4471
|
-
|
|
4472
|
-
|
|
4473
|
-
|
|
4688
|
+
var filterRows = function filterRows(rows) {
|
|
4689
|
+
return filterFn(rows, filterableColumnIds, globalFilter);
|
|
4690
|
+
};
|
|
4474
4691
|
|
|
4475
|
-
|
|
4692
|
+
if (filterFromLeafRows) {
|
|
4693
|
+
return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
|
|
4476
4694
|
}
|
|
4477
|
-
}
|
|
4478
4695
|
|
|
4479
|
-
|
|
4480
|
-
|
|
4696
|
+
return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
|
|
4697
|
+
}(); // Now that each filtered column has it's partially filtered rows,
|
|
4698
|
+
// lets assign the final filtered rows to all of the other columns
|
|
4481
4699
|
|
|
4482
|
-
sortedData.forEach(function (row) {
|
|
4483
|
-
sortedFlatRows.push(row);
|
|
4484
4700
|
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
}
|
|
4701
|
+
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4702
|
+
var _instance$getState$co;
|
|
4488
4703
|
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
|
|
4704
|
+
return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
|
|
4705
|
+
return d.id === column.id;
|
|
4706
|
+
}));
|
|
4707
|
+
}); // This essentially enables faceted filter options to be built easily
|
|
4708
|
+
// using every column's preFilteredRows value
|
|
4493
4709
|
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
|
|
4710
|
+
nonFilteredColumns.forEach(function (column) {
|
|
4711
|
+
column.getPreFilteredRows = function () {
|
|
4712
|
+
return globalFilteredRowModel.rows;
|
|
4713
|
+
};
|
|
4714
|
+
});
|
|
4715
|
+
return globalFilteredRowModel;
|
|
4716
|
+
}, {
|
|
4717
|
+
key: 'getGlobalFilteredRowModelSync',
|
|
4718
|
+
debug: function debug() {
|
|
4719
|
+
var _instance$options$deb;
|
|
4720
|
+
|
|
4721
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4722
|
+
},
|
|
4723
|
+
onChange: function onChange() {
|
|
4724
|
+
instance.queue(function () {
|
|
4725
|
+
instance._notifySortingReset();
|
|
4726
|
+
});
|
|
4727
|
+
}
|
|
4728
|
+
});
|
|
4498
4729
|
};
|
|
4499
4730
|
}
|
|
4500
4731
|
|
|
4501
|
-
function
|
|
4502
|
-
|
|
4732
|
+
function getSortedRowModelSync() {
|
|
4733
|
+
return function (instance) {
|
|
4734
|
+
return memo(function () {
|
|
4735
|
+
return [instance.getState().sorting, instance.getGlobalFilteredRowModel()];
|
|
4736
|
+
}, function (sorting, rowModel) {
|
|
4737
|
+
if (!rowModel.rows.length || !(sorting != null && sorting.length)) {
|
|
4738
|
+
return rowModel;
|
|
4739
|
+
}
|
|
4503
4740
|
|
|
4504
|
-
|
|
4505
|
-
|
|
4506
|
-
}); // Find the columns that can or are aggregating
|
|
4507
|
-
// Uses each column to aggregate rows into a single value
|
|
4741
|
+
var sortingState = instance.getState().sorting;
|
|
4742
|
+
var sortedFlatRows = []; // Filter out sortings that correspond to non existing columns
|
|
4508
4743
|
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
|
|
4744
|
+
var availableSorting = sortingState.filter(function (sort) {
|
|
4745
|
+
return instance.getColumnCanSort(sort.id);
|
|
4746
|
+
});
|
|
4747
|
+
var columnInfoById = {};
|
|
4748
|
+
availableSorting.forEach(function (sortEntry) {
|
|
4749
|
+
var column = instance.getColumn(sortEntry.id);
|
|
4750
|
+
columnInfoById[sortEntry.id] = {
|
|
4751
|
+
sortUndefined: column.sortUndefined,
|
|
4752
|
+
invertSorting: column.invertSorting,
|
|
4753
|
+
sortingFn: instance.getColumnSortingFn(sortEntry.id)
|
|
4754
|
+
};
|
|
4755
|
+
});
|
|
4517
4756
|
|
|
4757
|
+
var sortData = function sortData(rows) {
|
|
4758
|
+
// This will also perform a stable sorting using the row index
|
|
4759
|
+
// if needed.
|
|
4760
|
+
var sortedData = rows.slice();
|
|
4761
|
+
sortedData.sort(function (rowA, rowB) {
|
|
4762
|
+
for (var i = 0; i < availableSorting.length; i += 1) {
|
|
4763
|
+
var _sortEntry$desc;
|
|
4764
|
+
|
|
4765
|
+
var sortEntry = availableSorting[i];
|
|
4766
|
+
var columnInfo = columnInfoById[sortEntry.id];
|
|
4767
|
+
var isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;
|
|
4768
|
+
|
|
4769
|
+
if (columnInfo.sortUndefined) {
|
|
4770
|
+
var aValue = rowA.values[sortEntry.id];
|
|
4771
|
+
var bValue = rowB.values[sortEntry.id];
|
|
4772
|
+
var aUndefined = typeof aValue === 'undefined';
|
|
4773
|
+
var bUndefined = typeof bValue === 'undefined';
|
|
4774
|
+
|
|
4775
|
+
if (aUndefined || bUndefined) {
|
|
4776
|
+
return aUndefined && bUndefined ? 0 : aUndefined ? columnInfo.sortUndefined : -columnInfo.sortUndefined;
|
|
4777
|
+
}
|
|
4778
|
+
} // This function should always return in ascending order
|
|
4518
4779
|
|
|
4519
|
-
var aggregateFn = instance.getColumnAggregationFn(column.id);
|
|
4520
4780
|
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4781
|
+
var sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);
|
|
4782
|
+
|
|
4783
|
+
if (sortInt !== 0) {
|
|
4784
|
+
if (isDesc) {
|
|
4785
|
+
sortInt *= -1;
|
|
4786
|
+
}
|
|
4525
4787
|
|
|
4526
|
-
|
|
4527
|
-
|
|
4788
|
+
if (columnInfo.invertSorting) {
|
|
4789
|
+
sortInt *= -1;
|
|
4790
|
+
}
|
|
4791
|
+
|
|
4792
|
+
return sortInt;
|
|
4528
4793
|
}
|
|
4794
|
+
}
|
|
4529
4795
|
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
|
|
4796
|
+
return rowA.index - rowB.index;
|
|
4797
|
+
}); // If there are sub-rows, sort them
|
|
4798
|
+
|
|
4799
|
+
sortedData.forEach(function (row) {
|
|
4800
|
+
sortedFlatRows.push(row);
|
|
4801
|
+
|
|
4802
|
+
if (!row.subRows || row.subRows.length <= 1) {
|
|
4803
|
+
return;
|
|
4804
|
+
}
|
|
4805
|
+
|
|
4806
|
+
row.subRows = sortData(row.subRows);
|
|
4536
4807
|
});
|
|
4537
|
-
|
|
4538
|
-
|
|
4539
|
-
|
|
4808
|
+
return sortedData;
|
|
4809
|
+
};
|
|
4810
|
+
|
|
4811
|
+
return {
|
|
4812
|
+
rows: sortData(rowModel.rows),
|
|
4813
|
+
flatRows: sortedFlatRows,
|
|
4814
|
+
rowsById: rowModel.rowsById
|
|
4815
|
+
};
|
|
4816
|
+
}, {
|
|
4817
|
+
key: 'getSortedRowModel',
|
|
4818
|
+
debug: function debug() {
|
|
4819
|
+
var _instance$options$deb;
|
|
4820
|
+
|
|
4821
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4822
|
+
},
|
|
4823
|
+
onChange: function onChange() {
|
|
4824
|
+
instance.queue(function () {
|
|
4825
|
+
instance._notifyGroupingReset();
|
|
4540
4826
|
});
|
|
4541
|
-
throw new Error(process.env.NODE_ENV !== 'production' ? "Table: Invalid column.aggregateType option for column listed above" : '');
|
|
4542
|
-
} else {
|
|
4543
|
-
values[column.id] = null;
|
|
4544
4827
|
}
|
|
4545
4828
|
});
|
|
4546
|
-
return values;
|
|
4547
4829
|
};
|
|
4830
|
+
}
|
|
4548
4831
|
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4832
|
+
function getGroupedRowModelSync() {
|
|
4833
|
+
return function (instance) {
|
|
4834
|
+
return memo(function () {
|
|
4835
|
+
return [instance.getState().grouping, instance.getSortedRowModel()];
|
|
4836
|
+
}, function (grouping, rowModel) {
|
|
4837
|
+
if (!rowModel.rows.length || !grouping.length) {
|
|
4838
|
+
return rowModel;
|
|
4839
|
+
} // Filter the grouping list down to columns that exist
|
|
4555
4840
|
|
|
4556
|
-
var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
|
|
4557
|
-
if (depth === void 0) {
|
|
4558
|
-
depth = 0;
|
|
4559
|
-
}
|
|
4560
4841
|
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4842
|
+
var existingGrouping = grouping.filter(function (columnId) {
|
|
4843
|
+
return instance.getColumn(columnId);
|
|
4844
|
+
}); // Find the columns that can or are aggregating
|
|
4845
|
+
// Uses each column to aggregate rows into a single value
|
|
4846
|
+
|
|
4847
|
+
var aggregateRowsToValues = function aggregateRowsToValues(leafRows, groupedRows, depth) {
|
|
4848
|
+
var values = {};
|
|
4849
|
+
instance.getAllLeafColumns().forEach(function (column) {
|
|
4850
|
+
// Don't aggregate columns that are in the grouping
|
|
4851
|
+
if (existingGrouping.includes(column.id)) {
|
|
4852
|
+
values[column.id] = groupedRows[0] ? groupedRows[0].values[column.id] : null;
|
|
4853
|
+
return;
|
|
4854
|
+
} // Aggregate the values
|
|
4565
4855
|
|
|
4566
|
-
var columnId = existingGrouping[depth]; // Group the rows together for this level
|
|
4567
4856
|
|
|
4568
|
-
|
|
4857
|
+
var aggregateFn = instance.getColumnAggregationFn(column.id);
|
|
4569
4858
|
|
|
4570
|
-
|
|
4571
|
-
|
|
4572
|
-
|
|
4573
|
-
|
|
4574
|
-
id = parentId ? parentId + ">" + id : id; // First, Recurse to group sub rows before aggregation
|
|
4859
|
+
if (aggregateFn) {
|
|
4860
|
+
values[column.id] = aggregateFn(function () {
|
|
4861
|
+
return leafRows.map(function (row) {
|
|
4862
|
+
var columnValue = row.values[column.id];
|
|
4575
4863
|
|
|
4576
|
-
|
|
4864
|
+
if (!depth && column.aggregateValue) {
|
|
4865
|
+
columnValue = column.aggregateValue(columnValue);
|
|
4866
|
+
}
|
|
4577
4867
|
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
|
|
4587
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
4868
|
+
return columnValue;
|
|
4869
|
+
});
|
|
4870
|
+
}, function () {
|
|
4871
|
+
return groupedRows.map(function (row) {
|
|
4872
|
+
return row.values[column.id];
|
|
4873
|
+
});
|
|
4874
|
+
});
|
|
4875
|
+
} else if (column.aggregationType) {
|
|
4876
|
+
console.info({
|
|
4877
|
+
column: column
|
|
4878
|
+
});
|
|
4879
|
+
throw new Error(process.env.NODE_ENV !== 'production' ? "Table: Invalid column.aggregateType option for column listed above" : '');
|
|
4880
|
+
} else {
|
|
4881
|
+
values[column.id] = null;
|
|
4882
|
+
}
|
|
4883
|
+
});
|
|
4884
|
+
return values;
|
|
4885
|
+
};
|
|
4886
|
+
|
|
4887
|
+
var groupedFlatRows = [];
|
|
4888
|
+
var groupedRowsById = {}; // const onlyGroupedFlatRows: Row[] = [];
|
|
4889
|
+
// const onlyGroupedRowsById: Record<RowId, Row> = {};
|
|
4890
|
+
// const nonGroupedFlatRows: Row[] = [];
|
|
4891
|
+
// const nonGroupedRowsById: Record<RowId, Row> = {};
|
|
4892
|
+
// Recursively group the data
|
|
4893
|
+
|
|
4894
|
+
var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
|
|
4895
|
+
if (depth === void 0) {
|
|
4896
|
+
depth = 0;
|
|
4897
|
+
}
|
|
4898
|
+
|
|
4899
|
+
// This is the last level, just return the rows
|
|
4900
|
+
if (depth === existingGrouping.length) {
|
|
4901
|
+
return rows;
|
|
4902
|
+
}
|
|
4903
|
+
|
|
4904
|
+
var columnId = existingGrouping[depth]; // Group the rows together for this level
|
|
4905
|
+
|
|
4906
|
+
var rowGroupsMap = groupBy(rows, columnId); // Peform aggregations for each group
|
|
4907
|
+
|
|
4908
|
+
var aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(function (_ref, index) {
|
|
4909
|
+
var groupingValue = _ref[0],
|
|
4910
|
+
groupedRows = _ref[1];
|
|
4911
|
+
var id = columnId + ":" + groupingValue;
|
|
4912
|
+
id = parentId ? parentId + ">" + id : id; // First, Recurse to group sub rows before aggregation
|
|
4913
|
+
|
|
4914
|
+
var subRows = groupUpRecursively(groupedRows, depth + 1, id); // Flatten the leaf rows of the rows in this group
|
|
4915
|
+
|
|
4916
|
+
var leafRows = depth ? flattenBy(groupedRows, function (row) {
|
|
4917
|
+
return row.subRows;
|
|
4918
|
+
}) : groupedRows;
|
|
4919
|
+
var values = aggregateRowsToValues(leafRows, groupedRows, depth);
|
|
4920
|
+
var row = instance.createRow(id, undefined, index, depth, values);
|
|
4921
|
+
Object.assign(row, {
|
|
4922
|
+
groupingColumnId: columnId,
|
|
4923
|
+
groupingValue: groupingValue,
|
|
4924
|
+
subRows: subRows,
|
|
4925
|
+
leafRows: leafRows
|
|
4926
|
+
});
|
|
4927
|
+
subRows.forEach(function (subRow) {
|
|
4928
|
+
groupedFlatRows.push(subRow);
|
|
4929
|
+
groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) {
|
|
4930
|
+
// onlyGroupedFlatRows.push(subRow);
|
|
4931
|
+
// onlyGroupedRowsById[subRow.id] = subRow;
|
|
4932
|
+
// } else {
|
|
4933
|
+
// nonGroupedFlatRows.push(subRow);
|
|
4934
|
+
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4935
|
+
// }
|
|
4936
|
+
});
|
|
4937
|
+
return row;
|
|
4938
|
+
});
|
|
4939
|
+
return aggregatedGroupedRows;
|
|
4940
|
+
};
|
|
4941
|
+
|
|
4942
|
+
var groupedRows = groupUpRecursively(rowModel.rows, 0, '');
|
|
4943
|
+
groupedRows.forEach(function (subRow) {
|
|
4590
4944
|
groupedFlatRows.push(subRow);
|
|
4591
4945
|
groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) {
|
|
4592
4946
|
// onlyGroupedFlatRows.push(subRow);
|
|
@@ -4596,26 +4950,24 @@ function groupRowsFn(instance, sortedRowModel) {
|
|
|
4596
4950
|
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4597
4951
|
// }
|
|
4598
4952
|
});
|
|
4599
|
-
return
|
|
4600
|
-
|
|
4601
|
-
|
|
4602
|
-
|
|
4953
|
+
return {
|
|
4954
|
+
rows: groupedRows,
|
|
4955
|
+
flatRows: groupedFlatRows,
|
|
4956
|
+
rowsById: groupedRowsById
|
|
4957
|
+
};
|
|
4958
|
+
}, {
|
|
4959
|
+
key: 'getGroupedRowModel',
|
|
4960
|
+
debug: function debug() {
|
|
4961
|
+
var _instance$options$deb;
|
|
4603
4962
|
|
|
4604
|
-
|
|
4605
|
-
|
|
4606
|
-
|
|
4607
|
-
|
|
4608
|
-
|
|
4609
|
-
|
|
4610
|
-
|
|
4611
|
-
|
|
4612
|
-
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4613
|
-
// }
|
|
4614
|
-
});
|
|
4615
|
-
return {
|
|
4616
|
-
rows: groupedRows,
|
|
4617
|
-
flatRows: groupedFlatRows,
|
|
4618
|
-
rowsById: groupedRowsById
|
|
4963
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4964
|
+
},
|
|
4965
|
+
onChange: function onChange() {
|
|
4966
|
+
instance.queue(function () {
|
|
4967
|
+
instance._notifyExpandedReset();
|
|
4968
|
+
});
|
|
4969
|
+
}
|
|
4970
|
+
});
|
|
4619
4971
|
};
|
|
4620
4972
|
}
|
|
4621
4973
|
|
|
@@ -4635,7 +4987,28 @@ function groupBy(rows, columnId) {
|
|
|
4635
4987
|
}, groupMap);
|
|
4636
4988
|
}
|
|
4637
4989
|
|
|
4638
|
-
function
|
|
4990
|
+
function getExpandedRowModel() {
|
|
4991
|
+
return function (instance) {
|
|
4992
|
+
return memo(function () {
|
|
4993
|
+
return [instance.getState().expanded, instance.getGroupedRowModel(), instance.options.paginateExpandedRows];
|
|
4994
|
+
}, function (expanded, rowModel, paginateExpandedRows) {
|
|
4995
|
+
if (!rowModel.rows.length || // Do not expand if rows are not included in pagination
|
|
4996
|
+
!paginateExpandedRows || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
|
|
4997
|
+
return rowModel;
|
|
4998
|
+
}
|
|
4999
|
+
|
|
5000
|
+
return expandRows(rowModel, instance);
|
|
5001
|
+
}, {
|
|
5002
|
+
key: 'getExpandedRowModel',
|
|
5003
|
+
debug: function debug() {
|
|
5004
|
+
var _instance$options$deb;
|
|
5005
|
+
|
|
5006
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
5007
|
+
}
|
|
5008
|
+
});
|
|
5009
|
+
};
|
|
5010
|
+
}
|
|
5011
|
+
function expandRows(rowModel, instance) {
|
|
4639
5012
|
var expandedRows = [];
|
|
4640
5013
|
|
|
4641
5014
|
var handleRow = function handleRow(row) {
|
|
@@ -4648,39 +5021,55 @@ function expandRowsFn(instance, sortedRowModel) {
|
|
|
4648
5021
|
}
|
|
4649
5022
|
};
|
|
4650
5023
|
|
|
4651
|
-
|
|
5024
|
+
rowModel.rows.forEach(handleRow);
|
|
4652
5025
|
return {
|
|
4653
5026
|
rows: expandedRows,
|
|
4654
|
-
flatRows:
|
|
4655
|
-
rowsById:
|
|
5027
|
+
flatRows: rowModel.flatRows,
|
|
5028
|
+
rowsById: rowModel.rowsById
|
|
4656
5029
|
};
|
|
4657
5030
|
}
|
|
4658
5031
|
|
|
4659
|
-
function
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
|
|
4663
|
-
|
|
4664
|
-
|
|
4665
|
-
|
|
4666
|
-
|
|
4667
|
-
var pageEnd = pageStart + pageSize;
|
|
4668
|
-
rows = rows.slice(pageStart, pageEnd);
|
|
4669
|
-
|
|
4670
|
-
if (!instance.options.paginateExpandedRows) {
|
|
4671
|
-
return expandRowsFn(instance, {
|
|
4672
|
-
rows: rows,
|
|
4673
|
-
flatRows: flatRows,
|
|
4674
|
-
rowsById: rowsById
|
|
4675
|
-
});
|
|
4676
|
-
}
|
|
5032
|
+
function getPaginationRowModel(opts) {
|
|
5033
|
+
return function (instance) {
|
|
5034
|
+
return memo(function () {
|
|
5035
|
+
return [instance.getState().pagination, instance.getExpandedRowModel()];
|
|
5036
|
+
}, function (pagination, rowModel) {
|
|
5037
|
+
if (!rowModel.rows.length) {
|
|
5038
|
+
return rowModel;
|
|
5039
|
+
}
|
|
4677
5040
|
|
|
4678
|
-
|
|
4679
|
-
|
|
4680
|
-
|
|
4681
|
-
|
|
5041
|
+
var pageSize = pagination.pageSize,
|
|
5042
|
+
pageIndex = pagination.pageIndex;
|
|
5043
|
+
var rows = rowModel.rows,
|
|
5044
|
+
flatRows = rowModel.flatRows,
|
|
5045
|
+
rowsById = rowModel.rowsById;
|
|
5046
|
+
var pageStart = pageSize * pageIndex;
|
|
5047
|
+
var pageEnd = pageStart + pageSize;
|
|
5048
|
+
rows = rows.slice(pageStart, pageEnd);
|
|
5049
|
+
|
|
5050
|
+
if (!instance.options.paginateExpandedRows) {
|
|
5051
|
+
return expandRows({
|
|
5052
|
+
rows: rows,
|
|
5053
|
+
flatRows: flatRows,
|
|
5054
|
+
rowsById: rowsById
|
|
5055
|
+
}, instance);
|
|
5056
|
+
}
|
|
5057
|
+
|
|
5058
|
+
return {
|
|
5059
|
+
rows: rows,
|
|
5060
|
+
flatRows: flatRows,
|
|
5061
|
+
rowsById: rowsById
|
|
5062
|
+
};
|
|
5063
|
+
}, {
|
|
5064
|
+
key: 'getPaginationRowModel',
|
|
5065
|
+
debug: function debug() {
|
|
5066
|
+
var _instance$options$deb;
|
|
5067
|
+
|
|
5068
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
5069
|
+
}
|
|
5070
|
+
});
|
|
4682
5071
|
};
|
|
4683
5072
|
}
|
|
4684
5073
|
|
|
4685
|
-
export { ColumnSizing, Expanding, Filters, Grouping, Headers, Ordering, Pagination, Pinning, RowSelection, Sorting, Visibility, buildHeaderGroups,
|
|
5074
|
+
export { ColumnSizing, Expanding, Filters, Grouping, Headers, Ordering, Pagination, Pinning, RowSelection, Sorting, Visibility, buildHeaderGroups, createTableInstance, defaultColumnSizing, expandRows, flattenBy, functionalUpdate, getBatchGroups, getColumnFilteredRowModelSync, getCoreRowModelAsync, getCoreRowModelSync, getExpandedRowModel, getGlobalFilteredRowModelSync, getGroupedRowModelSync, getPaginationRowModel, getSortedRowModelSync, incrementalMemo, init, isFunction, isRowSelected, makeStateUpdater, memo, noop, passiveEventSupported, propGetter, selectRowsFn, shouldAutoRemoveFilter };
|
|
4686
5075
|
//# sourceMappingURL=index.js.map
|