Navigation after archive

This commit is contained in:
Adina Țeudan 2022-02-23 16:45:43 +02:00
parent 4e120e8a13
commit 0a4facc69a
2 changed files with 9 additions and 6 deletions

View File

@ -6,6 +6,7 @@ import { firstValueFrom } from 'rxjs';
import { Dossier } from '@red/domain'; import { Dossier } from '@red/domain';
import { ActiveDossiersService } from '@services/entity-services/active-dossiers.service'; import { ActiveDossiersService } from '@services/entity-services/active-dossiers.service';
import { ArchivedDossiersService } from '@services/entity-services/archived-dossiers.service'; import { ArchivedDossiersService } from '@services/entity-services/archived-dossiers.service';
import { Router } from '@angular/router';
@Component({ @Component({
templateUrl: './confirm-archive-dossier-dialog.component.html', templateUrl: './confirm-archive-dossier-dialog.component.html',
@ -20,6 +21,7 @@ export class ConfirmArchiveDossierDialogComponent {
private readonly _activeDossiersService: ActiveDossiersService, private readonly _activeDossiersService: ActiveDossiersService,
private readonly _archivedDossiersService: ArchivedDossiersService, private readonly _archivedDossiersService: ArchivedDossiersService,
private readonly _toaster: Toaster, private readonly _toaster: Toaster,
private readonly _router: Router,
@Inject(MAT_DIALOG_DATA) readonly dossier: Dossier, @Inject(MAT_DIALOG_DATA) readonly dossier: Dossier,
readonly dialogRef: MatDialogRef<ConfirmArchiveDossierDialogComponent>, readonly dialogRef: MatDialogRef<ConfirmArchiveDossierDialogComponent>,
) {} ) {}
@ -32,6 +34,7 @@ export class ConfirmArchiveDossierDialogComponent {
if (this.valid) { if (this.valid) {
this._loadingService.start(); this._loadingService.start();
await firstValueFrom(this._archivedDossiersService.archive([this.dossier])); await firstValueFrom(this._archivedDossiersService.archive([this.dossier]));
await this._router.navigate(['main', 'dossiers']);
this._toaster.success(_('dossier-listing.archive.archive-succeeded'), { params: this.dossier }); this._toaster.success(_('dossier-listing.archive.archive-succeeded'), { params: this.dossier });
this.dialogRef.close(true); this.dialogRef.close(true);
this._loadingService.stop(); this._loadingService.stop();

View File

@ -8,7 +8,7 @@ import { PermissionsService } from '@services/permissions.service';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { MatDialogRef } from '@angular/material/dialog'; import { MatDialogRef } from '@angular/material/dialog';
import { EditDossierDialogComponent } from '../edit-dossier-dialog.component'; import { EditDossierDialogComponent } from '../edit-dossier-dialog.component';
import { ConfirmationDialogInput, IconButtonTypes, TitleColors, Toaster } from '@iqser/common-ui'; import { ConfirmationDialogInput, IconButtonTypes, LoadingService, TitleColors, Toaster } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
import { DossierStatsService } from '@services/entity-services/dossier-stats.service'; import { DossierStatsService } from '@services/entity-services/dossier-stats.service';
@ -47,6 +47,7 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti
private readonly _router: Router, private readonly _router: Router,
private readonly _editDossierDialogRef: MatDialogRef<EditDossierDialogComponent>, private readonly _editDossierDialogRef: MatDialogRef<EditDossierDialogComponent>,
private readonly _toaster: Toaster, private readonly _toaster: Toaster,
private readonly _loadingService: LoadingService,
private readonly _translateService: TranslateService, private readonly _translateService: TranslateService,
) {} ) {}
@ -141,9 +142,12 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti
}, },
}); });
this._dialogService.openDialog('confirm', null, data, async () => { this._dialogService.openDialog('confirm', null, data, async () => {
this._loadingService.start();
await firstValueFrom(this._trashDossiersService.delete(this.dossier)); await firstValueFrom(this._trashDossiersService.delete(this.dossier));
this._editDossierDialogRef.close(); this._editDossierDialogRef.close();
this._router.navigate(['main', 'dossiers']).then(() => this.#notifyDossierDeleted()); await this._router.navigate(['main', 'dossiers']);
this._loadingService.stop();
this._toaster.success(_('edit-dossier-dialog.delete-successful'), { params: this.dossier });
}); });
} }
@ -172,10 +176,6 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti
}); });
} }
#notifyDossierDeleted() {
this._toaster.success(_('edit-dossier-dialog.delete-successful'), { params: this.dossier });
}
#filterInvalidDossierTemplates() { #filterInvalidDossierTemplates() {
this.dossierTemplates = this._dossierTemplatesService.all.filter(r => { this.dossierTemplates = this._dossierTemplatesService.all.filter(r => {
if (this.dossier?.dossierTemplateId === r.dossierTemplateId) { if (this.dossier?.dossierTemplateId === r.dossierTemplateId) {