material-react-table 2.2.0 → 2.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/index.d.ts +1 -0
- package/dist/index.esm.js +8 -7
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/body/MRT_TableBody.tsx +20 -8
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +4 -5
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +2 -1
- package/src/types.ts +1 -0
package/package.json
CHANGED
@@ -87,6 +87,10 @@ export const MRT_TableBody = <TData extends MRT_RowData>({
|
|
87
87
|
virtualPaddingRight,
|
88
88
|
};
|
89
89
|
|
90
|
+
const CreatingRow = creatingRow && createDisplayMode === 'row' && (
|
91
|
+
<MRT_TableBodyRow {...commonRowProps} row={creatingRow} rowIndex={-1} />
|
92
|
+
);
|
93
|
+
|
90
94
|
return (
|
91
95
|
<>
|
92
96
|
{!rowPinningDisplayMode?.includes('sticky') &&
|
@@ -115,24 +119,32 @@ export const MRT_TableBody = <TData extends MRT_RowData>({
|
|
115
119
|
})}
|
116
120
|
</TableBody>
|
117
121
|
)}
|
122
|
+
{rowVirtualizer && CreatingRow && (
|
123
|
+
<TableBody
|
124
|
+
{...tableBodyProps}
|
125
|
+
sx={(theme) => ({
|
126
|
+
display: layoutMode?.startsWith('grid') ? 'grid' : undefined,
|
127
|
+
...(parseFromValuesOrFunc(tableBodyProps?.sx, theme) as any),
|
128
|
+
})}
|
129
|
+
>
|
130
|
+
{CreatingRow}
|
131
|
+
</TableBody>
|
132
|
+
)}
|
118
133
|
<TableBody
|
119
134
|
{...tableBodyProps}
|
120
135
|
sx={(theme) => ({
|
121
136
|
display: layoutMode?.startsWith('grid') ? 'grid' : undefined,
|
122
|
-
height:
|
123
|
-
rowVirtualizer
|
124
|
-
|
125
|
-
: undefined,
|
137
|
+
height: rowVirtualizer
|
138
|
+
? `${rowVirtualizer.getTotalSize()}px`
|
139
|
+
: undefined,
|
126
140
|
minHeight: !rows.length ? '100px' : undefined,
|
127
141
|
position: 'relative',
|
128
142
|
...(parseFromValuesOrFunc(tableBodyProps?.sx, theme) as any),
|
129
143
|
})}
|
130
144
|
>
|
131
|
-
{
|
132
|
-
<MRT_TableBodyRow row={creatingRow} rowIndex={-1} table={table} />
|
133
|
-
)}
|
145
|
+
{!rowVirtualizer && CreatingRow}
|
134
146
|
{tableBodyProps?.children ??
|
135
|
-
(!rows.length ? (
|
147
|
+
(!rows.length && !CreatingRow ? (
|
136
148
|
<tr
|
137
149
|
style={{
|
138
150
|
display: layoutMode?.startsWith('grid') ? 'grid' : undefined,
|
@@ -40,14 +40,13 @@ export const MRT_ShowHideColumnsMenu = <TData extends MRT_RowData>({
|
|
40
40
|
enableHiding,
|
41
41
|
localization,
|
42
42
|
},
|
43
|
-
toggleAllColumnsVisible,
|
44
43
|
} = table;
|
45
44
|
const { columnOrder, columnPinning, density } = getState();
|
46
45
|
|
47
|
-
const
|
46
|
+
const handleToggleAllColumns = (value?: boolean) => {
|
48
47
|
getAllLeafColumns()
|
49
48
|
.filter((col) => col.columnDef.enableHiding !== false)
|
50
|
-
.forEach((col) => col.toggleVisibility(
|
49
|
+
.forEach((col) => col.toggleVisibility(value));
|
51
50
|
};
|
52
51
|
|
53
52
|
const allColumns = useMemo(() => {
|
@@ -99,7 +98,7 @@ export const MRT_ShowHideColumnsMenu = <TData extends MRT_RowData>({
|
|
99
98
|
{enableHiding && (
|
100
99
|
<Button
|
101
100
|
disabled={!getIsSomeColumnsVisible()}
|
102
|
-
onClick={
|
101
|
+
onClick={() => handleToggleAllColumns(false)}
|
103
102
|
>
|
104
103
|
{localization.hideAll}
|
105
104
|
</Button>
|
@@ -126,7 +125,7 @@ export const MRT_ShowHideColumnsMenu = <TData extends MRT_RowData>({
|
|
126
125
|
{enableHiding && (
|
127
126
|
<Button
|
128
127
|
disabled={getIsAllColumnsVisible()}
|
129
|
-
onClick={() =>
|
128
|
+
onClick={() => handleToggleAllColumns(true)}
|
130
129
|
>
|
131
130
|
{localization.showAll}
|
132
131
|
</Button>
|
package/src/types.ts
CHANGED
@@ -579,6 +579,7 @@ export type MRT_ColumnDef<TData extends MRT_RowData, TValue = unknown> = Omit<
|
|
579
579
|
table: MRT_TableInstance<TData>;
|
580
580
|
}) => ReactNode[];
|
581
581
|
sortingFn?: MRT_SortingFn<TData>;
|
582
|
+
visibleInShowHideMenu?: boolean;
|
582
583
|
};
|
583
584
|
|
584
585
|
export type MRT_DisplayColumnDef<
|