added base dialog class

This commit is contained in:
Valentin 2021-11-01 12:10:45 +02:00
parent cb1b899520
commit 8cff591c16

View File

@ -0,0 +1,19 @@
import { Directive, HostListener } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { IqserEventTarget } from '@iqser/common-ui';
@Directive()
export abstract class BaseDialogComponent {
abstract form: FormGroup;
abstract get changed(): boolean;
abstract save(): void;
@HostListener('window:keydown.Enter', ['$event'])
onEnter(event: KeyboardEvent): void {
const node = (event.target as IqserEventTarget).localName;
if (this.form.valid && this.changed && node !== 'textarea') {
this.save();
}
}
}