diff --git a/packages/core/src/data-editor/data-editor.test.tsx b/packages/core/src/data-editor/data-editor.test.tsx index 3fd478551..205091144 100644 --- a/packages/core/src/data-editor/data-editor.test.tsx +++ b/packages/core/src/data-editor/data-editor.test.tsx @@ -659,6 +659,47 @@ describe("data-editor", () => { expect(spy).toHaveBeenCalled(); }); + test("Delete range", async () => { + const spy = jest.fn(); + + jest.useFakeTimers(); + render( + , + { + wrapper: Context, + } + ); + prep(); + + const canvas = screen.getByTestId("data-grid-canvas"); + fireEvent.keyDown(canvas, { + key: "Delete", + }); + + expect(spy).toHaveBeenCalledWith({ + columns: CompactSelection.empty(), + rows: CompactSelection.empty(), + current: { + cell: [2, 2], + range: { x: 2, y: 2, width: 4, height: 10 }, + rangeStack: [], + }, + }); + }); + test("Open and close overlay", async () => { jest.useFakeTimers(); render(, { diff --git a/packages/core/src/data-editor/data-editor.tsx b/packages/core/src/data-editor/data-editor.tsx index f7489da8a..65b49d44f 100644 --- a/packages/core/src/data-editor/data-editor.tsx +++ b/packages/core/src/data-editor/data-editor.tsx @@ -291,7 +291,7 @@ const DataEditorImpl: React.ForwardRefRenderFunction>( + sel => { + if (onDeleteIn !== undefined) { + return onDeleteIn(shiftSelection(sel, -rowMarkerOffset)); + } + return true; + }, + [onDeleteIn, rowMarkerOffset] + ); + const [setCurrent, setSelectedRows, setSelectedColumns] = useSelectionBehavior( gridSelection, setGridSelection,