From cdd4cecb5b89557e713de6f7eb122fa037224f61 Mon Sep 17 00:00:00 2001 From: Nicoleta Panaghiu Date: Tue, 18 Jun 2024 18:58:11 +0300 Subject: [PATCH] RED-9171: removed error toaster for non-existing dossier template. --- .../dossier-templates/dashboard-stats.service.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/services/dossier-templates/dashboard-stats.service.ts b/apps/red-ui/src/app/services/dossier-templates/dashboard-stats.service.ts index 17249dd72..f0f458e86 100644 --- a/apps/red-ui/src/app/services/dossier-templates/dashboard-stats.service.ts +++ b/apps/red-ui/src/app/services/dossier-templates/dashboard-stats.service.ts @@ -1,10 +1,11 @@ import { EntitiesService } from '@iqser/common-ui'; import { DashboardStats, IDashboardStats } from '@red/domain'; import { inject, Injectable } from '@angular/core'; -import { Observable } from 'rxjs'; -import { map, switchMap, tap } from 'rxjs/operators'; +import { Observable, of } from 'rxjs'; +import { catchError, filter, map, switchMap, tap } from 'rxjs/operators'; import { DossierStatesService } from '../entity-services/dossier-states.service'; import { mapEach } from '@iqser/common-ui/lib/utils'; +import { Router } from '@angular/router'; const templatesSorter = (a: DashboardStats, b: DashboardStats) => { if (!a.isEmpty && b.isEmpty) { @@ -20,6 +21,7 @@ const templatesSorter = (a: DashboardStats, b: DashboardStats) => { }) export class DashboardStatsService extends EntitiesService { readonly #dossierStatesService = inject(DossierStatesService); + readonly #router = inject(Router); protected readonly _defaultModelPath = 'dossier-template/stats'; protected readonly _entityClass = DashboardStats; @@ -35,6 +37,11 @@ export class DashboardStatsService extends EntitiesService(singleTemplateStatsUrl).pipe( + catchError(() => { + this.#router.navigate(['/']).then(); + return of(null); + }), + filter(entity => !!entity), map(entity => new DashboardStats(entity)), switchMap(entity => this.#dossierStatesService.loadAllForTemplate(dossierTemplateId).pipe(map(() => entity))), tap(entity => this.addEntity(entity)),