@tanstack/table-core 8.13.1 → 8.14.0
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/lib/aggregationFns.d.ts +1 -1
- package/build/lib/aggregationFns.js.map +1 -1
- package/build/lib/core/column.js +1 -1
- package/build/lib/core/column.js.map +1 -1
- package/build/lib/core/headers.d.ts +1 -2
- package/build/lib/core/headers.js.map +1 -1
- package/build/lib/core/row.js.map +1 -1
- package/build/lib/core/table.d.ts +7 -11
- package/build/lib/core/table.js +21 -13
- package/build/lib/core/table.js.map +1 -1
- package/build/lib/features/ColumnFaceting.d.ts +34 -0
- package/build/lib/features/ColumnFaceting.js +42 -0
- package/build/lib/features/ColumnFaceting.js.map +1 -0
- package/build/lib/features/{Filters.d.ts → ColumnFiltering.d.ts} +29 -132
- package/build/lib/features/{Filters.js → ColumnFiltering.js} +8 -83
- package/build/lib/features/ColumnFiltering.js.map +1 -0
- package/build/lib/features/{Grouping.d.ts → ColumnGrouping.d.ts} +2 -3
- package/build/lib/features/{Grouping.js → ColumnGrouping.js} +3 -3
- package/build/lib/features/ColumnGrouping.js.map +1 -0
- package/build/lib/features/{Ordering.d.ts → ColumnOrdering.d.ts} +2 -3
- package/build/lib/features/{Ordering.js → ColumnOrdering.js} +9 -9
- package/build/lib/features/ColumnOrdering.js.map +1 -0
- package/build/lib/features/ColumnPinning.d.ts +126 -0
- package/build/lib/features/{Pinning.js → ColumnPinning.js} +4 -115
- package/build/lib/features/ColumnPinning.js.map +1 -0
- package/build/lib/features/ColumnSizing.d.ts +2 -3
- package/build/lib/features/ColumnSizing.js +3 -3
- package/build/lib/features/ColumnSizing.js.map +1 -1
- package/build/lib/features/{Visibility.d.ts → ColumnVisibility.d.ts} +2 -3
- package/build/lib/features/{Visibility.js → ColumnVisibility.js} +3 -3
- package/build/lib/features/ColumnVisibility.js.map +1 -0
- package/build/lib/features/GlobalFiltering.d.ts +100 -0
- package/build/lib/features/GlobalFiltering.js +85 -0
- package/build/lib/features/GlobalFiltering.js.map +1 -0
- package/build/lib/features/{Expanding.d.ts → RowExpanding.d.ts} +2 -3
- package/build/lib/features/{Expanding.js → RowExpanding.js} +3 -3
- package/build/lib/features/RowExpanding.js.map +1 -0
- package/build/lib/features/{Pagination.d.ts → RowPagination.d.ts} +2 -3
- package/build/lib/features/{Pagination.js → RowPagination.js} +3 -3
- package/build/lib/features/RowPagination.js.map +1 -0
- package/build/lib/features/RowPinning.d.ts +98 -0
- package/build/lib/features/RowPinning.js +145 -0
- package/build/lib/features/RowPinning.js.map +1 -0
- package/build/lib/features/RowSelection.d.ts +1 -2
- package/build/lib/features/RowSelection.js.map +1 -1
- package/build/lib/features/{Sorting.d.ts → RowSorting.d.ts} +5 -3
- package/build/lib/features/{Sorting.js → RowSorting.js} +3 -3
- package/build/lib/features/RowSorting.js.map +1 -0
- package/build/lib/filterFns.d.ts +1 -1
- package/build/lib/filterFns.js.map +1 -1
- package/build/lib/index.d.ts +21 -18
- package/build/lib/index.esm.js +1490 -1446
- package/build/lib/index.esm.js.map +1 -1
- package/build/lib/index.js +47 -41
- package/build/lib/index.js.map +1 -1
- package/build/lib/index.mjs +1490 -1446
- package/build/lib/index.mjs.map +1 -1
- package/build/lib/sortingFns.d.ts +1 -1
- package/build/lib/sortingFns.js.map +1 -1
- package/build/lib/types.d.ts +30 -16
- package/build/lib/utils/getFilteredRowModel.js.map +1 -1
- package/build/lib/utils/getSortedRowModel.js.map +1 -1
- package/build/lib/utils.d.ts +1 -1
- package/build/lib/utils.js.map +1 -1
- package/build/umd/index.development.js +1500 -1453
- 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/aggregationFns.ts +1 -1
- package/src/core/column.ts +2 -2
- package/src/core/headers.ts +9 -3
- package/src/core/row.ts +1 -1
- package/src/core/table.ts +40 -32
- package/src/features/ColumnFaceting.ts +84 -0
- package/src/features/{Filters.ts → ColumnFiltering.ts} +44 -279
- package/src/features/{Grouping.ts → ColumnGrouping.ts} +6 -6
- package/src/features/{Ordering.ts → ColumnOrdering.ts} +11 -5
- package/src/features/ColumnPinning.ts +336 -0
- package/src/features/ColumnSizing.ts +10 -3
- package/src/features/{Visibility.ts → ColumnVisibility.ts} +2 -2
- package/src/features/GlobalFiltering.ts +218 -0
- package/src/features/{Expanding.ts → RowExpanding.ts} +9 -3
- package/src/features/{Pagination.ts → RowPagination.ts} +9 -3
- package/src/features/RowPinning.ts +273 -0
- package/src/features/RowSelection.ts +9 -2
- package/src/features/{Sorting.ts → RowSorting.ts} +5 -2
- package/src/filterFns.ts +1 -1
- package/src/index.ts +30 -18
- package/src/sortingFns.ts +1 -1
- package/src/types.ts +60 -23
- package/src/utils/getFilteredRowModel.ts +1 -1
- package/src/utils/getSortedRowModel.ts +1 -1
- package/src/utils.ts +9 -11
- package/build/lib/features/Expanding.js.map +0 -1
- package/build/lib/features/Filters.js.map +0 -1
- package/build/lib/features/Grouping.js.map +0 -1
- package/build/lib/features/Ordering.js.map +0 -1
- package/build/lib/features/Pagination.js.map +0 -1
- package/build/lib/features/Pinning.d.ts +0 -222
- package/build/lib/features/Pinning.js.map +0 -1
- package/build/lib/features/Sorting.js.map +0 -1
- package/build/lib/features/Visibility.js.map +0 -1
- package/src/features/Pinning.ts +0 -573
package/build/lib/index.mjs
CHANGED
|
@@ -8,6 +8,63 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @license MIT
|
|
10
10
|
*/
|
|
11
|
+
// type Person = {
|
|
12
|
+
// firstName: string
|
|
13
|
+
// lastName: string
|
|
14
|
+
// age: number
|
|
15
|
+
// visits: number
|
|
16
|
+
// status: string
|
|
17
|
+
// progress: number
|
|
18
|
+
// createdAt: Date
|
|
19
|
+
// nested: {
|
|
20
|
+
// foo: [
|
|
21
|
+
// {
|
|
22
|
+
// bar: 'bar'
|
|
23
|
+
// }
|
|
24
|
+
// ]
|
|
25
|
+
// bar: { subBar: boolean }[]
|
|
26
|
+
// baz: {
|
|
27
|
+
// foo: 'foo'
|
|
28
|
+
// bar: {
|
|
29
|
+
// baz: 'baz'
|
|
30
|
+
// }
|
|
31
|
+
// }
|
|
32
|
+
// }
|
|
33
|
+
// }
|
|
34
|
+
|
|
35
|
+
// const test: DeepKeys<Person> = 'nested.foo.0.bar'
|
|
36
|
+
// const test2: DeepKeys<Person> = 'nested.bar'
|
|
37
|
+
|
|
38
|
+
// const helper = createColumnHelper<Person>()
|
|
39
|
+
|
|
40
|
+
// helper.accessor('nested.foo', {
|
|
41
|
+
// cell: info => info.getValue(),
|
|
42
|
+
// })
|
|
43
|
+
|
|
44
|
+
// helper.accessor('nested.foo.0.bar', {
|
|
45
|
+
// cell: info => info.getValue(),
|
|
46
|
+
// })
|
|
47
|
+
|
|
48
|
+
// helper.accessor('nested.bar', {
|
|
49
|
+
// cell: info => info.getValue(),
|
|
50
|
+
// })
|
|
51
|
+
|
|
52
|
+
function createColumnHelper() {
|
|
53
|
+
return {
|
|
54
|
+
accessor: (accessor, column) => {
|
|
55
|
+
return typeof accessor === 'function' ? {
|
|
56
|
+
...column,
|
|
57
|
+
accessorFn: accessor
|
|
58
|
+
} : {
|
|
59
|
+
...column,
|
|
60
|
+
accessorKey: accessor
|
|
61
|
+
};
|
|
62
|
+
},
|
|
63
|
+
display: column => column,
|
|
64
|
+
group: column => column
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
11
68
|
// Is this type a tuple?
|
|
12
69
|
|
|
13
70
|
// If this type is a tuple, what indices are allowed?
|
|
@@ -98,6 +155,32 @@ function getMemoOptions(tableOptions, debugLevel, key, onChange) {
|
|
|
98
155
|
};
|
|
99
156
|
}
|
|
100
157
|
|
|
158
|
+
function createCell(table, row, column, columnId) {
|
|
159
|
+
const getRenderValue = () => {
|
|
160
|
+
var _cell$getValue;
|
|
161
|
+
return (_cell$getValue = cell.getValue()) != null ? _cell$getValue : table.options.renderFallbackValue;
|
|
162
|
+
};
|
|
163
|
+
const cell = {
|
|
164
|
+
id: `${row.id}_${column.id}`,
|
|
165
|
+
row,
|
|
166
|
+
column,
|
|
167
|
+
getValue: () => row.getValue(columnId),
|
|
168
|
+
renderValue: getRenderValue,
|
|
169
|
+
getContext: memo(() => [table, column, row, cell], (table, column, row, cell) => ({
|
|
170
|
+
table,
|
|
171
|
+
column,
|
|
172
|
+
row,
|
|
173
|
+
cell: cell,
|
|
174
|
+
getValue: cell.getValue,
|
|
175
|
+
renderValue: cell.renderValue
|
|
176
|
+
}), getMemoOptions(table.options, 'debugCells', 'cell.getContext'))
|
|
177
|
+
};
|
|
178
|
+
table._features.forEach(feature => {
|
|
179
|
+
feature.createCell == null || feature.createCell(cell, column, row, table);
|
|
180
|
+
}, {});
|
|
181
|
+
return cell;
|
|
182
|
+
}
|
|
183
|
+
|
|
101
184
|
function createColumn(table, columnDef, depth, parent) {
|
|
102
185
|
var _ref, _resolvedColumnDef$id;
|
|
103
186
|
const defaultColumn = table._getDefaultColumnDef();
|
|
@@ -158,7 +241,7 @@ function createColumn(table, columnDef, depth, parent) {
|
|
|
158
241
|
feature.createColumn == null || feature.createColumn(column, table);
|
|
159
242
|
}
|
|
160
243
|
|
|
161
|
-
// Yes, we have to convert table to
|
|
244
|
+
// Yes, we have to convert table to unknown, because we know more than the compiler here.
|
|
162
245
|
return column;
|
|
163
246
|
}
|
|
164
247
|
|
|
@@ -415,656 +498,1087 @@ function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
|
|
|
415
498
|
return headerGroups;
|
|
416
499
|
}
|
|
417
500
|
|
|
418
|
-
|
|
501
|
+
const createRow = (table, id, original, rowIndex, depth, subRows, parentId) => {
|
|
502
|
+
let row = {
|
|
503
|
+
id,
|
|
504
|
+
index: rowIndex,
|
|
505
|
+
original,
|
|
506
|
+
depth,
|
|
507
|
+
parentId,
|
|
508
|
+
_valuesCache: {},
|
|
509
|
+
_uniqueValuesCache: {},
|
|
510
|
+
getValue: columnId => {
|
|
511
|
+
if (row._valuesCache.hasOwnProperty(columnId)) {
|
|
512
|
+
return row._valuesCache[columnId];
|
|
513
|
+
}
|
|
514
|
+
const column = table.getColumn(columnId);
|
|
515
|
+
if (!(column != null && column.accessorFn)) {
|
|
516
|
+
return undefined;
|
|
517
|
+
}
|
|
518
|
+
row._valuesCache[columnId] = column.accessorFn(row.original, rowIndex);
|
|
519
|
+
return row._valuesCache[columnId];
|
|
520
|
+
},
|
|
521
|
+
getUniqueValues: columnId => {
|
|
522
|
+
if (row._uniqueValuesCache.hasOwnProperty(columnId)) {
|
|
523
|
+
return row._uniqueValuesCache[columnId];
|
|
524
|
+
}
|
|
525
|
+
const column = table.getColumn(columnId);
|
|
526
|
+
if (!(column != null && column.accessorFn)) {
|
|
527
|
+
return undefined;
|
|
528
|
+
}
|
|
529
|
+
if (!column.columnDef.getUniqueValues) {
|
|
530
|
+
row._uniqueValuesCache[columnId] = [row.getValue(columnId)];
|
|
531
|
+
return row._uniqueValuesCache[columnId];
|
|
532
|
+
}
|
|
533
|
+
row._uniqueValuesCache[columnId] = column.columnDef.getUniqueValues(row.original, rowIndex);
|
|
534
|
+
return row._uniqueValuesCache[columnId];
|
|
535
|
+
},
|
|
536
|
+
renderValue: columnId => {
|
|
537
|
+
var _row$getValue;
|
|
538
|
+
return (_row$getValue = row.getValue(columnId)) != null ? _row$getValue : table.options.renderFallbackValue;
|
|
539
|
+
},
|
|
540
|
+
subRows: subRows != null ? subRows : [],
|
|
541
|
+
getLeafRows: () => flattenBy(row.subRows, d => d.subRows),
|
|
542
|
+
getParentRow: () => row.parentId ? table.getRow(row.parentId, true) : undefined,
|
|
543
|
+
getParentRows: () => {
|
|
544
|
+
let parentRows = [];
|
|
545
|
+
let currentRow = row;
|
|
546
|
+
while (true) {
|
|
547
|
+
const parentRow = currentRow.getParentRow();
|
|
548
|
+
if (!parentRow) break;
|
|
549
|
+
parentRows.push(parentRow);
|
|
550
|
+
currentRow = parentRow;
|
|
551
|
+
}
|
|
552
|
+
return parentRows.reverse();
|
|
553
|
+
},
|
|
554
|
+
getAllCells: memo(() => [table.getAllLeafColumns()], leafColumns => {
|
|
555
|
+
return leafColumns.map(column => {
|
|
556
|
+
return createCell(table, row, column, column.id);
|
|
557
|
+
});
|
|
558
|
+
}, getMemoOptions(table.options, 'debugRows', 'getAllCells')),
|
|
559
|
+
_getAllCellsByColumnId: memo(() => [row.getAllCells()], allCells => {
|
|
560
|
+
return allCells.reduce((acc, cell) => {
|
|
561
|
+
acc[cell.column.id] = cell;
|
|
562
|
+
return acc;
|
|
563
|
+
}, {});
|
|
564
|
+
}, getMemoOptions(table.options, 'debugRows', 'getAllCellsByColumnId'))
|
|
565
|
+
};
|
|
566
|
+
for (let i = 0; i < table._features.length; i++) {
|
|
567
|
+
const feature = table._features[i];
|
|
568
|
+
feature == null || feature.createRow == null || feature.createRow(row, table);
|
|
569
|
+
}
|
|
570
|
+
return row;
|
|
571
|
+
};
|
|
419
572
|
|
|
420
573
|
//
|
|
421
574
|
|
|
422
|
-
const
|
|
423
|
-
size: 150,
|
|
424
|
-
minSize: 20,
|
|
425
|
-
maxSize: Number.MAX_SAFE_INTEGER
|
|
426
|
-
};
|
|
427
|
-
const getDefaultColumnSizingInfoState = () => ({
|
|
428
|
-
startOffset: null,
|
|
429
|
-
startSize: null,
|
|
430
|
-
deltaOffset: null,
|
|
431
|
-
deltaPercentage: null,
|
|
432
|
-
isResizingColumn: false,
|
|
433
|
-
columnSizingStart: []
|
|
434
|
-
});
|
|
435
|
-
const ColumnSizing = {
|
|
436
|
-
getDefaultColumnDef: () => {
|
|
437
|
-
return defaultColumnSizing;
|
|
438
|
-
},
|
|
439
|
-
getInitialState: state => {
|
|
440
|
-
return {
|
|
441
|
-
columnSizing: {},
|
|
442
|
-
columnSizingInfo: getDefaultColumnSizingInfoState(),
|
|
443
|
-
...state
|
|
444
|
-
};
|
|
445
|
-
},
|
|
446
|
-
getDefaultOptions: table => {
|
|
447
|
-
return {
|
|
448
|
-
columnResizeMode: 'onEnd',
|
|
449
|
-
columnResizeDirection: 'ltr',
|
|
450
|
-
onColumnSizingChange: makeStateUpdater('columnSizing', table),
|
|
451
|
-
onColumnSizingInfoChange: makeStateUpdater('columnSizingInfo', table)
|
|
452
|
-
};
|
|
453
|
-
},
|
|
575
|
+
const ColumnFaceting = {
|
|
454
576
|
createColumn: (column, table) => {
|
|
455
|
-
column.
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
column.getAfter = memo(position => [position, _getVisibleLeafColumns(table, position), table.getState().columnSizing], (position, columns) => columns.slice(column.getIndex(position) + 1).reduce((sum, column) => sum + column.getSize(), 0), getMemoOptions(table.options, 'debugColumns', 'getAfter'));
|
|
462
|
-
column.resetSize = () => {
|
|
463
|
-
table.setColumnSizing(_ref2 => {
|
|
464
|
-
let {
|
|
465
|
-
[column.id]: _,
|
|
466
|
-
...rest
|
|
467
|
-
} = _ref2;
|
|
468
|
-
return rest;
|
|
469
|
-
});
|
|
470
|
-
};
|
|
471
|
-
column.getCanResize = () => {
|
|
472
|
-
var _column$columnDef$ena, _table$options$enable;
|
|
473
|
-
return ((_column$columnDef$ena = column.columnDef.enableResizing) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableColumnResizing) != null ? _table$options$enable : true);
|
|
474
|
-
};
|
|
475
|
-
column.getIsResizing = () => {
|
|
476
|
-
return table.getState().columnSizingInfo.isResizingColumn === column.id;
|
|
577
|
+
column._getFacetedRowModel = table.options.getFacetedRowModel && table.options.getFacetedRowModel(table, column.id);
|
|
578
|
+
column.getFacetedRowModel = () => {
|
|
579
|
+
if (!column._getFacetedRowModel) {
|
|
580
|
+
return table.getPreFilteredRowModel();
|
|
581
|
+
}
|
|
582
|
+
return column._getFacetedRowModel();
|
|
477
583
|
};
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
header.subHeaders.forEach(recurse);
|
|
485
|
-
} else {
|
|
486
|
-
var _header$column$getSiz;
|
|
487
|
-
sum += (_header$column$getSiz = header.column.getSize()) != null ? _header$column$getSiz : 0;
|
|
488
|
-
}
|
|
489
|
-
};
|
|
490
|
-
recurse(header);
|
|
491
|
-
return sum;
|
|
584
|
+
column._getFacetedUniqueValues = table.options.getFacetedUniqueValues && table.options.getFacetedUniqueValues(table, column.id);
|
|
585
|
+
column.getFacetedUniqueValues = () => {
|
|
586
|
+
if (!column._getFacetedUniqueValues) {
|
|
587
|
+
return new Map();
|
|
588
|
+
}
|
|
589
|
+
return column._getFacetedUniqueValues();
|
|
492
590
|
};
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
return
|
|
591
|
+
column._getFacetedMinMaxValues = table.options.getFacetedMinMaxValues && table.options.getFacetedMinMaxValues(table, column.id);
|
|
592
|
+
column.getFacetedMinMaxValues = () => {
|
|
593
|
+
if (!column._getFacetedMinMaxValues) {
|
|
594
|
+
return undefined;
|
|
497
595
|
}
|
|
498
|
-
return
|
|
499
|
-
};
|
|
500
|
-
header.getResizeHandler = _contextDocument => {
|
|
501
|
-
const column = table.getColumn(header.column.id);
|
|
502
|
-
const canResize = column == null ? void 0 : column.getCanResize();
|
|
503
|
-
return e => {
|
|
504
|
-
if (!column || !canResize) {
|
|
505
|
-
return;
|
|
506
|
-
}
|
|
507
|
-
e.persist == null || e.persist();
|
|
508
|
-
if (isTouchStartEvent(e)) {
|
|
509
|
-
// lets not respond to multiple touches (e.g. 2 or 3 fingers)
|
|
510
|
-
if (e.touches && e.touches.length > 1) {
|
|
511
|
-
return;
|
|
512
|
-
}
|
|
513
|
-
}
|
|
514
|
-
const startSize = header.getSize();
|
|
515
|
-
const columnSizingStart = header ? header.getLeafHeaders().map(d => [d.column.id, d.column.getSize()]) : [[column.id, column.getSize()]];
|
|
516
|
-
const clientX = isTouchStartEvent(e) ? Math.round(e.touches[0].clientX) : e.clientX;
|
|
517
|
-
const newColumnSizing = {};
|
|
518
|
-
const updateOffset = (eventType, clientXPos) => {
|
|
519
|
-
if (typeof clientXPos !== 'number') {
|
|
520
|
-
return;
|
|
521
|
-
}
|
|
522
|
-
table.setColumnSizingInfo(old => {
|
|
523
|
-
var _old$startOffset, _old$startSize;
|
|
524
|
-
const deltaDirection = table.options.columnResizeDirection === 'rtl' ? -1 : 1;
|
|
525
|
-
const deltaOffset = (clientXPos - ((_old$startOffset = old == null ? void 0 : old.startOffset) != null ? _old$startOffset : 0)) * deltaDirection;
|
|
526
|
-
const deltaPercentage = Math.max(deltaOffset / ((_old$startSize = old == null ? void 0 : old.startSize) != null ? _old$startSize : 0), -0.999999);
|
|
527
|
-
old.columnSizingStart.forEach(_ref3 => {
|
|
528
|
-
let [columnId, headerSize] = _ref3;
|
|
529
|
-
newColumnSizing[columnId] = Math.round(Math.max(headerSize + headerSize * deltaPercentage, 0) * 100) / 100;
|
|
530
|
-
});
|
|
531
|
-
return {
|
|
532
|
-
...old,
|
|
533
|
-
deltaOffset,
|
|
534
|
-
deltaPercentage
|
|
535
|
-
};
|
|
536
|
-
});
|
|
537
|
-
if (table.options.columnResizeMode === 'onChange' || eventType === 'end') {
|
|
538
|
-
table.setColumnSizing(old => ({
|
|
539
|
-
...old,
|
|
540
|
-
...newColumnSizing
|
|
541
|
-
}));
|
|
542
|
-
}
|
|
543
|
-
};
|
|
544
|
-
const onMove = clientXPos => updateOffset('move', clientXPos);
|
|
545
|
-
const onEnd = clientXPos => {
|
|
546
|
-
updateOffset('end', clientXPos);
|
|
547
|
-
table.setColumnSizingInfo(old => ({
|
|
548
|
-
...old,
|
|
549
|
-
isResizingColumn: false,
|
|
550
|
-
startOffset: null,
|
|
551
|
-
startSize: null,
|
|
552
|
-
deltaOffset: null,
|
|
553
|
-
deltaPercentage: null,
|
|
554
|
-
columnSizingStart: []
|
|
555
|
-
}));
|
|
556
|
-
};
|
|
557
|
-
const contextDocument = _contextDocument || typeof document !== 'undefined' ? document : null;
|
|
558
|
-
const mouseEvents = {
|
|
559
|
-
moveHandler: e => onMove(e.clientX),
|
|
560
|
-
upHandler: e => {
|
|
561
|
-
contextDocument == null || contextDocument.removeEventListener('mousemove', mouseEvents.moveHandler);
|
|
562
|
-
contextDocument == null || contextDocument.removeEventListener('mouseup', mouseEvents.upHandler);
|
|
563
|
-
onEnd(e.clientX);
|
|
564
|
-
}
|
|
565
|
-
};
|
|
566
|
-
const touchEvents = {
|
|
567
|
-
moveHandler: e => {
|
|
568
|
-
if (e.cancelable) {
|
|
569
|
-
e.preventDefault();
|
|
570
|
-
e.stopPropagation();
|
|
571
|
-
}
|
|
572
|
-
onMove(e.touches[0].clientX);
|
|
573
|
-
return false;
|
|
574
|
-
},
|
|
575
|
-
upHandler: e => {
|
|
576
|
-
var _e$touches$;
|
|
577
|
-
contextDocument == null || contextDocument.removeEventListener('touchmove', touchEvents.moveHandler);
|
|
578
|
-
contextDocument == null || contextDocument.removeEventListener('touchend', touchEvents.upHandler);
|
|
579
|
-
if (e.cancelable) {
|
|
580
|
-
e.preventDefault();
|
|
581
|
-
e.stopPropagation();
|
|
582
|
-
}
|
|
583
|
-
onEnd((_e$touches$ = e.touches[0]) == null ? void 0 : _e$touches$.clientX);
|
|
584
|
-
}
|
|
585
|
-
};
|
|
586
|
-
const passiveIfSupported = passiveEventSupported() ? {
|
|
587
|
-
passive: false
|
|
588
|
-
} : false;
|
|
589
|
-
if (isTouchStartEvent(e)) {
|
|
590
|
-
contextDocument == null || contextDocument.addEventListener('touchmove', touchEvents.moveHandler, passiveIfSupported);
|
|
591
|
-
contextDocument == null || contextDocument.addEventListener('touchend', touchEvents.upHandler, passiveIfSupported);
|
|
592
|
-
} else {
|
|
593
|
-
contextDocument == null || contextDocument.addEventListener('mousemove', mouseEvents.moveHandler, passiveIfSupported);
|
|
594
|
-
contextDocument == null || contextDocument.addEventListener('mouseup', mouseEvents.upHandler, passiveIfSupported);
|
|
595
|
-
}
|
|
596
|
-
table.setColumnSizingInfo(old => ({
|
|
597
|
-
...old,
|
|
598
|
-
startOffset: clientX,
|
|
599
|
-
startSize,
|
|
600
|
-
deltaOffset: 0,
|
|
601
|
-
deltaPercentage: 0,
|
|
602
|
-
columnSizingStart,
|
|
603
|
-
isResizingColumn: column.id
|
|
604
|
-
}));
|
|
605
|
-
};
|
|
606
|
-
};
|
|
607
|
-
},
|
|
608
|
-
createTable: table => {
|
|
609
|
-
table.setColumnSizing = updater => table.options.onColumnSizingChange == null ? void 0 : table.options.onColumnSizingChange(updater);
|
|
610
|
-
table.setColumnSizingInfo = updater => table.options.onColumnSizingInfoChange == null ? void 0 : table.options.onColumnSizingInfoChange(updater);
|
|
611
|
-
table.resetColumnSizing = defaultState => {
|
|
612
|
-
var _table$initialState$c;
|
|
613
|
-
table.setColumnSizing(defaultState ? {} : (_table$initialState$c = table.initialState.columnSizing) != null ? _table$initialState$c : {});
|
|
614
|
-
};
|
|
615
|
-
table.resetHeaderSizeInfo = defaultState => {
|
|
616
|
-
var _table$initialState$c2;
|
|
617
|
-
table.setColumnSizingInfo(defaultState ? getDefaultColumnSizingInfoState() : (_table$initialState$c2 = table.initialState.columnSizingInfo) != null ? _table$initialState$c2 : getDefaultColumnSizingInfoState());
|
|
618
|
-
};
|
|
619
|
-
table.getTotalSize = () => {
|
|
620
|
-
var _table$getHeaderGroup, _table$getHeaderGroup2;
|
|
621
|
-
return (_table$getHeaderGroup = (_table$getHeaderGroup2 = table.getHeaderGroups()[0]) == null ? void 0 : _table$getHeaderGroup2.headers.reduce((sum, header) => {
|
|
622
|
-
return sum + header.getSize();
|
|
623
|
-
}, 0)) != null ? _table$getHeaderGroup : 0;
|
|
624
|
-
};
|
|
625
|
-
table.getLeftTotalSize = () => {
|
|
626
|
-
var _table$getLeftHeaderG, _table$getLeftHeaderG2;
|
|
627
|
-
return (_table$getLeftHeaderG = (_table$getLeftHeaderG2 = table.getLeftHeaderGroups()[0]) == null ? void 0 : _table$getLeftHeaderG2.headers.reduce((sum, header) => {
|
|
628
|
-
return sum + header.getSize();
|
|
629
|
-
}, 0)) != null ? _table$getLeftHeaderG : 0;
|
|
630
|
-
};
|
|
631
|
-
table.getCenterTotalSize = () => {
|
|
632
|
-
var _table$getCenterHeade, _table$getCenterHeade2;
|
|
633
|
-
return (_table$getCenterHeade = (_table$getCenterHeade2 = table.getCenterHeaderGroups()[0]) == null ? void 0 : _table$getCenterHeade2.headers.reduce((sum, header) => {
|
|
634
|
-
return sum + header.getSize();
|
|
635
|
-
}, 0)) != null ? _table$getCenterHeade : 0;
|
|
636
|
-
};
|
|
637
|
-
table.getRightTotalSize = () => {
|
|
638
|
-
var _table$getRightHeader, _table$getRightHeader2;
|
|
639
|
-
return (_table$getRightHeader = (_table$getRightHeader2 = table.getRightHeaderGroups()[0]) == null ? void 0 : _table$getRightHeader2.headers.reduce((sum, header) => {
|
|
640
|
-
return sum + header.getSize();
|
|
641
|
-
}, 0)) != null ? _table$getRightHeader : 0;
|
|
596
|
+
return column._getFacetedMinMaxValues();
|
|
642
597
|
};
|
|
643
598
|
}
|
|
644
599
|
};
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
600
|
+
|
|
601
|
+
const includesString = (row, columnId, filterValue) => {
|
|
602
|
+
var _row$getValue;
|
|
603
|
+
const search = filterValue.toLowerCase();
|
|
604
|
+
return Boolean((_row$getValue = row.getValue(columnId)) == null || (_row$getValue = _row$getValue.toString()) == null || (_row$getValue = _row$getValue.toLowerCase()) == null ? void 0 : _row$getValue.includes(search));
|
|
605
|
+
};
|
|
606
|
+
includesString.autoRemove = val => testFalsey(val);
|
|
607
|
+
const includesStringSensitive = (row, columnId, filterValue) => {
|
|
608
|
+
var _row$getValue2;
|
|
609
|
+
return Boolean((_row$getValue2 = row.getValue(columnId)) == null || (_row$getValue2 = _row$getValue2.toString()) == null ? void 0 : _row$getValue2.includes(filterValue));
|
|
610
|
+
};
|
|
611
|
+
includesStringSensitive.autoRemove = val => testFalsey(val);
|
|
612
|
+
const equalsString = (row, columnId, filterValue) => {
|
|
613
|
+
var _row$getValue3;
|
|
614
|
+
return ((_row$getValue3 = row.getValue(columnId)) == null || (_row$getValue3 = _row$getValue3.toString()) == null ? void 0 : _row$getValue3.toLowerCase()) === (filterValue == null ? void 0 : filterValue.toLowerCase());
|
|
615
|
+
};
|
|
616
|
+
equalsString.autoRemove = val => testFalsey(val);
|
|
617
|
+
const arrIncludes = (row, columnId, filterValue) => {
|
|
618
|
+
var _row$getValue4;
|
|
619
|
+
return (_row$getValue4 = row.getValue(columnId)) == null ? void 0 : _row$getValue4.includes(filterValue);
|
|
620
|
+
};
|
|
621
|
+
arrIncludes.autoRemove = val => testFalsey(val) || !(val != null && val.length);
|
|
622
|
+
const arrIncludesAll = (row, columnId, filterValue) => {
|
|
623
|
+
return !filterValue.some(val => {
|
|
624
|
+
var _row$getValue5;
|
|
625
|
+
return !((_row$getValue5 = row.getValue(columnId)) != null && _row$getValue5.includes(val));
|
|
626
|
+
});
|
|
627
|
+
};
|
|
628
|
+
arrIncludesAll.autoRemove = val => testFalsey(val) || !(val != null && val.length);
|
|
629
|
+
const arrIncludesSome = (row, columnId, filterValue) => {
|
|
630
|
+
return filterValue.some(val => {
|
|
631
|
+
var _row$getValue6;
|
|
632
|
+
return (_row$getValue6 = row.getValue(columnId)) == null ? void 0 : _row$getValue6.includes(val);
|
|
633
|
+
});
|
|
634
|
+
};
|
|
635
|
+
arrIncludesSome.autoRemove = val => testFalsey(val) || !(val != null && val.length);
|
|
636
|
+
const equals = (row, columnId, filterValue) => {
|
|
637
|
+
return row.getValue(columnId) === filterValue;
|
|
638
|
+
};
|
|
639
|
+
equals.autoRemove = val => testFalsey(val);
|
|
640
|
+
const weakEquals = (row, columnId, filterValue) => {
|
|
641
|
+
return row.getValue(columnId) == filterValue;
|
|
642
|
+
};
|
|
643
|
+
weakEquals.autoRemove = val => testFalsey(val);
|
|
644
|
+
const inNumberRange = (row, columnId, filterValue) => {
|
|
645
|
+
let [min, max] = filterValue;
|
|
646
|
+
const rowValue = row.getValue(columnId);
|
|
647
|
+
return rowValue >= min && rowValue <= max;
|
|
648
|
+
};
|
|
649
|
+
inNumberRange.resolveFilterValue = val => {
|
|
650
|
+
let [unsafeMin, unsafeMax] = val;
|
|
651
|
+
let parsedMin = typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin;
|
|
652
|
+
let parsedMax = typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax;
|
|
653
|
+
let min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin;
|
|
654
|
+
let max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax;
|
|
655
|
+
if (min > max) {
|
|
656
|
+
const temp = min;
|
|
657
|
+
min = max;
|
|
658
|
+
max = temp;
|
|
661
659
|
}
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
660
|
+
return [min, max];
|
|
661
|
+
};
|
|
662
|
+
inNumberRange.autoRemove = val => testFalsey(val) || testFalsey(val[0]) && testFalsey(val[1]);
|
|
663
|
+
|
|
664
|
+
// Export
|
|
665
|
+
|
|
666
|
+
const filterFns = {
|
|
667
|
+
includesString,
|
|
668
|
+
includesStringSensitive,
|
|
669
|
+
equalsString,
|
|
670
|
+
arrIncludes,
|
|
671
|
+
arrIncludesAll,
|
|
672
|
+
arrIncludesSome,
|
|
673
|
+
equals,
|
|
674
|
+
weakEquals,
|
|
675
|
+
inNumberRange
|
|
676
|
+
};
|
|
677
|
+
// Utils
|
|
678
|
+
|
|
679
|
+
function testFalsey(val) {
|
|
680
|
+
return val === undefined || val === null || val === '';
|
|
667
681
|
}
|
|
668
682
|
|
|
669
683
|
//
|
|
670
684
|
|
|
671
|
-
const
|
|
685
|
+
const ColumnFiltering = {
|
|
686
|
+
getDefaultColumnDef: () => {
|
|
687
|
+
return {
|
|
688
|
+
filterFn: 'auto'
|
|
689
|
+
};
|
|
690
|
+
},
|
|
672
691
|
getInitialState: state => {
|
|
673
692
|
return {
|
|
674
|
-
|
|
693
|
+
columnFilters: [],
|
|
675
694
|
...state
|
|
676
695
|
};
|
|
677
696
|
},
|
|
678
697
|
getDefaultOptions: table => {
|
|
679
698
|
return {
|
|
680
|
-
|
|
681
|
-
|
|
699
|
+
onColumnFiltersChange: makeStateUpdater('columnFilters', table),
|
|
700
|
+
filterFromLeafRows: false,
|
|
701
|
+
maxLeafRowFilterDepth: 100
|
|
682
702
|
};
|
|
683
703
|
},
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
table._queue(() => {
|
|
691
|
-
registered = true;
|
|
692
|
-
});
|
|
693
|
-
return;
|
|
694
|
-
}
|
|
695
|
-
if ((_ref = (_table$options$autoRe = table.options.autoResetAll) != null ? _table$options$autoRe : table.options.autoResetExpanded) != null ? _ref : !table.options.manualExpanding) {
|
|
696
|
-
if (queued) return;
|
|
697
|
-
queued = true;
|
|
698
|
-
table._queue(() => {
|
|
699
|
-
table.resetExpanded();
|
|
700
|
-
queued = false;
|
|
701
|
-
});
|
|
704
|
+
createColumn: (column, table) => {
|
|
705
|
+
column.getAutoFilterFn = () => {
|
|
706
|
+
const firstRow = table.getCoreRowModel().flatRows[0];
|
|
707
|
+
const value = firstRow == null ? void 0 : firstRow.getValue(column.id);
|
|
708
|
+
if (typeof value === 'string') {
|
|
709
|
+
return filterFns.includesString;
|
|
702
710
|
}
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
table.toggleAllRowsExpanded = expanded => {
|
|
706
|
-
if (expanded != null ? expanded : !table.getIsAllRowsExpanded()) {
|
|
707
|
-
table.setExpanded(true);
|
|
708
|
-
} else {
|
|
709
|
-
table.setExpanded({});
|
|
711
|
+
if (typeof value === 'number') {
|
|
712
|
+
return filterFns.inNumberRange;
|
|
710
713
|
}
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
var _table$initialState$e, _table$initialState;
|
|
714
|
-
table.setExpanded(defaultState ? {} : (_table$initialState$e = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.expanded) != null ? _table$initialState$e : {});
|
|
715
|
-
};
|
|
716
|
-
table.getCanSomeRowsExpand = () => {
|
|
717
|
-
return table.getPrePaginationRowModel().flatRows.some(row => row.getCanExpand());
|
|
718
|
-
};
|
|
719
|
-
table.getToggleAllRowsExpandedHandler = () => {
|
|
720
|
-
return e => {
|
|
721
|
-
e.persist == null || e.persist();
|
|
722
|
-
table.toggleAllRowsExpanded();
|
|
723
|
-
};
|
|
724
|
-
};
|
|
725
|
-
table.getIsSomeRowsExpanded = () => {
|
|
726
|
-
const expanded = table.getState().expanded;
|
|
727
|
-
return expanded === true || Object.values(expanded).some(Boolean);
|
|
728
|
-
};
|
|
729
|
-
table.getIsAllRowsExpanded = () => {
|
|
730
|
-
const expanded = table.getState().expanded;
|
|
731
|
-
|
|
732
|
-
// If expanded is true, save some cycles and return true
|
|
733
|
-
if (typeof expanded === 'boolean') {
|
|
734
|
-
return expanded === true;
|
|
714
|
+
if (typeof value === 'boolean') {
|
|
715
|
+
return filterFns.equals;
|
|
735
716
|
}
|
|
736
|
-
if (
|
|
737
|
-
return
|
|
717
|
+
if (value !== null && typeof value === 'object') {
|
|
718
|
+
return filterFns.equals;
|
|
738
719
|
}
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
if (table.getRowModel().flatRows.some(row => !row.getIsExpanded())) {
|
|
742
|
-
return false;
|
|
720
|
+
if (Array.isArray(value)) {
|
|
721
|
+
return filterFns.arrIncludes;
|
|
743
722
|
}
|
|
744
|
-
|
|
745
|
-
// They must all be expanded :shrug:
|
|
746
|
-
return true;
|
|
723
|
+
return filterFns.weakEquals;
|
|
747
724
|
};
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
const splitId = id.split('.');
|
|
753
|
-
maxDepth = Math.max(maxDepth, splitId.length);
|
|
754
|
-
});
|
|
755
|
-
return maxDepth;
|
|
725
|
+
column.getFilterFn = () => {
|
|
726
|
+
var _table$options$filter, _table$options$filter2;
|
|
727
|
+
return isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === 'auto' ? column.getAutoFilterFn() : // @ts-ignore
|
|
728
|
+
(_table$options$filter = (_table$options$filter2 = table.options.filterFns) == null ? void 0 : _table$options$filter2[column.columnDef.filterFn]) != null ? _table$options$filter : filterFns[column.columnDef.filterFn];
|
|
756
729
|
};
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
table._getExpandedRowModel = table.options.getExpandedRowModel(table);
|
|
761
|
-
}
|
|
762
|
-
if (table.options.manualExpanding || !table._getExpandedRowModel) {
|
|
763
|
-
return table.getPreExpandedRowModel();
|
|
764
|
-
}
|
|
765
|
-
return table._getExpandedRowModel();
|
|
730
|
+
column.getCanFilter = () => {
|
|
731
|
+
var _column$columnDef$ena, _table$options$enable, _table$options$enable2;
|
|
732
|
+
return ((_column$columnDef$ena = column.columnDef.enableColumnFilter) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableColumnFilters) != null ? _table$options$enable : true) && ((_table$options$enable2 = table.options.enableFilters) != null ? _table$options$enable2 : true) && !!column.accessorFn;
|
|
766
733
|
};
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
table.
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
734
|
+
column.getIsFiltered = () => column.getFilterIndex() > -1;
|
|
735
|
+
column.getFilterValue = () => {
|
|
736
|
+
var _table$getState$colum;
|
|
737
|
+
return (_table$getState$colum = table.getState().columnFilters) == null || (_table$getState$colum = _table$getState$colum.find(d => d.id === column.id)) == null ? void 0 : _table$getState$colum.value;
|
|
738
|
+
};
|
|
739
|
+
column.getFilterIndex = () => {
|
|
740
|
+
var _table$getState$colum2, _table$getState$colum3;
|
|
741
|
+
return (_table$getState$colum2 = (_table$getState$colum3 = table.getState().columnFilters) == null ? void 0 : _table$getState$colum3.findIndex(d => d.id === column.id)) != null ? _table$getState$colum2 : -1;
|
|
742
|
+
};
|
|
743
|
+
column.setFilterValue = value => {
|
|
744
|
+
table.setColumnFilters(old => {
|
|
745
|
+
const filterFn = column.getFilterFn();
|
|
746
|
+
const previousFilter = old == null ? void 0 : old.find(d => d.id === column.id);
|
|
747
|
+
const newFilter = functionalUpdate(value, previousFilter ? previousFilter.value : undefined);
|
|
748
|
+
|
|
749
|
+
//
|
|
750
|
+
if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {
|
|
751
|
+
var _old$filter;
|
|
752
|
+
return (_old$filter = old == null ? void 0 : old.filter(d => d.id !== column.id)) != null ? _old$filter : [];
|
|
780
753
|
}
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
754
|
+
const newFilterObj = {
|
|
755
|
+
id: column.id,
|
|
756
|
+
value: newFilter
|
|
757
|
+
};
|
|
758
|
+
if (previousFilter) {
|
|
759
|
+
var _old$map;
|
|
760
|
+
return (_old$map = old == null ? void 0 : old.map(d => {
|
|
761
|
+
if (d.id === column.id) {
|
|
762
|
+
return newFilterObj;
|
|
763
|
+
}
|
|
764
|
+
return d;
|
|
765
|
+
})) != null ? _old$map : [];
|
|
787
766
|
}
|
|
788
|
-
if (
|
|
789
|
-
|
|
790
|
-
[row.id]: _,
|
|
791
|
-
...rest
|
|
792
|
-
} = oldExpanded;
|
|
793
|
-
return rest;
|
|
767
|
+
if (old != null && old.length) {
|
|
768
|
+
return [...old, newFilterObj];
|
|
794
769
|
}
|
|
795
|
-
return
|
|
770
|
+
return [newFilterObj];
|
|
796
771
|
});
|
|
797
772
|
};
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
773
|
+
},
|
|
774
|
+
createRow: (row, _table) => {
|
|
775
|
+
row.columnFilters = {};
|
|
776
|
+
row.columnFiltersMeta = {};
|
|
777
|
+
},
|
|
778
|
+
createTable: table => {
|
|
779
|
+
table.setColumnFilters = updater => {
|
|
780
|
+
const leafColumns = table.getAllLeafColumns();
|
|
781
|
+
const updateFn = old => {
|
|
782
|
+
var _functionalUpdate;
|
|
783
|
+
return (_functionalUpdate = functionalUpdate(updater, old)) == null ? void 0 : _functionalUpdate.filter(filter => {
|
|
784
|
+
const column = leafColumns.find(d => d.id === filter.id);
|
|
785
|
+
if (column) {
|
|
786
|
+
const filterFn = column.getFilterFn();
|
|
787
|
+
if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {
|
|
788
|
+
return false;
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
return true;
|
|
792
|
+
});
|
|
793
|
+
};
|
|
794
|
+
table.options.onColumnFiltersChange == null || table.options.onColumnFiltersChange(updateFn);
|
|
802
795
|
};
|
|
803
|
-
|
|
804
|
-
var _table$
|
|
805
|
-
|
|
796
|
+
table.resetColumnFilters = defaultState => {
|
|
797
|
+
var _table$initialState$c, _table$initialState;
|
|
798
|
+
table.setColumnFilters(defaultState ? [] : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnFilters) != null ? _table$initialState$c : []);
|
|
806
799
|
};
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
currentRow = table.getRow(currentRow.parentId, true);
|
|
812
|
-
isFullyExpanded = currentRow.getIsExpanded();
|
|
800
|
+
table.getPreFilteredRowModel = () => table.getCoreRowModel();
|
|
801
|
+
table.getFilteredRowModel = () => {
|
|
802
|
+
if (!table._getFilteredRowModel && table.options.getFilteredRowModel) {
|
|
803
|
+
table._getFilteredRowModel = table.options.getFilteredRowModel(table);
|
|
813
804
|
}
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
return () => {
|
|
819
|
-
if (!canExpand) return;
|
|
820
|
-
row.toggleExpanded();
|
|
821
|
-
};
|
|
805
|
+
if (table.options.manualFiltering || !table._getFilteredRowModel) {
|
|
806
|
+
return table.getPreFilteredRowModel();
|
|
807
|
+
}
|
|
808
|
+
return table._getFilteredRowModel();
|
|
822
809
|
};
|
|
823
810
|
}
|
|
824
811
|
};
|
|
812
|
+
function shouldAutoRemoveFilter(filterFn, value, column) {
|
|
813
|
+
return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === 'undefined' || typeof value === 'string' && !value;
|
|
814
|
+
}
|
|
825
815
|
|
|
826
|
-
const
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
return
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
var _row$getValue2;
|
|
834
|
-
return Boolean((_row$getValue2 = row.getValue(columnId)) == null || (_row$getValue2 = _row$getValue2.toString()) == null ? void 0 : _row$getValue2.includes(filterValue));
|
|
835
|
-
};
|
|
836
|
-
includesStringSensitive.autoRemove = val => testFalsey(val);
|
|
837
|
-
const equalsString = (row, columnId, filterValue) => {
|
|
838
|
-
var _row$getValue3;
|
|
839
|
-
return ((_row$getValue3 = row.getValue(columnId)) == null || (_row$getValue3 = _row$getValue3.toString()) == null ? void 0 : _row$getValue3.toLowerCase()) === (filterValue == null ? void 0 : filterValue.toLowerCase());
|
|
840
|
-
};
|
|
841
|
-
equalsString.autoRemove = val => testFalsey(val);
|
|
842
|
-
const arrIncludes = (row, columnId, filterValue) => {
|
|
843
|
-
var _row$getValue4;
|
|
844
|
-
return (_row$getValue4 = row.getValue(columnId)) == null ? void 0 : _row$getValue4.includes(filterValue);
|
|
816
|
+
const sum = (columnId, _leafRows, childRows) => {
|
|
817
|
+
// It's faster to just add the aggregations together instead of
|
|
818
|
+
// process leaf nodes individually
|
|
819
|
+
return childRows.reduce((sum, next) => {
|
|
820
|
+
const nextValue = next.getValue(columnId);
|
|
821
|
+
return sum + (typeof nextValue === 'number' ? nextValue : 0);
|
|
822
|
+
}, 0);
|
|
845
823
|
};
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
824
|
+
const min = (columnId, _leafRows, childRows) => {
|
|
825
|
+
let min;
|
|
826
|
+
childRows.forEach(row => {
|
|
827
|
+
const value = row.getValue(columnId);
|
|
828
|
+
if (value != null && (min > value || min === undefined && value >= value)) {
|
|
829
|
+
min = value;
|
|
830
|
+
}
|
|
851
831
|
});
|
|
832
|
+
return min;
|
|
852
833
|
};
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
834
|
+
const max = (columnId, _leafRows, childRows) => {
|
|
835
|
+
let max;
|
|
836
|
+
childRows.forEach(row => {
|
|
837
|
+
const value = row.getValue(columnId);
|
|
838
|
+
if (value != null && (max < value || max === undefined && value >= value)) {
|
|
839
|
+
max = value;
|
|
840
|
+
}
|
|
858
841
|
});
|
|
842
|
+
return max;
|
|
859
843
|
};
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
844
|
+
const extent = (columnId, _leafRows, childRows) => {
|
|
845
|
+
let min;
|
|
846
|
+
let max;
|
|
847
|
+
childRows.forEach(row => {
|
|
848
|
+
const value = row.getValue(columnId);
|
|
849
|
+
if (value != null) {
|
|
850
|
+
if (min === undefined) {
|
|
851
|
+
if (value >= value) min = max = value;
|
|
852
|
+
} else {
|
|
853
|
+
if (min > value) min = value;
|
|
854
|
+
if (max < value) max = value;
|
|
855
|
+
}
|
|
856
|
+
}
|
|
857
|
+
});
|
|
858
|
+
return [min, max];
|
|
859
|
+
};
|
|
860
|
+
const mean = (columnId, leafRows) => {
|
|
861
|
+
let count = 0;
|
|
862
|
+
let sum = 0;
|
|
863
|
+
leafRows.forEach(row => {
|
|
864
|
+
let value = row.getValue(columnId);
|
|
865
|
+
if (value != null && (value = +value) >= value) {
|
|
866
|
+
++count, sum += value;
|
|
867
|
+
}
|
|
868
|
+
});
|
|
869
|
+
if (count) return sum / count;
|
|
870
|
+
return;
|
|
871
|
+
};
|
|
872
|
+
const median = (columnId, leafRows) => {
|
|
873
|
+
if (!leafRows.length) {
|
|
874
|
+
return;
|
|
875
|
+
}
|
|
876
|
+
const values = leafRows.map(row => row.getValue(columnId));
|
|
877
|
+
if (!isNumberArray(values)) {
|
|
878
|
+
return;
|
|
879
|
+
}
|
|
880
|
+
if (values.length === 1) {
|
|
881
|
+
return values[0];
|
|
882
|
+
}
|
|
883
|
+
const mid = Math.floor(values.length / 2);
|
|
884
|
+
const nums = values.sort((a, b) => a - b);
|
|
885
|
+
return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;
|
|
886
|
+
};
|
|
887
|
+
const unique = (columnId, leafRows) => {
|
|
888
|
+
return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values());
|
|
889
|
+
};
|
|
890
|
+
const uniqueCount = (columnId, leafRows) => {
|
|
891
|
+
return new Set(leafRows.map(d => d.getValue(columnId))).size;
|
|
892
|
+
};
|
|
893
|
+
const count = (_columnId, leafRows) => {
|
|
894
|
+
return leafRows.length;
|
|
895
|
+
};
|
|
896
|
+
const aggregationFns = {
|
|
897
|
+
sum,
|
|
898
|
+
min,
|
|
899
|
+
max,
|
|
900
|
+
extent,
|
|
901
|
+
mean,
|
|
902
|
+
median,
|
|
903
|
+
unique,
|
|
904
|
+
uniqueCount,
|
|
905
|
+
count
|
|
906
|
+
};
|
|
907
|
+
|
|
908
|
+
//
|
|
909
|
+
|
|
910
|
+
const ColumnGrouping = {
|
|
911
|
+
getDefaultColumnDef: () => {
|
|
912
|
+
return {
|
|
913
|
+
aggregatedCell: props => {
|
|
914
|
+
var _toString, _props$getValue;
|
|
915
|
+
return (_toString = (_props$getValue = props.getValue()) == null || _props$getValue.toString == null ? void 0 : _props$getValue.toString()) != null ? _toString : null;
|
|
916
|
+
},
|
|
917
|
+
aggregationFn: 'auto'
|
|
918
|
+
};
|
|
919
|
+
},
|
|
920
|
+
getInitialState: state => {
|
|
921
|
+
return {
|
|
922
|
+
grouping: [],
|
|
923
|
+
...state
|
|
924
|
+
};
|
|
925
|
+
},
|
|
926
|
+
getDefaultOptions: table => {
|
|
927
|
+
return {
|
|
928
|
+
onGroupingChange: makeStateUpdater('grouping', table),
|
|
929
|
+
groupedColumnMode: 'reorder'
|
|
930
|
+
};
|
|
931
|
+
},
|
|
932
|
+
createColumn: (column, table) => {
|
|
933
|
+
column.toggleGrouping = () => {
|
|
934
|
+
table.setGrouping(old => {
|
|
935
|
+
// Find any existing grouping for this column
|
|
936
|
+
if (old != null && old.includes(column.id)) {
|
|
937
|
+
return old.filter(d => d !== column.id);
|
|
938
|
+
}
|
|
939
|
+
return [...(old != null ? old : []), column.id];
|
|
940
|
+
});
|
|
941
|
+
};
|
|
942
|
+
column.getCanGroup = () => {
|
|
943
|
+
var _ref, _ref2, _ref3, _column$columnDef$ena;
|
|
944
|
+
return (_ref = (_ref2 = (_ref3 = (_column$columnDef$ena = column.columnDef.enableGrouping) != null ? _column$columnDef$ena : true) != null ? _ref3 : table.options.enableGrouping) != null ? _ref2 : true) != null ? _ref : !!column.accessorFn;
|
|
945
|
+
};
|
|
946
|
+
column.getIsGrouped = () => {
|
|
947
|
+
var _table$getState$group;
|
|
948
|
+
return (_table$getState$group = table.getState().grouping) == null ? void 0 : _table$getState$group.includes(column.id);
|
|
949
|
+
};
|
|
950
|
+
column.getGroupedIndex = () => {
|
|
951
|
+
var _table$getState$group2;
|
|
952
|
+
return (_table$getState$group2 = table.getState().grouping) == null ? void 0 : _table$getState$group2.indexOf(column.id);
|
|
953
|
+
};
|
|
954
|
+
column.getToggleGroupingHandler = () => {
|
|
955
|
+
const canGroup = column.getCanGroup();
|
|
956
|
+
return () => {
|
|
957
|
+
if (!canGroup) return;
|
|
958
|
+
column.toggleGrouping();
|
|
959
|
+
};
|
|
960
|
+
};
|
|
961
|
+
column.getAutoAggregationFn = () => {
|
|
962
|
+
const firstRow = table.getCoreRowModel().flatRows[0];
|
|
963
|
+
const value = firstRow == null ? void 0 : firstRow.getValue(column.id);
|
|
964
|
+
if (typeof value === 'number') {
|
|
965
|
+
return aggregationFns.sum;
|
|
966
|
+
}
|
|
967
|
+
if (Object.prototype.toString.call(value) === '[object Date]') {
|
|
968
|
+
return aggregationFns.extent;
|
|
969
|
+
}
|
|
970
|
+
};
|
|
971
|
+
column.getAggregationFn = () => {
|
|
972
|
+
var _table$options$aggreg, _table$options$aggreg2;
|
|
973
|
+
if (!column) {
|
|
974
|
+
throw new Error();
|
|
975
|
+
}
|
|
976
|
+
return isFunction(column.columnDef.aggregationFn) ? column.columnDef.aggregationFn : column.columnDef.aggregationFn === 'auto' ? column.getAutoAggregationFn() : (_table$options$aggreg = (_table$options$aggreg2 = table.options.aggregationFns) == null ? void 0 : _table$options$aggreg2[column.columnDef.aggregationFn]) != null ? _table$options$aggreg : aggregationFns[column.columnDef.aggregationFn];
|
|
977
|
+
};
|
|
978
|
+
},
|
|
979
|
+
createTable: table => {
|
|
980
|
+
table.setGrouping = updater => table.options.onGroupingChange == null ? void 0 : table.options.onGroupingChange(updater);
|
|
981
|
+
table.resetGrouping = defaultState => {
|
|
982
|
+
var _table$initialState$g, _table$initialState;
|
|
983
|
+
table.setGrouping(defaultState ? [] : (_table$initialState$g = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.grouping) != null ? _table$initialState$g : []);
|
|
984
|
+
};
|
|
985
|
+
table.getPreGroupedRowModel = () => table.getFilteredRowModel();
|
|
986
|
+
table.getGroupedRowModel = () => {
|
|
987
|
+
if (!table._getGroupedRowModel && table.options.getGroupedRowModel) {
|
|
988
|
+
table._getGroupedRowModel = table.options.getGroupedRowModel(table);
|
|
989
|
+
}
|
|
990
|
+
if (table.options.manualGrouping || !table._getGroupedRowModel) {
|
|
991
|
+
return table.getPreGroupedRowModel();
|
|
992
|
+
}
|
|
993
|
+
return table._getGroupedRowModel();
|
|
994
|
+
};
|
|
995
|
+
},
|
|
996
|
+
createRow: (row, table) => {
|
|
997
|
+
row.getIsGrouped = () => !!row.groupingColumnId;
|
|
998
|
+
row.getGroupingValue = columnId => {
|
|
999
|
+
if (row._groupingValuesCache.hasOwnProperty(columnId)) {
|
|
1000
|
+
return row._groupingValuesCache[columnId];
|
|
1001
|
+
}
|
|
1002
|
+
const column = table.getColumn(columnId);
|
|
1003
|
+
if (!(column != null && column.columnDef.getGroupingValue)) {
|
|
1004
|
+
return row.getValue(columnId);
|
|
1005
|
+
}
|
|
1006
|
+
row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(row.original);
|
|
1007
|
+
return row._groupingValuesCache[columnId];
|
|
1008
|
+
};
|
|
1009
|
+
row._groupingValuesCache = {};
|
|
1010
|
+
},
|
|
1011
|
+
createCell: (cell, column, row, table) => {
|
|
1012
|
+
cell.getIsGrouped = () => column.getIsGrouped() && column.id === row.groupingColumnId;
|
|
1013
|
+
cell.getIsPlaceholder = () => !cell.getIsGrouped() && column.getIsGrouped();
|
|
1014
|
+
cell.getIsAggregated = () => {
|
|
1015
|
+
var _row$subRows;
|
|
1016
|
+
return !cell.getIsGrouped() && !cell.getIsPlaceholder() && !!((_row$subRows = row.subRows) != null && _row$subRows.length);
|
|
1017
|
+
};
|
|
1018
|
+
}
|
|
1019
|
+
};
|
|
1020
|
+
function orderColumns(leafColumns, grouping, groupedColumnMode) {
|
|
1021
|
+
if (!(grouping != null && grouping.length) || !groupedColumnMode) {
|
|
1022
|
+
return leafColumns;
|
|
1023
|
+
}
|
|
1024
|
+
const nonGroupingColumns = leafColumns.filter(col => !grouping.includes(col.id));
|
|
1025
|
+
if (groupedColumnMode === 'remove') {
|
|
1026
|
+
return nonGroupingColumns;
|
|
1027
|
+
}
|
|
1028
|
+
const groupingColumns = grouping.map(g => leafColumns.find(col => col.id === g)).filter(Boolean);
|
|
1029
|
+
return [...groupingColumns, ...nonGroupingColumns];
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
//
|
|
1033
|
+
|
|
1034
|
+
const ColumnOrdering = {
|
|
1035
|
+
getInitialState: state => {
|
|
1036
|
+
return {
|
|
1037
|
+
columnOrder: [],
|
|
1038
|
+
...state
|
|
1039
|
+
};
|
|
1040
|
+
},
|
|
1041
|
+
getDefaultOptions: table => {
|
|
1042
|
+
return {
|
|
1043
|
+
onColumnOrderChange: makeStateUpdater('columnOrder', table)
|
|
1044
|
+
};
|
|
1045
|
+
},
|
|
1046
|
+
createColumn: (column, table) => {
|
|
1047
|
+
column.getIndex = memo(position => [_getVisibleLeafColumns(table, position)], columns => columns.findIndex(d => d.id === column.id), getMemoOptions(table.options, 'debugColumns', 'getIndex'));
|
|
1048
|
+
column.getIsFirstColumn = position => {
|
|
1049
|
+
var _columns$;
|
|
1050
|
+
const columns = _getVisibleLeafColumns(table, position);
|
|
1051
|
+
return ((_columns$ = columns[0]) == null ? void 0 : _columns$.id) === column.id;
|
|
1052
|
+
};
|
|
1053
|
+
column.getIsLastColumn = position => {
|
|
1054
|
+
var _columns;
|
|
1055
|
+
const columns = _getVisibleLeafColumns(table, position);
|
|
1056
|
+
return ((_columns = columns[columns.length - 1]) == null ? void 0 : _columns.id) === column.id;
|
|
1057
|
+
};
|
|
1058
|
+
},
|
|
1059
|
+
createTable: table => {
|
|
1060
|
+
table.setColumnOrder = updater => table.options.onColumnOrderChange == null ? void 0 : table.options.onColumnOrderChange(updater);
|
|
1061
|
+
table.resetColumnOrder = defaultState => {
|
|
1062
|
+
var _table$initialState$c;
|
|
1063
|
+
table.setColumnOrder(defaultState ? [] : (_table$initialState$c = table.initialState.columnOrder) != null ? _table$initialState$c : []);
|
|
1064
|
+
};
|
|
1065
|
+
table._getOrderColumnsFn = memo(() => [table.getState().columnOrder, table.getState().grouping, table.options.groupedColumnMode], (columnOrder, grouping, groupedColumnMode) => columns => {
|
|
1066
|
+
// Sort grouped columns to the start of the column list
|
|
1067
|
+
// before the headers are built
|
|
1068
|
+
let orderedColumns = [];
|
|
1069
|
+
|
|
1070
|
+
// If there is no order, return the normal columns
|
|
1071
|
+
if (!(columnOrder != null && columnOrder.length)) {
|
|
1072
|
+
orderedColumns = columns;
|
|
1073
|
+
} else {
|
|
1074
|
+
const columnOrderCopy = [...columnOrder];
|
|
1075
|
+
|
|
1076
|
+
// If there is an order, make a copy of the columns
|
|
1077
|
+
const columnsCopy = [...columns];
|
|
1078
|
+
|
|
1079
|
+
// And make a new ordered array of the columns
|
|
1080
|
+
|
|
1081
|
+
// Loop over the columns and place them in order into the new array
|
|
1082
|
+
while (columnsCopy.length && columnOrderCopy.length) {
|
|
1083
|
+
const targetColumnId = columnOrderCopy.shift();
|
|
1084
|
+
const foundIndex = columnsCopy.findIndex(d => d.id === targetColumnId);
|
|
1085
|
+
if (foundIndex > -1) {
|
|
1086
|
+
orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]);
|
|
1087
|
+
}
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1090
|
+
// If there are any columns left, add them to the end
|
|
1091
|
+
orderedColumns = [...orderedColumns, ...columnsCopy];
|
|
1092
|
+
}
|
|
1093
|
+
return orderColumns(orderedColumns, grouping, groupedColumnMode);
|
|
1094
|
+
}, getMemoOptions(table.options, 'debugTable', '_getOrderColumnsFn'));
|
|
1095
|
+
}
|
|
1096
|
+
};
|
|
1097
|
+
|
|
1098
|
+
//
|
|
1099
|
+
|
|
1100
|
+
const getDefaultColumnPinningState = () => ({
|
|
1101
|
+
left: [],
|
|
1102
|
+
right: []
|
|
1103
|
+
});
|
|
1104
|
+
const ColumnPinning = {
|
|
1105
|
+
getInitialState: state => {
|
|
1106
|
+
return {
|
|
1107
|
+
columnPinning: getDefaultColumnPinningState(),
|
|
1108
|
+
...state
|
|
1109
|
+
};
|
|
1110
|
+
},
|
|
1111
|
+
getDefaultOptions: table => {
|
|
1112
|
+
return {
|
|
1113
|
+
onColumnPinningChange: makeStateUpdater('columnPinning', table)
|
|
1114
|
+
};
|
|
1115
|
+
},
|
|
1116
|
+
createColumn: (column, table) => {
|
|
1117
|
+
column.pin = position => {
|
|
1118
|
+
const columnIds = column.getLeafColumns().map(d => d.id).filter(Boolean);
|
|
1119
|
+
table.setColumnPinning(old => {
|
|
1120
|
+
var _old$left3, _old$right3;
|
|
1121
|
+
if (position === 'right') {
|
|
1122
|
+
var _old$left, _old$right;
|
|
1123
|
+
return {
|
|
1124
|
+
left: ((_old$left = old == null ? void 0 : old.left) != null ? _old$left : []).filter(d => !(columnIds != null && columnIds.includes(d))),
|
|
1125
|
+
right: [...((_old$right = old == null ? void 0 : old.right) != null ? _old$right : []).filter(d => !(columnIds != null && columnIds.includes(d))), ...columnIds]
|
|
1126
|
+
};
|
|
1127
|
+
}
|
|
1128
|
+
if (position === 'left') {
|
|
1129
|
+
var _old$left2, _old$right2;
|
|
1130
|
+
return {
|
|
1131
|
+
left: [...((_old$left2 = old == null ? void 0 : old.left) != null ? _old$left2 : []).filter(d => !(columnIds != null && columnIds.includes(d))), ...columnIds],
|
|
1132
|
+
right: ((_old$right2 = old == null ? void 0 : old.right) != null ? _old$right2 : []).filter(d => !(columnIds != null && columnIds.includes(d)))
|
|
1133
|
+
};
|
|
1134
|
+
}
|
|
1135
|
+
return {
|
|
1136
|
+
left: ((_old$left3 = old == null ? void 0 : old.left) != null ? _old$left3 : []).filter(d => !(columnIds != null && columnIds.includes(d))),
|
|
1137
|
+
right: ((_old$right3 = old == null ? void 0 : old.right) != null ? _old$right3 : []).filter(d => !(columnIds != null && columnIds.includes(d)))
|
|
1138
|
+
};
|
|
1139
|
+
});
|
|
1140
|
+
};
|
|
1141
|
+
column.getCanPin = () => {
|
|
1142
|
+
const leafColumns = column.getLeafColumns();
|
|
1143
|
+
return leafColumns.some(d => {
|
|
1144
|
+
var _d$columnDef$enablePi, _ref, _table$options$enable;
|
|
1145
|
+
return ((_d$columnDef$enablePi = d.columnDef.enablePinning) != null ? _d$columnDef$enablePi : true) && ((_ref = (_table$options$enable = table.options.enableColumnPinning) != null ? _table$options$enable : table.options.enablePinning) != null ? _ref : true);
|
|
1146
|
+
});
|
|
1147
|
+
};
|
|
1148
|
+
column.getIsPinned = () => {
|
|
1149
|
+
const leafColumnIds = column.getLeafColumns().map(d => d.id);
|
|
1150
|
+
const {
|
|
1151
|
+
left,
|
|
1152
|
+
right
|
|
1153
|
+
} = table.getState().columnPinning;
|
|
1154
|
+
const isLeft = leafColumnIds.some(d => left == null ? void 0 : left.includes(d));
|
|
1155
|
+
const isRight = leafColumnIds.some(d => right == null ? void 0 : right.includes(d));
|
|
1156
|
+
return isLeft ? 'left' : isRight ? 'right' : false;
|
|
1157
|
+
};
|
|
1158
|
+
column.getPinnedIndex = () => {
|
|
1159
|
+
var _table$getState$colum, _table$getState$colum2;
|
|
1160
|
+
const position = column.getIsPinned();
|
|
1161
|
+
return position ? (_table$getState$colum = (_table$getState$colum2 = table.getState().columnPinning) == null || (_table$getState$colum2 = _table$getState$colum2[position]) == null ? void 0 : _table$getState$colum2.indexOf(column.id)) != null ? _table$getState$colum : -1 : 0;
|
|
1162
|
+
};
|
|
1163
|
+
},
|
|
1164
|
+
createRow: (row, table) => {
|
|
1165
|
+
row.getCenterVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allCells, left, right) => {
|
|
1166
|
+
const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];
|
|
1167
|
+
return allCells.filter(d => !leftAndRight.includes(d.column.id));
|
|
1168
|
+
}, getMemoOptions(table.options, 'debugRows', 'getCenterVisibleCells'));
|
|
1169
|
+
row.getLeftVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left], (allCells, left) => {
|
|
1170
|
+
const cells = (left != null ? left : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({
|
|
1171
|
+
...d,
|
|
1172
|
+
position: 'left'
|
|
1173
|
+
}));
|
|
1174
|
+
return cells;
|
|
1175
|
+
}, getMemoOptions(table.options, 'debugRows', 'getLeftVisibleCells'));
|
|
1176
|
+
row.getRightVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.right], (allCells, right) => {
|
|
1177
|
+
const cells = (right != null ? right : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({
|
|
1178
|
+
...d,
|
|
1179
|
+
position: 'right'
|
|
1180
|
+
}));
|
|
1181
|
+
return cells;
|
|
1182
|
+
}, getMemoOptions(table.options, 'debugRows', 'getRightVisibleCells'));
|
|
1183
|
+
},
|
|
1184
|
+
createTable: table => {
|
|
1185
|
+
table.setColumnPinning = updater => table.options.onColumnPinningChange == null ? void 0 : table.options.onColumnPinningChange(updater);
|
|
1186
|
+
table.resetColumnPinning = defaultState => {
|
|
1187
|
+
var _table$initialState$c, _table$initialState;
|
|
1188
|
+
return table.setColumnPinning(defaultState ? getDefaultColumnPinningState() : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnPinning) != null ? _table$initialState$c : getDefaultColumnPinningState());
|
|
1189
|
+
};
|
|
1190
|
+
table.getIsSomeColumnsPinned = position => {
|
|
1191
|
+
var _pinningState$positio;
|
|
1192
|
+
const pinningState = table.getState().columnPinning;
|
|
1193
|
+
if (!position) {
|
|
1194
|
+
var _pinningState$left, _pinningState$right;
|
|
1195
|
+
return Boolean(((_pinningState$left = pinningState.left) == null ? void 0 : _pinningState$left.length) || ((_pinningState$right = pinningState.right) == null ? void 0 : _pinningState$right.length));
|
|
1196
|
+
}
|
|
1197
|
+
return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length);
|
|
1198
|
+
};
|
|
1199
|
+
table.getLeftLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left], (allColumns, left) => {
|
|
1200
|
+
return (left != null ? left : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);
|
|
1201
|
+
}, getMemoOptions(table.options, 'debugColumns', 'getLeftLeafColumns'));
|
|
1202
|
+
table.getRightLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.right], (allColumns, right) => {
|
|
1203
|
+
return (right != null ? right : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);
|
|
1204
|
+
}, getMemoOptions(table.options, 'debugColumns', 'getRightLeafColumns'));
|
|
1205
|
+
table.getCenterLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, left, right) => {
|
|
1206
|
+
const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];
|
|
1207
|
+
return allColumns.filter(d => !leftAndRight.includes(d.id));
|
|
1208
|
+
}, getMemoOptions(table.options, 'debugColumns', 'getCenterLeafColumns'));
|
|
1209
|
+
}
|
|
867
1210
|
};
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
1211
|
+
|
|
1212
|
+
//
|
|
1213
|
+
|
|
1214
|
+
//
|
|
1215
|
+
|
|
1216
|
+
const defaultColumnSizing = {
|
|
1217
|
+
size: 150,
|
|
1218
|
+
minSize: 20,
|
|
1219
|
+
maxSize: Number.MAX_SAFE_INTEGER
|
|
873
1220
|
};
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
1221
|
+
const getDefaultColumnSizingInfoState = () => ({
|
|
1222
|
+
startOffset: null,
|
|
1223
|
+
startSize: null,
|
|
1224
|
+
deltaOffset: null,
|
|
1225
|
+
deltaPercentage: null,
|
|
1226
|
+
isResizingColumn: false,
|
|
1227
|
+
columnSizingStart: []
|
|
1228
|
+
});
|
|
1229
|
+
const ColumnSizing = {
|
|
1230
|
+
getDefaultColumnDef: () => {
|
|
1231
|
+
return defaultColumnSizing;
|
|
1232
|
+
},
|
|
1233
|
+
getInitialState: state => {
|
|
1234
|
+
return {
|
|
1235
|
+
columnSizing: {},
|
|
1236
|
+
columnSizingInfo: getDefaultColumnSizingInfoState(),
|
|
1237
|
+
...state
|
|
1238
|
+
};
|
|
1239
|
+
},
|
|
1240
|
+
getDefaultOptions: table => {
|
|
1241
|
+
return {
|
|
1242
|
+
columnResizeMode: 'onEnd',
|
|
1243
|
+
columnResizeDirection: 'ltr',
|
|
1244
|
+
onColumnSizingChange: makeStateUpdater('columnSizing', table),
|
|
1245
|
+
onColumnSizingInfoChange: makeStateUpdater('columnSizingInfo', table)
|
|
1246
|
+
};
|
|
1247
|
+
},
|
|
1248
|
+
createColumn: (column, table) => {
|
|
1249
|
+
column.getSize = () => {
|
|
1250
|
+
var _column$columnDef$min, _ref, _column$columnDef$max;
|
|
1251
|
+
const columnSize = table.getState().columnSizing[column.id];
|
|
1252
|
+
return Math.min(Math.max((_column$columnDef$min = column.columnDef.minSize) != null ? _column$columnDef$min : defaultColumnSizing.minSize, (_ref = columnSize != null ? columnSize : column.columnDef.size) != null ? _ref : defaultColumnSizing.size), (_column$columnDef$max = column.columnDef.maxSize) != null ? _column$columnDef$max : defaultColumnSizing.maxSize);
|
|
1253
|
+
};
|
|
1254
|
+
column.getStart = memo(position => [position, _getVisibleLeafColumns(table, position), table.getState().columnSizing], (position, columns) => columns.slice(0, column.getIndex(position)).reduce((sum, column) => sum + column.getSize(), 0), getMemoOptions(table.options, 'debugColumns', 'getStart'));
|
|
1255
|
+
column.getAfter = memo(position => [position, _getVisibleLeafColumns(table, position), table.getState().columnSizing], (position, columns) => columns.slice(column.getIndex(position) + 1).reduce((sum, column) => sum + column.getSize(), 0), getMemoOptions(table.options, 'debugColumns', 'getAfter'));
|
|
1256
|
+
column.resetSize = () => {
|
|
1257
|
+
table.setColumnSizing(_ref2 => {
|
|
1258
|
+
let {
|
|
1259
|
+
[column.id]: _,
|
|
1260
|
+
...rest
|
|
1261
|
+
} = _ref2;
|
|
1262
|
+
return rest;
|
|
1263
|
+
});
|
|
1264
|
+
};
|
|
1265
|
+
column.getCanResize = () => {
|
|
1266
|
+
var _column$columnDef$ena, _table$options$enable;
|
|
1267
|
+
return ((_column$columnDef$ena = column.columnDef.enableResizing) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableColumnResizing) != null ? _table$options$enable : true);
|
|
1268
|
+
};
|
|
1269
|
+
column.getIsResizing = () => {
|
|
1270
|
+
return table.getState().columnSizingInfo.isResizingColumn === column.id;
|
|
1271
|
+
};
|
|
1272
|
+
},
|
|
1273
|
+
createHeader: (header, table) => {
|
|
1274
|
+
header.getSize = () => {
|
|
1275
|
+
let sum = 0;
|
|
1276
|
+
const recurse = header => {
|
|
1277
|
+
if (header.subHeaders.length) {
|
|
1278
|
+
header.subHeaders.forEach(recurse);
|
|
1279
|
+
} else {
|
|
1280
|
+
var _header$column$getSiz;
|
|
1281
|
+
sum += (_header$column$getSiz = header.column.getSize()) != null ? _header$column$getSiz : 0;
|
|
1282
|
+
}
|
|
1283
|
+
};
|
|
1284
|
+
recurse(header);
|
|
1285
|
+
return sum;
|
|
1286
|
+
};
|
|
1287
|
+
header.getStart = () => {
|
|
1288
|
+
if (header.index > 0) {
|
|
1289
|
+
const prevSiblingHeader = header.headerGroup.headers[header.index - 1];
|
|
1290
|
+
return prevSiblingHeader.getStart() + prevSiblingHeader.getSize();
|
|
1291
|
+
}
|
|
1292
|
+
return 0;
|
|
1293
|
+
};
|
|
1294
|
+
header.getResizeHandler = _contextDocument => {
|
|
1295
|
+
const column = table.getColumn(header.column.id);
|
|
1296
|
+
const canResize = column == null ? void 0 : column.getCanResize();
|
|
1297
|
+
return e => {
|
|
1298
|
+
if (!column || !canResize) {
|
|
1299
|
+
return;
|
|
1300
|
+
}
|
|
1301
|
+
e.persist == null || e.persist();
|
|
1302
|
+
if (isTouchStartEvent(e)) {
|
|
1303
|
+
// lets not respond to multiple touches (e.g. 2 or 3 fingers)
|
|
1304
|
+
if (e.touches && e.touches.length > 1) {
|
|
1305
|
+
return;
|
|
1306
|
+
}
|
|
1307
|
+
}
|
|
1308
|
+
const startSize = header.getSize();
|
|
1309
|
+
const columnSizingStart = header ? header.getLeafHeaders().map(d => [d.column.id, d.column.getSize()]) : [[column.id, column.getSize()]];
|
|
1310
|
+
const clientX = isTouchStartEvent(e) ? Math.round(e.touches[0].clientX) : e.clientX;
|
|
1311
|
+
const newColumnSizing = {};
|
|
1312
|
+
const updateOffset = (eventType, clientXPos) => {
|
|
1313
|
+
if (typeof clientXPos !== 'number') {
|
|
1314
|
+
return;
|
|
1315
|
+
}
|
|
1316
|
+
table.setColumnSizingInfo(old => {
|
|
1317
|
+
var _old$startOffset, _old$startSize;
|
|
1318
|
+
const deltaDirection = table.options.columnResizeDirection === 'rtl' ? -1 : 1;
|
|
1319
|
+
const deltaOffset = (clientXPos - ((_old$startOffset = old == null ? void 0 : old.startOffset) != null ? _old$startOffset : 0)) * deltaDirection;
|
|
1320
|
+
const deltaPercentage = Math.max(deltaOffset / ((_old$startSize = old == null ? void 0 : old.startSize) != null ? _old$startSize : 0), -0.999999);
|
|
1321
|
+
old.columnSizingStart.forEach(_ref3 => {
|
|
1322
|
+
let [columnId, headerSize] = _ref3;
|
|
1323
|
+
newColumnSizing[columnId] = Math.round(Math.max(headerSize + headerSize * deltaPercentage, 0) * 100) / 100;
|
|
1324
|
+
});
|
|
1325
|
+
return {
|
|
1326
|
+
...old,
|
|
1327
|
+
deltaOffset,
|
|
1328
|
+
deltaPercentage
|
|
1329
|
+
};
|
|
1330
|
+
});
|
|
1331
|
+
if (table.options.columnResizeMode === 'onChange' || eventType === 'end') {
|
|
1332
|
+
table.setColumnSizing(old => ({
|
|
1333
|
+
...old,
|
|
1334
|
+
...newColumnSizing
|
|
1335
|
+
}));
|
|
1336
|
+
}
|
|
1337
|
+
};
|
|
1338
|
+
const onMove = clientXPos => updateOffset('move', clientXPos);
|
|
1339
|
+
const onEnd = clientXPos => {
|
|
1340
|
+
updateOffset('end', clientXPos);
|
|
1341
|
+
table.setColumnSizingInfo(old => ({
|
|
1342
|
+
...old,
|
|
1343
|
+
isResizingColumn: false,
|
|
1344
|
+
startOffset: null,
|
|
1345
|
+
startSize: null,
|
|
1346
|
+
deltaOffset: null,
|
|
1347
|
+
deltaPercentage: null,
|
|
1348
|
+
columnSizingStart: []
|
|
1349
|
+
}));
|
|
1350
|
+
};
|
|
1351
|
+
const contextDocument = _contextDocument || typeof document !== 'undefined' ? document : null;
|
|
1352
|
+
const mouseEvents = {
|
|
1353
|
+
moveHandler: e => onMove(e.clientX),
|
|
1354
|
+
upHandler: e => {
|
|
1355
|
+
contextDocument == null || contextDocument.removeEventListener('mousemove', mouseEvents.moveHandler);
|
|
1356
|
+
contextDocument == null || contextDocument.removeEventListener('mouseup', mouseEvents.upHandler);
|
|
1357
|
+
onEnd(e.clientX);
|
|
1358
|
+
}
|
|
1359
|
+
};
|
|
1360
|
+
const touchEvents = {
|
|
1361
|
+
moveHandler: e => {
|
|
1362
|
+
if (e.cancelable) {
|
|
1363
|
+
e.preventDefault();
|
|
1364
|
+
e.stopPropagation();
|
|
1365
|
+
}
|
|
1366
|
+
onMove(e.touches[0].clientX);
|
|
1367
|
+
return false;
|
|
1368
|
+
},
|
|
1369
|
+
upHandler: e => {
|
|
1370
|
+
var _e$touches$;
|
|
1371
|
+
contextDocument == null || contextDocument.removeEventListener('touchmove', touchEvents.moveHandler);
|
|
1372
|
+
contextDocument == null || contextDocument.removeEventListener('touchend', touchEvents.upHandler);
|
|
1373
|
+
if (e.cancelable) {
|
|
1374
|
+
e.preventDefault();
|
|
1375
|
+
e.stopPropagation();
|
|
1376
|
+
}
|
|
1377
|
+
onEnd((_e$touches$ = e.touches[0]) == null ? void 0 : _e$touches$.clientX);
|
|
1378
|
+
}
|
|
1379
|
+
};
|
|
1380
|
+
const passiveIfSupported = passiveEventSupported() ? {
|
|
1381
|
+
passive: false
|
|
1382
|
+
} : false;
|
|
1383
|
+
if (isTouchStartEvent(e)) {
|
|
1384
|
+
contextDocument == null || contextDocument.addEventListener('touchmove', touchEvents.moveHandler, passiveIfSupported);
|
|
1385
|
+
contextDocument == null || contextDocument.addEventListener('touchend', touchEvents.upHandler, passiveIfSupported);
|
|
1386
|
+
} else {
|
|
1387
|
+
contextDocument == null || contextDocument.addEventListener('mousemove', mouseEvents.moveHandler, passiveIfSupported);
|
|
1388
|
+
contextDocument == null || contextDocument.addEventListener('mouseup', mouseEvents.upHandler, passiveIfSupported);
|
|
1389
|
+
}
|
|
1390
|
+
table.setColumnSizingInfo(old => ({
|
|
1391
|
+
...old,
|
|
1392
|
+
startOffset: clientX,
|
|
1393
|
+
startSize,
|
|
1394
|
+
deltaOffset: 0,
|
|
1395
|
+
deltaPercentage: 0,
|
|
1396
|
+
columnSizingStart,
|
|
1397
|
+
isResizingColumn: column.id
|
|
1398
|
+
}));
|
|
1399
|
+
};
|
|
1400
|
+
};
|
|
1401
|
+
},
|
|
1402
|
+
createTable: table => {
|
|
1403
|
+
table.setColumnSizing = updater => table.options.onColumnSizingChange == null ? void 0 : table.options.onColumnSizingChange(updater);
|
|
1404
|
+
table.setColumnSizingInfo = updater => table.options.onColumnSizingInfoChange == null ? void 0 : table.options.onColumnSizingInfoChange(updater);
|
|
1405
|
+
table.resetColumnSizing = defaultState => {
|
|
1406
|
+
var _table$initialState$c;
|
|
1407
|
+
table.setColumnSizing(defaultState ? {} : (_table$initialState$c = table.initialState.columnSizing) != null ? _table$initialState$c : {});
|
|
1408
|
+
};
|
|
1409
|
+
table.resetHeaderSizeInfo = defaultState => {
|
|
1410
|
+
var _table$initialState$c2;
|
|
1411
|
+
table.setColumnSizingInfo(defaultState ? getDefaultColumnSizingInfoState() : (_table$initialState$c2 = table.initialState.columnSizingInfo) != null ? _table$initialState$c2 : getDefaultColumnSizingInfoState());
|
|
1412
|
+
};
|
|
1413
|
+
table.getTotalSize = () => {
|
|
1414
|
+
var _table$getHeaderGroup, _table$getHeaderGroup2;
|
|
1415
|
+
return (_table$getHeaderGroup = (_table$getHeaderGroup2 = table.getHeaderGroups()[0]) == null ? void 0 : _table$getHeaderGroup2.headers.reduce((sum, header) => {
|
|
1416
|
+
return sum + header.getSize();
|
|
1417
|
+
}, 0)) != null ? _table$getHeaderGroup : 0;
|
|
1418
|
+
};
|
|
1419
|
+
table.getLeftTotalSize = () => {
|
|
1420
|
+
var _table$getLeftHeaderG, _table$getLeftHeaderG2;
|
|
1421
|
+
return (_table$getLeftHeaderG = (_table$getLeftHeaderG2 = table.getLeftHeaderGroups()[0]) == null ? void 0 : _table$getLeftHeaderG2.headers.reduce((sum, header) => {
|
|
1422
|
+
return sum + header.getSize();
|
|
1423
|
+
}, 0)) != null ? _table$getLeftHeaderG : 0;
|
|
1424
|
+
};
|
|
1425
|
+
table.getCenterTotalSize = () => {
|
|
1426
|
+
var _table$getCenterHeade, _table$getCenterHeade2;
|
|
1427
|
+
return (_table$getCenterHeade = (_table$getCenterHeade2 = table.getCenterHeaderGroups()[0]) == null ? void 0 : _table$getCenterHeade2.headers.reduce((sum, header) => {
|
|
1428
|
+
return sum + header.getSize();
|
|
1429
|
+
}, 0)) != null ? _table$getCenterHeade : 0;
|
|
1430
|
+
};
|
|
1431
|
+
table.getRightTotalSize = () => {
|
|
1432
|
+
var _table$getRightHeader, _table$getRightHeader2;
|
|
1433
|
+
return (_table$getRightHeader = (_table$getRightHeader2 = table.getRightHeaderGroups()[0]) == null ? void 0 : _table$getRightHeader2.headers.reduce((sum, header) => {
|
|
1434
|
+
return sum + header.getSize();
|
|
1435
|
+
}, 0)) != null ? _table$getRightHeader : 0;
|
|
1436
|
+
};
|
|
884
1437
|
}
|
|
885
|
-
return [min, max];
|
|
886
|
-
};
|
|
887
|
-
inNumberRange.autoRemove = val => testFalsey(val) || testFalsey(val[0]) && testFalsey(val[1]);
|
|
888
|
-
|
|
889
|
-
// Export
|
|
890
|
-
|
|
891
|
-
const filterFns = {
|
|
892
|
-
includesString,
|
|
893
|
-
includesStringSensitive,
|
|
894
|
-
equalsString,
|
|
895
|
-
arrIncludes,
|
|
896
|
-
arrIncludesAll,
|
|
897
|
-
arrIncludesSome,
|
|
898
|
-
equals,
|
|
899
|
-
weakEquals,
|
|
900
|
-
inNumberRange
|
|
901
1438
|
};
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
1439
|
+
let passiveSupported = null;
|
|
1440
|
+
function passiveEventSupported() {
|
|
1441
|
+
if (typeof passiveSupported === 'boolean') return passiveSupported;
|
|
1442
|
+
let supported = false;
|
|
1443
|
+
try {
|
|
1444
|
+
const options = {
|
|
1445
|
+
get passive() {
|
|
1446
|
+
supported = true;
|
|
1447
|
+
return false;
|
|
1448
|
+
}
|
|
1449
|
+
};
|
|
1450
|
+
const noop = () => {};
|
|
1451
|
+
window.addEventListener('test', noop, options);
|
|
1452
|
+
window.removeEventListener('test', noop);
|
|
1453
|
+
} catch (err) {
|
|
1454
|
+
supported = false;
|
|
1455
|
+
}
|
|
1456
|
+
passiveSupported = supported;
|
|
1457
|
+
return passiveSupported;
|
|
1458
|
+
}
|
|
1459
|
+
function isTouchStartEvent(e) {
|
|
1460
|
+
return e.type === 'touchstart';
|
|
906
1461
|
}
|
|
907
1462
|
|
|
908
1463
|
//
|
|
909
1464
|
|
|
910
|
-
const
|
|
911
|
-
getDefaultColumnDef: () => {
|
|
912
|
-
return {
|
|
913
|
-
filterFn: 'auto'
|
|
914
|
-
};
|
|
915
|
-
},
|
|
1465
|
+
const ColumnVisibility = {
|
|
916
1466
|
getInitialState: state => {
|
|
917
1467
|
return {
|
|
918
|
-
|
|
919
|
-
globalFilter: undefined,
|
|
920
|
-
// filtersProgress: 1,
|
|
921
|
-
// facetProgress: {},
|
|
1468
|
+
columnVisibility: {},
|
|
922
1469
|
...state
|
|
923
1470
|
};
|
|
924
1471
|
},
|
|
925
1472
|
getDefaultOptions: table => {
|
|
926
1473
|
return {
|
|
927
|
-
|
|
928
|
-
onGlobalFilterChange: makeStateUpdater('globalFilter', table),
|
|
929
|
-
filterFromLeafRows: false,
|
|
930
|
-
maxLeafRowFilterDepth: 100,
|
|
931
|
-
globalFilterFn: 'auto',
|
|
932
|
-
getColumnCanGlobalFilter: column => {
|
|
933
|
-
var _table$getCoreRowMode;
|
|
934
|
-
const value = (_table$getCoreRowMode = table.getCoreRowModel().flatRows[0]) == null || (_table$getCoreRowMode = _table$getCoreRowMode._getAllCellsByColumnId()[column.id]) == null ? void 0 : _table$getCoreRowMode.getValue();
|
|
935
|
-
return typeof value === 'string' || typeof value === 'number';
|
|
936
|
-
}
|
|
1474
|
+
onColumnVisibilityChange: makeStateUpdater('columnVisibility', table)
|
|
937
1475
|
};
|
|
938
1476
|
},
|
|
939
1477
|
createColumn: (column, table) => {
|
|
940
|
-
column.
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
if (typeof value === 'number') {
|
|
947
|
-
return filterFns.inNumberRange;
|
|
948
|
-
}
|
|
949
|
-
if (typeof value === 'boolean') {
|
|
950
|
-
return filterFns.equals;
|
|
951
|
-
}
|
|
952
|
-
if (value !== null && typeof value === 'object') {
|
|
953
|
-
return filterFns.equals;
|
|
954
|
-
}
|
|
955
|
-
if (Array.isArray(value)) {
|
|
956
|
-
return filterFns.arrIncludes;
|
|
1478
|
+
column.toggleVisibility = value => {
|
|
1479
|
+
if (column.getCanHide()) {
|
|
1480
|
+
table.setColumnVisibility(old => ({
|
|
1481
|
+
...old,
|
|
1482
|
+
[column.id]: value != null ? value : !column.getIsVisible()
|
|
1483
|
+
}));
|
|
957
1484
|
}
|
|
958
|
-
return filterFns.weakEquals;
|
|
959
1485
|
};
|
|
960
|
-
column.
|
|
961
|
-
var
|
|
962
|
-
|
|
963
|
-
(
|
|
1486
|
+
column.getIsVisible = () => {
|
|
1487
|
+
var _ref, _table$getState$colum;
|
|
1488
|
+
const childColumns = column.columns;
|
|
1489
|
+
return (_ref = childColumns.length ? childColumns.some(c => c.getIsVisible()) : (_table$getState$colum = table.getState().columnVisibility) == null ? void 0 : _table$getState$colum[column.id]) != null ? _ref : true;
|
|
964
1490
|
};
|
|
965
|
-
column.
|
|
966
|
-
var _column$columnDef$ena, _table$options$enable
|
|
967
|
-
return ((_column$columnDef$ena = column.columnDef.
|
|
1491
|
+
column.getCanHide = () => {
|
|
1492
|
+
var _column$columnDef$ena, _table$options$enable;
|
|
1493
|
+
return ((_column$columnDef$ena = column.columnDef.enableHiding) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableHiding) != null ? _table$options$enable : true);
|
|
968
1494
|
};
|
|
969
|
-
column.
|
|
970
|
-
|
|
971
|
-
|
|
1495
|
+
column.getToggleVisibilityHandler = () => {
|
|
1496
|
+
return e => {
|
|
1497
|
+
column.toggleVisibility == null || column.toggleVisibility(e.target.checked);
|
|
1498
|
+
};
|
|
972
1499
|
};
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
return
|
|
1500
|
+
},
|
|
1501
|
+
createRow: (row, table) => {
|
|
1502
|
+
row._getAllVisibleCells = memo(() => [row.getAllCells(), table.getState().columnVisibility], cells => {
|
|
1503
|
+
return cells.filter(cell => cell.column.getIsVisible());
|
|
1504
|
+
}, getMemoOptions(table.options, 'debugRows', '_getAllVisibleCells'));
|
|
1505
|
+
row.getVisibleCells = memo(() => [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()], (left, center, right) => [...left, ...center, ...right], getMemoOptions(table.options, 'debugRows', 'getVisibleCells'));
|
|
1506
|
+
},
|
|
1507
|
+
createTable: table => {
|
|
1508
|
+
const makeVisibleColumnsMethod = (key, getColumns) => {
|
|
1509
|
+
return memo(() => [getColumns(), getColumns().filter(d => d.getIsVisible()).map(d => d.id).join('_')], columns => {
|
|
1510
|
+
return columns.filter(d => d.getIsVisible == null ? void 0 : d.getIsVisible());
|
|
1511
|
+
}, getMemoOptions(table.options, 'debugColumns', key));
|
|
977
1512
|
};
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
1513
|
+
table.getVisibleFlatColumns = makeVisibleColumnsMethod('getVisibleFlatColumns', () => table.getAllFlatColumns());
|
|
1514
|
+
table.getVisibleLeafColumns = makeVisibleColumnsMethod('getVisibleLeafColumns', () => table.getAllLeafColumns());
|
|
1515
|
+
table.getLeftVisibleLeafColumns = makeVisibleColumnsMethod('getLeftVisibleLeafColumns', () => table.getLeftLeafColumns());
|
|
1516
|
+
table.getRightVisibleLeafColumns = makeVisibleColumnsMethod('getRightVisibleLeafColumns', () => table.getRightLeafColumns());
|
|
1517
|
+
table.getCenterVisibleLeafColumns = makeVisibleColumnsMethod('getCenterVisibleLeafColumns', () => table.getCenterLeafColumns());
|
|
1518
|
+
table.setColumnVisibility = updater => table.options.onColumnVisibilityChange == null ? void 0 : table.options.onColumnVisibilityChange(updater);
|
|
1519
|
+
table.resetColumnVisibility = defaultState => {
|
|
1520
|
+
var _table$initialState$c;
|
|
1521
|
+
table.setColumnVisibility(defaultState ? {} : (_table$initialState$c = table.initialState.columnVisibility) != null ? _table$initialState$c : {});
|
|
981
1522
|
};
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {
|
|
990
|
-
var _old$filter;
|
|
991
|
-
return (_old$filter = old == null ? void 0 : old.filter(d => d.id !== column.id)) != null ? _old$filter : [];
|
|
992
|
-
}
|
|
993
|
-
const newFilterObj = {
|
|
994
|
-
id: column.id,
|
|
995
|
-
value: newFilter
|
|
996
|
-
};
|
|
997
|
-
if (previousfilter) {
|
|
998
|
-
var _old$map;
|
|
999
|
-
return (_old$map = old == null ? void 0 : old.map(d => {
|
|
1000
|
-
if (d.id === column.id) {
|
|
1001
|
-
return newFilterObj;
|
|
1002
|
-
}
|
|
1003
|
-
return d;
|
|
1004
|
-
})) != null ? _old$map : [];
|
|
1005
|
-
}
|
|
1006
|
-
if (old != null && old.length) {
|
|
1007
|
-
return [...old, newFilterObj];
|
|
1008
|
-
}
|
|
1009
|
-
return [newFilterObj];
|
|
1010
|
-
});
|
|
1523
|
+
table.toggleAllColumnsVisible = value => {
|
|
1524
|
+
var _value;
|
|
1525
|
+
value = (_value = value) != null ? _value : !table.getIsAllColumnsVisible();
|
|
1526
|
+
table.setColumnVisibility(table.getAllLeafColumns().reduce((obj, column) => ({
|
|
1527
|
+
...obj,
|
|
1528
|
+
[column.id]: !value ? !(column.getCanHide != null && column.getCanHide()) : value
|
|
1529
|
+
}), {}));
|
|
1011
1530
|
};
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1531
|
+
table.getIsAllColumnsVisible = () => !table.getAllLeafColumns().some(column => !(column.getIsVisible != null && column.getIsVisible()));
|
|
1532
|
+
table.getIsSomeColumnsVisible = () => table.getAllLeafColumns().some(column => column.getIsVisible == null ? void 0 : column.getIsVisible());
|
|
1533
|
+
table.getToggleAllColumnsVisibilityHandler = () => {
|
|
1534
|
+
return e => {
|
|
1535
|
+
var _target;
|
|
1536
|
+
table.toggleAllColumnsVisible((_target = e.target) == null ? void 0 : _target.checked);
|
|
1537
|
+
};
|
|
1018
1538
|
};
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1539
|
+
}
|
|
1540
|
+
};
|
|
1541
|
+
function _getVisibleLeafColumns(table, position) {
|
|
1542
|
+
return !position ? table.getVisibleLeafColumns() : position === 'center' ? table.getCenterVisibleLeafColumns() : position === 'left' ? table.getLeftVisibleLeafColumns() : table.getRightVisibleLeafColumns();
|
|
1543
|
+
}
|
|
1544
|
+
|
|
1545
|
+
//
|
|
1546
|
+
|
|
1547
|
+
const GlobalFiltering = {
|
|
1548
|
+
getInitialState: state => {
|
|
1549
|
+
return {
|
|
1550
|
+
globalFilter: undefined,
|
|
1551
|
+
...state
|
|
1025
1552
|
};
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1553
|
+
},
|
|
1554
|
+
getDefaultOptions: table => {
|
|
1555
|
+
return {
|
|
1556
|
+
onGlobalFilterChange: makeStateUpdater('globalFilter', table),
|
|
1557
|
+
globalFilterFn: 'auto',
|
|
1558
|
+
getColumnCanGlobalFilter: column => {
|
|
1559
|
+
var _table$getCoreRowMode;
|
|
1560
|
+
const value = (_table$getCoreRowMode = table.getCoreRowModel().flatRows[0]) == null || (_table$getCoreRowMode = _table$getCoreRowMode._getAllCellsByColumnId()[column.id]) == null ? void 0 : _table$getCoreRowMode.getValue();
|
|
1561
|
+
return typeof value === 'string' || typeof value === 'number';
|
|
1030
1562
|
}
|
|
1031
|
-
return column._getFacetedMinMaxValues();
|
|
1032
1563
|
};
|
|
1033
|
-
// () => [column.getFacetedRowModel()],
|
|
1034
|
-
// facetedRowModel => getRowModelMinMaxValues(facetedRowModel, column.id),
|
|
1035
1564
|
},
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1565
|
+
createColumn: (column, table) => {
|
|
1566
|
+
column.getCanGlobalFilter = () => {
|
|
1567
|
+
var _column$columnDef$ena, _table$options$enable, _table$options$enable2, _table$options$getCol;
|
|
1568
|
+
return ((_column$columnDef$ena = column.columnDef.enableGlobalFilter) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableGlobalFilter) != null ? _table$options$enable : true) && ((_table$options$enable2 = table.options.enableFilters) != null ? _table$options$enable2 : true) && ((_table$options$getCol = table.options.getColumnCanGlobalFilter == null ? void 0 : table.options.getColumnCanGlobalFilter(column)) != null ? _table$options$getCol : true) && !!column.accessorFn;
|
|
1569
|
+
};
|
|
1039
1570
|
},
|
|
1040
1571
|
createTable: table => {
|
|
1041
1572
|
table.getGlobalAutoFilterFn = () => {
|
|
1042
1573
|
return filterFns.includesString;
|
|
1043
1574
|
};
|
|
1044
1575
|
table.getGlobalFilterFn = () => {
|
|
1045
|
-
var _table$options$
|
|
1576
|
+
var _table$options$filter, _table$options$filter2;
|
|
1046
1577
|
const {
|
|
1047
1578
|
globalFilterFn: globalFilterFn
|
|
1048
1579
|
} = table.options;
|
|
1049
1580
|
return isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? table.getGlobalAutoFilterFn() : // @ts-ignore
|
|
1050
|
-
(_table$options$
|
|
1051
|
-
};
|
|
1052
|
-
table.setColumnFilters = updater => {
|
|
1053
|
-
const leafColumns = table.getAllLeafColumns();
|
|
1054
|
-
const updateFn = old => {
|
|
1055
|
-
var _functionalUpdate;
|
|
1056
|
-
return (_functionalUpdate = functionalUpdate(updater, old)) == null ? void 0 : _functionalUpdate.filter(filter => {
|
|
1057
|
-
const column = leafColumns.find(d => d.id === filter.id);
|
|
1058
|
-
if (column) {
|
|
1059
|
-
const filterFn = column.getFilterFn();
|
|
1060
|
-
if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {
|
|
1061
|
-
return false;
|
|
1062
|
-
}
|
|
1063
|
-
}
|
|
1064
|
-
return true;
|
|
1065
|
-
});
|
|
1066
|
-
};
|
|
1067
|
-
table.options.onColumnFiltersChange == null || table.options.onColumnFiltersChange(updateFn);
|
|
1581
|
+
(_table$options$filter = (_table$options$filter2 = table.options.filterFns) == null ? void 0 : _table$options$filter2[globalFilterFn]) != null ? _table$options$filter : filterFns[globalFilterFn];
|
|
1068
1582
|
};
|
|
1069
1583
|
table.setGlobalFilter = updater => {
|
|
1070
1584
|
table.options.onGlobalFilterChange == null || table.options.onGlobalFilterChange(updater);
|
|
@@ -1072,20 +1586,6 @@ const Filters = {
|
|
|
1072
1586
|
table.resetGlobalFilter = defaultState => {
|
|
1073
1587
|
table.setGlobalFilter(defaultState ? undefined : table.initialState.globalFilter);
|
|
1074
1588
|
};
|
|
1075
|
-
table.resetColumnFilters = defaultState => {
|
|
1076
|
-
var _table$initialState$c, _table$initialState;
|
|
1077
|
-
table.setColumnFilters(defaultState ? [] : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnFilters) != null ? _table$initialState$c : []);
|
|
1078
|
-
};
|
|
1079
|
-
table.getPreFilteredRowModel = () => table.getCoreRowModel();
|
|
1080
|
-
table.getFilteredRowModel = () => {
|
|
1081
|
-
if (!table._getFilteredRowModel && table.options.getFilteredRowModel) {
|
|
1082
|
-
table._getFilteredRowModel = table.options.getFilteredRowModel(table);
|
|
1083
|
-
}
|
|
1084
|
-
if (table.options.manualFiltering || !table._getFilteredRowModel) {
|
|
1085
|
-
return table.getPreFilteredRowModel();
|
|
1086
|
-
}
|
|
1087
|
-
return table._getFilteredRowModel();
|
|
1088
|
-
};
|
|
1089
1589
|
table._getGlobalFacetedRowModel = table.options.getFacetedRowModel && table.options.getFacetedRowModel(table, '__global__');
|
|
1090
1590
|
table.getGlobalFacetedRowModel = () => {
|
|
1091
1591
|
if (table.options.manualFiltering || !table._getGlobalFacetedRowModel) {
|
|
@@ -1109,289 +1609,161 @@ const Filters = {
|
|
|
1109
1609
|
};
|
|
1110
1610
|
}
|
|
1111
1611
|
};
|
|
1112
|
-
function shouldAutoRemoveFilter(filterFn, value, column) {
|
|
1113
|
-
return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === 'undefined' || typeof value === 'string' && !value;
|
|
1114
|
-
}
|
|
1115
|
-
|
|
1116
|
-
const sum = (columnId, _leafRows, childRows) => {
|
|
1117
|
-
// It's faster to just add the aggregations together instead of
|
|
1118
|
-
// process leaf nodes individually
|
|
1119
|
-
return childRows.reduce((sum, next) => {
|
|
1120
|
-
const nextValue = next.getValue(columnId);
|
|
1121
|
-
return sum + (typeof nextValue === 'number' ? nextValue : 0);
|
|
1122
|
-
}, 0);
|
|
1123
|
-
};
|
|
1124
|
-
const min = (columnId, _leafRows, childRows) => {
|
|
1125
|
-
let min;
|
|
1126
|
-
childRows.forEach(row => {
|
|
1127
|
-
const value = row.getValue(columnId);
|
|
1128
|
-
if (value != null && (min > value || min === undefined && value >= value)) {
|
|
1129
|
-
min = value;
|
|
1130
|
-
}
|
|
1131
|
-
});
|
|
1132
|
-
return min;
|
|
1133
|
-
};
|
|
1134
|
-
const max = (columnId, _leafRows, childRows) => {
|
|
1135
|
-
let max;
|
|
1136
|
-
childRows.forEach(row => {
|
|
1137
|
-
const value = row.getValue(columnId);
|
|
1138
|
-
if (value != null && (max < value || max === undefined && value >= value)) {
|
|
1139
|
-
max = value;
|
|
1140
|
-
}
|
|
1141
|
-
});
|
|
1142
|
-
return max;
|
|
1143
|
-
};
|
|
1144
|
-
const extent = (columnId, _leafRows, childRows) => {
|
|
1145
|
-
let min;
|
|
1146
|
-
let max;
|
|
1147
|
-
childRows.forEach(row => {
|
|
1148
|
-
const value = row.getValue(columnId);
|
|
1149
|
-
if (value != null) {
|
|
1150
|
-
if (min === undefined) {
|
|
1151
|
-
if (value >= value) min = max = value;
|
|
1152
|
-
} else {
|
|
1153
|
-
if (min > value) min = value;
|
|
1154
|
-
if (max < value) max = value;
|
|
1155
|
-
}
|
|
1156
|
-
}
|
|
1157
|
-
});
|
|
1158
|
-
return [min, max];
|
|
1159
|
-
};
|
|
1160
|
-
const mean = (columnId, leafRows) => {
|
|
1161
|
-
let count = 0;
|
|
1162
|
-
let sum = 0;
|
|
1163
|
-
leafRows.forEach(row => {
|
|
1164
|
-
let value = row.getValue(columnId);
|
|
1165
|
-
if (value != null && (value = +value) >= value) {
|
|
1166
|
-
++count, sum += value;
|
|
1167
|
-
}
|
|
1168
|
-
});
|
|
1169
|
-
if (count) return sum / count;
|
|
1170
|
-
return;
|
|
1171
|
-
};
|
|
1172
|
-
const median = (columnId, leafRows) => {
|
|
1173
|
-
if (!leafRows.length) {
|
|
1174
|
-
return;
|
|
1175
|
-
}
|
|
1176
|
-
const values = leafRows.map(row => row.getValue(columnId));
|
|
1177
|
-
if (!isNumberArray(values)) {
|
|
1178
|
-
return;
|
|
1179
|
-
}
|
|
1180
|
-
if (values.length === 1) {
|
|
1181
|
-
return values[0];
|
|
1182
|
-
}
|
|
1183
|
-
const mid = Math.floor(values.length / 2);
|
|
1184
|
-
const nums = values.sort((a, b) => a - b);
|
|
1185
|
-
return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;
|
|
1186
|
-
};
|
|
1187
|
-
const unique = (columnId, leafRows) => {
|
|
1188
|
-
return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values());
|
|
1189
|
-
};
|
|
1190
|
-
const uniqueCount = (columnId, leafRows) => {
|
|
1191
|
-
return new Set(leafRows.map(d => d.getValue(columnId))).size;
|
|
1192
|
-
};
|
|
1193
|
-
const count = (_columnId, leafRows) => {
|
|
1194
|
-
return leafRows.length;
|
|
1195
|
-
};
|
|
1196
|
-
const aggregationFns = {
|
|
1197
|
-
sum,
|
|
1198
|
-
min,
|
|
1199
|
-
max,
|
|
1200
|
-
extent,
|
|
1201
|
-
mean,
|
|
1202
|
-
median,
|
|
1203
|
-
unique,
|
|
1204
|
-
uniqueCount,
|
|
1205
|
-
count
|
|
1206
|
-
};
|
|
1207
1612
|
|
|
1208
1613
|
//
|
|
1209
1614
|
|
|
1210
|
-
const
|
|
1211
|
-
getDefaultColumnDef: () => {
|
|
1212
|
-
return {
|
|
1213
|
-
aggregatedCell: props => {
|
|
1214
|
-
var _toString, _props$getValue;
|
|
1215
|
-
return (_toString = (_props$getValue = props.getValue()) == null || _props$getValue.toString == null ? void 0 : _props$getValue.toString()) != null ? _toString : null;
|
|
1216
|
-
},
|
|
1217
|
-
aggregationFn: 'auto'
|
|
1218
|
-
};
|
|
1219
|
-
},
|
|
1615
|
+
const RowExpanding = {
|
|
1220
1616
|
getInitialState: state => {
|
|
1221
1617
|
return {
|
|
1222
|
-
|
|
1618
|
+
expanded: {},
|
|
1223
1619
|
...state
|
|
1224
1620
|
};
|
|
1225
1621
|
},
|
|
1226
1622
|
getDefaultOptions: table => {
|
|
1227
1623
|
return {
|
|
1228
|
-
|
|
1229
|
-
|
|
1624
|
+
onExpandedChange: makeStateUpdater('expanded', table),
|
|
1625
|
+
paginateExpandedRows: true
|
|
1230
1626
|
};
|
|
1231
1627
|
},
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
column.getCanGroup = () => {
|
|
1243
|
-
var _ref, _ref2, _ref3, _column$columnDef$ena;
|
|
1244
|
-
return (_ref = (_ref2 = (_ref3 = (_column$columnDef$ena = column.columnDef.enableGrouping) != null ? _column$columnDef$ena : true) != null ? _ref3 : table.options.enableGrouping) != null ? _ref2 : true) != null ? _ref : !!column.accessorFn;
|
|
1245
|
-
};
|
|
1246
|
-
column.getIsGrouped = () => {
|
|
1247
|
-
var _table$getState$group;
|
|
1248
|
-
return (_table$getState$group = table.getState().grouping) == null ? void 0 : _table$getState$group.includes(column.id);
|
|
1249
|
-
};
|
|
1250
|
-
column.getGroupedIndex = () => {
|
|
1251
|
-
var _table$getState$group2;
|
|
1252
|
-
return (_table$getState$group2 = table.getState().grouping) == null ? void 0 : _table$getState$group2.indexOf(column.id);
|
|
1253
|
-
};
|
|
1254
|
-
column.getToggleGroupingHandler = () => {
|
|
1255
|
-
const canGroup = column.getCanGroup();
|
|
1256
|
-
return () => {
|
|
1257
|
-
if (!canGroup) return;
|
|
1258
|
-
column.toggleGrouping();
|
|
1259
|
-
};
|
|
1260
|
-
};
|
|
1261
|
-
column.getAutoAggregationFn = () => {
|
|
1262
|
-
const firstRow = table.getCoreRowModel().flatRows[0];
|
|
1263
|
-
const value = firstRow == null ? void 0 : firstRow.getValue(column.id);
|
|
1264
|
-
if (typeof value === 'number') {
|
|
1265
|
-
return aggregationFns.sum;
|
|
1628
|
+
createTable: table => {
|
|
1629
|
+
let registered = false;
|
|
1630
|
+
let queued = false;
|
|
1631
|
+
table._autoResetExpanded = () => {
|
|
1632
|
+
var _ref, _table$options$autoRe;
|
|
1633
|
+
if (!registered) {
|
|
1634
|
+
table._queue(() => {
|
|
1635
|
+
registered = true;
|
|
1636
|
+
});
|
|
1637
|
+
return;
|
|
1266
1638
|
}
|
|
1267
|
-
if (
|
|
1268
|
-
return
|
|
1639
|
+
if ((_ref = (_table$options$autoRe = table.options.autoResetAll) != null ? _table$options$autoRe : table.options.autoResetExpanded) != null ? _ref : !table.options.manualExpanding) {
|
|
1640
|
+
if (queued) return;
|
|
1641
|
+
queued = true;
|
|
1642
|
+
table._queue(() => {
|
|
1643
|
+
table.resetExpanded();
|
|
1644
|
+
queued = false;
|
|
1645
|
+
});
|
|
1269
1646
|
}
|
|
1270
1647
|
};
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
if (!
|
|
1274
|
-
|
|
1648
|
+
table.setExpanded = updater => table.options.onExpandedChange == null ? void 0 : table.options.onExpandedChange(updater);
|
|
1649
|
+
table.toggleAllRowsExpanded = expanded => {
|
|
1650
|
+
if (expanded != null ? expanded : !table.getIsAllRowsExpanded()) {
|
|
1651
|
+
table.setExpanded(true);
|
|
1652
|
+
} else {
|
|
1653
|
+
table.setExpanded({});
|
|
1275
1654
|
}
|
|
1276
|
-
return isFunction(column.columnDef.aggregationFn) ? column.columnDef.aggregationFn : column.columnDef.aggregationFn === 'auto' ? column.getAutoAggregationFn() : (_table$options$aggreg = (_table$options$aggreg2 = table.options.aggregationFns) == null ? void 0 : _table$options$aggreg2[column.columnDef.aggregationFn]) != null ? _table$options$aggreg : aggregationFns[column.columnDef.aggregationFn];
|
|
1277
1655
|
};
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
table.resetGrouping = defaultState => {
|
|
1282
|
-
var _table$initialState$g, _table$initialState;
|
|
1283
|
-
table.setGrouping(defaultState ? [] : (_table$initialState$g = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.grouping) != null ? _table$initialState$g : []);
|
|
1656
|
+
table.resetExpanded = defaultState => {
|
|
1657
|
+
var _table$initialState$e, _table$initialState;
|
|
1658
|
+
table.setExpanded(defaultState ? {} : (_table$initialState$e = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.expanded) != null ? _table$initialState$e : {});
|
|
1284
1659
|
};
|
|
1285
|
-
table.
|
|
1286
|
-
|
|
1287
|
-
if (!table._getGroupedRowModel && table.options.getGroupedRowModel) {
|
|
1288
|
-
table._getGroupedRowModel = table.options.getGroupedRowModel(table);
|
|
1289
|
-
}
|
|
1290
|
-
if (table.options.manualGrouping || !table._getGroupedRowModel) {
|
|
1291
|
-
return table.getPreGroupedRowModel();
|
|
1292
|
-
}
|
|
1293
|
-
return table._getGroupedRowModel();
|
|
1660
|
+
table.getCanSomeRowsExpand = () => {
|
|
1661
|
+
return table.getPrePaginationRowModel().flatRows.some(row => row.getCanExpand());
|
|
1294
1662
|
};
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1663
|
+
table.getToggleAllRowsExpandedHandler = () => {
|
|
1664
|
+
return e => {
|
|
1665
|
+
e.persist == null || e.persist();
|
|
1666
|
+
table.toggleAllRowsExpanded();
|
|
1667
|
+
};
|
|
1668
|
+
};
|
|
1669
|
+
table.getIsSomeRowsExpanded = () => {
|
|
1670
|
+
const expanded = table.getState().expanded;
|
|
1671
|
+
return expanded === true || Object.values(expanded).some(Boolean);
|
|
1672
|
+
};
|
|
1673
|
+
table.getIsAllRowsExpanded = () => {
|
|
1674
|
+
const expanded = table.getState().expanded;
|
|
1675
|
+
|
|
1676
|
+
// If expanded is true, save some cycles and return true
|
|
1677
|
+
if (typeof expanded === 'boolean') {
|
|
1678
|
+
return expanded === true;
|
|
1301
1679
|
}
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
return row.getValue(columnId);
|
|
1680
|
+
if (!Object.keys(expanded).length) {
|
|
1681
|
+
return false;
|
|
1305
1682
|
}
|
|
1306
|
-
row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(row.original);
|
|
1307
|
-
return row._groupingValuesCache[columnId];
|
|
1308
|
-
};
|
|
1309
|
-
row._groupingValuesCache = {};
|
|
1310
|
-
},
|
|
1311
|
-
createCell: (cell, column, row, table) => {
|
|
1312
|
-
cell.getIsGrouped = () => column.getIsGrouped() && column.id === row.groupingColumnId;
|
|
1313
|
-
cell.getIsPlaceholder = () => !cell.getIsGrouped() && column.getIsGrouped();
|
|
1314
|
-
cell.getIsAggregated = () => {
|
|
1315
|
-
var _row$subRows;
|
|
1316
|
-
return !cell.getIsGrouped() && !cell.getIsPlaceholder() && !!((_row$subRows = row.subRows) != null && _row$subRows.length);
|
|
1317
|
-
};
|
|
1318
|
-
}
|
|
1319
|
-
};
|
|
1320
|
-
function orderColumns(leafColumns, grouping, groupedColumnMode) {
|
|
1321
|
-
if (!(grouping != null && grouping.length) || !groupedColumnMode) {
|
|
1322
|
-
return leafColumns;
|
|
1323
|
-
}
|
|
1324
|
-
const nonGroupingColumns = leafColumns.filter(col => !grouping.includes(col.id));
|
|
1325
|
-
if (groupedColumnMode === 'remove') {
|
|
1326
|
-
return nonGroupingColumns;
|
|
1327
|
-
}
|
|
1328
|
-
const groupingColumns = grouping.map(g => leafColumns.find(col => col.id === g)).filter(Boolean);
|
|
1329
|
-
return [...groupingColumns, ...nonGroupingColumns];
|
|
1330
|
-
}
|
|
1331
1683
|
|
|
1332
|
-
//
|
|
1684
|
+
// If any row is not expanded, return false
|
|
1685
|
+
if (table.getRowModel().flatRows.some(row => !row.getIsExpanded())) {
|
|
1686
|
+
return false;
|
|
1687
|
+
}
|
|
1333
1688
|
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
return {
|
|
1337
|
-
columnOrder: [],
|
|
1338
|
-
...state
|
|
1689
|
+
// They must all be expanded :shrug:
|
|
1690
|
+
return true;
|
|
1339
1691
|
};
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1692
|
+
table.getExpandedDepth = () => {
|
|
1693
|
+
let maxDepth = 0;
|
|
1694
|
+
const rowIds = table.getState().expanded === true ? Object.keys(table.getRowModel().rowsById) : Object.keys(table.getState().expanded);
|
|
1695
|
+
rowIds.forEach(id => {
|
|
1696
|
+
const splitId = id.split('.');
|
|
1697
|
+
maxDepth = Math.max(maxDepth, splitId.length);
|
|
1698
|
+
});
|
|
1699
|
+
return maxDepth;
|
|
1700
|
+
};
|
|
1701
|
+
table.getPreExpandedRowModel = () => table.getSortedRowModel();
|
|
1702
|
+
table.getExpandedRowModel = () => {
|
|
1703
|
+
if (!table._getExpandedRowModel && table.options.getExpandedRowModel) {
|
|
1704
|
+
table._getExpandedRowModel = table.options.getExpandedRowModel(table);
|
|
1705
|
+
}
|
|
1706
|
+
if (table.options.manualExpanding || !table._getExpandedRowModel) {
|
|
1707
|
+
return table.getPreExpandedRowModel();
|
|
1708
|
+
}
|
|
1709
|
+
return table._getExpandedRowModel();
|
|
1344
1710
|
};
|
|
1345
1711
|
},
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1712
|
+
createRow: (row, table) => {
|
|
1713
|
+
row.toggleExpanded = expanded => {
|
|
1714
|
+
table.setExpanded(old => {
|
|
1715
|
+
var _expanded;
|
|
1716
|
+
const exists = old === true ? true : !!(old != null && old[row.id]);
|
|
1717
|
+
let oldExpanded = {};
|
|
1718
|
+
if (old === true) {
|
|
1719
|
+
Object.keys(table.getRowModel().rowsById).forEach(rowId => {
|
|
1720
|
+
oldExpanded[rowId] = true;
|
|
1721
|
+
});
|
|
1722
|
+
} else {
|
|
1723
|
+
oldExpanded = old;
|
|
1724
|
+
}
|
|
1725
|
+
expanded = (_expanded = expanded) != null ? _expanded : !exists;
|
|
1726
|
+
if (!exists && expanded) {
|
|
1727
|
+
return {
|
|
1728
|
+
...oldExpanded,
|
|
1729
|
+
[row.id]: true
|
|
1730
|
+
};
|
|
1731
|
+
}
|
|
1732
|
+
if (exists && !expanded) {
|
|
1733
|
+
const {
|
|
1734
|
+
[row.id]: _,
|
|
1735
|
+
...rest
|
|
1736
|
+
} = oldExpanded;
|
|
1737
|
+
return rest;
|
|
1738
|
+
}
|
|
1739
|
+
return old;
|
|
1740
|
+
});
|
|
1352
1741
|
};
|
|
1353
|
-
|
|
1354
|
-
var
|
|
1355
|
-
const
|
|
1356
|
-
return ((
|
|
1742
|
+
row.getIsExpanded = () => {
|
|
1743
|
+
var _table$options$getIsR;
|
|
1744
|
+
const expanded = table.getState().expanded;
|
|
1745
|
+
return !!((_table$options$getIsR = table.options.getIsRowExpanded == null ? void 0 : table.options.getIsRowExpanded(row)) != null ? _table$options$getIsR : expanded === true || (expanded == null ? void 0 : expanded[row.id]));
|
|
1357
1746
|
};
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
table.resetColumnOrder = defaultState => {
|
|
1362
|
-
var _table$initialState$c;
|
|
1363
|
-
table.setColumnOrder(defaultState ? [] : (_table$initialState$c = table.initialState.columnOrder) != null ? _table$initialState$c : []);
|
|
1747
|
+
row.getCanExpand = () => {
|
|
1748
|
+
var _table$options$getRow, _table$options$enable, _row$subRows;
|
|
1749
|
+
return (_table$options$getRow = table.options.getRowCanExpand == null ? void 0 : table.options.getRowCanExpand(row)) != null ? _table$options$getRow : ((_table$options$enable = table.options.enableExpanding) != null ? _table$options$enable : true) && !!((_row$subRows = row.subRows) != null && _row$subRows.length);
|
|
1364
1750
|
};
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
if (!(columnOrder != null && columnOrder.length)) {
|
|
1372
|
-
orderedColumns = columns;
|
|
1373
|
-
} else {
|
|
1374
|
-
const columnOrderCopy = [...columnOrder];
|
|
1375
|
-
|
|
1376
|
-
// If there is an order, make a copy of the columns
|
|
1377
|
-
const columnsCopy = [...columns];
|
|
1378
|
-
|
|
1379
|
-
// And make a new ordered array of the columns
|
|
1380
|
-
|
|
1381
|
-
// Loop over the columns and place them in order into the new array
|
|
1382
|
-
while (columnsCopy.length && columnOrderCopy.length) {
|
|
1383
|
-
const targetColumnId = columnOrderCopy.shift();
|
|
1384
|
-
const foundIndex = columnsCopy.findIndex(d => d.id === targetColumnId);
|
|
1385
|
-
if (foundIndex > -1) {
|
|
1386
|
-
orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]);
|
|
1387
|
-
}
|
|
1388
|
-
}
|
|
1389
|
-
|
|
1390
|
-
// If there are any columns left, add them to the end
|
|
1391
|
-
orderedColumns = [...orderedColumns, ...columnsCopy];
|
|
1751
|
+
row.getIsAllParentsExpanded = () => {
|
|
1752
|
+
let isFullyExpanded = true;
|
|
1753
|
+
let currentRow = row;
|
|
1754
|
+
while (isFullyExpanded && currentRow.parentId) {
|
|
1755
|
+
currentRow = table.getRow(currentRow.parentId, true);
|
|
1756
|
+
isFullyExpanded = currentRow.getIsExpanded();
|
|
1392
1757
|
}
|
|
1393
|
-
return
|
|
1394
|
-
}
|
|
1758
|
+
return isFullyExpanded;
|
|
1759
|
+
};
|
|
1760
|
+
row.getToggleExpandedHandler = () => {
|
|
1761
|
+
const canExpand = row.getCanExpand();
|
|
1762
|
+
return () => {
|
|
1763
|
+
if (!canExpand) return;
|
|
1764
|
+
row.toggleExpanded();
|
|
1765
|
+
};
|
|
1766
|
+
};
|
|
1395
1767
|
}
|
|
1396
1768
|
};
|
|
1397
1769
|
|
|
@@ -1403,7 +1775,7 @@ const getDefaultPaginationState = () => ({
|
|
|
1403
1775
|
pageIndex: defaultPageIndex,
|
|
1404
1776
|
pageSize: defaultPageSize
|
|
1405
1777
|
});
|
|
1406
|
-
const
|
|
1778
|
+
const RowPagination = {
|
|
1407
1779
|
getInitialState: state => {
|
|
1408
1780
|
return {
|
|
1409
1781
|
...state,
|
|
@@ -1550,88 +1922,34 @@ const Pagination = {
|
|
|
1550
1922
|
|
|
1551
1923
|
//
|
|
1552
1924
|
|
|
1553
|
-
const getDefaultColumnPinningState = () => ({
|
|
1554
|
-
left: [],
|
|
1555
|
-
right: []
|
|
1556
|
-
});
|
|
1557
1925
|
const getDefaultRowPinningState = () => ({
|
|
1558
1926
|
top: [],
|
|
1559
1927
|
bottom: []
|
|
1560
1928
|
});
|
|
1561
|
-
const
|
|
1929
|
+
const RowPinning = {
|
|
1562
1930
|
getInitialState: state => {
|
|
1563
1931
|
return {
|
|
1564
|
-
columnPinning: getDefaultColumnPinningState(),
|
|
1565
1932
|
rowPinning: getDefaultRowPinningState(),
|
|
1566
1933
|
...state
|
|
1567
1934
|
};
|
|
1568
1935
|
},
|
|
1569
1936
|
getDefaultOptions: table => {
|
|
1570
1937
|
return {
|
|
1571
|
-
onColumnPinningChange: makeStateUpdater('columnPinning', table),
|
|
1572
1938
|
onRowPinningChange: makeStateUpdater('rowPinning', table)
|
|
1573
1939
|
};
|
|
1574
1940
|
},
|
|
1575
|
-
createColumn: (column, table) => {
|
|
1576
|
-
column.pin = position => {
|
|
1577
|
-
const columnIds = column.getLeafColumns().map(d => d.id).filter(Boolean);
|
|
1578
|
-
table.setColumnPinning(old => {
|
|
1579
|
-
var _old$left3, _old$right3;
|
|
1580
|
-
if (position === 'right') {
|
|
1581
|
-
var _old$left, _old$right;
|
|
1582
|
-
return {
|
|
1583
|
-
left: ((_old$left = old == null ? void 0 : old.left) != null ? _old$left : []).filter(d => !(columnIds != null && columnIds.includes(d))),
|
|
1584
|
-
right: [...((_old$right = old == null ? void 0 : old.right) != null ? _old$right : []).filter(d => !(columnIds != null && columnIds.includes(d))), ...columnIds]
|
|
1585
|
-
};
|
|
1586
|
-
}
|
|
1587
|
-
if (position === 'left') {
|
|
1588
|
-
var _old$left2, _old$right2;
|
|
1589
|
-
return {
|
|
1590
|
-
left: [...((_old$left2 = old == null ? void 0 : old.left) != null ? _old$left2 : []).filter(d => !(columnIds != null && columnIds.includes(d))), ...columnIds],
|
|
1591
|
-
right: ((_old$right2 = old == null ? void 0 : old.right) != null ? _old$right2 : []).filter(d => !(columnIds != null && columnIds.includes(d)))
|
|
1592
|
-
};
|
|
1593
|
-
}
|
|
1594
|
-
return {
|
|
1595
|
-
left: ((_old$left3 = old == null ? void 0 : old.left) != null ? _old$left3 : []).filter(d => !(columnIds != null && columnIds.includes(d))),
|
|
1596
|
-
right: ((_old$right3 = old == null ? void 0 : old.right) != null ? _old$right3 : []).filter(d => !(columnIds != null && columnIds.includes(d)))
|
|
1597
|
-
};
|
|
1598
|
-
});
|
|
1599
|
-
};
|
|
1600
|
-
column.getCanPin = () => {
|
|
1601
|
-
const leafColumns = column.getLeafColumns();
|
|
1602
|
-
return leafColumns.some(d => {
|
|
1603
|
-
var _d$columnDef$enablePi, _ref, _table$options$enable;
|
|
1604
|
-
return ((_d$columnDef$enablePi = d.columnDef.enablePinning) != null ? _d$columnDef$enablePi : true) && ((_ref = (_table$options$enable = table.options.enableColumnPinning) != null ? _table$options$enable : table.options.enablePinning) != null ? _ref : true);
|
|
1605
|
-
});
|
|
1606
|
-
};
|
|
1607
|
-
column.getIsPinned = () => {
|
|
1608
|
-
const leafColumnIds = column.getLeafColumns().map(d => d.id);
|
|
1609
|
-
const {
|
|
1610
|
-
left,
|
|
1611
|
-
right
|
|
1612
|
-
} = table.getState().columnPinning;
|
|
1613
|
-
const isLeft = leafColumnIds.some(d => left == null ? void 0 : left.includes(d));
|
|
1614
|
-
const isRight = leafColumnIds.some(d => right == null ? void 0 : right.includes(d));
|
|
1615
|
-
return isLeft ? 'left' : isRight ? 'right' : false;
|
|
1616
|
-
};
|
|
1617
|
-
column.getPinnedIndex = () => {
|
|
1618
|
-
var _table$getState$colum, _table$getState$colum2;
|
|
1619
|
-
const position = column.getIsPinned();
|
|
1620
|
-
return position ? (_table$getState$colum = (_table$getState$colum2 = table.getState().columnPinning) == null || (_table$getState$colum2 = _table$getState$colum2[position]) == null ? void 0 : _table$getState$colum2.indexOf(column.id)) != null ? _table$getState$colum : -1 : 0;
|
|
1621
|
-
};
|
|
1622
|
-
},
|
|
1623
1941
|
createRow: (row, table) => {
|
|
1624
1942
|
row.pin = (position, includeLeafRows, includeParentRows) => {
|
|
1625
|
-
const leafRowIds = includeLeafRows ? row.getLeafRows().map(
|
|
1943
|
+
const leafRowIds = includeLeafRows ? row.getLeafRows().map(_ref => {
|
|
1626
1944
|
let {
|
|
1627
1945
|
id
|
|
1628
|
-
} =
|
|
1946
|
+
} = _ref;
|
|
1629
1947
|
return id;
|
|
1630
1948
|
}) : [];
|
|
1631
|
-
const parentRowIds = includeParentRows ? row.getParentRows().map(
|
|
1949
|
+
const parentRowIds = includeParentRows ? row.getParentRows().map(_ref2 => {
|
|
1632
1950
|
let {
|
|
1633
1951
|
id
|
|
1634
|
-
} =
|
|
1952
|
+
} = _ref2;
|
|
1635
1953
|
return id;
|
|
1636
1954
|
}) : [];
|
|
1637
1955
|
const rowIds = new Set([...parentRowIds, row.id, ...leafRowIds]);
|
|
@@ -1658,7 +1976,7 @@ const Pinning = {
|
|
|
1658
1976
|
});
|
|
1659
1977
|
};
|
|
1660
1978
|
row.getCanPin = () => {
|
|
1661
|
-
var
|
|
1979
|
+
var _ref3;
|
|
1662
1980
|
const {
|
|
1663
1981
|
enableRowPinning,
|
|
1664
1982
|
enablePinning
|
|
@@ -1666,7 +1984,7 @@ const Pinning = {
|
|
|
1666
1984
|
if (typeof enableRowPinning === 'function') {
|
|
1667
1985
|
return enableRowPinning(row);
|
|
1668
1986
|
}
|
|
1669
|
-
return (
|
|
1987
|
+
return (_ref3 = enableRowPinning != null ? enableRowPinning : enablePinning) != null ? _ref3 : true;
|
|
1670
1988
|
};
|
|
1671
1989
|
row.getIsPinned = () => {
|
|
1672
1990
|
const rowIds = [row.id];
|
|
@@ -1681,72 +1999,30 @@ const Pinning = {
|
|
|
1681
1999
|
row.getPinnedIndex = () => {
|
|
1682
2000
|
var _table$_getPinnedRows, _visiblePinnedRowIds$;
|
|
1683
2001
|
const position = row.getIsPinned();
|
|
1684
|
-
if (!position) return -1;
|
|
1685
|
-
const visiblePinnedRowIds = (_table$_getPinnedRows = table._getPinnedRows(position)) == null ? void 0 : _table$_getPinnedRows.map(
|
|
1686
|
-
let {
|
|
1687
|
-
id
|
|
1688
|
-
} =
|
|
1689
|
-
return id;
|
|
1690
|
-
});
|
|
1691
|
-
return (_visiblePinnedRowIds$ = visiblePinnedRowIds == null ? void 0 : visiblePinnedRowIds.indexOf(row.id)) != null ? _visiblePinnedRowIds$ : -1;
|
|
1692
|
-
};
|
|
1693
|
-
row.getCenterVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allCells, left, right) => {
|
|
1694
|
-
const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];
|
|
1695
|
-
return allCells.filter(d => !leftAndRight.includes(d.column.id));
|
|
1696
|
-
}, getMemoOptions(table.options, 'debugRows', 'getCenterVisibleCells'));
|
|
1697
|
-
row.getLeftVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left], (allCells, left) => {
|
|
1698
|
-
const cells = (left != null ? left : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({
|
|
1699
|
-
...d,
|
|
1700
|
-
position: 'left'
|
|
1701
|
-
}));
|
|
1702
|
-
return cells;
|
|
1703
|
-
}, getMemoOptions(table.options, 'debugRows', 'getLeftVisibleCells'));
|
|
1704
|
-
row.getRightVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.right], (allCells, right) => {
|
|
1705
|
-
const cells = (right != null ? right : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({
|
|
1706
|
-
...d,
|
|
1707
|
-
position: 'right'
|
|
1708
|
-
}));
|
|
1709
|
-
return cells;
|
|
1710
|
-
}, getMemoOptions(table.options, 'debugRows', 'getRightVisibleCells'));
|
|
1711
|
-
},
|
|
1712
|
-
createTable: table => {
|
|
1713
|
-
table.setColumnPinning = updater => table.options.onColumnPinningChange == null ? void 0 : table.options.onColumnPinningChange(updater);
|
|
1714
|
-
table.resetColumnPinning = defaultState => {
|
|
1715
|
-
var _table$initialState$c, _table$initialState;
|
|
1716
|
-
return table.setColumnPinning(defaultState ? getDefaultColumnPinningState() : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnPinning) != null ? _table$initialState$c : getDefaultColumnPinningState());
|
|
1717
|
-
};
|
|
1718
|
-
table.getIsSomeColumnsPinned = position => {
|
|
1719
|
-
var _pinningState$positio;
|
|
1720
|
-
const pinningState = table.getState().columnPinning;
|
|
1721
|
-
if (!position) {
|
|
1722
|
-
var _pinningState$left, _pinningState$right;
|
|
1723
|
-
return Boolean(((_pinningState$left = pinningState.left) == null ? void 0 : _pinningState$left.length) || ((_pinningState$right = pinningState.right) == null ? void 0 : _pinningState$right.length));
|
|
1724
|
-
}
|
|
1725
|
-
return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length);
|
|
2002
|
+
if (!position) return -1;
|
|
2003
|
+
const visiblePinnedRowIds = (_table$_getPinnedRows = table._getPinnedRows(position)) == null ? void 0 : _table$_getPinnedRows.map(_ref4 => {
|
|
2004
|
+
let {
|
|
2005
|
+
id
|
|
2006
|
+
} = _ref4;
|
|
2007
|
+
return id;
|
|
2008
|
+
});
|
|
2009
|
+
return (_visiblePinnedRowIds$ = visiblePinnedRowIds == null ? void 0 : visiblePinnedRowIds.indexOf(row.id)) != null ? _visiblePinnedRowIds$ : -1;
|
|
1726
2010
|
};
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
}, getMemoOptions(table.options, 'debugColumns', 'getLeftLeafColumns'));
|
|
1730
|
-
table.getRightLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.right], (allColumns, right) => {
|
|
1731
|
-
return (right != null ? right : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);
|
|
1732
|
-
}, getMemoOptions(table.options, 'debugColumns', 'getRightLeafColumns'));
|
|
1733
|
-
table.getCenterLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, left, right) => {
|
|
1734
|
-
const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];
|
|
1735
|
-
return allColumns.filter(d => !leftAndRight.includes(d.id));
|
|
1736
|
-
}, getMemoOptions(table.options, 'debugColumns', 'getCenterLeafColumns'));
|
|
2011
|
+
},
|
|
2012
|
+
createTable: table => {
|
|
1737
2013
|
table.setRowPinning = updater => table.options.onRowPinningChange == null ? void 0 : table.options.onRowPinningChange(updater);
|
|
1738
2014
|
table.resetRowPinning = defaultState => {
|
|
1739
|
-
var _table$initialState$r, _table$
|
|
1740
|
-
return table.setRowPinning(defaultState ? getDefaultRowPinningState() : (_table$initialState$r = (_table$
|
|
2015
|
+
var _table$initialState$r, _table$initialState;
|
|
2016
|
+
return table.setRowPinning(defaultState ? getDefaultRowPinningState() : (_table$initialState$r = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.rowPinning) != null ? _table$initialState$r : getDefaultRowPinningState());
|
|
1741
2017
|
};
|
|
1742
2018
|
table.getIsSomeRowsPinned = position => {
|
|
1743
|
-
var _pinningState$
|
|
2019
|
+
var _pinningState$positio;
|
|
1744
2020
|
const pinningState = table.getState().rowPinning;
|
|
1745
2021
|
if (!position) {
|
|
1746
2022
|
var _pinningState$top, _pinningState$bottom;
|
|
1747
2023
|
return Boolean(((_pinningState$top = pinningState.top) == null ? void 0 : _pinningState$top.length) || ((_pinningState$bottom = pinningState.bottom) == null ? void 0 : _pinningState$bottom.length));
|
|
1748
2024
|
}
|
|
1749
|
-
return Boolean((_pinningState$
|
|
2025
|
+
return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length);
|
|
1750
2026
|
};
|
|
1751
2027
|
table._getPinnedRows = memo(position => [table.getRowModel().rows, table.getState().rowPinning[position], position], (visibleRows, pinnedRowIds, position) => {
|
|
1752
2028
|
var _table$options$keepPi;
|
|
@@ -2252,7 +2528,7 @@ const sortingFns = {
|
|
|
2252
2528
|
|
|
2253
2529
|
//
|
|
2254
2530
|
|
|
2255
|
-
const
|
|
2531
|
+
const RowSorting = {
|
|
2256
2532
|
getInitialState: state => {
|
|
2257
2533
|
return {
|
|
2258
2534
|
sorting: [],
|
|
@@ -2459,99 +2735,22 @@ const Sorting = {
|
|
|
2459
2735
|
}
|
|
2460
2736
|
};
|
|
2461
2737
|
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
columnVisibility: {},
|
|
2468
|
-
...state
|
|
2469
|
-
};
|
|
2470
|
-
},
|
|
2471
|
-
getDefaultOptions: table => {
|
|
2472
|
-
return {
|
|
2473
|
-
onColumnVisibilityChange: makeStateUpdater('columnVisibility', table)
|
|
2474
|
-
};
|
|
2475
|
-
},
|
|
2476
|
-
createColumn: (column, table) => {
|
|
2477
|
-
column.toggleVisibility = value => {
|
|
2478
|
-
if (column.getCanHide()) {
|
|
2479
|
-
table.setColumnVisibility(old => ({
|
|
2480
|
-
...old,
|
|
2481
|
-
[column.id]: value != null ? value : !column.getIsVisible()
|
|
2482
|
-
}));
|
|
2483
|
-
}
|
|
2484
|
-
};
|
|
2485
|
-
column.getIsVisible = () => {
|
|
2486
|
-
var _ref, _table$getState$colum;
|
|
2487
|
-
const childColumns = column.columns;
|
|
2488
|
-
return (_ref = childColumns.length ? childColumns.some(c => c.getIsVisible()) : (_table$getState$colum = table.getState().columnVisibility) == null ? void 0 : _table$getState$colum[column.id]) != null ? _ref : true;
|
|
2489
|
-
};
|
|
2490
|
-
column.getCanHide = () => {
|
|
2491
|
-
var _column$columnDef$ena, _table$options$enable;
|
|
2492
|
-
return ((_column$columnDef$ena = column.columnDef.enableHiding) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableHiding) != null ? _table$options$enable : true);
|
|
2493
|
-
};
|
|
2494
|
-
column.getToggleVisibilityHandler = () => {
|
|
2495
|
-
return e => {
|
|
2496
|
-
column.toggleVisibility == null || column.toggleVisibility(e.target.checked);
|
|
2497
|
-
};
|
|
2498
|
-
};
|
|
2499
|
-
},
|
|
2500
|
-
createRow: (row, table) => {
|
|
2501
|
-
row._getAllVisibleCells = memo(() => [row.getAllCells(), table.getState().columnVisibility], cells => {
|
|
2502
|
-
return cells.filter(cell => cell.column.getIsVisible());
|
|
2503
|
-
}, getMemoOptions(table.options, 'debugRows', '_getAllVisibleCells'));
|
|
2504
|
-
row.getVisibleCells = memo(() => [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()], (left, center, right) => [...left, ...center, ...right], getMemoOptions(table.options, 'debugRows', 'getVisibleCells'));
|
|
2505
|
-
},
|
|
2506
|
-
createTable: table => {
|
|
2507
|
-
const makeVisibleColumnsMethod = (key, getColumns) => {
|
|
2508
|
-
return memo(() => [getColumns(), getColumns().filter(d => d.getIsVisible()).map(d => d.id).join('_')], columns => {
|
|
2509
|
-
return columns.filter(d => d.getIsVisible == null ? void 0 : d.getIsVisible());
|
|
2510
|
-
}, getMemoOptions(table.options, 'debugColumns', key));
|
|
2511
|
-
};
|
|
2512
|
-
table.getVisibleFlatColumns = makeVisibleColumnsMethod('getVisibleFlatColumns', () => table.getAllFlatColumns());
|
|
2513
|
-
table.getVisibleLeafColumns = makeVisibleColumnsMethod('getVisibleLeafColumns', () => table.getAllLeafColumns());
|
|
2514
|
-
table.getLeftVisibleLeafColumns = makeVisibleColumnsMethod('getLeftVisibleLeafColumns', () => table.getLeftLeafColumns());
|
|
2515
|
-
table.getRightVisibleLeafColumns = makeVisibleColumnsMethod('getRightVisibleLeafColumns', () => table.getRightLeafColumns());
|
|
2516
|
-
table.getCenterVisibleLeafColumns = makeVisibleColumnsMethod('getCenterVisibleLeafColumns', () => table.getCenterLeafColumns());
|
|
2517
|
-
table.setColumnVisibility = updater => table.options.onColumnVisibilityChange == null ? void 0 : table.options.onColumnVisibilityChange(updater);
|
|
2518
|
-
table.resetColumnVisibility = defaultState => {
|
|
2519
|
-
var _table$initialState$c;
|
|
2520
|
-
table.setColumnVisibility(defaultState ? {} : (_table$initialState$c = table.initialState.columnVisibility) != null ? _table$initialState$c : {});
|
|
2521
|
-
};
|
|
2522
|
-
table.toggleAllColumnsVisible = value => {
|
|
2523
|
-
var _value;
|
|
2524
|
-
value = (_value = value) != null ? _value : !table.getIsAllColumnsVisible();
|
|
2525
|
-
table.setColumnVisibility(table.getAllLeafColumns().reduce((obj, column) => ({
|
|
2526
|
-
...obj,
|
|
2527
|
-
[column.id]: !value ? !(column.getCanHide != null && column.getCanHide()) : value
|
|
2528
|
-
}), {}));
|
|
2529
|
-
};
|
|
2530
|
-
table.getIsAllColumnsVisible = () => !table.getAllLeafColumns().some(column => !(column.getIsVisible != null && column.getIsVisible()));
|
|
2531
|
-
table.getIsSomeColumnsVisible = () => table.getAllLeafColumns().some(column => column.getIsVisible == null ? void 0 : column.getIsVisible());
|
|
2532
|
-
table.getToggleAllColumnsVisibilityHandler = () => {
|
|
2533
|
-
return e => {
|
|
2534
|
-
var _target;
|
|
2535
|
-
table.toggleAllColumnsVisible((_target = e.target) == null ? void 0 : _target.checked);
|
|
2536
|
-
};
|
|
2537
|
-
};
|
|
2538
|
-
}
|
|
2539
|
-
};
|
|
2540
|
-
function _getVisibleLeafColumns(table, position) {
|
|
2541
|
-
return !position ? table.getVisibleLeafColumns() : position === 'center' ? table.getCenterVisibleLeafColumns() : position === 'left' ? table.getLeftVisibleLeafColumns() : table.getRightVisibleLeafColumns();
|
|
2542
|
-
}
|
|
2543
|
-
|
|
2544
|
-
const features = [Headers, Visibility, Ordering, Pinning, Filters, Sorting, Grouping, Expanding, Pagination, RowSelection, ColumnSizing];
|
|
2738
|
+
const builtInFeatures = [Headers, ColumnVisibility, ColumnOrdering, ColumnPinning, ColumnFaceting, ColumnFiltering, GlobalFiltering,
|
|
2739
|
+
//depends on ColumnFiltering and ColumnFaceting
|
|
2740
|
+
RowSorting, ColumnGrouping,
|
|
2741
|
+
//depends on RowSorting
|
|
2742
|
+
RowExpanding, RowPagination, RowPinning, RowSelection, ColumnSizing];
|
|
2545
2743
|
|
|
2546
2744
|
//
|
|
2547
2745
|
|
|
2548
2746
|
function createTable(options) {
|
|
2549
|
-
var _options$initialState;
|
|
2550
|
-
if (options.debugAll || options.debugTable) {
|
|
2747
|
+
var _options$_features, _options$initialState;
|
|
2748
|
+
if (process.env.NODE_ENV !== 'production' && (options.debugAll || options.debugTable)) {
|
|
2551
2749
|
console.info('Creating Table Instance...');
|
|
2552
2750
|
}
|
|
2751
|
+
const _features = [...builtInFeatures, ...((_options$_features = options._features) != null ? _options$_features : [])];
|
|
2553
2752
|
let table = {
|
|
2554
|
-
_features
|
|
2753
|
+
_features
|
|
2555
2754
|
};
|
|
2556
2755
|
const defaultOptions = table._features.reduce((obj, feature) => {
|
|
2557
2756
|
return Object.assign(obj, feature.getDefaultOptions == null ? void 0 : feature.getDefaultOptions(table));
|
|
@@ -2577,7 +2776,7 @@ function createTable(options) {
|
|
|
2577
2776
|
const queued = [];
|
|
2578
2777
|
let queuedTimeout = false;
|
|
2579
2778
|
const coreInstance = {
|
|
2580
|
-
_features
|
|
2779
|
+
_features,
|
|
2581
2780
|
options: {
|
|
2582
2781
|
...defaultOptions,
|
|
2583
2782
|
...options
|
|
@@ -2641,232 +2840,77 @@ function createTable(options) {
|
|
|
2641
2840
|
throw new Error();
|
|
2642
2841
|
}
|
|
2643
2842
|
}
|
|
2644
|
-
return row;
|
|
2645
|
-
},
|
|
2646
|
-
_getDefaultColumnDef: memo(() => [table.options.defaultColumn], defaultColumn => {
|
|
2647
|
-
var _defaultColumn;
|
|
2648
|
-
defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
|
|
2649
|
-
return {
|
|
2650
|
-
header: props => {
|
|
2651
|
-
const resolvedColumnDef = props.header.column.columnDef;
|
|
2652
|
-
if (resolvedColumnDef.accessorKey) {
|
|
2653
|
-
return resolvedColumnDef.accessorKey;
|
|
2654
|
-
}
|
|
2655
|
-
if (resolvedColumnDef.accessorFn) {
|
|
2656
|
-
return resolvedColumnDef.id;
|
|
2657
|
-
}
|
|
2658
|
-
return null;
|
|
2659
|
-
},
|
|
2660
|
-
// footer: props => props.header.column.id,
|
|
2661
|
-
cell: props => {
|
|
2662
|
-
var _props$renderValue$to, _props$renderValue;
|
|
2663
|
-
return (_props$renderValue$to = (_props$renderValue = props.renderValue()) == null || _props$renderValue.toString == null ? void 0 : _props$renderValue.toString()) != null ? _props$renderValue$to : null;
|
|
2664
|
-
},
|
|
2665
|
-
...table._features.reduce((obj, feature) => {
|
|
2666
|
-
return Object.assign(obj, feature.getDefaultColumnDef == null ? void 0 : feature.getDefaultColumnDef());
|
|
2667
|
-
}, {}),
|
|
2668
|
-
...defaultColumn
|
|
2669
|
-
};
|
|
2670
|
-
}, getMemoOptions(options, 'debugColumns', '_getDefaultColumnDef')),
|
|
2671
|
-
_getColumnDefs: () => table.options.columns,
|
|
2672
|
-
getAllColumns: memo(() => [table._getColumnDefs()], columnDefs => {
|
|
2673
|
-
const recurseColumns = function (columnDefs, parent, depth) {
|
|
2674
|
-
if (depth === void 0) {
|
|
2675
|
-
depth = 0;
|
|
2676
|
-
}
|
|
2677
|
-
return columnDefs.map(columnDef => {
|
|
2678
|
-
const column = createColumn(table, columnDef, depth, parent);
|
|
2679
|
-
const groupingColumnDef = columnDef;
|
|
2680
|
-
column.columns = groupingColumnDef.columns ? recurseColumns(groupingColumnDef.columns, column, depth + 1) : [];
|
|
2681
|
-
return column;
|
|
2682
|
-
});
|
|
2683
|
-
};
|
|
2684
|
-
return recurseColumns(columnDefs);
|
|
2685
|
-
}, getMemoOptions(options, 'debugColumns', 'getAllColumns')),
|
|
2686
|
-
getAllFlatColumns: memo(() => [table.getAllColumns()], allColumns => {
|
|
2687
|
-
return allColumns.flatMap(column => {
|
|
2688
|
-
return column.getFlatColumns();
|
|
2689
|
-
});
|
|
2690
|
-
}, getMemoOptions(options, 'debugColumns', 'getAllFlatColumns')),
|
|
2691
|
-
_getAllFlatColumnsById: memo(() => [table.getAllFlatColumns()], flatColumns => {
|
|
2692
|
-
return flatColumns.reduce((acc, column) => {
|
|
2693
|
-
acc[column.id] = column;
|
|
2694
|
-
return acc;
|
|
2695
|
-
}, {});
|
|
2696
|
-
}, getMemoOptions(options, 'debugColumns', 'getAllFlatColumnsById')),
|
|
2697
|
-
getAllLeafColumns: memo(() => [table.getAllColumns(), table._getOrderColumnsFn()], (allColumns, orderColumns) => {
|
|
2698
|
-
let leafColumns = allColumns.flatMap(column => column.getLeafColumns());
|
|
2699
|
-
return orderColumns(leafColumns);
|
|
2700
|
-
}, getMemoOptions(options, 'debugColumns', 'getAllLeafColumns')),
|
|
2701
|
-
getColumn: columnId => {
|
|
2702
|
-
const column = table._getAllFlatColumnsById()[columnId];
|
|
2703
|
-
if (process.env.NODE_ENV !== 'production' && !column) {
|
|
2704
|
-
console.error(`[Table] Column with id '${columnId}' does not exist.`);
|
|
2705
|
-
}
|
|
2706
|
-
return column;
|
|
2707
|
-
}
|
|
2708
|
-
};
|
|
2709
|
-
Object.assign(table, coreInstance);
|
|
2710
|
-
for (let index = 0; index < table._features.length; index++) {
|
|
2711
|
-
const feature = table._features[index];
|
|
2712
|
-
feature == null || feature.createTable == null || feature.createTable(table);
|
|
2713
|
-
}
|
|
2714
|
-
return table;
|
|
2715
|
-
}
|
|
2716
|
-
|
|
2717
|
-
function createCell(table, row, column, columnId) {
|
|
2718
|
-
const getRenderValue = () => {
|
|
2719
|
-
var _cell$getValue;
|
|
2720
|
-
return (_cell$getValue = cell.getValue()) != null ? _cell$getValue : table.options.renderFallbackValue;
|
|
2721
|
-
};
|
|
2722
|
-
const cell = {
|
|
2723
|
-
id: `${row.id}_${column.id}`,
|
|
2724
|
-
row,
|
|
2725
|
-
column,
|
|
2726
|
-
getValue: () => row.getValue(columnId),
|
|
2727
|
-
renderValue: getRenderValue,
|
|
2728
|
-
getContext: memo(() => [table, column, row, cell], (table, column, row, cell) => ({
|
|
2729
|
-
table,
|
|
2730
|
-
column,
|
|
2731
|
-
row,
|
|
2732
|
-
cell: cell,
|
|
2733
|
-
getValue: cell.getValue,
|
|
2734
|
-
renderValue: cell.renderValue
|
|
2735
|
-
}), getMemoOptions(table.options, 'debugCells', 'cell.getContext'))
|
|
2736
|
-
};
|
|
2737
|
-
table._features.forEach(feature => {
|
|
2738
|
-
feature.createCell == null || feature.createCell(cell, column, row, table);
|
|
2739
|
-
}, {});
|
|
2740
|
-
return cell;
|
|
2741
|
-
}
|
|
2742
|
-
|
|
2743
|
-
const createRow = (table, id, original, rowIndex, depth, subRows, parentId) => {
|
|
2744
|
-
let row = {
|
|
2745
|
-
id,
|
|
2746
|
-
index: rowIndex,
|
|
2747
|
-
original,
|
|
2748
|
-
depth,
|
|
2749
|
-
parentId,
|
|
2750
|
-
_valuesCache: {},
|
|
2751
|
-
_uniqueValuesCache: {},
|
|
2752
|
-
getValue: columnId => {
|
|
2753
|
-
if (row._valuesCache.hasOwnProperty(columnId)) {
|
|
2754
|
-
return row._valuesCache[columnId];
|
|
2755
|
-
}
|
|
2756
|
-
const column = table.getColumn(columnId);
|
|
2757
|
-
if (!(column != null && column.accessorFn)) {
|
|
2758
|
-
return undefined;
|
|
2759
|
-
}
|
|
2760
|
-
row._valuesCache[columnId] = column.accessorFn(row.original, rowIndex);
|
|
2761
|
-
return row._valuesCache[columnId];
|
|
2762
|
-
},
|
|
2763
|
-
getUniqueValues: columnId => {
|
|
2764
|
-
if (row._uniqueValuesCache.hasOwnProperty(columnId)) {
|
|
2765
|
-
return row._uniqueValuesCache[columnId];
|
|
2766
|
-
}
|
|
2767
|
-
const column = table.getColumn(columnId);
|
|
2768
|
-
if (!(column != null && column.accessorFn)) {
|
|
2769
|
-
return undefined;
|
|
2770
|
-
}
|
|
2771
|
-
if (!column.columnDef.getUniqueValues) {
|
|
2772
|
-
row._uniqueValuesCache[columnId] = [row.getValue(columnId)];
|
|
2773
|
-
return row._uniqueValuesCache[columnId];
|
|
2774
|
-
}
|
|
2775
|
-
row._uniqueValuesCache[columnId] = column.columnDef.getUniqueValues(row.original, rowIndex);
|
|
2776
|
-
return row._uniqueValuesCache[columnId];
|
|
2777
|
-
},
|
|
2778
|
-
renderValue: columnId => {
|
|
2779
|
-
var _row$getValue;
|
|
2780
|
-
return (_row$getValue = row.getValue(columnId)) != null ? _row$getValue : table.options.renderFallbackValue;
|
|
2781
|
-
},
|
|
2782
|
-
subRows: subRows != null ? subRows : [],
|
|
2783
|
-
getLeafRows: () => flattenBy(row.subRows, d => d.subRows),
|
|
2784
|
-
getParentRow: () => row.parentId ? table.getRow(row.parentId, true) : undefined,
|
|
2785
|
-
getParentRows: () => {
|
|
2786
|
-
let parentRows = [];
|
|
2787
|
-
let currentRow = row;
|
|
2788
|
-
while (true) {
|
|
2789
|
-
const parentRow = currentRow.getParentRow();
|
|
2790
|
-
if (!parentRow) break;
|
|
2791
|
-
parentRows.push(parentRow);
|
|
2792
|
-
currentRow = parentRow;
|
|
2793
|
-
}
|
|
2794
|
-
return parentRows.reverse();
|
|
2795
|
-
},
|
|
2796
|
-
getAllCells: memo(() => [table.getAllLeafColumns()], leafColumns => {
|
|
2797
|
-
return leafColumns.map(column => {
|
|
2798
|
-
return createCell(table, row, column, column.id);
|
|
2843
|
+
return row;
|
|
2844
|
+
},
|
|
2845
|
+
_getDefaultColumnDef: memo(() => [table.options.defaultColumn], defaultColumn => {
|
|
2846
|
+
var _defaultColumn;
|
|
2847
|
+
defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
|
|
2848
|
+
return {
|
|
2849
|
+
header: props => {
|
|
2850
|
+
const resolvedColumnDef = props.header.column.columnDef;
|
|
2851
|
+
if (resolvedColumnDef.accessorKey) {
|
|
2852
|
+
return resolvedColumnDef.accessorKey;
|
|
2853
|
+
}
|
|
2854
|
+
if (resolvedColumnDef.accessorFn) {
|
|
2855
|
+
return resolvedColumnDef.id;
|
|
2856
|
+
}
|
|
2857
|
+
return null;
|
|
2858
|
+
},
|
|
2859
|
+
// footer: props => props.header.column.id,
|
|
2860
|
+
cell: props => {
|
|
2861
|
+
var _props$renderValue$to, _props$renderValue;
|
|
2862
|
+
return (_props$renderValue$to = (_props$renderValue = props.renderValue()) == null || _props$renderValue.toString == null ? void 0 : _props$renderValue.toString()) != null ? _props$renderValue$to : null;
|
|
2863
|
+
},
|
|
2864
|
+
...table._features.reduce((obj, feature) => {
|
|
2865
|
+
return Object.assign(obj, feature.getDefaultColumnDef == null ? void 0 : feature.getDefaultColumnDef());
|
|
2866
|
+
}, {}),
|
|
2867
|
+
...defaultColumn
|
|
2868
|
+
};
|
|
2869
|
+
}, getMemoOptions(options, 'debugColumns', '_getDefaultColumnDef')),
|
|
2870
|
+
_getColumnDefs: () => table.options.columns,
|
|
2871
|
+
getAllColumns: memo(() => [table._getColumnDefs()], columnDefs => {
|
|
2872
|
+
const recurseColumns = function (columnDefs, parent, depth) {
|
|
2873
|
+
if (depth === void 0) {
|
|
2874
|
+
depth = 0;
|
|
2875
|
+
}
|
|
2876
|
+
return columnDefs.map(columnDef => {
|
|
2877
|
+
const column = createColumn(table, columnDef, depth, parent);
|
|
2878
|
+
const groupingColumnDef = columnDef;
|
|
2879
|
+
column.columns = groupingColumnDef.columns ? recurseColumns(groupingColumnDef.columns, column, depth + 1) : [];
|
|
2880
|
+
return column;
|
|
2881
|
+
});
|
|
2882
|
+
};
|
|
2883
|
+
return recurseColumns(columnDefs);
|
|
2884
|
+
}, getMemoOptions(options, 'debugColumns', 'getAllColumns')),
|
|
2885
|
+
getAllFlatColumns: memo(() => [table.getAllColumns()], allColumns => {
|
|
2886
|
+
return allColumns.flatMap(column => {
|
|
2887
|
+
return column.getFlatColumns();
|
|
2799
2888
|
});
|
|
2800
|
-
}, getMemoOptions(
|
|
2801
|
-
|
|
2802
|
-
return
|
|
2803
|
-
acc[
|
|
2889
|
+
}, getMemoOptions(options, 'debugColumns', 'getAllFlatColumns')),
|
|
2890
|
+
_getAllFlatColumnsById: memo(() => [table.getAllFlatColumns()], flatColumns => {
|
|
2891
|
+
return flatColumns.reduce((acc, column) => {
|
|
2892
|
+
acc[column.id] = column;
|
|
2804
2893
|
return acc;
|
|
2805
2894
|
}, {});
|
|
2806
|
-
}, getMemoOptions(
|
|
2895
|
+
}, getMemoOptions(options, 'debugColumns', 'getAllFlatColumnsById')),
|
|
2896
|
+
getAllLeafColumns: memo(() => [table.getAllColumns(), table._getOrderColumnsFn()], (allColumns, orderColumns) => {
|
|
2897
|
+
let leafColumns = allColumns.flatMap(column => column.getLeafColumns());
|
|
2898
|
+
return orderColumns(leafColumns);
|
|
2899
|
+
}, getMemoOptions(options, 'debugColumns', 'getAllLeafColumns')),
|
|
2900
|
+
getColumn: columnId => {
|
|
2901
|
+
const column = table._getAllFlatColumnsById()[columnId];
|
|
2902
|
+
if (process.env.NODE_ENV !== 'production' && !column) {
|
|
2903
|
+
console.error(`[Table] Column with id '${columnId}' does not exist.`);
|
|
2904
|
+
}
|
|
2905
|
+
return column;
|
|
2906
|
+
}
|
|
2807
2907
|
};
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2908
|
+
Object.assign(table, coreInstance);
|
|
2909
|
+
for (let index = 0; index < table._features.length; index++) {
|
|
2910
|
+
const feature = table._features[index];
|
|
2911
|
+
feature == null || feature.createTable == null || feature.createTable(table);
|
|
2811
2912
|
}
|
|
2812
|
-
return
|
|
2813
|
-
};
|
|
2814
|
-
|
|
2815
|
-
// type Person = {
|
|
2816
|
-
// firstName: string
|
|
2817
|
-
// lastName: string
|
|
2818
|
-
// age: number
|
|
2819
|
-
// visits: number
|
|
2820
|
-
// status: string
|
|
2821
|
-
// progress: number
|
|
2822
|
-
// createdAt: Date
|
|
2823
|
-
// nested: {
|
|
2824
|
-
// foo: [
|
|
2825
|
-
// {
|
|
2826
|
-
// bar: 'bar'
|
|
2827
|
-
// }
|
|
2828
|
-
// ]
|
|
2829
|
-
// bar: { subBar: boolean }[]
|
|
2830
|
-
// baz: {
|
|
2831
|
-
// foo: 'foo'
|
|
2832
|
-
// bar: {
|
|
2833
|
-
// baz: 'baz'
|
|
2834
|
-
// }
|
|
2835
|
-
// }
|
|
2836
|
-
// }
|
|
2837
|
-
// }
|
|
2838
|
-
|
|
2839
|
-
// const test: DeepKeys<Person> = 'nested.foo.0.bar'
|
|
2840
|
-
// const test2: DeepKeys<Person> = 'nested.bar'
|
|
2841
|
-
|
|
2842
|
-
// const helper = createColumnHelper<Person>()
|
|
2843
|
-
|
|
2844
|
-
// helper.accessor('nested.foo', {
|
|
2845
|
-
// cell: info => info.getValue(),
|
|
2846
|
-
// })
|
|
2847
|
-
|
|
2848
|
-
// helper.accessor('nested.foo.0.bar', {
|
|
2849
|
-
// cell: info => info.getValue(),
|
|
2850
|
-
// })
|
|
2851
|
-
|
|
2852
|
-
// helper.accessor('nested.bar', {
|
|
2853
|
-
// cell: info => info.getValue(),
|
|
2854
|
-
// })
|
|
2855
|
-
|
|
2856
|
-
function createColumnHelper() {
|
|
2857
|
-
return {
|
|
2858
|
-
accessor: (accessor, column) => {
|
|
2859
|
-
return typeof accessor === 'function' ? {
|
|
2860
|
-
...column,
|
|
2861
|
-
accessorFn: accessor
|
|
2862
|
-
} : {
|
|
2863
|
-
...column,
|
|
2864
|
-
accessorKey: accessor
|
|
2865
|
-
};
|
|
2866
|
-
},
|
|
2867
|
-
display: column => column,
|
|
2868
|
-
group: column => column
|
|
2869
|
-
};
|
|
2913
|
+
return table;
|
|
2870
2914
|
}
|
|
2871
2915
|
|
|
2872
2916
|
function getCoreRowModel() {
|
|
@@ -2917,6 +2961,62 @@ function getCoreRowModel() {
|
|
|
2917
2961
|
}, getMemoOptions(table.options, 'debugTable', 'getRowModel', () => table._autoResetPageIndex()));
|
|
2918
2962
|
}
|
|
2919
2963
|
|
|
2964
|
+
function getExpandedRowModel() {
|
|
2965
|
+
return table => memo(() => [table.getState().expanded, table.getPreExpandedRowModel(), table.options.paginateExpandedRows], (expanded, rowModel, paginateExpandedRows) => {
|
|
2966
|
+
if (!rowModel.rows.length || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
|
|
2967
|
+
return rowModel;
|
|
2968
|
+
}
|
|
2969
|
+
if (!paginateExpandedRows) {
|
|
2970
|
+
// Only expand rows at this point if they are being paginated
|
|
2971
|
+
return rowModel;
|
|
2972
|
+
}
|
|
2973
|
+
return expandRows(rowModel);
|
|
2974
|
+
}, getMemoOptions(table.options, 'debugTable', 'getExpandedRowModel'));
|
|
2975
|
+
}
|
|
2976
|
+
function expandRows(rowModel) {
|
|
2977
|
+
const expandedRows = [];
|
|
2978
|
+
const handleRow = row => {
|
|
2979
|
+
var _row$subRows;
|
|
2980
|
+
expandedRows.push(row);
|
|
2981
|
+
if ((_row$subRows = row.subRows) != null && _row$subRows.length && row.getIsExpanded()) {
|
|
2982
|
+
row.subRows.forEach(handleRow);
|
|
2983
|
+
}
|
|
2984
|
+
};
|
|
2985
|
+
rowModel.rows.forEach(handleRow);
|
|
2986
|
+
return {
|
|
2987
|
+
rows: expandedRows,
|
|
2988
|
+
flatRows: rowModel.flatRows,
|
|
2989
|
+
rowsById: rowModel.rowsById
|
|
2990
|
+
};
|
|
2991
|
+
}
|
|
2992
|
+
|
|
2993
|
+
function getFacetedMinMaxValues() {
|
|
2994
|
+
return (table, columnId) => memo(() => {
|
|
2995
|
+
var _table$getColumn;
|
|
2996
|
+
return [(_table$getColumn = table.getColumn(columnId)) == null ? void 0 : _table$getColumn.getFacetedRowModel()];
|
|
2997
|
+
}, facetedRowModel => {
|
|
2998
|
+
var _facetedRowModel$flat;
|
|
2999
|
+
if (!facetedRowModel) return undefined;
|
|
3000
|
+
const firstValue = (_facetedRowModel$flat = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat.getUniqueValues(columnId);
|
|
3001
|
+
if (typeof firstValue === 'undefined') {
|
|
3002
|
+
return undefined;
|
|
3003
|
+
}
|
|
3004
|
+
let facetedMinMaxValues = [firstValue, firstValue];
|
|
3005
|
+
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
3006
|
+
const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);
|
|
3007
|
+
for (let j = 0; j < values.length; j++) {
|
|
3008
|
+
const value = values[j];
|
|
3009
|
+
if (value < facetedMinMaxValues[0]) {
|
|
3010
|
+
facetedMinMaxValues[0] = value;
|
|
3011
|
+
} else if (value > facetedMinMaxValues[1]) {
|
|
3012
|
+
facetedMinMaxValues[1] = value;
|
|
3013
|
+
}
|
|
3014
|
+
}
|
|
3015
|
+
}
|
|
3016
|
+
return facetedMinMaxValues;
|
|
3017
|
+
}, getMemoOptions(table.options, 'debugTable', 'getFacetedMinMaxValues'));
|
|
3018
|
+
}
|
|
3019
|
+
|
|
2920
3020
|
function filterRows(rows, filterRowImpl, table) {
|
|
2921
3021
|
if (table.options.filterFromLeafRows) {
|
|
2922
3022
|
return filterRowModelFromLeafs(rows, filterRowImpl, table);
|
|
@@ -3012,6 +3112,48 @@ function filterRowModelFromRoot(rowsToFilter, filterRow, table) {
|
|
|
3012
3112
|
};
|
|
3013
3113
|
}
|
|
3014
3114
|
|
|
3115
|
+
function getFacetedRowModel() {
|
|
3116
|
+
return (table, columnId) => memo(() => [table.getPreFilteredRowModel(), table.getState().columnFilters, table.getState().globalFilter, table.getFilteredRowModel()], (preRowModel, columnFilters, globalFilter) => {
|
|
3117
|
+
if (!preRowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
|
|
3118
|
+
return preRowModel;
|
|
3119
|
+
}
|
|
3120
|
+
const filterableIds = [...columnFilters.map(d => d.id).filter(d => d !== columnId), globalFilter ? '__global__' : undefined].filter(Boolean);
|
|
3121
|
+
const filterRowsImpl = row => {
|
|
3122
|
+
// Horizontally filter rows through each column
|
|
3123
|
+
for (let i = 0; i < filterableIds.length; i++) {
|
|
3124
|
+
if (row.columnFilters[filterableIds[i]] === false) {
|
|
3125
|
+
return false;
|
|
3126
|
+
}
|
|
3127
|
+
}
|
|
3128
|
+
return true;
|
|
3129
|
+
};
|
|
3130
|
+
return filterRows(preRowModel.rows, filterRowsImpl, table);
|
|
3131
|
+
}, getMemoOptions(table.options, 'debugTable', 'getFacetedRowModel'));
|
|
3132
|
+
}
|
|
3133
|
+
|
|
3134
|
+
function getFacetedUniqueValues() {
|
|
3135
|
+
return (table, columnId) => memo(() => {
|
|
3136
|
+
var _table$getColumn;
|
|
3137
|
+
return [(_table$getColumn = table.getColumn(columnId)) == null ? void 0 : _table$getColumn.getFacetedRowModel()];
|
|
3138
|
+
}, facetedRowModel => {
|
|
3139
|
+
if (!facetedRowModel) return new Map();
|
|
3140
|
+
let facetedUniqueValues = new Map();
|
|
3141
|
+
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
3142
|
+
const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);
|
|
3143
|
+
for (let j = 0; j < values.length; j++) {
|
|
3144
|
+
const value = values[j];
|
|
3145
|
+
if (facetedUniqueValues.has(value)) {
|
|
3146
|
+
var _facetedUniqueValues$;
|
|
3147
|
+
facetedUniqueValues.set(value, ((_facetedUniqueValues$ = facetedUniqueValues.get(value)) != null ? _facetedUniqueValues$ : 0) + 1);
|
|
3148
|
+
} else {
|
|
3149
|
+
facetedUniqueValues.set(value, 1);
|
|
3150
|
+
}
|
|
3151
|
+
}
|
|
3152
|
+
}
|
|
3153
|
+
return facetedUniqueValues;
|
|
3154
|
+
}, getMemoOptions(table.options, 'debugTable', `getFacetedUniqueValues_${columnId}`));
|
|
3155
|
+
}
|
|
3156
|
+
|
|
3015
3157
|
function getFilteredRowModel() {
|
|
3016
3158
|
return table => memo(() => [table.getPreFilteredRowModel(), table.getState().columnFilters, table.getState().globalFilter], (rowModel, columnFilters, globalFilter) => {
|
|
3017
3159
|
if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
|
|
@@ -3084,34 +3226,13 @@ function getFilteredRowModel() {
|
|
|
3084
3226
|
})) {
|
|
3085
3227
|
row.columnFilters.__global__ = true;
|
|
3086
3228
|
break;
|
|
3087
|
-
}
|
|
3088
|
-
}
|
|
3089
|
-
if (row.columnFilters.__global__ !== true) {
|
|
3090
|
-
row.columnFilters.__global__ = false;
|
|
3091
|
-
}
|
|
3092
|
-
}
|
|
3093
|
-
}
|
|
3094
|
-
const filterRowsImpl = row => {
|
|
3095
|
-
// Horizontally filter rows through each column
|
|
3096
|
-
for (let i = 0; i < filterableIds.length; i++) {
|
|
3097
|
-
if (row.columnFilters[filterableIds[i]] === false) {
|
|
3098
|
-
return false;
|
|
3099
|
-
}
|
|
3100
|
-
}
|
|
3101
|
-
return true;
|
|
3102
|
-
};
|
|
3103
|
-
|
|
3104
|
-
// Filter final rows using all of the active filters
|
|
3105
|
-
return filterRows(rowModel.rows, filterRowsImpl, table);
|
|
3106
|
-
}, getMemoOptions(table.options, 'debugTable', 'getFilteredRowModel', () => table._autoResetPageIndex()));
|
|
3107
|
-
}
|
|
3108
|
-
|
|
3109
|
-
function getFacetedRowModel() {
|
|
3110
|
-
return (table, columnId) => memo(() => [table.getPreFilteredRowModel(), table.getState().columnFilters, table.getState().globalFilter, table.getFilteredRowModel()], (preRowModel, columnFilters, globalFilter) => {
|
|
3111
|
-
if (!preRowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
|
|
3112
|
-
return preRowModel;
|
|
3229
|
+
}
|
|
3230
|
+
}
|
|
3231
|
+
if (row.columnFilters.__global__ !== true) {
|
|
3232
|
+
row.columnFilters.__global__ = false;
|
|
3233
|
+
}
|
|
3234
|
+
}
|
|
3113
3235
|
}
|
|
3114
|
-
const filterableIds = [...columnFilters.map(d => d.id).filter(d => d !== columnId), globalFilter ? '__global__' : undefined].filter(Boolean);
|
|
3115
3236
|
const filterRowsImpl = row => {
|
|
3116
3237
|
// Horizontally filter rows through each column
|
|
3117
3238
|
for (let i = 0; i < filterableIds.length; i++) {
|
|
@@ -3121,141 +3242,10 @@ function getFacetedRowModel() {
|
|
|
3121
3242
|
}
|
|
3122
3243
|
return true;
|
|
3123
3244
|
};
|
|
3124
|
-
return filterRows(preRowModel.rows, filterRowsImpl, table);
|
|
3125
|
-
}, getMemoOptions(table.options, 'debugTable', 'getFacetedRowModel'));
|
|
3126
|
-
}
|
|
3127
|
-
|
|
3128
|
-
function getFacetedUniqueValues() {
|
|
3129
|
-
return (table, columnId) => memo(() => {
|
|
3130
|
-
var _table$getColumn;
|
|
3131
|
-
return [(_table$getColumn = table.getColumn(columnId)) == null ? void 0 : _table$getColumn.getFacetedRowModel()];
|
|
3132
|
-
}, facetedRowModel => {
|
|
3133
|
-
if (!facetedRowModel) return new Map();
|
|
3134
|
-
let facetedUniqueValues = new Map();
|
|
3135
|
-
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
3136
|
-
const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);
|
|
3137
|
-
for (let j = 0; j < values.length; j++) {
|
|
3138
|
-
const value = values[j];
|
|
3139
|
-
if (facetedUniqueValues.has(value)) {
|
|
3140
|
-
var _facetedUniqueValues$;
|
|
3141
|
-
facetedUniqueValues.set(value, ((_facetedUniqueValues$ = facetedUniqueValues.get(value)) != null ? _facetedUniqueValues$ : 0) + 1);
|
|
3142
|
-
} else {
|
|
3143
|
-
facetedUniqueValues.set(value, 1);
|
|
3144
|
-
}
|
|
3145
|
-
}
|
|
3146
|
-
}
|
|
3147
|
-
return facetedUniqueValues;
|
|
3148
|
-
}, getMemoOptions(table.options, 'debugTable', `getFacetedUniqueValues_${columnId}`));
|
|
3149
|
-
}
|
|
3150
|
-
|
|
3151
|
-
function getFacetedMinMaxValues() {
|
|
3152
|
-
return (table, columnId) => memo(() => {
|
|
3153
|
-
var _table$getColumn;
|
|
3154
|
-
return [(_table$getColumn = table.getColumn(columnId)) == null ? void 0 : _table$getColumn.getFacetedRowModel()];
|
|
3155
|
-
}, facetedRowModel => {
|
|
3156
|
-
var _facetedRowModel$flat;
|
|
3157
|
-
if (!facetedRowModel) return undefined;
|
|
3158
|
-
const firstValue = (_facetedRowModel$flat = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat.getUniqueValues(columnId);
|
|
3159
|
-
if (typeof firstValue === 'undefined') {
|
|
3160
|
-
return undefined;
|
|
3161
|
-
}
|
|
3162
|
-
let facetedMinMaxValues = [firstValue, firstValue];
|
|
3163
|
-
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
3164
|
-
const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);
|
|
3165
|
-
for (let j = 0; j < values.length; j++) {
|
|
3166
|
-
const value = values[j];
|
|
3167
|
-
if (value < facetedMinMaxValues[0]) {
|
|
3168
|
-
facetedMinMaxValues[0] = value;
|
|
3169
|
-
} else if (value > facetedMinMaxValues[1]) {
|
|
3170
|
-
facetedMinMaxValues[1] = value;
|
|
3171
|
-
}
|
|
3172
|
-
}
|
|
3173
|
-
}
|
|
3174
|
-
return facetedMinMaxValues;
|
|
3175
|
-
}, getMemoOptions(table.options, 'debugTable', 'getFacetedMinMaxValues'));
|
|
3176
|
-
}
|
|
3177
|
-
|
|
3178
|
-
function getSortedRowModel() {
|
|
3179
|
-
return table => memo(() => [table.getState().sorting, table.getPreSortedRowModel()], (sorting, rowModel) => {
|
|
3180
|
-
if (!rowModel.rows.length || !(sorting != null && sorting.length)) {
|
|
3181
|
-
return rowModel;
|
|
3182
|
-
}
|
|
3183
|
-
const sortingState = table.getState().sorting;
|
|
3184
|
-
const sortedFlatRows = [];
|
|
3185
|
-
|
|
3186
|
-
// Filter out sortings that correspond to non existing columns
|
|
3187
|
-
const availableSorting = sortingState.filter(sort => {
|
|
3188
|
-
var _table$getColumn;
|
|
3189
|
-
return (_table$getColumn = table.getColumn(sort.id)) == null ? void 0 : _table$getColumn.getCanSort();
|
|
3190
|
-
});
|
|
3191
|
-
const columnInfoById = {};
|
|
3192
|
-
availableSorting.forEach(sortEntry => {
|
|
3193
|
-
const column = table.getColumn(sortEntry.id);
|
|
3194
|
-
if (!column) return;
|
|
3195
|
-
columnInfoById[sortEntry.id] = {
|
|
3196
|
-
sortUndefined: column.columnDef.sortUndefined,
|
|
3197
|
-
invertSorting: column.columnDef.invertSorting,
|
|
3198
|
-
sortingFn: column.getSortingFn()
|
|
3199
|
-
};
|
|
3200
|
-
});
|
|
3201
|
-
const sortData = rows => {
|
|
3202
|
-
// This will also perform a stable sorting using the row index
|
|
3203
|
-
// if needed.
|
|
3204
|
-
const sortedData = rows.map(row => ({
|
|
3205
|
-
...row
|
|
3206
|
-
}));
|
|
3207
|
-
sortedData.sort((rowA, rowB) => {
|
|
3208
|
-
for (let i = 0; i < availableSorting.length; i += 1) {
|
|
3209
|
-
var _sortEntry$desc;
|
|
3210
|
-
const sortEntry = availableSorting[i];
|
|
3211
|
-
const columnInfo = columnInfoById[sortEntry.id];
|
|
3212
|
-
const isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;
|
|
3213
|
-
let sortInt = 0;
|
|
3214
|
-
|
|
3215
|
-
// All sorting ints should always return in ascending order
|
|
3216
|
-
if (columnInfo.sortUndefined) {
|
|
3217
|
-
const aValue = rowA.getValue(sortEntry.id);
|
|
3218
|
-
const bValue = rowB.getValue(sortEntry.id);
|
|
3219
|
-
const aUndefined = aValue === undefined;
|
|
3220
|
-
const bUndefined = bValue === undefined;
|
|
3221
|
-
if (aUndefined || bUndefined) {
|
|
3222
|
-
sortInt = aUndefined && bUndefined ? 0 : aUndefined ? columnInfo.sortUndefined : -columnInfo.sortUndefined;
|
|
3223
|
-
}
|
|
3224
|
-
}
|
|
3225
|
-
if (sortInt === 0) {
|
|
3226
|
-
sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);
|
|
3227
|
-
}
|
|
3228
|
-
|
|
3229
|
-
// If sorting is non-zero, take care of desc and inversion
|
|
3230
|
-
if (sortInt !== 0) {
|
|
3231
|
-
if (isDesc) {
|
|
3232
|
-
sortInt *= -1;
|
|
3233
|
-
}
|
|
3234
|
-
if (columnInfo.invertSorting) {
|
|
3235
|
-
sortInt *= -1;
|
|
3236
|
-
}
|
|
3237
|
-
return sortInt;
|
|
3238
|
-
}
|
|
3239
|
-
}
|
|
3240
|
-
return rowA.index - rowB.index;
|
|
3241
|
-
});
|
|
3242
3245
|
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
sortedFlatRows.push(row);
|
|
3247
|
-
if ((_row$subRows = row.subRows) != null && _row$subRows.length) {
|
|
3248
|
-
row.subRows = sortData(row.subRows);
|
|
3249
|
-
}
|
|
3250
|
-
});
|
|
3251
|
-
return sortedData;
|
|
3252
|
-
};
|
|
3253
|
-
return {
|
|
3254
|
-
rows: sortData(rowModel.rows),
|
|
3255
|
-
flatRows: sortedFlatRows,
|
|
3256
|
-
rowsById: rowModel.rowsById
|
|
3257
|
-
};
|
|
3258
|
-
}, getMemoOptions(table.options, 'debugTable', 'getSortedRowModel', () => table._autoResetPageIndex()));
|
|
3246
|
+
// Filter final rows using all of the active filters
|
|
3247
|
+
return filterRows(rowModel.rows, filterRowsImpl, table);
|
|
3248
|
+
}, getMemoOptions(table.options, 'debugTable', 'getFilteredRowModel', () => table._autoResetPageIndex()));
|
|
3259
3249
|
}
|
|
3260
3250
|
|
|
3261
3251
|
function getGroupedRowModel() {
|
|
@@ -3391,35 +3381,6 @@ function groupBy(rows, columnId) {
|
|
|
3391
3381
|
}, groupMap);
|
|
3392
3382
|
}
|
|
3393
3383
|
|
|
3394
|
-
function getExpandedRowModel() {
|
|
3395
|
-
return table => memo(() => [table.getState().expanded, table.getPreExpandedRowModel(), table.options.paginateExpandedRows], (expanded, rowModel, paginateExpandedRows) => {
|
|
3396
|
-
if (!rowModel.rows.length || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
|
|
3397
|
-
return rowModel;
|
|
3398
|
-
}
|
|
3399
|
-
if (!paginateExpandedRows) {
|
|
3400
|
-
// Only expand rows at this point if they are being paginated
|
|
3401
|
-
return rowModel;
|
|
3402
|
-
}
|
|
3403
|
-
return expandRows(rowModel);
|
|
3404
|
-
}, getMemoOptions(table.options, 'debugTable', 'getExpandedRowModel'));
|
|
3405
|
-
}
|
|
3406
|
-
function expandRows(rowModel) {
|
|
3407
|
-
const expandedRows = [];
|
|
3408
|
-
const handleRow = row => {
|
|
3409
|
-
var _row$subRows;
|
|
3410
|
-
expandedRows.push(row);
|
|
3411
|
-
if ((_row$subRows = row.subRows) != null && _row$subRows.length && row.getIsExpanded()) {
|
|
3412
|
-
row.subRows.forEach(handleRow);
|
|
3413
|
-
}
|
|
3414
|
-
};
|
|
3415
|
-
rowModel.rows.forEach(handleRow);
|
|
3416
|
-
return {
|
|
3417
|
-
rows: expandedRows,
|
|
3418
|
-
flatRows: rowModel.flatRows,
|
|
3419
|
-
rowsById: rowModel.rowsById
|
|
3420
|
-
};
|
|
3421
|
-
}
|
|
3422
|
-
|
|
3423
3384
|
function getPaginationRowModel(opts) {
|
|
3424
3385
|
return table => memo(() => [table.getState().pagination, table.getPrePaginationRowModel(), table.options.paginateExpandedRows ? undefined : table.getState().expanded], (pagination, rowModel) => {
|
|
3425
3386
|
if (!rowModel.rows.length) {
|
|
@@ -3463,5 +3424,88 @@ function getPaginationRowModel(opts) {
|
|
|
3463
3424
|
}, getMemoOptions(table.options, 'debugTable', 'getPaginationRowModel'));
|
|
3464
3425
|
}
|
|
3465
3426
|
|
|
3466
|
-
|
|
3427
|
+
function getSortedRowModel() {
|
|
3428
|
+
return table => memo(() => [table.getState().sorting, table.getPreSortedRowModel()], (sorting, rowModel) => {
|
|
3429
|
+
if (!rowModel.rows.length || !(sorting != null && sorting.length)) {
|
|
3430
|
+
return rowModel;
|
|
3431
|
+
}
|
|
3432
|
+
const sortingState = table.getState().sorting;
|
|
3433
|
+
const sortedFlatRows = [];
|
|
3434
|
+
|
|
3435
|
+
// Filter out sortings that correspond to non existing columns
|
|
3436
|
+
const availableSorting = sortingState.filter(sort => {
|
|
3437
|
+
var _table$getColumn;
|
|
3438
|
+
return (_table$getColumn = table.getColumn(sort.id)) == null ? void 0 : _table$getColumn.getCanSort();
|
|
3439
|
+
});
|
|
3440
|
+
const columnInfoById = {};
|
|
3441
|
+
availableSorting.forEach(sortEntry => {
|
|
3442
|
+
const column = table.getColumn(sortEntry.id);
|
|
3443
|
+
if (!column) return;
|
|
3444
|
+
columnInfoById[sortEntry.id] = {
|
|
3445
|
+
sortUndefined: column.columnDef.sortUndefined,
|
|
3446
|
+
invertSorting: column.columnDef.invertSorting,
|
|
3447
|
+
sortingFn: column.getSortingFn()
|
|
3448
|
+
};
|
|
3449
|
+
});
|
|
3450
|
+
const sortData = rows => {
|
|
3451
|
+
// This will also perform a stable sorting using the row index
|
|
3452
|
+
// if needed.
|
|
3453
|
+
const sortedData = rows.map(row => ({
|
|
3454
|
+
...row
|
|
3455
|
+
}));
|
|
3456
|
+
sortedData.sort((rowA, rowB) => {
|
|
3457
|
+
for (let i = 0; i < availableSorting.length; i += 1) {
|
|
3458
|
+
var _sortEntry$desc;
|
|
3459
|
+
const sortEntry = availableSorting[i];
|
|
3460
|
+
const columnInfo = columnInfoById[sortEntry.id];
|
|
3461
|
+
const isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;
|
|
3462
|
+
let sortInt = 0;
|
|
3463
|
+
|
|
3464
|
+
// All sorting ints should always return in ascending order
|
|
3465
|
+
if (columnInfo.sortUndefined) {
|
|
3466
|
+
const aValue = rowA.getValue(sortEntry.id);
|
|
3467
|
+
const bValue = rowB.getValue(sortEntry.id);
|
|
3468
|
+
const aUndefined = aValue === undefined;
|
|
3469
|
+
const bUndefined = bValue === undefined;
|
|
3470
|
+
if (aUndefined || bUndefined) {
|
|
3471
|
+
sortInt = aUndefined && bUndefined ? 0 : aUndefined ? columnInfo.sortUndefined : -columnInfo.sortUndefined;
|
|
3472
|
+
}
|
|
3473
|
+
}
|
|
3474
|
+
if (sortInt === 0) {
|
|
3475
|
+
sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);
|
|
3476
|
+
}
|
|
3477
|
+
|
|
3478
|
+
// If sorting is non-zero, take care of desc and inversion
|
|
3479
|
+
if (sortInt !== 0) {
|
|
3480
|
+
if (isDesc) {
|
|
3481
|
+
sortInt *= -1;
|
|
3482
|
+
}
|
|
3483
|
+
if (columnInfo.invertSorting) {
|
|
3484
|
+
sortInt *= -1;
|
|
3485
|
+
}
|
|
3486
|
+
return sortInt;
|
|
3487
|
+
}
|
|
3488
|
+
}
|
|
3489
|
+
return rowA.index - rowB.index;
|
|
3490
|
+
});
|
|
3491
|
+
|
|
3492
|
+
// If there are sub-rows, sort them
|
|
3493
|
+
sortedData.forEach(row => {
|
|
3494
|
+
var _row$subRows;
|
|
3495
|
+
sortedFlatRows.push(row);
|
|
3496
|
+
if ((_row$subRows = row.subRows) != null && _row$subRows.length) {
|
|
3497
|
+
row.subRows = sortData(row.subRows);
|
|
3498
|
+
}
|
|
3499
|
+
});
|
|
3500
|
+
return sortedData;
|
|
3501
|
+
};
|
|
3502
|
+
return {
|
|
3503
|
+
rows: sortData(rowModel.rows),
|
|
3504
|
+
flatRows: sortedFlatRows,
|
|
3505
|
+
rowsById: rowModel.rowsById
|
|
3506
|
+
};
|
|
3507
|
+
}, getMemoOptions(table.options, 'debugTable', 'getSortedRowModel', () => table._autoResetPageIndex()));
|
|
3508
|
+
}
|
|
3509
|
+
|
|
3510
|
+
export { ColumnFaceting, ColumnFiltering, ColumnGrouping, ColumnOrdering, ColumnPinning, ColumnSizing, ColumnVisibility, GlobalFiltering, Headers, RowExpanding, RowPagination, RowPinning, RowSelection, RowSorting, _getVisibleLeafColumns, aggregationFns, buildHeaderGroups, createCell, createColumn, createColumnHelper, createRow, createTable, defaultColumnSizing, expandRows, filterFns, flattenBy, functionalUpdate, getCoreRowModel, getExpandedRowModel, getFacetedMinMaxValues, getFacetedRowModel, getFacetedUniqueValues, getFilteredRowModel, getGroupedRowModel, getMemoOptions, getPaginationRowModel, getSortedRowModel, isFunction, isNumberArray, isRowSelected, isSubRowSelected, makeStateUpdater, memo, noop, orderColumns, passiveEventSupported, reSplitAlphaNumeric, selectRowsFn, shouldAutoRemoveFilter, sortingFns };
|
|
3467
3511
|
//# sourceMappingURL=index.mjs.map
|