diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.html b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.html index 00db21572..ffcf42195 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.html @@ -1,6 +1,7 @@
this._toChartData(stats)), ); - this.dossiersChartData$ = this.dossiersService.all$.pipe(map(dossiers => this._toDossierChartData(dossiers))); + this.dossiersChartData$ = this.dossiersService.all$.pipe(switchMap(dossiers => this._toDossierChartData(dossiers))); } - private _toDossierChartData(dossiers: Dossier[]): DoughnutChartConfig[] { - const activeDossiersCount = dossiers.filter(p => p.status === DossierStatuses.ACTIVE).length; - const inactiveDossiersCount = dossiers.length - activeDossiersCount; - + private async _toDossierChartData(dossiers: Dossier[]): Promise { + // TODO: deleted dossiers count should come with stats + const deletedDossiers = await this.dossiersService.getDeleted(); return [ - { value: activeDossiersCount, color: 'ACTIVE', label: _('active') }, - { value: inactiveDossiersCount, color: 'DELETED', label: _('archived') }, + { value: dossiers.length, color: 'ACTIVE', label: _('active') }, + { value: deletedDossiers.length, color: 'DELETED', label: _('archived') }, ]; } diff --git a/apps/red-ui/src/app/services/entity-services/dossiers.service.ts b/apps/red-ui/src/app/services/entity-services/dossiers.service.ts index be6a5cb63..2d7e12f65 100644 --- a/apps/red-ui/src/app/services/entity-services/dossiers.service.ts +++ b/apps/red-ui/src/app/services/entity-services/dossiers.service.ts @@ -75,7 +75,7 @@ export class DossiersService extends EntitiesService { return combineLatest([dossier$, stats$]).pipe( map(([updatedDossier]) => new Dossier(updatedDossier)), - tap(newDossier => this.replace(newDossier)), + tap(newDossier => this.replace([newDossier])), catchError(showToast), ); } diff --git a/apps/red-ui/src/app/services/user.service.ts b/apps/red-ui/src/app/services/user.service.ts index fe2626696..7ffdf7a9c 100644 --- a/apps/red-ui/src/app/services/user.service.ts +++ b/apps/red-ui/src/app/services/user.service.ts @@ -56,7 +56,7 @@ export class UserService extends EntitiesService { const userId = (<{ sub: string }>decoded).sub; const roles = this._keycloakService.getUserRoles(true).filter(role => role.startsWith('RED_')); - this.replace(new User(await this._keycloakService.loadUserProfile(true), roles, userId)); + this.replace([new User(await this._keycloakService.loadUserProfile(true), roles, userId)]); this._currentUser$.next(this.find(userId)); } diff --git a/apps/red-ui/src/app/state/app-state.service.ts b/apps/red-ui/src/app/state/app-state.service.ts index 6476ab145..6514609b0 100644 --- a/apps/red-ui/src/app/state/app-state.service.ts +++ b/apps/red-ui/src/app/state/app-state.service.ts @@ -123,9 +123,7 @@ export class AppStateService { const dossierIds = dossiers.map(dossier => dossier.dossierId); await this._dossierStatsService.getFor(dossierIds).toPromise(); - dossiers.forEach(dossier => { - this._dossiersService.replace(new Dossier(dossier)); - }); + this._dossiersService.replace(dossiers.map(dossier => new Dossier(dossier))); } async reloadFile(dossierId: string, fileId: string) { @@ -201,7 +199,7 @@ export class AppStateService { await this._fileAttributesService.getFileAttributesConfig(dossierTemplateId).toPromise(); const newDossierTemplate = new DossierTemplate(dossierTemplate); - this._dossierTemplatesService.replace(newDossierTemplate); + this._dossierTemplatesService.replace([newDossierTemplate]); await this.refreshDossierTemplateDictionaryData(dossierTemplateId); } diff --git a/libs/common-ui b/libs/common-ui index 74fcbf080..17c65675b 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 74fcbf080b593622220bb2c7de08f69163acab04 +Subproject commit 17c65675b934698a61a2c80435f532e5a77f0c97