From 155bca1079bf65bd42aa027dcdb08167b481e51c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Mon, 25 Oct 2021 16:12:02 +0300 Subject: [PATCH] RED-2533: Remove status filter from workflow view --- .../user-listing-screen.component.ts | 12 +++--- .../dossier-overview/config.service.ts | 43 ++++++++++++------- .../dossier-overview-screen.component.ts | 7 ++- .../search-screen/search-screen.component.ts | 30 +++++++------ libs/common-ui | 2 +- 5 files changed, 58 insertions(+), 36 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts index 5ec748141..e5cced318 100644 --- a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts @@ -132,10 +132,12 @@ export class UserListingScreenComponent extends ListingComponent implement }), ); - this.filterService.addFilterGroup({ - slug: 'roleFilters', - filters: roleFilters, - checker: userTypeChecker, - }); + this.filterService.addFilterGroups([ + { + slug: 'roleFilters', + filters: roleFilters, + checker: userTypeChecker, + }, + ]); } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/config.service.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/config.service.ts index 59d27e3cd..197aae0f5 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/config.service.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/config.service.ts @@ -1,5 +1,15 @@ import { Injectable, TemplateRef } from '@angular/core'; -import { IFilterGroup, INestedFilter, keyChecker, LoadingService, NestedFilter, TableColumnConfig, WorkflowConfig } from '@iqser/common-ui'; +import { + IFilterGroup, + INestedFilter, + keyChecker, + ListingMode, + ListingModes, + LoadingService, + NestedFilter, + TableColumnConfig, + WorkflowConfig, +} from '@iqser/common-ui'; import { File } from '@models/file/file'; import { fileStatusTranslations } from '../../translations/file-status-translations'; import { FileStatus, FileStatuses, IFileAttributeConfig } from '@redaction/red-ui-http'; @@ -122,6 +132,7 @@ export class ConfigService { filterGroups( entities: File[], + listingMode: ListingMode, fileAttributeConfigs: IFileAttributeConfig[], needsWorkFilterTemplate: TemplateRef, checkedRequiredFilters: () => NestedFilter[], @@ -181,21 +192,23 @@ export class ConfigService { }); }); - const statusFilters = [...allDistinctFileStatuses].map( - status => - new NestedFilter({ - id: status, - label: this._translateService.instant(fileStatusTranslations[status]), - }), - ); + if (listingMode === ListingModes.table) { + const statusFilters = [...allDistinctFileStatuses].map( + status => + new NestedFilter({ + id: status, + label: this._translateService.instant(fileStatusTranslations[status]), + }), + ); - filterGroups.push({ - slug: 'statusFilters', - label: this._translateService.instant('filters.status'), - icon: 'red:status', - filters: statusFilters.sort((a, b) => StatusSorter[a.id] - StatusSorter[b.id]), - checker: keyChecker('status'), - }); + filterGroups.push({ + slug: 'statusFilters', + label: this._translateService.instant('filters.status'), + icon: 'red:status', + filters: statusFilters.sort((a, b) => StatusSorter[a.id] - StatusSorter[b.id]), + checker: keyChecker('status'), + }); + } const peopleFilters: NestedFilter[] = []; if (allDistinctPeople.has(undefined) || allDistinctPeople.has(null)) { diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/screen/dossier-overview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/screen/dossier-overview-screen.component.ts index d8ea730a8..6e444ce63 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/screen/dossier-overview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/screen/dossier-overview-screen.component.ts @@ -159,6 +159,10 @@ export class DossierOverviewScreenComponent extends ListingComponent imple this.calculateData(); }); + this.addSubscription = this.listingMode$.subscribe(() => { + this._computeAllFilters(); + }); + // this.addSubscription = this._appStateService.fileChanged$.subscribe(() => { // this.calculateData(); // }); @@ -316,11 +320,12 @@ export class DossierOverviewScreenComponent extends ListingComponent imple const filterGroups = this._configService.filterGroups( this.entitiesService.all, + this.listingMode, this._fileAttributeConfigs, this._needsWorkFilterTemplate, () => this.checkedRequiredFilters, () => this.checkedNotRequiredFilters, ); - this.filterService.addFilterGroups(filterGroups); + this.filterService.addFilterGroups(filterGroups, true); } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.ts index 6607f2927..7f63f7a04 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.ts @@ -76,20 +76,22 @@ export class SearchScreenComponent extends ListingComponent implements super(_injector); this.searchService.skip = true; - this.filterService.addFilterGroup({ - slug: 'dossiers', - label: this._translateService.instant('search-screen.filters.by-dossier'), - filterceptionPlaceholder: this._translateService.instant('search-screen.filters.search-placeholder'), - icon: 'red:folder', - filters: this._dossiersService.all.map( - dossier => - new NestedFilter({ - id: dossier.id, - label: dossier.dossierName, - }), - ), - checker: keyChecker('dossierId'), - }); + this.filterService.addFilterGroups([ + { + slug: 'dossiers', + label: this._translateService.instant('search-screen.filters.by-dossier'), + filterceptionPlaceholder: this._translateService.instant('search-screen.filters.search-placeholder'), + icon: 'red:folder', + filters: this._dossiersService.all.map( + dossier => + new NestedFilter({ + id: dossier.id, + label: dossier.dossierName, + }), + ), + checker: keyChecker('dossierId'), + }, + ]); this.addSubscription = _activatedRoute.queryParamMap .pipe(map(value => ({ query: value.get('query'), dossierId: value.get('dossierId') }))) diff --git a/libs/common-ui b/libs/common-ui index 9461df16f..defdc2af4 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 9461df16f71186ea40b365622900b03d7f7bb387 +Subproject commit defdc2af4e226ca8bb17df6c4d1cdd85130cfce5