From fa55c645edc387db2368f0a46b9b66df03952f41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Thu, 3 Jun 2021 17:53:47 +0300 Subject: [PATCH 1/2] Dossier listing quick filters --- .../confirm-delete-users-dialog.component.ts | 4 +- .../dictionary-overview-screen.component.ts | 4 +- .../dossier-details.component.ts | 2 +- .../dossier-listing-actions.component.ts | 4 +- .../dossier-listing-details.component.ts | 2 +- .../file-workload.component.html | 4 +- .../file-workload/file-workload.component.ts | 2 +- .../team-members-manager.component.ts | 10 +-- .../type-filter/type-filter.component.ts | 2 +- .../dossier-dictionary-dialog.component.ts | 4 +- .../edit-dossier-dictionary.component.ts | 4 +- .../dossier-listing-screen.component.html | 49 ++++++------ .../dossier-listing-screen.component.scss | 4 + .../dossier-listing-screen.component.ts | 74 +++++++++++++------ .../dossier-overview-screen.component.html | 12 +-- .../dossier-overview-screen.component.ts | 23 +++--- .../file-preview-screen.component.ts | 7 +- .../services/annotation-processing.service.ts | 4 +- .../shared/base/base-listing.component.ts | 9 ++- .../popup-filter}/model/filter.model.ts | 0 .../popup-filter/popup-filter.component.html} | 0 .../popup-filter/popup-filter.component.scss} | 2 +- .../popup-filter/popup-filter.component.ts} | 8 +- .../popup-filter}/utils/filter-utils.ts | 32 ++++---- .../quick-filters.component.html | 8 ++ .../quick-filters.component.scss | 32 ++++++++ .../quick-filters/quick-filters.component.ts | 29 ++++++++ .../simple-doughnut-chart.component.ts | 2 +- .../src/app/modules/shared/shared.module.ts | 9 ++- apps/red-ui/src/assets/i18n/en.json | 6 ++ 30 files changed, 240 insertions(+), 112 deletions(-) rename apps/red-ui/src/app/modules/shared/components/{filter => filters/popup-filter}/model/filter.model.ts (100%) rename apps/red-ui/src/app/modules/shared/components/{filter/filter.component.html => filters/popup-filter/popup-filter.component.html} (100%) rename apps/red-ui/src/app/modules/shared/components/{filter/filter.component.scss => filters/popup-filter/popup-filter.component.scss} (90%) rename apps/red-ui/src/app/modules/shared/components/{filter/filter.component.ts => filters/popup-filter/popup-filter.component.ts} (95%) rename apps/red-ui/src/app/modules/shared/components/{filter => filters/popup-filter}/utils/filter-utils.ts (84%) create mode 100644 apps/red-ui/src/app/modules/shared/components/filters/quick-filters/quick-filters.component.html create mode 100644 apps/red-ui/src/app/modules/shared/components/filters/quick-filters/quick-filters.component.scss create mode 100644 apps/red-ui/src/app/modules/shared/components/filters/quick-filters/quick-filters.component.ts diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts index 0f48fea5c..c02558f73 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts @@ -21,9 +21,9 @@ export class ConfirmDeleteUsersDialogComponent { private readonly _appStateService: AppStateService, public dialogRef: MatDialogRef ) { - this.dossiersCount = this._appStateService.allDossiers.filter(pw => { + this.dossiersCount = this._appStateService.allDossiers.filter(dw => { for (const user of this.users) { - if (pw.memberIds.indexOf(user.userId) !== -1) { + if (dw.memberIds.indexOf(user.userId) !== -1) { return true; } } diff --git a/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts index 6625e9a75..4c3031908 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts @@ -7,8 +7,8 @@ import { TranslateService } from '@ngx-translate/core'; import { saveAs } from 'file-saver'; import { ComponentHasChanges } from '@guards/can-deactivate.guard'; import { AdminDialogService } from '../../services/admin-dialog.service'; -import { DictionaryManagerComponent } from '../../../shared/components/dictionary-manager/dictionary-manager.component'; -import { DictionarySaveService } from '../../../shared/services/dictionary-save.service'; +import { DictionaryManagerComponent } from '@shared/components/dictionary-manager/dictionary-manager.component'; +import { DictionarySaveService } from '@shared/services/dictionary-save.service'; import { TypeValueWrapper } from '../../../../models/file/type-value.wrapper'; @Component({ diff --git a/apps/red-ui/src/app/modules/dossier/components/dossier-details/dossier-details.component.ts b/apps/red-ui/src/app/modules/dossier/components/dossier-details/dossier-details.component.ts index d557f7046..4144e4501 100644 --- a/apps/red-ui/src/app/modules/dossier/components/dossier-details/dossier-details.component.ts +++ b/apps/red-ui/src/app/modules/dossier/components/dossier-details/dossier-details.component.ts @@ -3,11 +3,11 @@ import { AppStateService } from '@state/app-state.service'; import { groupBy } from '@utils/functions'; import { DoughnutChartConfig } from '@shared/components/simple-doughnut-chart/simple-doughnut-chart.component'; import { Router } from '@angular/router'; -import { FilterModel } from '@shared/components/filter/model/filter.model'; import { PermissionsService } from '@services/permissions.service'; import { TranslateChartService } from '@services/translate-chart.service'; import { StatusSorter } from '@utils/sorters/status-sorter'; import { DossiersDialogService } from '../../services/dossiers-dialog.service'; +import { FilterModel } from '@shared/components/filters/popup-filter/model/filter.model'; @Component({ selector: 'redaction-dossier-details', diff --git a/apps/red-ui/src/app/modules/dossier/components/dossier-listing-actions/dossier-listing-actions.component.ts b/apps/red-ui/src/app/modules/dossier/components/dossier-listing-actions/dossier-listing-actions.component.ts index 208c03ad5..ede465beb 100644 --- a/apps/red-ui/src/app/modules/dossier/components/dossier-listing-actions/dossier-listing-actions.component.ts +++ b/apps/red-ui/src/app/modules/dossier/components/dossier-listing-actions/dossier-listing-actions.component.ts @@ -36,8 +36,8 @@ export class DossierListingActionsComponent { }); } - getDossierStatusConfig(pw: DossierWrapper) { - const obj = pw.files.reduce((acc, file) => { + getDossierStatusConfig(dw: DossierWrapper) { + const obj = dw.files.reduce((acc, file) => { const status = file.status; if (!acc[status]) { acc[status] = 1; diff --git a/apps/red-ui/src/app/modules/dossier/components/dossier-listing-details/dossier-listing-details.component.ts b/apps/red-ui/src/app/modules/dossier/components/dossier-listing-details/dossier-listing-details.component.ts index b57f2b1b5..0b2166287 100644 --- a/apps/red-ui/src/app/modules/dossier/components/dossier-listing-details/dossier-listing-details.component.ts +++ b/apps/red-ui/src/app/modules/dossier/components/dossier-listing-details/dossier-listing-details.component.ts @@ -1,7 +1,7 @@ import { Component, EventEmitter, Input, Output } from '@angular/core'; import { DoughnutChartConfig } from '@shared/components/simple-doughnut-chart/simple-doughnut-chart.component'; import { AppStateService } from '@state/app-state.service'; -import { FilterModel } from '@shared/components/filter/model/filter.model'; +import { FilterModel } from '@shared/components/filters/popup-filter/model/filter.model'; @Component({ selector: 'redaction-dossier-listing-details', diff --git a/apps/red-ui/src/app/modules/dossier/components/file-workload/file-workload.component.html b/apps/red-ui/src/app/modules/dossier/components/file-workload/file-workload.component.html index 4a550ce2c..ed53fa1cb 100644 --- a/apps/red-ui/src/app/modules/dossier/components/file-workload/file-workload.component.html +++ b/apps/red-ui/src/app/modules/dossier/components/file-workload/file-workload.component.html @@ -6,14 +6,14 @@ class="all-caps-label primary pointer" translate="file-preview.tabs.annotations.select" > - + >
diff --git a/apps/red-ui/src/app/modules/dossier/components/file-workload/file-workload.component.ts b/apps/red-ui/src/app/modules/dossier/components/file-workload/file-workload.component.ts index 2bf75786f..44e61517c 100644 --- a/apps/red-ui/src/app/modules/dossier/components/file-workload/file-workload.component.ts +++ b/apps/red-ui/src/app/modules/dossier/components/file-workload/file-workload.component.ts @@ -9,13 +9,13 @@ import { TemplateRef, ViewChild } from '@angular/core'; -import { FilterModel } from '@shared/components/filter/model/filter.model'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { AnnotationProcessingService } from '../../services/annotation-processing.service'; import { MatDialogRef, MatDialogState } from '@angular/material/dialog'; import scrollIntoView from 'scroll-into-view-if-needed'; import { debounce } from '@utils/debounce'; import { FileDataModel } from '@models/file/file-data.model'; +import { FilterModel } from '@shared/components/filters/popup-filter/model/filter.model'; const COMMAND_KEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Escape']; const ALL_HOTKEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']; diff --git a/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.ts b/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.ts index ff746d625..98b759cfa 100644 --- a/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.ts +++ b/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.ts @@ -92,11 +92,11 @@ export class TeamMembersManagerComponent implements OnInit { const ownerId = this.selectedOwnerId; const memberIds = this.selectedMembersList; const approverIds = this.selectedApproversList; - const pw = Object.assign({}, this.dossierWrapper); - pw.dossier.memberIds = memberIds; - pw.dossier.approverIds = approverIds; - pw.dossier.ownerId = ownerId; - result = await this._appStateService.addOrUpdateDossier(pw.dossier); + const dw = Object.assign({}, this.dossierWrapper); + dw.dossier.memberIds = memberIds; + dw.dossier.approverIds = approverIds; + dw.dossier.ownerId = ownerId; + result = await this._appStateService.addOrUpdateDossier(dw.dossier); this.save.emit(result); } catch (error) { this._notificationService.showToastNotification( diff --git a/apps/red-ui/src/app/modules/dossier/components/type-filter/type-filter.component.ts b/apps/red-ui/src/app/modules/dossier/components/type-filter/type-filter.component.ts index cc34c5248..4b551a172 100644 --- a/apps/red-ui/src/app/modules/dossier/components/type-filter/type-filter.component.ts +++ b/apps/red-ui/src/app/modules/dossier/components/type-filter/type-filter.component.ts @@ -1,6 +1,6 @@ import { Component, Input, OnInit } from '@angular/core'; -import { FilterModel } from '@shared/components/filter/model/filter.model'; import { AppStateService } from '@state/app-state.service'; +import { FilterModel } from '@shared/components/filters/popup-filter/model/filter.model'; @Component({ selector: 'redaction-type-filter', diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/dossier-dictionary-dialog/dossier-dictionary-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/dossier-dictionary-dialog/dossier-dictionary-dialog.component.ts index 5032c4f56..179bc9acd 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/dossier-dictionary-dialog/dossier-dictionary-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/dossier-dictionary-dialog/dossier-dictionary-dialog.component.ts @@ -1,8 +1,8 @@ import { Component, Inject, ViewChild } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { DossierWrapper } from '../../../../state/model/dossier.wrapper'; -import { DictionaryManagerComponent } from '../../../shared/components/dictionary-manager/dictionary-manager.component'; -import { DictionarySaveService } from '../../../shared/services/dictionary-save.service'; +import { DictionaryManagerComponent } from '@shared/components/dictionary-manager/dictionary-manager.component'; +import { DictionarySaveService } from '@shared/services/dictionary-save.service'; import { AppStateService } from '../../../../state/app-state.service'; import { PermissionsService } from '../../../../services/permissions.service'; diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts index 05718d395..17dd822a0 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts @@ -2,9 +2,9 @@ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core import { AppStateService } from '../../../../../state/app-state.service'; import { DossierWrapper } from '../../../../../state/model/dossier.wrapper'; import { EditDossierSectionInterface } from '../edit-dossier-section.interface'; -import { DictionarySaveService } from '../../../../shared/services/dictionary-save.service'; -import { DictionaryManagerComponent } from '../../../../shared/components/dictionary-manager/dictionary-manager.component'; import { PermissionsService } from '../../../../../services/permissions.service'; +import { DictionaryManagerComponent } from '@shared/components/dictionary-manager/dictionary-manager.component'; +import { DictionarySaveService } from '@shared/services/dictionary-save.service'; @Component({ selector: 'redaction-edit-dossier-dictionary', diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.html b/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.html index 75f56b59b..3d43f24f9 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.html @@ -2,36 +2,36 @@