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