Edit dossier update event

This commit is contained in:
Adina Țeudan 2021-11-18 15:26:37 +02:00
parent de9c3b8dc2
commit f86f75953e
4 changed files with 18 additions and 13 deletions

View File

@ -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();
}
}

View File

@ -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) {

View File

@ -21,37 +21,37 @@
</div>
<redaction-edit-dossier-general-info
(updateDossier)="updatedDossier(dossier)"
(updateDossier)="updatedDossier()"
*ngIf="activeNav === 'dossierInfo'"
[dossier]="dossier"
></redaction-edit-dossier-general-info>
<redaction-edit-dossier-download-package
(updateDossier)="updatedDossier(dossier)"
(updateDossier)="updatedDossier()"
*ngIf="activeNav === 'downloadPackage'"
[dossier]="dossier"
></redaction-edit-dossier-download-package>
<redaction-edit-dossier-dictionary
(updateDossier)="updatedDossier(dossier)"
(updateDossier)="updatedDossier()"
*ngIf="activeNav === 'dossierDictionary'"
[dossier]="dossier"
></redaction-edit-dossier-dictionary>
<redaction-team-members-manager
(updateDossier)="updatedDossier(dossier)"
(updateDossier)="updatedDossier()"
*ngIf="activeNav === 'members'"
[dossier]="dossier"
></redaction-team-members-manager>
<redaction-edit-dossier-attributes
(updateDossier)="updatedDossier(dossier)"
(updateDossier)="updatedDossier()"
*ngIf="activeNav === 'dossierAttributes'"
[dossier]="dossier"
></redaction-edit-dossier-attributes>
<redaction-edit-dossier-deleted-documents
(updateDossier)="updatedDossier(dossier)"
(updateDossier)="updatedDossier()"
*ngIf="activeNav === 'deletedDocuments'"
[dossier]="dossier"
></redaction-edit-dossier-deleted-documents>

View File

@ -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<EditDossierDialogComponent>,
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();