material-react-table 0.8.11 → 0.8.14
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/dist/MaterialReactTable.d.ts +7 -5
- package/dist/buttons/MRT_GrabHandleButton.d.ts +8 -0
- package/dist/localization.d.ts +1 -0
- package/dist/material-react-table.cjs.development.js +2087 -2033
- package/dist/material-react-table.cjs.development.js.map +1 -1
- package/dist/material-react-table.cjs.production.min.js +1 -1
- package/dist/material-react-table.cjs.production.min.js.map +1 -1
- package/dist/material-react-table.esm.js +233 -179
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +1 -1
- package/dist/menus/MRT_ShowHideColumnsMenuItems.d.ts +1 -0
- package/dist/table/MRT_TableRoot.d.ts +0 -1
- package/dist/utils.d.ts +1 -1
- package/package.json +12 -12
- package/src/MaterialReactTable.tsx +8 -6
- package/src/body/MRT_TableBodyCell.tsx +8 -9
- package/src/buttons/MRT_ColumnPinningButtons.tsx +1 -1
- package/src/buttons/MRT_CopyButton.tsx +7 -3
- package/src/{head/MRT_TableHeadCellGrabHandle.tsx → buttons/MRT_GrabHandleButton.tsx} +2 -3
- package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +5 -4
- package/src/footer/MRT_TableFooterCell.tsx +2 -2
- package/src/footer/MRT_TableFooterRow.tsx +4 -4
- package/src/head/MRT_DraggableTableHeadCell.tsx +15 -9
- package/src/head/MRT_TableHeadCell.tsx +6 -12
- package/src/head/MRT_TableHeadCellFilterLabel.tsx +3 -1
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +3 -2
- package/src/head/MRT_TableHeadCellSortLabel.tsx +4 -8
- package/src/inputs/MRT_FilterTextField.tsx +1 -1
- package/src/inputs/MRT_SelectCheckbox.tsx +6 -1
- package/src/localization.ts +2 -0
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +25 -38
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +74 -21
- package/src/table/MRT_TableRoot.tsx +49 -41
- package/dist/head/MRT_TableHeadCellGrabHandle.d.ts +0 -9
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React, { useMemo, useState, useCallback, Fragment,
|
|
1
|
+
import React, { useMemo, forwardRef, useState, useCallback, Fragment, useLayoutEffect, useEffect } from 'react';
|
|
2
2
|
import { ArrowRight, Cancel, CheckBox, ClearAll, Close, DensityMedium, DensitySmall, KeyboardDoubleArrowDown, DragHandle, DynamicFeed, Edit, ExpandLess, ExpandMore, FilterAlt, FilterAltOff, FilterList, FilterListOff, FullscreenExit, Fullscreen, MoreHoriz, MoreVert, PushPin, RestartAlt, Save, Search, SearchOff, Sort, ViewColumn, VisibilityOff } from '@mui/icons-material';
|
|
3
|
-
import { createTable,
|
|
3
|
+
import { createTable, getCoreRowModel, getExpandedRowModel, getFacetedRowModel, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel, useTableInstance } from '@tanstack/react-table';
|
|
4
4
|
import { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, Chip, Alert, LinearProgress, useMediaQuery, Toolbar, lighten, alpha, TableSortLabel, TableCell, TableRow, TableHead, darken, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog, Grow } from '@mui/material';
|
|
5
5
|
import { rankItem, rankings } from '@tanstack/match-sorter-utils';
|
|
6
6
|
import { useDrop, useDrag, DndProvider } from 'react-dnd';
|
|
@@ -81,6 +81,7 @@ var MRT_DefaultLocalization_EN = {
|
|
|
81
81
|
pinToLeft: 'Pin to left',
|
|
82
82
|
pinToRight: 'Pin to right',
|
|
83
83
|
resetColumnSize: 'Reset column size',
|
|
84
|
+
resetOrder: 'Reset order',
|
|
84
85
|
rowActions: 'Row Actions',
|
|
85
86
|
rowNumber: '#',
|
|
86
87
|
rowNumbers: 'Row Numbers',
|
|
@@ -502,7 +503,7 @@ var MRT_ColumnPinningButtons = function MRT_ColumnPinningButtons(_ref) {
|
|
|
502
503
|
|
|
503
504
|
return React.createElement(Box, {
|
|
504
505
|
sx: {
|
|
505
|
-
mr: '
|
|
506
|
+
mr: '4px'
|
|
506
507
|
}
|
|
507
508
|
}, column.getIsPinned() ? React.createElement(Tooltip, {
|
|
508
509
|
arrow: true,
|
|
@@ -539,24 +540,95 @@ var MRT_ColumnPinningButtons = function MRT_ColumnPinningButtons(_ref) {
|
|
|
539
540
|
})))));
|
|
540
541
|
};
|
|
541
542
|
|
|
543
|
+
var MRT_GrabHandleButton = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
544
|
+
var tableInstance = _ref.tableInstance;
|
|
545
|
+
var _tableInstance$option = tableInstance.options,
|
|
546
|
+
DragHandleIcon = _tableInstance$option.icons.DragHandleIcon,
|
|
547
|
+
localization = _tableInstance$option.localization;
|
|
548
|
+
return React.createElement(Tooltip, {
|
|
549
|
+
arrow: true,
|
|
550
|
+
enterDelay: 1000,
|
|
551
|
+
enterNextDelay: 1000,
|
|
552
|
+
placement: "top",
|
|
553
|
+
title: localization.grab
|
|
554
|
+
}, React.createElement(IconButton, {
|
|
555
|
+
disableRipple: true,
|
|
556
|
+
ref: ref,
|
|
557
|
+
size: "small",
|
|
558
|
+
sx: {
|
|
559
|
+
cursor: 'grab',
|
|
560
|
+
m: 0,
|
|
561
|
+
opacity: 0.5,
|
|
562
|
+
p: '2px',
|
|
563
|
+
transition: 'all 0.2s ease-in-out',
|
|
564
|
+
'&:hover': {
|
|
565
|
+
backgroundColor: 'transparent',
|
|
566
|
+
opacity: 1
|
|
567
|
+
},
|
|
568
|
+
'&:active': {
|
|
569
|
+
cursor: 'grabbing'
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
}, React.createElement(DragHandleIcon, null)));
|
|
573
|
+
});
|
|
574
|
+
|
|
542
575
|
var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
543
576
|
var _column$columns2;
|
|
544
577
|
|
|
545
|
-
var
|
|
578
|
+
var allColumns = _ref.allColumns,
|
|
579
|
+
column = _ref.column,
|
|
546
580
|
isSubMenu = _ref.isSubMenu,
|
|
547
581
|
tableInstance = _ref.tableInstance;
|
|
548
582
|
var getState = tableInstance.getState,
|
|
549
|
-
|
|
583
|
+
_tableInstance$option = tableInstance.options,
|
|
584
|
+
enableColumnOrdering = _tableInstance$option.enableColumnOrdering,
|
|
585
|
+
onToggleColumnVisibility = _tableInstance$option.onToggleColumnVisibility,
|
|
586
|
+
setColumnOrder = tableInstance.setColumnOrder;
|
|
550
587
|
|
|
551
588
|
var _getState = getState(),
|
|
589
|
+
columnOrder = _getState.columnOrder,
|
|
552
590
|
columnVisibility = _getState.columnVisibility;
|
|
553
591
|
|
|
554
|
-
var
|
|
592
|
+
var columnDef = column.columnDef,
|
|
593
|
+
columnDefType = column.columnDefType;
|
|
594
|
+
|
|
595
|
+
var reorder = function reorder(movingColumn, receivingColumn) {
|
|
596
|
+
if (movingColumn.getCanPin()) {
|
|
597
|
+
movingColumn.pin(receivingColumn.getIsPinned());
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
columnOrder.splice(columnOrder.indexOf(receivingColumn.id), 0, columnOrder.splice(columnOrder.indexOf(movingColumn.id), 1)[0]);
|
|
601
|
+
setColumnOrder([].concat(columnOrder));
|
|
602
|
+
};
|
|
603
|
+
|
|
604
|
+
var _useDrop = useDrop({
|
|
605
|
+
accept: 'column',
|
|
606
|
+
drop: function drop(movingColumn) {
|
|
607
|
+
return reorder(movingColumn, column);
|
|
608
|
+
}
|
|
609
|
+
}),
|
|
610
|
+
dropRef = _useDrop[1];
|
|
611
|
+
|
|
612
|
+
var _useDrag = useDrag({
|
|
613
|
+
collect: function collect(monitor) {
|
|
614
|
+
return {
|
|
615
|
+
isDragging: monitor.isDragging()
|
|
616
|
+
};
|
|
617
|
+
},
|
|
618
|
+
item: function item() {
|
|
619
|
+
return column;
|
|
620
|
+
},
|
|
621
|
+
type: 'column'
|
|
622
|
+
}),
|
|
623
|
+
dragRef = _useDrag[1],
|
|
624
|
+
previewRef = _useDrag[2];
|
|
625
|
+
|
|
626
|
+
var switchChecked = columnDefType !== 'group' && column.getIsVisible() || columnDefType === 'group' && column.getLeafColumns().some(function (col) {
|
|
555
627
|
return col.getIsVisible();
|
|
556
628
|
});
|
|
557
629
|
|
|
558
630
|
var handleToggleColumnHidden = function handleToggleColumnHidden(column) {
|
|
559
|
-
if (
|
|
631
|
+
if (columnDefType === 'group') {
|
|
560
632
|
var _column$columns;
|
|
561
633
|
|
|
562
634
|
column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.forEach == null ? void 0 : _column$columns.forEach(function (childColumn) {
|
|
@@ -574,6 +646,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
574
646
|
};
|
|
575
647
|
|
|
576
648
|
return React.createElement(React.Fragment, null, React.createElement(MenuItem, {
|
|
649
|
+
ref: columnDefType === 'data' ? dropRef : undefined,
|
|
577
650
|
sx: {
|
|
578
651
|
alignItems: 'center',
|
|
579
652
|
justifyContent: 'flex-start',
|
|
@@ -581,26 +654,42 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
581
654
|
pl: (column.depth + 0.5) * 2 + "rem",
|
|
582
655
|
py: '6px'
|
|
583
656
|
}
|
|
584
|
-
},
|
|
657
|
+
}, React.createElement(Box, {
|
|
658
|
+
ref: previewRef,
|
|
659
|
+
sx: {
|
|
660
|
+
display: 'flex',
|
|
661
|
+
flexWrap: 'nowrap'
|
|
662
|
+
}
|
|
663
|
+
}, columnDefType !== 'group' && enableColumnOrdering && columnDef.enableColumnOrdering !== false && !allColumns.some(function (col) {
|
|
664
|
+
return col.columnDefType === 'group';
|
|
665
|
+
}) && React.createElement(MRT_GrabHandleButton, {
|
|
666
|
+
ref: dragRef,
|
|
667
|
+
tableInstance: tableInstance
|
|
668
|
+
}), !isSubMenu && column.getCanPin() && React.createElement(MRT_ColumnPinningButtons, {
|
|
585
669
|
column: column,
|
|
586
670
|
tableInstance: tableInstance
|
|
587
671
|
}), React.createElement(FormControlLabel, {
|
|
588
672
|
componentsProps: {
|
|
589
673
|
typography: {
|
|
590
674
|
sx: {
|
|
591
|
-
|
|
675
|
+
mb: 0,
|
|
676
|
+
opacity: columnDefType !== 'display' ? 1 : 0.5
|
|
592
677
|
}
|
|
593
678
|
}
|
|
594
679
|
},
|
|
595
680
|
checked: switchChecked,
|
|
596
681
|
control: React.createElement(Switch, null),
|
|
597
682
|
disabled: isSubMenu && switchChecked || !column.getCanHide(),
|
|
598
|
-
label:
|
|
683
|
+
label: columnDef.header,
|
|
599
684
|
onChange: function onChange() {
|
|
600
685
|
return handleToggleColumnHidden(column);
|
|
686
|
+
},
|
|
687
|
+
sx: {
|
|
688
|
+
ml: '4px'
|
|
601
689
|
}
|
|
602
|
-
})), (_column$columns2 = column.columns) == null ? void 0 : _column$columns2.map(function (c, i) {
|
|
690
|
+
}))), (_column$columns2 = column.columns) == null ? void 0 : _column$columns2.map(function (c, i) {
|
|
603
691
|
return React.createElement(MRT_ShowHideColumnsMenuItems, {
|
|
692
|
+
allColumns: allColumns,
|
|
604
693
|
key: i + "-" + c.id,
|
|
605
694
|
column: c,
|
|
606
695
|
isSubMenu: isSubMenu,
|
|
@@ -615,18 +704,21 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
|
|
|
615
704
|
setAnchorEl = _ref.setAnchorEl,
|
|
616
705
|
tableInstance = _ref.tableInstance;
|
|
617
706
|
var getAllColumns = tableInstance.getAllColumns,
|
|
707
|
+
getAllLeafColumns = tableInstance.getAllLeafColumns,
|
|
618
708
|
getIsAllColumnsVisible = tableInstance.getIsAllColumnsVisible,
|
|
619
|
-
getIsSomeColumnsVisible = tableInstance.getIsSomeColumnsVisible,
|
|
620
709
|
getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
|
|
710
|
+
getIsSomeColumnsVisible = tableInstance.getIsSomeColumnsVisible,
|
|
621
711
|
getState = tableInstance.getState,
|
|
622
712
|
toggleAllColumnsVisible = tableInstance.toggleAllColumnsVisible,
|
|
623
|
-
getAllLeafColumns = tableInstance.getAllLeafColumns,
|
|
624
713
|
_tableInstance$option = tableInstance.options,
|
|
625
714
|
localization = _tableInstance$option.localization,
|
|
626
|
-
enablePinning = _tableInstance$option.enablePinning
|
|
715
|
+
enablePinning = _tableInstance$option.enablePinning,
|
|
716
|
+
enableColumnOrdering = _tableInstance$option.enableColumnOrdering;
|
|
627
717
|
|
|
628
718
|
var _getState = getState(),
|
|
629
|
-
isDensePadding = _getState.isDensePadding
|
|
719
|
+
isDensePadding = _getState.isDensePadding,
|
|
720
|
+
columnOrder = _getState.columnOrder,
|
|
721
|
+
columnPinning = _getState.columnPinning;
|
|
630
722
|
|
|
631
723
|
var hideAllColumns = function hideAllColumns() {
|
|
632
724
|
getAllLeafColumns().filter(function (col) {
|
|
@@ -636,23 +728,23 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
|
|
|
636
728
|
});
|
|
637
729
|
};
|
|
638
730
|
|
|
639
|
-
var
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
}
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
}, [getAllColumns(),
|
|
731
|
+
var allColumns = useMemo(function () {
|
|
732
|
+
var columns = getAllColumns();
|
|
733
|
+
|
|
734
|
+
if (columnOrder.length > 0 && !columns.some(function (col) {
|
|
735
|
+
return col.columnDefType === 'group';
|
|
736
|
+
})) {
|
|
737
|
+
var _columnOrder$map;
|
|
738
|
+
|
|
739
|
+
return (_columnOrder$map = columnOrder.map(function (colId) {
|
|
740
|
+
return columns.find(function (col) {
|
|
741
|
+
return col.id === colId;
|
|
742
|
+
});
|
|
743
|
+
})) != null ? _columnOrder$map : columns;
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
return columns;
|
|
747
|
+
}, [getAllColumns(), columnOrder, columnPinning]);
|
|
656
748
|
return React.createElement(Menu, {
|
|
657
749
|
anchorEl: anchorEl,
|
|
658
750
|
open: !!anchorEl,
|
|
@@ -672,7 +764,11 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
|
|
|
672
764
|
}, !isSubMenu && React.createElement(Button, {
|
|
673
765
|
disabled: !getIsSomeColumnsVisible(),
|
|
674
766
|
onClick: hideAllColumns
|
|
675
|
-
}, localization.hideAll), !isSubMenu &&
|
|
767
|
+
}, localization.hideAll), !isSubMenu && enableColumnOrdering && React.createElement(Button, {
|
|
768
|
+
onClick: function onClick() {
|
|
769
|
+
return tableInstance.resetColumnOrder();
|
|
770
|
+
}
|
|
771
|
+
}, localization.resetOrder), !isSubMenu && enablePinning && React.createElement(Button, {
|
|
676
772
|
disabled: !getIsSomeColumnsPinned(),
|
|
677
773
|
onClick: function onClick() {
|
|
678
774
|
return tableInstance.resetColumnPinning(true);
|
|
@@ -682,22 +778,14 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
|
|
|
682
778
|
onClick: function onClick() {
|
|
683
779
|
return toggleAllColumnsVisible(true);
|
|
684
780
|
}
|
|
685
|
-
}, localization.showAll)), React.createElement(Divider, null),
|
|
781
|
+
}, localization.showAll)), React.createElement(Divider, null), allColumns.map(function (column, index) {
|
|
686
782
|
return React.createElement(MRT_ShowHideColumnsMenuItems, {
|
|
783
|
+
allColumns: allColumns,
|
|
687
784
|
column: column,
|
|
688
785
|
isSubMenu: isSubMenu,
|
|
689
786
|
key: index + "-" + column.id,
|
|
690
787
|
tableInstance: tableInstance
|
|
691
788
|
});
|
|
692
|
-
}), React.createElement(Divider, null), allDataColumns.map(function (column, index) {
|
|
693
|
-
return column ? React.createElement(MRT_ShowHideColumnsMenuItems, {
|
|
694
|
-
column: column,
|
|
695
|
-
isSubMenu: isSubMenu,
|
|
696
|
-
key: index + "-" + column.id,
|
|
697
|
-
tableInstance: tableInstance
|
|
698
|
-
}) : React.createElement(Divider, {
|
|
699
|
-
key: index + "-divider"
|
|
700
|
-
});
|
|
701
789
|
}));
|
|
702
790
|
};
|
|
703
791
|
|
|
@@ -1147,14 +1235,20 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
|
|
|
1147
1235
|
localization = _tableInstance$option.localization,
|
|
1148
1236
|
muiSelectCheckboxProps = _tableInstance$option.muiSelectCheckboxProps,
|
|
1149
1237
|
onSelectChange = _tableInstance$option.onSelectChange,
|
|
1150
|
-
onSelectAllChange = _tableInstance$option.onSelectAllChange
|
|
1238
|
+
onSelectAllChange = _tableInstance$option.onSelectAllChange,
|
|
1239
|
+
selectAllMode = _tableInstance$option.selectAllMode;
|
|
1151
1240
|
|
|
1152
1241
|
var _getState = getState(),
|
|
1153
1242
|
isDensePadding = _getState.isDensePadding;
|
|
1154
1243
|
|
|
1155
1244
|
var handleSelectChange = function handleSelectChange(event) {
|
|
1156
1245
|
if (selectAll) {
|
|
1157
|
-
|
|
1246
|
+
if (selectAllMode === 'all') {
|
|
1247
|
+
tableInstance.getToggleAllRowsSelectedHandler()(event);
|
|
1248
|
+
} else if (selectAllMode === 'page') {
|
|
1249
|
+
tableInstance.getToggleAllPageRowsSelectedHandler()(event);
|
|
1250
|
+
}
|
|
1251
|
+
|
|
1158
1252
|
onSelectAllChange == null ? void 0 : onSelectAllChange({
|
|
1159
1253
|
event: event,
|
|
1160
1254
|
selectedRows: event.target.checked ? getRowModel().flatRows : [],
|
|
@@ -1867,9 +1961,6 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
1867
1961
|
var filterChipLabel = !(filterFn instanceof Function) && [MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(filterFn) ? //@ts-ignore
|
|
1868
1962
|
localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))] : '';
|
|
1869
1963
|
var filterPlaceholder = inputIndex === undefined ? (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(columnDef.header)) : inputIndex === 0 ? localization.min : inputIndex === 1 ? localization.max : '';
|
|
1870
|
-
console.log({
|
|
1871
|
-
textFieldProps: textFieldProps
|
|
1872
|
-
});
|
|
1873
1964
|
return React.createElement(React.Fragment, null, React.createElement(TextField, Object.assign({
|
|
1874
1965
|
fullWidth: true,
|
|
1875
1966
|
id: filterId,
|
|
@@ -2047,8 +2138,9 @@ var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
|
|
|
2047
2138
|
showFilters = _getState.showFilters;
|
|
2048
2139
|
|
|
2049
2140
|
var column = header.column;
|
|
2141
|
+
var columnDef = column.columnDef;
|
|
2050
2142
|
var filterFn = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterFns) == null ? void 0 : _getState2$currentFil[header.id];
|
|
2051
|
-
var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(
|
|
2143
|
+
var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(columnDef.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
|
|
2052
2144
|
localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))]).replace('{filterValue}', "\"" + (Array.isArray(column.getFilterValue()) ? column.getFilterValue().join("\" " + localization.and + " \"") : column.getFilterValue()) + "\"").replace('" "', '') : localization.showHideFilters;
|
|
2053
2145
|
return React.createElement(Tooltip, {
|
|
2054
2146
|
arrow: true,
|
|
@@ -2074,38 +2166,6 @@ var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
|
|
|
2074
2166
|
}, showFilters && !column.getFilterValue() ? React.createElement(FilterAltOffIcon, null) : React.createElement(FilterAltIcon, null)));
|
|
2075
2167
|
};
|
|
2076
2168
|
|
|
2077
|
-
var MRT_TableHeadCellGrabHandle = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
2078
|
-
var tableInstance = _ref.tableInstance;
|
|
2079
|
-
var _tableInstance$option = tableInstance.options,
|
|
2080
|
-
DragHandleIcon = _tableInstance$option.icons.DragHandleIcon,
|
|
2081
|
-
localization = _tableInstance$option.localization;
|
|
2082
|
-
return React.createElement(Tooltip, {
|
|
2083
|
-
arrow: true,
|
|
2084
|
-
enterDelay: 1000,
|
|
2085
|
-
enterNextDelay: 1000,
|
|
2086
|
-
placement: "top",
|
|
2087
|
-
title: localization.grab
|
|
2088
|
-
}, React.createElement(IconButton, {
|
|
2089
|
-
disableRipple: true,
|
|
2090
|
-
ref: ref,
|
|
2091
|
-
size: "small",
|
|
2092
|
-
sx: {
|
|
2093
|
-
cursor: 'grab',
|
|
2094
|
-
m: 0,
|
|
2095
|
-
opacity: 0.5,
|
|
2096
|
-
p: '2px',
|
|
2097
|
-
transition: 'all 0.2s ease-in-out',
|
|
2098
|
-
'&:hover': {
|
|
2099
|
-
backgroundColor: 'transparent',
|
|
2100
|
-
opacity: 1
|
|
2101
|
-
},
|
|
2102
|
-
'&:active': {
|
|
2103
|
-
cursor: 'grabbing'
|
|
2104
|
-
}
|
|
2105
|
-
}
|
|
2106
|
-
}, React.createElement(DragHandleIcon, null)));
|
|
2107
|
-
});
|
|
2108
|
-
|
|
2109
2169
|
var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref) {
|
|
2110
2170
|
var header = _ref.header,
|
|
2111
2171
|
tableInstance = _ref.tableInstance;
|
|
@@ -2115,6 +2175,7 @@ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref)
|
|
|
2115
2175
|
showFilters = _getState.showFilters;
|
|
2116
2176
|
|
|
2117
2177
|
var column = header.column;
|
|
2178
|
+
var columnDefType = column.columnDefType;
|
|
2118
2179
|
return React.createElement(Divider, {
|
|
2119
2180
|
flexItem: true,
|
|
2120
2181
|
orientation: "vertical",
|
|
@@ -2126,7 +2187,7 @@ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref)
|
|
|
2126
2187
|
borderRadius: '2px',
|
|
2127
2188
|
borderRightWidth: '2px',
|
|
2128
2189
|
cursor: 'col-resize',
|
|
2129
|
-
height: showFilters &&
|
|
2190
|
+
height: showFilters && columnDefType === 'data' ? '4rem' : '2rem',
|
|
2130
2191
|
opacity: 0.8,
|
|
2131
2192
|
position: 'absolute',
|
|
2132
2193
|
right: '1px',
|
|
@@ -2153,7 +2214,8 @@ var MRT_TableHeadCellSortLabel = function MRT_TableHeadCellSortLabel(_ref) {
|
|
|
2153
2214
|
tableInstance = _ref.tableInstance;
|
|
2154
2215
|
var localization = tableInstance.options.localization;
|
|
2155
2216
|
var column = header.column;
|
|
2156
|
-
var
|
|
2217
|
+
var columnDef = column.columnDef;
|
|
2218
|
+
var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', columnDef.header) : localization.sortedByColumnAsc.replace('{column}', columnDef.header) : localization.unsorted;
|
|
2157
2219
|
return React.createElement(Tooltip, {
|
|
2158
2220
|
arrow: true,
|
|
2159
2221
|
placement: "top",
|
|
@@ -2173,6 +2235,7 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
|
|
|
2173
2235
|
localization = _tableInstance$option.localization,
|
|
2174
2236
|
muiTableHeadCellColumnActionsButtonProps = _tableInstance$option.muiTableHeadCellColumnActionsButtonProps;
|
|
2175
2237
|
var column = header.column;
|
|
2238
|
+
var columnDef = column.columnDef;
|
|
2176
2239
|
|
|
2177
2240
|
var _useState = useState(null),
|
|
2178
2241
|
anchorEl = _useState[0],
|
|
@@ -2188,10 +2251,10 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
|
|
|
2188
2251
|
column: column,
|
|
2189
2252
|
tableInstance: tableInstance
|
|
2190
2253
|
}) : muiTableHeadCellColumnActionsButtonProps;
|
|
2191
|
-
var mcTableHeadCellColumnActionsButtonProps =
|
|
2254
|
+
var mcTableHeadCellColumnActionsButtonProps = columnDef.muiTableHeadCellColumnActionsButtonProps instanceof Function ? columnDef.muiTableHeadCellColumnActionsButtonProps({
|
|
2192
2255
|
column: column,
|
|
2193
2256
|
tableInstance: tableInstance
|
|
2194
|
-
}) :
|
|
2257
|
+
}) : columnDef.muiTableHeadCellColumnActionsButtonProps;
|
|
2195
2258
|
|
|
2196
2259
|
var iconButtonProps = _extends({}, mTableHeadCellColumnActionsButtonProps, mcTableHeadCellColumnActionsButtonProps);
|
|
2197
2260
|
|
|
@@ -2226,7 +2289,7 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
|
|
|
2226
2289
|
};
|
|
2227
2290
|
|
|
2228
2291
|
var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
2229
|
-
var
|
|
2292
|
+
var _columnDef$Header, _columnDef$minSize, _columnDef$header$len, _columnDef$header;
|
|
2230
2293
|
|
|
2231
2294
|
var dragRef = _ref.dragRef,
|
|
2232
2295
|
dropRef = _ref.dropRef,
|
|
@@ -2260,10 +2323,10 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2260
2323
|
|
|
2261
2324
|
var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps);
|
|
2262
2325
|
|
|
2263
|
-
var headerElement = (
|
|
2326
|
+
var headerElement = (columnDef == null ? void 0 : columnDef.Header) instanceof Function ? columnDef == null ? void 0 : columnDef.Header == null ? void 0 : columnDef.Header({
|
|
2264
2327
|
header: header,
|
|
2265
2328
|
tableInstance: tableInstance
|
|
2266
|
-
}) : (
|
|
2329
|
+
}) : (_columnDef$Header = columnDef == null ? void 0 : columnDef.Header) != null ? _columnDef$Header : header.renderHeader();
|
|
2267
2330
|
|
|
2268
2331
|
var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
|
|
2269
2332
|
return column.getIsPinned() === 'left' && tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
|
|
@@ -2294,7 +2357,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2294
2357
|
p: isDensePadding ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
|
|
2295
2358
|
pb: columnDefType === 'display' ? 0 : undefined,
|
|
2296
2359
|
position: column.getIsPinned() && columnDefType !== 'group' ? 'sticky' : undefined,
|
|
2297
|
-
pt: columnDefType
|
|
2360
|
+
pt: columnDefType !== 'data' ? 0 : isDensePadding ? '0.25' : '.5rem',
|
|
2298
2361
|
right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
|
|
2299
2362
|
transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
|
|
2300
2363
|
verticalAlign: 'text-top',
|
|
@@ -2336,8 +2399,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2336
2399
|
sx: {
|
|
2337
2400
|
whiteSpace: 'nowrap'
|
|
2338
2401
|
}
|
|
2339
|
-
}, columnDefType === 'data' && (enableColumnOrdering && columnDef.enableColumnOrdering !== false || enableGrouping && columnDef.enableGrouping !== false) && React.createElement(
|
|
2340
|
-
header: header,
|
|
2402
|
+
}, columnDefType === 'data' && (enableColumnOrdering && columnDef.enableColumnOrdering !== false || enableGrouping && columnDef.enableGrouping !== false) && React.createElement(MRT_GrabHandleButton, {
|
|
2341
2403
|
ref: dragRef,
|
|
2342
2404
|
tableInstance: tableInstance
|
|
2343
2405
|
}), (enableColumnActions || columnDef.enableColumnActions) && columnDef.enableColumnActions !== false && columnDefType !== 'group' && React.createElement(MRT_ToggleColumnActionMenuButton, {
|
|
@@ -2364,19 +2426,22 @@ var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
|
|
|
2364
2426
|
var _getState = getState(),
|
|
2365
2427
|
columnOrder = _getState.columnOrder;
|
|
2366
2428
|
|
|
2367
|
-
var reorder = function reorder(
|
|
2368
|
-
|
|
2369
|
-
|
|
2429
|
+
var reorder = function reorder(movingHeader, receivingHeader) {
|
|
2430
|
+
if (movingHeader.column.getCanPin()) {
|
|
2431
|
+
movingHeader.column.pin(receivingHeader.column.getIsPinned());
|
|
2432
|
+
}
|
|
2433
|
+
|
|
2434
|
+
columnOrder.splice(receivingHeader.index, 0, columnOrder.splice(movingHeader.index, 1)[0]);
|
|
2370
2435
|
setColumnOrder([].concat(columnOrder));
|
|
2371
2436
|
};
|
|
2372
2437
|
|
|
2373
2438
|
var _useDrop = useDrop({
|
|
2374
2439
|
accept: 'header',
|
|
2375
|
-
drop: function drop(
|
|
2376
|
-
return reorder(
|
|
2440
|
+
drop: function drop(movingHeader) {
|
|
2441
|
+
return reorder(movingHeader, header);
|
|
2377
2442
|
}
|
|
2378
2443
|
}),
|
|
2379
|
-
|
|
2444
|
+
dropRef = _useDrop[1];
|
|
2380
2445
|
|
|
2381
2446
|
var _useDrag = useDrag({
|
|
2382
2447
|
collect: function collect(monitor) {
|
|
@@ -2390,15 +2455,15 @@ var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
|
|
|
2390
2455
|
type: 'header'
|
|
2391
2456
|
}),
|
|
2392
2457
|
isDragging = _useDrag[0].isDragging,
|
|
2393
|
-
|
|
2394
|
-
|
|
2458
|
+
dragRef = _useDrag[1],
|
|
2459
|
+
previewRef = _useDrag[2];
|
|
2395
2460
|
|
|
2396
2461
|
return React.createElement(MRT_TableHeadCell, {
|
|
2397
|
-
dragRef:
|
|
2398
|
-
dropRef:
|
|
2462
|
+
dragRef: dragRef,
|
|
2463
|
+
dropRef: dropRef,
|
|
2399
2464
|
header: header,
|
|
2400
2465
|
isDragging: isDragging,
|
|
2401
|
-
previewRef:
|
|
2466
|
+
previewRef: previewRef,
|
|
2402
2467
|
tableInstance: tableInstance
|
|
2403
2468
|
});
|
|
2404
2469
|
};
|
|
@@ -2544,6 +2609,8 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
|
|
|
2544
2609
|
var _tableInstance$option = tableInstance.options,
|
|
2545
2610
|
localization = _tableInstance$option.localization,
|
|
2546
2611
|
muiTableBodyCellCopyButtonProps = _tableInstance$option.muiTableBodyCellCopyButtonProps;
|
|
2612
|
+
var column = cell.column;
|
|
2613
|
+
var columnDef = column.columnDef;
|
|
2547
2614
|
|
|
2548
2615
|
var _useState = useState(false),
|
|
2549
2616
|
copied = _useState[0],
|
|
@@ -2561,10 +2628,10 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
|
|
|
2561
2628
|
cell: cell,
|
|
2562
2629
|
tableInstance: tableInstance
|
|
2563
2630
|
}) : muiTableBodyCellCopyButtonProps;
|
|
2564
|
-
var mcTableBodyCellCopyButtonProps =
|
|
2631
|
+
var mcTableBodyCellCopyButtonProps = columnDef.muiTableBodyCellCopyButtonProps instanceof Function ? columnDef.muiTableBodyCellCopyButtonProps({
|
|
2565
2632
|
cell: cell,
|
|
2566
2633
|
tableInstance: tableInstance
|
|
2567
|
-
}) :
|
|
2634
|
+
}) : columnDef.muiTableBodyCellCopyButtonProps;
|
|
2568
2635
|
|
|
2569
2636
|
var buttonProps = _extends({}, mTableBodyCellCopyButtonProps, mcTableBodyCellCopyButtonProps);
|
|
2570
2637
|
|
|
@@ -2600,7 +2667,7 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
|
|
|
2600
2667
|
};
|
|
2601
2668
|
|
|
2602
2669
|
var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
2603
|
-
var _columnDef$minSize,
|
|
2670
|
+
var _columnDef$minSize, _columnDef$Cell, _row$subRows, _columnDef$Cell2, _row$subRows$length, _row$subRows2;
|
|
2604
2671
|
|
|
2605
2672
|
var cell = _ref.cell,
|
|
2606
2673
|
enableHover = _ref.enableHover,
|
|
@@ -2625,7 +2692,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
2625
2692
|
|
|
2626
2693
|
var column = cell.column,
|
|
2627
2694
|
row = cell.row;
|
|
2628
|
-
var columnDef = column.columnDef
|
|
2695
|
+
var columnDef = column.columnDef,
|
|
2696
|
+
columnDefType = column.columnDefType;
|
|
2629
2697
|
var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps({
|
|
2630
2698
|
cell: cell,
|
|
2631
2699
|
tableInstance: tableInstance
|
|
@@ -2638,8 +2706,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
2638
2706
|
var tableCellProps = _extends({}, mTableCellBodyProps, mcTableCellBodyProps);
|
|
2639
2707
|
|
|
2640
2708
|
var skeletonWidth = useMemo(function () {
|
|
2641
|
-
return
|
|
2642
|
-
}, [
|
|
2709
|
+
return columnDefType === 'display' ? column.getSize() / 2 : Math.random() * (column.getSize() - column.getSize() / 3) + column.getSize() / 3;
|
|
2710
|
+
}, [columnDefType, column.getSize()]);
|
|
2643
2711
|
var isEditable = (enableEditing || columnDef.enableEditing) && columnDef.enableEditing !== false;
|
|
2644
2712
|
var isEditing = isEditable && (editingMode === 'table' || (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id || (currentEditingCell == null ? void 0 : currentEditingCell.id) === cell.id);
|
|
2645
2713
|
|
|
@@ -2685,7 +2753,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
2685
2753
|
boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + alpha(theme.palette.common.black, 0.1) : undefined,
|
|
2686
2754
|
cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
|
|
2687
2755
|
left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
|
|
2688
|
-
p: isDensePadding ?
|
|
2756
|
+
p: isDensePadding ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
|
|
2689
2757
|
pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
|
|
2690
2758
|
position: column.getIsPinned() ? 'sticky' : 'relative',
|
|
2691
2759
|
right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
|
|
@@ -2706,7 +2774,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
2706
2774
|
animation: "wave",
|
|
2707
2775
|
height: 20,
|
|
2708
2776
|
width: skeletonWidth
|
|
2709
|
-
}, muiTableBodyCellSkeletonProps)) :
|
|
2777
|
+
}, muiTableBodyCellSkeletonProps)) : columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
|
|
2710
2778
|
cell: cell,
|
|
2711
2779
|
tableInstance: tableInstance
|
|
2712
2780
|
}) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : isEditing ? React.createElement(MRT_EditCellTextField, {
|
|
@@ -2715,13 +2783,13 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
2715
2783
|
}) : (enableClickToCopy || columnDef.enableClickToCopy) && columnDef.enableClickToCopy !== false ? React.createElement(React.Fragment, null, React.createElement(MRT_CopyButton, {
|
|
2716
2784
|
cell: cell,
|
|
2717
2785
|
tableInstance: tableInstance
|
|
2718
|
-
}, React.createElement(React.Fragment, null, (
|
|
2786
|
+
}, React.createElement(React.Fragment, null, (_columnDef$Cell = columnDef == null ? void 0 : columnDef.Cell == null ? void 0 : columnDef.Cell({
|
|
2719
2787
|
cell: cell,
|
|
2720
2788
|
tableInstance: tableInstance
|
|
2721
|
-
})) != null ?
|
|
2789
|
+
})) != null ? _columnDef$Cell : cell.renderCell())), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React.createElement(React.Fragment, null, (_columnDef$Cell2 = columnDef == null ? void 0 : columnDef.Cell == null ? void 0 : columnDef.Cell({
|
|
2722
2790
|
cell: cell,
|
|
2723
2791
|
tableInstance: tableInstance
|
|
2724
|
-
})) != null ?
|
|
2792
|
+
})) != null ? _columnDef$Cell2 : cell.renderCell(), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows$length = (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length) != null ? _row$subRows$length : '', ")"))));
|
|
2725
2793
|
};
|
|
2726
2794
|
|
|
2727
2795
|
var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
|
|
@@ -2843,7 +2911,8 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
|
2843
2911
|
isDensePadding = _getState.isDensePadding;
|
|
2844
2912
|
|
|
2845
2913
|
var column = footer.column;
|
|
2846
|
-
var columnDef = column.columnDef
|
|
2914
|
+
var columnDef = column.columnDef,
|
|
2915
|
+
columnDefType = column.columnDefType;
|
|
2847
2916
|
var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps({
|
|
2848
2917
|
column: column,
|
|
2849
2918
|
tableInstance: tableInstance
|
|
@@ -2856,7 +2925,7 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
|
2856
2925
|
var tableCellProps = _extends({}, mTableFooterCellProps, mcTableFooterCellProps);
|
|
2857
2926
|
|
|
2858
2927
|
return React.createElement(TableCell, Object.assign({
|
|
2859
|
-
align:
|
|
2928
|
+
align: columnDefType === 'group' ? 'center' : 'left',
|
|
2860
2929
|
colSpan: footer.colSpan,
|
|
2861
2930
|
variant: "head"
|
|
2862
2931
|
}, tableCellProps, {
|
|
@@ -2886,8 +2955,8 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
|
|
|
2886
2955
|
tableInstance = _ref.tableInstance;
|
|
2887
2956
|
var muiTableFooterRowProps = tableInstance.options.muiTableFooterRowProps; // if no content in row, skip row
|
|
2888
2957
|
|
|
2889
|
-
if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (
|
|
2890
|
-
return typeof
|
|
2958
|
+
if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (header) {
|
|
2959
|
+
return typeof header.column.columnDef.footer === 'string' && !!header.column.columnDef.footer || header.column.columnDef.Footer;
|
|
2891
2960
|
}))) return null;
|
|
2892
2961
|
var tableRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
|
|
2893
2962
|
footerGroup: footerGroup,
|
|
@@ -3078,7 +3147,7 @@ var createDisplayColumn = function createDisplayColumn(table, column) {
|
|
|
3078
3147
|
};
|
|
3079
3148
|
|
|
3080
3149
|
var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
3081
|
-
var _initialState$current, _initialState$current2, _initialState$isDense, _initialState$isFullS, _initialState$showFil, _initialState$showGlo,
|
|
3150
|
+
var _initialState$current, _initialState$current2, _initialState$isDense, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _props$globalFilterFn, _props$state3, _props$state4;
|
|
3082
3151
|
|
|
3083
3152
|
var _useState = useState(props.idPrefix),
|
|
3084
3153
|
idPrefix = _useState[0],
|
|
@@ -3089,9 +3158,18 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3089
3158
|
|
|
3090
3159
|
return setIdPrefix((_props$idPrefix = props.idPrefix) != null ? _props$idPrefix : Math.random().toString(36).substring(2, 9));
|
|
3091
3160
|
}, [props.idPrefix]);
|
|
3161
|
+
var showActionColumn = props.enableRowActions || props.enableEditing && props.editingMode === 'row';
|
|
3162
|
+
var showExpandColumn = props.enableExpanding || props.enableGrouping;
|
|
3092
3163
|
var initialState = useMemo(function () {
|
|
3164
|
+
var _props$initialState, _initState$columnOrde;
|
|
3165
|
+
|
|
3166
|
+
var initState = (_props$initialState = props.initialState) != null ? _props$initialState : {};
|
|
3167
|
+
initState.columnOrder = ((_initState$columnOrde = initState == null ? void 0 : initState.columnOrder) != null ? _initState$columnOrde : props.enableColumnOrdering) ? [showActionColumn && 'mrt-row-actions', showExpandColumn && 'mrt-expand', props.enableRowSelection && 'mrt-select', props.enableRowNumbers && 'mrt-row-numbers'].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
|
|
3168
|
+
return c.id;
|
|
3169
|
+
})).filter(Boolean) : [];
|
|
3170
|
+
|
|
3093
3171
|
if (!props.enablePersistentState || !props.idPrefix) {
|
|
3094
|
-
return
|
|
3172
|
+
return initState;
|
|
3095
3173
|
}
|
|
3096
3174
|
|
|
3097
3175
|
if (typeof window === 'undefined') {
|
|
@@ -3099,7 +3177,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3099
3177
|
console.error('The MRT Persistent Table State feature is not supported if using SSR, but you can wrap your <MaterialReactTable /> in a MUI <NoSsr> tags to let it work');
|
|
3100
3178
|
}
|
|
3101
3179
|
|
|
3102
|
-
return
|
|
3180
|
+
return initState;
|
|
3103
3181
|
}
|
|
3104
3182
|
|
|
3105
3183
|
var storedState = props.persistentStateMode === 'localStorage' ? localStorage.getItem("mrt-" + idPrefix + "-table-state") : props.persistentStateMode === 'sessionStorage' ? sessionStorage.getItem("mrt-" + idPrefix + "-table-state") : '{}';
|
|
@@ -3108,11 +3186,11 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3108
3186
|
var parsedState = JSON.parse(storedState);
|
|
3109
3187
|
|
|
3110
3188
|
if (parsedState) {
|
|
3111
|
-
return _extends({},
|
|
3189
|
+
return _extends({}, initState, parsedState);
|
|
3112
3190
|
}
|
|
3113
3191
|
}
|
|
3114
3192
|
|
|
3115
|
-
return
|
|
3193
|
+
return initState;
|
|
3116
3194
|
}, []);
|
|
3117
3195
|
|
|
3118
3196
|
var _useState2 = useState((_initialState$current = initialState == null ? void 0 : initialState.currentEditingCell) != null ? _initialState$current : null),
|
|
@@ -3139,35 +3217,42 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3139
3217
|
showGlobalFilter = _useState7[0],
|
|
3140
3218
|
setShowGlobalFilter = _useState7[1];
|
|
3141
3219
|
|
|
3142
|
-
var _useState8 = useState({
|
|
3143
|
-
pageIndex: (_initialState$paginat = initialState == null ? void 0 : (_initialState$paginat2 = initialState.pagination) == null ? void 0 : _initialState$paginat2.pageIndex) != null ? _initialState$paginat : 0,
|
|
3144
|
-
pageSize: (_initialState$paginat3 = initialState == null ? void 0 : (_initialState$paginat4 = initialState.pagination) == null ? void 0 : _initialState$paginat4.pageSize) != null ? _initialState$paginat3 : 10,
|
|
3145
|
-
pageCount: initialState == null ? void 0 : (_initialState$paginat5 = initialState.pagination) == null ? void 0 : _initialState$paginat5.pageCount
|
|
3146
|
-
}),
|
|
3147
|
-
pagination = _useState8[0],
|
|
3148
|
-
setPagination = _useState8[1];
|
|
3149
|
-
|
|
3150
|
-
var _useState9 = useState(function () {
|
|
3220
|
+
var _useState8 = useState(function () {
|
|
3151
3221
|
return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
|
|
3152
3222
|
var _ref, _c$filterFn, _initialState$current3, _c$filterSelectOption, _ref2;
|
|
3153
3223
|
|
|
3154
3224
|
return _ref2 = {}, _ref2[c.id] = (_ref = (_c$filterFn = c.filterFn) != null ? _c$filterFn : initialState == null ? void 0 : (_initialState$current3 = initialState.currentFilterFns) == null ? void 0 : _initialState$current3[c.id]) != null ? _ref : !!((_c$filterSelectOption = c.filterSelectOptions) != null && _c$filterSelectOption.length) ? MRT_FILTER_OPTION.EQUALS : MRT_FILTER_OPTION.FUZZY, _ref2;
|
|
3155
3225
|
})));
|
|
3156
3226
|
}),
|
|
3157
|
-
currentFilterFns =
|
|
3158
|
-
setCurrentFilterFns =
|
|
3227
|
+
currentFilterFns = _useState8[0],
|
|
3228
|
+
setCurrentFilterFns = _useState8[1];
|
|
3159
3229
|
|
|
3160
|
-
var
|
|
3161
|
-
currentGlobalFilterFn =
|
|
3162
|
-
setCurrentGlobalFilterFn =
|
|
3230
|
+
var _useState9 = useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.FUZZY),
|
|
3231
|
+
currentGlobalFilterFn = _useState9[0],
|
|
3232
|
+
setCurrentGlobalFilterFn = _useState9[1];
|
|
3163
3233
|
|
|
3164
3234
|
var table = useMemo(function () {
|
|
3165
|
-
return createTable()
|
|
3235
|
+
return createTable().setOptions({
|
|
3236
|
+
//@ts-ignore
|
|
3237
|
+
filterFns: defaultFilterFNs,
|
|
3238
|
+
getCoreRowModel: getCoreRowModel(),
|
|
3239
|
+
getExpandedRowModel: getExpandedRowModel(),
|
|
3240
|
+
getFacetedRowModel: getFacetedRowModel(),
|
|
3241
|
+
getFilteredRowModel: getFilteredRowModel(),
|
|
3242
|
+
getGroupedRowModel: getGroupedRowModel(),
|
|
3243
|
+
getPaginationRowModel: getPaginationRowModel(),
|
|
3244
|
+
getSortedRowModel: getSortedRowModel(),
|
|
3245
|
+
getSubRows: function getSubRows(row) {
|
|
3246
|
+
return row == null ? void 0 : row.subRows;
|
|
3247
|
+
},
|
|
3248
|
+
idPrefix: idPrefix,
|
|
3249
|
+
initialState: initialState
|
|
3250
|
+
});
|
|
3166
3251
|
}, []);
|
|
3167
3252
|
var displayColumns = useMemo(function () {
|
|
3168
3253
|
var _props$localization, _props$localization2, _props$localization3, _props$localization5;
|
|
3169
3254
|
|
|
3170
|
-
return [
|
|
3255
|
+
return [showActionColumn && createDisplayColumn(table, {
|
|
3171
3256
|
Cell: function Cell(_ref3) {
|
|
3172
3257
|
var cell = _ref3.cell;
|
|
3173
3258
|
return React.createElement(MRT_ToggleRowActionMenuButton, {
|
|
@@ -3178,7 +3263,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3178
3263
|
header: (_props$localization = props.localization) == null ? void 0 : _props$localization.actions,
|
|
3179
3264
|
id: 'mrt-row-actions',
|
|
3180
3265
|
size: 60
|
|
3181
|
-
}),
|
|
3266
|
+
}), showExpandColumn && createDisplayColumn(table, {
|
|
3182
3267
|
Cell: function Cell(_ref4) {
|
|
3183
3268
|
var cell = _ref4.cell;
|
|
3184
3269
|
return React.createElement(MRT_ExpandButton, {
|
|
@@ -3241,55 +3326,21 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3241
3326
|
return _ref7 = {}, _ref7[c.id] = null, _ref7;
|
|
3242
3327
|
})));
|
|
3243
3328
|
}) : props.data;
|
|
3244
|
-
}, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]);
|
|
3329
|
+
}, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]); //@ts-ignore
|
|
3245
3330
|
|
|
3246
|
-
var
|
|
3247
|
-
var _initialState$columnO;
|
|
3248
|
-
|
|
3249
|
-
return ((_initialState$columnO = initialState == null ? void 0 : initialState.columnOrder) != null ? _initialState$columnO : props.enableColumnOrdering) ? getAllLeafColumnDefs(columns).map(function (c) {
|
|
3250
|
-
return c.id;
|
|
3251
|
-
}) : [];
|
|
3252
|
-
}),
|
|
3253
|
-
columnOrder = _useState11[0],
|
|
3254
|
-
setColumnOrder = _useState11[1]; //@ts-ignore
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
var tableInstance = _extends({}, useTableInstance(table, _extends({
|
|
3258
|
-
filterFns: defaultFilterFNs,
|
|
3259
|
-
getCoreRowModel: getCoreRowModel(),
|
|
3260
|
-
getExpandedRowModel: getExpandedRowModel(),
|
|
3261
|
-
getFacetedRowModel: getFacetedRowModel(),
|
|
3262
|
-
getFilteredRowModel: getFilteredRowModel(),
|
|
3263
|
-
getGroupedRowModel: getGroupedRowModel(),
|
|
3264
|
-
getPaginationRowModel: getPaginationRowModel(),
|
|
3265
|
-
getSortedRowModel: getSortedRowModel(),
|
|
3266
|
-
getSubRows: function getSubRows(row) {
|
|
3267
|
-
return row == null ? void 0 : row.subRows;
|
|
3268
|
-
},
|
|
3269
|
-
//@ts-ignore
|
|
3270
|
-
globalFilterFn: currentGlobalFilterFn,
|
|
3271
|
-
onColumnOrderChange: setColumnOrder,
|
|
3272
|
-
onPaginationChange: function onPaginationChange(updater) {
|
|
3273
|
-
return setPagination(function (old) {
|
|
3274
|
-
return functionalUpdate(updater, old);
|
|
3275
|
-
});
|
|
3276
|
-
}
|
|
3277
|
-
}, props, {
|
|
3331
|
+
var tableInstance = _extends({}, useTableInstance(table, _extends({}, props, {
|
|
3278
3332
|
//@ts-ignore
|
|
3279
3333
|
columns: columns,
|
|
3280
3334
|
data: data,
|
|
3281
|
-
|
|
3282
|
-
|
|
3335
|
+
//@ts-ignore
|
|
3336
|
+
globalFilterFn: currentGlobalFilterFn,
|
|
3283
3337
|
state: _extends({
|
|
3284
|
-
columnOrder: columnOrder,
|
|
3285
3338
|
currentEditingCell: currentEditingCell,
|
|
3286
3339
|
currentEditingRow: currentEditingRow,
|
|
3287
3340
|
currentFilterFns: currentFilterFns,
|
|
3288
3341
|
currentGlobalFilterFn: currentGlobalFilterFn,
|
|
3289
3342
|
isDensePadding: isDensePadding,
|
|
3290
3343
|
isFullScreen: isFullScreen,
|
|
3291
|
-
//@ts-ignore
|
|
3292
|
-
pagination: pagination,
|
|
3293
3344
|
showFilters: showFilters,
|
|
3294
3345
|
showGlobalFilter: showGlobalFilter
|
|
3295
3346
|
}, props.state)
|
|
@@ -3344,7 +3395,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3344
3395
|
}));
|
|
3345
3396
|
};
|
|
3346
3397
|
|
|
3347
|
-
var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
|
|
3398
|
+
var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner", "selectAllMode"];
|
|
3348
3399
|
var MaterialReactTable = (function (_ref) {
|
|
3349
3400
|
var _ref$autoResetExpande = _ref.autoResetExpanded,
|
|
3350
3401
|
autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
|
|
@@ -3414,6 +3465,8 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3414
3465
|
positionToolbarActions = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
|
|
3415
3466
|
_ref$positionToolbarA2 = _ref.positionToolbarAlertBanner,
|
|
3416
3467
|
positionToolbarAlertBanner = _ref$positionToolbarA2 === void 0 ? 'top' : _ref$positionToolbarA2,
|
|
3468
|
+
_ref$selectAllMode = _ref.selectAllMode,
|
|
3469
|
+
selectAllMode = _ref$selectAllMode === void 0 ? 'all' : _ref$selectAllMode,
|
|
3417
3470
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
3418
3471
|
|
|
3419
3472
|
return React.createElement(MRT_TableRoot, Object.assign({
|
|
@@ -3449,7 +3502,8 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3449
3502
|
positionActionsColumn: positionActionsColumn,
|
|
3450
3503
|
positionPagination: positionPagination,
|
|
3451
3504
|
positionToolbarActions: positionToolbarActions,
|
|
3452
|
-
positionToolbarAlertBanner: positionToolbarAlertBanner
|
|
3505
|
+
positionToolbarAlertBanner: positionToolbarAlertBanner,
|
|
3506
|
+
selectAllMode: selectAllMode
|
|
3453
3507
|
}, rest));
|
|
3454
3508
|
});
|
|
3455
3509
|
|