Base dialog updates
This commit is contained in:
parent
6e417a4b99
commit
af9adfd579
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user