diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details-stats/dossier-details-stats.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details-stats/dossier-details-stats.component.ts index fe7c369d8..f1bc2739c 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details-stats/dossier-details-stats.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details-stats/dossier-details-stats.component.ts @@ -5,8 +5,9 @@ import { DossiersService } from '@services/entity-services/dossiers.service'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { FilesService } from '@services/entity-services/files.service'; import { Observable } from 'rxjs'; -import { distinctUntilChanged, map } from 'rxjs/operators'; +import { map, switchMapTo } from 'rxjs/operators'; import { DossierStatsService } from '@services/entity-services/dossier-stats.service'; +import { FilesMapService } from '@services/entity-services/files-map.service'; @Component({ selector: 'redaction-dossier-details-stats', @@ -29,14 +30,15 @@ export class DossierDetailsStatsComponent implements OnInit { private readonly _dialogService: DossiersDialogService, private readonly _filesService: FilesService, private readonly _dossierStatsService: DossierStatsService, + private readonly _filesMapService: FilesMapService, readonly dossiersService: DossiersService, ) {} ngOnInit() { this.dossierStats$ = this._dossierStatsService.watch$(this.dossier.dossierId); - this.deletedFilesCount$ = this._filesService.getDeletedFilesFor(this.dossier.id).pipe( + this.deletedFilesCount$ = this._filesMapService.get$(this.dossier.dossierId).pipe( + switchMapTo(this._filesService.getDeletedFilesFor(this.dossier.id)), map(files => files.length), - distinctUntilChanged(), ); } diff --git a/apps/red-ui/src/app/services/entity-services/files-map.service.ts b/apps/red-ui/src/app/services/entity-services/files-map.service.ts index 27c8bf090..d0758a22a 100644 --- a/apps/red-ui/src/app/services/entity-services/files-map.service.ts +++ b/apps/red-ui/src/app/services/entity-services/files-map.service.ts @@ -13,6 +13,10 @@ export class FilesMapService { constructor(private readonly _filesService: FilesService) {} get$(dossierId: string) { + if (!this._map.has(dossierId)) { + this._map.set(dossierId, new BehaviorSubject([])); + } + return this._map.get(dossierId).asObservable(); }