material-react-table 0.39.0 → 0.40.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/cjs/MaterialReactTable.d.ts +1 -0
- package/dist/cjs/index.js +12 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/MaterialReactTable.d.ts +1 -0
- package/dist/esm/material-react-table.esm.js +12 -3
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +1 -0
- package/src/body/MRT_TableBodyCell.tsx +6 -4
- package/src/table/MRT_TableRoot.tsx +15 -9
package/dist/index.d.ts
CHANGED
|
@@ -697,6 +697,7 @@ declare type MaterialReactTableProps<TData extends Record<string, any> = {}> = O
|
|
|
697
697
|
rowNumberMode?: 'original' | 'static';
|
|
698
698
|
selectAllMode?: 'all' | 'page';
|
|
699
699
|
state?: Partial<MRT_TableState<TData>>;
|
|
700
|
+
tableInstanceRef?: MutableRefObject<MRT_TableInstance<TData> | null>;
|
|
700
701
|
virtualizerProps?: Partial<Options<HTMLDivElement>> | (({ table, }: {
|
|
701
702
|
table: MRT_TableInstance<TData>;
|
|
702
703
|
}) => Partial<Options<HTMLDivElement>>);
|
package/package.json
CHANGED
|
@@ -841,6 +841,7 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> =
|
|
|
841
841
|
rowNumberMode?: 'original' | 'static';
|
|
842
842
|
selectAllMode?: 'all' | 'page';
|
|
843
843
|
state?: Partial<MRT_TableState<TData>>;
|
|
844
|
+
tableInstanceRef?: MutableRefObject<MRT_TableInstance<TData> | null>;
|
|
844
845
|
virtualizerProps?:
|
|
845
846
|
| Partial<VirtualizerOptions<HTMLDivElement>>
|
|
846
847
|
| (({
|
|
@@ -109,7 +109,8 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
109
109
|
[isLoading, showSkeletons],
|
|
110
110
|
);
|
|
111
111
|
|
|
112
|
-
const handleDoubleClick = (
|
|
112
|
+
const handleDoubleClick = (event: MouseEvent<HTMLTableCellElement>) => {
|
|
113
|
+
tableCellProps?.onDoubleClick?.(event);
|
|
113
114
|
if (
|
|
114
115
|
(enableEditing || columnDef.enableEditing) &&
|
|
115
116
|
columnDef.enableEditing !== false &&
|
|
@@ -143,7 +144,8 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
143
144
|
);
|
|
144
145
|
};
|
|
145
146
|
|
|
146
|
-
const handleDragEnter = (
|
|
147
|
+
const handleDragEnter = (e: DragEvent<HTMLTableCellElement>) => {
|
|
148
|
+
tableCellProps?.onDragEnter?.(e);
|
|
147
149
|
if (enableGrouping && hoveredColumn?.id === 'drop-zone') {
|
|
148
150
|
setHoveredColumn(null);
|
|
149
151
|
}
|
|
@@ -179,9 +181,9 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
179
181
|
|
|
180
182
|
return (
|
|
181
183
|
<TableCell
|
|
182
|
-
onDoubleClick={handleDoubleClick}
|
|
183
|
-
onDragEnter={handleDragEnter}
|
|
184
184
|
{...tableCellProps}
|
|
185
|
+
onDragEnter={handleDragEnter}
|
|
186
|
+
onDoubleClick={handleDoubleClick}
|
|
185
187
|
sx={(theme) => ({
|
|
186
188
|
backgroundColor: column.getIsPinned()
|
|
187
189
|
? alpha(lighten(theme.palette.background.default, 0.04), 0.95)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useMemo, useRef, useState } from 'react';
|
|
1
|
+
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
TableState,
|
|
4
4
|
getCoreRowModel,
|
|
@@ -134,7 +134,7 @@ export const MRT_TableRoot = <TData extends Record<string, any> = {}>(
|
|
|
134
134
|
<MRT_ToggleRowActionMenuButton
|
|
135
135
|
cell={cell as any}
|
|
136
136
|
row={row as any}
|
|
137
|
-
table={table}
|
|
137
|
+
table={table as any}
|
|
138
138
|
/>
|
|
139
139
|
),
|
|
140
140
|
header: props.localization?.actions,
|
|
@@ -146,11 +146,11 @@ export const MRT_TableRoot = <TData extends Record<string, any> = {}>(
|
|
|
146
146
|
columnOrder.includes('mrt-row-expand') &&
|
|
147
147
|
showExpandColumn(props, grouping) && {
|
|
148
148
|
Cell: ({ row }) => (
|
|
149
|
-
<MRT_ExpandButton row={row as any} table={table} />
|
|
149
|
+
<MRT_ExpandButton row={row as any} table={table as any} />
|
|
150
150
|
),
|
|
151
151
|
Header: () =>
|
|
152
152
|
props.enableExpandAll ? (
|
|
153
|
-
<MRT_ExpandAllButton table={table} />
|
|
153
|
+
<MRT_ExpandAllButton table={table as any} />
|
|
154
154
|
) : null,
|
|
155
155
|
header: props.localization?.expand,
|
|
156
156
|
size: 60,
|
|
@@ -160,11 +160,11 @@ export const MRT_TableRoot = <TData extends Record<string, any> = {}>(
|
|
|
160
160
|
},
|
|
161
161
|
columnOrder.includes('mrt-row-select') && {
|
|
162
162
|
Cell: ({ row }) => (
|
|
163
|
-
<MRT_SelectCheckbox row={row as any} table={table} />
|
|
163
|
+
<MRT_SelectCheckbox row={row as any} table={table as any} />
|
|
164
164
|
),
|
|
165
165
|
Header: () =>
|
|
166
166
|
props.enableSelectAll ? (
|
|
167
|
-
<MRT_SelectCheckbox selectAll table={table} />
|
|
167
|
+
<MRT_SelectCheckbox selectAll table={table as any} />
|
|
168
168
|
) : null,
|
|
169
169
|
header: props.localization?.select,
|
|
170
170
|
size: 60,
|
|
@@ -301,7 +301,13 @@ export const MRT_TableRoot = <TData extends Record<string, any> = {}>(
|
|
|
301
301
|
setShowAlertBanner: props.onShowAlertBannerChange ?? setShowAlertBanner,
|
|
302
302
|
setShowFilters: props.onShowFiltersChange ?? setShowFilters,
|
|
303
303
|
setShowGlobalFilter: props.onShowGlobalFilterChange ?? setShowGlobalFilter,
|
|
304
|
-
} as MRT_TableInstance
|
|
304
|
+
} as MRT_TableInstance<TData>;
|
|
305
|
+
|
|
306
|
+
useEffect(() => {
|
|
307
|
+
if (props.tableInstanceRef) {
|
|
308
|
+
props.tableInstanceRef.current = table;
|
|
309
|
+
}
|
|
310
|
+
}, []);
|
|
305
311
|
|
|
306
312
|
return (
|
|
307
313
|
<>
|
|
@@ -315,9 +321,9 @@ export const MRT_TableRoot = <TData extends Record<string, any> = {}>(
|
|
|
315
321
|
open={isFullScreen}
|
|
316
322
|
transitionDuration={400}
|
|
317
323
|
>
|
|
318
|
-
<MRT_TablePaper table={table} />
|
|
324
|
+
<MRT_TablePaper table={table as any} />
|
|
319
325
|
</Dialog>
|
|
320
|
-
{!isFullScreen && <MRT_TablePaper table={table} />}
|
|
326
|
+
{!isFullScreen && <MRT_TablePaper table={table as any} />}
|
|
321
327
|
{editingRow && props.editingMode === 'modal' && (
|
|
322
328
|
<MRT_EditRowModal row={editingRow as any} table={table} open />
|
|
323
329
|
)}
|