diff --git a/apps/red-ui/src/app/modules/admin/components/users-stats/users-stats.component.html b/apps/red-ui/src/app/modules/admin/components/users-stats/users-stats.component.html index 9267a01e9..ae8cd190c 100644 --- a/apps/red-ui/src/app/modules/admin/components/users-stats/users-stats.component.html +++ b/apps/red-ui/src/app/modules/admin/components/users-stats/users-stats.component.html @@ -19,13 +19,13 @@
- + >
diff --git a/apps/red-ui/src/app/modules/admin/components/users-stats/users-stats.component.ts b/apps/red-ui/src/app/modules/admin/components/users-stats/users-stats.component.ts index d7b81cb04..01ad53850 100644 --- a/apps/red-ui/src/app/modules/admin/components/users-stats/users-stats.component.ts +++ b/apps/red-ui/src/app/modules/admin/components/users-stats/users-stats.component.ts @@ -1,5 +1,5 @@ import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { DoughnutChartConfig } from '@red/domain'; +import { DonutChartConfig } from '@red/domain'; @Component({ selector: 'redaction-users-stats', @@ -8,5 +8,5 @@ import { DoughnutChartConfig } from '@red/domain'; }) export class UsersStatsComponent { @Output() toggleCollapse = new EventEmitter(); - @Input() chartData: DoughnutChartConfig[]; + @Input() chartConfig: DonutChartConfig[]; } diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.html index 1b55ea69a..c354b20c9 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.html @@ -32,14 +32,14 @@
- + >
diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.ts index 0594e2772..7e7a5f349 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen.component.ts @@ -7,7 +7,7 @@ import { SortingOrders, TableColumnConfig, } from '@iqser/common-ui'; -import { DossierState, DoughnutChartConfig, IDossierState } from '@red/domain'; +import { DonutChartConfig, DossierState, IDossierState } from '@red/domain'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { firstValueFrom, Observable } from 'rxjs'; import { AdminDialogService } from '../../services/admin-dialog.service'; @@ -35,7 +35,7 @@ export class DossierStatesListingScreenComponent extends ListingComponent; + chartConfig$: Observable; readonly #dossierTemplateId: string; constructor( @@ -48,9 +48,9 @@ export class DossierStatesListingScreenComponent extends ListingComponent this.entitiesService.setEntities(states)), - map(states => this.#chartData(states)), + map(states => this.#chartConfig(states)), ); } @@ -79,7 +79,7 @@ export class DossierStatesListingScreenComponent extends ListingComponent ({ value: state.dossierCount, label: state.name, diff --git a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html index 99891428b..2ad031f25 100644 --- a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.html @@ -12,6 +12,7 @@ [(value)]="searchService.searchValue" [placeholder]="'user-listing.search' | translate" > + + @@ -93,6 +95,7 @@ [type]="circleButtonTypes.dark" icon="iqser:edit" > + implement { label: _('user-listing.table-col-names.roles') }, ]; collapsedDetails = false; - chartData: DoughnutChartConfig[] = []; + chartConfig: DonutChartConfig[] = []; constructor( readonly userService: UserService, @@ -110,7 +110,7 @@ export class UserListingScreenComponent extends ListingComponent implement } private _computeStats() { - this.chartData = this._translateChartService.translateRoles( + this.chartConfig = this._translateChartService.translateRoles( UserTypes.map(type => ({ value: this.allEntities.filter(userTypeFilters[type]).length, color: type.replace('RED_', ''), @@ -123,7 +123,7 @@ export class UserListingScreenComponent extends ListingComponent implement } private _computeAllFilters() { - const roleFilters = this.chartData.map( + const roleFilters = this.chartConfig.map( config => new NestedFilter({ id: config.key, diff --git a/apps/red-ui/src/app/modules/dashboard/components/template-stats/template-stats.component.html b/apps/red-ui/src/app/modules/dashboard/components/template-stats/template-stats.component.html index be41704eb..92e914f17 100644 --- a/apps/red-ui/src/app/modules/dashboard/components/template-stats/template-stats.component.html +++ b/apps/red-ui/src/app/modules/dashboard/components/template-stats/template-stats.component.html @@ -37,24 +37,24 @@
- + >
- + >
diff --git a/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.html b/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.html index e7f72dec8..500e7f372 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.html +++ b/apps/red-ui/src/app/modules/dossier-overview/components/dossier-details/dossier-details.component.html @@ -32,19 +32,19 @@
- +
- + >
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 4301e87b3..261e7c10f 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 @@ -1,10 +1,10 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'; import { + DonutChartConfig, Dossier, DOSSIER_ID, DossierAttributeWithValue, DossierStats, - DoughnutChartConfig, IDossierRequest, StatusSorter, User, @@ -17,7 +17,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { ActivatedRoute } from '@angular/router'; import { firstValueFrom, Observable } from 'rxjs'; import { DossierStatsService } from '@services/dossiers/dossier-stats.service'; -import { map, pluck, switchMap } from 'rxjs/operators'; +import { map } from 'rxjs/operators'; import { DossiersService } from '@services/dossiers/dossiers.service'; @Component({ @@ -27,35 +27,32 @@ import { DossiersService } from '@services/dossiers/dossiers.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class DossierDetailsComponent { - editingOwner = false; @Input() dossierAttributes: DossierAttributeWithValue[]; @Output() readonly toggleCollapse = new EventEmitter(); - collapseTooltip = _('dossier-details.collapse'); - expandTooltip = _('dossier-details.expand'); + editingOwner = false; + + readonly collapseTooltip = _('dossier-details.collapse'); + readonly expandTooltip = _('dossier-details.expand'); readonly needsWorkFilters$ = this.filterService.getFilterModels$('needsWorkFilters'); readonly currentUser = this._userService.currentUser; - readonly dossierId: string; readonly dossier$: Observable; readonly dossierStats$: Observable; - chartConfig$: Observable; - statusConfig$: Observable; + readonly chartConfig$: Observable; + readonly statusConfig$: Observable; constructor( - readonly translateChartService: TranslateChartService, - readonly filterService: FilterService, - private readonly _dossiersService: DossiersService, - private readonly _userService: UserService, - private readonly _dossierStatsService: DossierStatsService, - private readonly _toaster: Toaster, activatedRoute: ActivatedRoute, + private readonly _toaster: Toaster, + readonly filterService: FilterService, + dossierStatsService: DossierStatsService, + private readonly _userService: UserService, + private readonly _dossiersService: DossiersService, + readonly translateChartService: TranslateChartService, ) { - this.dossierId = activatedRoute.snapshot.paramMap.get(DOSSIER_ID); - this.dossier$ = _dossiersService.getEntityChanged$(this.dossierId).pipe(shareLast()); - this.dossierStats$ = this.dossier$.pipe( - pluck('dossierId'), - switchMap(dossierId => _dossierStatsService.watch$(dossierId)), - ); + const dossierId = activatedRoute.snapshot.paramMap.get(DOSSIER_ID); + this.dossier$ = _dossiersService.getEntityChanged$(dossierId).pipe(shareLast()); + this.dossierStats$ = dossierStatsService.watch$(dossierId).pipe(shareLast()); this.chartConfig$ = this.dossierStats$.pipe(map(stats => this.#calculateChartConfig(stats))); this.statusConfig$ = this.dossierStats$.pipe(map(stats => this.#calculateStatusConfig(stats))); } @@ -74,15 +71,15 @@ export class DossierDetailsComponent { this._toaster.info(_('assignment.owner'), { params: { ownerName, dossierName } }); } - #calculateChartConfig(stats: DossierStats): DoughnutChartConfig[] { - const documentsChartData: DoughnutChartConfig[] = Object.keys(stats.fileCountPerWorkflowStatus).map(status => ({ + #calculateChartConfig(stats: DossierStats): DonutChartConfig[] { + const documentsChartConfig: DonutChartConfig[] = Object.keys(stats.fileCountPerWorkflowStatus).map(status => ({ value: stats.fileCountPerWorkflowStatus[status], color: status, label: workflowFileStatusTranslations[status], key: status, })); - documentsChartData.sort((a, b) => StatusSorter.byStatus(a.key, b.key)); - return this.translateChartService.translateLabels(documentsChartData); + documentsChartConfig.sort((a, b) => StatusSorter.byStatus(a.key, b.key)); + return this.translateChartService.translateLabels(documentsChartConfig); } #calculateStatusConfig(stats: DossierStats): ProgressBarConfigModel[] { diff --git a/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.html b/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.html index 65ece10d7..759d2b5a9 100644 --- a/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.html +++ b/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.html @@ -1,10 +1,10 @@
- + >
@@ -26,10 +26,10 @@
- + >
diff --git a/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.ts b/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.ts index 2f37d9924..b8f747e2f 100644 --- a/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.ts +++ b/apps/red-ui/src/app/modules/dossiers-listing/components/dossiers-listing-details/dossiers-listing-details.component.ts @@ -1,8 +1,8 @@ import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { DashboardStats, DoughnutChartConfig } from '@red/domain'; +import { DashboardStats, DonutChartConfig } from '@red/domain'; import { Observable } from 'rxjs'; import { TranslateChartService } from '@services/translate-chart.service'; -import { map, pluck } from 'rxjs/operators'; +import { map } from 'rxjs/operators'; import { DashboardStatsService } from '@services/dossier-templates/dashboard-stats.service'; import { ActivatedRoute } from '@angular/router'; import { DOSSIER_TEMPLATE_ID } from '@utils/constants'; @@ -15,8 +15,8 @@ import { DOSSIER_TEMPLATE_ID } from '@utils/constants'; }) export class DossiersListingDetailsComponent { readonly stats$: Observable; - readonly documentsChartData$: Observable; - readonly dossiersChartData$: Observable; + readonly documentsChartConfig$: Observable; + readonly dossiersChartConfig$: Observable; constructor( route: ActivatedRoute, @@ -26,13 +26,13 @@ export class DossiersListingDetailsComponent { const dossierTemplateId: string = route.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID); this.stats$ = dashboardStatsService.getEntityChanged$(dossierTemplateId); - this.dossiersChartData$ = this.stats$.pipe( - pluck('dossiersChartData'), - map(data => this._translateChartService.translateDossierStates(data, dossierTemplateId)), + this.dossiersChartConfig$ = this.stats$.pipe( + map(stats => stats.dossiersChartConfig), + map(data => _translateChartService.translateDossierStates(data, dossierTemplateId)), ); - this.documentsChartData$ = this.stats$.pipe( - pluck('documentsChartData'), - map(data => this._translateChartService.translateWorkflowStatus(data)), + this.documentsChartConfig$ = this.stats$.pipe( + map(stats => stats.documentsChartConfig), + map(data => _translateChartService.translateWorkflowStatus(data)), ); } } diff --git a/apps/red-ui/src/app/modules/shared/components/simple-doughnut-chart/simple-doughnut-chart.component.html b/apps/red-ui/src/app/modules/shared/components/donut-chart/donut-chart.component.html similarity index 95% rename from apps/red-ui/src/app/modules/shared/components/simple-doughnut-chart/simple-doughnut-chart.component.html rename to apps/red-ui/src/app/modules/shared/components/donut-chart/donut-chart.component.html index e60f9535e..28ead10a9 100644 --- a/apps/red-ui/src/app/modules/shared/components/simple-doughnut-chart/simple-doughnut-chart.component.html +++ b/apps/red-ui/src/app/modules/shared/components/donut-chart/donut-chart.component.html @@ -27,7 +27,7 @@ (click)="val.key && selectValue(val.key)" *ngFor="let val of config" [class.active]="filterChecked$(val.key) | async" - [class.filter-disabled]="!val.key || !filtersEnabled" + [class.filter-disabled]="!val.key || !(filters$ | async).length" >