diff --git a/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.ts b/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.ts index 88510f7ad..21bb9c8df 100644 --- a/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.ts +++ b/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.ts @@ -79,7 +79,7 @@ export class TeamMembersManagerComponent extends AutoUnsubscribe implements Edit const result = await this._dossiersService.createOrUpdate(dossier).toPromise(); if (result) { - this.updateDossier.emit(result); + this.updateDossier.emit(); } } diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts index e46cb671f..e190bbe6d 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts @@ -62,7 +62,6 @@ export class EditDossierAttributesComponent implements EditDossierSectionInterfa } async save() { - this._loadingService.start(); const dossierAttributeList = this.attributes.map(attr => ({ dossierAttributeConfigId: attr.id, value: this.currentAttrValue(attr), @@ -70,7 +69,6 @@ export class EditDossierAttributesComponent implements EditDossierSectionInterfa await this._dossierAttributesService.setAttributes(this.dossier, dossierAttributeList).toPromise(); await this._loadAttributes(); this.updateDossier.emit(); - this._loadingService.stop(); } fileInputClick(attr: DossierAttributeWithValue) { diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html index 33432d956..7e5df0c58 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html @@ -21,37 +21,37 @@ diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts index b0faec9d2..75851073a 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts @@ -4,7 +4,7 @@ import { Dossier } from '@red/domain'; import { EditDossierGeneralInfoComponent } from './general-info/edit-dossier-general-info.component'; import { EditDossierDownloadPackageComponent } from './download-package/edit-dossier-download-package.component'; import { EditDossierSectionInterface } from './edit-dossier-section.interface'; -import { IconButtonTypes, Toaster } from '@iqser/common-ui'; +import { IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; import { EditDossierDictionaryComponent } from './dictionary/edit-dossier-dictionary.component'; import { EditDossierAttributesComponent } from './attributes/edit-dossier-attributes.component'; @@ -14,6 +14,7 @@ import { AppStateService } from '@state/app-state.service'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { TeamMembersManagerComponent } from '../../components/team-members-manager/team-members-manager.component'; import { Observable } from 'rxjs'; +import { tap } from 'rxjs/operators'; type Section = 'dossierInfo' | 'downloadPackage' | 'dossierDictionary' | 'members' | 'dossierAttributes' | 'deletedDocuments'; @@ -33,6 +34,7 @@ export class EditDossierDialogComponent { @ViewChild(TeamMembersManagerComponent) membersComponent: TeamMembersManagerComponent; @ViewChild(EditDossierAttributesComponent) attributesComponent: EditDossierAttributesComponent; @ViewChild(EditDossierDeletedDocumentsComponent) deletedDocumentsComponent: EditDossierDeletedDocumentsComponent; + private _dossierName: string; constructor( private readonly _toaster: Toaster, @@ -40,6 +42,7 @@ export class EditDossierDialogComponent { private readonly _dossiersService: DossiersService, private readonly _changeRef: ChangeDetectorRef, private readonly _dialogRef: MatDialogRef, + private readonly _loadingService: LoadingService, @Inject(MAT_DIALOG_DATA) private readonly _data: { dossierId: string; @@ -78,7 +81,9 @@ export class EditDossierDialogComponent { }, ]; - this.dossier$ = this._dossiersService.getEntityChanged$(_data.dossierId); + this.dossier$ = this._dossiersService + .getEntityChanged$(_data.dossierId) + .pipe(tap(dossier => (this._dossierName = dossier.dossierName))); this.activeNav = _data.section || 'dossierInfo'; } @@ -109,8 +114,8 @@ export class EditDossierDialogComponent { return !['deletedDocuments'].includes(this.activeNav); } - updatedDossier(dossier: Dossier) { - this._toaster.success(_('edit-dossier-dialog.change-successful'), { params: { dossierName: dossier.dossierName } }); + updatedDossier() { + this._toaster.success(_('edit-dossier-dialog.change-successful'), { params: { dossierName: this._dossierName } }); this.afterSave(); } @@ -121,7 +126,9 @@ export class EditDossierDialogComponent { } async save(closeAfterSave: boolean = false) { + this._loadingService.start(); await this.activeComponent.save(); + this._loadingService.stop(); if (closeAfterSave) { this._dialogRef.close();