From 551c38f60ba052a399e42e918e9288d13d90a58d Mon Sep 17 00:00:00 2001 From: Aakansha Doshi Date: Thu, 18 Aug 2022 13:58:46 +0530 Subject: [PATCH] fix: remove unnecessary conditions in pointerup for linear elements (#5575) * fix: remove unnecessary conditions in pointerup for linear elements * reset editingLinearElement when clicked inside bounding box --- src/components/App.tsx | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/components/App.tsx b/src/components/App.tsx index 89e3a945..59c85a11 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -4534,9 +4534,8 @@ class App extends React.Component { if (this.state.editingLinearElement) { if ( !pointerDownState.boxSelection.hasOccurred && - (pointerDownState.hit?.element?.id !== - this.state.editingLinearElement.elementId || - !pointerDownState.hit.hasHitElementInside) + pointerDownState.hit?.element?.id !== + this.state.editingLinearElement.elementId ) { this.actionManager.executeAction(actionFinalize); } else { @@ -4554,10 +4553,8 @@ class App extends React.Component { } } else if (this.state.selectedLinearElement) { if ( - !pointerDownState.boxSelection.hasOccurred && - (pointerDownState.hit?.element?.id !== - this.state.selectedLinearElement.elementId || - !pointerDownState.hit.hasHitElementInside) + pointerDownState.hit?.element?.id !== + this.state.selectedLinearElement.elementId ) { const selectedELements = getSelectedElements( this.scene.getNonDeletedElements(), @@ -4937,7 +4934,6 @@ class App extends React.Component { } if ( - !this.state.editingLinearElement && !pointerDownState.drag.hasOccurred && !this.state.isResizing && ((hitElement && @@ -4950,13 +4946,16 @@ class App extends React.Component { (!hitElement && pointerDownState.hit.hasHitCommonBoundingBoxOfSelectedElements)) ) { - // Deselect selected elements - this.setState({ - selectedElementIds: {}, - selectedGroupIds: {}, - editingGroupId: null, - }); - + if (this.state.editingLinearElement) { + this.setState({ editingLinearElement: null }); + } else { + // Deselect selected elements + this.setState({ + selectedElementIds: {}, + selectedGroupIds: {}, + editingGroupId: null, + }); + } return; }