From 5457fcacf53626ed1ebb7e7447ccc7fe662f6af1 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Tue, 25 Jan 2022 14:04:35 +0200 Subject: [PATCH] extended base dialog for 'add edit justifications' component --- ...d-edit-justification-dialog.component.html | 6 ++--- ...add-edit-justification-dialog.component.ts | 22 +++++++++---------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.html b/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.html index 4a86c9beb..3e36230b7 100644 --- a/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.html @@ -43,13 +43,13 @@
- -
+
- + diff --git a/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.ts b/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.ts index f8048607f..2e1a482be 100644 --- a/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.ts @@ -1,10 +1,10 @@ -import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, Injector } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { Justification } from '@red/domain'; import { JustificationsService } from '@services/entity-services/justifications.service'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; -import { LoadingService } from '@iqser/common-ui'; +import { BaseDialogComponent, LoadingService } from '@iqser/common-ui'; @Component({ selector: 'redaction-add-edit-justification-dialog', @@ -12,23 +12,21 @@ import { LoadingService } from '@iqser/common-ui'; styleUrls: ['./add-edit-justification-dialog.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, }) -export class AddEditJustificationDialogComponent { - readonly form: FormGroup = this._getForm(); +export class AddEditJustificationDialogComponent extends BaseDialogComponent { constructor( private readonly _formBuilder: FormBuilder, private readonly _justificationService: JustificationsService, private readonly _dossierTemplatesService: DossierTemplatesService, private readonly _loadingService: LoadingService, - public dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public justification: Justification, - ) {} + ) { + super(_injector, _dialogRef); - get changed(): boolean { - return ( - !this.justification || - Object.keys(this.form.getRawValue()).reduce((prev, key) => prev || this.justification[key] !== this.form.get(key).value, false) - ); + this.form = this._getForm(); + this.initialFormValue = this.form.getRawValue(); } async save() { @@ -38,7 +36,7 @@ export class AddEditJustificationDialogComponent { await this._justificationService.createOrUpdate(this.form.getRawValue(), dossierTemplateId).toPromise(); await this._justificationService.loadAll(dossierTemplateId).toPromise(); this._loadingService.stop(); - this.dialogRef.close(true); + this._dialogRef.close(true); } private _getForm(): FormGroup {