material-react-table 0.5.6 → 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/material-react-table.cjs.development.js +154 -137
- 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 +155 -138
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/menus/MRT_ColumnActionMenu.d.ts +4 -0
- package/package.json +3 -4
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +2 -0
- package/src/menus/MRT_ColumnActionMenu.tsx +9 -9
- package/src/menus/MRT_FilterTypeMenu.tsx +3 -0
- package/src/menus/MRT_RowActionMenu.tsx +6 -2
|
@@ -305,6 +305,151 @@ var useMRT = function useMRT() {
|
|
|
305
305
|
return React.useContext(MaterialReactTableContext);
|
|
306
306
|
};
|
|
307
307
|
|
|
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
|
+
|
|
308
453
|
var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
|
|
309
454
|
var anchorEl = _ref.anchorEl,
|
|
310
455
|
column = _ref.column,
|
|
@@ -393,7 +538,8 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
|
|
|
393
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
|
};
|
|
@@ -531,139 +677,6 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
531
677
|
}));
|
|
532
678
|
};
|
|
533
679
|
|
|
534
|
-
var commonMenuItemStyles = {
|
|
535
|
-
display: 'flex',
|
|
536
|
-
alignItems: 'center'
|
|
537
|
-
};
|
|
538
|
-
var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
539
|
-
var _localization$columnA, _localization$columnA2, _localization$filterT, _localization, _localization$columnA3;
|
|
540
|
-
|
|
541
|
-
var anchorEl = _ref.anchorEl,
|
|
542
|
-
column = _ref.column,
|
|
543
|
-
setAnchorEl = _ref.setAnchorEl;
|
|
544
|
-
|
|
545
|
-
var _useMRT = useMRT(),
|
|
546
|
-
disableColumnHiding = _useMRT.disableColumnHiding,
|
|
547
|
-
disableFilters = _useMRT.disableFilters,
|
|
548
|
-
disableSortBy = _useMRT.disableSortBy,
|
|
549
|
-
enableColumnGrouping = _useMRT.enableColumnGrouping,
|
|
550
|
-
_useMRT$icons = _useMRT.icons,
|
|
551
|
-
ArrowRightIcon = _useMRT$icons.ArrowRightIcon,
|
|
552
|
-
ClearAllIcon = _useMRT$icons.ClearAllIcon,
|
|
553
|
-
DynamicFeedIcon = _useMRT$icons.DynamicFeedIcon,
|
|
554
|
-
FilterListIcon = _useMRT$icons.FilterListIcon,
|
|
555
|
-
SortIcon = _useMRT$icons.SortIcon,
|
|
556
|
-
VisibilityOffIcon = _useMRT$icons.VisibilityOffIcon,
|
|
557
|
-
idPrefix = _useMRT.idPrefix,
|
|
558
|
-
localization = _useMRT.localization,
|
|
559
|
-
setShowFilters = _useMRT.setShowFilters,
|
|
560
|
-
tableInstance = _useMRT.tableInstance;
|
|
561
|
-
|
|
562
|
-
var _useState = React.useState(null),
|
|
563
|
-
filterMenuAnchorEl = _useState[0],
|
|
564
|
-
setFilterMenuAnchorEl = _useState[1];
|
|
565
|
-
|
|
566
|
-
var handleClearSort = function handleClearSort() {
|
|
567
|
-
column.clearSortBy();
|
|
568
|
-
setAnchorEl(null);
|
|
569
|
-
};
|
|
570
|
-
|
|
571
|
-
var handleSortAsc = function handleSortAsc() {
|
|
572
|
-
column.toggleSortBy(false);
|
|
573
|
-
setAnchorEl(null);
|
|
574
|
-
};
|
|
575
|
-
|
|
576
|
-
var handleSortDesc = function handleSortDesc() {
|
|
577
|
-
column.toggleSortBy(true);
|
|
578
|
-
setAnchorEl(null);
|
|
579
|
-
};
|
|
580
|
-
|
|
581
|
-
var handleHideColumn = function handleHideColumn() {
|
|
582
|
-
column.toggleHidden();
|
|
583
|
-
setAnchorEl(null);
|
|
584
|
-
};
|
|
585
|
-
|
|
586
|
-
var handleGroupByColumn = function handleGroupByColumn() {
|
|
587
|
-
column.toggleGroupBy();
|
|
588
|
-
setAnchorEl(null);
|
|
589
|
-
};
|
|
590
|
-
|
|
591
|
-
var handleFilterByColumn = function handleFilterByColumn() {
|
|
592
|
-
setShowFilters(true);
|
|
593
|
-
setTimeout(function () {
|
|
594
|
-
var _document$getElementB, _column$muiTableHeadC, _column$muiTableHeadC2;
|
|
595
|
-
|
|
596
|
-
return (_document$getElementB = document.getElementById( // @ts-ignore
|
|
597
|
-
(_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();
|
|
598
|
-
}, 200);
|
|
599
|
-
setAnchorEl(null);
|
|
600
|
-
};
|
|
601
|
-
|
|
602
|
-
var handleOpenFilterModeMenu = function handleOpenFilterModeMenu(event) {
|
|
603
|
-
event.stopPropagation();
|
|
604
|
-
setFilterMenuAnchorEl(event.currentTarget);
|
|
605
|
-
};
|
|
606
|
-
|
|
607
|
-
return React__default.createElement(material.Menu, {
|
|
608
|
-
anchorEl: anchorEl,
|
|
609
|
-
open: !!anchorEl,
|
|
610
|
-
onClose: function onClose() {
|
|
611
|
-
return setAnchorEl(null);
|
|
612
|
-
},
|
|
613
|
-
MenuListProps: {
|
|
614
|
-
dense: tableInstance.state.densePadding,
|
|
615
|
-
disablePadding: true
|
|
616
|
-
}
|
|
617
|
-
}, !disableSortBy && column.canSort && [React__default.createElement(material.MenuItem, {
|
|
618
|
-
key: 1,
|
|
619
|
-
disabled: !column.isSorted,
|
|
620
|
-
onClick: handleClearSort,
|
|
621
|
-
sx: commonMenuItemStyles
|
|
622
|
-
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ClearAllIcon, null)), React__default.createElement(material.ListItemText, null, localization.columnActionMenuItemClearSort)), React__default.createElement(material.MenuItem, {
|
|
623
|
-
disabled: column.isSorted && !column.isSortedDesc,
|
|
624
|
-
key: 2,
|
|
625
|
-
onClick: handleSortAsc,
|
|
626
|
-
sx: commonMenuItemStyles
|
|
627
|
-
}, 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, {
|
|
628
|
-
divider: !disableFilters || enableColumnGrouping || !disableColumnHiding,
|
|
629
|
-
key: 3,
|
|
630
|
-
disabled: column.isSorted && column.isSortedDesc,
|
|
631
|
-
onClick: handleSortDesc,
|
|
632
|
-
sx: commonMenuItemStyles
|
|
633
|
-
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, {
|
|
634
|
-
style: {
|
|
635
|
-
transform: 'rotate(180deg) scaleX(-1)'
|
|
636
|
-
}
|
|
637
|
-
})), 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.MenuItem, {
|
|
638
|
-
divider: enableColumnGrouping || !disableColumnHiding,
|
|
639
|
-
key: 1,
|
|
640
|
-
onClick: handleFilterByColumn,
|
|
641
|
-
sx: commonMenuItemStyles
|
|
642
|
-
}, 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, {
|
|
643
|
-
onClick: handleOpenFilterModeMenu,
|
|
644
|
-
onMouseEnter: handleOpenFilterModeMenu,
|
|
645
|
-
size: "small",
|
|
646
|
-
sx: {
|
|
647
|
-
p: 0
|
|
648
|
-
}
|
|
649
|
-
}, React__default.createElement(ArrowRightIcon, null))), React__default.createElement(MRT_FilterTypeMenu, {
|
|
650
|
-
anchorEl: filterMenuAnchorEl,
|
|
651
|
-
column: column,
|
|
652
|
-
key: 2,
|
|
653
|
-
setAnchorEl: setFilterMenuAnchorEl,
|
|
654
|
-
onSelect: handleFilterByColumn
|
|
655
|
-
})], enableColumnGrouping && column.canGroupBy && [React__default.createElement(material.MenuItem, {
|
|
656
|
-
divider: !disableColumnHiding,
|
|
657
|
-
key: 2,
|
|
658
|
-
onClick: handleGroupByColumn,
|
|
659
|
-
sx: commonMenuItemStyles
|
|
660
|
-
}, 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.MenuItem, {
|
|
661
|
-
key: 1,
|
|
662
|
-
onClick: handleHideColumn,
|
|
663
|
-
sx: commonMenuItemStyles
|
|
664
|
-
}, 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))))]);
|
|
665
|
-
};
|
|
666
|
-
|
|
667
680
|
var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
|
|
668
681
|
var column = _ref.column;
|
|
669
682
|
|
|
@@ -1152,8 +1165,11 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
|
|
|
1152
1165
|
disablePadding: true
|
|
1153
1166
|
}
|
|
1154
1167
|
}, enableRowEditing && React__default.createElement(material.MenuItem, {
|
|
1155
|
-
onClick: handleEdit
|
|
1156
|
-
|
|
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 () {
|
|
1157
1173
|
return setAnchorEl(null);
|
|
1158
1174
|
})) != null ? _renderRowActionMenuI : null);
|
|
1159
1175
|
};
|
|
@@ -2387,7 +2403,8 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2387
2403
|
MenuListProps: {
|
|
2388
2404
|
dense: tableInstance.state.densePadding,
|
|
2389
2405
|
disablePadding: true
|
|
2390
|
-
}
|
|
2406
|
+
},
|
|
2407
|
+
sx: commonMenuItemStyles
|
|
2391
2408
|
}, React__default.createElement(material.Box, {
|
|
2392
2409
|
sx: {
|
|
2393
2410
|
display: 'flex',
|