material-react-table 0.8.0 → 0.8.1
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 +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 +307 -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 +309 -113
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/package.json +8 -5
- package/src/MaterialReactTable.tsx +6 -0
- package/src/head/MRT_DraggableTableHeadCell.tsx +52 -0
- package/src/head/MRT_TableHeadCell.tsx +62 -154
- 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_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
|
|
@@ -2130,10 +2292,12 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2130
2292
|
return (tableInstance.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
|
|
2131
2293
|
};
|
|
2132
2294
|
|
|
2295
|
+
console.log(column.getCanGroup());
|
|
2133
2296
|
return React.createElement(TableCell, Object.assign({
|
|
2134
2297
|
align: column.columnDefType === 'group' ? 'center' : 'left',
|
|
2135
2298
|
colSpan: header.colSpan
|
|
2136
2299
|
}, tableCellProps, {
|
|
2300
|
+
ref: column.columnDefType === 'data' ? dropRef : undefined,
|
|
2137
2301
|
sx: function sx(theme) {
|
|
2138
2302
|
return _extends({
|
|
2139
2303
|
backgroundColor: column.getIsPinned() && column.columnDefType !== 'group' ? alpha(lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
|
|
@@ -2159,10 +2323,12 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2159
2323
|
width: header.getSize()
|
|
2160
2324
|
}
|
|
2161
2325
|
}), header.isPlaceholder ? null : column.columnDefType === 'display' ? headerElement : React.createElement(Box, {
|
|
2326
|
+
ref: previewRef,
|
|
2162
2327
|
sx: {
|
|
2163
2328
|
alignItems: 'flex-start',
|
|
2164
2329
|
display: 'flex',
|
|
2165
2330
|
justifyContent: column.columnDefType === 'group' ? 'center' : 'space-between',
|
|
2331
|
+
opacity: isDragging ? 0.5 : 1,
|
|
2166
2332
|
width: '100%'
|
|
2167
2333
|
}
|
|
2168
2334
|
}, React.createElement(Box, {
|
|
@@ -2176,85 +2342,90 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2176
2342
|
flexWrap: 'nowrap',
|
|
2177
2343
|
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
2344
|
}
|
|
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",
|
|
2345
|
+
}, headerElement, column.columnDefType === 'data' && column.getCanSort() && React.createElement(MRT_TableHeadCellSortLabel, {
|
|
2346
|
+
header: header,
|
|
2347
|
+
tableInstance: tableInstance
|
|
2348
|
+
}), column.columnDefType === 'data' && enableColumnFilters && column.getCanFilter() && React.createElement(MRT_TableHeadCellFilterLabel, {
|
|
2349
|
+
header: header,
|
|
2350
|
+
tableInstance: tableInstance
|
|
2351
|
+
})), React.createElement(Box, {
|
|
2198
2352
|
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
|
-
}
|
|
2353
|
+
whiteSpace: 'nowrap'
|
|
2207
2354
|
}
|
|
2208
|
-
},
|
|
2355
|
+
}, column.columnDefType === 'data' && (enableColumnOrdering && column.enableColumnOrdering !== false || enableGrouping && column.enableGrouping !== false) && React.createElement(MRT_TableHeadCellGrabHandle, {
|
|
2209
2356
|
header: header,
|
|
2357
|
+
ref: dragRef,
|
|
2210
2358
|
tableInstance: tableInstance
|
|
2211
|
-
}), column.
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2359
|
+
}), (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React.createElement(MRT_ToggleColumnActionMenuButton, {
|
|
2360
|
+
header: header,
|
|
2361
|
+
tableInstance: tableInstance
|
|
2362
|
+
})), column.getCanResize() && React.createElement(MRT_TableHeadCellResizeHandle, {
|
|
2363
|
+
header: header,
|
|
2364
|
+
tableInstance: tableInstance
|
|
2365
|
+
})), column.columnDefType === 'data' && column.getCanFilter() && React.createElement(MRT_TableHeadCellFilterContainer, {
|
|
2366
|
+
header: header,
|
|
2367
|
+
tableInstance: tableInstance
|
|
2368
|
+
}));
|
|
2369
|
+
};
|
|
2370
|
+
|
|
2371
|
+
var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
|
|
2372
|
+
var header = _ref.header,
|
|
2373
|
+
tableInstance = _ref.tableInstance;
|
|
2374
|
+
var getState = tableInstance.getState;
|
|
2375
|
+
|
|
2376
|
+
_objectDestructuringEmpty(tableInstance.options);
|
|
2377
|
+
|
|
2378
|
+
var setColumnOrder = tableInstance.setColumnOrder;
|
|
2379
|
+
|
|
2380
|
+
var _getState = getState(),
|
|
2381
|
+
columnOrder = _getState.columnOrder;
|
|
2382
|
+
|
|
2383
|
+
var reorder = function reorder(item, newIndex) {
|
|
2384
|
+
var currentIndex = item.index;
|
|
2385
|
+
columnOrder.splice(newIndex, 0, columnOrder.splice(currentIndex, 1)[0]);
|
|
2386
|
+
setColumnOrder([].concat(columnOrder));
|
|
2387
|
+
};
|
|
2388
|
+
|
|
2389
|
+
var _useDrop = useDrop({
|
|
2390
|
+
accept: 'header',
|
|
2391
|
+
drop: function drop(item) {
|
|
2392
|
+
return reorder(item, header.index);
|
|
2393
|
+
}
|
|
2394
|
+
}),
|
|
2395
|
+
drop = _useDrop[1];
|
|
2396
|
+
|
|
2397
|
+
var _useDrag = useDrag({
|
|
2398
|
+
collect: function collect(monitor) {
|
|
2218
2399
|
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
|
-
}
|
|
2400
|
+
isDragging: monitor.isDragging()
|
|
2234
2401
|
};
|
|
2235
2402
|
},
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
}) : React.createElement(MRT_FilterTextField, {
|
|
2403
|
+
item: function item() {
|
|
2404
|
+
return header;
|
|
2405
|
+
},
|
|
2406
|
+
type: 'header'
|
|
2407
|
+
}),
|
|
2408
|
+
isDragging = _useDrag[0].isDragging,
|
|
2409
|
+
drag = _useDrag[1],
|
|
2410
|
+
preview = _useDrag[2];
|
|
2411
|
+
|
|
2412
|
+
return React.createElement(MRT_TableHeadCell, {
|
|
2413
|
+
dragRef: drag,
|
|
2414
|
+
dropRef: drop,
|
|
2249
2415
|
header: header,
|
|
2416
|
+
isDragging: isDragging,
|
|
2417
|
+
previewRef: preview,
|
|
2250
2418
|
tableInstance: tableInstance
|
|
2251
|
-
})
|
|
2419
|
+
});
|
|
2252
2420
|
};
|
|
2253
2421
|
|
|
2254
2422
|
var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
|
2255
2423
|
var headerGroup = _ref.headerGroup,
|
|
2256
2424
|
tableInstance = _ref.tableInstance;
|
|
2257
|
-
var
|
|
2425
|
+
var _tableInstance$option = tableInstance.options,
|
|
2426
|
+
enableColumnOrdering = _tableInstance$option.enableColumnOrdering,
|
|
2427
|
+
enableGrouping = _tableInstance$option.enableGrouping,
|
|
2428
|
+
muiTableHeadRowProps = _tableInstance$option.muiTableHeadRowProps;
|
|
2258
2429
|
var tableRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
|
|
2259
2430
|
headerGroup: headerGroup,
|
|
2260
2431
|
tableInstance: tableInstance
|
|
@@ -2267,7 +2438,11 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
|
|
2267
2438
|
}, tableRowProps == null ? void 0 : tableRowProps.sx);
|
|
2268
2439
|
}
|
|
2269
2440
|
}), headerGroup.headers.map(function (header, index) {
|
|
2270
|
-
return React.createElement(
|
|
2441
|
+
return enableColumnOrdering || enableGrouping ? React.createElement(MRT_DraggableTableHeadCell, {
|
|
2442
|
+
header: header,
|
|
2443
|
+
key: header.id || index,
|
|
2444
|
+
tableInstance: tableInstance
|
|
2445
|
+
}) : React.createElement(MRT_TableHeadCell, {
|
|
2271
2446
|
header: header,
|
|
2272
2447
|
key: header.id || index,
|
|
2273
2448
|
tableInstance: tableInstance
|
|
@@ -2841,7 +3016,9 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
|
|
|
2841
3016
|
var tablePaperProps = muiTablePaperProps instanceof Function ? muiTablePaperProps({
|
|
2842
3017
|
tableInstance: tableInstance
|
|
2843
3018
|
}) : muiTablePaperProps;
|
|
2844
|
-
return React.createElement(
|
|
3019
|
+
return React.createElement(DndProvider, {
|
|
3020
|
+
backend: HTML5Backend
|
|
3021
|
+
}, React.createElement(Paper, Object.assign({
|
|
2845
3022
|
elevation: 2
|
|
2846
3023
|
}, tablePaperProps, {
|
|
2847
3024
|
sx: _extends({
|
|
@@ -2861,7 +3038,7 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
|
|
|
2861
3038
|
tableInstance: tableInstance
|
|
2862
3039
|
}), enableToolbarBottom && React.createElement(MRT_ToolbarBottom, {
|
|
2863
3040
|
tableInstance: tableInstance
|
|
2864
|
-
}));
|
|
3041
|
+
})));
|
|
2865
3042
|
};
|
|
2866
3043
|
|
|
2867
3044
|
var getAllLeafColumnDefs = function getAllLeafColumnDefs(columns) {
|
|
@@ -3076,7 +3253,18 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3076
3253
|
return _ref7 = {}, _ref7[c.id] = null, _ref7;
|
|
3077
3254
|
})));
|
|
3078
3255
|
}) : 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]);
|
|
3256
|
+
}, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]);
|
|
3257
|
+
|
|
3258
|
+
var _useState11 = useState(function () {
|
|
3259
|
+
var _initialState$columnO;
|
|
3260
|
+
|
|
3261
|
+
return ((_initialState$columnO = initialState == null ? void 0 : initialState.columnOrder) != null ? _initialState$columnO : props.enableColumnOrdering) ? getAllLeafColumnDefs(columns).map(function (c) {
|
|
3262
|
+
return c.id;
|
|
3263
|
+
}) : [];
|
|
3264
|
+
}),
|
|
3265
|
+
columnOrder = _useState11[0],
|
|
3266
|
+
setColumnOrder = _useState11[1]; //@ts-ignore
|
|
3267
|
+
|
|
3080
3268
|
|
|
3081
3269
|
var tableInstance = _extends({}, useTableInstance(table, _extends({
|
|
3082
3270
|
filterFns: defaultFilterFNs,
|
|
@@ -3092,6 +3280,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3092
3280
|
},
|
|
3093
3281
|
//@ts-ignore
|
|
3094
3282
|
globalFilterFn: currentGlobalFilterFn,
|
|
3283
|
+
onColumnOrderChange: setColumnOrder,
|
|
3095
3284
|
onPaginationChange: function onPaginationChange(updater) {
|
|
3096
3285
|
return setPagination(function (old) {
|
|
3097
3286
|
return functionalUpdate(updater, old);
|
|
@@ -3104,6 +3293,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3104
3293
|
idPrefix: idPrefix,
|
|
3105
3294
|
initialState: initialState,
|
|
3106
3295
|
state: _extends({
|
|
3296
|
+
columnOrder: columnOrder,
|
|
3107
3297
|
currentEditingCell: currentEditingCell,
|
|
3108
3298
|
currentEditingRow: currentEditingRow,
|
|
3109
3299
|
currentFilterFns: currentFilterFns,
|
|
@@ -3166,7 +3356,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3166
3356
|
}));
|
|
3167
3357
|
};
|
|
3168
3358
|
|
|
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"];
|
|
3359
|
+
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
3360
|
var MaterialReactTable = (function (_ref) {
|
|
3171
3361
|
var _ref$autoResetExpande = _ref.autoResetExpanded,
|
|
3172
3362
|
autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
|
|
@@ -3184,6 +3374,8 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3184
3374
|
enableColumnActions = _ref$enableColumnActi === void 0 ? true : _ref$enableColumnActi,
|
|
3185
3375
|
_ref$enableColumnFilt = _ref.enableColumnFilters,
|
|
3186
3376
|
enableColumnFilters = _ref$enableColumnFilt === void 0 ? true : _ref$enableColumnFilt,
|
|
3377
|
+
_ref$enableColumnOrde = _ref.enableColumnOrdering,
|
|
3378
|
+
enableColumnOrdering = _ref$enableColumnOrde === void 0 ? false : _ref$enableColumnOrde,
|
|
3187
3379
|
_ref$enableColumnResi = _ref.enableColumnResizing,
|
|
3188
3380
|
enableColumnResizing = _ref$enableColumnResi === void 0 ? false : _ref$enableColumnResi,
|
|
3189
3381
|
_ref$enableDensePaddi = _ref.enableDensePaddingToggle,
|
|
@@ -3196,6 +3388,8 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3196
3388
|
enableFullScreenToggle = _ref$enableFullScreen === void 0 ? true : _ref$enableFullScreen,
|
|
3197
3389
|
_ref$enableGlobalFilt = _ref.enableGlobalFilter,
|
|
3198
3390
|
enableGlobalFilter = _ref$enableGlobalFilt === void 0 ? true : _ref$enableGlobalFilt,
|
|
3391
|
+
_ref$enableGrouping = _ref.enableGrouping,
|
|
3392
|
+
enableGrouping = _ref$enableGrouping === void 0 ? false : _ref$enableGrouping,
|
|
3199
3393
|
_ref$enableHiding = _ref.enableHiding,
|
|
3200
3394
|
enableHiding = _ref$enableHiding === void 0 ? true : _ref$enableHiding,
|
|
3201
3395
|
_ref$enableMultiRowSe = _ref.enableMultiRowSelection,
|
|
@@ -3241,12 +3435,14 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3241
3435
|
editingMode: editingMode,
|
|
3242
3436
|
enableColumnActions: enableColumnActions,
|
|
3243
3437
|
enableColumnFilters: enableColumnFilters,
|
|
3438
|
+
enableColumnOrdering: enableColumnOrdering,
|
|
3244
3439
|
enableColumnResizing: enableColumnResizing,
|
|
3245
3440
|
enableDensePaddingToggle: enableDensePaddingToggle,
|
|
3246
3441
|
enableExpandAll: enableExpandAll,
|
|
3247
3442
|
enableFilters: enableFilters,
|
|
3248
3443
|
enableFullScreenToggle: enableFullScreenToggle,
|
|
3249
3444
|
enableGlobalFilter: enableGlobalFilter,
|
|
3445
|
+
enableGrouping: enableGrouping,
|
|
3250
3446
|
enableHiding: enableHiding,
|
|
3251
3447
|
enableMultiRowSelection: enableMultiRowSelection,
|
|
3252
3448
|
enablePagination: enablePagination,
|