material-react-table 0.4.6 → 0.4.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/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.4.6",
2
+ "version": "0.4.7",
3
3
  "license": "MIT",
4
4
  "name": "material-react-table",
5
5
  "description": "A fully featured Material-UI implementation of react-table, inspired by material-table and the mui DataGrid, written from the ground up in TypeScript.",
@@ -60,16 +60,16 @@ export type MaterialReactTableProps<D extends {} = {}> = TableOptions<D> &
60
60
  disableFullScreenToggle?: boolean;
61
61
  disableSelectAll?: boolean;
62
62
  disableSubRowTree?: boolean;
63
- enableRowNumbers?: boolean;
64
63
  enableColumnGrouping?: boolean;
65
64
  enableColumnResizing?: boolean;
66
65
  enableRowActions?: boolean;
67
66
  enableRowEditing?: boolean;
67
+ enableRowNumbers?: boolean;
68
68
  enableSelection?: boolean;
69
69
  hideTableFooter?: boolean;
70
70
  hideTableHead?: boolean;
71
- hideToolbarInternalActions?: boolean;
72
71
  hideToolbarBottom?: boolean;
72
+ hideToolbarInternalActions?: boolean;
73
73
  hideToolbarTop?: boolean;
74
74
  icons?: Partial<MRT_Icons>;
75
75
  isFetching?: boolean;
@@ -23,11 +23,11 @@ interface Props {
23
23
 
24
24
  export const MRT_TableDetailPanel: FC<Props> = ({ row }) => {
25
25
  const {
26
- tableInstance,
27
- renderDetailPanel,
28
- muiTableDetailPanelProps,
29
26
  muiTableBodyRowProps,
27
+ muiTableDetailPanelProps,
30
28
  onDetailPanelClick,
29
+ renderDetailPanel,
30
+ tableInstance,
31
31
  } = useMRT();
32
32
 
33
33
  const mTableBodyRowProps =
@@ -37,25 +37,18 @@ export const MRT_TableDetailPanel: FC<Props> = ({ row }) => {
37
37
 
38
38
  const tableRowProps = {
39
39
  ...mTableBodyRowProps,
40
- ...row.getToggleRowExpandedProps(),
40
+ ...row.getRowProps(),
41
41
  style: {
42
- ...row.getToggleRowExpandedProps().style,
42
+ ...row.getRowProps().style,
43
43
  ...(mTableBodyRowProps?.style ?? {}),
44
44
  },
45
45
  };
46
46
 
47
- const mTableDetailPanelProps =
47
+ const tableCellProps =
48
48
  muiTableDetailPanelProps instanceof Function
49
49
  ? muiTableDetailPanelProps(row)
50
50
  : muiTableDetailPanelProps;
51
51
 
52
- const tableCellProps = {
53
- ...mTableDetailPanelProps,
54
- style: {
55
- ...(mTableDetailPanelProps?.style ?? {}),
56
- },
57
- };
58
-
59
52
  return (
60
53
  <TableRow hover {...tableRowProps}>
61
54
  <TableCell
@@ -26,7 +26,7 @@ export const MRT_ToggleRowActionMenuButton: FC<Props> = ({ row }) => {
26
26
  currentEditingRow,
27
27
  densePadding,
28
28
  enableRowEditing,
29
- icons: {EditIcon, MoreHorizIcon},
29
+ icons: { EditIcon, MoreHorizIcon },
30
30
  localization,
31
31
  renderRowActionMenuItems,
32
32
  renderRowActions,
@@ -20,8 +20,8 @@ export const MRT_SelectCheckbox: FC<Props> = ({ row, selectAll }) => {
20
20
 
21
21
  const onSelectChange = (event: ChangeEvent<HTMLInputElement>) => {
22
22
  if (selectAll) {
23
+ tableInstance?.getToggleAllRowsSelectedProps?.()?.onChange?.(event);
23
24
  onSelectAllChange?.(event, tableInstance.selectedFlatRows);
24
- tableInstance.toggleAllRowsSelected(event.target.checked);
25
25
  } else if (row) {
26
26
  row?.getToggleRowSelectedProps()?.onChange?.(event);
27
27
  onRowSelectChange?.(event, row, tableInstance.selectedFlatRows);
@@ -1,4 +1,4 @@
1
- import React, { FC } from 'react';
1
+ import React, { FC, useEffect, useRef } from 'react';
2
2
  import {
3
3
  CircularProgress,
4
4
  LinearProgress,
@@ -50,6 +50,24 @@ export const MRT_TableContainer: FC<Props> = () => {
50
50
  muiTableContainerProps,
51
51
  tableInstance,
52
52
  } = useMRT();
53
+ const originalBodyOverflowStyle = useRef<string | undefined>();
54
+
55
+ useEffect(() => {
56
+ if (typeof window !== 'undefined') {
57
+ originalBodyOverflowStyle.current = document?.body?.style?.overflow;
58
+ }
59
+ }, []);
60
+
61
+ useEffect(() => {
62
+ if (typeof window !== 'undefined') {
63
+ if (fullScreen) {
64
+ document.body.style.overflow = 'hidden';
65
+ } else {
66
+ document.body.style.overflow =
67
+ originalBodyOverflowStyle.current ?? 'auto';
68
+ }
69
+ }
70
+ }, [fullScreen]);
53
71
 
54
72
  const tableContainerProps =
55
73
  muiTableContainerProps instanceof Function