@tanstack/table-core 8.0.0-alpha.27 → 8.0.0-alpha.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/aggregationTypes.js +1 -0
- package/build/cjs/aggregationTypes.js.map +1 -1
- package/build/cjs/core.js +29 -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.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 +113 -0
- package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +1 -0
- package/build/cjs/utils/getCoreRowModelAsync.js +125 -0
- package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -0
- package/build/cjs/utils/getCoreRowModelSync.js +102 -0
- package/build/cjs/utils/getCoreRowModelSync.js.map +1 -0
- package/build/cjs/utils/getExpandedRowModel.js +61 -0
- package/build/cjs/utils/getExpandedRowModel.js.map +1 -0
- package/build/cjs/utils/getGlobalFilteredRowModelSync.js +89 -0
- package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +1 -0
- package/build/cjs/utils/getGroupedRowModel.js +174 -0
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -0
- package/build/cjs/utils/getPaginationRowModel.js +61 -0
- package/build/cjs/utils/getPaginationRowModel.js.map +1 -0
- package/build/cjs/utils/getSortedRowModelSync.js +116 -0
- package/build/cjs/utils/getSortedRowModelSync.js.map +1 -0
- package/build/cjs/utils.js +159 -21
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +857 -505
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +406 -312
- package/build/types/aggregationTypes.d.ts +1 -1
- package/build/types/core.d.ts +9 -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 +872 -513
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/aggregationTypes.ts +1 -1
- package/src/core.tsx +46 -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/Sorting.ts +20 -24
- package/src/index.tsx +8 -6
- package/src/types.ts +4 -1
- package/src/utils/getColumnFilteredRowModelAsync.ts +117 -0
- package/src/utils/getColumnFilteredRowModelSync.ts +97 -0
- package/src/utils/getCoreRowModelAsync.ts +103 -0
- package/src/utils/getCoreRowModelSync.ts +105 -0
- package/src/utils/getExpandedRowModel.ts +58 -0
- package/src/utils/getGlobalFilteredRowModelAsync.ts +95 -0
- package/src/utils/getGlobalFilteredRowModelSync.ts +74 -0
- package/src/utils/getGroupedRowModel.ts +187 -0
- package/src/utils/getPaginationRowModel.ts +45 -0
- package/src/utils/getSortedRowModelAsync.ts +199 -0
- package/src/utils/getSortedRowModelSync.ts +116 -0
- package/src/utils.tsx +193 -22
- 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
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
* @license MIT
|
|
10
10
|
*/
|
|
11
11
|
(function (global, factory) {
|
|
12
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports
|
|
13
|
-
typeof define === 'function' && define.amd ? define(['exports'
|
|
14
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.TableCore = {}
|
|
15
|
-
})(this, (function (exports
|
|
12
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
13
|
+
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
14
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.TableCore = {}));
|
|
15
|
+
})(this, (function (exports) { 'use strict';
|
|
16
16
|
|
|
17
17
|
function _extends() {
|
|
18
18
|
_extends = Object.assign || function (target) {
|
|
@@ -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
|
|
|
@@ -2661,6 +2728,8 @@
|
|
|
2661
2728
|
var registered = false;
|
|
2662
2729
|
return {
|
|
2663
2730
|
_notifySortingReset: function _notifySortingReset() {
|
|
2731
|
+
instance._notifyGroupingReset();
|
|
2732
|
+
|
|
2664
2733
|
if (!registered) {
|
|
2665
2734
|
registered = true;
|
|
2666
2735
|
return;
|
|
@@ -2882,7 +2951,7 @@
|
|
|
2882
2951
|
var initialProps = {
|
|
2883
2952
|
title: canSort ? 'Toggle Sorting' : undefined,
|
|
2884
2953
|
onClick: canSort ? function (e) {
|
|
2885
|
-
e.persist();
|
|
2954
|
+
e.persist == null ? void 0 : e.persist();
|
|
2886
2955
|
column.toggleSorting == null ? void 0 : column.toggleSorting(undefined, column.getCanMultiSort() ? instance.options.isMultiSortEvent == null ? void 0 : instance.options.isMultiSortEvent(e) : false);
|
|
2887
2956
|
} : undefined
|
|
2888
2957
|
};
|
|
@@ -2891,25 +2960,17 @@
|
|
|
2891
2960
|
getPreSortedRowModel: function getPreSortedRowModel() {
|
|
2892
2961
|
return instance.getGlobalFilteredRowModel();
|
|
2893
2962
|
},
|
|
2894
|
-
getSortedRowModel:
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
if (!sortingFn || !(sorting != null && sorting.length)) {
|
|
2898
|
-
return rowModel;
|
|
2963
|
+
getSortedRowModel: function getSortedRowModel() {
|
|
2964
|
+
if (!instance._getSortedRowModel && instance.options.getSortedRowModel) {
|
|
2965
|
+
instance._getSortedRowModel = instance.options.getSortedRowModel(instance);
|
|
2899
2966
|
}
|
|
2900
2967
|
|
|
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();
|
|
2968
|
+
if (!instance._getSortedRowModel) {
|
|
2969
|
+
return instance.getPreSortedRowModel();
|
|
2911
2970
|
}
|
|
2912
|
-
|
|
2971
|
+
|
|
2972
|
+
return instance._getSortedRowModel();
|
|
2973
|
+
}
|
|
2913
2974
|
};
|
|
2914
2975
|
}
|
|
2915
2976
|
};
|
|
@@ -3695,8 +3756,11 @@
|
|
|
3695
3756
|
};
|
|
3696
3757
|
|
|
3697
3758
|
instance.options = buildOptions(options);
|
|
3759
|
+
var coreInitialState = {
|
|
3760
|
+
coreProgress: 1
|
|
3761
|
+
};
|
|
3698
3762
|
|
|
3699
|
-
var initialState = _extends({}, features.reduce(function (obj, feature) {
|
|
3763
|
+
var initialState = _extends({}, coreInitialState, features.reduce(function (obj, feature) {
|
|
3700
3764
|
return Object.assign(obj, feature.getInitialState == null ? void 0 : feature.getInitialState());
|
|
3701
3765
|
}, {}), (_options$initialState = options.initialState) != null ? _options$initialState : {});
|
|
3702
3766
|
|
|
@@ -3708,7 +3772,13 @@
|
|
|
3708
3772
|
instance.setState(instance.initialState);
|
|
3709
3773
|
},
|
|
3710
3774
|
setOptions: function setOptions(updater) {
|
|
3711
|
-
|
|
3775
|
+
var newOptions = functionalUpdate(updater, instance.options);
|
|
3776
|
+
|
|
3777
|
+
if (instance.options.mergeOptions) {
|
|
3778
|
+
instance.options = instance.options.mergeOptions(defaultOptions, newOptions);
|
|
3779
|
+
} else {
|
|
3780
|
+
instance.options = buildOptions(newOptions);
|
|
3781
|
+
}
|
|
3712
3782
|
},
|
|
3713
3783
|
render: function render(template, props) {
|
|
3714
3784
|
if (typeof instance.options.render === 'function') {
|
|
@@ -4002,85 +4072,13 @@
|
|
|
4002
4072
|
|
|
4003
4073
|
return row;
|
|
4004
4074
|
},
|
|
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);
|
|
4075
|
+
getCoreRowModel: function getCoreRowModel() {
|
|
4076
|
+
if (!instance._getCoreRowModel) {
|
|
4077
|
+
instance._getCoreRowModel = instance.options.getCoreRowModel(instance);
|
|
4064
4078
|
}
|
|
4065
4079
|
|
|
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
|
-
}),
|
|
4080
|
+
return instance._getCoreRowModel();
|
|
4081
|
+
},
|
|
4084
4082
|
// The final calls start at the bottom of the model,
|
|
4085
4083
|
// expanded rows, which then work their way up
|
|
4086
4084
|
getRowModel: function getRowModel() {
|
|
@@ -4177,6 +4175,18 @@
|
|
|
4177
4175
|
return (_instance$getRightHea = (_instance$getRightHea2 = instance.getRightHeaderGroups()[0]) == null ? void 0 : _instance$getRightHea2.headers.reduce(function (sum, header) {
|
|
4178
4176
|
return sum + header.getWidth();
|
|
4179
4177
|
}, 0)) != null ? _instance$getRightHea : 0;
|
|
4178
|
+
},
|
|
4179
|
+
getOverallProgress: function getOverallProgress() {
|
|
4180
|
+
var _instance$getState = instance.getState(),
|
|
4181
|
+
coreProgress = _instance$getState.coreProgress,
|
|
4182
|
+
columnFiltersProgress = _instance$getState.columnFiltersProgress,
|
|
4183
|
+
globalFilterProgress = _instance$getState.globalFilterProgress;
|
|
4184
|
+
|
|
4185
|
+
return mean(function () {
|
|
4186
|
+
return [coreProgress, columnFiltersProgress, globalFilterProgress].filter(function (d) {
|
|
4187
|
+
return d < 1;
|
|
4188
|
+
});
|
|
4189
|
+
});
|
|
4180
4190
|
}
|
|
4181
4191
|
});
|
|
4182
4192
|
|
|
@@ -4245,23 +4255,213 @@
|
|
|
4245
4255
|
};
|
|
4246
4256
|
}
|
|
4247
4257
|
|
|
4248
|
-
function
|
|
4249
|
-
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
+
function getCoreRowModelSync() {
|
|
4259
|
+
return function (instance) {
|
|
4260
|
+
return memo(function () {
|
|
4261
|
+
return [instance.options.data];
|
|
4262
|
+
}, function (data) {
|
|
4263
|
+
// Access the row model using initial columns
|
|
4264
|
+
var rows = [];
|
|
4265
|
+
var flatRows = [];
|
|
4266
|
+
var rowsById = {};
|
|
4267
|
+
var leafColumns = instance.getAllLeafColumns();
|
|
4258
4268
|
|
|
4259
|
-
|
|
4260
|
-
|
|
4269
|
+
var accessRow = function accessRow(originalRow, rowIndex, depth, parentRows, parent) {
|
|
4270
|
+
if (depth === void 0) {
|
|
4271
|
+
depth = 0;
|
|
4272
|
+
}
|
|
4261
4273
|
|
|
4262
|
-
|
|
4274
|
+
var id = instance.getRowId(originalRow, rowIndex, parent);
|
|
4263
4275
|
|
|
4264
|
-
|
|
4276
|
+
if (!id) {
|
|
4277
|
+
{
|
|
4278
|
+
throw new Error("getRowId expected an ID, but got " + id);
|
|
4279
|
+
}
|
|
4280
|
+
}
|
|
4281
|
+
|
|
4282
|
+
var values = {};
|
|
4283
|
+
|
|
4284
|
+
for (var i = 0; i < leafColumns.length; i++) {
|
|
4285
|
+
var column = leafColumns[i];
|
|
4286
|
+
|
|
4287
|
+
if (column && column.accessorFn) {
|
|
4288
|
+
values[column.id] = column.accessorFn(originalRow, rowIndex);
|
|
4289
|
+
}
|
|
4290
|
+
} // Make the row
|
|
4291
|
+
|
|
4292
|
+
|
|
4293
|
+
var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
|
|
4294
|
+
|
|
4295
|
+
parentRows.push(row); // Keep track of every row in a flat array
|
|
4296
|
+
|
|
4297
|
+
flatRows.push(row); // Also keep track of every row by its ID
|
|
4298
|
+
|
|
4299
|
+
rowsById[id] = row; // Get the original subrows
|
|
4300
|
+
|
|
4301
|
+
if (instance.options.getSubRows) {
|
|
4302
|
+
var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
4303
|
+
|
|
4304
|
+
if (originalSubRows != null && originalSubRows.length) {
|
|
4305
|
+
row.originalSubRows = originalSubRows;
|
|
4306
|
+
var subRows = [];
|
|
4307
|
+
|
|
4308
|
+
for (var _i = 0; _i < row.originalSubRows.length; _i++) {
|
|
4309
|
+
accessRow(row.originalSubRows[_i], _i, depth + 1, subRows, row);
|
|
4310
|
+
}
|
|
4311
|
+
|
|
4312
|
+
row.subRows = subRows;
|
|
4313
|
+
}
|
|
4314
|
+
}
|
|
4315
|
+
};
|
|
4316
|
+
|
|
4317
|
+
for (var i = 0; i < data.length; i++) {
|
|
4318
|
+
accessRow(data[i], i, 0, rows);
|
|
4319
|
+
}
|
|
4320
|
+
|
|
4321
|
+
return {
|
|
4322
|
+
rows: rows,
|
|
4323
|
+
flatRows: flatRows,
|
|
4324
|
+
rowsById: rowsById
|
|
4325
|
+
};
|
|
4326
|
+
}, {
|
|
4327
|
+
key: 'getRowModel',
|
|
4328
|
+
debug: function debug() {
|
|
4329
|
+
var _instance$options$deb;
|
|
4330
|
+
|
|
4331
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4332
|
+
},
|
|
4333
|
+
onChange: function onChange() {
|
|
4334
|
+
instance._notifyFiltersReset();
|
|
4335
|
+
|
|
4336
|
+
instance._notifyRowSelectionReset();
|
|
4337
|
+
}
|
|
4338
|
+
});
|
|
4339
|
+
};
|
|
4340
|
+
}
|
|
4341
|
+
|
|
4342
|
+
function getCoreRowModelAsync(opts) {
|
|
4343
|
+
return function (instance) {
|
|
4344
|
+
return incrementalMemo(function () {
|
|
4345
|
+
return [instance.options.data, instance.getAllLeafColumns()];
|
|
4346
|
+
}, function () {
|
|
4347
|
+
var rows = [];
|
|
4348
|
+
var flatRows = [];
|
|
4349
|
+
var rowsById = {};
|
|
4350
|
+
return {
|
|
4351
|
+
rows: rows,
|
|
4352
|
+
flatRows: flatRows,
|
|
4353
|
+
rowsById: rowsById
|
|
4354
|
+
};
|
|
4355
|
+
}, function (data, leafColumns) {
|
|
4356
|
+
return function (rowModelRef) {
|
|
4357
|
+
return function (scheduleTask) {
|
|
4358
|
+
var accessRows = function accessRows(originalRows, depth, parent) {
|
|
4359
|
+
if (depth === void 0) {
|
|
4360
|
+
depth = 0;
|
|
4361
|
+
}
|
|
4362
|
+
|
|
4363
|
+
var batchGroups = getBatchGroups(originalRows, 2000);
|
|
4364
|
+
|
|
4365
|
+
var _loop = function _loop(i) {
|
|
4366
|
+
var batchGroup = batchGroups[i];
|
|
4367
|
+
scheduleTask(function () {
|
|
4368
|
+
for (var _i = 0; _i < batchGroup.items.length; _i++) {
|
|
4369
|
+
var originalRow = batchGroup.items[_i];
|
|
4370
|
+
var rowIndex = batchGroup.start + _i;
|
|
4371
|
+
var id = instance.getRowId(originalRow, rowIndex, parent);
|
|
4372
|
+
|
|
4373
|
+
if (!id) {
|
|
4374
|
+
{
|
|
4375
|
+
throw new Error("getRowId expected an ID, but got " + id);
|
|
4376
|
+
}
|
|
4377
|
+
}
|
|
4378
|
+
|
|
4379
|
+
var values = {};
|
|
4380
|
+
|
|
4381
|
+
for (var _i2 = 0; _i2 < leafColumns.length; _i2++) {
|
|
4382
|
+
var column = leafColumns[_i2];
|
|
4383
|
+
|
|
4384
|
+
if (column && column.accessorFn) {
|
|
4385
|
+
values[column.id] = column.accessorFn(originalRow, rowIndex);
|
|
4386
|
+
}
|
|
4387
|
+
} // Make the row
|
|
4388
|
+
|
|
4389
|
+
|
|
4390
|
+
var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
|
|
4391
|
+
|
|
4392
|
+
if (parent) {
|
|
4393
|
+
parent.subRows.push(row);
|
|
4394
|
+
} else {
|
|
4395
|
+
rowModelRef.current.rows.push(row);
|
|
4396
|
+
} // Keep track of every row in a flat array
|
|
4397
|
+
|
|
4398
|
+
|
|
4399
|
+
rowModelRef.current.flatRows.push(row); // Also keep track of every row by its ID
|
|
4400
|
+
|
|
4401
|
+
rowModelRef.current.rowsById[id] = row; // Get the original subrows
|
|
4402
|
+
|
|
4403
|
+
if (instance.options.getSubRows) {
|
|
4404
|
+
var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
4405
|
+
|
|
4406
|
+
if (originalSubRows != null && originalSubRows.length) {
|
|
4407
|
+
row.originalSubRows = originalSubRows;
|
|
4408
|
+
row.subRows = [];
|
|
4409
|
+
accessRows(row.originalSubRows, depth + 1, row);
|
|
4410
|
+
}
|
|
4411
|
+
}
|
|
4412
|
+
}
|
|
4413
|
+
});
|
|
4414
|
+
};
|
|
4415
|
+
|
|
4416
|
+
for (var i = 0; i < batchGroups.length; i++) {
|
|
4417
|
+
_loop(i);
|
|
4418
|
+
}
|
|
4419
|
+
};
|
|
4420
|
+
|
|
4421
|
+
accessRows(data);
|
|
4422
|
+
};
|
|
4423
|
+
};
|
|
4424
|
+
}, {
|
|
4425
|
+
key: 'getRowModel',
|
|
4426
|
+
initialSync: opts == null ? void 0 : opts.initialSync,
|
|
4427
|
+
onProgress: function onProgress(progress) {
|
|
4428
|
+
instance.setState(function (old) {
|
|
4429
|
+
return _extends({}, old, {
|
|
4430
|
+
coreProgress: progress
|
|
4431
|
+
});
|
|
4432
|
+
});
|
|
4433
|
+
},
|
|
4434
|
+
debug: function debug() {
|
|
4435
|
+
var _instance$options$deb;
|
|
4436
|
+
|
|
4437
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4438
|
+
},
|
|
4439
|
+
onChange: function onChange() {
|
|
4440
|
+
instance._notifyFiltersReset();
|
|
4441
|
+
|
|
4442
|
+
instance._notifyRowSelectionReset();
|
|
4443
|
+
}
|
|
4444
|
+
});
|
|
4445
|
+
};
|
|
4446
|
+
}
|
|
4447
|
+
|
|
4448
|
+
function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
|
|
4449
|
+
var newFilteredFlatRows = [];
|
|
4450
|
+
var newFilteredRowsById = {};
|
|
4451
|
+
|
|
4452
|
+
var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
|
|
4453
|
+
if (depth === void 0) {
|
|
4454
|
+
depth = 0;
|
|
4455
|
+
}
|
|
4456
|
+
|
|
4457
|
+
rowsToFilter = rowsToFilter.slice(); // Filter from children up first
|
|
4458
|
+
|
|
4459
|
+
for (var i = 0; i < rowsToFilter.length; i++) {
|
|
4460
|
+
var _row$subRows;
|
|
4461
|
+
|
|
4462
|
+
var row = rowsToFilter[i];
|
|
4463
|
+
|
|
4464
|
+
if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
|
|
4265
4465
|
continue;
|
|
4266
4466
|
}
|
|
4267
4467
|
|
|
@@ -4328,259 +4528,380 @@
|
|
|
4328
4528
|
};
|
|
4329
4529
|
}
|
|
4330
4530
|
|
|
4331
|
-
function
|
|
4332
|
-
|
|
4333
|
-
|
|
4334
|
-
|
|
4335
|
-
|
|
4336
|
-
|
|
4337
|
-
|
|
4338
|
-
|
|
4339
|
-
|
|
4531
|
+
function getColumnFilteredRowModelSync() {
|
|
4532
|
+
return function (instance) {
|
|
4533
|
+
return memo(function () {
|
|
4534
|
+
return [instance.getState().columnFilters, instance.getCoreRowModel()];
|
|
4535
|
+
}, function (columnFilters, rowModel) {
|
|
4536
|
+
var columnFilteredRowModel = function () {
|
|
4537
|
+
if (!rowModel.rows.length || !columnFilters) {
|
|
4538
|
+
return rowModel;
|
|
4539
|
+
}
|
|
4340
4540
|
|
|
4341
|
-
|
|
4541
|
+
var filterFromLeafRows = instance.options.filterFromLeafRows;
|
|
4342
4542
|
|
|
4343
|
-
|
|
4344
|
-
|
|
4345
|
-
|
|
4346
|
-
|
|
4543
|
+
var filterRows = function filterRows(rowsToFilter, depth) {
|
|
4544
|
+
for (var i = 0; i < columnFilters.length; i++) {
|
|
4545
|
+
var _columnFilters$i = columnFilters[i],
|
|
4546
|
+
columnId = _columnFilters$i.id,
|
|
4547
|
+
filterValue = _columnFilters$i.value; // Find the columnFilters column
|
|
4347
4548
|
|
|
4348
|
-
|
|
4349
|
-
}
|
|
4549
|
+
var column = instance.getColumn(columnId);
|
|
4350
4550
|
|
|
4351
|
-
|
|
4352
|
-
|
|
4353
|
-
|
|
4551
|
+
if (!column) {
|
|
4552
|
+
{
|
|
4553
|
+
console.warn("Table: Could not find a column with id: " + columnId);
|
|
4554
|
+
}
|
|
4354
4555
|
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
};
|
|
4358
|
-
})();
|
|
4359
|
-
}
|
|
4556
|
+
throw new Error();
|
|
4557
|
+
}
|
|
4360
4558
|
|
|
4361
|
-
|
|
4559
|
+
if (depth === 0) {
|
|
4560
|
+
(function () {
|
|
4561
|
+
var preFilteredRows = [].concat(rowsToFilter);
|
|
4362
4562
|
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4563
|
+
column.getPreFilteredRows = function () {
|
|
4564
|
+
return preFilteredRows;
|
|
4565
|
+
};
|
|
4566
|
+
})();
|
|
4567
|
+
}
|
|
4367
4568
|
|
|
4368
|
-
|
|
4369
|
-
} // Pass the rows, id, filterValue and column to the filterFn
|
|
4370
|
-
// to get the filtered rows back
|
|
4569
|
+
var filterFn = instance.getColumnFilterFn(column.id);
|
|
4371
4570
|
|
|
4571
|
+
if (!filterFn) {
|
|
4572
|
+
{
|
|
4573
|
+
console.warn("Could not find a valid 'column.filterType' for column with the ID: " + column.id + ".");
|
|
4574
|
+
}
|
|
4372
4575
|
|
|
4373
|
-
|
|
4374
|
-
|
|
4576
|
+
continue;
|
|
4577
|
+
} // Pass the rows, id, filterValue and column to the filterFn
|
|
4578
|
+
// to get the filtered rows back
|
|
4375
4579
|
|
|
4376
|
-
return rowsToFilter;
|
|
4377
|
-
};
|
|
4378
4580
|
|
|
4379
|
-
|
|
4380
|
-
|
|
4381
|
-
}
|
|
4581
|
+
rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
|
|
4582
|
+
}
|
|
4382
4583
|
|
|
4383
|
-
|
|
4384
|
-
|
|
4584
|
+
return rowsToFilter;
|
|
4585
|
+
};
|
|
4385
4586
|
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
var filterFn = instance.getGlobalFilterFn();
|
|
4587
|
+
if (filterFromLeafRows) {
|
|
4588
|
+
return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
|
|
4589
|
+
}
|
|
4390
4590
|
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
}
|
|
4591
|
+
return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
|
|
4592
|
+
}(); // Now that each filtered column has it's partially filtered rows,
|
|
4593
|
+
// lets assign the final filtered rows to all of the other columns
|
|
4395
4594
|
|
|
4396
|
-
return rowModel;
|
|
4397
|
-
}
|
|
4398
4595
|
|
|
4399
|
-
|
|
4400
|
-
|
|
4401
|
-
});
|
|
4402
|
-
var filterableColumnIds = filterableColumns.map(function (d) {
|
|
4403
|
-
return d.id;
|
|
4404
|
-
});
|
|
4596
|
+
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4597
|
+
var _instance$getState$co;
|
|
4405
4598
|
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4599
|
+
return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
|
|
4600
|
+
return d.id === column.id;
|
|
4601
|
+
}));
|
|
4602
|
+
}); // This essentially enables faceted filter options to be built easily
|
|
4603
|
+
// using every column's preFilteredRows value
|
|
4409
4604
|
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4605
|
+
nonFilteredColumns.forEach(function (column) {
|
|
4606
|
+
column.getPreFilteredRows = function () {
|
|
4607
|
+
return columnFilteredRowModel.rows;
|
|
4608
|
+
};
|
|
4609
|
+
});
|
|
4610
|
+
return columnFilteredRowModel;
|
|
4611
|
+
}, {
|
|
4612
|
+
key: 'getColumnFilteredRowModelSync',
|
|
4613
|
+
debug: function debug() {
|
|
4614
|
+
var _instance$options$deb;
|
|
4413
4615
|
|
|
4414
|
-
|
|
4616
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4617
|
+
},
|
|
4618
|
+
onChange: function onChange() {
|
|
4619
|
+
instance._notifySortingReset();
|
|
4620
|
+
}
|
|
4621
|
+
});
|
|
4622
|
+
};
|
|
4415
4623
|
}
|
|
4416
4624
|
|
|
4417
|
-
function
|
|
4418
|
-
|
|
4419
|
-
|
|
4625
|
+
function getGlobalFilteredRowModelSync() {
|
|
4626
|
+
return function (instance) {
|
|
4627
|
+
return memo(function () {
|
|
4628
|
+
return [instance.getState().globalFilter, instance.getCoreRowModel()];
|
|
4629
|
+
}, function (globalFilter, rowModel) {
|
|
4630
|
+
var globalFilteredRowModel = function () {
|
|
4631
|
+
if (!rowModel.rows.length || !globalFilter) {
|
|
4632
|
+
return rowModel;
|
|
4633
|
+
}
|
|
4420
4634
|
|
|
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
|
-
});
|
|
4635
|
+
var filterFromLeafRows = instance.options.filterFromLeafRows;
|
|
4636
|
+
var filterFn = instance.getGlobalFilterFn();
|
|
4433
4637
|
|
|
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;
|
|
4638
|
+
if (!filterFn) {
|
|
4639
|
+
{
|
|
4640
|
+
console.warn("Could not find a valid 'globalFilterType'");
|
|
4454
4641
|
}
|
|
4455
|
-
} // This function should always return in ascending order
|
|
4456
|
-
|
|
4457
4642
|
|
|
4458
|
-
|
|
4643
|
+
return rowModel;
|
|
4644
|
+
}
|
|
4459
4645
|
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4646
|
+
var filterableColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4647
|
+
return column.getCanGlobalFilter();
|
|
4648
|
+
});
|
|
4649
|
+
var filterableColumnIds = filterableColumns.map(function (d) {
|
|
4650
|
+
return d.id;
|
|
4651
|
+
});
|
|
4464
4652
|
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4653
|
+
var filterRows = function filterRows(rows) {
|
|
4654
|
+
return filterFn(rows, filterableColumnIds, globalFilter);
|
|
4655
|
+
};
|
|
4468
4656
|
|
|
4469
|
-
|
|
4657
|
+
if (filterFromLeafRows) {
|
|
4658
|
+
filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
|
|
4470
4659
|
}
|
|
4471
|
-
}
|
|
4472
4660
|
|
|
4473
|
-
|
|
4474
|
-
|
|
4661
|
+
return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
|
|
4662
|
+
}(); // Now that each filtered column has it's partially filtered rows,
|
|
4663
|
+
// lets assign the final filtered rows to all of the other columns
|
|
4475
4664
|
|
|
4476
|
-
sortedData.forEach(function (row) {
|
|
4477
|
-
sortedFlatRows.push(row);
|
|
4478
4665
|
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
}
|
|
4666
|
+
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4667
|
+
var _instance$getState$co;
|
|
4482
4668
|
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4669
|
+
return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
|
|
4670
|
+
return d.id === column.id;
|
|
4671
|
+
}));
|
|
4672
|
+
}); // This essentially enables faceted filter options to be built easily
|
|
4673
|
+
// using every column's preFilteredRows value
|
|
4487
4674
|
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4675
|
+
nonFilteredColumns.forEach(function (column) {
|
|
4676
|
+
column.getPreFilteredRows = function () {
|
|
4677
|
+
return globalFilteredRowModel.rows;
|
|
4678
|
+
};
|
|
4679
|
+
});
|
|
4680
|
+
return globalFilteredRowModel;
|
|
4681
|
+
}, {
|
|
4682
|
+
key: 'getGlobalFilteredRowModelSync',
|
|
4683
|
+
debug: function debug() {
|
|
4684
|
+
var _instance$options$deb;
|
|
4685
|
+
|
|
4686
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4687
|
+
},
|
|
4688
|
+
onChange: function onChange() {
|
|
4689
|
+
instance._notifySortingReset();
|
|
4690
|
+
}
|
|
4691
|
+
});
|
|
4492
4692
|
};
|
|
4493
4693
|
}
|
|
4494
4694
|
|
|
4495
|
-
function
|
|
4496
|
-
|
|
4695
|
+
function getSortedRowModelSync() {
|
|
4696
|
+
return function (instance) {
|
|
4697
|
+
return memo(function () {
|
|
4698
|
+
return [instance.getState().sorting, instance.getGlobalFilteredRowModel()];
|
|
4699
|
+
}, function (sorting, rowModel) {
|
|
4700
|
+
if (!rowModel.rows.length || !(sorting != null && sorting.length)) {
|
|
4701
|
+
return rowModel;
|
|
4702
|
+
}
|
|
4497
4703
|
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
}); // Find the columns that can or are aggregating
|
|
4501
|
-
// Uses each column to aggregate rows into a single value
|
|
4704
|
+
var sortingState = instance.getState().sorting;
|
|
4705
|
+
var sortedFlatRows = []; // Filter out sortings that correspond to non existing columns
|
|
4502
4706
|
|
|
4503
|
-
|
|
4504
|
-
|
|
4505
|
-
|
|
4506
|
-
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4707
|
+
var availableSorting = sortingState.filter(function (sort) {
|
|
4708
|
+
return instance.getColumnCanSort(sort.id);
|
|
4709
|
+
});
|
|
4710
|
+
var columnInfoById = {};
|
|
4711
|
+
availableSorting.forEach(function (sortEntry) {
|
|
4712
|
+
var column = instance.getColumn(sortEntry.id);
|
|
4713
|
+
columnInfoById[sortEntry.id] = {
|
|
4714
|
+
sortUndefined: column.sortUndefined,
|
|
4715
|
+
invertSorting: column.invertSorting,
|
|
4716
|
+
sortingFn: instance.getColumnSortingFn(sortEntry.id)
|
|
4717
|
+
};
|
|
4718
|
+
});
|
|
4511
4719
|
|
|
4720
|
+
var sortData = function sortData(rows) {
|
|
4721
|
+
// This will also perform a stable sorting using the row index
|
|
4722
|
+
// if needed.
|
|
4723
|
+
var sortedData = rows.slice();
|
|
4724
|
+
sortedData.sort(function (rowA, rowB) {
|
|
4725
|
+
for (var i = 0; i < availableSorting.length; i += 1) {
|
|
4726
|
+
var _sortEntry$desc;
|
|
4727
|
+
|
|
4728
|
+
var sortEntry = availableSorting[i];
|
|
4729
|
+
var columnInfo = columnInfoById[sortEntry.id];
|
|
4730
|
+
var isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;
|
|
4731
|
+
|
|
4732
|
+
if (columnInfo.sortUndefined) {
|
|
4733
|
+
var aValue = rowA.values[sortEntry.id];
|
|
4734
|
+
var bValue = rowB.values[sortEntry.id];
|
|
4735
|
+
var aUndefined = typeof aValue === 'undefined';
|
|
4736
|
+
var bUndefined = typeof bValue === 'undefined';
|
|
4737
|
+
|
|
4738
|
+
if (aUndefined || bUndefined) {
|
|
4739
|
+
return aUndefined && bUndefined ? 0 : aUndefined ? columnInfo.sortUndefined : -columnInfo.sortUndefined;
|
|
4740
|
+
}
|
|
4741
|
+
} // This function should always return in ascending order
|
|
4512
4742
|
|
|
4513
|
-
var aggregateFn = instance.getColumnAggregationFn(column.id);
|
|
4514
4743
|
|
|
4515
|
-
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4744
|
+
var sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);
|
|
4745
|
+
|
|
4746
|
+
if (sortInt !== 0) {
|
|
4747
|
+
if (isDesc) {
|
|
4748
|
+
sortInt *= -1;
|
|
4749
|
+
}
|
|
4750
|
+
|
|
4751
|
+
if (columnInfo.invertSorting) {
|
|
4752
|
+
sortInt *= -1;
|
|
4753
|
+
}
|
|
4519
4754
|
|
|
4520
|
-
|
|
4521
|
-
columnValue = column.aggregateValue(columnValue);
|
|
4755
|
+
return sortInt;
|
|
4522
4756
|
}
|
|
4757
|
+
}
|
|
4523
4758
|
|
|
4524
|
-
|
|
4525
|
-
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4759
|
+
return rowA.index - rowB.index;
|
|
4760
|
+
}); // If there are sub-rows, sort them
|
|
4761
|
+
|
|
4762
|
+
sortedData.forEach(function (row) {
|
|
4763
|
+
sortedFlatRows.push(row);
|
|
4764
|
+
|
|
4765
|
+
if (!row.subRows || row.subRows.length <= 1) {
|
|
4766
|
+
return;
|
|
4767
|
+
}
|
|
4768
|
+
|
|
4769
|
+
row.subRows = sortData(row.subRows);
|
|
4534
4770
|
});
|
|
4535
|
-
|
|
4536
|
-
}
|
|
4537
|
-
|
|
4771
|
+
return sortedData;
|
|
4772
|
+
};
|
|
4773
|
+
|
|
4774
|
+
return {
|
|
4775
|
+
rows: sortData(rowModel.rows),
|
|
4776
|
+
flatRows: sortedFlatRows,
|
|
4777
|
+
rowsById: rowModel.rowsById
|
|
4778
|
+
};
|
|
4779
|
+
}, {
|
|
4780
|
+
key: 'getSortedRowModel',
|
|
4781
|
+
debug: function debug() {
|
|
4782
|
+
var _instance$options$deb;
|
|
4783
|
+
|
|
4784
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4785
|
+
},
|
|
4786
|
+
onChange: function onChange() {
|
|
4787
|
+
instance._notifyGroupingReset();
|
|
4538
4788
|
}
|
|
4539
4789
|
});
|
|
4540
|
-
return values;
|
|
4541
4790
|
};
|
|
4791
|
+
}
|
|
4542
4792
|
|
|
4543
|
-
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
4793
|
+
function getGroupedRowModelSync() {
|
|
4794
|
+
return function (instance) {
|
|
4795
|
+
return memo(function () {
|
|
4796
|
+
return [instance.getState().grouping, instance.getSortedRowModel()];
|
|
4797
|
+
}, function (grouping, rowModel) {
|
|
4798
|
+
if (!rowModel.rows.length || !grouping.length) {
|
|
4799
|
+
return rowModel;
|
|
4800
|
+
} // Filter the grouping list down to columns that exist
|
|
4549
4801
|
|
|
4550
|
-
var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
|
|
4551
|
-
if (depth === void 0) {
|
|
4552
|
-
depth = 0;
|
|
4553
|
-
}
|
|
4554
4802
|
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4803
|
+
var existingGrouping = grouping.filter(function (columnId) {
|
|
4804
|
+
return instance.getColumn(columnId);
|
|
4805
|
+
}); // Find the columns that can or are aggregating
|
|
4806
|
+
// Uses each column to aggregate rows into a single value
|
|
4559
4807
|
|
|
4560
|
-
|
|
4808
|
+
var aggregateRowsToValues = function aggregateRowsToValues(leafRows, groupedRows, depth) {
|
|
4809
|
+
var values = {};
|
|
4810
|
+
instance.getAllLeafColumns().forEach(function (column) {
|
|
4811
|
+
// Don't aggregate columns that are in the grouping
|
|
4812
|
+
if (existingGrouping.includes(column.id)) {
|
|
4813
|
+
values[column.id] = groupedRows[0] ? groupedRows[0].values[column.id] : null;
|
|
4814
|
+
return;
|
|
4815
|
+
} // Aggregate the values
|
|
4561
4816
|
|
|
4562
|
-
var rowGroupsMap = groupBy(rows, columnId); // Peform aggregations for each group
|
|
4563
4817
|
|
|
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
|
|
4818
|
+
var aggregateFn = instance.getColumnAggregationFn(column.id);
|
|
4569
4819
|
|
|
4570
|
-
|
|
4820
|
+
if (aggregateFn) {
|
|
4821
|
+
values[column.id] = aggregateFn(function () {
|
|
4822
|
+
return leafRows.map(function (row) {
|
|
4823
|
+
var columnValue = row.values[column.id];
|
|
4571
4824
|
|
|
4572
|
-
|
|
4573
|
-
|
|
4574
|
-
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4825
|
+
if (!depth && column.aggregateValue) {
|
|
4826
|
+
columnValue = column.aggregateValue(columnValue);
|
|
4827
|
+
}
|
|
4828
|
+
|
|
4829
|
+
return columnValue;
|
|
4830
|
+
});
|
|
4831
|
+
}, function () {
|
|
4832
|
+
return groupedRows.map(function (row) {
|
|
4833
|
+
return row.values[column.id];
|
|
4834
|
+
});
|
|
4835
|
+
});
|
|
4836
|
+
} else if (column.aggregationType) {
|
|
4837
|
+
console.info({
|
|
4838
|
+
column: column
|
|
4839
|
+
});
|
|
4840
|
+
throw new Error("Table: Invalid column.aggregateType option for column listed above" );
|
|
4841
|
+
} else {
|
|
4842
|
+
values[column.id] = null;
|
|
4843
|
+
}
|
|
4844
|
+
});
|
|
4845
|
+
return values;
|
|
4846
|
+
};
|
|
4847
|
+
|
|
4848
|
+
var groupedFlatRows = [];
|
|
4849
|
+
var groupedRowsById = {}; // const onlyGroupedFlatRows: Row[] = [];
|
|
4850
|
+
// const onlyGroupedRowsById: Record<RowId, Row> = {};
|
|
4851
|
+
// const nonGroupedFlatRows: Row[] = [];
|
|
4852
|
+
// const nonGroupedRowsById: Record<RowId, Row> = {};
|
|
4853
|
+
// Recursively group the data
|
|
4854
|
+
|
|
4855
|
+
var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
|
|
4856
|
+
if (depth === void 0) {
|
|
4857
|
+
depth = 0;
|
|
4858
|
+
}
|
|
4859
|
+
|
|
4860
|
+
// This is the last level, just return the rows
|
|
4861
|
+
if (depth === existingGrouping.length) {
|
|
4862
|
+
return rows;
|
|
4863
|
+
}
|
|
4864
|
+
|
|
4865
|
+
var columnId = existingGrouping[depth]; // Group the rows together for this level
|
|
4866
|
+
|
|
4867
|
+
var rowGroupsMap = groupBy(rows, columnId); // Peform aggregations for each group
|
|
4868
|
+
|
|
4869
|
+
var aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(function (_ref, index) {
|
|
4870
|
+
var groupingValue = _ref[0],
|
|
4871
|
+
groupedRows = _ref[1];
|
|
4872
|
+
var id = columnId + ":" + groupingValue;
|
|
4873
|
+
id = parentId ? parentId + ">" + id : id; // First, Recurse to group sub rows before aggregation
|
|
4874
|
+
|
|
4875
|
+
var subRows = groupUpRecursively(groupedRows, depth + 1, id); // Flatten the leaf rows of the rows in this group
|
|
4876
|
+
|
|
4877
|
+
var leafRows = depth ? flattenBy(groupedRows, function (row) {
|
|
4878
|
+
return row.subRows;
|
|
4879
|
+
}) : groupedRows;
|
|
4880
|
+
var values = aggregateRowsToValues(leafRows, groupedRows, depth);
|
|
4881
|
+
var row = instance.createRow(id, undefined, index, depth, values);
|
|
4882
|
+
Object.assign(row, {
|
|
4883
|
+
groupingColumnId: columnId,
|
|
4884
|
+
groupingValue: groupingValue,
|
|
4885
|
+
subRows: subRows,
|
|
4886
|
+
leafRows: leafRows
|
|
4887
|
+
});
|
|
4888
|
+
subRows.forEach(function (subRow) {
|
|
4889
|
+
groupedFlatRows.push(subRow);
|
|
4890
|
+
groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) {
|
|
4891
|
+
// onlyGroupedFlatRows.push(subRow);
|
|
4892
|
+
// onlyGroupedRowsById[subRow.id] = subRow;
|
|
4893
|
+
// } else {
|
|
4894
|
+
// nonGroupedFlatRows.push(subRow);
|
|
4895
|
+
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4896
|
+
// }
|
|
4897
|
+
});
|
|
4898
|
+
return row;
|
|
4899
|
+
});
|
|
4900
|
+
return aggregatedGroupedRows;
|
|
4901
|
+
};
|
|
4902
|
+
|
|
4903
|
+
var groupedRows = groupUpRecursively(rowModel.rows, 0, '');
|
|
4904
|
+
groupedRows.forEach(function (subRow) {
|
|
4584
4905
|
groupedFlatRows.push(subRow);
|
|
4585
4906
|
groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) {
|
|
4586
4907
|
// onlyGroupedFlatRows.push(subRow);
|
|
@@ -4590,26 +4911,22 @@
|
|
|
4590
4911
|
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4591
4912
|
// }
|
|
4592
4913
|
});
|
|
4593
|
-
return
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
|
|
4914
|
+
return {
|
|
4915
|
+
rows: groupedRows,
|
|
4916
|
+
flatRows: groupedFlatRows,
|
|
4917
|
+
rowsById: groupedRowsById
|
|
4918
|
+
};
|
|
4919
|
+
}, {
|
|
4920
|
+
key: 'getGroupedRowModel',
|
|
4921
|
+
debug: function debug() {
|
|
4922
|
+
var _instance$options$deb;
|
|
4597
4923
|
|
|
4598
|
-
|
|
4599
|
-
|
|
4600
|
-
|
|
4601
|
-
|
|
4602
|
-
|
|
4603
|
-
|
|
4604
|
-
// } else {
|
|
4605
|
-
// nonGroupedFlatRows.push(subRow);
|
|
4606
|
-
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4607
|
-
// }
|
|
4608
|
-
});
|
|
4609
|
-
return {
|
|
4610
|
-
rows: groupedRows,
|
|
4611
|
-
flatRows: groupedFlatRows,
|
|
4612
|
-
rowsById: groupedRowsById
|
|
4924
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4925
|
+
},
|
|
4926
|
+
onChange: function onChange() {
|
|
4927
|
+
return instance._notifyExpandedReset();
|
|
4928
|
+
}
|
|
4929
|
+
});
|
|
4613
4930
|
};
|
|
4614
4931
|
}
|
|
4615
4932
|
|
|
@@ -4629,7 +4946,28 @@
|
|
|
4629
4946
|
}, groupMap);
|
|
4630
4947
|
}
|
|
4631
4948
|
|
|
4632
|
-
function
|
|
4949
|
+
function getExpandedRowModel() {
|
|
4950
|
+
return function (instance) {
|
|
4951
|
+
return memo(function () {
|
|
4952
|
+
return [instance.getState().expanded, instance.getGroupedRowModel(), instance.options.paginateExpandedRows];
|
|
4953
|
+
}, function (expanded, rowModel, paginateExpandedRows) {
|
|
4954
|
+
if (!rowModel.rows.length || // Do not expand if rows are not included in pagination
|
|
4955
|
+
!paginateExpandedRows || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
|
|
4956
|
+
return rowModel;
|
|
4957
|
+
}
|
|
4958
|
+
|
|
4959
|
+
return expandRows(rowModel, instance);
|
|
4960
|
+
}, {
|
|
4961
|
+
key: 'getExpandedRowModel',
|
|
4962
|
+
debug: function debug() {
|
|
4963
|
+
var _instance$options$deb;
|
|
4964
|
+
|
|
4965
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4966
|
+
}
|
|
4967
|
+
});
|
|
4968
|
+
};
|
|
4969
|
+
}
|
|
4970
|
+
function expandRows(rowModel, instance) {
|
|
4633
4971
|
var expandedRows = [];
|
|
4634
4972
|
|
|
4635
4973
|
var handleRow = function handleRow(row) {
|
|
@@ -4642,37 +4980,53 @@
|
|
|
4642
4980
|
}
|
|
4643
4981
|
};
|
|
4644
4982
|
|
|
4645
|
-
|
|
4983
|
+
rowModel.rows.forEach(handleRow);
|
|
4646
4984
|
return {
|
|
4647
4985
|
rows: expandedRows,
|
|
4648
|
-
flatRows:
|
|
4649
|
-
rowsById:
|
|
4986
|
+
flatRows: rowModel.flatRows,
|
|
4987
|
+
rowsById: rowModel.rowsById
|
|
4650
4988
|
};
|
|
4651
4989
|
}
|
|
4652
4990
|
|
|
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
|
-
}
|
|
4991
|
+
function getPaginationRowModel(opts) {
|
|
4992
|
+
return function (instance) {
|
|
4993
|
+
return memo(function () {
|
|
4994
|
+
return [instance.getState().pagination, instance.getExpandedRowModel()];
|
|
4995
|
+
}, function (pagination, rowModel) {
|
|
4996
|
+
if (!rowModel.rows.length) {
|
|
4997
|
+
return rowModel;
|
|
4998
|
+
}
|
|
4671
4999
|
|
|
4672
|
-
|
|
4673
|
-
|
|
4674
|
-
|
|
4675
|
-
|
|
5000
|
+
var pageSize = pagination.pageSize,
|
|
5001
|
+
pageIndex = pagination.pageIndex;
|
|
5002
|
+
var rows = rowModel.rows,
|
|
5003
|
+
flatRows = rowModel.flatRows,
|
|
5004
|
+
rowsById = rowModel.rowsById;
|
|
5005
|
+
var pageStart = pageSize * pageIndex;
|
|
5006
|
+
var pageEnd = pageStart + pageSize;
|
|
5007
|
+
rows = rows.slice(pageStart, pageEnd);
|
|
5008
|
+
|
|
5009
|
+
if (!instance.options.paginateExpandedRows) {
|
|
5010
|
+
return expandRows({
|
|
5011
|
+
rows: rows,
|
|
5012
|
+
flatRows: flatRows,
|
|
5013
|
+
rowsById: rowsById
|
|
5014
|
+
}, instance);
|
|
5015
|
+
}
|
|
5016
|
+
|
|
5017
|
+
return {
|
|
5018
|
+
rows: rows,
|
|
5019
|
+
flatRows: flatRows,
|
|
5020
|
+
rowsById: rowsById
|
|
5021
|
+
};
|
|
5022
|
+
}, {
|
|
5023
|
+
key: 'getPaginationRowModel',
|
|
5024
|
+
debug: function debug() {
|
|
5025
|
+
var _instance$options$deb;
|
|
5026
|
+
|
|
5027
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
5028
|
+
}
|
|
5029
|
+
});
|
|
4676
5030
|
};
|
|
4677
5031
|
}
|
|
4678
5032
|
|
|
@@ -4688,26 +5042,31 @@
|
|
|
4688
5042
|
exports.Sorting = Sorting;
|
|
4689
5043
|
exports.Visibility = Visibility;
|
|
4690
5044
|
exports.buildHeaderGroups = buildHeaderGroups;
|
|
4691
|
-
exports.columnFilterRowsFn = columnFilterRowsFn;
|
|
4692
5045
|
exports.createTableInstance = createTableInstance;
|
|
4693
5046
|
exports.defaultColumnSizing = defaultColumnSizing;
|
|
4694
|
-
exports.
|
|
5047
|
+
exports.expandRows = expandRows;
|
|
4695
5048
|
exports.flattenBy = flattenBy;
|
|
4696
5049
|
exports.functionalUpdate = functionalUpdate;
|
|
4697
|
-
exports.
|
|
4698
|
-
exports.
|
|
5050
|
+
exports.getBatchGroups = getBatchGroups;
|
|
5051
|
+
exports.getColumnFilteredRowModelSync = getColumnFilteredRowModelSync;
|
|
5052
|
+
exports.getCoreRowModelAsync = getCoreRowModelAsync;
|
|
5053
|
+
exports.getCoreRowModelSync = getCoreRowModelSync;
|
|
5054
|
+
exports.getExpandedRowModel = getExpandedRowModel;
|
|
5055
|
+
exports.getGlobalFilteredRowModelSync = getGlobalFilteredRowModelSync;
|
|
5056
|
+
exports.getGroupedRowModelSync = getGroupedRowModelSync;
|
|
5057
|
+
exports.getPaginationRowModel = getPaginationRowModel;
|
|
5058
|
+
exports.getSortedRowModelSync = getSortedRowModelSync;
|
|
5059
|
+
exports.incrementalMemo = incrementalMemo;
|
|
4699
5060
|
exports.init = init;
|
|
4700
5061
|
exports.isFunction = isFunction;
|
|
4701
5062
|
exports.isRowSelected = isRowSelected;
|
|
4702
5063
|
exports.makeStateUpdater = makeStateUpdater;
|
|
4703
5064
|
exports.memo = memo;
|
|
4704
5065
|
exports.noop = noop;
|
|
4705
|
-
exports.paginateRowsFn = paginateRowsFn;
|
|
4706
5066
|
exports.passiveEventSupported = passiveEventSupported;
|
|
4707
5067
|
exports.propGetter = propGetter;
|
|
4708
5068
|
exports.selectRowsFn = selectRowsFn;
|
|
4709
5069
|
exports.shouldAutoRemoveFilter = shouldAutoRemoveFilter;
|
|
4710
|
-
exports.sortRowsFn = sortRowsFn;
|
|
4711
5070
|
|
|
4712
5071
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4713
5072
|
|