material-react-table 0.1.0 → 0.2.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/MaterialReactTable.d.ts +51 -20
- package/dist/{MRT_TableBody.d.ts → body/MRT_TableBody.d.ts} +0 -0
- package/dist/{MRT_TableBodyCell.d.ts → body/MRT_TableBodyCell.d.ts} +1 -1
- package/dist/{MRT_TableBodyRow.d.ts → body/MRT_TableBodyRow.d.ts} +1 -1
- package/dist/{MRT_TableDetailPanel.d.ts → body/MRT_TableDetailPanel.d.ts} +1 -1
- package/dist/buttons/MRT_ExpandAllButton.d.ts +5 -0
- package/dist/{MRT_TableExpandButton.d.ts → buttons/MRT_ExpandButton.d.ts} +2 -2
- package/dist/buttons/MRT_ShowHideColumnsButton.d.ts +5 -0
- package/dist/buttons/MRT_ToggleColumnActionMenuButton.d.ts +7 -0
- package/dist/{MRT_TableFooter.d.ts → footer/MRT_TableFooter.d.ts} +0 -0
- package/dist/{MRT_TableFooterCell.d.ts → footer/MRT_TableFooterCell.d.ts} +0 -0
- package/dist/{MRT_TableFooterRow.d.ts → footer/MRT_TableFooterRow.d.ts} +1 -1
- package/dist/{MRT_TablePagination.d.ts → footer/MRT_TablePagination.d.ts} +0 -0
- package/dist/{MRT_TableHead.d.ts → head/MRT_TableHead.d.ts} +0 -0
- package/dist/{MRT_TableHeadCell.d.ts → head/MRT_TableHeadCell.d.ts} +1 -0
- package/dist/{MRT_TableHeadRow.d.ts → head/MRT_TableHeadRow.d.ts} +1 -1
- package/dist/inputs/MRT_FilterTextField.d.ts +7 -0
- package/dist/inputs/MRT_SearchTextField.d.ts +5 -0
- package/dist/inputs/MRT_SelectAllCheckbox.d.ts +2 -0
- package/dist/inputs/MRT_SelectCheckbox.d.ts +7 -0
- package/dist/material-react-table.cjs.development.js +755 -82
- 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 +759 -86
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/menus/MRT_ColumnActionMenu.d.ts +9 -0
- package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +7 -0
- package/dist/{MRT_Table.d.ts → table/MRT_Table.d.ts} +0 -0
- package/dist/{MRT_TableContainer.d.ts → table/MRT_TableContainer.d.ts} +0 -0
- package/dist/table/MRT_TableSpacerCell.d.ts +6 -0
- package/dist/toolbar/MRT_Toolbar.d.ts +5 -0
- package/dist/useMaterialReactTable.d.ts +7 -10
- package/dist/utils/localization.d.ts +15 -0
- package/dist/utils/overrideWarnings.d.ts +1 -0
- package/dist/utils/useMRTCalcs.d.ts +11 -0
- package/package.json +13 -11
- package/src/MaterialReactTable.tsx +117 -31
- package/src/body/MRT_TableBody.tsx +57 -0
- package/src/{MRT_TableBodyCell.tsx → body/MRT_TableBodyCell.tsx} +11 -1
- package/src/body/MRT_TableBodyRow.tsx +56 -0
- package/src/{MRT_TableDetailPanel.tsx → body/MRT_TableDetailPanel.tsx} +15 -4
- package/src/buttons/MRT_ExpandAllButton.tsx +40 -0
- package/src/buttons/MRT_ExpandButton.tsx +39 -0
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +43 -0
- package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +49 -0
- package/src/footer/MRT_TableFooter.tsx +36 -0
- package/src/{MRT_TableFooterCell.tsx → footer/MRT_TableFooterCell.tsx} +8 -0
- package/src/footer/MRT_TableFooterRow.tsx +44 -0
- package/src/{MRT_TablePagination.tsx → footer/MRT_TablePagination.tsx} +7 -2
- package/src/head/MRT_TableHead.tsx +38 -0
- package/src/head/MRT_TableHeadCell.tsx +94 -0
- package/src/head/MRT_TableHeadRow.tsx +63 -0
- package/src/inputs/MRT_FilterTextField.tsx +59 -0
- package/src/inputs/MRT_SearchTextField.tsx +65 -0
- package/src/inputs/MRT_SelectAllCheckbox.tsx +15 -0
- package/src/inputs/MRT_SelectCheckbox.tsx +26 -0
- package/src/menus/MRT_ColumnActionMenu.tsx +82 -0
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +34 -0
- package/src/table/MRT_Table.tsx +21 -0
- package/src/{MRT_TableContainer.tsx → table/MRT_TableContainer.tsx} +4 -2
- package/src/table/MRT_TableSpacerCell.tsx +10 -0
- package/src/toolbar/MRT_Toolbar.tsx +39 -0
- package/src/useMaterialReactTable.tsx +45 -23
- package/src/utils/localization.ts +29 -0
- package/src/utils/overrideWarnings.ts +41 -0
- package/src/utils/useMRTCalcs.tsx +42 -0
- package/dist/defaults.d.ts +0 -2
- package/src/MRT_Table.tsx +0 -20
- package/src/MRT_TableBody.tsx +0 -19
- package/src/MRT_TableBodyRow.tsx +0 -27
- package/src/MRT_TableExpandButton.tsx +0 -25
- package/src/MRT_TableFooter.tsx +0 -31
- package/src/MRT_TableFooterRow.tsx +0 -22
- package/src/MRT_TableHead.tsx +0 -25
- package/src/MRT_TableHeadCell.tsx +0 -27
- package/src/MRT_TableHeadRow.tsx +0 -22
- package/src/defaults.ts +0 -11
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
import React, { useContext, createContext } from 'react';
|
|
2
|
-
import { useTable, useSortBy, useExpanded, usePagination } from 'react-table';
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
1
|
+
import React, { useMemo, useContext, createContext, useState } from 'react';
|
|
2
|
+
import { useTable, useFlexLayout, useResizeColumns, useFilters, useGlobalFilter, useSortBy, useExpanded, usePagination, useRowSelect, useAsyncDebounce } from 'react-table';
|
|
3
|
+
import { TextField as TextField$1, InputAdornment, IconButton as IconButton$1, Menu, Divider, styled, MenuItem as MenuItem$1, TableSortLabel, Collapse, TableCell as TableCell$2, Checkbox, FormControlLabel, Switch, Typography, TableRow, TablePagination, TableHead, LinearProgress, CircularProgress, TableBody as TableBody$1, TableFooter, Table, Toolbar as Toolbar$1, TableContainer, Paper } from '@mui/material';
|
|
4
|
+
import CloseIcon from '@mui/icons-material/Close';
|
|
5
|
+
import FilterIcon from '@mui/icons-material/FilterList';
|
|
6
|
+
import MoreVertIcon from '@mui/icons-material/MoreVert';
|
|
7
|
+
import ClearAllIcon from '@mui/icons-material/ClearAll';
|
|
8
|
+
import SortIcon from '@mui/icons-material/Sort';
|
|
9
|
+
import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
|
|
10
|
+
import ArrowRightIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
|
|
11
|
+
import ViewColumnIcon from '@mui/icons-material/ViewColumn';
|
|
12
|
+
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
|
|
13
|
+
import SearchIcon from '@mui/icons-material/Search';
|
|
5
14
|
|
|
6
15
|
function _extends() {
|
|
7
16
|
_extends = Object.assign || function (target) {
|
|
@@ -36,85 +45,506 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
36
45
|
return target;
|
|
37
46
|
}
|
|
38
47
|
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
48
|
+
var useMRTCalcs = function useMRTCalcs(_ref) {
|
|
49
|
+
var tableInstance = _ref.tableInstance;
|
|
50
|
+
var anyRowsCanExpand = useMemo(function () {
|
|
51
|
+
return tableInstance.rows.some(function (row) {
|
|
52
|
+
return row.canExpand;
|
|
53
|
+
});
|
|
54
|
+
}, [tableInstance.rows]);
|
|
55
|
+
var anyRowsExpanded = useMemo(function () {
|
|
56
|
+
return tableInstance.rows.some(function (row) {
|
|
57
|
+
return row.isExpanded;
|
|
58
|
+
});
|
|
59
|
+
}, [tableInstance.rows]);
|
|
60
|
+
var maxColumnDepth = useMemo(function () {
|
|
61
|
+
var maxDepth = 1;
|
|
62
|
+
tableInstance.columns.forEach(function (column) {
|
|
63
|
+
var _column$columns;
|
|
64
|
+
|
|
65
|
+
if ((_column$columns = column.columns) != null && _column$columns.length) {
|
|
66
|
+
maxDepth = Math.max(maxDepth, column.columns.length);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
return maxDepth - 1;
|
|
70
|
+
}, [tableInstance.columns]);
|
|
71
|
+
return {
|
|
72
|
+
anyRowsCanExpand: anyRowsCanExpand,
|
|
73
|
+
anyRowsExpanded: anyRowsExpanded,
|
|
74
|
+
maxColumnDepth: maxColumnDepth
|
|
75
|
+
};
|
|
47
76
|
};
|
|
48
77
|
|
|
49
|
-
var
|
|
50
|
-
|
|
78
|
+
var showOverrideWarnings = function showOverrideWarnings(props) {
|
|
79
|
+
if (props.OverrideTableBodyCellComponent) {
|
|
80
|
+
showWarning('TableCell', 'props');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (props.OverrideTableBodyComponent) {
|
|
84
|
+
showWarning('TableBody', 'tableBodyProps');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (props.OverrideTableBodyRowComponent) {
|
|
88
|
+
showWarning('TableRow', 'props');
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (props.OverrideTableDetailPanelComponent) {
|
|
92
|
+
showWarning('Detail Panel', 'tableDetailPanelProps');
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (props.OverrideTableFooterComponent) {
|
|
96
|
+
showWarning('TableFooter', 'tableFooterProps');
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (props.OverrideTableFooterCellComponent) {
|
|
100
|
+
showWarning('TableCell', 'props');
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (props.OverrideTableFooterRowComponent) {
|
|
104
|
+
showWarning('TableRow', 'props');
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (props.OverrideTableHeadComponent) {
|
|
108
|
+
showWarning('TableHead', 'tableHeadProps');
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (props.OverrideTableHeadRowComponent) {
|
|
112
|
+
showWarning('TableRow', 'props');
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
if (props.OverrideTablePaginationComponent) {
|
|
116
|
+
showWarning('', 'props');
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (props.OverrideTableToolbarComponent) {
|
|
120
|
+
showWarning('TableBodyCell', 'props');
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
var showWarning = function showWarning(componentName, propsName) {
|
|
125
|
+
console.warn("Caution.\nYou are overriding the built-in Mui " + componentName + " Component in material-react-table.\n\nYou should only use this as a last resort!\n\nConsider customizing the Mui " + componentName + " Component instead with " + propsName + ".");
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
var _excluded = ["children", "columns", "data", "surpressOverrideWarnings"];
|
|
129
|
+
|
|
130
|
+
var MaterialReactTableContext = /*#__PURE__*/function () {
|
|
131
|
+
return createContext({});
|
|
132
|
+
}();
|
|
133
|
+
|
|
51
134
|
var MaterialReactTableProvider = function MaterialReactTableProvider(_ref) {
|
|
52
135
|
var children = _ref.children,
|
|
53
136
|
columns = _ref.columns,
|
|
54
137
|
data = _ref.data,
|
|
55
|
-
|
|
138
|
+
surpressOverrideWarnings = _ref.surpressOverrideWarnings,
|
|
56
139
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
57
140
|
|
|
58
141
|
var tableInstance = useTable({
|
|
59
142
|
columns: columns,
|
|
60
143
|
data: data
|
|
61
|
-
}, useSortBy, useExpanded, usePagination);
|
|
62
|
-
|
|
144
|
+
}, useFlexLayout, useResizeColumns, useFilters, useGlobalFilter, useSortBy, useExpanded, usePagination, useRowSelect);
|
|
145
|
+
var mrtCalcs = useMRTCalcs({
|
|
146
|
+
tableInstance: tableInstance
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
if (process.env.NODE_ENV !== 'production' && !surpressOverrideWarnings) {
|
|
150
|
+
showOverrideWarnings(rest);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
return React.createElement(MaterialReactTableContext.Provider //@ts-ignore
|
|
154
|
+
, {
|
|
155
|
+
//@ts-ignore
|
|
63
156
|
value: _extends({
|
|
64
|
-
|
|
157
|
+
columns: columns,
|
|
158
|
+
data: data,
|
|
65
159
|
tableInstance: tableInstance
|
|
66
|
-
}, rest)
|
|
160
|
+
}, mrtCalcs, rest)
|
|
67
161
|
}, children);
|
|
68
162
|
};
|
|
69
163
|
var useMaterialReactTable = function useMaterialReactTable() {
|
|
70
|
-
return
|
|
164
|
+
return (//@ts-ignore
|
|
165
|
+
useContext(MaterialReactTableContext)
|
|
166
|
+
);
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
var MRT_FilterTextfield = function MRT_FilterTextfield(_ref) {
|
|
170
|
+
var column = _ref.column;
|
|
171
|
+
|
|
172
|
+
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
173
|
+
localization = _useMaterialReactTabl.localization;
|
|
174
|
+
|
|
175
|
+
var _useState = useState(''),
|
|
176
|
+
filterValue = _useState[0],
|
|
177
|
+
setFilterValue = _useState[1];
|
|
178
|
+
|
|
179
|
+
var handleChange = useAsyncDebounce(function (value) {
|
|
180
|
+
column.setFilter(value != null ? value : undefined);
|
|
181
|
+
}, 150);
|
|
182
|
+
|
|
183
|
+
var handleClear = function handleClear() {
|
|
184
|
+
setFilterValue('');
|
|
185
|
+
column.setFilter(undefined);
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
return React.createElement(TextField$1, {
|
|
189
|
+
margin: "dense",
|
|
190
|
+
placeholder: localization == null ? void 0 : localization.filterTextFieldPlaceholder,
|
|
191
|
+
onChange: function onChange(e) {
|
|
192
|
+
setFilterValue(e.target.value);
|
|
193
|
+
handleChange(e.target.value);
|
|
194
|
+
},
|
|
195
|
+
onClick: function onClick(e) {
|
|
196
|
+
return e.stopPropagation();
|
|
197
|
+
},
|
|
198
|
+
value: filterValue != null ? filterValue : '',
|
|
199
|
+
variant: "standard",
|
|
200
|
+
InputProps: {
|
|
201
|
+
startAdornment: React.createElement(InputAdornment, {
|
|
202
|
+
position: "start"
|
|
203
|
+
}, React.createElement(FilterIcon, null)),
|
|
204
|
+
endAdornment: React.createElement(InputAdornment, {
|
|
205
|
+
position: "end"
|
|
206
|
+
}, React.createElement(IconButton$1, {
|
|
207
|
+
"aria-label": localization == null ? void 0 : localization.filterTextFieldClearButtonTitle,
|
|
208
|
+
disabled: (filterValue == null ? void 0 : filterValue.length) === 0,
|
|
209
|
+
onClick: handleClear,
|
|
210
|
+
size: "small",
|
|
211
|
+
title: localization == null ? void 0 : localization.filterTextFieldClearButtonTitle
|
|
212
|
+
}, React.createElement(CloseIcon, {
|
|
213
|
+
fontSize: "small"
|
|
214
|
+
})))
|
|
215
|
+
}
|
|
216
|
+
});
|
|
71
217
|
};
|
|
72
218
|
|
|
219
|
+
var MenuItem = /*#__PURE__*/styled(MenuItem$1)({
|
|
220
|
+
display: 'flex',
|
|
221
|
+
gap: '0.75rem'
|
|
222
|
+
});
|
|
223
|
+
var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
224
|
+
var anchorEl = _ref.anchorEl,
|
|
225
|
+
column = _ref.column,
|
|
226
|
+
setAnchorEl = _ref.setAnchorEl;
|
|
227
|
+
|
|
228
|
+
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
229
|
+
enableColumnHiding = _useMaterialReactTabl.enableColumnHiding,
|
|
230
|
+
enableSorting = _useMaterialReactTabl.enableSorting,
|
|
231
|
+
localization = _useMaterialReactTabl.localization;
|
|
232
|
+
|
|
233
|
+
var handleClearSort = function handleClearSort() {
|
|
234
|
+
column.clearSortBy();
|
|
235
|
+
setAnchorEl(null);
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
var handleSortAsc = function handleSortAsc() {
|
|
239
|
+
column.toggleSortBy(false);
|
|
240
|
+
setAnchorEl(null);
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
var handleSortDesc = function handleSortDesc() {
|
|
244
|
+
column.toggleSortBy(true);
|
|
245
|
+
setAnchorEl(null);
|
|
246
|
+
};
|
|
247
|
+
|
|
248
|
+
var handleHideColumn = function handleHideColumn() {
|
|
249
|
+
column.toggleHidden();
|
|
250
|
+
setAnchorEl(null);
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
return React.createElement(Menu, {
|
|
254
|
+
anchorEl: anchorEl,
|
|
255
|
+
open: !!anchorEl,
|
|
256
|
+
onClose: function onClose() {
|
|
257
|
+
return setAnchorEl(null);
|
|
258
|
+
}
|
|
259
|
+
}, enableSorting && React.createElement(React.Fragment, null, React.createElement(MenuItem, {
|
|
260
|
+
disabled: !column.isSorted,
|
|
261
|
+
onClick: handleClearSort
|
|
262
|
+
}, React.createElement(ClearAllIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemClearSort), React.createElement(MenuItem, {
|
|
263
|
+
disabled: column.isSorted && !column.isSortedDesc,
|
|
264
|
+
onClick: handleSortAsc
|
|
265
|
+
}, React.createElement(SortIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemSortAsc), React.createElement(MenuItem, {
|
|
266
|
+
disabled: column.isSorted && column.isSortedDesc,
|
|
267
|
+
onClick: handleSortDesc
|
|
268
|
+
}, React.createElement(SortIcon, {
|
|
269
|
+
style: {
|
|
270
|
+
transform: 'rotate(180deg) scaleX(-1)'
|
|
271
|
+
}
|
|
272
|
+
}), ' ', localization == null ? void 0 : localization.columnActionMenuItemSortDesc), React.createElement(Divider, null)), enableColumnHiding && React.createElement(MenuItem, {
|
|
273
|
+
onClick: handleHideColumn
|
|
274
|
+
}, React.createElement(VisibilityOffIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemHideColumn));
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
var IconButton = /*#__PURE__*/styled(IconButton$1)({
|
|
278
|
+
opacity: 0.2,
|
|
279
|
+
transition: 'opacity 0.2s',
|
|
280
|
+
marginRight: '2px',
|
|
281
|
+
'&:hover': {
|
|
282
|
+
opacity: 1
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
|
|
286
|
+
var column = _ref.column;
|
|
287
|
+
|
|
288
|
+
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
289
|
+
localization = _useMaterialReactTabl.localization;
|
|
290
|
+
|
|
291
|
+
var _useState = useState(null),
|
|
292
|
+
anchorEl = _useState[0],
|
|
293
|
+
setAnchorEl = _useState[1];
|
|
294
|
+
|
|
295
|
+
var handleClick = function handleClick(event) {
|
|
296
|
+
event.stopPropagation();
|
|
297
|
+
event.preventDefault();
|
|
298
|
+
setAnchorEl(event.currentTarget);
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
return React.createElement(React.Fragment, null, React.createElement(IconButton, {
|
|
302
|
+
"aria-label": localization == null ? void 0 : localization.columnActionMenuButtonTitle,
|
|
303
|
+
title: localization == null ? void 0 : localization.columnActionMenuButtonTitle,
|
|
304
|
+
onClick: handleClick,
|
|
305
|
+
size: "small"
|
|
306
|
+
}, React.createElement(MoreVertIcon, null)), React.createElement(MRT_ColumnActionMenu, {
|
|
307
|
+
anchorEl: anchorEl,
|
|
308
|
+
column: column,
|
|
309
|
+
setAnchorEl: setAnchorEl
|
|
310
|
+
}));
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
var TableCell = /*#__PURE__*/styled(TableCell$2)({
|
|
314
|
+
fontWeight: 'bold'
|
|
315
|
+
});
|
|
316
|
+
var TableCellContents = /*#__PURE__*/styled('div')({
|
|
317
|
+
display: 'grid'
|
|
318
|
+
});
|
|
319
|
+
var TableCellText = /*#__PURE__*/styled('div')({
|
|
320
|
+
width: '100%',
|
|
321
|
+
display: 'flex',
|
|
322
|
+
alignItems: 'center',
|
|
323
|
+
justifyContent: 'space-between'
|
|
324
|
+
});
|
|
73
325
|
var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
74
326
|
var _column$columns$lengt, _column$columns;
|
|
75
327
|
|
|
76
|
-
var column = _ref.column
|
|
328
|
+
var column = _ref.column,
|
|
329
|
+
index = _ref.index;
|
|
330
|
+
|
|
331
|
+
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
332
|
+
OverrideTableHeadCellComponent = _useMaterialReactTabl.OverrideTableHeadCellComponent,
|
|
333
|
+
enableColumnActions = _useMaterialReactTabl.enableColumnActions,
|
|
334
|
+
enableColumnResizing = _useMaterialReactTabl.enableColumnResizing,
|
|
335
|
+
enableFiltering = _useMaterialReactTabl.enableFiltering,
|
|
336
|
+
showFiltersInColumnHead = _useMaterialReactTabl.showFiltersInColumnHead,
|
|
337
|
+
tableInstance = _useMaterialReactTabl.tableInstance;
|
|
338
|
+
|
|
339
|
+
if (OverrideTableHeadCellComponent) {
|
|
340
|
+
return React.createElement(React.Fragment, null, OverrideTableHeadCellComponent(column, tableInstance));
|
|
341
|
+
}
|
|
342
|
+
|
|
77
343
|
var isParentHeader = ((_column$columns$lengt = column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.length) != null ? _column$columns$lengt : 0) > 0;
|
|
78
|
-
|
|
79
|
-
|
|
344
|
+
var isLastColumn = !isParentHeader && index === tableInstance.visibleColumns.length - 1 || isParentHeader && index === column.headers.length - 1;
|
|
345
|
+
return React.createElement(TableCell, Object.assign({
|
|
346
|
+
align: isParentHeader ? 'center' : 'left'
|
|
347
|
+
}, column.getHeaderProps()), React.createElement(TableCellContents, null, React.createElement(TableCellText, {
|
|
348
|
+
style: {
|
|
349
|
+
justifyContent: isParentHeader ? 'center' : undefined
|
|
350
|
+
}
|
|
351
|
+
}, React.createElement("span", Object.assign({}, column.getSortByToggleProps()), column.render('Header'), !isParentHeader && column.canSort && React.createElement(TableSortLabel, {
|
|
352
|
+
active: column.isSorted,
|
|
353
|
+
direction: column.isSortedDesc ? 'desc' : 'asc'
|
|
354
|
+
})), React.createElement("span", {
|
|
355
|
+
style: {
|
|
356
|
+
display: 'flex'
|
|
357
|
+
}
|
|
358
|
+
}, enableColumnActions && !isParentHeader && React.createElement(MRT_ToggleColumnActionMenuButton, {
|
|
359
|
+
column: column
|
|
360
|
+
}), enableColumnResizing && !isLastColumn && React.createElement(Divider, Object.assign({
|
|
361
|
+
flexItem: true,
|
|
362
|
+
orientation: "vertical",
|
|
80
363
|
style: {
|
|
81
|
-
|
|
364
|
+
borderRightWidth: '2px',
|
|
365
|
+
borderRadius: '2px'
|
|
366
|
+
},
|
|
367
|
+
onDoubleClick: function onDoubleClick() {
|
|
368
|
+
return tableInstance.resetResizing();
|
|
369
|
+
}
|
|
370
|
+
}, column.getResizerProps())))), enableFiltering && column.canFilter && React.createElement(Collapse, {
|
|
371
|
+
"in": showFiltersInColumnHead
|
|
372
|
+
}, React.createElement(MRT_FilterTextfield, {
|
|
373
|
+
column: column
|
|
374
|
+
}))));
|
|
375
|
+
};
|
|
376
|
+
|
|
377
|
+
var MRT_SelectAllCheckbox = function MRT_SelectAllCheckbox() {
|
|
378
|
+
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
379
|
+
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
380
|
+
enableSelectAll = _useMaterialReactTabl.enableSelectAll;
|
|
381
|
+
|
|
382
|
+
return React.createElement(TableCell$2, {
|
|
383
|
+
style: {
|
|
384
|
+
width: '2rem',
|
|
385
|
+
padding: '0.5rem'
|
|
82
386
|
},
|
|
83
387
|
variant: "head"
|
|
84
|
-
},
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}, column.render('Header')));
|
|
388
|
+
}, enableSelectAll ? React.createElement(Checkbox, Object.assign({
|
|
389
|
+
"aria-label": ''
|
|
390
|
+
}, tableInstance.getToggleAllPageRowsSelectedProps())) : null);
|
|
88
391
|
};
|
|
89
392
|
|
|
90
|
-
var
|
|
91
|
-
var
|
|
393
|
+
var MRT_ExpandAllButton = function MRT_ExpandAllButton() {
|
|
394
|
+
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
395
|
+
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
396
|
+
localization = _useMaterialReactTabl.localization,
|
|
397
|
+
anyRowsExpanded = _useMaterialReactTabl.anyRowsExpanded;
|
|
398
|
+
|
|
399
|
+
return React.createElement(TableCell$2, Object.assign({
|
|
400
|
+
size: "small"
|
|
401
|
+
}, tableInstance.getToggleAllRowsExpandedProps(), {
|
|
402
|
+
style: {
|
|
403
|
+
padding: '0.5rem',
|
|
404
|
+
paddingRight: '0',
|
|
405
|
+
width: tableInstance.expandedDepth + 2 + "rem"
|
|
406
|
+
}
|
|
407
|
+
}), React.createElement(IconButton$1, {
|
|
408
|
+
"aria-label": localization == null ? void 0 : localization.expandAllButtonTitle,
|
|
409
|
+
title: localization == null ? void 0 : localization.expandAllButtonTitle
|
|
410
|
+
}, React.createElement(ArrowRightIcon, {
|
|
411
|
+
fontSize: "small",
|
|
412
|
+
style: {
|
|
413
|
+
transform: tableInstance.isAllRowsExpanded ? 'rotate(-180deg)' : anyRowsExpanded ? 'rotate(-90deg)' : 'rotate(0)',
|
|
414
|
+
transition: 'transform 0.2s'
|
|
415
|
+
}
|
|
416
|
+
})));
|
|
417
|
+
};
|
|
418
|
+
|
|
419
|
+
var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
|
|
420
|
+
var _column$columns;
|
|
421
|
+
|
|
422
|
+
var column = _ref.column;
|
|
92
423
|
|
|
93
424
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
94
|
-
|
|
425
|
+
maxColumnDepth = _useMaterialReactTabl.maxColumnDepth;
|
|
95
426
|
|
|
96
|
-
|
|
427
|
+
var isMaxDepth = column.depth === maxColumnDepth;
|
|
428
|
+
return React.createElement(React.Fragment, null, React.createElement(MenuItem$1, {
|
|
97
429
|
style: {
|
|
98
|
-
|
|
430
|
+
paddingLeft: column.depth + 1 + "rem"
|
|
99
431
|
}
|
|
100
|
-
}
|
|
101
|
-
|
|
432
|
+
}, isMaxDepth ? React.createElement(FormControlLabel, {
|
|
433
|
+
onChange: function onChange() {
|
|
434
|
+
return isMaxDepth && column.toggleHidden();
|
|
435
|
+
},
|
|
436
|
+
label: column.Header,
|
|
437
|
+
checked: column.isVisible,
|
|
438
|
+
control: React.createElement(Switch, null)
|
|
439
|
+
}) : React.createElement(Typography, null, column.Header)), (_column$columns = column.columns) == null ? void 0 : _column$columns.map(function (c, i) {
|
|
440
|
+
return React.createElement(MRT_ShowHideColumnsMenu, {
|
|
441
|
+
key: i + "-" + c.id,
|
|
442
|
+
column: c
|
|
443
|
+
});
|
|
444
|
+
}));
|
|
445
|
+
};
|
|
446
|
+
|
|
447
|
+
var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton() {
|
|
448
|
+
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
449
|
+
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
450
|
+
localization = _useMaterialReactTabl.localization;
|
|
451
|
+
|
|
452
|
+
var _useState = useState(null),
|
|
453
|
+
anchorEl = _useState[0],
|
|
454
|
+
setAnchorEl = _useState[1];
|
|
455
|
+
|
|
456
|
+
var handleClick = function handleClick(event) {
|
|
457
|
+
setAnchorEl(event.currentTarget);
|
|
458
|
+
};
|
|
459
|
+
|
|
460
|
+
return React.createElement(TableCell$2, {
|
|
461
|
+
size: "small",
|
|
462
|
+
style: {
|
|
463
|
+
width: '2rem',
|
|
464
|
+
padding: '0.75rem 0'
|
|
465
|
+
}
|
|
466
|
+
}, React.createElement(IconButton$1, {
|
|
467
|
+
"aria-label": localization == null ? void 0 : localization.showHideColumnsButtonTitle,
|
|
468
|
+
title: localization == null ? void 0 : localization.showHideColumnsButtonTitle,
|
|
469
|
+
onClick: handleClick,
|
|
470
|
+
size: "small",
|
|
471
|
+
style: {
|
|
472
|
+
margin: '0 0 0 -0.75rem'
|
|
473
|
+
}
|
|
474
|
+
}, React.createElement(ViewColumnIcon, null)), React.createElement(Menu, {
|
|
475
|
+
anchorEl: anchorEl,
|
|
476
|
+
open: !!anchorEl,
|
|
477
|
+
onClose: function onClose() {
|
|
478
|
+
return setAnchorEl(null);
|
|
479
|
+
}
|
|
480
|
+
}, tableInstance.columns.map(function (column, index) {
|
|
481
|
+
return React.createElement(MRT_ShowHideColumnsMenu, {
|
|
102
482
|
key: index + "-" + column.id,
|
|
103
483
|
column: column
|
|
104
484
|
});
|
|
105
|
-
}));
|
|
485
|
+
})));
|
|
486
|
+
};
|
|
487
|
+
|
|
488
|
+
var MRT_TableSpacerCell = function MRT_TableSpacerCell(_ref) {
|
|
489
|
+
var width = _ref.width;
|
|
490
|
+
return React.createElement(TableCell$2, {
|
|
491
|
+
style: {
|
|
492
|
+
width: width
|
|
493
|
+
}
|
|
494
|
+
});
|
|
495
|
+
};
|
|
496
|
+
|
|
497
|
+
var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
|
498
|
+
var headerGroup = _ref.headerGroup;
|
|
499
|
+
|
|
500
|
+
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
501
|
+
OverrideTableHeadRowComponent = _useMaterialReactTabl.OverrideTableHeadRowComponent,
|
|
502
|
+
anyRowsCanExpand = _useMaterialReactTabl.anyRowsCanExpand,
|
|
503
|
+
enableColumnHiding = _useMaterialReactTabl.enableColumnHiding,
|
|
504
|
+
enableExpandAll = _useMaterialReactTabl.enableExpandAll,
|
|
505
|
+
enableSelection = _useMaterialReactTabl.enableSelection,
|
|
506
|
+
renderDetailPanel = _useMaterialReactTabl.renderDetailPanel,
|
|
507
|
+
tableInstance = _useMaterialReactTabl.tableInstance;
|
|
508
|
+
|
|
509
|
+
if (OverrideTableHeadRowComponent) {
|
|
510
|
+
return React.createElement(React.Fragment, null, OverrideTableHeadRowComponent(headerGroup, tableInstance));
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
var isParentHeader = useMemo(function () {
|
|
514
|
+
return headerGroup.headers.some(function (h) {
|
|
515
|
+
var _h$columns$length, _h$columns;
|
|
516
|
+
|
|
517
|
+
return ((_h$columns$length = (_h$columns = h.columns) == null ? void 0 : _h$columns.length) != null ? _h$columns$length : 0) > 0;
|
|
518
|
+
});
|
|
519
|
+
}, [headerGroup.headers]);
|
|
520
|
+
return React.createElement(TableRow, Object.assign({}, headerGroup.getHeaderGroupProps()), anyRowsCanExpand || renderDetailPanel ? enableExpandAll && !isParentHeader ? React.createElement(MRT_ExpandAllButton, null) : React.createElement(MRT_TableSpacerCell, {
|
|
521
|
+
width: tableInstance.expandedDepth + 0.5 + "rem"
|
|
522
|
+
}) : null, enableSelection ? !isParentHeader ? React.createElement(MRT_SelectAllCheckbox, null) : React.createElement(MRT_TableSpacerCell, {
|
|
523
|
+
width: "1rem"
|
|
524
|
+
}) : null, headerGroup.headers.map(function (column, index) {
|
|
525
|
+
return React.createElement(MRT_TableHeadCell, {
|
|
526
|
+
key: index + "-" + column.id,
|
|
527
|
+
column: column,
|
|
528
|
+
index: index
|
|
529
|
+
});
|
|
530
|
+
}), enableColumnHiding && !isParentHeader && React.createElement(MRT_ShowHideColumnsButton, null));
|
|
106
531
|
};
|
|
107
532
|
|
|
108
533
|
var MRT_TablePagination = function MRT_TablePagination() {
|
|
109
534
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
110
535
|
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
111
|
-
tablePaginationProps = _useMaterialReactTabl.tablePaginationProps
|
|
536
|
+
tablePaginationProps = _useMaterialReactTabl.tablePaginationProps,
|
|
537
|
+
OverrideTablePaginationComponent = _useMaterialReactTabl.OverrideTablePaginationComponent;
|
|
112
538
|
|
|
113
539
|
var handleChangeRowsPerPage = function handleChangeRowsPerPage(event) {
|
|
114
540
|
tableInstance.setPageSize(+event.target.value);
|
|
115
541
|
tableInstance.gotoPage(0);
|
|
116
542
|
};
|
|
117
543
|
|
|
544
|
+
if (OverrideTablePaginationComponent) {
|
|
545
|
+
return React.createElement(React.Fragment, null, OverrideTablePaginationComponent(tableInstance));
|
|
546
|
+
}
|
|
547
|
+
|
|
118
548
|
return React.createElement(TableRow, null, React.createElement(TablePagination, Object.assign({
|
|
119
549
|
colSpan: tableInstance.visibleColumns.length + 10,
|
|
120
550
|
count: tableInstance.rows.length,
|
|
@@ -131,11 +561,18 @@ var MRT_TablePagination = function MRT_TablePagination() {
|
|
|
131
561
|
|
|
132
562
|
var MRT_TableHead = function MRT_TableHead() {
|
|
133
563
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
564
|
+
OverrideTableHeadComponent = _useMaterialReactTabl.OverrideTableHeadComponent,
|
|
134
565
|
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
135
566
|
tableHeadProps = _useMaterialReactTabl.tableHeadProps,
|
|
136
|
-
|
|
567
|
+
enablePagination = _useMaterialReactTabl.enablePagination,
|
|
568
|
+
isReloading = _useMaterialReactTabl.isReloading,
|
|
569
|
+
positionPagination = _useMaterialReactTabl.positionPagination;
|
|
137
570
|
|
|
138
|
-
|
|
571
|
+
if (OverrideTableHeadComponent) {
|
|
572
|
+
return React.createElement(React.Fragment, null, OverrideTableHeadComponent(tableInstance));
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
return React.createElement(TableHead, Object.assign({}, tableHeadProps), isReloading && React.createElement(LinearProgress, null), enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, null), tableInstance.headerGroups.map(function (headerGroup, index) {
|
|
139
576
|
return React.createElement(MRT_TableHeadRow, {
|
|
140
577
|
key: index + "-" + headerGroup.id,
|
|
141
578
|
headerGroup: headerGroup
|
|
@@ -145,7 +582,16 @@ var MRT_TableHead = function MRT_TableHead() {
|
|
|
145
582
|
|
|
146
583
|
var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
147
584
|
var cell = _ref.cell;
|
|
148
|
-
|
|
585
|
+
|
|
586
|
+
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
587
|
+
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
588
|
+
OverrideTableBodyCellComponent = _useMaterialReactTabl.OverrideTableBodyCellComponent;
|
|
589
|
+
|
|
590
|
+
if (OverrideTableBodyCellComponent) {
|
|
591
|
+
return React.createElement(React.Fragment, null, OverrideTableBodyCellComponent(cell, tableInstance));
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
return React.createElement(TableCell$2, Object.assign({
|
|
149
595
|
variant: "body"
|
|
150
596
|
}, cell.getCellProps()), cell.render('Cell'));
|
|
151
597
|
};
|
|
@@ -155,82 +601,171 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
|
|
|
155
601
|
|
|
156
602
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
157
603
|
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
158
|
-
renderDetailPanel = _useMaterialReactTabl.renderDetailPanel
|
|
604
|
+
renderDetailPanel = _useMaterialReactTabl.renderDetailPanel,
|
|
605
|
+
OverrideTableDetailPanelComponent = _useMaterialReactTabl.OverrideTableDetailPanelComponent,
|
|
606
|
+
tableDetailPanelProps = _useMaterialReactTabl.tableDetailPanelProps;
|
|
607
|
+
|
|
608
|
+
if (OverrideTableDetailPanelComponent) {
|
|
609
|
+
return React.createElement(React.Fragment, null, OverrideTableDetailPanelComponent(row, tableInstance));
|
|
610
|
+
}
|
|
159
611
|
|
|
160
|
-
return React.createElement(TableRow, Object.assign({}, row.getToggleRowExpandedProps()), React.createElement(TableCell$
|
|
612
|
+
return React.createElement(TableRow, Object.assign({}, row.getToggleRowExpandedProps()), React.createElement(TableCell$2, Object.assign({
|
|
161
613
|
colSpan: tableInstance.visibleColumns.length + 10,
|
|
162
614
|
style: {
|
|
615
|
+
borderBottom: !row.isExpanded ? 'none' : undefined,
|
|
163
616
|
paddingBottom: row.isExpanded ? '1rem' : 0,
|
|
164
617
|
paddingTop: row.isExpanded ? '1rem' : 0,
|
|
165
|
-
transition: '
|
|
618
|
+
transition: 'all 0.2s'
|
|
166
619
|
}
|
|
167
|
-
}, React.createElement(Collapse, {
|
|
620
|
+
}, tableDetailPanelProps), React.createElement(Collapse, {
|
|
168
621
|
"in": row.isExpanded
|
|
169
622
|
}, renderDetailPanel == null ? void 0 : renderDetailPanel(row))));
|
|
170
623
|
};
|
|
171
624
|
|
|
172
|
-
var
|
|
625
|
+
var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
|
|
173
626
|
var row = _ref.row;
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}, React.createElement(IconButton, {
|
|
181
|
-
onClick: function onClick() {
|
|
182
|
-
return row.toggleRowExpanded();
|
|
183
|
-
},
|
|
627
|
+
|
|
628
|
+
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
629
|
+
localization = _useMaterialReactTabl.localization,
|
|
630
|
+
tableInstance = _useMaterialReactTabl.tableInstance;
|
|
631
|
+
|
|
632
|
+
return React.createElement(TableCell$2, Object.assign({
|
|
184
633
|
size: "small"
|
|
185
|
-
},
|
|
634
|
+
}, row.getToggleRowExpandedProps(), {
|
|
635
|
+
style: {
|
|
636
|
+
padding: '0.5rem',
|
|
637
|
+
paddingRight: '0',
|
|
638
|
+
paddingLeft: row.depth + 0.5 + "rem",
|
|
639
|
+
width: tableInstance.expandedDepth - row.depth + 2 + "rem"
|
|
640
|
+
}
|
|
641
|
+
}), React.createElement(IconButton$1, {
|
|
642
|
+
"aria-label": localization == null ? void 0 : localization.expandButtonTitle,
|
|
643
|
+
title: localization == null ? void 0 : localization.expandButtonTitle
|
|
644
|
+
}, React.createElement(ExpandMoreIcon, {
|
|
186
645
|
fontSize: "small",
|
|
187
646
|
style: {
|
|
188
|
-
transform: row.isExpanded ? 'rotate(
|
|
647
|
+
transform: row.isExpanded ? 'rotate(-180deg)' : 'rotate(0)',
|
|
189
648
|
transition: 'transform 0.2s'
|
|
190
649
|
}
|
|
191
650
|
})));
|
|
192
651
|
};
|
|
193
652
|
|
|
653
|
+
var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
|
|
654
|
+
var row = _ref.row;
|
|
655
|
+
|
|
656
|
+
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
657
|
+
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
658
|
+
onRowSelectChange = _useMaterialReactTabl.onRowSelectChange;
|
|
659
|
+
|
|
660
|
+
var onSelectChange = function onSelectChange(event) {
|
|
661
|
+
var _row$getToggleRowSele;
|
|
662
|
+
|
|
663
|
+
(_row$getToggleRowSele = row.getToggleRowSelectedProps()) == null ? void 0 : _row$getToggleRowSele.onChange == null ? void 0 : _row$getToggleRowSele.onChange(event);
|
|
664
|
+
onRowSelectChange == null ? void 0 : onRowSelectChange(event, row.state, tableInstance.selectedFlatRows);
|
|
665
|
+
};
|
|
666
|
+
|
|
667
|
+
return React.createElement(TableCell$2, {
|
|
668
|
+
style: {
|
|
669
|
+
width: '2rem',
|
|
670
|
+
padding: '0.5rem'
|
|
671
|
+
}
|
|
672
|
+
}, React.createElement(Checkbox, Object.assign({}, row.getToggleRowSelectedProps(), {
|
|
673
|
+
onChange: onSelectChange
|
|
674
|
+
})));
|
|
675
|
+
};
|
|
676
|
+
|
|
194
677
|
var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
195
678
|
var row = _ref.row;
|
|
196
679
|
|
|
197
680
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
198
|
-
|
|
681
|
+
OverrideTableBodyRowComponent = _useMaterialReactTabl.OverrideTableBodyRowComponent,
|
|
682
|
+
anyRowsCanExpand = _useMaterialReactTabl.anyRowsCanExpand,
|
|
683
|
+
enableSelection = _useMaterialReactTabl.enableSelection,
|
|
684
|
+
enableSubRowTree = _useMaterialReactTabl.enableSubRowTree,
|
|
685
|
+
enableColumnHiding = _useMaterialReactTabl.enableColumnHiding,
|
|
686
|
+
onRowClick = _useMaterialReactTabl.onRowClick,
|
|
687
|
+
renderDetailPanel = _useMaterialReactTabl.renderDetailPanel,
|
|
688
|
+
tableInstance = _useMaterialReactTabl.tableInstance;
|
|
199
689
|
|
|
200
|
-
|
|
690
|
+
if (OverrideTableBodyRowComponent) {
|
|
691
|
+
return React.createElement(React.Fragment, null, OverrideTableBodyRowComponent(row, tableInstance));
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
return React.createElement(React.Fragment, null, React.createElement(TableRow, Object.assign({
|
|
695
|
+
onClick: function onClick(event) {
|
|
696
|
+
return onRowClick == null ? void 0 : onRowClick(event, row);
|
|
697
|
+
}
|
|
698
|
+
}, row.getRowProps()), (enableSubRowTree && anyRowsCanExpand || renderDetailPanel) && (row.canExpand || renderDetailPanel ? React.createElement(MRT_ExpandButton, {
|
|
699
|
+
row: row
|
|
700
|
+
}) : React.createElement(TableCell$2, {
|
|
701
|
+
style: {
|
|
702
|
+
width: tableInstance.expandedDepth + 0.5 + "rem"
|
|
703
|
+
}
|
|
704
|
+
})), enableSelection && React.createElement(MRT_SelectCheckbox, {
|
|
201
705
|
row: row
|
|
202
706
|
}), row.cells.map(function (cell, index) {
|
|
203
707
|
return React.createElement(MRT_TableBodyCell, {
|
|
204
708
|
key: index + "-" + cell.value,
|
|
205
709
|
cell: cell
|
|
206
710
|
});
|
|
207
|
-
})), renderDetailPanel && React.createElement(MRT_TableDetailPanel, {
|
|
711
|
+
}), enableColumnHiding && React.createElement(MRT_TableSpacerCell, null)), renderDetailPanel && React.createElement(MRT_TableDetailPanel, {
|
|
208
712
|
row: row
|
|
209
713
|
}));
|
|
210
714
|
};
|
|
211
715
|
|
|
716
|
+
var TableBody = /*#__PURE__*/styled(TableBody$1)({
|
|
717
|
+
overflowY: 'hidden'
|
|
718
|
+
});
|
|
719
|
+
var CircularProgressWrapper = /*#__PURE__*/styled('div')({
|
|
720
|
+
backgroundColor: 'rgba(255, 255, 255, 0.5)',
|
|
721
|
+
display: 'grid',
|
|
722
|
+
height: '100%',
|
|
723
|
+
justifyContent: 'center',
|
|
724
|
+
margin: 'auto',
|
|
725
|
+
paddingTop: '5rem',
|
|
726
|
+
position: 'fixed',
|
|
727
|
+
width: 'calc(100% - 2rem)'
|
|
728
|
+
});
|
|
212
729
|
var MRT_TableBody = function MRT_TableBody() {
|
|
213
730
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
214
|
-
tableInstance = _useMaterialReactTabl.tableInstance
|
|
731
|
+
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
732
|
+
tableBodyProps = _useMaterialReactTabl.tableBodyProps,
|
|
733
|
+
isLoading = _useMaterialReactTabl.isLoading,
|
|
734
|
+
enablePagination = _useMaterialReactTabl.enablePagination,
|
|
735
|
+
OverrideTableBodyComponent = _useMaterialReactTabl.OverrideTableBodyComponent;
|
|
736
|
+
|
|
737
|
+
if (OverrideTableBodyComponent) {
|
|
738
|
+
return React.createElement(React.Fragment, null, OverrideTableBodyComponent(tableInstance));
|
|
739
|
+
}
|
|
215
740
|
|
|
216
|
-
|
|
741
|
+
var rows = enablePagination ? tableInstance.page : tableInstance.rows;
|
|
742
|
+
return React.createElement(React.Fragment, null, React.createElement(TableBody, Object.assign({}, tableBodyProps, tableInstance.getTableBodyProps()), isLoading && React.createElement(CircularProgressWrapper, null, React.createElement(CircularProgress, null)), rows.map(function (row, index) {
|
|
217
743
|
tableInstance.prepareRow(row);
|
|
218
744
|
return React.createElement(MRT_TableBodyRow, {
|
|
219
745
|
key: index + "-" + row.id,
|
|
220
746
|
row: row
|
|
221
747
|
});
|
|
222
|
-
}));
|
|
748
|
+
})));
|
|
223
749
|
};
|
|
224
750
|
|
|
225
|
-
var TableCell = /*#__PURE__*/styled(TableCell$
|
|
751
|
+
var TableCell$1 = /*#__PURE__*/styled(TableCell$2)({
|
|
226
752
|
fontWeight: 'bold'
|
|
227
753
|
});
|
|
228
754
|
var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
229
755
|
var _column$columns$lengt, _column$columns;
|
|
230
756
|
|
|
231
757
|
var column = _ref.column;
|
|
758
|
+
|
|
759
|
+
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
760
|
+
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
761
|
+
OverrideTableFooterCellComponent = _useMaterialReactTabl.OverrideTableFooterCellComponent;
|
|
762
|
+
|
|
763
|
+
if (OverrideTableFooterCellComponent) {
|
|
764
|
+
return React.createElement(React.Fragment, null, OverrideTableFooterCellComponent(column, tableInstance));
|
|
765
|
+
}
|
|
766
|
+
|
|
232
767
|
var isParentHeader = ((_column$columns$lengt = column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.length) != null ? _column$columns$lengt : 0) > 0;
|
|
233
|
-
return React.createElement(TableCell, Object.assign({
|
|
768
|
+
return React.createElement(TableCell$1, Object.assign({
|
|
234
769
|
align: isParentHeader ? 'center' : 'left',
|
|
235
770
|
variant: "head"
|
|
236
771
|
}, column.getFooterProps()), column.render('Footer'));
|
|
@@ -240,65 +775,203 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
|
|
|
240
775
|
var footerGroup = _ref.footerGroup;
|
|
241
776
|
|
|
242
777
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
243
|
-
renderDetailPanel = _useMaterialReactTabl.renderDetailPanel
|
|
778
|
+
renderDetailPanel = _useMaterialReactTabl.renderDetailPanel,
|
|
779
|
+
columns = _useMaterialReactTabl.columns,
|
|
780
|
+
anyRowsCanExpand = _useMaterialReactTabl.anyRowsCanExpand,
|
|
781
|
+
enableColumnHiding = _useMaterialReactTabl.enableColumnHiding,
|
|
782
|
+
enableSelection = _useMaterialReactTabl.enableSelection,
|
|
783
|
+
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
784
|
+
OverrideTableFooterRowComponent = _useMaterialReactTabl.OverrideTableFooterRowComponent; //if no content in row, skip row
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
if (!columns.some(function (c) {
|
|
788
|
+
return c.Footer;
|
|
789
|
+
})) return null;
|
|
244
790
|
|
|
245
|
-
|
|
791
|
+
if (OverrideTableFooterRowComponent) {
|
|
792
|
+
return React.createElement(React.Fragment, null, OverrideTableFooterRowComponent(footerGroup, tableInstance));
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
return React.createElement(TableRow, Object.assign({}, footerGroup.getFooterGroupProps()), (anyRowsCanExpand || renderDetailPanel) && React.createElement(TableCell$2, {
|
|
246
796
|
style: {
|
|
247
|
-
width:
|
|
797
|
+
width: tableInstance.expandedDepth + 0.5 + "rem"
|
|
248
798
|
}
|
|
799
|
+
}), enableSelection && React.createElement(MRT_TableSpacerCell, {
|
|
800
|
+
width: "1rem"
|
|
249
801
|
}), footerGroup.headers.map(function (column, index) {
|
|
250
802
|
return React.createElement(MRT_TableFooterCell, {
|
|
251
803
|
key: index + "-" + column.id,
|
|
252
804
|
column: column
|
|
253
805
|
});
|
|
254
|
-
}));
|
|
806
|
+
}), enableColumnHiding && React.createElement(MRT_TableSpacerCell, null));
|
|
255
807
|
};
|
|
256
808
|
|
|
257
809
|
var MRT_TableFooter = function MRT_TableFooter() {
|
|
258
810
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
259
|
-
|
|
811
|
+
OverrideTableFooterComponent = _useMaterialReactTabl.OverrideTableFooterComponent,
|
|
812
|
+
enablePagination = _useMaterialReactTabl.enablePagination,
|
|
813
|
+
positionPagination = _useMaterialReactTabl.positionPagination,
|
|
260
814
|
tableFooterProps = _useMaterialReactTabl.tableFooterProps,
|
|
261
|
-
|
|
815
|
+
tableInstance = _useMaterialReactTabl.tableInstance;
|
|
262
816
|
|
|
263
|
-
|
|
264
|
-
return
|
|
265
|
-
}
|
|
266
|
-
|
|
817
|
+
if (OverrideTableFooterComponent) {
|
|
818
|
+
return React.createElement(React.Fragment, null, OverrideTableFooterComponent(tableInstance));
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
return React.createElement(TableFooter, Object.assign({}, tableFooterProps), tableInstance.footerGroups.map(function (footerGroup, index) {
|
|
267
822
|
return React.createElement(MRT_TableFooterRow, {
|
|
268
823
|
key: index + "-" + footerGroup.id,
|
|
269
824
|
footerGroup: footerGroup
|
|
270
825
|
});
|
|
271
|
-
}),
|
|
826
|
+
}), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, null));
|
|
272
827
|
};
|
|
273
828
|
|
|
274
829
|
var MRT_Table = function MRT_Table() {
|
|
275
830
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
276
831
|
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
277
832
|
tableProps = _useMaterialReactTabl.tableProps,
|
|
278
|
-
|
|
833
|
+
showHead = _useMaterialReactTabl.showHead,
|
|
834
|
+
showFooter = _useMaterialReactTabl.showFooter;
|
|
835
|
+
|
|
836
|
+
return React.createElement(Table, Object.assign({}, tableProps, tableInstance.getTableProps()), showHead && React.createElement(MRT_TableHead, null), React.createElement(MRT_TableBody, null), showFooter && React.createElement(MRT_TableFooter, null));
|
|
837
|
+
};
|
|
838
|
+
|
|
839
|
+
var TextField = /*#__PURE__*/styled(TextField$1)({
|
|
840
|
+
justifySelf: 'end'
|
|
841
|
+
});
|
|
842
|
+
var MRT_SearchTextField = function MRT_SearchTextField() {
|
|
843
|
+
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
844
|
+
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
845
|
+
tableSearchTextfieldProps = _useMaterialReactTabl.tableSearchTextfieldProps,
|
|
846
|
+
localization = _useMaterialReactTabl.localization;
|
|
847
|
+
|
|
848
|
+
var _useState = useState(''),
|
|
849
|
+
searchValue = _useState[0],
|
|
850
|
+
setSearchValue = _useState[1];
|
|
851
|
+
|
|
852
|
+
var handleChange = useAsyncDebounce(function (value) {
|
|
853
|
+
tableInstance.setGlobalFilter(value != null ? value : undefined);
|
|
854
|
+
}, 200);
|
|
279
855
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
856
|
+
var handleClear = function handleClear() {
|
|
857
|
+
setSearchValue('');
|
|
858
|
+
tableInstance.setGlobalFilter(undefined);
|
|
859
|
+
};
|
|
860
|
+
|
|
861
|
+
return React.createElement(TextField, Object.assign({
|
|
862
|
+
placeholder: localization == null ? void 0 : localization.searchTextFieldPlaceholder,
|
|
863
|
+
onChange: function onChange(e) {
|
|
864
|
+
setSearchValue(e.target.value);
|
|
865
|
+
handleChange(e.target.value);
|
|
866
|
+
},
|
|
867
|
+
value: searchValue != null ? searchValue : '',
|
|
868
|
+
variant: "standard",
|
|
869
|
+
InputProps: {
|
|
870
|
+
startAdornment: React.createElement(InputAdornment, {
|
|
871
|
+
position: "start"
|
|
872
|
+
}, React.createElement(SearchIcon, {
|
|
873
|
+
fontSize: "small"
|
|
874
|
+
})),
|
|
875
|
+
endAdornment: React.createElement(InputAdornment, {
|
|
876
|
+
position: "end"
|
|
877
|
+
}, React.createElement(IconButton$1, {
|
|
878
|
+
"aria-label": localization == null ? void 0 : localization.searchTextFieldClearButtonTitle,
|
|
879
|
+
disabled: (searchValue == null ? void 0 : searchValue.length) === 0,
|
|
880
|
+
onClick: handleClear,
|
|
881
|
+
size: "small",
|
|
882
|
+
title: localization == null ? void 0 : localization.searchTextFieldClearButtonTitle
|
|
883
|
+
}, React.createElement(CloseIcon, {
|
|
884
|
+
fontSize: "small"
|
|
885
|
+
})))
|
|
886
|
+
}
|
|
887
|
+
}, tableSearchTextfieldProps));
|
|
888
|
+
};
|
|
889
|
+
|
|
890
|
+
var Toolbar = /*#__PURE__*/styled(Toolbar$1)({
|
|
891
|
+
padding: '0.5rem',
|
|
892
|
+
display: 'flex',
|
|
893
|
+
justifyContent: 'space-between'
|
|
894
|
+
});
|
|
895
|
+
var MRT_Toolbar = function MRT_Toolbar() {
|
|
896
|
+
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
897
|
+
OverrideTableToolbarComponent = _useMaterialReactTabl.OverrideTableToolbarComponent,
|
|
898
|
+
enableSearch = _useMaterialReactTabl.enableSearch,
|
|
899
|
+
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
900
|
+
tableTitleProps = _useMaterialReactTabl.tableTitleProps,
|
|
901
|
+
tableToolbarProps = _useMaterialReactTabl.tableToolbarProps,
|
|
902
|
+
title = _useMaterialReactTabl.title;
|
|
903
|
+
|
|
904
|
+
if (OverrideTableToolbarComponent) {
|
|
905
|
+
return React.createElement(React.Fragment, null, OverrideTableToolbarComponent(tableInstance));
|
|
906
|
+
} //if no features in the toolbar are enabled, don't render anything
|
|
907
|
+
|
|
908
|
+
|
|
909
|
+
if (!enableSearch && !title && !tableToolbarProps) {
|
|
910
|
+
return null;
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
return React.createElement(Toolbar, Object.assign({
|
|
914
|
+
variant: "dense"
|
|
915
|
+
}, tableToolbarProps), title ? React.createElement(Typography, Object.assign({}, tableTitleProps), title) : React.createElement("span", null), enableSearch && React.createElement(MRT_SearchTextField, null));
|
|
283
916
|
};
|
|
284
917
|
|
|
285
918
|
var MRT_TableContainer = function MRT_TableContainer() {
|
|
286
919
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
287
|
-
tableContainerProps = _useMaterialReactTabl.tableContainerProps
|
|
920
|
+
tableContainerProps = _useMaterialReactTabl.tableContainerProps,
|
|
921
|
+
showToolbar = _useMaterialReactTabl.showToolbar;
|
|
288
922
|
|
|
289
923
|
return React.createElement(TableContainer, Object.assign({
|
|
290
924
|
component: Paper
|
|
291
|
-
}, tableContainerProps), React.createElement(MRT_Table, null));
|
|
925
|
+
}, tableContainerProps), showToolbar && React.createElement(MRT_Toolbar, null), React.createElement(MRT_Table, null));
|
|
926
|
+
};
|
|
927
|
+
|
|
928
|
+
var defaultLocalization = {
|
|
929
|
+
columnActionMenuButtonTitle: 'Column Actions',
|
|
930
|
+
columnActionMenuItemHideColumn: 'Hide column',
|
|
931
|
+
columnActionMenuItemSortAsc: 'Sort ascending',
|
|
932
|
+
columnActionMenuItemClearSort: 'Clear sorting',
|
|
933
|
+
columnActionMenuItemSortDesc: 'Sort descending',
|
|
934
|
+
expandAllButtonTitle: 'Expand all',
|
|
935
|
+
expandButtonTitle: 'Expand',
|
|
936
|
+
filterTextFieldClearButtonTitle: 'Clear filter',
|
|
937
|
+
filterTextFieldPlaceholder: 'Filter',
|
|
938
|
+
searchTextFieldClearButtonTitle: 'Clear search',
|
|
939
|
+
searchTextFieldPlaceholder: 'Search',
|
|
940
|
+
showHideColumnsButtonTitle: 'Show/Hide columns'
|
|
292
941
|
};
|
|
293
942
|
|
|
294
|
-
var _excluded$1 = ["
|
|
943
|
+
var _excluded$1 = ["enablePagination", "enableSorting", "enableSubRowTree", "localization", "positionPagination", "showFiltersInColumnHead", "showFooter", "showHead", "showToolbar"];
|
|
295
944
|
var MaterialReactTable = function MaterialReactTable(_ref) {
|
|
296
|
-
var _ref$
|
|
297
|
-
|
|
945
|
+
var _ref$enablePagination = _ref.enablePagination,
|
|
946
|
+
enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
|
|
947
|
+
_ref$enableSorting = _ref.enableSorting,
|
|
948
|
+
enableSorting = _ref$enableSorting === void 0 ? true : _ref$enableSorting,
|
|
949
|
+
_ref$enableSubRowTree = _ref.enableSubRowTree,
|
|
950
|
+
enableSubRowTree = _ref$enableSubRowTree === void 0 ? true : _ref$enableSubRowTree,
|
|
951
|
+
_ref$localization = _ref.localization,
|
|
952
|
+
localization = _ref$localization === void 0 ? defaultLocalization : _ref$localization,
|
|
953
|
+
_ref$positionPaginati = _ref.positionPagination,
|
|
954
|
+
positionPagination = _ref$positionPaginati === void 0 ? 'bottom' : _ref$positionPaginati,
|
|
955
|
+
_ref$showFiltersInCol = _ref.showFiltersInColumnHead,
|
|
956
|
+
showFiltersInColumnHead = _ref$showFiltersInCol === void 0 ? true : _ref$showFiltersInCol,
|
|
957
|
+
_ref$showFooter = _ref.showFooter,
|
|
958
|
+
showFooter = _ref$showFooter === void 0 ? true : _ref$showFooter,
|
|
959
|
+
_ref$showHead = _ref.showHead,
|
|
960
|
+
showHead = _ref$showHead === void 0 ? true : _ref$showHead,
|
|
961
|
+
_ref$showToolbar = _ref.showToolbar,
|
|
962
|
+
showToolbar = _ref$showToolbar === void 0 ? true : _ref$showToolbar,
|
|
298
963
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
299
964
|
|
|
300
965
|
return React.createElement(MaterialReactTableProvider, Object.assign({
|
|
301
|
-
|
|
966
|
+
enablePagination: enablePagination,
|
|
967
|
+
enableSorting: enableSorting,
|
|
968
|
+
enableSubRowTree: enableSubRowTree,
|
|
969
|
+
localization: _extends({}, defaultLocalization, localization),
|
|
970
|
+
positionPagination: positionPagination,
|
|
971
|
+
showFiltersInColumnHead: showFiltersInColumnHead,
|
|
972
|
+
showFooter: showFooter,
|
|
973
|
+
showHead: showHead,
|
|
974
|
+
showToolbar: showToolbar
|
|
302
975
|
}, rest), React.createElement(MRT_TableContainer, null));
|
|
303
976
|
};
|
|
304
977
|
|