From 4366e7c5f4b5dd8e5cb6da04f84e7cb8eabfd903 Mon Sep 17 00:00:00 2001 From: rhenck <richard.henck@iqb.hu-berlin.de> Date: Thu, 14 Oct 2021 18:46:16 +0200 Subject: [PATCH] [editor] Fix deleting elements when they don't have focus All elements get the 'aspect-inserted-element' class, which is checked before deleting the element. --- .../unit-view/page-view/canvas/canvas-element-overlay.ts | 5 +++-- .../page-view/canvas/static-canvas-overlay.component.ts | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/projects/editor/src/app/components/unit-view/page-view/canvas/canvas-element-overlay.ts b/projects/editor/src/app/components/unit-view/page-view/canvas/canvas-element-overlay.ts index 46ebaf3f7..22b672d2d 100644 --- a/projects/editor/src/app/components/unit-view/page-view/canvas/canvas-element-overlay.ts +++ b/projects/editor/src/app/components/unit-view/page-view/canvas/canvas-element-overlay.ts @@ -54,8 +54,9 @@ export abstract class CanvasElementOverlay implements OnInit, OnDestroy { @HostListener('window:keydown', ['$event']) handleKeyDown(event: KeyboardEvent): void { - if (!(event.target as Element).tagName.includes('input'.toUpperCase()) && - !(event.target as Element).tagName.includes('textarea'.toUpperCase()) && + if ((event.target as Element).parentElement && + (event.target as Element).parentElement!.parentElement && + (event.target as Element).parentElement!.parentElement!.className.indexOf('aspect-inserted-element') > -1 && event.key === 'Delete') { this.selectionService.selectedElements .pipe(take(1)) diff --git a/projects/editor/src/app/components/unit-view/page-view/canvas/static-canvas-overlay.component.ts b/projects/editor/src/app/components/unit-view/page-view/canvas/static-canvas-overlay.component.ts index 79e462e3d..c5c47e78d 100644 --- a/projects/editor/src/app/components/unit-view/page-view/canvas/static-canvas-overlay.component.ts +++ b/projects/editor/src/app/components/unit-view/page-view/canvas/static-canvas-overlay.component.ts @@ -26,7 +26,7 @@ import { CanvasElementOverlay } from './canvas-element-overlay'; <mat-icon>aspect_ratio</mat-icon> <div *cdkDragPlaceholder></div> </div> - <div [style.width.px]="element.width" + <div class="aspect-inserted-element" [style.width.px]="element.width" [style.overflow]="'auto'" [style.height.px]="element.height"> <ng-template #elementContainer></ng-template> -- GitLab