diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-entity-dialog/add-entity-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-entity-dialog/add-entity-dialog.component.html index 0b9200a81..5acca05b3 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-entity-dialog/add-entity-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-entity-dialog/add-entity-dialog.component.html @@ -4,12 +4,7 @@
- +
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-entity-dialog/add-entity-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-entity-dialog/add-entity-dialog.component.ts index 88f4b2b99..d4c47a4c6 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-entity-dialog/add-entity-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-entity-dialog/add-entity-dialog.component.ts @@ -1,7 +1,7 @@ -import { ChangeDetectionStrategy, Component, inject, ViewChild } from '@angular/core'; +import { Component, inject, ViewChild } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { AddEditEntityComponent } from '@shared/components/add-edit-entity/add-edit-entity.component'; import { BaseDialogComponent, getConfig, IconButtonTypes } from '@iqser/common-ui'; +import { AddEditEntityComponent } from '@shared/components/add-edit-entity/add-edit-entity.component'; interface DialogData { readonly dossierTemplateId: string; @@ -10,7 +10,6 @@ interface DialogData { @Component({ templateUrl: './add-entity-dialog.component.html', styleUrls: ['./add-entity-dialog.component.scss'], - changeDetection: ChangeDetectionStrategy.OnPush, }) export class AddEntityDialogComponent extends BaseDialogComponent { @ViewChild(AddEditEntityComponent, { static: true }) private readonly _addEditEntityComponent: AddEditEntityComponent; @@ -30,6 +29,10 @@ export class AddEntityDialogComponent extends BaseDialogComponent { return this._addEditEntityComponent.changed; } + get disabled(): boolean { + return this._addEditEntityComponent.disabled; + } + async save(): Promise { try { await this._addEditEntityComponent.save(); diff --git a/apps/red-ui/src/app/modules/shared/components/add-edit-entity/add-edit-entity.component.ts b/apps/red-ui/src/app/modules/shared/components/add-edit-entity/add-edit-entity.component.ts index 78d4501b8..7e423e2e7 100644 --- a/apps/red-ui/src/app/modules/shared/components/add-edit-entity/add-edit-entity.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/add-edit-entity/add-edit-entity.component.ts @@ -1,13 +1,13 @@ -import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit } from '@angular/core'; -import { Dictionary, IDictionary } from '@red/domain'; +import { booleanAttribute, ChangeDetectorRef, Component, Input, OnInit } from '@angular/core'; import { FormGroup, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms'; -import { map, startWith } from 'rxjs/operators'; -import { firstValueFrom, Observable } from 'rxjs'; -import { toSnakeCase } from '@utils/functions'; -import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { DictionaryService } from '@services/entity-services/dictionary.service'; import { BaseFormComponent, getConfig, LoadingService, Toaster } from '@iqser/common-ui'; +import { Dictionary, IDictionary } from '@red/domain'; +import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service'; +import { DictionaryService } from '@services/entity-services/dictionary.service'; +import { toSnakeCase } from '@utils/functions'; +import { firstValueFrom, Observable } from 'rxjs'; +import { map, startWith } from 'rxjs/operators'; const REDACTION_FIELDS = ['defaultReason']; @@ -20,15 +20,14 @@ interface Color { } @Component({ - selector: 'redaction-add-edit-entity [entity] [dossierTemplateId] [readOnly]', + selector: 'redaction-add-edit-entity [entity] [dossierTemplateId]', templateUrl: './add-edit-entity.component.html', styleUrls: ['./add-edit-entity.component.scss'], - changeDetection: ChangeDetectionStrategy.OnPush, }) export class AddEditEntityComponent extends BaseFormComponent implements OnInit { - @Input() dossierTemplateId: string; - @Input() entity: Dictionary; - @Input() readOnly: boolean; + @Input({ required: true }) dossierTemplateId: string; + @Input({ required: true }) entity: Dictionary; + @Input({ transform: booleanAttribute }) readOnly = false; @Input() dossierId?: string; technicalName$: Observable;