material-react-table 0.21.0 → 0.22.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/dist/body/MRT_TableBody.d.ts +3 -2
- package/dist/body/MRT_TableBodyCell.d.ts +3 -2
- package/dist/body/MRT_TableBodyRow.d.ts +3 -2
- package/dist/buttons/MRT_GrabHandleButton.d.ts +3 -2
- package/dist/head/MRT_TableHead.d.ts +4 -2
- package/dist/head/MRT_TableHeadCell.d.ts +4 -6
- package/dist/head/MRT_TableHeadRow.d.ts +4 -2
- package/dist/material-react-table.cjs.development.js +177 -4409
- 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 +141 -136
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/menus/MRT_ShowHideColumnsMenuItems.d.ts +3 -1
- package/package.json +1 -3
- package/src/body/MRT_TableBody.tsx +9 -3
- package/src/body/MRT_TableBodyCell.tsx +15 -17
- package/src/body/MRT_TableBodyRow.tsx +10 -3
- package/src/buttons/MRT_GrabHandleButton.tsx +12 -5
- package/src/head/MRT_TableHead.tsx +11 -3
- package/src/head/MRT_TableHeadCell.tsx +49 -20
- package/src/head/MRT_TableHeadRow.tsx +25 -20
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +6 -1
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +54 -27
- package/src/table/MRT_Table.tsx +17 -4
- package/src/table/MRT_TableContainer.tsx +1 -1
- package/src/table/MRT_TablePaper.tsx +21 -25
- package/dist/head/MRT_DraggableTableHeadCell.d.ts +0 -8
- package/src/head/MRT_DraggableTableHeadCell.tsx +0 -43
@@ -1,10 +1,8 @@
|
|
1
|
-
import React, { useMemo,
|
1
|
+
import React, { useMemo, useState, useCallback, Fragment, useLayoutEffect, useEffect } from 'react';
|
2
2
|
import { ArrowRight, Cancel, CheckBox, ClearAll, Close, DensityLarge, DensityMedium, DensitySmall, DragHandle, DynamicFeed, Edit, ExpandLess, ExpandMore, FilterAlt, FilterAltOff, FilterList, FilterListOff, FullscreenExit, Fullscreen, KeyboardDoubleArrowDown, MoreHoriz, MoreVert, PushPin, RestartAlt, Save, Search, SearchOff, Sort, ViewColumn, VisibilityOff } from '@mui/icons-material';
|
3
3
|
import { filterFns, sortingFns, useReactTable, getCoreRowModel, getExpandedRowModel, getFacetedRowModel, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel } from '@tanstack/react-table';
|
4
4
|
import { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, Typography, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, Chip, Alert, AlertTitle, LinearProgress, useMediaQuery, Toolbar, lighten, alpha, Grow, TableSortLabel, TableCell, TableRow, TableHead, darken, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog } from '@mui/material';
|
5
|
-
import { useDrop, useDrag, DndProvider } from 'react-dnd';
|
6
5
|
import { rankItem, rankings, compareItems } from '@tanstack/match-sorter-utils';
|
7
|
-
import { HTML5Backend } from 'react-dnd-html5-backend';
|
8
6
|
import { useVirtual } from 'react-virtual';
|
9
7
|
|
10
8
|
function _extends() {
|
@@ -415,8 +413,10 @@ var MRT_ColumnPinningButtons = function MRT_ColumnPinningButtons(_ref) {
|
|
415
413
|
})))));
|
416
414
|
};
|
417
415
|
|
418
|
-
var MRT_GrabHandleButton =
|
419
|
-
var
|
416
|
+
var MRT_GrabHandleButton = function MRT_GrabHandleButton(_ref) {
|
417
|
+
var handleDragStart = _ref.handleDragStart,
|
418
|
+
handleDragEnd = _ref.handleDragEnd,
|
419
|
+
table = _ref.table;
|
420
420
|
var _table$options = table.options,
|
421
421
|
DragHandleIcon = _table$options.icons.DragHandleIcon,
|
422
422
|
localization = _table$options.localization;
|
@@ -428,7 +428,9 @@ var MRT_GrabHandleButton = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
428
428
|
title: localization.grab
|
429
429
|
}, React.createElement(IconButton, {
|
430
430
|
disableRipple: true,
|
431
|
-
|
431
|
+
draggable: "true",
|
432
|
+
onDragStart: handleDragStart,
|
433
|
+
onDragEnd: handleDragEnd,
|
432
434
|
size: "small",
|
433
435
|
sx: {
|
434
436
|
cursor: 'grab',
|
@@ -445,7 +447,7 @@ var MRT_GrabHandleButton = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
445
447
|
}
|
446
448
|
}
|
447
449
|
}, React.createElement(DragHandleIcon, null)));
|
448
|
-
}
|
450
|
+
};
|
449
451
|
|
450
452
|
var fuzzy = function fuzzy(row, columnId, filterValue, addMeta) {
|
451
453
|
var itemRank = rankItem(row.getValue(columnId), filterValue, {
|
@@ -664,6 +666,8 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
664
666
|
var _column$columns2;
|
665
667
|
|
666
668
|
var allColumns = _ref.allColumns,
|
669
|
+
currentHoveredColumn = _ref.currentHoveredColumn,
|
670
|
+
setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
|
667
671
|
column = _ref.column,
|
668
672
|
isSubMenu = _ref.isSubMenu,
|
669
673
|
table = _ref.table;
|
@@ -680,30 +684,6 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
680
684
|
|
681
685
|
var columnDef = column.columnDef;
|
682
686
|
var columnDefType = columnDef.columnDefType;
|
683
|
-
|
684
|
-
var _useDrop = useDrop({
|
685
|
-
accept: 'column',
|
686
|
-
drop: function drop(movingColumn) {
|
687
|
-
var newColumnOrder = reorderColumn(movingColumn, column, columnOrder);
|
688
|
-
setColumnOrder(newColumnOrder);
|
689
|
-
}
|
690
|
-
}),
|
691
|
-
dropRef = _useDrop[1];
|
692
|
-
|
693
|
-
var _useDrag = useDrag({
|
694
|
-
collect: function collect(monitor) {
|
695
|
-
return {
|
696
|
-
isDragging: monitor.isDragging()
|
697
|
-
};
|
698
|
-
},
|
699
|
-
item: function item() {
|
700
|
-
return column;
|
701
|
-
},
|
702
|
-
type: 'column'
|
703
|
-
}),
|
704
|
-
dragRef = _useDrag[1],
|
705
|
-
previewRef = _useDrag[2];
|
706
|
-
|
707
687
|
var switchChecked = columnDefType !== 'group' && column.getIsVisible() || columnDefType === 'group' && column.getLeafColumns().some(function (col) {
|
708
688
|
return col.getIsVisible();
|
709
689
|
});
|
@@ -720,32 +700,64 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
720
700
|
}
|
721
701
|
};
|
722
702
|
|
703
|
+
var menuItemRef = React.useRef(null);
|
704
|
+
|
705
|
+
var _useState = useState(false),
|
706
|
+
isDragging = _useState[0],
|
707
|
+
setIsDragging = _useState[1];
|
708
|
+
|
709
|
+
var handleDragStart = function handleDragStart(e) {
|
710
|
+
setIsDragging(true);
|
711
|
+
e.dataTransfer.setDragImage(menuItemRef.current, 0, 0);
|
712
|
+
};
|
713
|
+
|
714
|
+
var handleDragEnd = function handleDragEnd(_e) {
|
715
|
+
setIsDragging(false);
|
716
|
+
setCurrentHoveredColumn(null);
|
717
|
+
|
718
|
+
if (currentHoveredColumn) {
|
719
|
+
setColumnOrder(reorderColumn(column, currentHoveredColumn, columnOrder));
|
720
|
+
}
|
721
|
+
};
|
722
|
+
|
723
|
+
var handleDragEnter = function handleDragEnter(_e) {
|
724
|
+
if (!isDragging) {
|
725
|
+
setCurrentHoveredColumn(column);
|
726
|
+
}
|
727
|
+
};
|
728
|
+
|
723
729
|
return React.createElement(React.Fragment, null, React.createElement(MenuItem, {
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
730
|
+
disableRipple: enableColumnOrdering,
|
731
|
+
ref: menuItemRef,
|
732
|
+
onDragEnter: handleDragEnter,
|
733
|
+
sx: function sx(theme) {
|
734
|
+
return {
|
735
|
+
alignItems: 'center',
|
736
|
+
justifyContent: 'flex-start',
|
737
|
+
my: 0,
|
738
|
+
opacity: isDragging ? 0.5 : 1,
|
739
|
+
outline: isDragging ? "1px dashed " + theme.palette.divider : (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? "2px dashed " + theme.palette.primary.main : 'none',
|
740
|
+
pl: (column.depth + 0.5) * 2 + "rem",
|
741
|
+
py: '6px'
|
742
|
+
};
|
731
743
|
}
|
732
744
|
}, React.createElement(Box, {
|
733
|
-
ref: previewRef,
|
734
745
|
sx: {
|
735
746
|
display: 'flex',
|
736
747
|
flexWrap: 'nowrap',
|
737
748
|
gap: '8px'
|
738
749
|
}
|
739
|
-
}, columnDefType !== 'group' && enableColumnOrdering && !allColumns.some(function (col) {
|
750
|
+
}, !isSubMenu && columnDefType !== 'group' && enableColumnOrdering && !allColumns.some(function (col) {
|
740
751
|
return col.columnDef.columnDefType === 'group';
|
741
752
|
}) && (columnDef.enableColumnOrdering !== false ? React.createElement(MRT_GrabHandleButton, {
|
742
|
-
|
753
|
+
handleDragEnd: handleDragEnd,
|
754
|
+
handleDragStart: handleDragStart,
|
743
755
|
table: table
|
744
756
|
}) : React.createElement(Box, {
|
745
757
|
sx: {
|
746
758
|
width: '28px'
|
747
759
|
}
|
748
|
-
})),
|
760
|
+
})), !isSubMenu && enablePinning && (column.getCanPin() ? React.createElement(MRT_ColumnPinningButtons, {
|
749
761
|
column: column,
|
750
762
|
table: table
|
751
763
|
}) : React.createElement(Box, {
|
@@ -780,9 +792,11 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
780
792
|
}, columnDef.header))), (_column$columns2 = column.columns) == null ? void 0 : _column$columns2.map(function (c, i) {
|
781
793
|
return React.createElement(MRT_ShowHideColumnsMenuItems, {
|
782
794
|
allColumns: allColumns,
|
783
|
-
key: i + "-" + c.id,
|
784
795
|
column: c,
|
796
|
+
currentHoveredColumn: currentHoveredColumn,
|
785
797
|
isSubMenu: isSubMenu,
|
798
|
+
key: i + "-" + c.id,
|
799
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
786
800
|
table: table
|
787
801
|
});
|
788
802
|
}));
|
@@ -836,6 +850,11 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
|
|
836
850
|
|
837
851
|
return columns;
|
838
852
|
}, [columnOrder, columnPinning, getAllColumns(), getCenterLeafColumns(), getLeftLeafColumns(), getRightLeafColumns()]);
|
853
|
+
|
854
|
+
var _useState = useState(null),
|
855
|
+
currentHoveredColumn = _useState[0],
|
856
|
+
setCurrentHoveredColumn = _useState[1];
|
857
|
+
|
839
858
|
return React.createElement(Menu, {
|
840
859
|
anchorEl: anchorEl,
|
841
860
|
open: !!anchorEl,
|
@@ -873,8 +892,10 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
|
|
873
892
|
return React.createElement(MRT_ShowHideColumnsMenuItems, {
|
874
893
|
allColumns: allColumns,
|
875
894
|
column: column,
|
895
|
+
currentHoveredColumn: currentHoveredColumn,
|
876
896
|
isSubMenu: isSubMenu,
|
877
897
|
key: index + "-" + column.id,
|
898
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
878
899
|
table: table
|
879
900
|
});
|
880
901
|
}));
|
@@ -2396,12 +2417,10 @@ var MRT_TableHeadCellColumnActionsButton = function MRT_TableHeadCellColumnActio
|
|
2396
2417
|
var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
2397
2418
|
var _ref2, _columnDef$header$len, _columnDef$header;
|
2398
2419
|
|
2399
|
-
var
|
2400
|
-
|
2420
|
+
var currentHoveredColumn = _ref.currentHoveredColumn,
|
2421
|
+
setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
|
2401
2422
|
header = _ref.header,
|
2402
|
-
table = _ref.table
|
2403
|
-
isDragging = _ref.isDragging,
|
2404
|
-
previewRef = _ref.previewRef;
|
2423
|
+
table = _ref.table;
|
2405
2424
|
var getState = table.getState,
|
2406
2425
|
_table$options = table.options,
|
2407
2426
|
enableColumnActions = _table$options.enableColumnActions,
|
@@ -2409,11 +2428,12 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
2409
2428
|
enableColumnResizing = _table$options.enableColumnResizing,
|
2410
2429
|
enableGrouping = _table$options.enableGrouping,
|
2411
2430
|
enableMultiSort = _table$options.enableMultiSort,
|
2412
|
-
muiTableHeadCellProps = _table$options.muiTableHeadCellProps
|
2431
|
+
muiTableHeadCellProps = _table$options.muiTableHeadCellProps,
|
2432
|
+
setColumnOrder = table.setColumnOrder;
|
2413
2433
|
|
2414
2434
|
var _getState = getState(),
|
2415
|
-
|
2416
|
-
|
2435
|
+
columnOrder = _getState.columnOrder,
|
2436
|
+
density = _getState.density;
|
2417
2437
|
|
2418
2438
|
var column = header.column;
|
2419
2439
|
var columnDef = column.columnDef;
|
@@ -2446,30 +2466,56 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
2446
2466
|
return (table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
|
2447
2467
|
};
|
2448
2468
|
|
2469
|
+
var tableHeadCellRef = React.useRef(null);
|
2470
|
+
|
2471
|
+
var _useState = useState(false),
|
2472
|
+
isDragging = _useState[0],
|
2473
|
+
setIsDragging = _useState[1];
|
2474
|
+
|
2475
|
+
var handleDragStart = function handleDragStart(e) {
|
2476
|
+
setIsDragging(true);
|
2477
|
+
e.dataTransfer.setDragImage(tableHeadCellRef.current, 0, 0);
|
2478
|
+
};
|
2479
|
+
|
2480
|
+
var handleDragEnd = function handleDragEnd(_e) {
|
2481
|
+
setIsDragging(false);
|
2482
|
+
setCurrentHoveredColumn(null);
|
2483
|
+
|
2484
|
+
if (currentHoveredColumn) {
|
2485
|
+
setColumnOrder(reorderColumn(column, currentHoveredColumn, columnOrder));
|
2486
|
+
}
|
2487
|
+
};
|
2488
|
+
|
2489
|
+
var handleDragEnter = function handleDragEnter(_e) {
|
2490
|
+
setCurrentHoveredColumn(columnDefType === 'data' ? column : null);
|
2491
|
+
};
|
2492
|
+
|
2449
2493
|
return React.createElement(TableCell, Object.assign({
|
2450
2494
|
align: columnDefType === 'group' ? 'center' : 'left',
|
2451
|
-
colSpan: header.colSpan
|
2495
|
+
colSpan: header.colSpan,
|
2496
|
+
onDragEnter: handleDragEnter,
|
2497
|
+
ref: tableHeadCellRef
|
2452
2498
|
}, tableCellProps, {
|
2453
|
-
ref: columnDefType === 'data' && enableColumnOrdering ? dropRef : undefined,
|
2454
2499
|
sx: function sx(theme) {
|
2455
2500
|
var _columnDef$minSize;
|
2456
2501
|
|
2457
2502
|
return _extends({
|
2458
2503
|
backgroundColor: column.getIsPinned() && columnDefType !== 'group' ? alpha(lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
|
2459
2504
|
backgroundImage: 'inherit',
|
2505
|
+
border: isDragging ? "2px dashed " + theme.palette.divider : (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === column.id ? "2px dashed " + theme.palette.primary.main : undefined,
|
2460
2506
|
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,
|
2461
2507
|
fontWeight: 'bold',
|
2462
|
-
height: '100%',
|
2463
2508
|
left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
|
2464
2509
|
overflow: 'visible',
|
2510
|
+
opacity: isDragging ? 0.5 : 1,
|
2465
2511
|
p: density === 'compact' ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : density === 'comfortable' ? columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem' : columnDefType === 'display' ? '1rem 1.25rem' : '1.5rem',
|
2466
2512
|
pb: columnDefType === 'display' ? 0 : undefined,
|
2467
2513
|
position: column.getIsPinned() && columnDefType !== 'group' ? 'sticky' : undefined,
|
2468
|
-
pt: columnDefType
|
2514
|
+
pt: columnDefType === 'group' ? 0 : density === 'compact' ? '0.25' : density === 'comfortable' ? '.75rem' : '1.25rem',
|
2469
2515
|
right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
|
2470
2516
|
transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
|
2471
2517
|
userSelect: enableMultiSort && column.getCanSort() ? 'none' : undefined,
|
2472
|
-
verticalAlign:
|
2518
|
+
verticalAlign: 'text-top',
|
2473
2519
|
zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && columnDefType !== 'group' ? 2 : 1
|
2474
2520
|
}, tableCellProps == null ? void 0 : tableCellProps.sx, {
|
2475
2521
|
maxWidth: "min(" + column.getSize() + "px, fit-content)",
|
@@ -2478,7 +2524,6 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
2478
2524
|
});
|
2479
2525
|
}
|
2480
2526
|
}), header.isPlaceholder ? null : columnDefType === 'display' ? headerElement : React.createElement(Box, {
|
2481
|
-
ref: previewRef,
|
2482
2527
|
sx: {
|
2483
2528
|
alignItems: 'flex-start',
|
2484
2529
|
display: 'flex',
|
@@ -2507,7 +2552,8 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
2507
2552
|
whiteSpace: 'nowrap'
|
2508
2553
|
}
|
2509
2554
|
}, columnDefType === 'data' && (enableColumnOrdering && columnDef.enableColumnOrdering !== false || enableGrouping && columnDef.enableGrouping !== false) && React.createElement(MRT_GrabHandleButton, {
|
2510
|
-
|
2555
|
+
handleDragStart: handleDragStart,
|
2556
|
+
handleDragEnd: handleDragEnd,
|
2511
2557
|
table: table
|
2512
2558
|
}), (enableColumnActions || columnDef.enableColumnActions) && columnDef.enableColumnActions !== false && columnDefType !== 'group' && React.createElement(MRT_TableHeadCellColumnActionsButton, {
|
2513
2559
|
header: header,
|
@@ -2521,58 +2567,12 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
2521
2567
|
}));
|
2522
2568
|
};
|
2523
2569
|
|
2524
|
-
var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
|
2525
|
-
var header = _ref.header,
|
2526
|
-
table = _ref.table;
|
2527
|
-
var getState = table.getState,
|
2528
|
-
setColumnOrder = table.setColumnOrder;
|
2529
|
-
|
2530
|
-
var _getState = getState(),
|
2531
|
-
columnOrder = _getState.columnOrder;
|
2532
|
-
|
2533
|
-
var column = header.column;
|
2534
|
-
|
2535
|
-
var _useDrop = useDrop({
|
2536
|
-
accept: 'column',
|
2537
|
-
drop: function drop(movingColumn) {
|
2538
|
-
var newColumnOrder = reorderColumn(movingColumn, column, columnOrder);
|
2539
|
-
setColumnOrder(newColumnOrder);
|
2540
|
-
}
|
2541
|
-
}),
|
2542
|
-
dropRef = _useDrop[1];
|
2543
|
-
|
2544
|
-
var _useDrag = useDrag({
|
2545
|
-
collect: function collect(monitor) {
|
2546
|
-
return {
|
2547
|
-
isDragging: monitor.isDragging()
|
2548
|
-
};
|
2549
|
-
},
|
2550
|
-
item: function item() {
|
2551
|
-
return column;
|
2552
|
-
},
|
2553
|
-
type: 'column'
|
2554
|
-
}),
|
2555
|
-
isDragging = _useDrag[0].isDragging,
|
2556
|
-
dragRef = _useDrag[1],
|
2557
|
-
previewRef = _useDrag[2];
|
2558
|
-
|
2559
|
-
return React.createElement(MRT_TableHeadCell, {
|
2560
|
-
dragRef: dragRef,
|
2561
|
-
dropRef: dropRef,
|
2562
|
-
header: header,
|
2563
|
-
isDragging: isDragging,
|
2564
|
-
previewRef: previewRef,
|
2565
|
-
table: table
|
2566
|
-
});
|
2567
|
-
};
|
2568
|
-
|
2569
2570
|
var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
2570
|
-
var
|
2571
|
+
var currentHoveredColumn = _ref.currentHoveredColumn,
|
2572
|
+
setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
|
2573
|
+
headerGroup = _ref.headerGroup,
|
2571
2574
|
table = _ref.table;
|
2572
|
-
var
|
2573
|
-
enableColumnOrdering = _table$options.enableColumnOrdering,
|
2574
|
-
enableGrouping = _table$options.enableGrouping,
|
2575
|
-
muiTableHeadRowProps = _table$options.muiTableHeadRowProps;
|
2575
|
+
var muiTableHeadRowProps = table.options.muiTableHeadRowProps;
|
2576
2576
|
var tableRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
|
2577
2577
|
headerGroup: headerGroup,
|
2578
2578
|
table: table
|
@@ -2585,11 +2585,9 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
|
2585
2585
|
}, tableRowProps == null ? void 0 : tableRowProps.sx);
|
2586
2586
|
}
|
2587
2587
|
}), headerGroup.headers.map(function (header, index) {
|
2588
|
-
return
|
2589
|
-
|
2590
|
-
|
2591
|
-
table: table
|
2592
|
-
}) : React.createElement(MRT_TableHeadCell, {
|
2588
|
+
return React.createElement(MRT_TableHeadCell, {
|
2589
|
+
currentHoveredColumn: currentHoveredColumn,
|
2590
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
2593
2591
|
header: header,
|
2594
2592
|
key: header.id || index,
|
2595
2593
|
table: table
|
@@ -2598,7 +2596,9 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
|
2598
2596
|
};
|
2599
2597
|
|
2600
2598
|
var MRT_TableHead = function MRT_TableHead(_ref) {
|
2601
|
-
var
|
2599
|
+
var currentHoveredColumn = _ref.currentHoveredColumn,
|
2600
|
+
setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
|
2601
|
+
table = _ref.table;
|
2602
2602
|
var getHeaderGroups = table.getHeaderGroups,
|
2603
2603
|
muiTableHeadProps = table.options.muiTableHeadProps;
|
2604
2604
|
var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps({
|
@@ -2606,6 +2606,8 @@ var MRT_TableHead = function MRT_TableHead(_ref) {
|
|
2606
2606
|
}) : muiTableHeadProps;
|
2607
2607
|
return React.createElement(TableHead, Object.assign({}, tableHeadProps), getHeaderGroups().map(function (headerGroup) {
|
2608
2608
|
return React.createElement(MRT_TableHeadRow, {
|
2609
|
+
currentHoveredColumn: currentHoveredColumn,
|
2610
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
2609
2611
|
headerGroup: headerGroup,
|
2610
2612
|
key: headerGroup.id,
|
2611
2613
|
table: table
|
@@ -2769,23 +2771,21 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
2769
2771
|
var cell = _ref.cell,
|
2770
2772
|
enableHover = _ref.enableHover,
|
2771
2773
|
rowIndex = _ref.rowIndex,
|
2774
|
+
setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
|
2772
2775
|
table = _ref.table;
|
2773
2776
|
var getState = table.getState,
|
2774
2777
|
_table$options = table.options,
|
2775
2778
|
editingMode = _table$options.editingMode,
|
2776
2779
|
enableClickToCopy = _table$options.enableClickToCopy,
|
2777
|
-
enableColumnOrdering = _table$options.enableColumnOrdering,
|
2778
2780
|
enableEditing = _table$options.enableEditing,
|
2779
2781
|
enableRowNumbers = _table$options.enableRowNumbers,
|
2780
2782
|
muiTableBodyCellProps = _table$options.muiTableBodyCellProps,
|
2781
2783
|
muiTableBodyCellSkeletonProps = _table$options.muiTableBodyCellSkeletonProps,
|
2782
2784
|
rowNumberMode = _table$options.rowNumberMode,
|
2783
2785
|
tableId = _table$options.tableId,
|
2784
|
-
setColumnOrder = table.setColumnOrder,
|
2785
2786
|
setCurrentEditingCell = table.setCurrentEditingCell;
|
2786
2787
|
|
2787
2788
|
var _getState = getState(),
|
2788
|
-
columnOrder = _getState.columnOrder,
|
2789
2789
|
currentEditingCell = _getState.currentEditingCell,
|
2790
2790
|
currentEditingRow = _getState.currentEditingRow,
|
2791
2791
|
density = _getState.density,
|
@@ -2796,16 +2796,6 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
2796
2796
|
row = cell.row;
|
2797
2797
|
var columnDef = column.columnDef;
|
2798
2798
|
var columnDefType = columnDef.columnDefType;
|
2799
|
-
|
2800
|
-
var _useDrop = useDrop({
|
2801
|
-
accept: 'column',
|
2802
|
-
drop: function drop(movingColumn) {
|
2803
|
-
var newColumnOrder = reorderColumn(movingColumn, column, columnOrder);
|
2804
|
-
setColumnOrder(newColumnOrder);
|
2805
|
-
}
|
2806
|
-
}),
|
2807
|
-
dropRef = _useDrop[1];
|
2808
|
-
|
2809
2799
|
var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps({
|
2810
2800
|
cell: cell,
|
2811
2801
|
table: table
|
@@ -2849,10 +2839,14 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
2849
2839
|
return (table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
|
2850
2840
|
};
|
2851
2841
|
|
2842
|
+
var handleDragEnter = function handleDragEnter(_e) {
|
2843
|
+
setCurrentHoveredColumn(columnDefType === 'data' ? column : null);
|
2844
|
+
};
|
2845
|
+
|
2852
2846
|
return React.createElement(TableCell, Object.assign({
|
2853
|
-
onDoubleClick: handleDoubleClick
|
2847
|
+
onDoubleClick: handleDoubleClick,
|
2848
|
+
onDragEnter: handleDragEnter
|
2854
2849
|
}, tableCellProps, {
|
2855
|
-
ref: columnDefType === 'data' && enableColumnOrdering ? dropRef : undefined,
|
2856
2850
|
sx: function sx(theme) {
|
2857
2851
|
var _columnDef$minSize;
|
2858
2852
|
|
@@ -2940,6 +2934,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
2940
2934
|
|
2941
2935
|
var row = _ref.row,
|
2942
2936
|
rowIndex = _ref.rowIndex,
|
2937
|
+
setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
|
2943
2938
|
table = _ref.table;
|
2944
2939
|
var getIsSomeColumnsPinned = table.getIsSomeColumnsPinned,
|
2945
2940
|
_table$options = table.options,
|
@@ -2968,6 +2963,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
2968
2963
|
key: cell.id,
|
2969
2964
|
enableHover: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false,
|
2970
2965
|
rowIndex: rowIndex,
|
2966
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
2971
2967
|
table: table
|
2972
2968
|
});
|
2973
2969
|
})), renderDetailPanel && !row.getIsGrouped() && React.createElement(MRT_TableDetailPanel, {
|
@@ -2977,7 +2973,8 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
2977
2973
|
};
|
2978
2974
|
|
2979
2975
|
var MRT_TableBody = function MRT_TableBody(_ref) {
|
2980
|
-
var
|
2976
|
+
var setCurrentHoveredColumn = _ref.setCurrentHoveredColumn,
|
2977
|
+
table = _ref.table,
|
2981
2978
|
tableContainerRef = _ref.tableContainerRef;
|
2982
2979
|
var getRowModel = table.getRowModel,
|
2983
2980
|
getPrePaginationRowModel = table.getPrePaginationRowModel,
|
@@ -3043,6 +3040,7 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
|
|
3043
3040
|
key: row.id,
|
3044
3041
|
row: row,
|
3045
3042
|
rowIndex: enableRowVirtualization ? rowOrVirtualRow.index : rowIndex,
|
3043
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
3046
3044
|
table: table
|
3047
3045
|
});
|
3048
3046
|
}), enableRowVirtualization && paddingBottom > 0 && React.createElement("tr", null, React.createElement("td", {
|
@@ -3160,6 +3158,11 @@ var MRT_Table = function MRT_Table(_ref) {
|
|
3160
3158
|
var tableProps = muiTableProps instanceof Function ? muiTableProps({
|
3161
3159
|
table: table
|
3162
3160
|
}) : muiTableProps;
|
3161
|
+
|
3162
|
+
var _useState = useState(null),
|
3163
|
+
currentHoveredColumn = _useState[0],
|
3164
|
+
setCurrentHoveredColumn = _useState[1];
|
3165
|
+
|
3163
3166
|
return React.createElement(Table, Object.assign({
|
3164
3167
|
stickyHeader: enableStickyHeader || enableRowVirtualization || isFullScreen
|
3165
3168
|
}, tableProps, {
|
@@ -3167,8 +3170,11 @@ var MRT_Table = function MRT_Table(_ref) {
|
|
3167
3170
|
tableLayout: enableColumnResizing || enableRowVirtualization ? 'fixed' : 'auto'
|
3168
3171
|
}, tableProps == null ? void 0 : tableProps.sx)
|
3169
3172
|
}), enableTableHead && React.createElement(MRT_TableHead, {
|
3173
|
+
currentHoveredColumn: currentHoveredColumn,
|
3174
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
3170
3175
|
table: table
|
3171
3176
|
}), React.createElement(MRT_TableBody, {
|
3177
|
+
setCurrentHoveredColumn: setCurrentHoveredColumn,
|
3172
3178
|
tableContainerRef: tableContainerRef,
|
3173
3179
|
table: table
|
3174
3180
|
}), enableTableFooter && React.createElement(MRT_TableFooter, {
|
@@ -3204,8 +3210,9 @@ var MRT_TableContainer = function MRT_TableContainer(_ref) {
|
|
3204
3210
|
setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);
|
3205
3211
|
});
|
3206
3212
|
var tableContainerRef = React.useRef(null);
|
3207
|
-
return React.createElement(TableContainer, Object.assign({
|
3208
|
-
ref: tableContainerRef
|
3213
|
+
return React.createElement(TableContainer, Object.assign({
|
3214
|
+
ref: tableContainerRef
|
3215
|
+
}, tableContainerProps, {
|
3209
3216
|
sx: _extends({
|
3210
3217
|
maxWidth: '100%',
|
3211
3218
|
maxHeight: enableStickyHeader || enableRowVirtualization ? "clamp(350px, calc(100vh - " + totalToolbarHeight + "px), 9999px)" : undefined,
|
@@ -3243,9 +3250,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
|
|
3243
3250
|
var tablePaperProps = muiTablePaperProps instanceof Function ? muiTablePaperProps({
|
3244
3251
|
table: table
|
3245
3252
|
}) : muiTablePaperProps;
|
3246
|
-
return React.createElement(
|
3247
|
-
backend: HTML5Backend
|
3248
|
-
}, React.createElement(Paper, Object.assign({
|
3253
|
+
return React.createElement(Paper, Object.assign({
|
3249
3254
|
elevation: 2
|
3250
3255
|
}, tablePaperProps, {
|
3251
3256
|
sx: _extends({
|
@@ -3265,7 +3270,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
|
|
3265
3270
|
table: table
|
3266
3271
|
}), enableToolbarBottom && React.createElement(MRT_ToolbarBottom, {
|
3267
3272
|
table: table
|
3268
|
-
}))
|
3273
|
+
}));
|
3269
3274
|
};
|
3270
3275
|
|
3271
3276
|
var MRT_TableRoot = function MRT_TableRoot(props) {
|