diff --git a/packages/twenty-front/src/modules/ui/utilities/drag-select/components/DragSelect.tsx b/packages/twenty-front/src/modules/ui/utilities/drag-select/components/DragSelect.tsx index 4b899b954..656e937b3 100644 --- a/packages/twenty-front/src/modules/ui/utilities/drag-select/components/DragSelect.tsx +++ b/packages/twenty-front/src/modules/ui/utilities/drag-select/components/DragSelect.tsx @@ -101,8 +101,8 @@ export const DragSelect = ({ width: 0, height: 0, }); + event.preventDefault(); } - event.preventDefault(); }, onMouseMove: ({ x, y, event }) => { if (isDragging) { diff --git a/packages/twenty-front/src/modules/ui/utilities/drag-select/components/__tests__/DragSelect.test.tsx b/packages/twenty-front/src/modules/ui/utilities/drag-select/components/__tests__/DragSelect.test.tsx index 579dc1750..593904605 100644 --- a/packages/twenty-front/src/modules/ui/utilities/drag-select/components/__tests__/DragSelect.test.tsx +++ b/packages/twenty-front/src/modules/ui/utilities/drag-select/components/__tests__/DragSelect.test.tsx @@ -76,6 +76,28 @@ describe('DragSelect', () => { event: mockEvent, }); + expect(mockEvent.preventDefault).not.toHaveBeenCalled(); + }); + + it('should start selection and call preventDefault on regular elements', () => { + renderDragSelect(); + + const callbacks = (window as any).trackPointerCallbacks; + const mockTarget = document.createElement('div'); + mockSelectableContainer.appendChild(mockTarget); + mockSelectableContainer.contains = jest.fn().mockReturnValue(true); + + const mockEvent = { + target: mockTarget, + preventDefault: jest.fn(), + }; + + callbacks.onMouseDown({ + x: 150, + y: 150, + event: mockEvent, + }); + expect(mockEvent.preventDefault).toHaveBeenCalled(); });