material-react-table 0.2.0 → 0.3.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 +26 -25
- package/dist/head/MRT_TableHeadCell.d.ts +0 -1
- package/dist/index.d.ts +3 -1
- package/dist/material-react-table.cjs.development.js +147 -104
- 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 +149 -106
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/useMaterialReactTable.d.ts +3 -4
- package/dist/utils/localization.d.ts +2 -0
- package/dist/utils/overrideWarnings.d.ts +1 -1
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +48 -43
- package/src/body/MRT_TableBody.tsx +3 -3
- package/src/body/MRT_TableBodyCell.tsx +21 -9
- package/src/body/MRT_TableBodyRow.tsx +8 -6
- package/src/body/MRT_TableDetailPanel.tsx +3 -3
- package/src/buttons/MRT_ExpandAllButton.tsx +2 -2
- package/src/buttons/MRT_ExpandButton.tsx +5 -2
- package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +2 -0
- package/src/footer/MRT_TableFooter.tsx +3 -3
- package/src/footer/MRT_TableFooterCell.tsx +3 -3
- package/src/footer/MRT_TableFooterRow.tsx +9 -5
- package/src/footer/MRT_TablePagination.tsx +7 -4
- package/src/head/MRT_TableHead.tsx +5 -5
- package/src/head/MRT_TableHeadCell.tsx +22 -16
- package/src/head/MRT_TableHeadRow.tsx +7 -9
- package/src/index.tsx +6 -1
- package/src/inputs/MRT_SearchTextField.tsx +16 -7
- package/src/inputs/MRT_SelectAllCheckbox.tsx +4 -1
- package/src/inputs/MRT_SelectCheckbox.tsx +1 -1
- package/src/menus/MRT_ColumnActionMenu.tsx +43 -23
- package/src/toolbar/MRT_Toolbar.tsx +3 -3
- package/src/useMaterialReactTable.tsx +24 -11
- package/src/utils/localization.ts +5 -1
- package/src/utils/overrideWarnings.ts +12 -12
|
@@ -1,12 +1,13 @@
|
|
|
1
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';
|
|
2
|
+
import { useTable, useFlexLayout, useResizeColumns, useFilters, useGlobalFilter, useGroupBy, useSortBy, useExpanded, usePagination, useRowSelect, useAsyncDebounce } from 'react-table';
|
|
3
|
+
import { TextField as TextField$1, InputAdornment, IconButton as IconButton$1, Menu, Divider as Divider$1, 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
4
|
import CloseIcon from '@mui/icons-material/Close';
|
|
5
5
|
import FilterIcon from '@mui/icons-material/FilterList';
|
|
6
6
|
import MoreVertIcon from '@mui/icons-material/MoreVert';
|
|
7
7
|
import ClearAllIcon from '@mui/icons-material/ClearAll';
|
|
8
8
|
import SortIcon from '@mui/icons-material/Sort';
|
|
9
9
|
import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
|
|
10
|
+
import DynamicFeedIcon from '@mui/icons-material/DynamicFeed';
|
|
10
11
|
import ArrowRightIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
|
|
11
12
|
import ViewColumnIcon from '@mui/icons-material/ViewColumn';
|
|
12
13
|
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
|
|
@@ -75,48 +76,48 @@ var useMRTCalcs = function useMRTCalcs(_ref) {
|
|
|
75
76
|
};
|
|
76
77
|
};
|
|
77
78
|
|
|
78
|
-
var
|
|
79
|
-
if (props.
|
|
79
|
+
var showoverrideWarnings = function showoverrideWarnings(props) {
|
|
80
|
+
if (props.overrideTableBodyCellComponent) {
|
|
80
81
|
showWarning('TableCell', 'props');
|
|
81
82
|
}
|
|
82
83
|
|
|
83
|
-
if (props.
|
|
84
|
+
if (props.overrideTableBodyComponent) {
|
|
84
85
|
showWarning('TableBody', 'tableBodyProps');
|
|
85
86
|
}
|
|
86
87
|
|
|
87
|
-
if (props.
|
|
88
|
+
if (props.overrideTableBodyRowComponent) {
|
|
88
89
|
showWarning('TableRow', 'props');
|
|
89
90
|
}
|
|
90
91
|
|
|
91
|
-
if (props.
|
|
92
|
+
if (props.overrideTableDetailPanelComponent) {
|
|
92
93
|
showWarning('Detail Panel', 'tableDetailPanelProps');
|
|
93
94
|
}
|
|
94
95
|
|
|
95
|
-
if (props.
|
|
96
|
+
if (props.overrideTableFooterComponent) {
|
|
96
97
|
showWarning('TableFooter', 'tableFooterProps');
|
|
97
98
|
}
|
|
98
99
|
|
|
99
|
-
if (props.
|
|
100
|
+
if (props.overrideTableFooterCellComponent) {
|
|
100
101
|
showWarning('TableCell', 'props');
|
|
101
102
|
}
|
|
102
103
|
|
|
103
|
-
if (props.
|
|
104
|
+
if (props.overrideTableFooterRowComponent) {
|
|
104
105
|
showWarning('TableRow', 'props');
|
|
105
106
|
}
|
|
106
107
|
|
|
107
|
-
if (props.
|
|
108
|
+
if (props.overrideTableHeadComponent) {
|
|
108
109
|
showWarning('TableHead', 'tableHeadProps');
|
|
109
110
|
}
|
|
110
111
|
|
|
111
|
-
if (props.
|
|
112
|
+
if (props.overrideTableHeadRowComponent) {
|
|
112
113
|
showWarning('TableRow', 'props');
|
|
113
114
|
}
|
|
114
115
|
|
|
115
|
-
if (props.
|
|
116
|
+
if (props.overrideTablePaginationComponent) {
|
|
116
117
|
showWarning('', 'props');
|
|
117
118
|
}
|
|
118
119
|
|
|
119
|
-
if (props.
|
|
120
|
+
if (props.overrideTableToolbarComponent) {
|
|
120
121
|
showWarning('TableBodyCell', 'props');
|
|
121
122
|
}
|
|
122
123
|
};
|
|
@@ -125,7 +126,7 @@ var showWarning = function showWarning(componentName, propsName) {
|
|
|
125
126
|
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
|
};
|
|
127
128
|
|
|
128
|
-
var _excluded = ["children", "columns", "data", "
|
|
129
|
+
var _excluded = ["children", "columns", "data", "defaultColumn", "getRowId", "getSubRows", "initialState", "stateReducer", "surpressoverrideWarnings"];
|
|
129
130
|
|
|
130
131
|
var MaterialReactTableContext = /*#__PURE__*/function () {
|
|
131
132
|
return createContext({});
|
|
@@ -135,27 +136,34 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(_ref) {
|
|
|
135
136
|
var children = _ref.children,
|
|
136
137
|
columns = _ref.columns,
|
|
137
138
|
data = _ref.data,
|
|
138
|
-
|
|
139
|
+
defaultColumn = _ref.defaultColumn,
|
|
140
|
+
getRowId = _ref.getRowId,
|
|
141
|
+
getSubRows = _ref.getSubRows,
|
|
142
|
+
initialState = _ref.initialState,
|
|
143
|
+
stateReducer = _ref.stateReducer,
|
|
144
|
+
surpressoverrideWarnings = _ref.surpressoverrideWarnings,
|
|
139
145
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
140
146
|
|
|
141
147
|
var tableInstance = useTable({
|
|
142
148
|
columns: columns,
|
|
143
|
-
data: data
|
|
144
|
-
|
|
149
|
+
data: data,
|
|
150
|
+
defaultColumn: defaultColumn,
|
|
151
|
+
getRowId: getRowId,
|
|
152
|
+
getSubRows: getSubRows,
|
|
153
|
+
initialState: initialState,
|
|
154
|
+
stateReducer: stateReducer
|
|
155
|
+
}, useFlexLayout, useResizeColumns, useFilters, useGlobalFilter, useGroupBy, useSortBy, useExpanded, usePagination, useRowSelect);
|
|
145
156
|
var mrtCalcs = useMRTCalcs({
|
|
146
157
|
tableInstance: tableInstance
|
|
147
158
|
});
|
|
148
159
|
|
|
149
|
-
if (process.env.NODE_ENV !== 'production' && !
|
|
150
|
-
|
|
160
|
+
if (process.env.NODE_ENV !== 'production' && !surpressoverrideWarnings) {
|
|
161
|
+
showoverrideWarnings(rest);
|
|
151
162
|
}
|
|
152
163
|
|
|
153
|
-
return React.createElement(MaterialReactTableContext.Provider
|
|
154
|
-
, {
|
|
155
|
-
//@ts-ignore
|
|
164
|
+
return React.createElement(MaterialReactTableContext.Provider, {
|
|
156
165
|
value: _extends({
|
|
157
|
-
|
|
158
|
-
data: data,
|
|
166
|
+
//@ts-ignore
|
|
159
167
|
tableInstance: tableInstance
|
|
160
168
|
}, mrtCalcs, rest)
|
|
161
169
|
}, children);
|
|
@@ -227,6 +235,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
227
235
|
|
|
228
236
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
229
237
|
enableColumnHiding = _useMaterialReactTabl.enableColumnHiding,
|
|
238
|
+
enableColumnGrouping = _useMaterialReactTabl.enableColumnGrouping,
|
|
230
239
|
enableSorting = _useMaterialReactTabl.enableSorting,
|
|
231
240
|
localization = _useMaterialReactTabl.localization;
|
|
232
241
|
|
|
@@ -250,34 +259,52 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
250
259
|
setAnchorEl(null);
|
|
251
260
|
};
|
|
252
261
|
|
|
262
|
+
var handleGroupByColumn = function handleGroupByColumn() {
|
|
263
|
+
column.toggleGroupBy();
|
|
264
|
+
setAnchorEl(null);
|
|
265
|
+
};
|
|
266
|
+
|
|
253
267
|
return React.createElement(Menu, {
|
|
254
268
|
anchorEl: anchorEl,
|
|
255
269
|
open: !!anchorEl,
|
|
256
270
|
onClose: function onClose() {
|
|
257
271
|
return setAnchorEl(null);
|
|
258
272
|
}
|
|
259
|
-
}, enableSorting && React.createElement(
|
|
273
|
+
}, enableSorting && [React.createElement(MenuItem, {
|
|
274
|
+
key: 1,
|
|
260
275
|
disabled: !column.isSorted,
|
|
261
276
|
onClick: handleClearSort
|
|
262
277
|
}, React.createElement(ClearAllIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemClearSort), React.createElement(MenuItem, {
|
|
278
|
+
key: 2,
|
|
263
279
|
disabled: column.isSorted && !column.isSortedDesc,
|
|
264
280
|
onClick: handleSortAsc
|
|
265
281
|
}, React.createElement(SortIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemSortAsc), React.createElement(MenuItem, {
|
|
282
|
+
key: 3,
|
|
266
283
|
disabled: column.isSorted && column.isSortedDesc,
|
|
267
284
|
onClick: handleSortDesc
|
|
268
285
|
}, React.createElement(SortIcon, {
|
|
269
286
|
style: {
|
|
270
287
|
transform: 'rotate(180deg) scaleX(-1)'
|
|
271
288
|
}
|
|
272
|
-
}), ' ', localization == null ? void 0 : localization.columnActionMenuItemSortDesc), React.createElement(Divider,
|
|
289
|
+
}), ' ', localization == null ? void 0 : localization.columnActionMenuItemSortDesc), React.createElement(Divider$1, {
|
|
290
|
+
key: 4
|
|
291
|
+
})], enableColumnHiding && React.createElement(MenuItem, {
|
|
273
292
|
onClick: handleHideColumn
|
|
274
|
-
}, React.createElement(VisibilityOffIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemHideColumn)
|
|
293
|
+
}, React.createElement(VisibilityOffIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemHideColumn), enableColumnGrouping && column.canGroupBy && React.createElement(MenuItem, {
|
|
294
|
+
disabled: column.isGrouped,
|
|
295
|
+
onClick: handleGroupByColumn
|
|
296
|
+
}, React.createElement(DynamicFeedIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemGroupBy), enableColumnGrouping && column.canGroupBy && React.createElement(MenuItem, {
|
|
297
|
+
disabled: !column.isGrouped,
|
|
298
|
+
onClick: handleGroupByColumn
|
|
299
|
+
}, React.createElement(DynamicFeedIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemUnGroupBy));
|
|
275
300
|
};
|
|
276
301
|
|
|
277
302
|
var IconButton = /*#__PURE__*/styled(IconButton$1)({
|
|
278
303
|
opacity: 0.2,
|
|
279
304
|
transition: 'opacity 0.2s',
|
|
280
305
|
marginRight: '2px',
|
|
306
|
+
height: '2rem',
|
|
307
|
+
width: '2rem',
|
|
281
308
|
'&:hover': {
|
|
282
309
|
opacity: 1
|
|
283
310
|
}
|
|
@@ -319,51 +346,52 @@ var TableCellContents = /*#__PURE__*/styled('div')({
|
|
|
319
346
|
var TableCellText = /*#__PURE__*/styled('div')({
|
|
320
347
|
width: '100%',
|
|
321
348
|
display: 'flex',
|
|
322
|
-
alignItems: 'center',
|
|
323
349
|
justifyContent: 'space-between'
|
|
324
350
|
});
|
|
351
|
+
var CellFlexItem = /*#__PURE__*/styled('span')({
|
|
352
|
+
display: 'flex',
|
|
353
|
+
flexWrap: 'nowrap'
|
|
354
|
+
});
|
|
355
|
+
var Divider = /*#__PURE__*/styled(Divider$1)({
|
|
356
|
+
borderRightWidth: '2px',
|
|
357
|
+
borderRadius: '2px',
|
|
358
|
+
maxHeight: '2rem'
|
|
359
|
+
});
|
|
325
360
|
var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
326
361
|
var _column$columns$lengt, _column$columns;
|
|
327
362
|
|
|
328
|
-
var column = _ref.column
|
|
329
|
-
index = _ref.index;
|
|
363
|
+
var column = _ref.column;
|
|
330
364
|
|
|
331
365
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
332
|
-
|
|
366
|
+
overrideTableHeadCellComponent = _useMaterialReactTabl.overrideTableHeadCellComponent,
|
|
333
367
|
enableColumnActions = _useMaterialReactTabl.enableColumnActions,
|
|
334
368
|
enableColumnResizing = _useMaterialReactTabl.enableColumnResizing,
|
|
335
369
|
enableFiltering = _useMaterialReactTabl.enableFiltering,
|
|
336
370
|
showFiltersInColumnHead = _useMaterialReactTabl.showFiltersInColumnHead,
|
|
337
371
|
tableInstance = _useMaterialReactTabl.tableInstance;
|
|
338
372
|
|
|
339
|
-
if (
|
|
340
|
-
return React.createElement(React.Fragment, null,
|
|
373
|
+
if (overrideTableHeadCellComponent) {
|
|
374
|
+
return React.createElement(React.Fragment, null, overrideTableHeadCellComponent(column, tableInstance));
|
|
341
375
|
}
|
|
342
376
|
|
|
343
377
|
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;
|
|
344
|
-
var isLastColumn = !isParentHeader && index === tableInstance.visibleColumns.length - 1 || isParentHeader && index === column.headers.length - 1;
|
|
345
378
|
return React.createElement(TableCell, Object.assign({
|
|
346
379
|
align: isParentHeader ? 'center' : 'left'
|
|
347
380
|
}, column.getHeaderProps()), React.createElement(TableCellContents, null, React.createElement(TableCellText, {
|
|
348
381
|
style: {
|
|
349
382
|
justifyContent: isParentHeader ? 'center' : undefined
|
|
350
383
|
}
|
|
351
|
-
}, React.createElement(
|
|
384
|
+
}, React.createElement(CellFlexItem, Object.assign({}, column.getSortByToggleProps()), column.render('Header'), !isParentHeader && column.canSort && React.createElement(TableSortLabel, {
|
|
352
385
|
active: column.isSorted,
|
|
353
|
-
direction: column.isSortedDesc ? 'desc' : 'asc'
|
|
354
|
-
})), React.createElement("span", {
|
|
386
|
+
direction: column.isSortedDesc ? 'desc' : 'asc',
|
|
355
387
|
style: {
|
|
356
|
-
|
|
388
|
+
margin: 0
|
|
357
389
|
}
|
|
358
|
-
}, enableColumnActions && !isParentHeader && React.createElement(MRT_ToggleColumnActionMenuButton, {
|
|
390
|
+
})), React.createElement(CellFlexItem, null, enableColumnActions && !isParentHeader && React.createElement(MRT_ToggleColumnActionMenuButton, {
|
|
359
391
|
column: column
|
|
360
|
-
}), enableColumnResizing && !
|
|
392
|
+
}), enableColumnResizing && !isParentHeader && React.createElement(Divider, Object.assign({
|
|
361
393
|
flexItem: true,
|
|
362
394
|
orientation: "vertical",
|
|
363
|
-
style: {
|
|
364
|
-
borderRightWidth: '2px',
|
|
365
|
-
borderRadius: '2px'
|
|
366
|
-
},
|
|
367
395
|
onDoubleClick: function onDoubleClick() {
|
|
368
396
|
return tableInstance.resetResizing();
|
|
369
397
|
}
|
|
@@ -386,7 +414,7 @@ var MRT_SelectAllCheckbox = function MRT_SelectAllCheckbox() {
|
|
|
386
414
|
},
|
|
387
415
|
variant: "head"
|
|
388
416
|
}, enableSelectAll ? React.createElement(Checkbox, Object.assign({
|
|
389
|
-
"aria-label":
|
|
417
|
+
"aria-label": ""
|
|
390
418
|
}, tableInstance.getToggleAllPageRowsSelectedProps())) : null);
|
|
391
419
|
};
|
|
392
420
|
|
|
@@ -394,7 +422,8 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton() {
|
|
|
394
422
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
395
423
|
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
396
424
|
localization = _useMaterialReactTabl.localization,
|
|
397
|
-
anyRowsExpanded = _useMaterialReactTabl.anyRowsExpanded
|
|
425
|
+
anyRowsExpanded = _useMaterialReactTabl.anyRowsExpanded,
|
|
426
|
+
renderDetailPanel = _useMaterialReactTabl.renderDetailPanel;
|
|
398
427
|
|
|
399
428
|
return React.createElement(TableCell$2, Object.assign({
|
|
400
429
|
size: "small"
|
|
@@ -402,7 +431,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton() {
|
|
|
402
431
|
style: {
|
|
403
432
|
padding: '0.5rem',
|
|
404
433
|
paddingRight: '0',
|
|
405
|
-
width: tableInstance.expandedDepth + 2 + "rem"
|
|
434
|
+
width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 2) + "rem"
|
|
406
435
|
}
|
|
407
436
|
}), React.createElement(IconButton$1, {
|
|
408
437
|
"aria-label": localization == null ? void 0 : localization.expandAllButtonTitle,
|
|
@@ -498,7 +527,7 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
|
|
498
527
|
var headerGroup = _ref.headerGroup;
|
|
499
528
|
|
|
500
529
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
501
|
-
|
|
530
|
+
overrideTableHeadRowComponent = _useMaterialReactTabl.overrideTableHeadRowComponent,
|
|
502
531
|
anyRowsCanExpand = _useMaterialReactTabl.anyRowsCanExpand,
|
|
503
532
|
enableColumnHiding = _useMaterialReactTabl.enableColumnHiding,
|
|
504
533
|
enableExpandAll = _useMaterialReactTabl.enableExpandAll,
|
|
@@ -506,8 +535,8 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
|
|
506
535
|
renderDetailPanel = _useMaterialReactTabl.renderDetailPanel,
|
|
507
536
|
tableInstance = _useMaterialReactTabl.tableInstance;
|
|
508
537
|
|
|
509
|
-
if (
|
|
510
|
-
return React.createElement(React.Fragment, null,
|
|
538
|
+
if (overrideTableHeadRowComponent) {
|
|
539
|
+
return React.createElement(React.Fragment, null, overrideTableHeadRowComponent(headerGroup, tableInstance));
|
|
511
540
|
}
|
|
512
541
|
|
|
513
542
|
var isParentHeader = useMemo(function () {
|
|
@@ -518,14 +547,13 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
|
|
518
547
|
});
|
|
519
548
|
}, [headerGroup.headers]);
|
|
520
549
|
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"
|
|
550
|
+
width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
|
|
522
551
|
}) : null, enableSelection ? !isParentHeader ? React.createElement(MRT_SelectAllCheckbox, null) : React.createElement(MRT_TableSpacerCell, {
|
|
523
552
|
width: "1rem"
|
|
524
553
|
}) : null, headerGroup.headers.map(function (column, index) {
|
|
525
554
|
return React.createElement(MRT_TableHeadCell, {
|
|
526
555
|
key: index + "-" + column.id,
|
|
527
|
-
column: column
|
|
528
|
-
index: index
|
|
556
|
+
column: column
|
|
529
557
|
});
|
|
530
558
|
}), enableColumnHiding && !isParentHeader && React.createElement(MRT_ShowHideColumnsButton, null));
|
|
531
559
|
};
|
|
@@ -534,15 +562,15 @@ var MRT_TablePagination = function MRT_TablePagination() {
|
|
|
534
562
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
535
563
|
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
536
564
|
tablePaginationProps = _useMaterialReactTabl.tablePaginationProps,
|
|
537
|
-
|
|
565
|
+
overrideTablePaginationComponent = _useMaterialReactTabl.overrideTablePaginationComponent;
|
|
538
566
|
|
|
539
567
|
var handleChangeRowsPerPage = function handleChangeRowsPerPage(event) {
|
|
540
568
|
tableInstance.setPageSize(+event.target.value);
|
|
541
569
|
tableInstance.gotoPage(0);
|
|
542
570
|
};
|
|
543
571
|
|
|
544
|
-
if (
|
|
545
|
-
return React.createElement(React.Fragment, null,
|
|
572
|
+
if (overrideTablePaginationComponent) {
|
|
573
|
+
return React.createElement(React.Fragment, null, overrideTablePaginationComponent(tableInstance));
|
|
546
574
|
}
|
|
547
575
|
|
|
548
576
|
return React.createElement(TableRow, null, React.createElement(TablePagination, Object.assign({
|
|
@@ -561,18 +589,18 @@ var MRT_TablePagination = function MRT_TablePagination() {
|
|
|
561
589
|
|
|
562
590
|
var MRT_TableHead = function MRT_TableHead() {
|
|
563
591
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
564
|
-
|
|
592
|
+
overrideTableHeadComponent = _useMaterialReactTabl.overrideTableHeadComponent,
|
|
565
593
|
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
566
594
|
tableHeadProps = _useMaterialReactTabl.tableHeadProps,
|
|
567
595
|
enablePagination = _useMaterialReactTabl.enablePagination,
|
|
568
|
-
|
|
596
|
+
isFetching = _useMaterialReactTabl.isFetching,
|
|
569
597
|
positionPagination = _useMaterialReactTabl.positionPagination;
|
|
570
598
|
|
|
571
|
-
if (
|
|
572
|
-
return React.createElement(React.Fragment, null,
|
|
599
|
+
if (overrideTableHeadComponent) {
|
|
600
|
+
return React.createElement(React.Fragment, null, overrideTableHeadComponent(tableInstance));
|
|
573
601
|
}
|
|
574
602
|
|
|
575
|
-
return React.createElement(TableHead, Object.assign({}, tableHeadProps),
|
|
603
|
+
return React.createElement(TableHead, Object.assign({}, tableHeadProps), isFetching && React.createElement(LinearProgress, null), enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, null), tableInstance.headerGroups.map(function (headerGroup, index) {
|
|
576
604
|
return React.createElement(MRT_TableHeadRow, {
|
|
577
605
|
key: index + "-" + headerGroup.id,
|
|
578
606
|
headerGroup: headerGroup
|
|
@@ -585,15 +613,19 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
585
613
|
|
|
586
614
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
587
615
|
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
588
|
-
|
|
616
|
+
overrideTableBodyCellComponent = _useMaterialReactTabl.overrideTableBodyCellComponent,
|
|
617
|
+
onCellClick = _useMaterialReactTabl.onCellClick;
|
|
589
618
|
|
|
590
|
-
if (
|
|
591
|
-
return React.createElement(React.Fragment, null,
|
|
619
|
+
if (overrideTableBodyCellComponent) {
|
|
620
|
+
return React.createElement(React.Fragment, null, overrideTableBodyCellComponent(cell, tableInstance));
|
|
592
621
|
}
|
|
593
622
|
|
|
594
623
|
return React.createElement(TableCell$2, Object.assign({
|
|
624
|
+
onClick: function onClick(event) {
|
|
625
|
+
return onCellClick == null ? void 0 : onCellClick(event, cell);
|
|
626
|
+
},
|
|
595
627
|
variant: "body"
|
|
596
|
-
}, cell.getCellProps()), cell.render('Cell'));
|
|
628
|
+
}, cell.getCellProps()), cell.isPlaceholder ? null : cell.isAggregated ? cell.render('Aggregated') : cell.isGrouped ? React.createElement("span", null, cell.render('Cell'), " (", cell.row.subRows.length, ")") : cell.render('Cell'));
|
|
597
629
|
};
|
|
598
630
|
|
|
599
631
|
var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
|
|
@@ -602,11 +634,11 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
|
|
|
602
634
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
603
635
|
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
604
636
|
renderDetailPanel = _useMaterialReactTabl.renderDetailPanel,
|
|
605
|
-
|
|
637
|
+
overrideTableDetailPanelComponent = _useMaterialReactTabl.overrideTableDetailPanelComponent,
|
|
606
638
|
tableDetailPanelProps = _useMaterialReactTabl.tableDetailPanelProps;
|
|
607
639
|
|
|
608
|
-
if (
|
|
609
|
-
return React.createElement(React.Fragment, null,
|
|
640
|
+
if (overrideTableDetailPanelComponent) {
|
|
641
|
+
return React.createElement(React.Fragment, null, overrideTableDetailPanelComponent(row, tableInstance));
|
|
610
642
|
}
|
|
611
643
|
|
|
612
644
|
return React.createElement(TableRow, Object.assign({}, row.getToggleRowExpandedProps()), React.createElement(TableCell$2, Object.assign({
|
|
@@ -627,7 +659,8 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
|
|
|
627
659
|
|
|
628
660
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
629
661
|
localization = _useMaterialReactTabl.localization,
|
|
630
|
-
tableInstance = _useMaterialReactTabl.tableInstance
|
|
662
|
+
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
663
|
+
renderDetailPanel = _useMaterialReactTabl.renderDetailPanel;
|
|
631
664
|
|
|
632
665
|
return React.createElement(TableCell$2, Object.assign({
|
|
633
666
|
size: "small"
|
|
@@ -636,7 +669,7 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
|
|
|
636
669
|
padding: '0.5rem',
|
|
637
670
|
paddingRight: '0',
|
|
638
671
|
paddingLeft: row.depth + 0.5 + "rem",
|
|
639
|
-
width: tableInstance.expandedDepth - row.depth + 2 + "rem"
|
|
672
|
+
width: (renderDetailPanel ? 2 : tableInstance.expandedDepth - row.depth + 2) + "rem"
|
|
640
673
|
}
|
|
641
674
|
}), React.createElement(IconButton$1, {
|
|
642
675
|
"aria-label": localization == null ? void 0 : localization.expandButtonTitle,
|
|
@@ -661,7 +694,7 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
|
|
|
661
694
|
var _row$getToggleRowSele;
|
|
662
695
|
|
|
663
696
|
(_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
|
|
697
|
+
onRowSelectChange == null ? void 0 : onRowSelectChange(event, row, tableInstance.selectedFlatRows);
|
|
665
698
|
};
|
|
666
699
|
|
|
667
700
|
return React.createElement(TableCell$2, {
|
|
@@ -678,7 +711,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
|
678
711
|
var row = _ref.row;
|
|
679
712
|
|
|
680
713
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
681
|
-
|
|
714
|
+
overrideTableBodyRowComponent = _useMaterialReactTabl.overrideTableBodyRowComponent,
|
|
682
715
|
anyRowsCanExpand = _useMaterialReactTabl.anyRowsCanExpand,
|
|
683
716
|
enableSelection = _useMaterialReactTabl.enableSelection,
|
|
684
717
|
enableSubRowTree = _useMaterialReactTabl.enableSubRowTree,
|
|
@@ -687,8 +720,8 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
|
687
720
|
renderDetailPanel = _useMaterialReactTabl.renderDetailPanel,
|
|
688
721
|
tableInstance = _useMaterialReactTabl.tableInstance;
|
|
689
722
|
|
|
690
|
-
if (
|
|
691
|
-
return React.createElement(React.Fragment, null,
|
|
723
|
+
if (overrideTableBodyRowComponent) {
|
|
724
|
+
return React.createElement(React.Fragment, null, overrideTableBodyRowComponent(row, tableInstance));
|
|
692
725
|
}
|
|
693
726
|
|
|
694
727
|
return React.createElement(React.Fragment, null, React.createElement(TableRow, Object.assign({
|
|
@@ -697,10 +730,8 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
|
697
730
|
}
|
|
698
731
|
}, row.getRowProps()), (enableSubRowTree && anyRowsCanExpand || renderDetailPanel) && (row.canExpand || renderDetailPanel ? React.createElement(MRT_ExpandButton, {
|
|
699
732
|
row: row
|
|
700
|
-
}) : React.createElement(
|
|
701
|
-
|
|
702
|
-
width: tableInstance.expandedDepth + 0.5 + "rem"
|
|
703
|
-
}
|
|
733
|
+
}) : React.createElement(MRT_TableSpacerCell, {
|
|
734
|
+
width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
|
|
704
735
|
})), enableSelection && React.createElement(MRT_SelectCheckbox, {
|
|
705
736
|
row: row
|
|
706
737
|
}), row.cells.map(function (cell, index) {
|
|
@@ -732,10 +763,10 @@ var MRT_TableBody = function MRT_TableBody() {
|
|
|
732
763
|
tableBodyProps = _useMaterialReactTabl.tableBodyProps,
|
|
733
764
|
isLoading = _useMaterialReactTabl.isLoading,
|
|
734
765
|
enablePagination = _useMaterialReactTabl.enablePagination,
|
|
735
|
-
|
|
766
|
+
overrideTableBodyComponent = _useMaterialReactTabl.overrideTableBodyComponent;
|
|
736
767
|
|
|
737
|
-
if (
|
|
738
|
-
return React.createElement(React.Fragment, null,
|
|
768
|
+
if (overrideTableBodyComponent) {
|
|
769
|
+
return React.createElement(React.Fragment, null, overrideTableBodyComponent(tableInstance));
|
|
739
770
|
}
|
|
740
771
|
|
|
741
772
|
var rows = enablePagination ? tableInstance.page : tableInstance.rows;
|
|
@@ -758,10 +789,10 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
|
758
789
|
|
|
759
790
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
760
791
|
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
761
|
-
|
|
792
|
+
overrideTableFooterCellComponent = _useMaterialReactTabl.overrideTableFooterCellComponent;
|
|
762
793
|
|
|
763
|
-
if (
|
|
764
|
-
return React.createElement(React.Fragment, null,
|
|
794
|
+
if (overrideTableFooterCellComponent) {
|
|
795
|
+
return React.createElement(React.Fragment, null, overrideTableFooterCellComponent(column, tableInstance));
|
|
765
796
|
}
|
|
766
797
|
|
|
767
798
|
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;
|
|
@@ -781,20 +812,20 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
|
|
|
781
812
|
enableColumnHiding = _useMaterialReactTabl.enableColumnHiding,
|
|
782
813
|
enableSelection = _useMaterialReactTabl.enableSelection,
|
|
783
814
|
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
784
|
-
|
|
815
|
+
overrideTableFooterRowComponent = _useMaterialReactTabl.overrideTableFooterRowComponent; //if no content in row, skip row
|
|
785
816
|
|
|
786
817
|
|
|
787
|
-
if (!columns.some(function (c) {
|
|
818
|
+
if (!(columns != null && columns.some(function (c) {
|
|
788
819
|
return c.Footer;
|
|
789
|
-
})) return null;
|
|
820
|
+
}))) return null;
|
|
790
821
|
|
|
791
|
-
if (
|
|
792
|
-
return React.createElement(React.Fragment, null,
|
|
822
|
+
if (overrideTableFooterRowComponent) {
|
|
823
|
+
return React.createElement(React.Fragment, null, overrideTableFooterRowComponent(footerGroup, tableInstance));
|
|
793
824
|
}
|
|
794
825
|
|
|
795
826
|
return React.createElement(TableRow, Object.assign({}, footerGroup.getFooterGroupProps()), (anyRowsCanExpand || renderDetailPanel) && React.createElement(TableCell$2, {
|
|
796
827
|
style: {
|
|
797
|
-
width: tableInstance.expandedDepth + 0.5 + "rem"
|
|
828
|
+
width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
|
|
798
829
|
}
|
|
799
830
|
}), enableSelection && React.createElement(MRT_TableSpacerCell, {
|
|
800
831
|
width: "1rem"
|
|
@@ -808,14 +839,14 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
|
|
|
808
839
|
|
|
809
840
|
var MRT_TableFooter = function MRT_TableFooter() {
|
|
810
841
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
811
|
-
|
|
842
|
+
overrideTableFooterComponent = _useMaterialReactTabl.overrideTableFooterComponent,
|
|
812
843
|
enablePagination = _useMaterialReactTabl.enablePagination,
|
|
813
844
|
positionPagination = _useMaterialReactTabl.positionPagination,
|
|
814
845
|
tableFooterProps = _useMaterialReactTabl.tableFooterProps,
|
|
815
846
|
tableInstance = _useMaterialReactTabl.tableInstance;
|
|
816
847
|
|
|
817
|
-
if (
|
|
818
|
-
return React.createElement(React.Fragment, null,
|
|
848
|
+
if (overrideTableFooterComponent) {
|
|
849
|
+
return React.createElement(React.Fragment, null, overrideTableFooterComponent(tableInstance));
|
|
819
850
|
}
|
|
820
851
|
|
|
821
852
|
return React.createElement(TableFooter, Object.assign({}, tableFooterProps), tableInstance.footerGroups.map(function (footerGroup, index) {
|
|
@@ -843,14 +874,18 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
|
|
|
843
874
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
844
875
|
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
845
876
|
tableSearchTextfieldProps = _useMaterialReactTabl.tableSearchTextfieldProps,
|
|
846
|
-
localization = _useMaterialReactTabl.localization
|
|
877
|
+
localization = _useMaterialReactTabl.localization,
|
|
878
|
+
onSearchChange = _useMaterialReactTabl.onSearchChange;
|
|
847
879
|
|
|
848
880
|
var _useState = useState(''),
|
|
849
881
|
searchValue = _useState[0],
|
|
850
882
|
setSearchValue = _useState[1];
|
|
851
883
|
|
|
852
|
-
var handleChange = useAsyncDebounce(function (
|
|
853
|
-
|
|
884
|
+
var handleChange = useAsyncDebounce(function (event) {
|
|
885
|
+
var _event$target$value;
|
|
886
|
+
|
|
887
|
+
tableInstance.setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
|
|
888
|
+
onSearchChange == null ? void 0 : onSearchChange(event);
|
|
854
889
|
}, 200);
|
|
855
890
|
|
|
856
891
|
var handleClear = function handleClear() {
|
|
@@ -860,9 +895,9 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
|
|
|
860
895
|
|
|
861
896
|
return React.createElement(TextField, Object.assign({
|
|
862
897
|
placeholder: localization == null ? void 0 : localization.searchTextFieldPlaceholder,
|
|
863
|
-
onChange: function onChange(
|
|
864
|
-
setSearchValue(
|
|
865
|
-
handleChange(
|
|
898
|
+
onChange: function onChange(event) {
|
|
899
|
+
setSearchValue(event.target.value);
|
|
900
|
+
handleChange(event);
|
|
866
901
|
},
|
|
867
902
|
value: searchValue != null ? searchValue : '',
|
|
868
903
|
variant: "standard",
|
|
@@ -894,15 +929,15 @@ var Toolbar = /*#__PURE__*/styled(Toolbar$1)({
|
|
|
894
929
|
});
|
|
895
930
|
var MRT_Toolbar = function MRT_Toolbar() {
|
|
896
931
|
var _useMaterialReactTabl = useMaterialReactTable(),
|
|
897
|
-
|
|
932
|
+
overrideTableToolbarComponent = _useMaterialReactTabl.overrideTableToolbarComponent,
|
|
898
933
|
enableSearch = _useMaterialReactTabl.enableSearch,
|
|
899
934
|
tableInstance = _useMaterialReactTabl.tableInstance,
|
|
900
935
|
tableTitleProps = _useMaterialReactTabl.tableTitleProps,
|
|
901
936
|
tableToolbarProps = _useMaterialReactTabl.tableToolbarProps,
|
|
902
937
|
title = _useMaterialReactTabl.title;
|
|
903
938
|
|
|
904
|
-
if (
|
|
905
|
-
return React.createElement(React.Fragment, null,
|
|
939
|
+
if (overrideTableToolbarComponent) {
|
|
940
|
+
return React.createElement(React.Fragment, null, overrideTableToolbarComponent(tableInstance));
|
|
906
941
|
} //if no features in the toolbar are enabled, don't render anything
|
|
907
942
|
|
|
908
943
|
|
|
@@ -931,6 +966,8 @@ var defaultLocalization = {
|
|
|
931
966
|
columnActionMenuItemSortAsc: 'Sort ascending',
|
|
932
967
|
columnActionMenuItemClearSort: 'Clear sorting',
|
|
933
968
|
columnActionMenuItemSortDesc: 'Sort descending',
|
|
969
|
+
columnActionMenuItemGroupBy: 'Group by column',
|
|
970
|
+
columnActionMenuItemUnGroupBy: 'Ungroup column',
|
|
934
971
|
expandAllButtonTitle: 'Expand all',
|
|
935
972
|
expandButtonTitle: 'Expand',
|
|
936
973
|
filterTextFieldClearButtonTitle: 'Clear filter',
|
|
@@ -940,9 +977,14 @@ var defaultLocalization = {
|
|
|
940
977
|
showHideColumnsButtonTitle: 'Show/Hide columns'
|
|
941
978
|
};
|
|
942
979
|
|
|
943
|
-
var _excluded$1 = ["enablePagination", "enableSorting", "enableSubRowTree", "localization", "positionPagination", "showFiltersInColumnHead", "showFooter", "showHead", "showToolbar"];
|
|
980
|
+
var _excluded$1 = ["defaultColumn", "enablePagination", "enableSorting", "enableSubRowTree", "localization", "positionPagination", "showFiltersInColumnHead", "showFooter", "showHead", "showToolbar"];
|
|
944
981
|
var MaterialReactTable = function MaterialReactTable(_ref) {
|
|
945
|
-
var _ref$
|
|
982
|
+
var _ref$defaultColumn = _ref.defaultColumn,
|
|
983
|
+
defaultColumn = _ref$defaultColumn === void 0 ? {
|
|
984
|
+
minWidth: 50,
|
|
985
|
+
maxWidth: 1000
|
|
986
|
+
} : _ref$defaultColumn,
|
|
987
|
+
_ref$enablePagination = _ref.enablePagination,
|
|
946
988
|
enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
|
|
947
989
|
_ref$enableSorting = _ref.enableSorting,
|
|
948
990
|
enableSorting = _ref$enableSorting === void 0 ? true : _ref$enableSorting,
|
|
@@ -963,6 +1005,7 @@ var MaterialReactTable = function MaterialReactTable(_ref) {
|
|
|
963
1005
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
964
1006
|
|
|
965
1007
|
return React.createElement(MaterialReactTableProvider, Object.assign({
|
|
1008
|
+
defaultColumn: defaultColumn,
|
|
966
1009
|
enablePagination: enablePagination,
|
|
967
1010
|
enableSorting: enableSorting,
|
|
968
1011
|
enableSubRowTree: enableSubRowTree,
|
|
@@ -975,5 +1018,5 @@ var MaterialReactTable = function MaterialReactTable(_ref) {
|
|
|
975
1018
|
}, rest), React.createElement(MRT_TableContainer, null));
|
|
976
1019
|
};
|
|
977
1020
|
|
|
978
|
-
export
|
|
1021
|
+
export default MaterialReactTable;
|
|
979
1022
|
//# sourceMappingURL=material-react-table.esm.js.map
|