diff --git a/src/components/App.tsx b/src/components/App.tsx index c9c68593..85d199af 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -4441,12 +4441,15 @@ class App extends React.Component { }, this.state, ); - const hitElement = this.getElementAtPosition( + const hitElements = this.getElementsAtPosition( scenePointer.x, scenePointer.y, ); - pointerDownState.hit.element = hitElement; + hitElements.forEach( + (hitElement) => + (pointerDownState.elementIdsToErase[hitElement.id] = true), + ); } this.eraseElements(pointerDownState); return; @@ -4592,16 +4595,12 @@ class App extends React.Component { } private eraseElements = (pointerDownState: PointerDownState) => { - const hitElement = pointerDownState.hit.element; const elements = this.scene.getElements().map((ele) => { if (pointerDownState.elementIdsToErase[ele.id]) { return newElementWith(ele, { isDeleted: true }); - } else if (hitElement && ele.id === hitElement.id) { - return newElementWith(ele, { isDeleted: true }); } else if ( isBoundToContainer(ele) && - (pointerDownState.elementIdsToErase[ele.containerId] || - (hitElement && ele.containerId === hitElement.id)) + pointerDownState.elementIdsToErase[ele.containerId] ) { return newElementWith(ele, { isDeleted: true }); }