Base dialog updates

This commit is contained in:
Adina Țeudan 2021-12-08 12:12:37 +02:00
parent 6e417a4b99
commit af9adfd579

View File

@ -1,5 +1,4 @@
import { Directive, HostListener } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { IqserEventTarget } from '../utils';
@Directive()
@ -14,16 +13,16 @@ import { IqserEventTarget } from '../utils';
* (otherwise the save request will be triggered twice).
* */
export abstract class BaseDialogComponent {
abstract form: FormGroup;
abstract get changed(): boolean;
abstract changed: boolean;
abstract valid: boolean;
abstract disabled: 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') {
if (this.valid && !this.disabled && this.changed && node !== 'textarea') {
this.save();
}
}