@tanstack/table-core 8.0.0-alpha.28 → 8.0.0-alpha.34
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 +50 -79
- 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 +14 -18
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +29 -82
- 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 +10 -17
- 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 +11 -17
- 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 +159 -20
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +893 -500
- 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 +11 -1
- package/build/types/createTable.d.ts +2 -4
- 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 +3 -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 +903 -505
- 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 +66 -99
- package/src/createTable.tsx +2 -6
- package/src/features/Expanding.ts +21 -29
- package/src/features/Filters.ts +53 -100
- package/src/features/Grouping.ts +19 -21
- package/src/features/Pagination.ts +19 -28
- package/src/features/RowSelection.ts +5 -3
- package/src/features/Sorting.ts +20 -24
- package/src/index.tsx +8 -6
- package/src/types.ts +4 -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 +193 -21
- 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) {
|
|
@@ -151,7 +177,7 @@
|
|
|
151
177
|
var result;
|
|
152
178
|
return function () {
|
|
153
179
|
var depTime;
|
|
154
|
-
if (opts.key && opts.debug) depTime =
|
|
180
|
+
if (opts.key && opts.debug) depTime = Date.now();
|
|
155
181
|
var newDeps = getDeps();
|
|
156
182
|
var depsChanged = newDeps.length !== deps.length || newDeps.some(function (dep, index) {
|
|
157
183
|
return deps[index] !== dep;
|
|
@@ -160,15 +186,15 @@
|
|
|
160
186
|
if (depsChanged) {
|
|
161
187
|
var oldResult = result;
|
|
162
188
|
var resultTime;
|
|
163
|
-
if (opts.key && opts.debug) resultTime =
|
|
189
|
+
if (opts.key && opts.debug) resultTime = Date.now();
|
|
164
190
|
result = fn.apply(void 0, newDeps);
|
|
165
191
|
deps = newDeps;
|
|
166
192
|
opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result, oldResult);
|
|
167
193
|
|
|
168
194
|
if (opts.key && opts.debug) {
|
|
169
195
|
if (opts != null && opts.debug()) {
|
|
170
|
-
var depEndTime = Math.round((
|
|
171
|
-
var resultEndTime = Math.round((
|
|
196
|
+
var depEndTime = Math.round((Date.now() - depTime) * 100) / 100;
|
|
197
|
+
var resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;
|
|
172
198
|
var resultFpsPercentage = resultEndTime / 16;
|
|
173
199
|
|
|
174
200
|
var pad = function pad(str, num) {
|
|
@@ -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;
|
|
@@ -657,7 +796,7 @@
|
|
|
657
796
|
var initialProps = {
|
|
658
797
|
title: canExpand ? 'Toggle Expanded' : undefined,
|
|
659
798
|
onClick: canExpand ? function (e) {
|
|
660
|
-
e.persist();
|
|
799
|
+
e.persist == null ? void 0 : e.persist();
|
|
661
800
|
instance.toggleRowExpanded(rowId);
|
|
662
801
|
} : undefined
|
|
663
802
|
};
|
|
@@ -667,7 +806,7 @@
|
|
|
667
806
|
var initialProps = {
|
|
668
807
|
title: 'Toggle All Expanded',
|
|
669
808
|
onClick: function onClick(e) {
|
|
670
|
-
e.persist();
|
|
809
|
+
e.persist == null ? void 0 : e.persist();
|
|
671
810
|
instance.toggleAllRowsExpanded();
|
|
672
811
|
}
|
|
673
812
|
};
|
|
@@ -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) {
|
|
@@ -1103,7 +1236,7 @@
|
|
|
1103
1236
|
instance.options.onGlobalFilterChange == null ? void 0 : instance.options.onGlobalFilterChange(updater, functionalUpdate(updater, instance.getState().globalFilter));
|
|
1104
1237
|
},
|
|
1105
1238
|
resetGlobalFilter: function resetGlobalFilter() {
|
|
1106
|
-
instance.setGlobalFilter(
|
|
1239
|
+
instance.setGlobalFilter(instance.initialState.globalFilter);
|
|
1107
1240
|
},
|
|
1108
1241
|
getColumnCanColumnFilter: function getColumnCanColumnFilter(columnId) {
|
|
1109
1242
|
var _ref3, _ref4, _ref5, _ref6, _ref7, _column$enableAllFilt;
|
|
@@ -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) {
|
|
@@ -1808,9 +1882,7 @@
|
|
|
1808
1882
|
return instance.getState().pagination.pageIndex > 0;
|
|
1809
1883
|
},
|
|
1810
1884
|
getCanNextPage: function getCanNextPage() {
|
|
1811
|
-
var
|
|
1812
|
-
pageIndex = _instance$getState$pa.pageIndex,
|
|
1813
|
-
pageSize = _instance$getState$pa.pageSize;
|
|
1885
|
+
var pageIndex = instance.getState().pagination.pageIndex;
|
|
1814
1886
|
var pageCount = instance.getPageCount();
|
|
1815
1887
|
|
|
1816
1888
|
if (pageCount === -1) {
|
|
@@ -1821,7 +1893,7 @@
|
|
|
1821
1893
|
return false;
|
|
1822
1894
|
}
|
|
1823
1895
|
|
|
1824
|
-
return pageIndex <
|
|
1896
|
+
return pageIndex < pageCount - 1;
|
|
1825
1897
|
},
|
|
1826
1898
|
previousPage: function previousPage() {
|
|
1827
1899
|
return instance.setPageIndex(function (old) {
|
|
@@ -1836,22 +1908,17 @@
|
|
|
1836
1908
|
getPrePaginationRowModel: function getPrePaginationRowModel() {
|
|
1837
1909
|
return instance.getExpandedRowModel();
|
|
1838
1910
|
},
|
|
1839
|
-
getPaginationRowModel:
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
if (!paginateRowsFn || !rowModel.rows.length) {
|
|
1843
|
-
return rowModel;
|
|
1911
|
+
getPaginationRowModel: function getPaginationRowModel() {
|
|
1912
|
+
if (!instance._getPaginationRowModel && instance.options.getPaginationRowModel) {
|
|
1913
|
+
instance._getPaginationRowModel = instance.options.getPaginationRowModel(instance);
|
|
1844
1914
|
}
|
|
1845
1915
|
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
key: 'getPaginationRowModel',
|
|
1849
|
-
debug: function debug() {
|
|
1850
|
-
var _instance$options$deb2;
|
|
1851
|
-
|
|
1852
|
-
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugTable;
|
|
1916
|
+
if (!instance._getPaginationRowModel) {
|
|
1917
|
+
return instance.getPrePaginationRowModel();
|
|
1853
1918
|
}
|
|
1854
|
-
|
|
1919
|
+
|
|
1920
|
+
return instance._getPaginationRowModel();
|
|
1921
|
+
},
|
|
1855
1922
|
getPageCount: function getPageCount() {
|
|
1856
1923
|
var pageCount = instance.getState().pagination.pageCount;
|
|
1857
1924
|
|
|
@@ -2169,7 +2236,9 @@
|
|
|
2169
2236
|
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
2170
2237
|
},
|
|
2171
2238
|
onChange: function onChange() {
|
|
2172
|
-
|
|
2239
|
+
instance.queue(function () {
|
|
2240
|
+
return instance._notifyExpandedReset();
|
|
2241
|
+
});
|
|
2173
2242
|
}
|
|
2174
2243
|
}),
|
|
2175
2244
|
getFilteredSelectedRowModel: memo(function () {
|
|
@@ -2192,7 +2261,9 @@
|
|
|
2192
2261
|
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugTable;
|
|
2193
2262
|
},
|
|
2194
2263
|
onChange: function onChange() {
|
|
2195
|
-
return instance.
|
|
2264
|
+
return instance.queue(function () {
|
|
2265
|
+
return instance._notifyExpandedReset();
|
|
2266
|
+
});
|
|
2196
2267
|
}
|
|
2197
2268
|
}),
|
|
2198
2269
|
getGroupedSelectedRowModel: memo(function () {
|
|
@@ -2215,7 +2286,9 @@
|
|
|
2215
2286
|
return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugTable;
|
|
2216
2287
|
},
|
|
2217
2288
|
onChange: function onChange() {
|
|
2218
|
-
return instance.
|
|
2289
|
+
return instance.queue(function () {
|
|
2290
|
+
return instance._notifyExpandedReset();
|
|
2291
|
+
});
|
|
2219
2292
|
}
|
|
2220
2293
|
}),
|
|
2221
2294
|
///
|
|
@@ -2661,6 +2734,8 @@
|
|
|
2661
2734
|
var registered = false;
|
|
2662
2735
|
return {
|
|
2663
2736
|
_notifySortingReset: function _notifySortingReset() {
|
|
2737
|
+
instance._notifyGroupingReset();
|
|
2738
|
+
|
|
2664
2739
|
if (!registered) {
|
|
2665
2740
|
registered = true;
|
|
2666
2741
|
return;
|
|
@@ -2882,7 +2957,7 @@
|
|
|
2882
2957
|
var initialProps = {
|
|
2883
2958
|
title: canSort ? 'Toggle Sorting' : undefined,
|
|
2884
2959
|
onClick: canSort ? function (e) {
|
|
2885
|
-
e.persist();
|
|
2960
|
+
e.persist == null ? void 0 : e.persist();
|
|
2886
2961
|
column.toggleSorting == null ? void 0 : column.toggleSorting(undefined, column.getCanMultiSort() ? instance.options.isMultiSortEvent == null ? void 0 : instance.options.isMultiSortEvent(e) : false);
|
|
2887
2962
|
} : undefined
|
|
2888
2963
|
};
|
|
@@ -2891,25 +2966,17 @@
|
|
|
2891
2966
|
getPreSortedRowModel: function getPreSortedRowModel() {
|
|
2892
2967
|
return instance.getGlobalFilteredRowModel();
|
|
2893
2968
|
},
|
|
2894
|
-
getSortedRowModel:
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
if (!sortingFn || !(sorting != null && sorting.length)) {
|
|
2898
|
-
return rowModel;
|
|
2969
|
+
getSortedRowModel: function getSortedRowModel() {
|
|
2970
|
+
if (!instance._getSortedRowModel && instance.options.getSortedRowModel) {
|
|
2971
|
+
instance._getSortedRowModel = instance.options.getSortedRowModel(instance);
|
|
2899
2972
|
}
|
|
2900
2973
|
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
key: 'getSortedRowModel',
|
|
2904
|
-
debug: function debug() {
|
|
2905
|
-
var _instance$options$deb;
|
|
2906
|
-
|
|
2907
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
2908
|
-
},
|
|
2909
|
-
onChange: function onChange() {
|
|
2910
|
-
instance._notifyGroupingReset();
|
|
2974
|
+
if (!instance._getSortedRowModel) {
|
|
2975
|
+
return instance.getPreSortedRowModel();
|
|
2911
2976
|
}
|
|
2912
|
-
|
|
2977
|
+
|
|
2978
|
+
return instance._getSortedRowModel();
|
|
2979
|
+
}
|
|
2913
2980
|
};
|
|
2914
2981
|
}
|
|
2915
2982
|
};
|
|
@@ -3695,20 +3762,50 @@
|
|
|
3695
3762
|
};
|
|
3696
3763
|
|
|
3697
3764
|
instance.options = buildOptions(options);
|
|
3765
|
+
var coreInitialState = {
|
|
3766
|
+
coreProgress: 1
|
|
3767
|
+
};
|
|
3698
3768
|
|
|
3699
|
-
var initialState = _extends({}, features.reduce(function (obj, feature) {
|
|
3769
|
+
var initialState = _extends({}, coreInitialState, features.reduce(function (obj, feature) {
|
|
3700
3770
|
return Object.assign(obj, feature.getInitialState == null ? void 0 : feature.getInitialState());
|
|
3701
3771
|
}, {}), (_options$initialState = options.initialState) != null ? _options$initialState : {});
|
|
3702
3772
|
|
|
3773
|
+
var queued = [];
|
|
3774
|
+
var queuedTimeout;
|
|
3775
|
+
|
|
3703
3776
|
var finalInstance = _extends({}, instance, features.reduce(function (obj, feature) {
|
|
3704
3777
|
return Object.assign(obj, feature.getInstance == null ? void 0 : feature.getInstance(instance));
|
|
3705
3778
|
}, {}), {
|
|
3779
|
+
queue: function queue(cb) {
|
|
3780
|
+
queued.push(cb);
|
|
3781
|
+
|
|
3782
|
+
if (!queuedTimeout) {
|
|
3783
|
+
queuedTimeout = setTimeout(function () {
|
|
3784
|
+
instance.setState(function (old) {
|
|
3785
|
+
return _extends({}, old);
|
|
3786
|
+
});
|
|
3787
|
+
});
|
|
3788
|
+
}
|
|
3789
|
+
},
|
|
3790
|
+
willUpdate: function willUpdate() {
|
|
3791
|
+
clearTimeout(queuedTimeout);
|
|
3792
|
+
|
|
3793
|
+
while (queued.length) {
|
|
3794
|
+
queued.shift()();
|
|
3795
|
+
}
|
|
3796
|
+
},
|
|
3706
3797
|
initialState: initialState,
|
|
3707
3798
|
reset: function reset() {
|
|
3708
3799
|
instance.setState(instance.initialState);
|
|
3709
3800
|
},
|
|
3710
3801
|
setOptions: function setOptions(updater) {
|
|
3711
|
-
|
|
3802
|
+
var newOptions = functionalUpdate(updater, instance.options);
|
|
3803
|
+
|
|
3804
|
+
if (instance.options.mergeOptions) {
|
|
3805
|
+
instance.options = instance.options.mergeOptions(defaultOptions, newOptions);
|
|
3806
|
+
} else {
|
|
3807
|
+
instance.options = buildOptions(newOptions);
|
|
3808
|
+
}
|
|
3712
3809
|
},
|
|
3713
3810
|
render: function render(template, props) {
|
|
3714
3811
|
if (typeof instance.options.render === 'function') {
|
|
@@ -4002,85 +4099,13 @@
|
|
|
4002
4099
|
|
|
4003
4100
|
return row;
|
|
4004
4101
|
},
|
|
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
|
-
{
|
|
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);
|
|
4102
|
+
getCoreRowModel: function getCoreRowModel() {
|
|
4103
|
+
if (!instance._getCoreRowModel) {
|
|
4104
|
+
instance._getCoreRowModel = instance.options.getCoreRowModel(instance);
|
|
4064
4105
|
}
|
|
4065
4106
|
|
|
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
|
-
}),
|
|
4107
|
+
return instance._getCoreRowModel();
|
|
4108
|
+
},
|
|
4084
4109
|
// The final calls start at the bottom of the model,
|
|
4085
4110
|
// expanded rows, which then work their way up
|
|
4086
4111
|
getRowModel: function getRowModel() {
|
|
@@ -4177,6 +4202,18 @@
|
|
|
4177
4202
|
return (_instance$getRightHea = (_instance$getRightHea2 = instance.getRightHeaderGroups()[0]) == null ? void 0 : _instance$getRightHea2.headers.reduce(function (sum, header) {
|
|
4178
4203
|
return sum + header.getWidth();
|
|
4179
4204
|
}, 0)) != null ? _instance$getRightHea : 0;
|
|
4205
|
+
},
|
|
4206
|
+
getOverallProgress: function getOverallProgress() {
|
|
4207
|
+
var _instance$getState = instance.getState(),
|
|
4208
|
+
coreProgress = _instance$getState.coreProgress,
|
|
4209
|
+
columnFiltersProgress = _instance$getState.columnFiltersProgress,
|
|
4210
|
+
globalFilterProgress = _instance$getState.globalFilterProgress;
|
|
4211
|
+
|
|
4212
|
+
return mean(function () {
|
|
4213
|
+
return [coreProgress, columnFiltersProgress, globalFilterProgress].filter(function (d) {
|
|
4214
|
+
return d < 1;
|
|
4215
|
+
});
|
|
4216
|
+
});
|
|
4180
4217
|
}
|
|
4181
4218
|
});
|
|
4182
4219
|
|
|
@@ -4245,14 +4282,208 @@
|
|
|
4245
4282
|
};
|
|
4246
4283
|
}
|
|
4247
4284
|
|
|
4248
|
-
function
|
|
4249
|
-
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
|
|
4254
|
-
|
|
4255
|
-
|
|
4285
|
+
function getCoreRowModelSync() {
|
|
4286
|
+
return function (instance) {
|
|
4287
|
+
return memo(function () {
|
|
4288
|
+
return [instance.options.data];
|
|
4289
|
+
}, function (data) {
|
|
4290
|
+
// Access the row model using initial columns
|
|
4291
|
+
var rows = [];
|
|
4292
|
+
var flatRows = [];
|
|
4293
|
+
var rowsById = {};
|
|
4294
|
+
var leafColumns = instance.getAllLeafColumns();
|
|
4295
|
+
|
|
4296
|
+
var accessRow = function accessRow(originalRow, rowIndex, depth, parentRows, parent) {
|
|
4297
|
+
if (depth === void 0) {
|
|
4298
|
+
depth = 0;
|
|
4299
|
+
}
|
|
4300
|
+
|
|
4301
|
+
var id = instance.getRowId(originalRow, rowIndex, parent);
|
|
4302
|
+
|
|
4303
|
+
if (!id) {
|
|
4304
|
+
{
|
|
4305
|
+
throw new Error("getRowId expected an ID, but got " + id);
|
|
4306
|
+
}
|
|
4307
|
+
}
|
|
4308
|
+
|
|
4309
|
+
var values = {};
|
|
4310
|
+
|
|
4311
|
+
for (var i = 0; i < leafColumns.length; i++) {
|
|
4312
|
+
var column = leafColumns[i];
|
|
4313
|
+
|
|
4314
|
+
if (column && column.accessorFn) {
|
|
4315
|
+
values[column.id] = column.accessorFn(originalRow, rowIndex);
|
|
4316
|
+
}
|
|
4317
|
+
} // Make the row
|
|
4318
|
+
|
|
4319
|
+
|
|
4320
|
+
var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
|
|
4321
|
+
|
|
4322
|
+
parentRows.push(row); // Keep track of every row in a flat array
|
|
4323
|
+
|
|
4324
|
+
flatRows.push(row); // Also keep track of every row by its ID
|
|
4325
|
+
|
|
4326
|
+
rowsById[id] = row; // Get the original subrows
|
|
4327
|
+
|
|
4328
|
+
if (instance.options.getSubRows) {
|
|
4329
|
+
var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
4330
|
+
|
|
4331
|
+
if (originalSubRows != null && originalSubRows.length) {
|
|
4332
|
+
row.originalSubRows = originalSubRows;
|
|
4333
|
+
var subRows = [];
|
|
4334
|
+
|
|
4335
|
+
for (var _i = 0; _i < row.originalSubRows.length; _i++) {
|
|
4336
|
+
accessRow(row.originalSubRows[_i], _i, depth + 1, subRows, row);
|
|
4337
|
+
}
|
|
4338
|
+
|
|
4339
|
+
row.subRows = subRows;
|
|
4340
|
+
}
|
|
4341
|
+
}
|
|
4342
|
+
};
|
|
4343
|
+
|
|
4344
|
+
for (var i = 0; i < data.length; i++) {
|
|
4345
|
+
accessRow(data[i], i, 0, rows);
|
|
4346
|
+
}
|
|
4347
|
+
|
|
4348
|
+
return {
|
|
4349
|
+
rows: rows,
|
|
4350
|
+
flatRows: flatRows,
|
|
4351
|
+
rowsById: rowsById
|
|
4352
|
+
};
|
|
4353
|
+
}, {
|
|
4354
|
+
key: 'getRowModel',
|
|
4355
|
+
debug: function debug() {
|
|
4356
|
+
var _instance$options$deb;
|
|
4357
|
+
|
|
4358
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4359
|
+
},
|
|
4360
|
+
onChange: function onChange() {
|
|
4361
|
+
instance.queue(function () {
|
|
4362
|
+
instance._notifyFiltersReset();
|
|
4363
|
+
|
|
4364
|
+
instance._notifyRowSelectionReset();
|
|
4365
|
+
});
|
|
4366
|
+
}
|
|
4367
|
+
});
|
|
4368
|
+
};
|
|
4369
|
+
}
|
|
4370
|
+
|
|
4371
|
+
function getCoreRowModelAsync(opts) {
|
|
4372
|
+
return function (instance) {
|
|
4373
|
+
return incrementalMemo(function () {
|
|
4374
|
+
return [instance.options.data, instance.getAllLeafColumns()];
|
|
4375
|
+
}, function () {
|
|
4376
|
+
var rows = [];
|
|
4377
|
+
var flatRows = [];
|
|
4378
|
+
var rowsById = {};
|
|
4379
|
+
return {
|
|
4380
|
+
rows: rows,
|
|
4381
|
+
flatRows: flatRows,
|
|
4382
|
+
rowsById: rowsById
|
|
4383
|
+
};
|
|
4384
|
+
}, function (data, leafColumns) {
|
|
4385
|
+
return function (rowModelRef) {
|
|
4386
|
+
return function (scheduleTask) {
|
|
4387
|
+
var accessRows = function accessRows(originalRows, depth, parent) {
|
|
4388
|
+
if (depth === void 0) {
|
|
4389
|
+
depth = 0;
|
|
4390
|
+
}
|
|
4391
|
+
|
|
4392
|
+
var batchGroups = getBatchGroups(originalRows, 2000);
|
|
4393
|
+
|
|
4394
|
+
var _loop = function _loop(i) {
|
|
4395
|
+
var batchGroup = batchGroups[i];
|
|
4396
|
+
scheduleTask(function () {
|
|
4397
|
+
for (var _i = 0; _i < batchGroup.items.length; _i++) {
|
|
4398
|
+
var originalRow = batchGroup.items[_i];
|
|
4399
|
+
var rowIndex = batchGroup.start + _i;
|
|
4400
|
+
var id = instance.getRowId(originalRow, rowIndex, parent);
|
|
4401
|
+
|
|
4402
|
+
if (!id) {
|
|
4403
|
+
{
|
|
4404
|
+
throw new Error("getRowId expected an ID, but got " + id);
|
|
4405
|
+
}
|
|
4406
|
+
}
|
|
4407
|
+
|
|
4408
|
+
var values = {};
|
|
4409
|
+
|
|
4410
|
+
for (var _i2 = 0; _i2 < leafColumns.length; _i2++) {
|
|
4411
|
+
var column = leafColumns[_i2];
|
|
4412
|
+
|
|
4413
|
+
if (column && column.accessorFn) {
|
|
4414
|
+
values[column.id] = column.accessorFn(originalRow, rowIndex);
|
|
4415
|
+
}
|
|
4416
|
+
} // Make the row
|
|
4417
|
+
|
|
4418
|
+
|
|
4419
|
+
var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
|
|
4420
|
+
|
|
4421
|
+
if (parent) {
|
|
4422
|
+
parent.subRows.push(row);
|
|
4423
|
+
} else {
|
|
4424
|
+
rowModelRef.current.rows.push(row);
|
|
4425
|
+
} // Keep track of every row in a flat array
|
|
4426
|
+
|
|
4427
|
+
|
|
4428
|
+
rowModelRef.current.flatRows.push(row); // Also keep track of every row by its ID
|
|
4429
|
+
|
|
4430
|
+
rowModelRef.current.rowsById[id] = row; // Get the original subrows
|
|
4431
|
+
|
|
4432
|
+
if (instance.options.getSubRows) {
|
|
4433
|
+
var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
4434
|
+
|
|
4435
|
+
if (originalSubRows != null && originalSubRows.length) {
|
|
4436
|
+
row.originalSubRows = originalSubRows;
|
|
4437
|
+
row.subRows = [];
|
|
4438
|
+
accessRows(row.originalSubRows, depth + 1, row);
|
|
4439
|
+
}
|
|
4440
|
+
}
|
|
4441
|
+
}
|
|
4442
|
+
});
|
|
4443
|
+
};
|
|
4444
|
+
|
|
4445
|
+
for (var i = 0; i < batchGroups.length; i++) {
|
|
4446
|
+
_loop(i);
|
|
4447
|
+
}
|
|
4448
|
+
};
|
|
4449
|
+
|
|
4450
|
+
accessRows(data);
|
|
4451
|
+
};
|
|
4452
|
+
};
|
|
4453
|
+
}, {
|
|
4454
|
+
key: 'getRowModel',
|
|
4455
|
+
initialSync: opts == null ? void 0 : opts.initialSync,
|
|
4456
|
+
onProgress: function onProgress(progress) {
|
|
4457
|
+
instance.setState(function (old) {
|
|
4458
|
+
return _extends({}, old, {
|
|
4459
|
+
coreProgress: progress
|
|
4460
|
+
});
|
|
4461
|
+
});
|
|
4462
|
+
},
|
|
4463
|
+
debug: function debug() {
|
|
4464
|
+
var _instance$options$deb;
|
|
4465
|
+
|
|
4466
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4467
|
+
},
|
|
4468
|
+
onChange: function onChange() {
|
|
4469
|
+
instance.queue(function () {
|
|
4470
|
+
instance._notifyFiltersReset();
|
|
4471
|
+
|
|
4472
|
+
instance._notifyRowSelectionReset();
|
|
4473
|
+
});
|
|
4474
|
+
}
|
|
4475
|
+
});
|
|
4476
|
+
};
|
|
4477
|
+
}
|
|
4478
|
+
|
|
4479
|
+
function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
|
|
4480
|
+
var newFilteredFlatRows = [];
|
|
4481
|
+
var newFilteredRowsById = {};
|
|
4482
|
+
|
|
4483
|
+
var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
|
|
4484
|
+
if (depth === void 0) {
|
|
4485
|
+
depth = 0;
|
|
4486
|
+
}
|
|
4256
4487
|
|
|
4257
4488
|
rowsToFilter = rowsToFilter.slice(); // Filter from children up first
|
|
4258
4489
|
|
|
@@ -4328,259 +4559,386 @@
|
|
|
4328
4559
|
};
|
|
4329
4560
|
}
|
|
4330
4561
|
|
|
4331
|
-
function
|
|
4332
|
-
|
|
4333
|
-
|
|
4334
|
-
|
|
4335
|
-
|
|
4336
|
-
|
|
4337
|
-
|
|
4338
|
-
|
|
4339
|
-
|
|
4562
|
+
function getColumnFilteredRowModelSync() {
|
|
4563
|
+
return function (instance) {
|
|
4564
|
+
return memo(function () {
|
|
4565
|
+
return [instance.getState().columnFilters, instance.getCoreRowModel()];
|
|
4566
|
+
}, function (columnFilters, rowModel) {
|
|
4567
|
+
var columnFilteredRowModel = function () {
|
|
4568
|
+
if (!rowModel.rows.length || !columnFilters) {
|
|
4569
|
+
return rowModel;
|
|
4570
|
+
}
|
|
4340
4571
|
|
|
4341
|
-
|
|
4572
|
+
var filterFromLeafRows = instance.options.filterFromLeafRows;
|
|
4342
4573
|
|
|
4343
|
-
|
|
4344
|
-
|
|
4345
|
-
|
|
4346
|
-
|
|
4574
|
+
var filterRows = function filterRows(rowsToFilter, depth) {
|
|
4575
|
+
for (var i = 0; i < columnFilters.length; i++) {
|
|
4576
|
+
var _columnFilters$i = columnFilters[i],
|
|
4577
|
+
columnId = _columnFilters$i.id,
|
|
4578
|
+
filterValue = _columnFilters$i.value; // Find the columnFilters column
|
|
4347
4579
|
|
|
4348
|
-
|
|
4349
|
-
}
|
|
4580
|
+
var column = instance.getColumn(columnId);
|
|
4350
4581
|
|
|
4351
|
-
|
|
4352
|
-
|
|
4353
|
-
|
|
4582
|
+
if (!column) {
|
|
4583
|
+
{
|
|
4584
|
+
console.warn("Table: Could not find a column with id: " + columnId);
|
|
4585
|
+
}
|
|
4354
4586
|
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
};
|
|
4358
|
-
})();
|
|
4359
|
-
}
|
|
4587
|
+
throw new Error();
|
|
4588
|
+
}
|
|
4360
4589
|
|
|
4361
|
-
|
|
4590
|
+
if (depth === 0) {
|
|
4591
|
+
(function () {
|
|
4592
|
+
var preFilteredRows = [].concat(rowsToFilter);
|
|
4362
4593
|
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4594
|
+
column.getPreFilteredRows = function () {
|
|
4595
|
+
return preFilteredRows;
|
|
4596
|
+
};
|
|
4597
|
+
})();
|
|
4598
|
+
}
|
|
4367
4599
|
|
|
4368
|
-
|
|
4369
|
-
} // Pass the rows, id, filterValue and column to the filterFn
|
|
4370
|
-
// to get the filtered rows back
|
|
4600
|
+
var filterFn = instance.getColumnFilterFn(column.id);
|
|
4371
4601
|
|
|
4602
|
+
if (!filterFn) {
|
|
4603
|
+
{
|
|
4604
|
+
console.warn("Could not find a valid 'column.filterType' for column with the ID: " + column.id + ".");
|
|
4605
|
+
}
|
|
4372
4606
|
|
|
4373
|
-
|
|
4374
|
-
|
|
4607
|
+
continue;
|
|
4608
|
+
} // Pass the rows, id, filterValue and column to the filterFn
|
|
4609
|
+
// to get the filtered rows back
|
|
4375
4610
|
|
|
4376
|
-
return rowsToFilter;
|
|
4377
|
-
};
|
|
4378
4611
|
|
|
4379
|
-
|
|
4380
|
-
|
|
4381
|
-
}
|
|
4612
|
+
rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
|
|
4613
|
+
}
|
|
4382
4614
|
|
|
4383
|
-
|
|
4384
|
-
|
|
4615
|
+
return rowsToFilter;
|
|
4616
|
+
};
|
|
4385
4617
|
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
var filterFn = instance.getGlobalFilterFn();
|
|
4618
|
+
if (filterFromLeafRows) {
|
|
4619
|
+
return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
|
|
4620
|
+
}
|
|
4390
4621
|
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
}
|
|
4622
|
+
return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
|
|
4623
|
+
}(); // Now that each filtered column has it's partially filtered rows,
|
|
4624
|
+
// lets assign the final filtered rows to all of the other columns
|
|
4395
4625
|
|
|
4396
|
-
return rowModel;
|
|
4397
|
-
}
|
|
4398
4626
|
|
|
4399
|
-
|
|
4400
|
-
|
|
4401
|
-
});
|
|
4402
|
-
var filterableColumnIds = filterableColumns.map(function (d) {
|
|
4403
|
-
return d.id;
|
|
4404
|
-
});
|
|
4627
|
+
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4628
|
+
var _instance$getState$co;
|
|
4405
4629
|
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4630
|
+
return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
|
|
4631
|
+
return d.id === column.id;
|
|
4632
|
+
}));
|
|
4633
|
+
}); // This essentially enables faceted filter options to be built easily
|
|
4634
|
+
// using every column's preFilteredRows value
|
|
4409
4635
|
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4636
|
+
nonFilteredColumns.forEach(function (column) {
|
|
4637
|
+
column.getPreFilteredRows = function () {
|
|
4638
|
+
return columnFilteredRowModel.rows;
|
|
4639
|
+
};
|
|
4640
|
+
});
|
|
4641
|
+
return columnFilteredRowModel;
|
|
4642
|
+
}, {
|
|
4643
|
+
key: 'getColumnFilteredRowModelSync',
|
|
4644
|
+
debug: function debug() {
|
|
4645
|
+
var _instance$options$deb;
|
|
4413
4646
|
|
|
4414
|
-
|
|
4647
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4648
|
+
},
|
|
4649
|
+
onChange: function onChange() {
|
|
4650
|
+
instance.queue(function () {
|
|
4651
|
+
instance._notifySortingReset();
|
|
4652
|
+
});
|
|
4653
|
+
}
|
|
4654
|
+
});
|
|
4655
|
+
};
|
|
4415
4656
|
}
|
|
4416
4657
|
|
|
4417
|
-
function
|
|
4418
|
-
|
|
4419
|
-
|
|
4658
|
+
function getGlobalFilteredRowModelSync() {
|
|
4659
|
+
return function (instance) {
|
|
4660
|
+
return memo(function () {
|
|
4661
|
+
return [instance.getState().globalFilter, instance.getCoreRowModel()];
|
|
4662
|
+
}, function (globalFilter, rowModel) {
|
|
4663
|
+
var globalFilteredRowModel = function () {
|
|
4664
|
+
if (!rowModel.rows.length || !globalFilter) {
|
|
4665
|
+
return rowModel;
|
|
4666
|
+
}
|
|
4420
4667
|
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
});
|
|
4424
|
-
var columnInfoById = {};
|
|
4425
|
-
availableSorting.forEach(function (sortEntry) {
|
|
4426
|
-
var column = instance.getColumn(sortEntry.id);
|
|
4427
|
-
columnInfoById[sortEntry.id] = {
|
|
4428
|
-
sortUndefined: column.sortUndefined,
|
|
4429
|
-
invertSorting: column.invertSorting,
|
|
4430
|
-
sortingFn: instance.getColumnSortingFn(sortEntry.id)
|
|
4431
|
-
};
|
|
4432
|
-
});
|
|
4668
|
+
var filterFromLeafRows = instance.options.filterFromLeafRows;
|
|
4669
|
+
var filterFn = instance.getGlobalFilterFn();
|
|
4433
4670
|
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
var sortedData = rows.slice();
|
|
4438
|
-
sortedData.sort(function (rowA, rowB) {
|
|
4439
|
-
for (var i = 0; i < availableSorting.length; i += 1) {
|
|
4440
|
-
var _sortEntry$desc;
|
|
4441
|
-
|
|
4442
|
-
var sortEntry = availableSorting[i];
|
|
4443
|
-
var columnInfo = columnInfoById[sortEntry.id];
|
|
4444
|
-
var isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;
|
|
4445
|
-
|
|
4446
|
-
if (columnInfo.sortUndefined) {
|
|
4447
|
-
var aValue = rowA.values[sortEntry.id];
|
|
4448
|
-
var bValue = rowB.values[sortEntry.id];
|
|
4449
|
-
var aUndefined = typeof aValue === 'undefined';
|
|
4450
|
-
var bUndefined = typeof bValue === 'undefined';
|
|
4451
|
-
|
|
4452
|
-
if (aUndefined || bUndefined) {
|
|
4453
|
-
return aUndefined && bUndefined ? 0 : aUndefined ? columnInfo.sortUndefined : -columnInfo.sortUndefined;
|
|
4671
|
+
if (!filterFn) {
|
|
4672
|
+
{
|
|
4673
|
+
console.warn("Could not find a valid 'globalFilterType'");
|
|
4454
4674
|
}
|
|
4455
|
-
} // This function should always return in ascending order
|
|
4456
4675
|
|
|
4676
|
+
return rowModel;
|
|
4677
|
+
}
|
|
4457
4678
|
|
|
4458
|
-
var
|
|
4459
|
-
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4679
|
+
var filterableColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4680
|
+
return column.getCanGlobalFilter();
|
|
4681
|
+
});
|
|
4682
|
+
var filterableColumnIds = filterableColumns.map(function (d) {
|
|
4683
|
+
return d.id;
|
|
4684
|
+
});
|
|
4464
4685
|
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4686
|
+
var filterRows = function filterRows(rows) {
|
|
4687
|
+
return filterFn(rows, filterableColumnIds, globalFilter);
|
|
4688
|
+
};
|
|
4468
4689
|
|
|
4469
|
-
|
|
4690
|
+
if (filterFromLeafRows) {
|
|
4691
|
+
filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
|
|
4470
4692
|
}
|
|
4471
|
-
}
|
|
4472
4693
|
|
|
4473
|
-
|
|
4474
|
-
|
|
4694
|
+
return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
|
|
4695
|
+
}(); // Now that each filtered column has it's partially filtered rows,
|
|
4696
|
+
// lets assign the final filtered rows to all of the other columns
|
|
4475
4697
|
|
|
4476
|
-
sortedData.forEach(function (row) {
|
|
4477
|
-
sortedFlatRows.push(row);
|
|
4478
4698
|
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
}
|
|
4699
|
+
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4700
|
+
var _instance$getState$co;
|
|
4482
4701
|
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4702
|
+
return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
|
|
4703
|
+
return d.id === column.id;
|
|
4704
|
+
}));
|
|
4705
|
+
}); // This essentially enables faceted filter options to be built easily
|
|
4706
|
+
// using every column's preFilteredRows value
|
|
4487
4707
|
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4708
|
+
nonFilteredColumns.forEach(function (column) {
|
|
4709
|
+
column.getPreFilteredRows = function () {
|
|
4710
|
+
return globalFilteredRowModel.rows;
|
|
4711
|
+
};
|
|
4712
|
+
});
|
|
4713
|
+
return globalFilteredRowModel;
|
|
4714
|
+
}, {
|
|
4715
|
+
key: 'getGlobalFilteredRowModelSync',
|
|
4716
|
+
debug: function debug() {
|
|
4717
|
+
var _instance$options$deb;
|
|
4718
|
+
|
|
4719
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4720
|
+
},
|
|
4721
|
+
onChange: function onChange() {
|
|
4722
|
+
instance.queue(function () {
|
|
4723
|
+
instance._notifySortingReset();
|
|
4724
|
+
});
|
|
4725
|
+
}
|
|
4726
|
+
});
|
|
4492
4727
|
};
|
|
4493
4728
|
}
|
|
4494
4729
|
|
|
4495
|
-
function
|
|
4496
|
-
|
|
4730
|
+
function getSortedRowModelSync() {
|
|
4731
|
+
return function (instance) {
|
|
4732
|
+
return memo(function () {
|
|
4733
|
+
return [instance.getState().sorting, instance.getGlobalFilteredRowModel()];
|
|
4734
|
+
}, function (sorting, rowModel) {
|
|
4735
|
+
if (!rowModel.rows.length || !(sorting != null && sorting.length)) {
|
|
4736
|
+
return rowModel;
|
|
4737
|
+
}
|
|
4738
|
+
|
|
4739
|
+
var sortingState = instance.getState().sorting;
|
|
4740
|
+
var sortedFlatRows = []; // Filter out sortings that correspond to non existing columns
|
|
4497
4741
|
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4742
|
+
var availableSorting = sortingState.filter(function (sort) {
|
|
4743
|
+
return instance.getColumnCanSort(sort.id);
|
|
4744
|
+
});
|
|
4745
|
+
var columnInfoById = {};
|
|
4746
|
+
availableSorting.forEach(function (sortEntry) {
|
|
4747
|
+
var column = instance.getColumn(sortEntry.id);
|
|
4748
|
+
columnInfoById[sortEntry.id] = {
|
|
4749
|
+
sortUndefined: column.sortUndefined,
|
|
4750
|
+
invertSorting: column.invertSorting,
|
|
4751
|
+
sortingFn: instance.getColumnSortingFn(sortEntry.id)
|
|
4752
|
+
};
|
|
4753
|
+
});
|
|
4502
4754
|
|
|
4503
|
-
|
|
4504
|
-
|
|
4505
|
-
|
|
4506
|
-
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4755
|
+
var sortData = function sortData(rows) {
|
|
4756
|
+
// This will also perform a stable sorting using the row index
|
|
4757
|
+
// if needed.
|
|
4758
|
+
var sortedData = rows.slice();
|
|
4759
|
+
sortedData.sort(function (rowA, rowB) {
|
|
4760
|
+
for (var i = 0; i < availableSorting.length; i += 1) {
|
|
4761
|
+
var _sortEntry$desc;
|
|
4762
|
+
|
|
4763
|
+
var sortEntry = availableSorting[i];
|
|
4764
|
+
var columnInfo = columnInfoById[sortEntry.id];
|
|
4765
|
+
var isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;
|
|
4766
|
+
|
|
4767
|
+
if (columnInfo.sortUndefined) {
|
|
4768
|
+
var aValue = rowA.values[sortEntry.id];
|
|
4769
|
+
var bValue = rowB.values[sortEntry.id];
|
|
4770
|
+
var aUndefined = typeof aValue === 'undefined';
|
|
4771
|
+
var bUndefined = typeof bValue === 'undefined';
|
|
4772
|
+
|
|
4773
|
+
if (aUndefined || bUndefined) {
|
|
4774
|
+
return aUndefined && bUndefined ? 0 : aUndefined ? columnInfo.sortUndefined : -columnInfo.sortUndefined;
|
|
4775
|
+
}
|
|
4776
|
+
} // This function should always return in ascending order
|
|
4511
4777
|
|
|
4512
4778
|
|
|
4513
|
-
|
|
4779
|
+
var sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);
|
|
4514
4780
|
|
|
4515
|
-
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4781
|
+
if (sortInt !== 0) {
|
|
4782
|
+
if (isDesc) {
|
|
4783
|
+
sortInt *= -1;
|
|
4784
|
+
}
|
|
4519
4785
|
|
|
4520
|
-
|
|
4521
|
-
|
|
4786
|
+
if (columnInfo.invertSorting) {
|
|
4787
|
+
sortInt *= -1;
|
|
4788
|
+
}
|
|
4789
|
+
|
|
4790
|
+
return sortInt;
|
|
4522
4791
|
}
|
|
4792
|
+
}
|
|
4523
4793
|
|
|
4524
|
-
|
|
4525
|
-
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
|
|
4794
|
+
return rowA.index - rowB.index;
|
|
4795
|
+
}); // If there are sub-rows, sort them
|
|
4796
|
+
|
|
4797
|
+
sortedData.forEach(function (row) {
|
|
4798
|
+
sortedFlatRows.push(row);
|
|
4799
|
+
|
|
4800
|
+
if (!row.subRows || row.subRows.length <= 1) {
|
|
4801
|
+
return;
|
|
4802
|
+
}
|
|
4803
|
+
|
|
4804
|
+
row.subRows = sortData(row.subRows);
|
|
4530
4805
|
});
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4806
|
+
return sortedData;
|
|
4807
|
+
};
|
|
4808
|
+
|
|
4809
|
+
return {
|
|
4810
|
+
rows: sortData(rowModel.rows),
|
|
4811
|
+
flatRows: sortedFlatRows,
|
|
4812
|
+
rowsById: rowModel.rowsById
|
|
4813
|
+
};
|
|
4814
|
+
}, {
|
|
4815
|
+
key: 'getSortedRowModel',
|
|
4816
|
+
debug: function debug() {
|
|
4817
|
+
var _instance$options$deb;
|
|
4818
|
+
|
|
4819
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4820
|
+
},
|
|
4821
|
+
onChange: function onChange() {
|
|
4822
|
+
instance.queue(function () {
|
|
4823
|
+
instance._notifyGroupingReset();
|
|
4534
4824
|
});
|
|
4535
|
-
throw new Error("Table: Invalid column.aggregateType option for column listed above" );
|
|
4536
|
-
} else {
|
|
4537
|
-
values[column.id] = null;
|
|
4538
4825
|
}
|
|
4539
4826
|
});
|
|
4540
|
-
return values;
|
|
4541
4827
|
};
|
|
4828
|
+
}
|
|
4542
4829
|
|
|
4543
|
-
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
4830
|
+
function getGroupedRowModelSync() {
|
|
4831
|
+
return function (instance) {
|
|
4832
|
+
return memo(function () {
|
|
4833
|
+
return [instance.getState().grouping, instance.getSortedRowModel()];
|
|
4834
|
+
}, function (grouping, rowModel) {
|
|
4835
|
+
if (!rowModel.rows.length || !grouping.length) {
|
|
4836
|
+
return rowModel;
|
|
4837
|
+
} // Filter the grouping list down to columns that exist
|
|
4549
4838
|
|
|
4550
|
-
var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
|
|
4551
|
-
if (depth === void 0) {
|
|
4552
|
-
depth = 0;
|
|
4553
|
-
}
|
|
4554
4839
|
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4840
|
+
var existingGrouping = grouping.filter(function (columnId) {
|
|
4841
|
+
return instance.getColumn(columnId);
|
|
4842
|
+
}); // Find the columns that can or are aggregating
|
|
4843
|
+
// Uses each column to aggregate rows into a single value
|
|
4559
4844
|
|
|
4560
|
-
|
|
4845
|
+
var aggregateRowsToValues = function aggregateRowsToValues(leafRows, groupedRows, depth) {
|
|
4846
|
+
var values = {};
|
|
4847
|
+
instance.getAllLeafColumns().forEach(function (column) {
|
|
4848
|
+
// Don't aggregate columns that are in the grouping
|
|
4849
|
+
if (existingGrouping.includes(column.id)) {
|
|
4850
|
+
values[column.id] = groupedRows[0] ? groupedRows[0].values[column.id] : null;
|
|
4851
|
+
return;
|
|
4852
|
+
} // Aggregate the values
|
|
4561
4853
|
|
|
4562
|
-
var rowGroupsMap = groupBy(rows, columnId); // Peform aggregations for each group
|
|
4563
4854
|
|
|
4564
|
-
|
|
4565
|
-
var groupingValue = _ref[0],
|
|
4566
|
-
groupedRows = _ref[1];
|
|
4567
|
-
var id = columnId + ":" + groupingValue;
|
|
4568
|
-
id = parentId ? parentId + ">" + id : id; // First, Recurse to group sub rows before aggregation
|
|
4855
|
+
var aggregateFn = instance.getColumnAggregationFn(column.id);
|
|
4569
4856
|
|
|
4570
|
-
|
|
4857
|
+
if (aggregateFn) {
|
|
4858
|
+
values[column.id] = aggregateFn(function () {
|
|
4859
|
+
return leafRows.map(function (row) {
|
|
4860
|
+
var columnValue = row.values[column.id];
|
|
4571
4861
|
|
|
4572
|
-
|
|
4573
|
-
|
|
4574
|
-
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4862
|
+
if (!depth && column.aggregateValue) {
|
|
4863
|
+
columnValue = column.aggregateValue(columnValue);
|
|
4864
|
+
}
|
|
4865
|
+
|
|
4866
|
+
return columnValue;
|
|
4867
|
+
});
|
|
4868
|
+
}, function () {
|
|
4869
|
+
return groupedRows.map(function (row) {
|
|
4870
|
+
return row.values[column.id];
|
|
4871
|
+
});
|
|
4872
|
+
});
|
|
4873
|
+
} else if (column.aggregationType) {
|
|
4874
|
+
console.info({
|
|
4875
|
+
column: column
|
|
4876
|
+
});
|
|
4877
|
+
throw new Error("Table: Invalid column.aggregateType option for column listed above" );
|
|
4878
|
+
} else {
|
|
4879
|
+
values[column.id] = null;
|
|
4880
|
+
}
|
|
4881
|
+
});
|
|
4882
|
+
return values;
|
|
4883
|
+
};
|
|
4884
|
+
|
|
4885
|
+
var groupedFlatRows = [];
|
|
4886
|
+
var groupedRowsById = {}; // const onlyGroupedFlatRows: Row[] = [];
|
|
4887
|
+
// const onlyGroupedRowsById: Record<RowId, Row> = {};
|
|
4888
|
+
// const nonGroupedFlatRows: Row[] = [];
|
|
4889
|
+
// const nonGroupedRowsById: Record<RowId, Row> = {};
|
|
4890
|
+
// Recursively group the data
|
|
4891
|
+
|
|
4892
|
+
var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
|
|
4893
|
+
if (depth === void 0) {
|
|
4894
|
+
depth = 0;
|
|
4895
|
+
}
|
|
4896
|
+
|
|
4897
|
+
// This is the last level, just return the rows
|
|
4898
|
+
if (depth === existingGrouping.length) {
|
|
4899
|
+
return rows;
|
|
4900
|
+
}
|
|
4901
|
+
|
|
4902
|
+
var columnId = existingGrouping[depth]; // Group the rows together for this level
|
|
4903
|
+
|
|
4904
|
+
var rowGroupsMap = groupBy(rows, columnId); // Peform aggregations for each group
|
|
4905
|
+
|
|
4906
|
+
var aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(function (_ref, index) {
|
|
4907
|
+
var groupingValue = _ref[0],
|
|
4908
|
+
groupedRows = _ref[1];
|
|
4909
|
+
var id = columnId + ":" + groupingValue;
|
|
4910
|
+
id = parentId ? parentId + ">" + id : id; // First, Recurse to group sub rows before aggregation
|
|
4911
|
+
|
|
4912
|
+
var subRows = groupUpRecursively(groupedRows, depth + 1, id); // Flatten the leaf rows of the rows in this group
|
|
4913
|
+
|
|
4914
|
+
var leafRows = depth ? flattenBy(groupedRows, function (row) {
|
|
4915
|
+
return row.subRows;
|
|
4916
|
+
}) : groupedRows;
|
|
4917
|
+
var values = aggregateRowsToValues(leafRows, groupedRows, depth);
|
|
4918
|
+
var row = instance.createRow(id, undefined, index, depth, values);
|
|
4919
|
+
Object.assign(row, {
|
|
4920
|
+
groupingColumnId: columnId,
|
|
4921
|
+
groupingValue: groupingValue,
|
|
4922
|
+
subRows: subRows,
|
|
4923
|
+
leafRows: leafRows
|
|
4924
|
+
});
|
|
4925
|
+
subRows.forEach(function (subRow) {
|
|
4926
|
+
groupedFlatRows.push(subRow);
|
|
4927
|
+
groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) {
|
|
4928
|
+
// onlyGroupedFlatRows.push(subRow);
|
|
4929
|
+
// onlyGroupedRowsById[subRow.id] = subRow;
|
|
4930
|
+
// } else {
|
|
4931
|
+
// nonGroupedFlatRows.push(subRow);
|
|
4932
|
+
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4933
|
+
// }
|
|
4934
|
+
});
|
|
4935
|
+
return row;
|
|
4936
|
+
});
|
|
4937
|
+
return aggregatedGroupedRows;
|
|
4938
|
+
};
|
|
4939
|
+
|
|
4940
|
+
var groupedRows = groupUpRecursively(rowModel.rows, 0, '');
|
|
4941
|
+
groupedRows.forEach(function (subRow) {
|
|
4584
4942
|
groupedFlatRows.push(subRow);
|
|
4585
4943
|
groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) {
|
|
4586
4944
|
// onlyGroupedFlatRows.push(subRow);
|
|
@@ -4590,26 +4948,24 @@
|
|
|
4590
4948
|
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4591
4949
|
// }
|
|
4592
4950
|
});
|
|
4593
|
-
return
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
|
|
4951
|
+
return {
|
|
4952
|
+
rows: groupedRows,
|
|
4953
|
+
flatRows: groupedFlatRows,
|
|
4954
|
+
rowsById: groupedRowsById
|
|
4955
|
+
};
|
|
4956
|
+
}, {
|
|
4957
|
+
key: 'getGroupedRowModel',
|
|
4958
|
+
debug: function debug() {
|
|
4959
|
+
var _instance$options$deb;
|
|
4597
4960
|
|
|
4598
|
-
|
|
4599
|
-
|
|
4600
|
-
|
|
4601
|
-
|
|
4602
|
-
|
|
4603
|
-
|
|
4604
|
-
|
|
4605
|
-
|
|
4606
|
-
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4607
|
-
// }
|
|
4608
|
-
});
|
|
4609
|
-
return {
|
|
4610
|
-
rows: groupedRows,
|
|
4611
|
-
flatRows: groupedFlatRows,
|
|
4612
|
-
rowsById: groupedRowsById
|
|
4961
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4962
|
+
},
|
|
4963
|
+
onChange: function onChange() {
|
|
4964
|
+
instance.queue(function () {
|
|
4965
|
+
instance._notifyExpandedReset();
|
|
4966
|
+
});
|
|
4967
|
+
}
|
|
4968
|
+
});
|
|
4613
4969
|
};
|
|
4614
4970
|
}
|
|
4615
4971
|
|
|
@@ -4629,7 +4985,28 @@
|
|
|
4629
4985
|
}, groupMap);
|
|
4630
4986
|
}
|
|
4631
4987
|
|
|
4632
|
-
function
|
|
4988
|
+
function getExpandedRowModel() {
|
|
4989
|
+
return function (instance) {
|
|
4990
|
+
return memo(function () {
|
|
4991
|
+
return [instance.getState().expanded, instance.getGroupedRowModel(), instance.options.paginateExpandedRows];
|
|
4992
|
+
}, function (expanded, rowModel, paginateExpandedRows) {
|
|
4993
|
+
if (!rowModel.rows.length || // Do not expand if rows are not included in pagination
|
|
4994
|
+
!paginateExpandedRows || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
|
|
4995
|
+
return rowModel;
|
|
4996
|
+
}
|
|
4997
|
+
|
|
4998
|
+
return expandRows(rowModel, instance);
|
|
4999
|
+
}, {
|
|
5000
|
+
key: 'getExpandedRowModel',
|
|
5001
|
+
debug: function debug() {
|
|
5002
|
+
var _instance$options$deb;
|
|
5003
|
+
|
|
5004
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
5005
|
+
}
|
|
5006
|
+
});
|
|
5007
|
+
};
|
|
5008
|
+
}
|
|
5009
|
+
function expandRows(rowModel, instance) {
|
|
4633
5010
|
var expandedRows = [];
|
|
4634
5011
|
|
|
4635
5012
|
var handleRow = function handleRow(row) {
|
|
@@ -4642,37 +5019,53 @@
|
|
|
4642
5019
|
}
|
|
4643
5020
|
};
|
|
4644
5021
|
|
|
4645
|
-
|
|
5022
|
+
rowModel.rows.forEach(handleRow);
|
|
4646
5023
|
return {
|
|
4647
5024
|
rows: expandedRows,
|
|
4648
|
-
flatRows:
|
|
4649
|
-
rowsById:
|
|
5025
|
+
flatRows: rowModel.flatRows,
|
|
5026
|
+
rowsById: rowModel.rowsById
|
|
4650
5027
|
};
|
|
4651
5028
|
}
|
|
4652
5029
|
|
|
4653
|
-
function
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
|
|
4657
|
-
|
|
4658
|
-
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
var pageEnd = pageStart + pageSize;
|
|
4662
|
-
rows = rows.slice(pageStart, pageEnd);
|
|
4663
|
-
|
|
4664
|
-
if (!instance.options.paginateExpandedRows) {
|
|
4665
|
-
return expandRowsFn(instance, {
|
|
4666
|
-
rows: rows,
|
|
4667
|
-
flatRows: flatRows,
|
|
4668
|
-
rowsById: rowsById
|
|
4669
|
-
});
|
|
4670
|
-
}
|
|
5030
|
+
function getPaginationRowModel(opts) {
|
|
5031
|
+
return function (instance) {
|
|
5032
|
+
return memo(function () {
|
|
5033
|
+
return [instance.getState().pagination, instance.getExpandedRowModel()];
|
|
5034
|
+
}, function (pagination, rowModel) {
|
|
5035
|
+
if (!rowModel.rows.length) {
|
|
5036
|
+
return rowModel;
|
|
5037
|
+
}
|
|
4671
5038
|
|
|
4672
|
-
|
|
4673
|
-
|
|
4674
|
-
|
|
4675
|
-
|
|
5039
|
+
var pageSize = pagination.pageSize,
|
|
5040
|
+
pageIndex = pagination.pageIndex;
|
|
5041
|
+
var rows = rowModel.rows,
|
|
5042
|
+
flatRows = rowModel.flatRows,
|
|
5043
|
+
rowsById = rowModel.rowsById;
|
|
5044
|
+
var pageStart = pageSize * pageIndex;
|
|
5045
|
+
var pageEnd = pageStart + pageSize;
|
|
5046
|
+
rows = rows.slice(pageStart, pageEnd);
|
|
5047
|
+
|
|
5048
|
+
if (!instance.options.paginateExpandedRows) {
|
|
5049
|
+
return expandRows({
|
|
5050
|
+
rows: rows,
|
|
5051
|
+
flatRows: flatRows,
|
|
5052
|
+
rowsById: rowsById
|
|
5053
|
+
}, instance);
|
|
5054
|
+
}
|
|
5055
|
+
|
|
5056
|
+
return {
|
|
5057
|
+
rows: rows,
|
|
5058
|
+
flatRows: flatRows,
|
|
5059
|
+
rowsById: rowsById
|
|
5060
|
+
};
|
|
5061
|
+
}, {
|
|
5062
|
+
key: 'getPaginationRowModel',
|
|
5063
|
+
debug: function debug() {
|
|
5064
|
+
var _instance$options$deb;
|
|
5065
|
+
|
|
5066
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
5067
|
+
}
|
|
5068
|
+
});
|
|
4676
5069
|
};
|
|
4677
5070
|
}
|
|
4678
5071
|
|
|
@@ -4688,26 +5081,31 @@
|
|
|
4688
5081
|
exports.Sorting = Sorting;
|
|
4689
5082
|
exports.Visibility = Visibility;
|
|
4690
5083
|
exports.buildHeaderGroups = buildHeaderGroups;
|
|
4691
|
-
exports.columnFilterRowsFn = columnFilterRowsFn;
|
|
4692
5084
|
exports.createTableInstance = createTableInstance;
|
|
4693
5085
|
exports.defaultColumnSizing = defaultColumnSizing;
|
|
4694
|
-
exports.
|
|
5086
|
+
exports.expandRows = expandRows;
|
|
4695
5087
|
exports.flattenBy = flattenBy;
|
|
4696
5088
|
exports.functionalUpdate = functionalUpdate;
|
|
4697
|
-
exports.
|
|
4698
|
-
exports.
|
|
5089
|
+
exports.getBatchGroups = getBatchGroups;
|
|
5090
|
+
exports.getColumnFilteredRowModelSync = getColumnFilteredRowModelSync;
|
|
5091
|
+
exports.getCoreRowModelAsync = getCoreRowModelAsync;
|
|
5092
|
+
exports.getCoreRowModelSync = getCoreRowModelSync;
|
|
5093
|
+
exports.getExpandedRowModel = getExpandedRowModel;
|
|
5094
|
+
exports.getGlobalFilteredRowModelSync = getGlobalFilteredRowModelSync;
|
|
5095
|
+
exports.getGroupedRowModelSync = getGroupedRowModelSync;
|
|
5096
|
+
exports.getPaginationRowModel = getPaginationRowModel;
|
|
5097
|
+
exports.getSortedRowModelSync = getSortedRowModelSync;
|
|
5098
|
+
exports.incrementalMemo = incrementalMemo;
|
|
4699
5099
|
exports.init = init;
|
|
4700
5100
|
exports.isFunction = isFunction;
|
|
4701
5101
|
exports.isRowSelected = isRowSelected;
|
|
4702
5102
|
exports.makeStateUpdater = makeStateUpdater;
|
|
4703
5103
|
exports.memo = memo;
|
|
4704
5104
|
exports.noop = noop;
|
|
4705
|
-
exports.paginateRowsFn = paginateRowsFn;
|
|
4706
5105
|
exports.passiveEventSupported = passiveEventSupported;
|
|
4707
5106
|
exports.propGetter = propGetter;
|
|
4708
5107
|
exports.selectRowsFn = selectRowsFn;
|
|
4709
5108
|
exports.shouldAutoRemoveFilter = shouldAutoRemoveFilter;
|
|
4710
|
-
exports.sortRowsFn = sortRowsFn;
|
|
4711
5109
|
|
|
4712
5110
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4713
5111
|
|