Skip to content

Commit 2fa1d08

Browse files
author
Sassoun Derderian
committed
fix: ensure freeze columns cannot exceed total column count
Fix test to perform click with the pointer events.
1 parent f40dffb commit 2fa1d08

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

packages/core/src/data-editor/data-editor.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4000,7 +4000,12 @@ const DataEditorImpl: React.ForwardRefRenderFunction<DataEditorRef, DataEditorPr
40004000
);
40014001
}, [onGroupHeaderRenamed, renameGroup]);
40024002

4003-
const mangledFreezeColumns = Math.min(mangledCols.length, freezeLeftColumns + (hasRowMarkers ? 1 : 0));
4003+
const mangledFreezeColumns = React.useMemo(() => {
4004+
return [
4005+
Math.min(mangledCols.length, freezeLeftColumns + (hasRowMarkers ? 1 : 0)),
4006+
Math.min(mangledCols.length, freezeRightColumns)
4007+
] as const;
4008+
}, [freezeLeftColumns, freezeRightColumns, hasRowMarkers, mangledCols.length])
40044009

40054010
React.useImperativeHandle(
40064011
forwardedRef,
@@ -4268,7 +4273,7 @@ const DataEditorImpl: React.ForwardRefRenderFunction<DataEditorRef, DataEditorPr
42684273
onColumnProposeMove={onColumnProposeMoveImpl}
42694274
drawCell={drawCell}
42704275
disabledRows={disabledRows}
4271-
freezeColumns={[mangledFreezeColumns, freezeRightColumns]}
4276+
freezeColumns={mangledFreezeColumns}
42724277
lockColumns={rowMarkerOffset}
42734278
firstColAccessible={rowMarkerOffset === 0}
42744279
getCellContent={getMangledCellContent}

packages/core/test/data-grid.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -437,12 +437,12 @@ describe("data-grid", () => {
437437
render(<DataGrid {...basicPropsWithMoreColumns} freezeColumns={[1, 1]} cellXOffset={3} onMouseUp={spy} />);
438438

439439

440-
fireEvent.mouseDown(screen.getByTestId(dataGridCanvasId), {
440+
fireEvent.pointerDown(screen.getByTestId(dataGridCanvasId), {
441441
clientX: 950, // Col A
442442
clientY: 36 + 32 * 5 + 16, // Row 5 (0 indexed)
443443
});
444444

445-
fireEvent.mouseUp(screen.getByTestId(dataGridCanvasId), {
445+
fireEvent.pointerUp(screen.getByTestId(dataGridCanvasId), {
446446
clientX: 950, // Col A
447447
clientY: 36 + 32 * 5 + 16, // Row 5 (0 indexed)
448448
});

0 commit comments

Comments
 (0)