|
1 | 1 | import clsx from 'clsx';
|
| 2 | + |
2 | 3 | import classes from './MRT_TableBodyRow.module.css';
|
| 4 | + |
3 | 5 | import { type DragEvent, memo, useMemo, useRef } from 'react';
|
| 6 | + |
4 | 7 | import {
|
5 | 8 | Box,
|
6 | 9 | type TableProps,
|
7 | 10 | TableTr,
|
8 | 11 | type TableTrProps,
|
9 | 12 | } from '@mantine/core';
|
10 |
| -import { MRT_TableBodyCell, Memo_MRT_TableBodyCell } from './MRT_TableBodyCell'; |
| 13 | + |
| 14 | +import { Memo_MRT_TableBodyCell, MRT_TableBodyCell } from './MRT_TableBodyCell'; |
11 | 15 | import { MRT_TableDetailPanel } from './MRT_TableDetailPanel';
|
| 16 | + |
12 | 17 | import {
|
13 | 18 | type MRT_Cell,
|
14 | 19 | type MRT_ColumnVirtualizer,
|
@@ -190,37 +195,39 @@ export const MRT_TableBodyRow = <TData extends MRT_RowData>({
|
190 | 195 | {virtualPaddingLeft ? (
|
191 | 196 | <Box component="td" display="flex" w={virtualPaddingLeft} />
|
192 | 197 | ) : null}
|
193 |
| - {children ? children : (virtualColumns ?? row.getVisibleCells()).map( |
194 |
| - (cellOrVirtualCell, renderedColumnIndex) => { |
195 |
| - let cell = cellOrVirtualCell as MRT_Cell<TData>; |
196 |
| - if (columnVirtualizer) { |
197 |
| - renderedColumnIndex = (cellOrVirtualCell as MRT_VirtualItem) |
198 |
| - .index; |
199 |
| - cell = visibleCells[renderedColumnIndex]; |
200 |
| - } |
201 |
| - const cellProps = { |
202 |
| - cell, |
203 |
| - numRows, |
204 |
| - renderedColumnIndex, |
205 |
| - renderedRowIndex, |
206 |
| - rowRef, |
207 |
| - table, |
208 |
| - virtualCell: columnVirtualizer |
209 |
| - ? (cellOrVirtualCell as MRT_VirtualItem) |
210 |
| - : undefined, |
211 |
| - }; |
212 |
| - return memoMode === 'cells' && |
213 |
| - cell.column.columnDef.columnDefType === 'data' && |
214 |
| - !draggingColumn && |
215 |
| - !draggingRow && |
216 |
| - editingCell?.id !== cell.id && |
217 |
| - editingRow?.id !== row.id ? ( |
218 |
| - <Memo_MRT_TableBodyCell key={cell.id} {...cellProps} /> |
219 |
| - ) : ( |
220 |
| - <MRT_TableBodyCell key={cell.id} {...cellProps} /> |
221 |
| - ); |
222 |
| - }, |
223 |
| - )} |
| 198 | + {children |
| 199 | + ? children |
| 200 | + : (virtualColumns ?? row.getVisibleCells()).map( |
| 201 | + (cellOrVirtualCell, renderedColumnIndex) => { |
| 202 | + let cell = cellOrVirtualCell as MRT_Cell<TData>; |
| 203 | + if (columnVirtualizer) { |
| 204 | + renderedColumnIndex = (cellOrVirtualCell as MRT_VirtualItem) |
| 205 | + .index; |
| 206 | + cell = visibleCells[renderedColumnIndex]; |
| 207 | + } |
| 208 | + const cellProps = { |
| 209 | + cell, |
| 210 | + numRows, |
| 211 | + renderedColumnIndex, |
| 212 | + renderedRowIndex, |
| 213 | + rowRef, |
| 214 | + table, |
| 215 | + virtualCell: columnVirtualizer |
| 216 | + ? (cellOrVirtualCell as MRT_VirtualItem) |
| 217 | + : undefined, |
| 218 | + }; |
| 219 | + return memoMode === 'cells' && |
| 220 | + cell.column.columnDef.columnDefType === 'data' && |
| 221 | + !draggingColumn && |
| 222 | + !draggingRow && |
| 223 | + editingCell?.id !== cell.id && |
| 224 | + editingRow?.id !== row.id ? ( |
| 225 | + <Memo_MRT_TableBodyCell key={cell.id} {...cellProps} /> |
| 226 | + ) : ( |
| 227 | + <MRT_TableBodyCell key={cell.id} {...cellProps} /> |
| 228 | + ); |
| 229 | + }, |
| 230 | + )} |
224 | 231 | {virtualPaddingRight ? (
|
225 | 232 | <Box component="td" display="flex" w={virtualPaddingRight} />
|
226 | 233 | ) : null}
|
|
0 commit comments