@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
package/build/esm/index.js
CHANGED
|
@@ -8,8 +8,6 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @license MIT
|
|
10
10
|
*/
|
|
11
|
-
import { performance } from 'perf_hooks';
|
|
12
|
-
|
|
13
11
|
function _extends() {
|
|
14
12
|
_extends = Object.assign || function (target) {
|
|
15
13
|
for (var i = 1; i < arguments.length; i++) {
|
|
@@ -105,6 +103,32 @@ function functionalUpdate(updater, input) {
|
|
|
105
103
|
}
|
|
106
104
|
function noop() {//
|
|
107
105
|
}
|
|
106
|
+
function getBatchGroups(arr, count) {
|
|
107
|
+
var groups = [{
|
|
108
|
+
start: 0,
|
|
109
|
+
end: count - 1,
|
|
110
|
+
items: []
|
|
111
|
+
}];
|
|
112
|
+
var groupIndex = 0;
|
|
113
|
+
var group = groups[groupIndex];
|
|
114
|
+
|
|
115
|
+
for (var i = 0; i < arr.length; i++) {
|
|
116
|
+
if (i > group.end) {
|
|
117
|
+
groupIndex++;
|
|
118
|
+
groups[groupIndex] = {
|
|
119
|
+
start: i,
|
|
120
|
+
end: i + count - 1,
|
|
121
|
+
items: []
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
group = groups[groupIndex];
|
|
126
|
+
var _item = arr[i];
|
|
127
|
+
group.items.push(_item);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
return groups;
|
|
131
|
+
}
|
|
108
132
|
function makeStateUpdater(key, instance) {
|
|
109
133
|
return function (updater) {
|
|
110
134
|
instance.setState(function (old) {
|
|
@@ -147,7 +171,7 @@ function memo(getDeps, fn, opts) {
|
|
|
147
171
|
var result;
|
|
148
172
|
return function () {
|
|
149
173
|
var depTime;
|
|
150
|
-
if (opts.key && opts.debug) depTime =
|
|
174
|
+
if (opts.key && opts.debug) depTime = Date.now();
|
|
151
175
|
var newDeps = getDeps();
|
|
152
176
|
var depsChanged = newDeps.length !== deps.length || newDeps.some(function (dep, index) {
|
|
153
177
|
return deps[index] !== dep;
|
|
@@ -156,15 +180,15 @@ function memo(getDeps, fn, opts) {
|
|
|
156
180
|
if (depsChanged) {
|
|
157
181
|
var oldResult = result;
|
|
158
182
|
var resultTime;
|
|
159
|
-
if (opts.key && opts.debug) resultTime =
|
|
183
|
+
if (opts.key && opts.debug) resultTime = Date.now();
|
|
160
184
|
result = fn.apply(void 0, newDeps);
|
|
161
185
|
deps = newDeps;
|
|
162
186
|
opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result, oldResult);
|
|
163
187
|
|
|
164
188
|
if (opts.key && opts.debug) {
|
|
165
189
|
if (opts != null && opts.debug()) {
|
|
166
|
-
var depEndTime = Math.round((
|
|
167
|
-
var resultEndTime = Math.round((
|
|
190
|
+
var depEndTime = Math.round((Date.now() - depTime) * 100) / 100;
|
|
191
|
+
var resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;
|
|
168
192
|
var resultFpsPercentage = resultEndTime / 16;
|
|
169
193
|
|
|
170
194
|
var pad = function pad(str, num) {
|
|
@@ -202,22 +226,133 @@ function memo(getDeps, fn, opts) {
|
|
|
202
226
|
|
|
203
227
|
return result;
|
|
204
228
|
};
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
229
|
+
}
|
|
230
|
+
function incrementalMemo(getDeps, getInitialValue, schedule, opts) {
|
|
231
|
+
var _opts$timeout;
|
|
232
|
+
|
|
233
|
+
var oldDeps;
|
|
234
|
+
var deps;
|
|
235
|
+
var result;
|
|
236
|
+
var nextResultRef;
|
|
237
|
+
var tasks = [];
|
|
238
|
+
var totalTaskCount = 0;
|
|
239
|
+
var resultStartTime;
|
|
240
|
+
var batchIndex = 0;
|
|
241
|
+
var progress = 0;
|
|
242
|
+
var working = false;
|
|
243
|
+
var callback;
|
|
244
|
+
var timeout = (_opts$timeout = opts.timeout) != null ? _opts$timeout : 100;
|
|
245
|
+
|
|
246
|
+
var onProgress = function onProgress(latestResult, previousResult) {
|
|
247
|
+
progress = 1 - tasks.length / totalTaskCount;
|
|
248
|
+
opts.onProgress(progress, latestResult, previousResult);
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
return function () {
|
|
252
|
+
var scheduleFn = function scheduleFn(workFn) {
|
|
253
|
+
totalTaskCount++;
|
|
254
|
+
tasks.push(workFn);
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
var newDeps = getDeps();
|
|
258
|
+
var first = false;
|
|
259
|
+
|
|
260
|
+
if (!deps) {
|
|
261
|
+
first = true;
|
|
262
|
+
deps = [];
|
|
263
|
+
result = getInitialValue.apply(void 0, newDeps);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
var depsChanged = newDeps.length !== deps.length || newDeps.some(function (dep, index) {
|
|
267
|
+
return deps[index] !== dep;
|
|
268
|
+
});
|
|
269
|
+
|
|
270
|
+
if (depsChanged) {
|
|
271
|
+
cancelIdleCallback(callback);
|
|
272
|
+
oldDeps = deps;
|
|
273
|
+
deps = newDeps;
|
|
274
|
+
totalTaskCount = 0;
|
|
275
|
+
tasks = [];
|
|
276
|
+
nextResultRef = {
|
|
277
|
+
current: getInitialValue.apply(void 0, newDeps)
|
|
278
|
+
};
|
|
279
|
+
resultStartTime = Date.now();
|
|
280
|
+
schedule.apply(void 0, newDeps)(nextResultRef)(scheduleFn);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
var commitResult = function commitResult() {
|
|
284
|
+
cancelIdleCallback(callback);
|
|
285
|
+
|
|
286
|
+
if (opts.key && opts.debug) {
|
|
287
|
+
if (opts != null && opts.debug()) {
|
|
288
|
+
var resultEndTime = Math.round((Date.now() - resultStartTime) * 100) / 100;
|
|
289
|
+
var resultFpsPercentage = resultEndTime / batchIndex / 16;
|
|
290
|
+
console.info("%c\u23F1 " + resultEndTime + " ms / " + batchIndex + " tasks = " + Math.round(resultEndTime / batchIndex) + " ms/task", "\n font-size: .6rem;\n font-weight: bold;\n color: hsl(" + Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120)) + "deg 100% 31%);", opts == null ? void 0 : opts.key, _extends({
|
|
291
|
+
length: oldDeps.length + " -> " + deps.length
|
|
292
|
+
}, deps.map(function (_, index) {
|
|
293
|
+
if (oldDeps[index] !== deps[index]) {
|
|
294
|
+
return [index, oldDeps[index], deps[index]];
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
return false;
|
|
298
|
+
}).filter(Boolean).reduce(function (accu, _ref2) {
|
|
299
|
+
var _extends4;
|
|
300
|
+
|
|
301
|
+
var a = _ref2[0],
|
|
302
|
+
b = _ref2[1];
|
|
303
|
+
return _extends({}, accu, (_extends4 = {}, _extends4[a] = b, _extends4));
|
|
304
|
+
}, {}), {
|
|
305
|
+
parent: parent
|
|
306
|
+
}));
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
working = false;
|
|
311
|
+
var previousResult = result;
|
|
312
|
+
result = nextResultRef.current;
|
|
313
|
+
onProgress(result, previousResult);
|
|
314
|
+
opts.onChange(result, previousResult);
|
|
315
|
+
};
|
|
316
|
+
|
|
317
|
+
if (opts.initialSync && first) {
|
|
318
|
+
batchIndex = 1;
|
|
319
|
+
first = false;
|
|
320
|
+
|
|
321
|
+
for (var i = 0; i < tasks.length; i++) {
|
|
322
|
+
tasks[i]();
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
tasks = [];
|
|
326
|
+
commitResult();
|
|
327
|
+
} else if (!working && tasks.length) {
|
|
328
|
+
cancelIdleCallback(callback);
|
|
329
|
+
working = true;
|
|
330
|
+
batchIndex = 0;
|
|
331
|
+
|
|
332
|
+
var workLoop = function workLoop(deadline) {
|
|
333
|
+
while (tasks.length && deadline.timeRemaining() > 0) {
|
|
334
|
+
tasks.shift()();
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
if (!tasks.length) {
|
|
338
|
+
commitResult();
|
|
339
|
+
} else {
|
|
340
|
+
++batchIndex;
|
|
341
|
+
onProgress(nextResultRef.current, result);
|
|
342
|
+
callback = requestIdleCallback(workLoop, {
|
|
343
|
+
timeout: timeout
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
};
|
|
347
|
+
|
|
348
|
+
callback = requestIdleCallback(workLoop, {
|
|
349
|
+
timeout: timeout
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
return result;
|
|
354
|
+
};
|
|
355
|
+
} // opts?.onChange?.(result, oldResult)
|
|
221
356
|
|
|
222
357
|
//
|
|
223
358
|
var defaultColumnSizing = {
|
|
@@ -548,6 +683,8 @@ var Expanding = {
|
|
|
548
683
|
var registered = false;
|
|
549
684
|
return {
|
|
550
685
|
_notifyExpandedReset: function _notifyExpandedReset() {
|
|
686
|
+
instance._notifyPageIndexReset();
|
|
687
|
+
|
|
551
688
|
if (!registered) {
|
|
552
689
|
registered = true;
|
|
553
690
|
return;
|
|
@@ -653,7 +790,7 @@ var Expanding = {
|
|
|
653
790
|
var initialProps = {
|
|
654
791
|
title: canExpand ? 'Toggle Expanded' : undefined,
|
|
655
792
|
onClick: canExpand ? function (e) {
|
|
656
|
-
e.persist();
|
|
793
|
+
e.persist == null ? void 0 : e.persist();
|
|
657
794
|
instance.toggleRowExpanded(rowId);
|
|
658
795
|
} : undefined
|
|
659
796
|
};
|
|
@@ -663,7 +800,7 @@ var Expanding = {
|
|
|
663
800
|
var initialProps = {
|
|
664
801
|
title: 'Toggle All Expanded',
|
|
665
802
|
onClick: function onClick(e) {
|
|
666
|
-
e.persist();
|
|
803
|
+
e.persist == null ? void 0 : e.persist();
|
|
667
804
|
instance.toggleAllRowsExpanded();
|
|
668
805
|
}
|
|
669
806
|
};
|
|
@@ -699,25 +836,19 @@ var Expanding = {
|
|
|
699
836
|
});
|
|
700
837
|
return maxDepth;
|
|
701
838
|
},
|
|
702
|
-
|
|
703
|
-
return
|
|
704
|
-
},
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
839
|
+
getPreExpandedRowModel: function getPreExpandedRowModel() {
|
|
840
|
+
return instance.getGroupedRowModel();
|
|
841
|
+
},
|
|
842
|
+
getExpandedRowModel: function getExpandedRowModel() {
|
|
843
|
+
if (!instance._getExpandedRowModel && instance.options.getExpandedRowModel) {
|
|
844
|
+
instance._getExpandedRowModel = instance.options.getExpandedRowModel(instance);
|
|
708
845
|
}
|
|
709
846
|
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
key: 'getExpandedRowModel',
|
|
713
|
-
debug: function debug() {
|
|
714
|
-
var _instance$options$deb;
|
|
715
|
-
|
|
716
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
847
|
+
if (!instance._getExpandedRowModel) {
|
|
848
|
+
return instance.getPreExpandedRowModel();
|
|
717
849
|
}
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
return instance.getGroupedRowModel();
|
|
850
|
+
|
|
851
|
+
return instance._getExpandedRowModel();
|
|
721
852
|
}
|
|
722
853
|
};
|
|
723
854
|
},
|
|
@@ -905,7 +1036,9 @@ var Filters = {
|
|
|
905
1036
|
getInitialState: function getInitialState() {
|
|
906
1037
|
return {
|
|
907
1038
|
columnFilters: [],
|
|
908
|
-
globalFilter: undefined
|
|
1039
|
+
globalFilter: undefined,
|
|
1040
|
+
columnFiltersProgress: 1,
|
|
1041
|
+
globalFilterProgress: 1
|
|
909
1042
|
};
|
|
910
1043
|
},
|
|
911
1044
|
getDefaultOptions: function getDefaultOptions(instance) {
|
|
@@ -1004,6 +1137,8 @@ var Filters = {
|
|
|
1004
1137
|
var registered = false;
|
|
1005
1138
|
return {
|
|
1006
1139
|
_notifyFiltersReset: function _notifyFiltersReset() {
|
|
1140
|
+
instance._notifySortingReset();
|
|
1141
|
+
|
|
1007
1142
|
if (!registered) {
|
|
1008
1143
|
registered = true;
|
|
1009
1144
|
return;
|
|
@@ -1013,16 +1148,12 @@ var Filters = {
|
|
|
1013
1148
|
return;
|
|
1014
1149
|
}
|
|
1015
1150
|
|
|
1016
|
-
if (instance.options.autoResetAll === true) {
|
|
1017
|
-
instance.
|
|
1018
|
-
}
|
|
1019
|
-
if (instance.options.autoResetColumnFilters) {
|
|
1020
|
-
instance.resetColumnFilters();
|
|
1021
|
-
}
|
|
1151
|
+
if (instance.options.autoResetAll === true || instance.options.autoResetColumnFilters) {
|
|
1152
|
+
instance.resetColumnFilters();
|
|
1153
|
+
}
|
|
1022
1154
|
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
}
|
|
1155
|
+
if (instance.options.autoResetAll === true || instance.options.autoResetGlobalFilter) {
|
|
1156
|
+
instance.resetGlobalFilter();
|
|
1026
1157
|
}
|
|
1027
1158
|
},
|
|
1028
1159
|
getColumnAutoFilterFn: function getColumnAutoFilterFn(columnId) {
|
|
@@ -1099,7 +1230,7 @@ var Filters = {
|
|
|
1099
1230
|
instance.options.onGlobalFilterChange == null ? void 0 : instance.options.onGlobalFilterChange(updater, functionalUpdate(updater, instance.getState().globalFilter));
|
|
1100
1231
|
},
|
|
1101
1232
|
resetGlobalFilter: function resetGlobalFilter() {
|
|
1102
|
-
instance.setGlobalFilter(
|
|
1233
|
+
instance.setGlobalFilter(instance.initialState.globalFilter);
|
|
1103
1234
|
},
|
|
1104
1235
|
getColumnCanColumnFilter: function getColumnCanColumnFilter(columnId) {
|
|
1105
1236
|
var _ref3, _ref4, _ref5, _ref6, _ref7, _column$enableAllFilt;
|
|
@@ -1202,84 +1333,31 @@ var Filters = {
|
|
|
1202
1333
|
getPreColumnFilteredRowModel: function getPreColumnFilteredRowModel() {
|
|
1203
1334
|
return instance.getCoreRowModel();
|
|
1204
1335
|
},
|
|
1205
|
-
getColumnFilteredRowModel:
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
if (!(columnFilters != null && columnFilters.length) || !columnFiltersFn) {
|
|
1210
|
-
return rowModel;
|
|
1211
|
-
}
|
|
1212
|
-
|
|
1213
|
-
return columnFiltersFn(instance, rowModel);
|
|
1214
|
-
}(); // Now that each filtered column has it's partially filtered rows,
|
|
1215
|
-
// lets assign the final filtered rows to all of the other columns
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
1219
|
-
var _instance$getState$co5;
|
|
1220
|
-
|
|
1221
|
-
return !((_instance$getState$co5 = instance.getState().columnFilters) != null && _instance$getState$co5.find(function (d) {
|
|
1222
|
-
return d.id === column.id;
|
|
1223
|
-
}));
|
|
1224
|
-
}); // This essentially enables faceted filter options to be built easily
|
|
1225
|
-
// using every column's preFilteredRows value
|
|
1226
|
-
|
|
1227
|
-
nonFilteredColumns.forEach(function (column) {
|
|
1228
|
-
column.getPreFilteredRows = function () {
|
|
1229
|
-
return columnFilteredRowModel.rows;
|
|
1230
|
-
};
|
|
1231
|
-
});
|
|
1232
|
-
return columnFilteredRowModel;
|
|
1233
|
-
}, {
|
|
1234
|
-
key: 'getColumnFilteredRowModel',
|
|
1235
|
-
debug: function debug() {
|
|
1236
|
-
var _instance$options$deb2;
|
|
1336
|
+
getColumnFilteredRowModel: function getColumnFilteredRowModel() {
|
|
1337
|
+
if (!instance._getColumnFilteredRowModel && instance.options.getColumnFilteredRowModel) {
|
|
1338
|
+
instance._getColumnFilteredRowModel = instance.options.getColumnFilteredRowModel(instance);
|
|
1339
|
+
}
|
|
1237
1340
|
|
|
1238
|
-
|
|
1341
|
+
if (!instance._getColumnFilteredRowModel) {
|
|
1342
|
+
return instance.getPreColumnFilteredRowModel();
|
|
1239
1343
|
}
|
|
1240
|
-
|
|
1344
|
+
|
|
1345
|
+
return instance._getColumnFilteredRowModel();
|
|
1346
|
+
},
|
|
1241
1347
|
getPreGlobalFilteredRowModel: function getPreGlobalFilteredRowModel() {
|
|
1242
1348
|
return instance.getColumnFilteredRowModel();
|
|
1243
1349
|
},
|
|
1244
|
-
getGlobalFilteredRowModel:
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
if (!globalFiltersFn || !globalFilterValue) {
|
|
1249
|
-
return columnFilteredRowModel;
|
|
1250
|
-
}
|
|
1251
|
-
|
|
1252
|
-
return globalFiltersFn(instance, columnFilteredRowModel);
|
|
1253
|
-
}(); // Now that each filtered column has it's partially filtered rows,
|
|
1254
|
-
// lets assign the final filtered rows to all of the other columns
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
1258
|
-
var _instance$getState$co6;
|
|
1259
|
-
|
|
1260
|
-
return !((_instance$getState$co6 = instance.getState().columnFilters) != null && _instance$getState$co6.find(function (d) {
|
|
1261
|
-
return d.id === column.id;
|
|
1262
|
-
}));
|
|
1263
|
-
}); // This essentially enables faceted filter options to be built easily
|
|
1264
|
-
// using every column's preFilteredRows value
|
|
1265
|
-
|
|
1266
|
-
nonFilteredColumns.forEach(function (column) {
|
|
1267
|
-
column.getPreFilteredRows = function () {
|
|
1268
|
-
return globalFilteredRowModel.rows;
|
|
1269
|
-
};
|
|
1270
|
-
});
|
|
1271
|
-
return globalFilteredRowModel;
|
|
1272
|
-
}, {
|
|
1273
|
-
key: 'getGlobalFilteredRowModel',
|
|
1274
|
-
debug: function debug() {
|
|
1275
|
-
var _instance$options$deb3;
|
|
1350
|
+
getGlobalFilteredRowModel: function getGlobalFilteredRowModel() {
|
|
1351
|
+
if (!instance._getGlobalFilteredRowModel && instance.options.getGlobalFilteredRowModel) {
|
|
1352
|
+
instance._getGlobalFilteredRowModel = instance.options.getGlobalFilteredRowModel(instance);
|
|
1353
|
+
}
|
|
1276
1354
|
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
onChange: function onChange() {
|
|
1280
|
-
instance._notifySortingReset();
|
|
1355
|
+
if (!instance._getGlobalFilteredRowModel) {
|
|
1356
|
+
return instance.getPreGlobalFilteredRowModel();
|
|
1281
1357
|
}
|
|
1282
|
-
|
|
1358
|
+
|
|
1359
|
+
return instance._getGlobalFilteredRowModel();
|
|
1360
|
+
}
|
|
1283
1361
|
};
|
|
1284
1362
|
}
|
|
1285
1363
|
};
|
|
@@ -1444,6 +1522,8 @@ var Grouping = {
|
|
|
1444
1522
|
var registered = false;
|
|
1445
1523
|
return {
|
|
1446
1524
|
_notifyGroupingReset: function _notifyGroupingReset() {
|
|
1525
|
+
instance._notifyExpandedReset();
|
|
1526
|
+
|
|
1447
1527
|
if (!registered) {
|
|
1448
1528
|
registered = true;
|
|
1449
1529
|
return;
|
|
@@ -1543,25 +1623,17 @@ var Grouping = {
|
|
|
1543
1623
|
getPreGroupedRowModel: function getPreGroupedRowModel() {
|
|
1544
1624
|
return instance.getSortedRowModel();
|
|
1545
1625
|
},
|
|
1546
|
-
getGroupedRowModel:
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
if (!groupRowsFn || !grouping.length) {
|
|
1550
|
-
return rowModel;
|
|
1626
|
+
getGroupedRowModel: function getGroupedRowModel() {
|
|
1627
|
+
if (!instance._getGroupedRowModel && instance.options.getGroupedRowModel) {
|
|
1628
|
+
instance._getGroupedRowModel = instance.options.getGroupedRowModel(instance);
|
|
1551
1629
|
}
|
|
1552
1630
|
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
key: 'getGroupedRowModel',
|
|
1556
|
-
debug: function debug() {
|
|
1557
|
-
var _instance$options$deb;
|
|
1558
|
-
|
|
1559
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
1560
|
-
},
|
|
1561
|
-
onChange: function onChange() {
|
|
1562
|
-
return instance._notifyExpandedReset();
|
|
1631
|
+
if (!instance._getGroupedRowModel) {
|
|
1632
|
+
return instance.getPreGroupedRowModel();
|
|
1563
1633
|
}
|
|
1564
|
-
|
|
1634
|
+
|
|
1635
|
+
return instance._getGroupedRowModel();
|
|
1636
|
+
}
|
|
1565
1637
|
};
|
|
1566
1638
|
},
|
|
1567
1639
|
createRow: function createRow(row, instance) {
|
|
@@ -1804,9 +1876,7 @@ var Pagination = {
|
|
|
1804
1876
|
return instance.getState().pagination.pageIndex > 0;
|
|
1805
1877
|
},
|
|
1806
1878
|
getCanNextPage: function getCanNextPage() {
|
|
1807
|
-
var
|
|
1808
|
-
pageIndex = _instance$getState$pa.pageIndex,
|
|
1809
|
-
pageSize = _instance$getState$pa.pageSize;
|
|
1879
|
+
var pageIndex = instance.getState().pagination.pageIndex;
|
|
1810
1880
|
var pageCount = instance.getPageCount();
|
|
1811
1881
|
|
|
1812
1882
|
if (pageCount === -1) {
|
|
@@ -1817,7 +1887,7 @@ var Pagination = {
|
|
|
1817
1887
|
return false;
|
|
1818
1888
|
}
|
|
1819
1889
|
|
|
1820
|
-
return pageIndex <
|
|
1890
|
+
return pageIndex < pageCount - 1;
|
|
1821
1891
|
},
|
|
1822
1892
|
previousPage: function previousPage() {
|
|
1823
1893
|
return instance.setPageIndex(function (old) {
|
|
@@ -1832,22 +1902,17 @@ var Pagination = {
|
|
|
1832
1902
|
getPrePaginationRowModel: function getPrePaginationRowModel() {
|
|
1833
1903
|
return instance.getExpandedRowModel();
|
|
1834
1904
|
},
|
|
1835
|
-
getPaginationRowModel:
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
if (!paginateRowsFn || !rowModel.rows.length) {
|
|
1839
|
-
return rowModel;
|
|
1905
|
+
getPaginationRowModel: function getPaginationRowModel() {
|
|
1906
|
+
if (!instance._getPaginationRowModel && instance.options.getPaginationRowModel) {
|
|
1907
|
+
instance._getPaginationRowModel = instance.options.getPaginationRowModel(instance);
|
|
1840
1908
|
}
|
|
1841
1909
|
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
key: 'getPaginationRowModel',
|
|
1845
|
-
debug: function debug() {
|
|
1846
|
-
var _instance$options$deb2;
|
|
1847
|
-
|
|
1848
|
-
return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugTable;
|
|
1910
|
+
if (!instance._getPaginationRowModel) {
|
|
1911
|
+
return instance.getPrePaginationRowModel();
|
|
1849
1912
|
}
|
|
1850
|
-
|
|
1913
|
+
|
|
1914
|
+
return instance._getPaginationRowModel();
|
|
1915
|
+
},
|
|
1851
1916
|
getPageCount: function getPageCount() {
|
|
1852
1917
|
var pageCount = instance.getState().pagination.pageCount;
|
|
1853
1918
|
|
|
@@ -2657,6 +2722,8 @@ var Sorting = {
|
|
|
2657
2722
|
var registered = false;
|
|
2658
2723
|
return {
|
|
2659
2724
|
_notifySortingReset: function _notifySortingReset() {
|
|
2725
|
+
instance._notifyGroupingReset();
|
|
2726
|
+
|
|
2660
2727
|
if (!registered) {
|
|
2661
2728
|
registered = true;
|
|
2662
2729
|
return;
|
|
@@ -2878,7 +2945,7 @@ var Sorting = {
|
|
|
2878
2945
|
var initialProps = {
|
|
2879
2946
|
title: canSort ? 'Toggle Sorting' : undefined,
|
|
2880
2947
|
onClick: canSort ? function (e) {
|
|
2881
|
-
e.persist();
|
|
2948
|
+
e.persist == null ? void 0 : e.persist();
|
|
2882
2949
|
column.toggleSorting == null ? void 0 : column.toggleSorting(undefined, column.getCanMultiSort() ? instance.options.isMultiSortEvent == null ? void 0 : instance.options.isMultiSortEvent(e) : false);
|
|
2883
2950
|
} : undefined
|
|
2884
2951
|
};
|
|
@@ -2887,25 +2954,17 @@ var Sorting = {
|
|
|
2887
2954
|
getPreSortedRowModel: function getPreSortedRowModel() {
|
|
2888
2955
|
return instance.getGlobalFilteredRowModel();
|
|
2889
2956
|
},
|
|
2890
|
-
getSortedRowModel:
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
if (!sortingFn || !(sorting != null && sorting.length)) {
|
|
2894
|
-
return rowModel;
|
|
2957
|
+
getSortedRowModel: function getSortedRowModel() {
|
|
2958
|
+
if (!instance._getSortedRowModel && instance.options.getSortedRowModel) {
|
|
2959
|
+
instance._getSortedRowModel = instance.options.getSortedRowModel(instance);
|
|
2895
2960
|
}
|
|
2896
2961
|
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
key: 'getSortedRowModel',
|
|
2900
|
-
debug: function debug() {
|
|
2901
|
-
var _instance$options$deb;
|
|
2902
|
-
|
|
2903
|
-
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
2904
|
-
},
|
|
2905
|
-
onChange: function onChange() {
|
|
2906
|
-
instance._notifyGroupingReset();
|
|
2962
|
+
if (!instance._getSortedRowModel) {
|
|
2963
|
+
return instance.getPreSortedRowModel();
|
|
2907
2964
|
}
|
|
2908
|
-
|
|
2965
|
+
|
|
2966
|
+
return instance._getSortedRowModel();
|
|
2967
|
+
}
|
|
2909
2968
|
};
|
|
2910
2969
|
}
|
|
2911
2970
|
};
|
|
@@ -3691,8 +3750,11 @@ function createTableInstance(options) {
|
|
|
3691
3750
|
};
|
|
3692
3751
|
|
|
3693
3752
|
instance.options = buildOptions(options);
|
|
3753
|
+
var coreInitialState = {
|
|
3754
|
+
coreProgress: 1
|
|
3755
|
+
};
|
|
3694
3756
|
|
|
3695
|
-
var initialState = _extends({}, features.reduce(function (obj, feature) {
|
|
3757
|
+
var initialState = _extends({}, coreInitialState, features.reduce(function (obj, feature) {
|
|
3696
3758
|
return Object.assign(obj, feature.getInitialState == null ? void 0 : feature.getInitialState());
|
|
3697
3759
|
}, {}), (_options$initialState = options.initialState) != null ? _options$initialState : {});
|
|
3698
3760
|
|
|
@@ -3704,7 +3766,13 @@ function createTableInstance(options) {
|
|
|
3704
3766
|
instance.setState(instance.initialState);
|
|
3705
3767
|
},
|
|
3706
3768
|
setOptions: function setOptions(updater) {
|
|
3707
|
-
|
|
3769
|
+
var newOptions = functionalUpdate(updater, instance.options);
|
|
3770
|
+
|
|
3771
|
+
if (instance.options.mergeOptions) {
|
|
3772
|
+
instance.options = instance.options.mergeOptions(defaultOptions, newOptions);
|
|
3773
|
+
} else {
|
|
3774
|
+
instance.options = buildOptions(newOptions);
|
|
3775
|
+
}
|
|
3708
3776
|
},
|
|
3709
3777
|
render: function render(template, props) {
|
|
3710
3778
|
if (typeof instance.options.render === 'function') {
|
|
@@ -4000,85 +4068,13 @@ function createTableInstance(options) {
|
|
|
4000
4068
|
|
|
4001
4069
|
return row;
|
|
4002
4070
|
},
|
|
4003
|
-
getCoreRowModel:
|
|
4004
|
-
|
|
4005
|
-
|
|
4006
|
-
// Access the row model using initial columns
|
|
4007
|
-
var rows = [];
|
|
4008
|
-
var flatRows = [];
|
|
4009
|
-
var rowsById = {};
|
|
4010
|
-
var leafColumns = instance.getAllLeafColumns();
|
|
4011
|
-
|
|
4012
|
-
var accessRow = function accessRow(originalRow, rowIndex, depth, parentRows, parent) {
|
|
4013
|
-
if (depth === void 0) {
|
|
4014
|
-
depth = 0;
|
|
4015
|
-
}
|
|
4016
|
-
|
|
4017
|
-
var id = instance.getRowId(originalRow, rowIndex, parent);
|
|
4018
|
-
|
|
4019
|
-
if (!id) {
|
|
4020
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
4021
|
-
throw new Error("getRowId expected an ID, but got " + id);
|
|
4022
|
-
}
|
|
4023
|
-
}
|
|
4024
|
-
|
|
4025
|
-
var values = {};
|
|
4026
|
-
|
|
4027
|
-
for (var i = 0; i < leafColumns.length; i++) {
|
|
4028
|
-
var _column = leafColumns[i];
|
|
4029
|
-
|
|
4030
|
-
if (_column && _column.accessorFn) {
|
|
4031
|
-
values[_column.id] = _column.accessorFn(originalRow, rowIndex);
|
|
4032
|
-
}
|
|
4033
|
-
} // Make the row
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
|
|
4037
|
-
|
|
4038
|
-
parentRows.push(row); // Keep track of every row in a flat array
|
|
4039
|
-
|
|
4040
|
-
flatRows.push(row); // Also keep track of every row by its ID
|
|
4041
|
-
|
|
4042
|
-
rowsById[id] = row; // Get the original subrows
|
|
4043
|
-
|
|
4044
|
-
if (instance.options.getSubRows) {
|
|
4045
|
-
var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
4046
|
-
|
|
4047
|
-
if (originalSubRows != null && originalSubRows.length) {
|
|
4048
|
-
row.originalSubRows = originalSubRows;
|
|
4049
|
-
var subRows = [];
|
|
4050
|
-
|
|
4051
|
-
for (var _i = 0; _i < row.originalSubRows.length; _i++) {
|
|
4052
|
-
accessRow(row.originalSubRows[_i], _i, depth + 1, subRows, row);
|
|
4053
|
-
}
|
|
4054
|
-
|
|
4055
|
-
row.subRows = subRows;
|
|
4056
|
-
}
|
|
4057
|
-
}
|
|
4058
|
-
};
|
|
4059
|
-
|
|
4060
|
-
for (var i = 0; i < data.length; i++) {
|
|
4061
|
-
accessRow(data[i], i, 0, rows);
|
|
4071
|
+
getCoreRowModel: function getCoreRowModel() {
|
|
4072
|
+
if (!instance._getCoreRowModel) {
|
|
4073
|
+
instance._getCoreRowModel = instance.options.getCoreRowModel(instance);
|
|
4062
4074
|
}
|
|
4063
4075
|
|
|
4064
|
-
return
|
|
4065
|
-
|
|
4066
|
-
flatRows: flatRows,
|
|
4067
|
-
rowsById: rowsById
|
|
4068
|
-
};
|
|
4069
|
-
}, {
|
|
4070
|
-
key: 'getRowModel',
|
|
4071
|
-
debug: function debug() {
|
|
4072
|
-
var _instance$options$deb10;
|
|
4073
|
-
|
|
4074
|
-
return (_instance$options$deb10 = instance.options.debugAll) != null ? _instance$options$deb10 : instance.options.debugTable;
|
|
4075
|
-
},
|
|
4076
|
-
onChange: function onChange() {
|
|
4077
|
-
instance._notifyFiltersReset();
|
|
4078
|
-
|
|
4079
|
-
instance._notifyRowSelectionReset();
|
|
4080
|
-
}
|
|
4081
|
-
}),
|
|
4076
|
+
return instance._getCoreRowModel();
|
|
4077
|
+
},
|
|
4082
4078
|
// The final calls start at the bottom of the model,
|
|
4083
4079
|
// expanded rows, which then work their way up
|
|
4084
4080
|
getRowModel: function getRowModel() {
|
|
@@ -4181,6 +4177,18 @@ function createTableInstance(options) {
|
|
|
4181
4177
|
return (_instance$getRightHea = (_instance$getRightHea2 = instance.getRightHeaderGroups()[0]) == null ? void 0 : _instance$getRightHea2.headers.reduce(function (sum, header) {
|
|
4182
4178
|
return sum + header.getWidth();
|
|
4183
4179
|
}, 0)) != null ? _instance$getRightHea : 0;
|
|
4180
|
+
},
|
|
4181
|
+
getOverallProgress: function getOverallProgress() {
|
|
4182
|
+
var _instance$getState = instance.getState(),
|
|
4183
|
+
coreProgress = _instance$getState.coreProgress,
|
|
4184
|
+
columnFiltersProgress = _instance$getState.columnFiltersProgress,
|
|
4185
|
+
globalFilterProgress = _instance$getState.globalFilterProgress;
|
|
4186
|
+
|
|
4187
|
+
return mean(function () {
|
|
4188
|
+
return [coreProgress, columnFiltersProgress, globalFilterProgress].filter(function (d) {
|
|
4189
|
+
return d < 1;
|
|
4190
|
+
});
|
|
4191
|
+
});
|
|
4184
4192
|
}
|
|
4185
4193
|
});
|
|
4186
4194
|
|
|
@@ -4249,21 +4257,211 @@ function _createTable(_, __, __options) {
|
|
|
4249
4257
|
};
|
|
4250
4258
|
}
|
|
4251
4259
|
|
|
4252
|
-
function
|
|
4253
|
-
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4260
|
+
function getCoreRowModelSync() {
|
|
4261
|
+
return function (instance) {
|
|
4262
|
+
return memo(function () {
|
|
4263
|
+
return [instance.options.data];
|
|
4264
|
+
}, function (data) {
|
|
4265
|
+
// Access the row model using initial columns
|
|
4266
|
+
var rows = [];
|
|
4267
|
+
var flatRows = [];
|
|
4268
|
+
var rowsById = {};
|
|
4269
|
+
var leafColumns = instance.getAllLeafColumns();
|
|
4262
4270
|
|
|
4263
|
-
|
|
4264
|
-
|
|
4271
|
+
var accessRow = function accessRow(originalRow, rowIndex, depth, parentRows, parent) {
|
|
4272
|
+
if (depth === void 0) {
|
|
4273
|
+
depth = 0;
|
|
4274
|
+
}
|
|
4265
4275
|
|
|
4266
|
-
|
|
4276
|
+
var id = instance.getRowId(originalRow, rowIndex, parent);
|
|
4277
|
+
|
|
4278
|
+
if (!id) {
|
|
4279
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
4280
|
+
throw new Error("getRowId expected an ID, but got " + id);
|
|
4281
|
+
}
|
|
4282
|
+
}
|
|
4283
|
+
|
|
4284
|
+
var values = {};
|
|
4285
|
+
|
|
4286
|
+
for (var i = 0; i < leafColumns.length; i++) {
|
|
4287
|
+
var column = leafColumns[i];
|
|
4288
|
+
|
|
4289
|
+
if (column && column.accessorFn) {
|
|
4290
|
+
values[column.id] = column.accessorFn(originalRow, rowIndex);
|
|
4291
|
+
}
|
|
4292
|
+
} // Make the row
|
|
4293
|
+
|
|
4294
|
+
|
|
4295
|
+
var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
|
|
4296
|
+
|
|
4297
|
+
parentRows.push(row); // Keep track of every row in a flat array
|
|
4298
|
+
|
|
4299
|
+
flatRows.push(row); // Also keep track of every row by its ID
|
|
4300
|
+
|
|
4301
|
+
rowsById[id] = row; // Get the original subrows
|
|
4302
|
+
|
|
4303
|
+
if (instance.options.getSubRows) {
|
|
4304
|
+
var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
4305
|
+
|
|
4306
|
+
if (originalSubRows != null && originalSubRows.length) {
|
|
4307
|
+
row.originalSubRows = originalSubRows;
|
|
4308
|
+
var subRows = [];
|
|
4309
|
+
|
|
4310
|
+
for (var _i = 0; _i < row.originalSubRows.length; _i++) {
|
|
4311
|
+
accessRow(row.originalSubRows[_i], _i, depth + 1, subRows, row);
|
|
4312
|
+
}
|
|
4313
|
+
|
|
4314
|
+
row.subRows = subRows;
|
|
4315
|
+
}
|
|
4316
|
+
}
|
|
4317
|
+
};
|
|
4318
|
+
|
|
4319
|
+
for (var i = 0; i < data.length; i++) {
|
|
4320
|
+
accessRow(data[i], i, 0, rows);
|
|
4321
|
+
}
|
|
4322
|
+
|
|
4323
|
+
return {
|
|
4324
|
+
rows: rows,
|
|
4325
|
+
flatRows: flatRows,
|
|
4326
|
+
rowsById: rowsById
|
|
4327
|
+
};
|
|
4328
|
+
}, {
|
|
4329
|
+
key: 'getRowModel',
|
|
4330
|
+
debug: function debug() {
|
|
4331
|
+
var _instance$options$deb;
|
|
4332
|
+
|
|
4333
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4334
|
+
},
|
|
4335
|
+
onChange: function onChange() {
|
|
4336
|
+
instance._notifyFiltersReset();
|
|
4337
|
+
|
|
4338
|
+
instance._notifyRowSelectionReset();
|
|
4339
|
+
}
|
|
4340
|
+
});
|
|
4341
|
+
};
|
|
4342
|
+
}
|
|
4343
|
+
|
|
4344
|
+
function getCoreRowModelAsync(opts) {
|
|
4345
|
+
return function (instance) {
|
|
4346
|
+
return incrementalMemo(function () {
|
|
4347
|
+
return [instance.options.data, instance.getAllLeafColumns()];
|
|
4348
|
+
}, function () {
|
|
4349
|
+
var rows = [];
|
|
4350
|
+
var flatRows = [];
|
|
4351
|
+
var rowsById = {};
|
|
4352
|
+
return {
|
|
4353
|
+
rows: rows,
|
|
4354
|
+
flatRows: flatRows,
|
|
4355
|
+
rowsById: rowsById
|
|
4356
|
+
};
|
|
4357
|
+
}, function (data, leafColumns) {
|
|
4358
|
+
return function (rowModelRef) {
|
|
4359
|
+
return function (scheduleTask) {
|
|
4360
|
+
var accessRows = function accessRows(originalRows, depth, parent) {
|
|
4361
|
+
if (depth === void 0) {
|
|
4362
|
+
depth = 0;
|
|
4363
|
+
}
|
|
4364
|
+
|
|
4365
|
+
var batchGroups = getBatchGroups(originalRows, 2000);
|
|
4366
|
+
|
|
4367
|
+
var _loop = function _loop(i) {
|
|
4368
|
+
var batchGroup = batchGroups[i];
|
|
4369
|
+
scheduleTask(function () {
|
|
4370
|
+
for (var _i = 0; _i < batchGroup.items.length; _i++) {
|
|
4371
|
+
var originalRow = batchGroup.items[_i];
|
|
4372
|
+
var rowIndex = batchGroup.start + _i;
|
|
4373
|
+
var id = instance.getRowId(originalRow, rowIndex, parent);
|
|
4374
|
+
|
|
4375
|
+
if (!id) {
|
|
4376
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
4377
|
+
throw new Error("getRowId expected an ID, but got " + id);
|
|
4378
|
+
}
|
|
4379
|
+
}
|
|
4380
|
+
|
|
4381
|
+
var values = {};
|
|
4382
|
+
|
|
4383
|
+
for (var _i2 = 0; _i2 < leafColumns.length; _i2++) {
|
|
4384
|
+
var column = leafColumns[_i2];
|
|
4385
|
+
|
|
4386
|
+
if (column && column.accessorFn) {
|
|
4387
|
+
values[column.id] = column.accessorFn(originalRow, rowIndex);
|
|
4388
|
+
}
|
|
4389
|
+
} // Make the row
|
|
4390
|
+
|
|
4391
|
+
|
|
4392
|
+
var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
|
|
4393
|
+
|
|
4394
|
+
if (parent) {
|
|
4395
|
+
parent.subRows.push(row);
|
|
4396
|
+
} else {
|
|
4397
|
+
rowModelRef.current.rows.push(row);
|
|
4398
|
+
} // Keep track of every row in a flat array
|
|
4399
|
+
|
|
4400
|
+
|
|
4401
|
+
rowModelRef.current.flatRows.push(row); // Also keep track of every row by its ID
|
|
4402
|
+
|
|
4403
|
+
rowModelRef.current.rowsById[id] = row; // Get the original subrows
|
|
4404
|
+
|
|
4405
|
+
if (instance.options.getSubRows) {
|
|
4406
|
+
var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
|
|
4407
|
+
|
|
4408
|
+
if (originalSubRows != null && originalSubRows.length) {
|
|
4409
|
+
row.originalSubRows = originalSubRows;
|
|
4410
|
+
row.subRows = [];
|
|
4411
|
+
accessRows(row.originalSubRows, depth + 1, row);
|
|
4412
|
+
}
|
|
4413
|
+
}
|
|
4414
|
+
}
|
|
4415
|
+
});
|
|
4416
|
+
};
|
|
4417
|
+
|
|
4418
|
+
for (var i = 0; i < batchGroups.length; i++) {
|
|
4419
|
+
_loop(i);
|
|
4420
|
+
}
|
|
4421
|
+
};
|
|
4422
|
+
|
|
4423
|
+
accessRows(data);
|
|
4424
|
+
};
|
|
4425
|
+
};
|
|
4426
|
+
}, {
|
|
4427
|
+
key: 'getRowModel',
|
|
4428
|
+
initialSync: opts == null ? void 0 : opts.initialSync,
|
|
4429
|
+
onProgress: function onProgress(progress) {
|
|
4430
|
+
instance.setState(function (old) {
|
|
4431
|
+
return _extends({}, old, {
|
|
4432
|
+
coreProgress: progress
|
|
4433
|
+
});
|
|
4434
|
+
});
|
|
4435
|
+
},
|
|
4436
|
+
debug: function debug() {
|
|
4437
|
+
var _instance$options$deb;
|
|
4438
|
+
|
|
4439
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4440
|
+
},
|
|
4441
|
+
onChange: function onChange() {
|
|
4442
|
+
instance._notifyFiltersReset();
|
|
4443
|
+
|
|
4444
|
+
instance._notifyRowSelectionReset();
|
|
4445
|
+
}
|
|
4446
|
+
});
|
|
4447
|
+
};
|
|
4448
|
+
}
|
|
4449
|
+
|
|
4450
|
+
function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
|
|
4451
|
+
var newFilteredFlatRows = [];
|
|
4452
|
+
var newFilteredRowsById = {};
|
|
4453
|
+
|
|
4454
|
+
var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
|
|
4455
|
+
if (depth === void 0) {
|
|
4456
|
+
depth = 0;
|
|
4457
|
+
}
|
|
4458
|
+
|
|
4459
|
+
rowsToFilter = rowsToFilter.slice(); // Filter from children up first
|
|
4460
|
+
|
|
4461
|
+
for (var i = 0; i < rowsToFilter.length; i++) {
|
|
4462
|
+
var _row$subRows;
|
|
4463
|
+
|
|
4464
|
+
var row = rowsToFilter[i];
|
|
4267
4465
|
|
|
4268
4466
|
if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
|
|
4269
4467
|
continue;
|
|
@@ -4332,259 +4530,380 @@ function filterRowModelFromRoot(rowsToFilter, filterRows, instance) {
|
|
|
4332
4530
|
};
|
|
4333
4531
|
}
|
|
4334
4532
|
|
|
4335
|
-
function
|
|
4336
|
-
|
|
4337
|
-
|
|
4533
|
+
function getColumnFilteredRowModelSync() {
|
|
4534
|
+
return function (instance) {
|
|
4535
|
+
return memo(function () {
|
|
4536
|
+
return [instance.getState().columnFilters, instance.getCoreRowModel()];
|
|
4537
|
+
}, function (columnFilters, rowModel) {
|
|
4538
|
+
var columnFilteredRowModel = function () {
|
|
4539
|
+
if (!rowModel.rows.length || !columnFilters) {
|
|
4540
|
+
return rowModel;
|
|
4541
|
+
}
|
|
4338
4542
|
|
|
4339
|
-
|
|
4340
|
-
for (var i = 0; i < columnFilters.length; i++) {
|
|
4341
|
-
var _columnFilters$i = columnFilters[i],
|
|
4342
|
-
columnId = _columnFilters$i.id,
|
|
4343
|
-
filterValue = _columnFilters$i.value; // Find the columnFilters column
|
|
4543
|
+
var filterFromLeafRows = instance.options.filterFromLeafRows;
|
|
4344
4544
|
|
|
4345
|
-
|
|
4545
|
+
var filterRows = function filterRows(rowsToFilter, depth) {
|
|
4546
|
+
for (var i = 0; i < columnFilters.length; i++) {
|
|
4547
|
+
var _columnFilters$i = columnFilters[i],
|
|
4548
|
+
columnId = _columnFilters$i.id,
|
|
4549
|
+
filterValue = _columnFilters$i.value; // Find the columnFilters column
|
|
4346
4550
|
|
|
4347
|
-
|
|
4348
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
4349
|
-
console.warn("Table: Could not find a column with id: " + columnId);
|
|
4350
|
-
}
|
|
4551
|
+
var column = instance.getColumn(columnId);
|
|
4351
4552
|
|
|
4352
|
-
|
|
4353
|
-
|
|
4553
|
+
if (!column) {
|
|
4554
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
4555
|
+
console.warn("Table: Could not find a column with id: " + columnId);
|
|
4556
|
+
}
|
|
4354
4557
|
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
var preFilteredRows = [].concat(rowsToFilter);
|
|
4558
|
+
throw new Error();
|
|
4559
|
+
}
|
|
4358
4560
|
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
})();
|
|
4363
|
-
}
|
|
4561
|
+
if (depth === 0) {
|
|
4562
|
+
(function () {
|
|
4563
|
+
var preFilteredRows = [].concat(rowsToFilter);
|
|
4364
4564
|
|
|
4365
|
-
|
|
4565
|
+
column.getPreFilteredRows = function () {
|
|
4566
|
+
return preFilteredRows;
|
|
4567
|
+
};
|
|
4568
|
+
})();
|
|
4569
|
+
}
|
|
4366
4570
|
|
|
4367
|
-
|
|
4368
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
4369
|
-
console.warn("Could not find a valid 'column.filterType' for column with the ID: " + column.id + ".");
|
|
4370
|
-
}
|
|
4571
|
+
var filterFn = instance.getColumnFilterFn(column.id);
|
|
4371
4572
|
|
|
4372
|
-
|
|
4373
|
-
|
|
4374
|
-
|
|
4573
|
+
if (!filterFn) {
|
|
4574
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
4575
|
+
console.warn("Could not find a valid 'column.filterType' for column with the ID: " + column.id + ".");
|
|
4576
|
+
}
|
|
4375
4577
|
|
|
4578
|
+
continue;
|
|
4579
|
+
} // Pass the rows, id, filterValue and column to the filterFn
|
|
4580
|
+
// to get the filtered rows back
|
|
4376
4581
|
|
|
4377
|
-
rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
|
|
4378
|
-
}
|
|
4379
4582
|
|
|
4380
|
-
|
|
4381
|
-
|
|
4583
|
+
rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
|
|
4584
|
+
}
|
|
4382
4585
|
|
|
4383
|
-
|
|
4384
|
-
|
|
4385
|
-
}
|
|
4586
|
+
return rowsToFilter;
|
|
4587
|
+
};
|
|
4386
4588
|
|
|
4387
|
-
|
|
4388
|
-
|
|
4589
|
+
if (filterFromLeafRows) {
|
|
4590
|
+
return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
|
|
4591
|
+
}
|
|
4389
4592
|
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
|
|
4393
|
-
var filterFn = instance.getGlobalFilterFn();
|
|
4593
|
+
return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
|
|
4594
|
+
}(); // Now that each filtered column has it's partially filtered rows,
|
|
4595
|
+
// lets assign the final filtered rows to all of the other columns
|
|
4394
4596
|
|
|
4395
|
-
if (!filterFn) {
|
|
4396
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
4397
|
-
console.warn("Could not find a valid 'globalFilterType'");
|
|
4398
|
-
}
|
|
4399
4597
|
|
|
4400
|
-
|
|
4401
|
-
|
|
4598
|
+
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4599
|
+
var _instance$getState$co;
|
|
4402
4600
|
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
});
|
|
4601
|
+
return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
|
|
4602
|
+
return d.id === column.id;
|
|
4603
|
+
}));
|
|
4604
|
+
}); // This essentially enables faceted filter options to be built easily
|
|
4605
|
+
// using every column's preFilteredRows value
|
|
4409
4606
|
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4607
|
+
nonFilteredColumns.forEach(function (column) {
|
|
4608
|
+
column.getPreFilteredRows = function () {
|
|
4609
|
+
return columnFilteredRowModel.rows;
|
|
4610
|
+
};
|
|
4611
|
+
});
|
|
4612
|
+
return columnFilteredRowModel;
|
|
4613
|
+
}, {
|
|
4614
|
+
key: 'getColumnFilteredRowModelSync',
|
|
4615
|
+
debug: function debug() {
|
|
4616
|
+
var _instance$options$deb;
|
|
4417
4617
|
|
|
4418
|
-
|
|
4618
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4619
|
+
},
|
|
4620
|
+
onChange: function onChange() {
|
|
4621
|
+
instance._notifySortingReset();
|
|
4622
|
+
}
|
|
4623
|
+
});
|
|
4624
|
+
};
|
|
4419
4625
|
}
|
|
4420
4626
|
|
|
4421
|
-
function
|
|
4422
|
-
|
|
4423
|
-
|
|
4627
|
+
function getGlobalFilteredRowModelSync() {
|
|
4628
|
+
return function (instance) {
|
|
4629
|
+
return memo(function () {
|
|
4630
|
+
return [instance.getState().globalFilter, instance.getCoreRowModel()];
|
|
4631
|
+
}, function (globalFilter, rowModel) {
|
|
4632
|
+
var globalFilteredRowModel = function () {
|
|
4633
|
+
if (!rowModel.rows.length || !globalFilter) {
|
|
4634
|
+
return rowModel;
|
|
4635
|
+
}
|
|
4424
4636
|
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
});
|
|
4428
|
-
var columnInfoById = {};
|
|
4429
|
-
availableSorting.forEach(function (sortEntry) {
|
|
4430
|
-
var column = instance.getColumn(sortEntry.id);
|
|
4431
|
-
columnInfoById[sortEntry.id] = {
|
|
4432
|
-
sortUndefined: column.sortUndefined,
|
|
4433
|
-
invertSorting: column.invertSorting,
|
|
4434
|
-
sortingFn: instance.getColumnSortingFn(sortEntry.id)
|
|
4435
|
-
};
|
|
4436
|
-
});
|
|
4637
|
+
var filterFromLeafRows = instance.options.filterFromLeafRows;
|
|
4638
|
+
var filterFn = instance.getGlobalFilterFn();
|
|
4437
4639
|
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
var sortedData = rows.slice();
|
|
4442
|
-
sortedData.sort(function (rowA, rowB) {
|
|
4443
|
-
for (var i = 0; i < availableSorting.length; i += 1) {
|
|
4444
|
-
var _sortEntry$desc;
|
|
4445
|
-
|
|
4446
|
-
var sortEntry = availableSorting[i];
|
|
4447
|
-
var columnInfo = columnInfoById[sortEntry.id];
|
|
4448
|
-
var isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;
|
|
4449
|
-
|
|
4450
|
-
if (columnInfo.sortUndefined) {
|
|
4451
|
-
var aValue = rowA.values[sortEntry.id];
|
|
4452
|
-
var bValue = rowB.values[sortEntry.id];
|
|
4453
|
-
var aUndefined = typeof aValue === 'undefined';
|
|
4454
|
-
var bUndefined = typeof bValue === 'undefined';
|
|
4455
|
-
|
|
4456
|
-
if (aUndefined || bUndefined) {
|
|
4457
|
-
return aUndefined && bUndefined ? 0 : aUndefined ? columnInfo.sortUndefined : -columnInfo.sortUndefined;
|
|
4640
|
+
if (!filterFn) {
|
|
4641
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
4642
|
+
console.warn("Could not find a valid 'globalFilterType'");
|
|
4458
4643
|
}
|
|
4459
|
-
} // This function should always return in ascending order
|
|
4460
|
-
|
|
4461
4644
|
|
|
4462
|
-
|
|
4645
|
+
return rowModel;
|
|
4646
|
+
}
|
|
4463
4647
|
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4648
|
+
var filterableColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4649
|
+
return column.getCanGlobalFilter();
|
|
4650
|
+
});
|
|
4651
|
+
var filterableColumnIds = filterableColumns.map(function (d) {
|
|
4652
|
+
return d.id;
|
|
4653
|
+
});
|
|
4468
4654
|
|
|
4469
|
-
|
|
4470
|
-
|
|
4471
|
-
|
|
4655
|
+
var filterRows = function filterRows(rows) {
|
|
4656
|
+
return filterFn(rows, filterableColumnIds, globalFilter);
|
|
4657
|
+
};
|
|
4472
4658
|
|
|
4473
|
-
|
|
4659
|
+
if (filterFromLeafRows) {
|
|
4660
|
+
filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
|
|
4474
4661
|
}
|
|
4475
|
-
}
|
|
4476
4662
|
|
|
4477
|
-
|
|
4478
|
-
|
|
4663
|
+
return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
|
|
4664
|
+
}(); // Now that each filtered column has it's partially filtered rows,
|
|
4665
|
+
// lets assign the final filtered rows to all of the other columns
|
|
4479
4666
|
|
|
4480
|
-
sortedData.forEach(function (row) {
|
|
4481
|
-
sortedFlatRows.push(row);
|
|
4482
4667
|
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
}
|
|
4668
|
+
var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
|
|
4669
|
+
var _instance$getState$co;
|
|
4486
4670
|
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4671
|
+
return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
|
|
4672
|
+
return d.id === column.id;
|
|
4673
|
+
}));
|
|
4674
|
+
}); // This essentially enables faceted filter options to be built easily
|
|
4675
|
+
// using every column's preFilteredRows value
|
|
4491
4676
|
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4677
|
+
nonFilteredColumns.forEach(function (column) {
|
|
4678
|
+
column.getPreFilteredRows = function () {
|
|
4679
|
+
return globalFilteredRowModel.rows;
|
|
4680
|
+
};
|
|
4681
|
+
});
|
|
4682
|
+
return globalFilteredRowModel;
|
|
4683
|
+
}, {
|
|
4684
|
+
key: 'getGlobalFilteredRowModelSync',
|
|
4685
|
+
debug: function debug() {
|
|
4686
|
+
var _instance$options$deb;
|
|
4687
|
+
|
|
4688
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4689
|
+
},
|
|
4690
|
+
onChange: function onChange() {
|
|
4691
|
+
instance._notifySortingReset();
|
|
4692
|
+
}
|
|
4693
|
+
});
|
|
4496
4694
|
};
|
|
4497
4695
|
}
|
|
4498
4696
|
|
|
4499
|
-
function
|
|
4500
|
-
|
|
4697
|
+
function getSortedRowModelSync() {
|
|
4698
|
+
return function (instance) {
|
|
4699
|
+
return memo(function () {
|
|
4700
|
+
return [instance.getState().sorting, instance.getGlobalFilteredRowModel()];
|
|
4701
|
+
}, function (sorting, rowModel) {
|
|
4702
|
+
if (!rowModel.rows.length || !(sorting != null && sorting.length)) {
|
|
4703
|
+
return rowModel;
|
|
4704
|
+
}
|
|
4501
4705
|
|
|
4502
|
-
|
|
4503
|
-
|
|
4504
|
-
}); // Find the columns that can or are aggregating
|
|
4505
|
-
// Uses each column to aggregate rows into a single value
|
|
4706
|
+
var sortingState = instance.getState().sorting;
|
|
4707
|
+
var sortedFlatRows = []; // Filter out sortings that correspond to non existing columns
|
|
4506
4708
|
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
|
|
4709
|
+
var availableSorting = sortingState.filter(function (sort) {
|
|
4710
|
+
return instance.getColumnCanSort(sort.id);
|
|
4711
|
+
});
|
|
4712
|
+
var columnInfoById = {};
|
|
4713
|
+
availableSorting.forEach(function (sortEntry) {
|
|
4714
|
+
var column = instance.getColumn(sortEntry.id);
|
|
4715
|
+
columnInfoById[sortEntry.id] = {
|
|
4716
|
+
sortUndefined: column.sortUndefined,
|
|
4717
|
+
invertSorting: column.invertSorting,
|
|
4718
|
+
sortingFn: instance.getColumnSortingFn(sortEntry.id)
|
|
4719
|
+
};
|
|
4720
|
+
});
|
|
4515
4721
|
|
|
4722
|
+
var sortData = function sortData(rows) {
|
|
4723
|
+
// This will also perform a stable sorting using the row index
|
|
4724
|
+
// if needed.
|
|
4725
|
+
var sortedData = rows.slice();
|
|
4726
|
+
sortedData.sort(function (rowA, rowB) {
|
|
4727
|
+
for (var i = 0; i < availableSorting.length; i += 1) {
|
|
4728
|
+
var _sortEntry$desc;
|
|
4729
|
+
|
|
4730
|
+
var sortEntry = availableSorting[i];
|
|
4731
|
+
var columnInfo = columnInfoById[sortEntry.id];
|
|
4732
|
+
var isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;
|
|
4733
|
+
|
|
4734
|
+
if (columnInfo.sortUndefined) {
|
|
4735
|
+
var aValue = rowA.values[sortEntry.id];
|
|
4736
|
+
var bValue = rowB.values[sortEntry.id];
|
|
4737
|
+
var aUndefined = typeof aValue === 'undefined';
|
|
4738
|
+
var bUndefined = typeof bValue === 'undefined';
|
|
4739
|
+
|
|
4740
|
+
if (aUndefined || bUndefined) {
|
|
4741
|
+
return aUndefined && bUndefined ? 0 : aUndefined ? columnInfo.sortUndefined : -columnInfo.sortUndefined;
|
|
4742
|
+
}
|
|
4743
|
+
} // This function should always return in ascending order
|
|
4516
4744
|
|
|
4517
|
-
var aggregateFn = instance.getColumnAggregationFn(column.id);
|
|
4518
4745
|
|
|
4519
|
-
|
|
4520
|
-
values[column.id] = aggregateFn(function () {
|
|
4521
|
-
return leafRows.map(function (row) {
|
|
4522
|
-
var columnValue = row.values[column.id];
|
|
4746
|
+
var sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);
|
|
4523
4747
|
|
|
4524
|
-
if (
|
|
4525
|
-
|
|
4748
|
+
if (sortInt !== 0) {
|
|
4749
|
+
if (isDesc) {
|
|
4750
|
+
sortInt *= -1;
|
|
4751
|
+
}
|
|
4752
|
+
|
|
4753
|
+
if (columnInfo.invertSorting) {
|
|
4754
|
+
sortInt *= -1;
|
|
4755
|
+
}
|
|
4756
|
+
|
|
4757
|
+
return sortInt;
|
|
4526
4758
|
}
|
|
4759
|
+
}
|
|
4527
4760
|
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
|
|
4761
|
+
return rowA.index - rowB.index;
|
|
4762
|
+
}); // If there are sub-rows, sort them
|
|
4763
|
+
|
|
4764
|
+
sortedData.forEach(function (row) {
|
|
4765
|
+
sortedFlatRows.push(row);
|
|
4766
|
+
|
|
4767
|
+
if (!row.subRows || row.subRows.length <= 1) {
|
|
4768
|
+
return;
|
|
4769
|
+
}
|
|
4770
|
+
|
|
4771
|
+
row.subRows = sortData(row.subRows);
|
|
4538
4772
|
});
|
|
4539
|
-
|
|
4540
|
-
}
|
|
4541
|
-
|
|
4773
|
+
return sortedData;
|
|
4774
|
+
};
|
|
4775
|
+
|
|
4776
|
+
return {
|
|
4777
|
+
rows: sortData(rowModel.rows),
|
|
4778
|
+
flatRows: sortedFlatRows,
|
|
4779
|
+
rowsById: rowModel.rowsById
|
|
4780
|
+
};
|
|
4781
|
+
}, {
|
|
4782
|
+
key: 'getSortedRowModel',
|
|
4783
|
+
debug: function debug() {
|
|
4784
|
+
var _instance$options$deb;
|
|
4785
|
+
|
|
4786
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4787
|
+
},
|
|
4788
|
+
onChange: function onChange() {
|
|
4789
|
+
instance._notifyGroupingReset();
|
|
4542
4790
|
}
|
|
4543
4791
|
});
|
|
4544
|
-
return values;
|
|
4545
4792
|
};
|
|
4793
|
+
}
|
|
4546
4794
|
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4795
|
+
function getGroupedRowModelSync() {
|
|
4796
|
+
return function (instance) {
|
|
4797
|
+
return memo(function () {
|
|
4798
|
+
return [instance.getState().grouping, instance.getSortedRowModel()];
|
|
4799
|
+
}, function (grouping, rowModel) {
|
|
4800
|
+
if (!rowModel.rows.length || !grouping.length) {
|
|
4801
|
+
return rowModel;
|
|
4802
|
+
} // Filter the grouping list down to columns that exist
|
|
4553
4803
|
|
|
4554
|
-
var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
|
|
4555
|
-
if (depth === void 0) {
|
|
4556
|
-
depth = 0;
|
|
4557
|
-
}
|
|
4558
4804
|
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
|
|
4562
|
-
|
|
4805
|
+
var existingGrouping = grouping.filter(function (columnId) {
|
|
4806
|
+
return instance.getColumn(columnId);
|
|
4807
|
+
}); // Find the columns that can or are aggregating
|
|
4808
|
+
// Uses each column to aggregate rows into a single value
|
|
4563
4809
|
|
|
4564
|
-
|
|
4810
|
+
var aggregateRowsToValues = function aggregateRowsToValues(leafRows, groupedRows, depth) {
|
|
4811
|
+
var values = {};
|
|
4812
|
+
instance.getAllLeafColumns().forEach(function (column) {
|
|
4813
|
+
// Don't aggregate columns that are in the grouping
|
|
4814
|
+
if (existingGrouping.includes(column.id)) {
|
|
4815
|
+
values[column.id] = groupedRows[0] ? groupedRows[0].values[column.id] : null;
|
|
4816
|
+
return;
|
|
4817
|
+
} // Aggregate the values
|
|
4565
4818
|
|
|
4566
|
-
var rowGroupsMap = groupBy(rows, columnId); // Peform aggregations for each group
|
|
4567
4819
|
|
|
4568
|
-
|
|
4569
|
-
var groupingValue = _ref[0],
|
|
4570
|
-
groupedRows = _ref[1];
|
|
4571
|
-
var id = columnId + ":" + groupingValue;
|
|
4572
|
-
id = parentId ? parentId + ">" + id : id; // First, Recurse to group sub rows before aggregation
|
|
4820
|
+
var aggregateFn = instance.getColumnAggregationFn(column.id);
|
|
4573
4821
|
|
|
4574
|
-
|
|
4822
|
+
if (aggregateFn) {
|
|
4823
|
+
values[column.id] = aggregateFn(function () {
|
|
4824
|
+
return leafRows.map(function (row) {
|
|
4825
|
+
var columnValue = row.values[column.id];
|
|
4575
4826
|
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
|
|
4587
|
-
|
|
4827
|
+
if (!depth && column.aggregateValue) {
|
|
4828
|
+
columnValue = column.aggregateValue(columnValue);
|
|
4829
|
+
}
|
|
4830
|
+
|
|
4831
|
+
return columnValue;
|
|
4832
|
+
});
|
|
4833
|
+
}, function () {
|
|
4834
|
+
return groupedRows.map(function (row) {
|
|
4835
|
+
return row.values[column.id];
|
|
4836
|
+
});
|
|
4837
|
+
});
|
|
4838
|
+
} else if (column.aggregationType) {
|
|
4839
|
+
console.info({
|
|
4840
|
+
column: column
|
|
4841
|
+
});
|
|
4842
|
+
throw new Error(process.env.NODE_ENV !== 'production' ? "Table: Invalid column.aggregateType option for column listed above" : '');
|
|
4843
|
+
} else {
|
|
4844
|
+
values[column.id] = null;
|
|
4845
|
+
}
|
|
4846
|
+
});
|
|
4847
|
+
return values;
|
|
4848
|
+
};
|
|
4849
|
+
|
|
4850
|
+
var groupedFlatRows = [];
|
|
4851
|
+
var groupedRowsById = {}; // const onlyGroupedFlatRows: Row[] = [];
|
|
4852
|
+
// const onlyGroupedRowsById: Record<RowId, Row> = {};
|
|
4853
|
+
// const nonGroupedFlatRows: Row[] = [];
|
|
4854
|
+
// const nonGroupedRowsById: Record<RowId, Row> = {};
|
|
4855
|
+
// Recursively group the data
|
|
4856
|
+
|
|
4857
|
+
var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
|
|
4858
|
+
if (depth === void 0) {
|
|
4859
|
+
depth = 0;
|
|
4860
|
+
}
|
|
4861
|
+
|
|
4862
|
+
// This is the last level, just return the rows
|
|
4863
|
+
if (depth === existingGrouping.length) {
|
|
4864
|
+
return rows;
|
|
4865
|
+
}
|
|
4866
|
+
|
|
4867
|
+
var columnId = existingGrouping[depth]; // Group the rows together for this level
|
|
4868
|
+
|
|
4869
|
+
var rowGroupsMap = groupBy(rows, columnId); // Peform aggregations for each group
|
|
4870
|
+
|
|
4871
|
+
var aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(function (_ref, index) {
|
|
4872
|
+
var groupingValue = _ref[0],
|
|
4873
|
+
groupedRows = _ref[1];
|
|
4874
|
+
var id = columnId + ":" + groupingValue;
|
|
4875
|
+
id = parentId ? parentId + ">" + id : id; // First, Recurse to group sub rows before aggregation
|
|
4876
|
+
|
|
4877
|
+
var subRows = groupUpRecursively(groupedRows, depth + 1, id); // Flatten the leaf rows of the rows in this group
|
|
4878
|
+
|
|
4879
|
+
var leafRows = depth ? flattenBy(groupedRows, function (row) {
|
|
4880
|
+
return row.subRows;
|
|
4881
|
+
}) : groupedRows;
|
|
4882
|
+
var values = aggregateRowsToValues(leafRows, groupedRows, depth);
|
|
4883
|
+
var row = instance.createRow(id, undefined, index, depth, values);
|
|
4884
|
+
Object.assign(row, {
|
|
4885
|
+
groupingColumnId: columnId,
|
|
4886
|
+
groupingValue: groupingValue,
|
|
4887
|
+
subRows: subRows,
|
|
4888
|
+
leafRows: leafRows
|
|
4889
|
+
});
|
|
4890
|
+
subRows.forEach(function (subRow) {
|
|
4891
|
+
groupedFlatRows.push(subRow);
|
|
4892
|
+
groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) {
|
|
4893
|
+
// onlyGroupedFlatRows.push(subRow);
|
|
4894
|
+
// onlyGroupedRowsById[subRow.id] = subRow;
|
|
4895
|
+
// } else {
|
|
4896
|
+
// nonGroupedFlatRows.push(subRow);
|
|
4897
|
+
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4898
|
+
// }
|
|
4899
|
+
});
|
|
4900
|
+
return row;
|
|
4901
|
+
});
|
|
4902
|
+
return aggregatedGroupedRows;
|
|
4903
|
+
};
|
|
4904
|
+
|
|
4905
|
+
var groupedRows = groupUpRecursively(rowModel.rows, 0, '');
|
|
4906
|
+
groupedRows.forEach(function (subRow) {
|
|
4588
4907
|
groupedFlatRows.push(subRow);
|
|
4589
4908
|
groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) {
|
|
4590
4909
|
// onlyGroupedFlatRows.push(subRow);
|
|
@@ -4594,26 +4913,22 @@ function groupRowsFn(instance, sortedRowModel) {
|
|
|
4594
4913
|
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4595
4914
|
// }
|
|
4596
4915
|
});
|
|
4597
|
-
return
|
|
4598
|
-
|
|
4599
|
-
|
|
4600
|
-
|
|
4916
|
+
return {
|
|
4917
|
+
rows: groupedRows,
|
|
4918
|
+
flatRows: groupedFlatRows,
|
|
4919
|
+
rowsById: groupedRowsById
|
|
4920
|
+
};
|
|
4921
|
+
}, {
|
|
4922
|
+
key: 'getGroupedRowModel',
|
|
4923
|
+
debug: function debug() {
|
|
4924
|
+
var _instance$options$deb;
|
|
4601
4925
|
|
|
4602
|
-
|
|
4603
|
-
|
|
4604
|
-
|
|
4605
|
-
|
|
4606
|
-
|
|
4607
|
-
|
|
4608
|
-
// } else {
|
|
4609
|
-
// nonGroupedFlatRows.push(subRow);
|
|
4610
|
-
// nonGroupedRowsById[subRow.id] = subRow;
|
|
4611
|
-
// }
|
|
4612
|
-
});
|
|
4613
|
-
return {
|
|
4614
|
-
rows: groupedRows,
|
|
4615
|
-
flatRows: groupedFlatRows,
|
|
4616
|
-
rowsById: groupedRowsById
|
|
4926
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4927
|
+
},
|
|
4928
|
+
onChange: function onChange() {
|
|
4929
|
+
return instance._notifyExpandedReset();
|
|
4930
|
+
}
|
|
4931
|
+
});
|
|
4617
4932
|
};
|
|
4618
4933
|
}
|
|
4619
4934
|
|
|
@@ -4633,7 +4948,28 @@ function groupBy(rows, columnId) {
|
|
|
4633
4948
|
}, groupMap);
|
|
4634
4949
|
}
|
|
4635
4950
|
|
|
4636
|
-
function
|
|
4951
|
+
function getExpandedRowModel() {
|
|
4952
|
+
return function (instance) {
|
|
4953
|
+
return memo(function () {
|
|
4954
|
+
return [instance.getState().expanded, instance.getGroupedRowModel(), instance.options.paginateExpandedRows];
|
|
4955
|
+
}, function (expanded, rowModel, paginateExpandedRows) {
|
|
4956
|
+
if (!rowModel.rows.length || // Do not expand if rows are not included in pagination
|
|
4957
|
+
!paginateExpandedRows || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
|
|
4958
|
+
return rowModel;
|
|
4959
|
+
}
|
|
4960
|
+
|
|
4961
|
+
return expandRows(rowModel, instance);
|
|
4962
|
+
}, {
|
|
4963
|
+
key: 'getExpandedRowModel',
|
|
4964
|
+
debug: function debug() {
|
|
4965
|
+
var _instance$options$deb;
|
|
4966
|
+
|
|
4967
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
4968
|
+
}
|
|
4969
|
+
});
|
|
4970
|
+
};
|
|
4971
|
+
}
|
|
4972
|
+
function expandRows(rowModel, instance) {
|
|
4637
4973
|
var expandedRows = [];
|
|
4638
4974
|
|
|
4639
4975
|
var handleRow = function handleRow(row) {
|
|
@@ -4646,39 +4982,55 @@ function expandRowsFn(instance, sortedRowModel) {
|
|
|
4646
4982
|
}
|
|
4647
4983
|
};
|
|
4648
4984
|
|
|
4649
|
-
|
|
4985
|
+
rowModel.rows.forEach(handleRow);
|
|
4650
4986
|
return {
|
|
4651
4987
|
rows: expandedRows,
|
|
4652
|
-
flatRows:
|
|
4653
|
-
rowsById:
|
|
4988
|
+
flatRows: rowModel.flatRows,
|
|
4989
|
+
rowsById: rowModel.rowsById
|
|
4654
4990
|
};
|
|
4655
4991
|
}
|
|
4656
4992
|
|
|
4657
|
-
function
|
|
4658
|
-
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
|
|
4663
|
-
|
|
4664
|
-
|
|
4665
|
-
var pageEnd = pageStart + pageSize;
|
|
4666
|
-
rows = rows.slice(pageStart, pageEnd);
|
|
4667
|
-
|
|
4668
|
-
if (!instance.options.paginateExpandedRows) {
|
|
4669
|
-
return expandRowsFn(instance, {
|
|
4670
|
-
rows: rows,
|
|
4671
|
-
flatRows: flatRows,
|
|
4672
|
-
rowsById: rowsById
|
|
4673
|
-
});
|
|
4674
|
-
}
|
|
4993
|
+
function getPaginationRowModel(opts) {
|
|
4994
|
+
return function (instance) {
|
|
4995
|
+
return memo(function () {
|
|
4996
|
+
return [instance.getState().pagination, instance.getExpandedRowModel()];
|
|
4997
|
+
}, function (pagination, rowModel) {
|
|
4998
|
+
if (!rowModel.rows.length) {
|
|
4999
|
+
return rowModel;
|
|
5000
|
+
}
|
|
4675
5001
|
|
|
4676
|
-
|
|
4677
|
-
|
|
4678
|
-
|
|
4679
|
-
|
|
5002
|
+
var pageSize = pagination.pageSize,
|
|
5003
|
+
pageIndex = pagination.pageIndex;
|
|
5004
|
+
var rows = rowModel.rows,
|
|
5005
|
+
flatRows = rowModel.flatRows,
|
|
5006
|
+
rowsById = rowModel.rowsById;
|
|
5007
|
+
var pageStart = pageSize * pageIndex;
|
|
5008
|
+
var pageEnd = pageStart + pageSize;
|
|
5009
|
+
rows = rows.slice(pageStart, pageEnd);
|
|
5010
|
+
|
|
5011
|
+
if (!instance.options.paginateExpandedRows) {
|
|
5012
|
+
return expandRows({
|
|
5013
|
+
rows: rows,
|
|
5014
|
+
flatRows: flatRows,
|
|
5015
|
+
rowsById: rowsById
|
|
5016
|
+
}, instance);
|
|
5017
|
+
}
|
|
5018
|
+
|
|
5019
|
+
return {
|
|
5020
|
+
rows: rows,
|
|
5021
|
+
flatRows: flatRows,
|
|
5022
|
+
rowsById: rowsById
|
|
5023
|
+
};
|
|
5024
|
+
}, {
|
|
5025
|
+
key: 'getPaginationRowModel',
|
|
5026
|
+
debug: function debug() {
|
|
5027
|
+
var _instance$options$deb;
|
|
5028
|
+
|
|
5029
|
+
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
|
|
5030
|
+
}
|
|
5031
|
+
});
|
|
4680
5032
|
};
|
|
4681
5033
|
}
|
|
4682
5034
|
|
|
4683
|
-
export { ColumnSizing, Expanding, Filters, Grouping, Headers, Ordering, Pagination, Pinning, RowSelection, Sorting, Visibility, buildHeaderGroups,
|
|
5035
|
+
export { ColumnSizing, Expanding, Filters, Grouping, Headers, Ordering, Pagination, Pinning, RowSelection, Sorting, Visibility, buildHeaderGroups, createTableInstance, defaultColumnSizing, expandRows, flattenBy, functionalUpdate, getBatchGroups, getColumnFilteredRowModelSync, getCoreRowModelAsync, getCoreRowModelSync, getExpandedRowModel, getGlobalFilteredRowModelSync, getGroupedRowModelSync, getPaginationRowModel, getSortedRowModelSync, incrementalMemo, init, isFunction, isRowSelected, makeStateUpdater, memo, noop, passiveEventSupported, propGetter, selectRowsFn, shouldAutoRemoveFilter };
|
|
4684
5036
|
//# sourceMappingURL=index.js.map
|