From aedb4990e36978fc818e16a6a872053e57c30738 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Fri, 18 Feb 2022 12:13:16 +0200 Subject: [PATCH] refactored group reducer --- .../dossiers-listing-details.component.ts | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.ts index b0fd32ca9..49106327e 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.ts @@ -11,12 +11,6 @@ import { DossierStatsService } from '@services/entity-services/dossier-stats.ser import { DossierStateService } from '../../../../../../services/entity-services/dossier-state.service'; import { TranslateService } from '@ngx-translate/core'; -interface DossierStatusChartConfig { - readonly value: number; - readonly label: string; - readonly color: string; -} - @Component({ selector: 'redaction-dossiers-listing-details', templateUrl: './dossiers-listing-details.component.html', @@ -49,16 +43,13 @@ export class DossiersListingDetailsComponent { this._dossierStateService.all.forEach( state => (state.dossierCount = this.dossiersService.getCountWithState(state.dossierStatusId)), ); - const configArray = [ + const configArray: DoughnutChartConfig[] = [ ...this._dossierStateService.all - .reduce((acc, s) => { - const key = s.name + '-' + s.color; + .reduce((acc, { color, dossierCount, name }) => { + const key = name + '-' + color; + const item = acc.get(key) ?? Object.assign({}, { value: 0, label: name, color: color }); - const item = acc.get(key) ?? Object.assign({}, { value: 0, label: s.name, color: s.color }); - - item.value += s.dossierCount; - - return acc.set(key, item); + return acc.set(key, { ...item, value: item.value + dossierCount }); }, new Map()) .values(), ];