material-react-table 0.5.4 → 0.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/MaterialReactTable.d.ts +3 -1
- package/dist/icons.d.ts +3 -0
- package/dist/localization.d.ts +4 -0
- package/dist/material-react-table.cjs.development.js +243 -158
- 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 +244 -159
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/menus/MRT_ColumnActionMenu.d.ts +4 -0
- package/dist/menus/{MRT_FilterMenu.d.ts → MRT_FilterTypeMenu.d.ts} +1 -1
- package/package.json +6 -7
- package/src/MaterialReactTable.tsx +8 -0
- package/src/body/MRT_TableBodyCell.tsx +12 -3
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +9 -3
- package/src/footer/MRT_TableFooterCell.tsx +1 -1
- package/src/head/MRT_TableHeadCell.tsx +47 -1
- package/src/{icons.tsx → icons.ts} +9 -0
- package/src/inputs/MRT_FilterTextField.tsx +11 -7
- package/src/localization.ts +11 -3
- package/src/menus/MRT_ColumnActionMenu.tsx +122 -98
- package/src/menus/{MRT_FilterMenu.tsx → MRT_FilterTypeMenu.tsx} +12 -9
- package/src/menus/MRT_RowActionMenu.tsx +14 -3
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +1 -1
- package/src/table/MRT_TableContainer.tsx +7 -1
|
@@ -20,6 +20,8 @@ var DynamicFeedIcon = _interopDefault(require('@mui/icons-material/DynamicFeed')
|
|
|
20
20
|
var EditIcon = _interopDefault(require('@mui/icons-material/Edit'));
|
|
21
21
|
var ExpandLessIcon = _interopDefault(require('@mui/icons-material/ExpandLess'));
|
|
22
22
|
var ExpandMoreIcon = _interopDefault(require('@mui/icons-material/ExpandMore'));
|
|
23
|
+
var FilterAltIcon = _interopDefault(require('@mui/icons-material/FilterAlt'));
|
|
24
|
+
var FilterAltOff = _interopDefault(require('@mui/icons-material/FilterAltOff'));
|
|
23
25
|
var FilterListIcon = _interopDefault(require('@mui/icons-material/FilterList'));
|
|
24
26
|
var FilterListOffIcon = _interopDefault(require('@mui/icons-material/FilterListOff'));
|
|
25
27
|
var FullscreenExitIcon = _interopDefault(require('@mui/icons-material/FullscreenExit'));
|
|
@@ -303,7 +305,152 @@ var useMRT = function useMRT() {
|
|
|
303
305
|
return React.useContext(MaterialReactTableContext);
|
|
304
306
|
};
|
|
305
307
|
|
|
306
|
-
var
|
|
308
|
+
var commonMenuItemStyles = {
|
|
309
|
+
py: '0 !important',
|
|
310
|
+
my: '0 !important'
|
|
311
|
+
};
|
|
312
|
+
var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
313
|
+
var _localization$columnA, _localization$columnA2, _localization$filterT, _localization, _localization$columnA3;
|
|
314
|
+
|
|
315
|
+
var anchorEl = _ref.anchorEl,
|
|
316
|
+
column = _ref.column,
|
|
317
|
+
setAnchorEl = _ref.setAnchorEl;
|
|
318
|
+
|
|
319
|
+
var _useMRT = useMRT(),
|
|
320
|
+
disableColumnHiding = _useMRT.disableColumnHiding,
|
|
321
|
+
disableFilters = _useMRT.disableFilters,
|
|
322
|
+
disableSortBy = _useMRT.disableSortBy,
|
|
323
|
+
enableColumnGrouping = _useMRT.enableColumnGrouping,
|
|
324
|
+
_useMRT$icons = _useMRT.icons,
|
|
325
|
+
ArrowRightIcon = _useMRT$icons.ArrowRightIcon,
|
|
326
|
+
ClearAllIcon = _useMRT$icons.ClearAllIcon,
|
|
327
|
+
DynamicFeedIcon = _useMRT$icons.DynamicFeedIcon,
|
|
328
|
+
FilterListIcon = _useMRT$icons.FilterListIcon,
|
|
329
|
+
SortIcon = _useMRT$icons.SortIcon,
|
|
330
|
+
VisibilityOffIcon = _useMRT$icons.VisibilityOffIcon,
|
|
331
|
+
idPrefix = _useMRT.idPrefix,
|
|
332
|
+
localization = _useMRT.localization,
|
|
333
|
+
setShowFilters = _useMRT.setShowFilters,
|
|
334
|
+
tableInstance = _useMRT.tableInstance;
|
|
335
|
+
|
|
336
|
+
var _useState = React.useState(null),
|
|
337
|
+
filterMenuAnchorEl = _useState[0],
|
|
338
|
+
setFilterMenuAnchorEl = _useState[1];
|
|
339
|
+
|
|
340
|
+
var handleClearSort = function handleClearSort() {
|
|
341
|
+
column.clearSortBy();
|
|
342
|
+
setAnchorEl(null);
|
|
343
|
+
};
|
|
344
|
+
|
|
345
|
+
var handleSortAsc = function handleSortAsc() {
|
|
346
|
+
column.toggleSortBy(false);
|
|
347
|
+
setAnchorEl(null);
|
|
348
|
+
};
|
|
349
|
+
|
|
350
|
+
var handleSortDesc = function handleSortDesc() {
|
|
351
|
+
column.toggleSortBy(true);
|
|
352
|
+
setAnchorEl(null);
|
|
353
|
+
};
|
|
354
|
+
|
|
355
|
+
var handleHideColumn = function handleHideColumn() {
|
|
356
|
+
column.toggleHidden();
|
|
357
|
+
setAnchorEl(null);
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
var handleGroupByColumn = function handleGroupByColumn() {
|
|
361
|
+
column.toggleGroupBy();
|
|
362
|
+
setAnchorEl(null);
|
|
363
|
+
};
|
|
364
|
+
|
|
365
|
+
var handleFilterByColumn = function handleFilterByColumn() {
|
|
366
|
+
setShowFilters(true);
|
|
367
|
+
setTimeout(function () {
|
|
368
|
+
var _document$getElementB, _column$muiTableHeadC, _column$muiTableHeadC2;
|
|
369
|
+
|
|
370
|
+
return (_document$getElementB = document.getElementById( // @ts-ignore
|
|
371
|
+
(_column$muiTableHeadC = (_column$muiTableHeadC2 = column.muiTableHeadCellFilterTextFieldProps) == null ? void 0 : _column$muiTableHeadC2.id) != null ? _column$muiTableHeadC : "mrt-" + idPrefix + "-" + column.id + "-filter-text-field")) == null ? void 0 : _document$getElementB.focus();
|
|
372
|
+
}, 200);
|
|
373
|
+
setAnchorEl(null);
|
|
374
|
+
};
|
|
375
|
+
|
|
376
|
+
var handleOpenFilterModeMenu = function handleOpenFilterModeMenu(event) {
|
|
377
|
+
event.stopPropagation();
|
|
378
|
+
setFilterMenuAnchorEl(event.currentTarget);
|
|
379
|
+
};
|
|
380
|
+
|
|
381
|
+
return React__default.createElement(material.Menu, {
|
|
382
|
+
anchorEl: anchorEl,
|
|
383
|
+
open: !!anchorEl,
|
|
384
|
+
onClose: function onClose() {
|
|
385
|
+
return setAnchorEl(null);
|
|
386
|
+
},
|
|
387
|
+
MenuListProps: {
|
|
388
|
+
dense: tableInstance.state.densePadding,
|
|
389
|
+
disablePadding: true
|
|
390
|
+
}
|
|
391
|
+
}, !disableSortBy && column.canSort && [React__default.createElement(material.MenuItem, {
|
|
392
|
+
key: 1,
|
|
393
|
+
disabled: !column.isSorted,
|
|
394
|
+
onClick: handleClearSort,
|
|
395
|
+
sx: commonMenuItemStyles
|
|
396
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ClearAllIcon, null)), React__default.createElement(material.ListItemText, {
|
|
397
|
+
sx: commonMenuItemStyles
|
|
398
|
+
}, localization.columnActionMenuItemClearSort)), React__default.createElement(material.MenuItem, {
|
|
399
|
+
disabled: column.isSorted && !column.isSortedDesc,
|
|
400
|
+
key: 2,
|
|
401
|
+
onClick: handleSortAsc,
|
|
402
|
+
sx: commonMenuItemStyles
|
|
403
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, null)), React__default.createElement(material.ListItemText, {
|
|
404
|
+
sx: commonMenuItemStyles
|
|
405
|
+
}, (_localization$columnA = localization.columnActionMenuItemSortAsc) == null ? void 0 : _localization$columnA.replace('{column}', String(column.Header)))), React__default.createElement(material.MenuItem, {
|
|
406
|
+
divider: !disableFilters || enableColumnGrouping || !disableColumnHiding,
|
|
407
|
+
key: 3,
|
|
408
|
+
disabled: column.isSorted && column.isSortedDesc,
|
|
409
|
+
onClick: handleSortDesc,
|
|
410
|
+
sx: commonMenuItemStyles
|
|
411
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, {
|
|
412
|
+
style: {
|
|
413
|
+
transform: 'rotate(180deg) scaleX(-1)'
|
|
414
|
+
}
|
|
415
|
+
})), React__default.createElement(material.ListItemText, {
|
|
416
|
+
sx: commonMenuItemStyles
|
|
417
|
+
}, (_localization$columnA2 = localization.columnActionMenuItemSortDesc) == null ? void 0 : _localization$columnA2.replace('{column}', String(column.Header))))], !disableFilters && column.canFilter && [React__default.createElement(material.MenuItem, {
|
|
418
|
+
divider: enableColumnGrouping || !disableColumnHiding,
|
|
419
|
+
key: 1,
|
|
420
|
+
onClick: handleFilterByColumn,
|
|
421
|
+
sx: commonMenuItemStyles
|
|
422
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), React__default.createElement(material.ListItemText, {
|
|
423
|
+
sx: commonMenuItemStyles
|
|
424
|
+
}, (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header))), React__default.createElement(material.IconButton, {
|
|
425
|
+
onClick: handleOpenFilterModeMenu,
|
|
426
|
+
onMouseEnter: handleOpenFilterModeMenu,
|
|
427
|
+
size: "small",
|
|
428
|
+
sx: {
|
|
429
|
+
p: 0
|
|
430
|
+
}
|
|
431
|
+
}, React__default.createElement(ArrowRightIcon, null))), React__default.createElement(MRT_FilterTypeMenu, {
|
|
432
|
+
anchorEl: filterMenuAnchorEl,
|
|
433
|
+
column: column,
|
|
434
|
+
key: 2,
|
|
435
|
+
setAnchorEl: setFilterMenuAnchorEl,
|
|
436
|
+
onSelect: handleFilterByColumn
|
|
437
|
+
})], enableColumnGrouping && column.canGroupBy && [React__default.createElement(material.MenuItem, {
|
|
438
|
+
divider: !disableColumnHiding,
|
|
439
|
+
key: 2,
|
|
440
|
+
onClick: handleGroupByColumn,
|
|
441
|
+
sx: commonMenuItemStyles
|
|
442
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(DynamicFeedIcon, null)), React__default.createElement(material.ListItemText, {
|
|
443
|
+
sx: commonMenuItemStyles
|
|
444
|
+
}, (_localization = localization[column.isGrouped ? 'columnActionMenuItemUnGroupBy' : 'columnActionMenuItemGroupBy']) == null ? void 0 : _localization.replace('{column}', String(column.Header))))], !disableColumnHiding && [React__default.createElement(material.MenuItem, {
|
|
445
|
+
key: 1,
|
|
446
|
+
onClick: handleHideColumn,
|
|
447
|
+
sx: commonMenuItemStyles
|
|
448
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), React__default.createElement(material.ListItemText, {
|
|
449
|
+
sx: commonMenuItemStyles
|
|
450
|
+
}, (_localization$columnA3 = localization.columnActionMenuItemHideColumn) == null ? void 0 : _localization$columnA3.replace('{column}', String(column.Header))))]);
|
|
451
|
+
};
|
|
452
|
+
|
|
453
|
+
var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
|
|
307
454
|
var anchorEl = _ref.anchorEl,
|
|
308
455
|
column = _ref.column,
|
|
309
456
|
onSelect = _ref.onSelect,
|
|
@@ -350,7 +497,7 @@ var MRT_FilterMenu = function MRT_FilterMenu(_ref) {
|
|
|
350
497
|
}];
|
|
351
498
|
}, []);
|
|
352
499
|
|
|
353
|
-
var
|
|
500
|
+
var handleSelectFilterType = function handleSelectFilterType(value) {
|
|
354
501
|
setAnchorEl(null);
|
|
355
502
|
setCurrentFilterTypes(function (prev) {
|
|
356
503
|
var _extends2;
|
|
@@ -368,21 +515,19 @@ var MRT_FilterMenu = function MRT_FilterMenu(_ref) {
|
|
|
368
515
|
var filterType = tableInstance.state.currentFilterTypes[column.id];
|
|
369
516
|
return React__default.createElement(material.Menu, {
|
|
370
517
|
anchorEl: anchorEl,
|
|
371
|
-
open: !!anchorEl,
|
|
372
518
|
anchorOrigin: {
|
|
373
519
|
vertical: 'center',
|
|
374
520
|
horizontal: 'right'
|
|
375
521
|
},
|
|
376
522
|
onClose: function onClose() {
|
|
377
523
|
return setAnchorEl(null);
|
|
524
|
+
},
|
|
525
|
+
open: !!anchorEl,
|
|
526
|
+
MenuListProps: {
|
|
527
|
+
dense: tableInstance.state.densePadding,
|
|
528
|
+
disablePadding: true
|
|
378
529
|
}
|
|
379
|
-
},
|
|
380
|
-
sx: {
|
|
381
|
-
fontWeight: 'bold',
|
|
382
|
-
p: '1rem',
|
|
383
|
-
fontSize: '1.1rem'
|
|
384
|
-
}
|
|
385
|
-
}, localization.filterMenuTitle), React__default.createElement(material.Divider, null), filterTypes.map(function (_ref2) {
|
|
530
|
+
}, filterTypes.map(function (_ref2) {
|
|
386
531
|
var type = _ref2.type,
|
|
387
532
|
label = _ref2.label,
|
|
388
533
|
divider = _ref2.divider;
|
|
@@ -390,10 +535,11 @@ var MRT_FilterMenu = function MRT_FilterMenu(_ref) {
|
|
|
390
535
|
divider: divider,
|
|
391
536
|
key: type,
|
|
392
537
|
onClick: function onClick() {
|
|
393
|
-
return
|
|
538
|
+
return handleSelectFilterType(type);
|
|
394
539
|
},
|
|
395
540
|
selected: type === filterType,
|
|
396
|
-
value: type
|
|
541
|
+
value: type,
|
|
542
|
+
sx: commonMenuItemStyles
|
|
397
543
|
}, label);
|
|
398
544
|
}));
|
|
399
545
|
};
|
|
@@ -458,19 +604,21 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
458
604
|
}
|
|
459
605
|
|
|
460
606
|
var filterType = tableInstance.state.currentFilterTypes[column.id];
|
|
461
|
-
var
|
|
607
|
+
var filterChipLabel = ['empty', 'notEmpty'].includes(filterType);
|
|
462
608
|
var filterPlaceholder = (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header));
|
|
463
609
|
return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
|
|
464
610
|
fullWidth: true,
|
|
465
611
|
id: "mrt-" + idPrefix + "-" + column.id + "-filter-text-field",
|
|
466
612
|
inputProps: {
|
|
613
|
+
disabled: !!filterChipLabel,
|
|
467
614
|
sx: {
|
|
468
|
-
textOverflow: 'ellipsis'
|
|
615
|
+
textOverflow: 'ellipsis',
|
|
616
|
+
width: filterChipLabel ? 0 : undefined
|
|
469
617
|
},
|
|
470
618
|
title: filterPlaceholder
|
|
471
619
|
},
|
|
472
620
|
margin: "none",
|
|
473
|
-
placeholder:
|
|
621
|
+
placeholder: filterChipLabel ? '' : filterPlaceholder,
|
|
474
622
|
onChange: function onChange(e) {
|
|
475
623
|
setFilterValue(e.target.value);
|
|
476
624
|
handleChange(e.target.value);
|
|
@@ -493,11 +641,11 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
493
641
|
height: '1.75rem',
|
|
494
642
|
width: '1.75rem'
|
|
495
643
|
}
|
|
496
|
-
}, React__default.createElement(FilterListIcon, null))),
|
|
644
|
+
}, React__default.createElement(FilterListIcon, null))), filterChipLabel && React__default.createElement(material.Chip, {
|
|
497
645
|
onDelete: handleClearFilterChip,
|
|
498
646
|
label: filterType
|
|
499
647
|
})),
|
|
500
|
-
endAdornment: !
|
|
648
|
+
endAdornment: !filterChipLabel && React__default.createElement(material.InputAdornment, {
|
|
501
649
|
position: "end"
|
|
502
650
|
}, React__default.createElement(material.Tooltip, {
|
|
503
651
|
arrow: true,
|
|
@@ -518,131 +666,17 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
518
666
|
}
|
|
519
667
|
}, textFieldProps, {
|
|
520
668
|
sx: _extends({
|
|
521
|
-
|
|
669
|
+
m: '0 -0.25rem',
|
|
670
|
+
minWidth: !filterChipLabel ? '5rem' : 'auto',
|
|
671
|
+
width: 'calc(100% + 0.5rem)'
|
|
522
672
|
}, textFieldProps == null ? void 0 : textFieldProps.sx)
|
|
523
|
-
})), React__default.createElement(
|
|
673
|
+
})), React__default.createElement(MRT_FilterTypeMenu, {
|
|
524
674
|
anchorEl: anchorEl,
|
|
525
675
|
column: column,
|
|
526
676
|
setAnchorEl: setAnchorEl
|
|
527
677
|
}));
|
|
528
678
|
};
|
|
529
679
|
|
|
530
|
-
var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
531
|
-
var _localization$columnA, _localization$columnA2, _localization$filterT, _localization, _localization$columnA3;
|
|
532
|
-
|
|
533
|
-
var anchorEl = _ref.anchorEl,
|
|
534
|
-
column = _ref.column,
|
|
535
|
-
setAnchorEl = _ref.setAnchorEl;
|
|
536
|
-
|
|
537
|
-
var _useMRT = useMRT(),
|
|
538
|
-
disableColumnHiding = _useMRT.disableColumnHiding,
|
|
539
|
-
disableFilters = _useMRT.disableFilters,
|
|
540
|
-
disableSortBy = _useMRT.disableSortBy,
|
|
541
|
-
enableColumnGrouping = _useMRT.enableColumnGrouping,
|
|
542
|
-
_useMRT$icons = _useMRT.icons,
|
|
543
|
-
ClearAllIcon = _useMRT$icons.ClearAllIcon,
|
|
544
|
-
DynamicFeedIcon = _useMRT$icons.DynamicFeedIcon,
|
|
545
|
-
FilterListIcon = _useMRT$icons.FilterListIcon,
|
|
546
|
-
SortIcon = _useMRT$icons.SortIcon,
|
|
547
|
-
VisibilityOffIcon = _useMRT$icons.VisibilityOffIcon,
|
|
548
|
-
idPrefix = _useMRT.idPrefix,
|
|
549
|
-
localization = _useMRT.localization,
|
|
550
|
-
setShowFilters = _useMRT.setShowFilters;
|
|
551
|
-
|
|
552
|
-
var _useState = React.useState(null),
|
|
553
|
-
filterMenuAnchorEl = _useState[0],
|
|
554
|
-
setFilterMenuAnchorEl = _useState[1];
|
|
555
|
-
|
|
556
|
-
var handleClearSort = function handleClearSort() {
|
|
557
|
-
column.clearSortBy();
|
|
558
|
-
setAnchorEl(null);
|
|
559
|
-
};
|
|
560
|
-
|
|
561
|
-
var handleSortAsc = function handleSortAsc() {
|
|
562
|
-
column.toggleSortBy(false);
|
|
563
|
-
setAnchorEl(null);
|
|
564
|
-
};
|
|
565
|
-
|
|
566
|
-
var handleSortDesc = function handleSortDesc() {
|
|
567
|
-
column.toggleSortBy(true);
|
|
568
|
-
setAnchorEl(null);
|
|
569
|
-
};
|
|
570
|
-
|
|
571
|
-
var handleHideColumn = function handleHideColumn() {
|
|
572
|
-
column.toggleHidden();
|
|
573
|
-
setAnchorEl(null);
|
|
574
|
-
};
|
|
575
|
-
|
|
576
|
-
var handleGroupByColumn = function handleGroupByColumn() {
|
|
577
|
-
column.toggleGroupBy();
|
|
578
|
-
setAnchorEl(null);
|
|
579
|
-
};
|
|
580
|
-
|
|
581
|
-
var handleFilterByColumn = function handleFilterByColumn() {
|
|
582
|
-
setShowFilters(true);
|
|
583
|
-
setTimeout(function () {
|
|
584
|
-
var _document$getElementB, _column$muiTableHeadC, _column$muiTableHeadC2;
|
|
585
|
-
|
|
586
|
-
return (_document$getElementB = document.getElementById( // @ts-ignore
|
|
587
|
-
(_column$muiTableHeadC = (_column$muiTableHeadC2 = column.muiTableHeadCellFilterTextFieldProps) == null ? void 0 : _column$muiTableHeadC2.id) != null ? _column$muiTableHeadC : "mrt-" + idPrefix + "-" + column.id + "-filter-text-field")) == null ? void 0 : _document$getElementB.focus();
|
|
588
|
-
}, 200);
|
|
589
|
-
setAnchorEl(null);
|
|
590
|
-
};
|
|
591
|
-
|
|
592
|
-
var handleOpenFilterModeMenu = function handleOpenFilterModeMenu(event) {
|
|
593
|
-
event.stopPropagation();
|
|
594
|
-
setFilterMenuAnchorEl(event.currentTarget);
|
|
595
|
-
};
|
|
596
|
-
|
|
597
|
-
return React__default.createElement(material.Menu, {
|
|
598
|
-
anchorEl: anchorEl,
|
|
599
|
-
open: !!anchorEl,
|
|
600
|
-
onClose: function onClose() {
|
|
601
|
-
return setAnchorEl(null);
|
|
602
|
-
}
|
|
603
|
-
}, React__default.createElement(material.MenuList, null, !disableSortBy && column.canSort && [React__default.createElement(material.MenuItem, {
|
|
604
|
-
key: 1,
|
|
605
|
-
disabled: !column.isSorted,
|
|
606
|
-
onClick: handleClearSort
|
|
607
|
-
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ClearAllIcon, null)), React__default.createElement(material.ListItemText, null, localization.columnActionMenuItemClearSort)), React__default.createElement(material.MenuItem, {
|
|
608
|
-
key: 2,
|
|
609
|
-
disabled: column.isSorted && !column.isSortedDesc,
|
|
610
|
-
onClick: handleSortAsc
|
|
611
|
-
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, null)), React__default.createElement(material.ListItemText, null, (_localization$columnA = localization.columnActionMenuItemSortAsc) == null ? void 0 : _localization$columnA.replace('{column}', String(column.Header)))), React__default.createElement(material.MenuItem, {
|
|
612
|
-
key: 3,
|
|
613
|
-
disabled: column.isSorted && column.isSortedDesc,
|
|
614
|
-
onClick: handleSortDesc
|
|
615
|
-
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, {
|
|
616
|
-
style: {
|
|
617
|
-
transform: 'rotate(180deg) scaleX(-1)'
|
|
618
|
-
}
|
|
619
|
-
})), React__default.createElement(material.ListItemText, null, (_localization$columnA2 = localization.columnActionMenuItemSortDesc) == null ? void 0 : _localization$columnA2.replace('{column}', String(column.Header))))], !disableFilters && column.canFilter && [React__default.createElement(material.Divider, {
|
|
620
|
-
key: 0
|
|
621
|
-
}), React__default.createElement(material.MenuItem, {
|
|
622
|
-
key: 1,
|
|
623
|
-
onClick: handleFilterByColumn
|
|
624
|
-
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), React__default.createElement(material.ListItemText, null, (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header))), React__default.createElement(material.IconButton, {
|
|
625
|
-
size: "small",
|
|
626
|
-
onMouseEnter: handleOpenFilterModeMenu
|
|
627
|
-
}, React__default.createElement(ArrowRightIcon, null))), React__default.createElement(MRT_FilterMenu, {
|
|
628
|
-
anchorEl: filterMenuAnchorEl,
|
|
629
|
-
column: column,
|
|
630
|
-
key: 2,
|
|
631
|
-
setAnchorEl: setFilterMenuAnchorEl,
|
|
632
|
-
onSelect: handleFilterByColumn
|
|
633
|
-
})], enableColumnGrouping && column.canGroupBy && [React__default.createElement(material.Divider, {
|
|
634
|
-
key: 1
|
|
635
|
-
}), React__default.createElement(material.MenuItem, {
|
|
636
|
-
key: 2,
|
|
637
|
-
onClick: handleGroupByColumn
|
|
638
|
-
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(DynamicFeedIcon, null)), React__default.createElement(material.ListItemText, null, (_localization = localization[column.isGrouped ? 'columnActionMenuItemUnGroupBy' : 'columnActionMenuItemGroupBy']) == null ? void 0 : _localization.replace('{column}', String(column.Header))))], !disableColumnHiding && [React__default.createElement(material.Divider, {
|
|
639
|
-
key: 0
|
|
640
|
-
}), React__default.createElement(material.MenuItem, {
|
|
641
|
-
key: 1,
|
|
642
|
-
onClick: handleHideColumn
|
|
643
|
-
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), React__default.createElement(material.ListItemText, null, (_localization$columnA3 = localization.columnActionMenuItemHideColumn) == null ? void 0 : _localization$columnA3.replace('{column}', String(column.Header))))]));
|
|
644
|
-
};
|
|
645
|
-
|
|
646
680
|
var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
|
|
647
681
|
var column = _ref.column;
|
|
648
682
|
|
|
@@ -698,7 +732,7 @@ var commonTableHeadCellStyles = function commonTableHeadCellStyles(densePadding,
|
|
|
698
732
|
};
|
|
699
733
|
};
|
|
700
734
|
var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
701
|
-
var _column$columns
|
|
735
|
+
var _column$columns, _localization$columnA, _localization$columnA2;
|
|
702
736
|
|
|
703
737
|
var column = _ref.column;
|
|
704
738
|
|
|
@@ -706,11 +740,15 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
706
740
|
disableColumnActions = _useMRT.disableColumnActions,
|
|
707
741
|
disableFilters = _useMRT.disableFilters,
|
|
708
742
|
enableColumnResizing = _useMRT.enableColumnResizing,
|
|
743
|
+
_useMRT$icons = _useMRT.icons,
|
|
744
|
+
FilterAltIcon = _useMRT$icons.FilterAltIcon,
|
|
745
|
+
FilterAltOff = _useMRT$icons.FilterAltOff,
|
|
709
746
|
localization = _useMRT.localization,
|
|
710
747
|
muiTableHeadCellProps = _useMRT.muiTableHeadCellProps,
|
|
748
|
+
setShowFilters = _useMRT.setShowFilters,
|
|
711
749
|
tableInstance = _useMRT.tableInstance;
|
|
712
750
|
|
|
713
|
-
var isParentHeader = (
|
|
751
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
714
752
|
var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps(column) : muiTableHeadCellProps;
|
|
715
753
|
var mcTableHeadCellProps = column.muiTableHeadCellProps instanceof Function ? column.muiTableHeadCellProps(column) : column.muiTableHeadCellProps;
|
|
716
754
|
|
|
@@ -719,6 +757,8 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
719
757
|
});
|
|
720
758
|
|
|
721
759
|
var sortTooltip = column.isSorted ? column.isSortedDesc ? localization.columnActionMenuItemClearSort : (_localization$columnA = localization.columnActionMenuItemSortDesc) == null ? void 0 : _localization$columnA.replace('{column}', column.Header) : (_localization$columnA2 = localization.columnActionMenuItemSortAsc) == null ? void 0 : _localization$columnA2.replace('{column}', column.Header);
|
|
760
|
+
var filterTooltip = !!column.filterValue ? localization.filterApplied.replace('{column}', String(column.Header)).replace('{filterType}', // @ts-ignore
|
|
761
|
+
localization["filterMenuItem" + (tableInstance.state.currentFilterTypes[column.id].charAt(0).toUpperCase() + tableInstance.state.currentFilterTypes[column.id].slice(1))]) : localization.toggleFilterButtonTitle;
|
|
722
762
|
var columnHeader = column.render('Header');
|
|
723
763
|
return React__default.createElement(material.TableCell, Object.assign({
|
|
724
764
|
align: isParentHeader ? 'center' : 'left'
|
|
@@ -746,7 +786,29 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
746
786
|
"aria-label": sortTooltip,
|
|
747
787
|
active: column.isSorted,
|
|
748
788
|
direction: column.isSortedDesc ? 'desc' : 'asc'
|
|
749
|
-
}))
|
|
789
|
+
})), !isParentHeader && !!column.canFilter && React__default.createElement(material.Tooltip, {
|
|
790
|
+
arrow: true,
|
|
791
|
+
title: filterTooltip
|
|
792
|
+
}, React__default.createElement(material.IconButton, {
|
|
793
|
+
onClick: function onClick(event) {
|
|
794
|
+
event.stopPropagation();
|
|
795
|
+
setShowFilters(!tableInstance.state.showFilters);
|
|
796
|
+
},
|
|
797
|
+
size: "small",
|
|
798
|
+
sx: {
|
|
799
|
+
opacity: !!column.filterValue ? 0.8 : 0,
|
|
800
|
+
p: '2px',
|
|
801
|
+
m: 0,
|
|
802
|
+
transition: 'all 0.2s ease-in-out',
|
|
803
|
+
'&:hover': {
|
|
804
|
+
opacity: 0.8
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
}, tableInstance.state.showFilters && !column.filterValue ? React__default.createElement(FilterAltOff, {
|
|
808
|
+
fontSize: "small"
|
|
809
|
+
}) : React__default.createElement(FilterAltIcon, {
|
|
810
|
+
fontSize: "small"
|
|
811
|
+
})))), React__default.createElement(material.Box, {
|
|
750
812
|
sx: {
|
|
751
813
|
alignItems: 'center',
|
|
752
814
|
display: 'flex',
|
|
@@ -835,8 +897,10 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
835
897
|
var cell = _ref.cell;
|
|
836
898
|
|
|
837
899
|
var _useMRT = useMRT(),
|
|
838
|
-
|
|
900
|
+
isLoading = _useMRT.isLoading,
|
|
839
901
|
muiTableBodyCellProps = _useMRT.muiTableBodyCellProps,
|
|
902
|
+
muiTableBodyCellSkeletonProps = _useMRT.muiTableBodyCellSkeletonProps,
|
|
903
|
+
onCellClick = _useMRT.onCellClick,
|
|
840
904
|
_useMRT$tableInstance = _useMRT.tableInstance.state,
|
|
841
905
|
currentEditingRow = _useMRT$tableInstance.currentEditingRow,
|
|
842
906
|
densePadding = _useMRT$tableInstance.densePadding;
|
|
@@ -854,7 +918,11 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
854
918
|
}
|
|
855
919
|
}, tableCellProps, {
|
|
856
920
|
sx: _extends({}, commonTableBodyCellStyles(densePadding), tableCellProps == null ? void 0 : tableCellProps.sx)
|
|
857
|
-
}),
|
|
921
|
+
}), isLoading ? React__default.createElement(material.Skeleton, Object.assign({
|
|
922
|
+
animation: "wave",
|
|
923
|
+
height: 20,
|
|
924
|
+
width: Math.random() * (120 - 60) + 60
|
|
925
|
+
}, muiTableBodyCellSkeletonProps)) : (currentEditingRow == null ? void 0 : currentEditingRow.id) === cell.row.id ? React__default.createElement(MRT_EditCellTextField, {
|
|
858
926
|
cell: cell
|
|
859
927
|
}) : cell.isPlaceholder ? null : cell.isAggregated ? cell.render('Aggregated') : cell.isGrouped ? React__default.createElement("span", null, cell.render('Cell'), " (", cell.row.subRows.length, ")") : cell.render('Cell'));
|
|
860
928
|
};
|
|
@@ -1091,14 +1159,17 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
|
|
|
1091
1159
|
open: !!anchorEl,
|
|
1092
1160
|
onClose: function onClose() {
|
|
1093
1161
|
return setAnchorEl(null);
|
|
1162
|
+
},
|
|
1163
|
+
MenuListProps: {
|
|
1164
|
+
dense: tableInstance.state.densePadding,
|
|
1165
|
+
disablePadding: true
|
|
1094
1166
|
}
|
|
1095
1167
|
}, enableRowEditing && React__default.createElement(material.MenuItem, {
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
}, React__default.createElement(EditIcon, null), " ", localization.rowActionMenuItemEdit), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
|
|
1168
|
+
onClick: handleEdit,
|
|
1169
|
+
sx: commonMenuItemStyles
|
|
1170
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(EditIcon, null)), React__default.createElement(material.ListItemText, {
|
|
1171
|
+
sx: commonMenuItemStyles
|
|
1172
|
+
}, localization.rowActionMenuItemEdit)), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
|
|
1102
1173
|
return setAnchorEl(null);
|
|
1103
1174
|
})) != null ? _renderRowActionMenuI : null);
|
|
1104
1175
|
};
|
|
@@ -2075,7 +2146,7 @@ var MRT_TableBody = function MRT_TableBody() {
|
|
|
2075
2146
|
};
|
|
2076
2147
|
|
|
2077
2148
|
var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
2078
|
-
var _column$columns
|
|
2149
|
+
var _column$columns;
|
|
2079
2150
|
|
|
2080
2151
|
var column = _ref.column;
|
|
2081
2152
|
|
|
@@ -2084,7 +2155,7 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
|
2084
2155
|
enableColumnResizing = _useMRT.enableColumnResizing,
|
|
2085
2156
|
densePadding = _useMRT.tableInstance.state.densePadding;
|
|
2086
2157
|
|
|
2087
|
-
var isParentHeader = (
|
|
2158
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
2088
2159
|
var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps(column) : muiTableFooterCellProps;
|
|
2089
2160
|
var mcTableFooterCellProps = column.muiTableFooterCellProps instanceof Function ? column.muiTableFooterCellProps(column) : column.muiTableFooterCellProps;
|
|
2090
2161
|
|
|
@@ -2260,10 +2331,10 @@ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
|
|
|
2260
2331
|
};
|
|
2261
2332
|
|
|
2262
2333
|
var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
|
|
2263
|
-
var _column$columns
|
|
2334
|
+
var _column$columns, _column$columns2, _column$isVisible, _column$columns4;
|
|
2264
2335
|
|
|
2265
2336
|
var column = _ref.column;
|
|
2266
|
-
var isParentHeader = (
|
|
2337
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
2267
2338
|
var allChildColumnsVisible = isParentHeader && !!((_column$columns2 = column.columns) != null && _column$columns2.every(function (childColumn) {
|
|
2268
2339
|
return childColumn.isVisible;
|
|
2269
2340
|
}));
|
|
@@ -2304,9 +2375,9 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2304
2375
|
var rest = _extends({}, _ref);
|
|
2305
2376
|
|
|
2306
2377
|
var _useMRT = useMRT(),
|
|
2307
|
-
|
|
2378
|
+
ViewColumnIcon = _useMRT.icons.ViewColumnIcon,
|
|
2308
2379
|
localization = _useMRT.localization,
|
|
2309
|
-
|
|
2380
|
+
tableInstance = _useMRT.tableInstance;
|
|
2310
2381
|
|
|
2311
2382
|
var _useState = React.useState(null),
|
|
2312
2383
|
anchorEl = _useState[0],
|
|
@@ -2328,12 +2399,17 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2328
2399
|
open: !!anchorEl,
|
|
2329
2400
|
onClose: function onClose() {
|
|
2330
2401
|
return setAnchorEl(null);
|
|
2331
|
-
}
|
|
2402
|
+
},
|
|
2403
|
+
MenuListProps: {
|
|
2404
|
+
dense: tableInstance.state.densePadding,
|
|
2405
|
+
disablePadding: true
|
|
2406
|
+
},
|
|
2407
|
+
sx: commonMenuItemStyles
|
|
2332
2408
|
}, React__default.createElement(material.Box, {
|
|
2333
2409
|
sx: {
|
|
2334
2410
|
display: 'flex',
|
|
2335
2411
|
justifyContent: 'space-between',
|
|
2336
|
-
p: '0
|
|
2412
|
+
p: '0.5rem'
|
|
2337
2413
|
}
|
|
2338
2414
|
}, React__default.createElement(material.Button, {
|
|
2339
2415
|
disabled: !tableInstance.getToggleHideAllColumnsProps().checked && !tableInstance.getToggleHideAllColumnsProps().indeterminate,
|
|
@@ -2635,6 +2711,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2635
2711
|
hideToolbarTop = _useMRT.hideToolbarTop,
|
|
2636
2712
|
isFetching = _useMRT.isFetching,
|
|
2637
2713
|
isLoading = _useMRT.isLoading,
|
|
2714
|
+
muiLinearProgressProps = _useMRT.muiLinearProgressProps,
|
|
2638
2715
|
muiTableContainerProps = _useMRT.muiTableContainerProps,
|
|
2639
2716
|
tableInstance = _useMRT.tableInstance;
|
|
2640
2717
|
|
|
@@ -2659,6 +2736,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2659
2736
|
}
|
|
2660
2737
|
}, [fullScreen]);
|
|
2661
2738
|
var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
|
|
2739
|
+
var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps(tableInstance) : muiLinearProgressProps;
|
|
2662
2740
|
return React__default.createElement(material.TableContainer, Object.assign({
|
|
2663
2741
|
component: material.Paper
|
|
2664
2742
|
}, tableContainerProps, {
|
|
@@ -2677,7 +2755,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2677
2755
|
}), !hideToolbarTop && React__default.createElement(MRT_ToolbarTop, null), React__default.createElement(material.Collapse, {
|
|
2678
2756
|
"in": isFetching || isLoading,
|
|
2679
2757
|
unmountOnExit: true
|
|
2680
|
-
}, React__default.createElement(material.LinearProgress,
|
|
2758
|
+
}, React__default.createElement(material.LinearProgress, Object.assign({}, linearProgressProps))), React__default.createElement(material.Box, {
|
|
2681
2759
|
sx: {
|
|
2682
2760
|
maxWidth: '100%',
|
|
2683
2761
|
overflowX: 'auto'
|
|
@@ -2698,15 +2776,19 @@ var MRT_DefaultLocalization_EN = {
|
|
|
2698
2776
|
columnShowHideMenuShowAll: 'Show all',
|
|
2699
2777
|
expandAllButtonTitle: 'Expand all',
|
|
2700
2778
|
expandButtonTitle: 'Expand',
|
|
2779
|
+
filterApplied: 'Filtering by {column} - ({filterType})',
|
|
2701
2780
|
filterMenuItemContains: 'Contains Exact',
|
|
2702
2781
|
filterMenuItemEmpty: 'Empty',
|
|
2703
2782
|
filterMenuItemEndsWith: 'Ends With',
|
|
2704
2783
|
filterMenuItemEquals: 'Equals',
|
|
2705
|
-
filterMenuItemFuzzy: 'Fuzzy Match',
|
|
2784
|
+
filterMenuItemFuzzy: 'Fuzzy Match (Default)',
|
|
2706
2785
|
filterMenuItemNotEmpty: 'Not Empty',
|
|
2707
2786
|
filterMenuItemNotEquals: 'Not Equals',
|
|
2708
2787
|
filterMenuItemStartsWith: 'Starts With',
|
|
2709
2788
|
filterMenuTitle: 'Filter Mode',
|
|
2789
|
+
filterTextFieldChangeFilterButtonTitle: 'Change Filter Mode',
|
|
2790
|
+
filterTextFieldChipLabelEmpty: 'Empty',
|
|
2791
|
+
filterTextFieldChipLabelNotEmpty: 'Not Empty',
|
|
2710
2792
|
filterTextFieldClearButtonTitle: 'Clear filter',
|
|
2711
2793
|
filterTextFieldPlaceholder: 'Filter by {column}',
|
|
2712
2794
|
rowActionButtonCancel: 'Cancel',
|
|
@@ -2720,15 +2802,16 @@ var MRT_DefaultLocalization_EN = {
|
|
|
2720
2802
|
selectCheckboxTitle: 'Toggle select row',
|
|
2721
2803
|
showHideColumnsButtonTitle: 'Show/Hide columns',
|
|
2722
2804
|
toggleDensePaddingSwitchTitle: 'Toggle dense padding',
|
|
2723
|
-
toggleFilterButtonTitle: '
|
|
2805
|
+
toggleFilterButtonTitle: 'Show/Hide filters',
|
|
2724
2806
|
toggleFullScreenButtonTitle: 'Toggle full screen',
|
|
2725
|
-
toggleSearchButtonTitle: '
|
|
2807
|
+
toggleSearchButtonTitle: 'Show/Hide search',
|
|
2726
2808
|
toolbarAlertGroupedByMessage: 'Grouped by ',
|
|
2727
2809
|
toolbarAlertGroupedThenByMessage: ', then by ',
|
|
2728
2810
|
toolbarAlertSelectionMessage: '{selectedCount} of {rowCount} row(s) selected'
|
|
2729
2811
|
};
|
|
2730
2812
|
|
|
2731
2813
|
var MRT_Default_Icons = {
|
|
2814
|
+
ArrowRightIcon: ArrowRightIcon,
|
|
2732
2815
|
CancelIcon: CancelIcon,
|
|
2733
2816
|
ClearAllIcon: ClearAllIcon,
|
|
2734
2817
|
CloseIcon: CloseIcon,
|
|
@@ -2739,6 +2822,8 @@ var MRT_Default_Icons = {
|
|
|
2739
2822
|
EditIcon: EditIcon,
|
|
2740
2823
|
ExpandLessIcon: ExpandLessIcon,
|
|
2741
2824
|
ExpandMoreIcon: ExpandMoreIcon,
|
|
2825
|
+
FilterAltIcon: FilterAltIcon,
|
|
2826
|
+
FilterAltOff: FilterAltOff,
|
|
2742
2827
|
FilterListIcon: FilterListIcon,
|
|
2743
2828
|
FilterListOffIcon: FilterListOffIcon,
|
|
2744
2829
|
FullscreenExitIcon: FullscreenExitIcon,
|