From 994e7057e2d344b5b48373d451d1593cfa067556 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Tue, 18 Oct 2022 15:41:47 +0300 Subject: [PATCH] RED-5289 - Docs/Pages switch in dossier stats --- .../dossier-details/dossier-details.component.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.ts b/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.ts index 9cac1690d..aa0eb4954 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.ts +++ b/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.ts @@ -16,9 +16,9 @@ import { UserService } from '@users/user.service'; import { ContextComponent, FilterService, getParam, INestedFilter, ProgressBarConfigModel, shareLast, Toaster } from '@iqser/common-ui'; import { workflowFileStatusTranslations } from '@translations/file-status-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { firstValueFrom, Observable } from 'rxjs'; +import { combineLatestWith, firstValueFrom, Observable } from 'rxjs'; import { DossierStatsService } from '@services/dossiers/dossier-stats.service'; -import { map } from 'rxjs/operators'; +import { map, tap } from 'rxjs/operators'; import { DossiersService } from '@services/dossiers/dossiers.service'; import { FilesMapService } from '@services/files/files-map.service'; @@ -26,6 +26,7 @@ interface DossierDetailsContext { needsWorkFilters: INestedFilter[] | undefined; dossier: Dossier; dossierStats: DossierStats; + filesChanged: boolean; chartConfig: void; statusConfig: ProgressBarConfigModel[]; } @@ -50,6 +51,7 @@ export class DossierDetailsComponent extends ContextComponent; readonly dossierStats$: Observable; + readonly filesChanged$: Observable; readonly chartConfig$: Observable; readonly statusConfig$: Observable; @@ -68,7 +70,11 @@ export class DossierDetailsComponent extends ContextComponent this.#calculateChartConfig(stats))); + this.filesChanged$ = _filesMapService.watchChanged$(this.#dossierId).pipe(shareLast()); + this.chartConfig$ = this.dossierStats$.pipe( + combineLatestWith(this.filesChanged$), + map(([stats]) => this.#calculateChartConfig(stats)), + ); this.statusConfig$ = this.dossierStats$.pipe(map(stats => this.#calculateStatusConfig(stats))); } @@ -77,6 +83,7 @@ export class DossierDetailsComponent extends ContextComponent