From 7f12879fb108e54a8bb5ad53a33582dead9054a5 Mon Sep 17 00:00:00 2001
From: jojohoch <joachim.hoch@iqb.hu-berlin.de>
Date: Fri, 10 Dec 2021 12:42:57 +0100
Subject: [PATCH] Refactor button component

- Replace onClick method with an event emitter inside the template
---
 projects/common/ui-elements/button/button.component.ts | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/projects/common/ui-elements/button/button.component.ts b/projects/common/ui-elements/button/button.component.ts
index 6de53f7ab..d81bd940e 100644
--- a/projects/common/ui-elements/button/button.component.ts
+++ b/projects/common/ui-elements/button/button.component.ts
@@ -19,14 +19,14 @@ import { ButtonElement } from './button-element';
             [style.font-style]="elementModel.fontProps.italic ? 'italic' : ''"
             [style.text-decoration]="elementModel.fontProps.underline ? 'underline' : ''"
             [style.border-radius.px]="elementModel.borderRadius"
-            (click)="onClick($event, elementModel.action)">
+            (click)="elementModel.action ? navigationRequested.emit(elementModel.action) : false">
       {{elementModel.label}}
     </button>
     <input *ngIf="elementModel.imageSrc" type="image"
            [src]="elementModel.imageSrc | safeResourceUrl"
            [class]="elementModel.positionProps.dynamicPositioning ? 'dynamic-image' : 'static-image'"
            [alt]="'imageNotFound' | translate"
-           (click)="onClick($event, elementModel.action)">
+           (click)="elementModel.action ? navigationRequested.emit(elementModel.action) : false">
   `,
   styles: [
     '.dynamic-image {width: 100%; height: fit-content}',
@@ -36,10 +36,4 @@ import { ButtonElement } from './button-element';
 export class ButtonComponent extends ElementComponent {
   @Input() elementModel!: ButtonElement;
   @Output() navigationRequested = new EventEmitter<'previous' | 'next' | 'first' | 'last' | 'end'>();
-
-  onClick = (event: MouseEvent, action: 'previous' | 'next' | 'first' | 'last' | 'end' | null): void => {
-    if (action) { // TODO warum kann das null sein?
-      this.navigationRequested.emit(action);
-    }
-  };
 }
-- 
GitLab