material-react-table 0.8.0 → 0.8.3
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/README.md +1 -1
- package/dist/MaterialReactTable.d.ts +3 -1
- package/dist/head/MRT_DraggableTableHeadCell.d.ts +8 -0
- package/dist/head/MRT_TableHeadCell.d.ts +5 -1
- package/dist/head/MRT_TableHeadCellFilterContainer.d.ts +8 -0
- package/dist/head/MRT_TableHeadCellFilterLabel.d.ts +8 -0
- package/dist/head/MRT_TableHeadCellGrabHandle.d.ts +9 -0
- package/dist/head/MRT_TableHeadCellResizeHandle.d.ts +8 -0
- package/dist/head/MRT_TableHeadCellSortLabel.d.ts +8 -0
- package/dist/icons.d.ts +1 -0
- package/dist/inputs/MRT_FilterRangeFields.d.ts +2 -2
- package/dist/localization.d.ts +1 -0
- package/dist/material-react-table.cjs.development.js +306 -111
- 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 +308 -113
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/table/MRT_TableContainer.d.ts +1 -1
- package/dist/utils.d.ts +1 -1
- package/package.json +10 -8
- package/src/MaterialReactTable.tsx +6 -0
- package/src/head/MRT_DraggableTableHeadCell.tsx +52 -0
- package/src/head/MRT_TableHeadCell.tsx +61 -153
- package/src/head/MRT_TableHeadCellFilterContainer.tsx +32 -0
- package/src/head/MRT_TableHeadCellFilterLabel.tsx +82 -0
- package/src/head/MRT_TableHeadCellGrabHandle.tsx +52 -0
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +52 -0
- package/src/head/MRT_TableHeadCellSortLabel.tsx +45 -0
- package/src/head/MRT_TableHeadRow.tsx +17 -8
- package/src/icons.ts +3 -0
- package/src/inputs/MRT_FilterRangeFields.tsx +1 -3
- package/src/localization.ts +2 -0
- package/src/table/MRT_TableContainer.tsx +1 -1
- package/src/table/MRT_TablePaper.tsx +26 -22
- package/src/table/MRT_TableRoot.tsx +8 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useMemo, useState, useCallback, Fragment, useLayoutEffect, useEffect } from 'react';
|
|
1
|
+
import React, { useMemo, useState, useCallback, Fragment, forwardRef, useLayoutEffect, useEffect } from 'react';
|
|
2
2
|
import ArrowRightIcon from '@mui/icons-material/ArrowRight';
|
|
3
3
|
import CancelIcon from '@mui/icons-material/Cancel';
|
|
4
4
|
import CheckBoxIcon from '@mui/icons-material/CheckBox';
|
|
@@ -7,6 +7,7 @@ import CloseIcon from '@mui/icons-material/Close';
|
|
|
7
7
|
import DensityMediumIcon from '@mui/icons-material/DensityMedium';
|
|
8
8
|
import DensitySmallIcon from '@mui/icons-material/DensitySmall';
|
|
9
9
|
import DoubleArrowDownIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
|
|
10
|
+
import DragHandleIcon from '@mui/icons-material/DragHandle';
|
|
10
11
|
import DynamicFeedIcon from '@mui/icons-material/DynamicFeed';
|
|
11
12
|
import EditIcon from '@mui/icons-material/Edit';
|
|
12
13
|
import ExpandLessIcon from '@mui/icons-material/ExpandLess';
|
|
@@ -28,8 +29,10 @@ import SortIcon from '@mui/icons-material/Sort';
|
|
|
28
29
|
import ViewColumnIcon from '@mui/icons-material/ViewColumn';
|
|
29
30
|
import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
|
|
30
31
|
import { createTable, useTableInstance, getCoreRowModel, getExpandedRowModel, getFacetedRowModel, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel, functionalUpdate } from '@tanstack/react-table';
|
|
31
|
-
import { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, Chip, Alert, LinearProgress, useMediaQuery, Toolbar, lighten, alpha,
|
|
32
|
+
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';
|
|
32
33
|
import { rankItem, rankings } from '@tanstack/match-sorter-utils';
|
|
34
|
+
import { useDrop, useDrag, DndProvider } from 'react-dnd';
|
|
35
|
+
import { HTML5Backend } from 'react-dnd-html5-backend';
|
|
33
36
|
|
|
34
37
|
function _extends() {
|
|
35
38
|
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
@@ -48,6 +51,10 @@ function _extends() {
|
|
|
48
51
|
return _extends.apply(this, arguments);
|
|
49
52
|
}
|
|
50
53
|
|
|
54
|
+
function _objectDestructuringEmpty(obj) {
|
|
55
|
+
if (obj == null) throw new TypeError("Cannot destructure undefined");
|
|
56
|
+
}
|
|
57
|
+
|
|
51
58
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
52
59
|
if (source == null) return {};
|
|
53
60
|
var target = {};
|
|
@@ -92,6 +99,7 @@ var MRT_DefaultLocalization_EN = {
|
|
|
92
99
|
filterNotEquals: 'Not Equals',
|
|
93
100
|
filterStartsWith: 'Starts With',
|
|
94
101
|
filteringByColumn: 'Filtering by {column} - {filterType} {filterValue}',
|
|
102
|
+
grab: 'Grab',
|
|
95
103
|
groupByColumn: 'Group by {column}',
|
|
96
104
|
groupedBy: 'Grouped by ',
|
|
97
105
|
hideAll: 'Hide all',
|
|
@@ -138,6 +146,7 @@ var MRT_Default_Icons = {
|
|
|
138
146
|
DensityMediumIcon: DensityMediumIcon,
|
|
139
147
|
DensitySmallIcon: DensitySmallIcon,
|
|
140
148
|
DoubleArrowDownIcon: DoubleArrowDownIcon,
|
|
149
|
+
DragHandleIcon: DragHandleIcon,
|
|
141
150
|
DynamicFeedIcon: DynamicFeedIcon,
|
|
142
151
|
EditIcon: EditIcon,
|
|
143
152
|
ExpandLessIcon: ExpandLessIcon,
|
|
@@ -1989,6 +1998,190 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
1989
1998
|
}));
|
|
1990
1999
|
};
|
|
1991
2000
|
|
|
2001
|
+
var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
|
|
2002
|
+
var header = _ref.header,
|
|
2003
|
+
tableInstance = _ref.tableInstance;
|
|
2004
|
+
var localization = tableInstance.options.localization;
|
|
2005
|
+
return React.createElement(Box, {
|
|
2006
|
+
sx: {
|
|
2007
|
+
display: 'grid',
|
|
2008
|
+
gridTemplateColumns: '6fr auto 5fr'
|
|
2009
|
+
}
|
|
2010
|
+
}, React.createElement(MRT_FilterTextField, {
|
|
2011
|
+
header: header,
|
|
2012
|
+
inputIndex: 0,
|
|
2013
|
+
tableInstance: tableInstance
|
|
2014
|
+
}), React.createElement(Box, {
|
|
2015
|
+
sx: {
|
|
2016
|
+
width: '100%',
|
|
2017
|
+
minWidth: '5ch',
|
|
2018
|
+
textAlign: 'center'
|
|
2019
|
+
}
|
|
2020
|
+
}, localization.to), React.createElement(MRT_FilterTextField, {
|
|
2021
|
+
header: header,
|
|
2022
|
+
inputIndex: 1,
|
|
2023
|
+
tableInstance: tableInstance
|
|
2024
|
+
}));
|
|
2025
|
+
};
|
|
2026
|
+
|
|
2027
|
+
var MRT_TableHeadCellFilterContainer = function MRT_TableHeadCellFilterContainer(_ref) {
|
|
2028
|
+
var header = _ref.header,
|
|
2029
|
+
tableInstance = _ref.tableInstance;
|
|
2030
|
+
var getState = tableInstance.getState;
|
|
2031
|
+
|
|
2032
|
+
var _getState = getState(),
|
|
2033
|
+
currentFilterFns = _getState.currentFilterFns,
|
|
2034
|
+
showFilters = _getState.showFilters;
|
|
2035
|
+
|
|
2036
|
+
var column = header.column;
|
|
2037
|
+
return React.createElement(Collapse, {
|
|
2038
|
+
"in": showFilters,
|
|
2039
|
+
mountOnEnter: true,
|
|
2040
|
+
unmountOnExit: true
|
|
2041
|
+
}, currentFilterFns[column.id] === MRT_FILTER_OPTION.BETWEEN ? React.createElement(MRT_FilterRangeFields, {
|
|
2042
|
+
header: header,
|
|
2043
|
+
tableInstance: tableInstance
|
|
2044
|
+
}) : React.createElement(MRT_FilterTextField, {
|
|
2045
|
+
header: header,
|
|
2046
|
+
tableInstance: tableInstance
|
|
2047
|
+
}));
|
|
2048
|
+
};
|
|
2049
|
+
|
|
2050
|
+
var MRT_TableHeadCellFilterLabel = function MRT_TableHeadCellFilterLabel(_ref) {
|
|
2051
|
+
var _getState2, _getState2$currentFil;
|
|
2052
|
+
|
|
2053
|
+
var header = _ref.header,
|
|
2054
|
+
tableInstance = _ref.tableInstance;
|
|
2055
|
+
var getState = tableInstance.getState,
|
|
2056
|
+
_tableInstance$option = tableInstance.options,
|
|
2057
|
+
_tableInstance$option2 = _tableInstance$option.icons,
|
|
2058
|
+
FilterAltIcon = _tableInstance$option2.FilterAltIcon,
|
|
2059
|
+
FilterAltOff = _tableInstance$option2.FilterAltOff,
|
|
2060
|
+
localization = _tableInstance$option.localization,
|
|
2061
|
+
setShowFilters = tableInstance.setShowFilters;
|
|
2062
|
+
|
|
2063
|
+
var _getState = getState(),
|
|
2064
|
+
showFilters = _getState.showFilters;
|
|
2065
|
+
|
|
2066
|
+
var column = header.column;
|
|
2067
|
+
var filterFn = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterFns) == null ? void 0 : _getState2$currentFil[header.id];
|
|
2068
|
+
var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.columnDef.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
|
|
2069
|
+
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;
|
|
2070
|
+
return React.createElement(Tooltip, {
|
|
2071
|
+
arrow: true,
|
|
2072
|
+
placement: "top",
|
|
2073
|
+
title: filterTooltip
|
|
2074
|
+
}, React.createElement(IconButton, {
|
|
2075
|
+
disableRipple: true,
|
|
2076
|
+
onClick: function onClick(event) {
|
|
2077
|
+
event.stopPropagation();
|
|
2078
|
+
setShowFilters(!showFilters);
|
|
2079
|
+
},
|
|
2080
|
+
size: "small",
|
|
2081
|
+
sx: {
|
|
2082
|
+
m: 0,
|
|
2083
|
+
opacity: !!column.getFilterValue() || showFilters ? 0.8 : 0,
|
|
2084
|
+
p: '2px',
|
|
2085
|
+
transition: 'all 0.2s ease-in-out',
|
|
2086
|
+
'&:hover': {
|
|
2087
|
+
backgroundColor: 'transparent',
|
|
2088
|
+
opacity: 0.8
|
|
2089
|
+
}
|
|
2090
|
+
}
|
|
2091
|
+
}, showFilters && !column.getFilterValue() ? React.createElement(FilterAltOff, null) : React.createElement(FilterAltIcon, null)));
|
|
2092
|
+
};
|
|
2093
|
+
|
|
2094
|
+
var MRT_TableHeadCellGrabHandle = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
2095
|
+
var tableInstance = _ref.tableInstance;
|
|
2096
|
+
var _tableInstance$option = tableInstance.options,
|
|
2097
|
+
DragHandleIcon = _tableInstance$option.icons.DragHandleIcon,
|
|
2098
|
+
localization = _tableInstance$option.localization;
|
|
2099
|
+
return React.createElement(Tooltip, {
|
|
2100
|
+
arrow: true,
|
|
2101
|
+
enterDelay: 1000,
|
|
2102
|
+
enterNextDelay: 1000,
|
|
2103
|
+
placement: "top",
|
|
2104
|
+
title: localization.grab
|
|
2105
|
+
}, React.createElement(IconButton, {
|
|
2106
|
+
disableRipple: true,
|
|
2107
|
+
ref: ref,
|
|
2108
|
+
size: "small",
|
|
2109
|
+
sx: {
|
|
2110
|
+
cursor: 'grab',
|
|
2111
|
+
m: 0,
|
|
2112
|
+
opacity: 0.5,
|
|
2113
|
+
p: '2px',
|
|
2114
|
+
transition: 'all 0.2s ease-in-out',
|
|
2115
|
+
'&:hover': {
|
|
2116
|
+
backgroundColor: 'transparent',
|
|
2117
|
+
opacity: 1
|
|
2118
|
+
},
|
|
2119
|
+
'&:active': {
|
|
2120
|
+
cursor: 'grabbing'
|
|
2121
|
+
}
|
|
2122
|
+
}
|
|
2123
|
+
}, React.createElement(DragHandleIcon, null)));
|
|
2124
|
+
});
|
|
2125
|
+
|
|
2126
|
+
var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref) {
|
|
2127
|
+
var header = _ref.header,
|
|
2128
|
+
tableInstance = _ref.tableInstance;
|
|
2129
|
+
var getState = tableInstance.getState;
|
|
2130
|
+
|
|
2131
|
+
var _getState = getState(),
|
|
2132
|
+
showFilters = _getState.showFilters;
|
|
2133
|
+
|
|
2134
|
+
var column = header.column;
|
|
2135
|
+
return React.createElement(Divider, {
|
|
2136
|
+
flexItem: true,
|
|
2137
|
+
orientation: "vertical",
|
|
2138
|
+
onDoubleClick: function onDoubleClick() {
|
|
2139
|
+
return column.resetSize();
|
|
2140
|
+
},
|
|
2141
|
+
sx: function sx(theme) {
|
|
2142
|
+
return {
|
|
2143
|
+
borderRadius: '2px',
|
|
2144
|
+
borderRightWidth: '2px',
|
|
2145
|
+
cursor: 'col-resize',
|
|
2146
|
+
height: showFilters && column.columnDefType === 'data' ? '4rem' : '2rem',
|
|
2147
|
+
opacity: 0.8,
|
|
2148
|
+
position: 'absolute',
|
|
2149
|
+
right: '1px',
|
|
2150
|
+
touchAction: 'none',
|
|
2151
|
+
transition: column.getIsResizing() ? undefined : 'all 0.2s ease-in-out',
|
|
2152
|
+
userSelect: 'none',
|
|
2153
|
+
zIndex: 2000,
|
|
2154
|
+
'&:active': {
|
|
2155
|
+
backgroundColor: theme.palette.info.main,
|
|
2156
|
+
opacity: 1
|
|
2157
|
+
}
|
|
2158
|
+
};
|
|
2159
|
+
},
|
|
2160
|
+
onMouseDown: header.getResizeHandler(),
|
|
2161
|
+
onTouchStart: header.getResizeHandler(),
|
|
2162
|
+
style: {
|
|
2163
|
+
transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : 'none'
|
|
2164
|
+
}
|
|
2165
|
+
});
|
|
2166
|
+
};
|
|
2167
|
+
|
|
2168
|
+
var MRT_TableHeadCellSortLabel = function MRT_TableHeadCellSortLabel(_ref) {
|
|
2169
|
+
var header = _ref.header,
|
|
2170
|
+
tableInstance = _ref.tableInstance;
|
|
2171
|
+
var localization = tableInstance.options.localization;
|
|
2172
|
+
var column = header.column;
|
|
2173
|
+
var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.columnDef.header) : localization.sortedByColumnAsc.replace('{column}', column.columnDef.header) : localization.unsorted;
|
|
2174
|
+
return React.createElement(Tooltip, {
|
|
2175
|
+
arrow: true,
|
|
2176
|
+
placement: "top",
|
|
2177
|
+
title: sortTooltip
|
|
2178
|
+
}, React.createElement(TableSortLabel, {
|
|
2179
|
+
"aria-label": sortTooltip,
|
|
2180
|
+
active: !!column.getIsSorted(),
|
|
2181
|
+
direction: column.getIsSorted() ? column.getIsSorted() : undefined
|
|
2182
|
+
}));
|
|
2183
|
+
};
|
|
2184
|
+
|
|
1992
2185
|
var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
|
|
1993
2186
|
var header = _ref.header,
|
|
1994
2187
|
tableInstance = _ref.tableInstance;
|
|
@@ -2049,53 +2242,26 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
|
|
|
2049
2242
|
}));
|
|
2050
2243
|
};
|
|
2051
2244
|
|
|
2052
|
-
var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
|
|
2053
|
-
var header = _ref.header,
|
|
2054
|
-
tableInstance = _ref.tableInstance;
|
|
2055
|
-
var localization = tableInstance.options.localization;
|
|
2056
|
-
return React.createElement(Box, {
|
|
2057
|
-
sx: {
|
|
2058
|
-
display: 'grid',
|
|
2059
|
-
gridTemplateColumns: '6fr auto 5fr'
|
|
2060
|
-
}
|
|
2061
|
-
}, React.createElement(MRT_FilterTextField, {
|
|
2062
|
-
header: header,
|
|
2063
|
-
inputIndex: 0,
|
|
2064
|
-
tableInstance: tableInstance
|
|
2065
|
-
}), React.createElement(Box, {
|
|
2066
|
-
sx: {
|
|
2067
|
-
width: '100%',
|
|
2068
|
-
minWidth: '5ch',
|
|
2069
|
-
textAlign: 'center'
|
|
2070
|
-
}
|
|
2071
|
-
}, localization.to), React.createElement(MRT_FilterTextField, {
|
|
2072
|
-
header: header,
|
|
2073
|
-
inputIndex: 1,
|
|
2074
|
-
tableInstance: tableInstance
|
|
2075
|
-
}));
|
|
2076
|
-
};
|
|
2077
|
-
|
|
2078
2245
|
var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
2079
|
-
var
|
|
2246
|
+
var _column$columnDef$Hea, _column$columnDef, _column$minSize, _column$columnDef$hea, _column$columnDef$hea2;
|
|
2080
2247
|
|
|
2081
|
-
var
|
|
2248
|
+
var dragRef = _ref.dragRef,
|
|
2249
|
+
dropRef = _ref.dropRef,
|
|
2250
|
+
header = _ref.header,
|
|
2251
|
+
isDragging = _ref.isDragging,
|
|
2252
|
+
previewRef = _ref.previewRef,
|
|
2082
2253
|
tableInstance = _ref.tableInstance;
|
|
2083
2254
|
var getState = tableInstance.getState,
|
|
2084
2255
|
_tableInstance$option = tableInstance.options,
|
|
2085
2256
|
enableColumnActions = _tableInstance$option.enableColumnActions,
|
|
2086
2257
|
enableColumnFilters = _tableInstance$option.enableColumnFilters,
|
|
2258
|
+
enableColumnOrdering = _tableInstance$option.enableColumnOrdering,
|
|
2087
2259
|
enableColumnResizing = _tableInstance$option.enableColumnResizing,
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
FilterAltOff = _tableInstance$option2.FilterAltOff,
|
|
2091
|
-
localization = _tableInstance$option.localization,
|
|
2092
|
-
muiTableHeadCellProps = _tableInstance$option.muiTableHeadCellProps,
|
|
2093
|
-
setShowFilters = tableInstance.setShowFilters;
|
|
2260
|
+
enableGrouping = _tableInstance$option.enableGrouping,
|
|
2261
|
+
muiTableHeadCellProps = _tableInstance$option.muiTableHeadCellProps;
|
|
2094
2262
|
|
|
2095
2263
|
var _getState = getState(),
|
|
2096
|
-
|
|
2097
|
-
isDensePadding = _getState.isDensePadding,
|
|
2098
|
-
showFilters = _getState.showFilters;
|
|
2264
|
+
isDensePadding = _getState.isDensePadding;
|
|
2099
2265
|
|
|
2100
2266
|
var column = header.column;
|
|
2101
2267
|
var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps({
|
|
@@ -2109,10 +2275,6 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2109
2275
|
|
|
2110
2276
|
var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps);
|
|
2111
2277
|
|
|
2112
|
-
var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.columnDef.header) : localization.sortedByColumnAsc.replace('{column}', column.columnDef.header) : localization.unsorted;
|
|
2113
|
-
var filterFn = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterFns) == null ? void 0 : _getState2$currentFil[header.id];
|
|
2114
|
-
var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.columnDef.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
|
|
2115
|
-
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;
|
|
2116
2278
|
var headerElement = (_column$columnDef$Hea = (_column$columnDef = column.columnDef) == null ? void 0 : _column$columnDef.Header == null ? void 0 : _column$columnDef.Header({
|
|
2117
2279
|
header: header,
|
|
2118
2280
|
tableInstance: tableInstance
|
|
@@ -2134,6 +2296,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2134
2296
|
align: column.columnDefType === 'group' ? 'center' : 'left',
|
|
2135
2297
|
colSpan: header.colSpan
|
|
2136
2298
|
}, tableCellProps, {
|
|
2299
|
+
ref: column.columnDefType === 'data' ? dropRef : undefined,
|
|
2137
2300
|
sx: function sx(theme) {
|
|
2138
2301
|
return _extends({
|
|
2139
2302
|
backgroundColor: column.getIsPinned() && column.columnDefType !== 'group' ? alpha(lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
|
|
@@ -2159,10 +2322,12 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2159
2322
|
width: header.getSize()
|
|
2160
2323
|
}
|
|
2161
2324
|
}), header.isPlaceholder ? null : column.columnDefType === 'display' ? headerElement : React.createElement(Box, {
|
|
2325
|
+
ref: previewRef,
|
|
2162
2326
|
sx: {
|
|
2163
2327
|
alignItems: 'flex-start',
|
|
2164
2328
|
display: 'flex',
|
|
2165
2329
|
justifyContent: column.columnDefType === 'group' ? 'center' : 'space-between',
|
|
2330
|
+
opacity: isDragging ? 0.5 : 1,
|
|
2166
2331
|
width: '100%'
|
|
2167
2332
|
}
|
|
2168
2333
|
}, React.createElement(Box, {
|
|
@@ -2176,85 +2341,90 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2176
2341
|
flexWrap: 'nowrap',
|
|
2177
2342
|
whiteSpace: ((_column$columnDef$hea = (_column$columnDef$hea2 = column.columnDef.header) == null ? void 0 : _column$columnDef$hea2.length) != null ? _column$columnDef$hea : 0) < 24 ? 'nowrap' : 'normal'
|
|
2178
2343
|
}
|
|
2179
|
-
}, headerElement, column.columnDefType === 'data' && column.getCanSort() && React.createElement(
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
direction: column.getIsSorted() ? column.getIsSorted() : undefined
|
|
2187
|
-
})), column.columnDefType === 'data' && enableColumnFilters && !!column.getCanFilter() && React.createElement(Tooltip, {
|
|
2188
|
-
arrow: true,
|
|
2189
|
-
placement: "top",
|
|
2190
|
-
title: filterTooltip
|
|
2191
|
-
}, React.createElement(IconButton, {
|
|
2192
|
-
disableRipple: true,
|
|
2193
|
-
onClick: function onClick(event) {
|
|
2194
|
-
event.stopPropagation();
|
|
2195
|
-
setShowFilters(!showFilters);
|
|
2196
|
-
},
|
|
2197
|
-
size: "small",
|
|
2344
|
+
}, headerElement, column.columnDefType === 'data' && column.getCanSort() && React.createElement(MRT_TableHeadCellSortLabel, {
|
|
2345
|
+
header: header,
|
|
2346
|
+
tableInstance: tableInstance
|
|
2347
|
+
}), column.columnDefType === 'data' && enableColumnFilters && column.getCanFilter() && React.createElement(MRT_TableHeadCellFilterLabel, {
|
|
2348
|
+
header: header,
|
|
2349
|
+
tableInstance: tableInstance
|
|
2350
|
+
})), React.createElement(Box, {
|
|
2198
2351
|
sx: {
|
|
2199
|
-
|
|
2200
|
-
opacity: !!column.getFilterValue() ? 0.8 : 0,
|
|
2201
|
-
p: '2px',
|
|
2202
|
-
transition: 'all 0.2s ease-in-out',
|
|
2203
|
-
'&:hover': {
|
|
2204
|
-
backgroundColor: 'transparent',
|
|
2205
|
-
opacity: 0.8
|
|
2206
|
-
}
|
|
2352
|
+
whiteSpace: 'nowrap'
|
|
2207
2353
|
}
|
|
2208
|
-
},
|
|
2354
|
+
}, column.columnDefType === 'data' && (enableColumnOrdering && column.enableColumnOrdering !== false || enableGrouping && column.enableGrouping !== false) && React.createElement(MRT_TableHeadCellGrabHandle, {
|
|
2209
2355
|
header: header,
|
|
2356
|
+
ref: dragRef,
|
|
2210
2357
|
tableInstance: tableInstance
|
|
2211
|
-
}), column.
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2358
|
+
}), (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React.createElement(MRT_ToggleColumnActionMenuButton, {
|
|
2359
|
+
header: header,
|
|
2360
|
+
tableInstance: tableInstance
|
|
2361
|
+
})), column.getCanResize() && React.createElement(MRT_TableHeadCellResizeHandle, {
|
|
2362
|
+
header: header,
|
|
2363
|
+
tableInstance: tableInstance
|
|
2364
|
+
})), column.columnDefType === 'data' && column.getCanFilter() && React.createElement(MRT_TableHeadCellFilterContainer, {
|
|
2365
|
+
header: header,
|
|
2366
|
+
tableInstance: tableInstance
|
|
2367
|
+
}));
|
|
2368
|
+
};
|
|
2369
|
+
|
|
2370
|
+
var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
|
|
2371
|
+
var header = _ref.header,
|
|
2372
|
+
tableInstance = _ref.tableInstance;
|
|
2373
|
+
var getState = tableInstance.getState;
|
|
2374
|
+
|
|
2375
|
+
_objectDestructuringEmpty(tableInstance.options);
|
|
2376
|
+
|
|
2377
|
+
var setColumnOrder = tableInstance.setColumnOrder;
|
|
2378
|
+
|
|
2379
|
+
var _getState = getState(),
|
|
2380
|
+
columnOrder = _getState.columnOrder;
|
|
2381
|
+
|
|
2382
|
+
var reorder = function reorder(item, newIndex) {
|
|
2383
|
+
var currentIndex = item.index;
|
|
2384
|
+
columnOrder.splice(newIndex, 0, columnOrder.splice(currentIndex, 1)[0]);
|
|
2385
|
+
setColumnOrder([].concat(columnOrder));
|
|
2386
|
+
};
|
|
2387
|
+
|
|
2388
|
+
var _useDrop = useDrop({
|
|
2389
|
+
accept: 'header',
|
|
2390
|
+
drop: function drop(item) {
|
|
2391
|
+
return reorder(item, header.index);
|
|
2392
|
+
}
|
|
2393
|
+
}),
|
|
2394
|
+
drop = _useDrop[1];
|
|
2395
|
+
|
|
2396
|
+
var _useDrag = useDrag({
|
|
2397
|
+
collect: function collect(monitor) {
|
|
2218
2398
|
return {
|
|
2219
|
-
|
|
2220
|
-
borderRightWidth: '2px',
|
|
2221
|
-
cursor: 'col-resize',
|
|
2222
|
-
height: showFilters && column.columnDefType === 'data' ? '4rem' : '2rem',
|
|
2223
|
-
opacity: 0.8,
|
|
2224
|
-
position: 'absolute',
|
|
2225
|
-
right: '1px',
|
|
2226
|
-
touchAction: 'none',
|
|
2227
|
-
transition: column.getIsResizing() ? undefined : 'all 0.2s ease-in-out',
|
|
2228
|
-
userSelect: 'none',
|
|
2229
|
-
zIndex: 2000,
|
|
2230
|
-
'&:active': {
|
|
2231
|
-
backgroundColor: theme.palette.info.main,
|
|
2232
|
-
opacity: 1
|
|
2233
|
-
}
|
|
2399
|
+
isDragging: monitor.isDragging()
|
|
2234
2400
|
};
|
|
2235
2401
|
},
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
}) : React.createElement(MRT_FilterTextField, {
|
|
2402
|
+
item: function item() {
|
|
2403
|
+
return header;
|
|
2404
|
+
},
|
|
2405
|
+
type: 'header'
|
|
2406
|
+
}),
|
|
2407
|
+
isDragging = _useDrag[0].isDragging,
|
|
2408
|
+
drag = _useDrag[1],
|
|
2409
|
+
preview = _useDrag[2];
|
|
2410
|
+
|
|
2411
|
+
return React.createElement(MRT_TableHeadCell, {
|
|
2412
|
+
dragRef: drag,
|
|
2413
|
+
dropRef: drop,
|
|
2249
2414
|
header: header,
|
|
2415
|
+
isDragging: isDragging,
|
|
2416
|
+
previewRef: preview,
|
|
2250
2417
|
tableInstance: tableInstance
|
|
2251
|
-
})
|
|
2418
|
+
});
|
|
2252
2419
|
};
|
|
2253
2420
|
|
|
2254
2421
|
var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
|
2255
2422
|
var headerGroup = _ref.headerGroup,
|
|
2256
2423
|
tableInstance = _ref.tableInstance;
|
|
2257
|
-
var
|
|
2424
|
+
var _tableInstance$option = tableInstance.options,
|
|
2425
|
+
enableColumnOrdering = _tableInstance$option.enableColumnOrdering,
|
|
2426
|
+
enableGrouping = _tableInstance$option.enableGrouping,
|
|
2427
|
+
muiTableHeadRowProps = _tableInstance$option.muiTableHeadRowProps;
|
|
2258
2428
|
var tableRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
|
|
2259
2429
|
headerGroup: headerGroup,
|
|
2260
2430
|
tableInstance: tableInstance
|
|
@@ -2267,7 +2437,11 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
|
|
2267
2437
|
}, tableRowProps == null ? void 0 : tableRowProps.sx);
|
|
2268
2438
|
}
|
|
2269
2439
|
}), headerGroup.headers.map(function (header, index) {
|
|
2270
|
-
return React.createElement(
|
|
2440
|
+
return enableColumnOrdering || enableGrouping ? React.createElement(MRT_DraggableTableHeadCell, {
|
|
2441
|
+
header: header,
|
|
2442
|
+
key: header.id || index,
|
|
2443
|
+
tableInstance: tableInstance
|
|
2444
|
+
}) : React.createElement(MRT_TableHeadCell, {
|
|
2271
2445
|
header: header,
|
|
2272
2446
|
key: header.id || index,
|
|
2273
2447
|
tableInstance: tableInstance
|
|
@@ -2841,7 +3015,9 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
|
|
|
2841
3015
|
var tablePaperProps = muiTablePaperProps instanceof Function ? muiTablePaperProps({
|
|
2842
3016
|
tableInstance: tableInstance
|
|
2843
3017
|
}) : muiTablePaperProps;
|
|
2844
|
-
return React.createElement(
|
|
3018
|
+
return React.createElement(DndProvider, {
|
|
3019
|
+
backend: HTML5Backend
|
|
3020
|
+
}, React.createElement(Paper, Object.assign({
|
|
2845
3021
|
elevation: 2
|
|
2846
3022
|
}, tablePaperProps, {
|
|
2847
3023
|
sx: _extends({
|
|
@@ -2861,7 +3037,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
|
|
|
2861
3037
|
tableInstance: tableInstance
|
|
2862
3038
|
}), enableToolbarBottom && React.createElement(MRT_ToolbarBottom, {
|
|
2863
3039
|
tableInstance: tableInstance
|
|
2864
|
-
}));
|
|
3040
|
+
})));
|
|
2865
3041
|
};
|
|
2866
3042
|
|
|
2867
3043
|
var getAllLeafColumnDefs = function getAllLeafColumnDefs(columns) {
|
|
@@ -3076,7 +3252,18 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3076
3252
|
return _ref7 = {}, _ref7[c.id] = null, _ref7;
|
|
3077
3253
|
})));
|
|
3078
3254
|
}) : props.data;
|
|
3079
|
-
}, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]);
|
|
3255
|
+
}, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]);
|
|
3256
|
+
|
|
3257
|
+
var _useState11 = useState(function () {
|
|
3258
|
+
var _initialState$columnO;
|
|
3259
|
+
|
|
3260
|
+
return ((_initialState$columnO = initialState == null ? void 0 : initialState.columnOrder) != null ? _initialState$columnO : props.enableColumnOrdering) ? getAllLeafColumnDefs(columns).map(function (c) {
|
|
3261
|
+
return c.id;
|
|
3262
|
+
}) : [];
|
|
3263
|
+
}),
|
|
3264
|
+
columnOrder = _useState11[0],
|
|
3265
|
+
setColumnOrder = _useState11[1]; //@ts-ignore
|
|
3266
|
+
|
|
3080
3267
|
|
|
3081
3268
|
var tableInstance = _extends({}, useTableInstance(table, _extends({
|
|
3082
3269
|
filterFns: defaultFilterFNs,
|
|
@@ -3092,6 +3279,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3092
3279
|
},
|
|
3093
3280
|
//@ts-ignore
|
|
3094
3281
|
globalFilterFn: currentGlobalFilterFn,
|
|
3282
|
+
onColumnOrderChange: setColumnOrder,
|
|
3095
3283
|
onPaginationChange: function onPaginationChange(updater) {
|
|
3096
3284
|
return setPagination(function (old) {
|
|
3097
3285
|
return functionalUpdate(updater, old);
|
|
@@ -3104,6 +3292,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3104
3292
|
idPrefix: idPrefix,
|
|
3105
3293
|
initialState: initialState,
|
|
3106
3294
|
state: _extends({
|
|
3295
|
+
columnOrder: columnOrder,
|
|
3107
3296
|
currentEditingCell: currentEditingCell,
|
|
3108
3297
|
currentEditingRow: currentEditingRow,
|
|
3109
3298
|
currentFilterFns: currentFilterFns,
|
|
@@ -3166,7 +3355,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3166
3355
|
}));
|
|
3167
3356
|
};
|
|
3168
3357
|
|
|
3169
|
-
var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
|
|
3358
|
+
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"];
|
|
3170
3359
|
var MaterialReactTable = (function (_ref) {
|
|
3171
3360
|
var _ref$autoResetExpande = _ref.autoResetExpanded,
|
|
3172
3361
|
autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
|
|
@@ -3184,6 +3373,8 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3184
3373
|
enableColumnActions = _ref$enableColumnActi === void 0 ? true : _ref$enableColumnActi,
|
|
3185
3374
|
_ref$enableColumnFilt = _ref.enableColumnFilters,
|
|
3186
3375
|
enableColumnFilters = _ref$enableColumnFilt === void 0 ? true : _ref$enableColumnFilt,
|
|
3376
|
+
_ref$enableColumnOrde = _ref.enableColumnOrdering,
|
|
3377
|
+
enableColumnOrdering = _ref$enableColumnOrde === void 0 ? false : _ref$enableColumnOrde,
|
|
3187
3378
|
_ref$enableColumnResi = _ref.enableColumnResizing,
|
|
3188
3379
|
enableColumnResizing = _ref$enableColumnResi === void 0 ? false : _ref$enableColumnResi,
|
|
3189
3380
|
_ref$enableDensePaddi = _ref.enableDensePaddingToggle,
|
|
@@ -3196,6 +3387,8 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3196
3387
|
enableFullScreenToggle = _ref$enableFullScreen === void 0 ? true : _ref$enableFullScreen,
|
|
3197
3388
|
_ref$enableGlobalFilt = _ref.enableGlobalFilter,
|
|
3198
3389
|
enableGlobalFilter = _ref$enableGlobalFilt === void 0 ? true : _ref$enableGlobalFilt,
|
|
3390
|
+
_ref$enableGrouping = _ref.enableGrouping,
|
|
3391
|
+
enableGrouping = _ref$enableGrouping === void 0 ? false : _ref$enableGrouping,
|
|
3199
3392
|
_ref$enableHiding = _ref.enableHiding,
|
|
3200
3393
|
enableHiding = _ref$enableHiding === void 0 ? true : _ref$enableHiding,
|
|
3201
3394
|
_ref$enableMultiRowSe = _ref.enableMultiRowSelection,
|
|
@@ -3241,12 +3434,14 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3241
3434
|
editingMode: editingMode,
|
|
3242
3435
|
enableColumnActions: enableColumnActions,
|
|
3243
3436
|
enableColumnFilters: enableColumnFilters,
|
|
3437
|
+
enableColumnOrdering: enableColumnOrdering,
|
|
3244
3438
|
enableColumnResizing: enableColumnResizing,
|
|
3245
3439
|
enableDensePaddingToggle: enableDensePaddingToggle,
|
|
3246
3440
|
enableExpandAll: enableExpandAll,
|
|
3247
3441
|
enableFilters: enableFilters,
|
|
3248
3442
|
enableFullScreenToggle: enableFullScreenToggle,
|
|
3249
3443
|
enableGlobalFilter: enableGlobalFilter,
|
|
3444
|
+
enableGrouping: enableGrouping,
|
|
3250
3445
|
enableHiding: enableHiding,
|
|
3251
3446
|
enableMultiRowSelection: enableMultiRowSelection,
|
|
3252
3447
|
enablePagination: enablePagination,
|