From 5eb5bfed24784f5828a4547de7390dceb6f9d596 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Fri, 8 Sep 2023 15:49:38 +0300 Subject: [PATCH] DM-358 - set some keys depending on user roles --- .../admin-side-nav.component.ts | 8 +-- .../workflow-item.component.html | 1 - .../dossier-overview-screen.component.html | 1 + .../services/viewer-header.service.ts | 11 ++-- .../file-actions/file-actions.component.html | 1 + .../file-actions/file-actions.component.ts | 2 +- .../expandable-file-actions.component.ts | 5 +- .../src/assets/help-mode/help-mode-keys.json | 53 ++++++++++++++++--- libs/common-ui | 2 +- 9 files changed, 65 insertions(+), 19 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/shared/components/admin-side-nav/admin-side-nav.component.ts b/apps/red-ui/src/app/modules/admin/shared/components/admin-side-nav/admin-side-nav.component.ts index bda7582d2..c6d00944c 100644 --- a/apps/red-ui/src/app/modules/admin/shared/components/admin-side-nav/admin-side-nav.component.ts +++ b/apps/red-ui/src/app/modules/admin/shared/components/admin-side-nav/admin-side-nav.component.ts @@ -86,13 +86,13 @@ export class AdminSideNavComponent implements OnInit { { screen: 'info', label: _('admin-side-nav.dossier-template-info'), - helpModeKey: 'user_dossier_template_info', + helpModeKey: this.currentUser.isAdmin ? 'dossier_templates_info' : 'user_dossier_template_info', show: true, }, { screen: 'entities', label: _('admin-side-nav.entities'), - helpModeKey: 'user_dossier_template_entities', + helpModeKey: this.currentUser.isAdmin ? 'entities' : 'user_dossier_template_entities', show: true, }, { @@ -127,14 +127,14 @@ export class AdminSideNavComponent implements OnInit { { screen: 'dossier-states', label: _('admin-side-nav.dossier-states'), - helpModeKey: 'user_dossier_template_dossier_states', + helpModeKey: this.currentUser.isAdmin ? 'dossier_states' : 'user_dossier_template_dossier_states', show: true, }, { screen: 'reports', label: _('admin-side-nav.reports'), show: this._permissionsService.has([Roles.reportTemplates.read]), - helpModeKey: 'user_dossier_template_reports', + helpModeKey: this.currentUser.isAdmin ? 'admin_reports' : 'user_dossier_template_reports', }, { screen: 'justifications', diff --git a/apps/red-ui/src/app/modules/dossier-overview/components/workflow-item/workflow-item.component.html b/apps/red-ui/src/app/modules/dossier-overview/components/workflow-item/workflow-item.component.html index ef0077397..3abb7e2bd 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/components/workflow-item/workflow-item.component.html +++ b/apps/red-ui/src/app/modules/dossier-overview/components/workflow-item/workflow-item.component.html @@ -35,7 +35,6 @@
diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts index 53d356531..aaeab41d8 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts @@ -1,11 +1,11 @@ import { inject, Injectable, NgZone } from '@angular/core'; -import { getConfig, IqserPermissionsService, isIqserDevMode } from '@iqser/common-ui'; +import { getConfig, HelpModeService, IqserPermissionsService, isIqserDevMode } from '@iqser/common-ui'; import { BASE_HREF_FN } from '@iqser/common-ui/lib/utils'; import { TranslateService } from '@ngx-translate/core'; import { IHeaderElement, RotationTypes } from '@red/domain'; import { FilesMapService } from '@services/files/files-map.service'; import { Roles } from '@users/roles'; -import { fromEvent, Observable, Subject } from 'rxjs'; +import { fromEvent, merge, Observable, Subject } from 'rxjs'; import { filter, map, tap } from 'rxjs/operators'; import { HeaderElements, HeaderElementType } from '../../file-preview/utils/constants'; import { ROTATION_ACTION_BUTTONS, ROTATION_BUTTONS, ViewerEvents } from '../utils/constants'; @@ -56,6 +56,7 @@ export class ViewerHeaderService { private readonly _layersService: LayersService, private readonly _readableRedactionsService: ReadableRedactionsService, private readonly _ngZone: NgZone, + private readonly _helpModeService: HelpModeService, ) { this.events$ = this.#events$.asObservable(); } @@ -224,9 +225,9 @@ export class ViewerHeaderService { } get #toggleLoadAnnotations$() { - return this.expandedPanelEvent$.pipe( - tap(isVisible => - isVisible ? this.enable([HeaderElements.LOAD_ALL_ANNOTATIONS]) : this.disable([HeaderElements.LOAD_ALL_ANNOTATIONS]), + return merge(this.expandedPanelEvent$, this._helpModeService.isHelpModeActive$).pipe( + tap(enable => + enable ? this.enable([HeaderElements.LOAD_ALL_ANNOTATIONS]) : this.disable([HeaderElements.LOAD_ALL_ANNOTATIONS]), ), ); } diff --git a/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.html b/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.html index c5bef082f..1f9e0bfc3 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.html +++ b/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.html @@ -19,6 +19,7 @@ [minWidth]="minWidth" [tooltipPosition]="tooltipPosition" [helpModeKeyPrefix]="helpModeKeyPrefix" + [isDossierOverviewWorkflow]="isDossierOverviewWorkflow" >
diff --git a/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts index 7cb4e52ae..435ad2955 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/components/file-actions/file-actions.component.ts @@ -272,7 +272,7 @@ export class FileActionsComponent implements OnChanges { class: { 'mr-24': this.isDossierOverviewList }, checked: !this.file.excluded, show: this.showToggleAnalysis, - helpModeKey: 'disable_redaction', + helpModeKey: 'disable_extraction', }, ]; diff --git a/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts b/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts index 801535379..e7b8fd5a5 100644 --- a/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts @@ -21,6 +21,7 @@ export class ExpandableFileActionsComponent implements OnChanges { @Input() buttonType: CircleButtonType; @Input() tooltipPosition: IqserTooltipPosition; @Input() helpModeKeyPrefix: 'dossier' | 'editor'; + @Input() isDossierOverviewWorkflow = false; displayedButtons: Action[]; hiddenButtons: Action[]; @@ -75,7 +76,9 @@ export class ExpandableFileActionsComponent implements OnChanges { } helpModeKey(action: Action) { - return action.helpModeKey ? `${this.helpModeKeyPrefix}_${action.helpModeKey}` : ''; + return action.helpModeKey + ? `${this.helpModeKeyPrefix}${this.isDossierOverviewWorkflow ? '_workflow' : ''}_${action.helpModeKey}` + : ''; } onButtonClick(button: Action, $event: MouseEvent) { diff --git a/apps/red-ui/src/assets/help-mode/help-mode-keys.json b/apps/red-ui/src/assets/help-mode/help-mode-keys.json index 9c7b9a9c5..061fba14e 100644 --- a/apps/red-ui/src/assets/help-mode/help-mode-keys.json +++ b/apps/red-ui/src/assets/help-mode/help-mode-keys.json @@ -227,6 +227,10 @@ "elementKey": "user_dossier_template_info", "documentKey": "user_dossier_template_info" }, + { + "elementKey": "dossier_templates_info", + "documentKey": "dossier_templates_info" + }, { "elementKey": "entities", "documentKey": "entities" @@ -301,6 +305,10 @@ "elementKey": "user_dossier_template_dossier_states", "documentKey": "user_dossier_template_dossier_states" }, + { + "elementKey": "dossier_states", + "documentKey": "dossier_states" + }, { "elementKey": "create_new_dossier_state", "documentKey": "create_new_dossier_state" @@ -318,6 +326,10 @@ "elementKey": "user_dossier_template_reports", "documentKey": "user_dossier_template_reports" }, + { + "elementKey": "admin_reports", + "documentKey": "reports" + }, { "elementKey": "justifications", "documentKey": "justifications" @@ -464,10 +476,40 @@ "scrollableParentView": "VIRTUAL_SCROLL" }, { - "elementKey": "dossier_disable_redaction", - "documentKey": "dossier_disable_redaction", + "elementKey": "dossier_disable_extraction", + "documentKey": "dossier_disable_extraction", "scrollableParentView": "VIRTUAL_SCROLL" }, + { + "elementKey": "dossier_workflow_delete_file", + "documentKey": "dossier_delete_file", + "scrollableParentView": "WORKFLOW_VIEW" + }, + { + "elementKey": "dossier_workflow_assign_user", + "documentKey": "dossier_assign_user", + "scrollableParentView": "WORKFLOW_VIEW" + }, + { + "elementKey": "dossier_workflow_change_status", + "documentKey": "dossier_change_status", + "scrollableParentView": "WORKFLOW_VIEW" + }, + { + "elementKey": "dossier_workflow_stop_analysis", + "documentKey": "dossier_stop_analysis", + "scrollableParentView": "WORKFLOW_VIEW" + }, + { + "elementKey": "dossier_workflow_download", + "documentKey": "dossier_download", + "scrollableParentView": "WORKFLOW_VIEW" + }, + { + "elementKey": "dossier_workflow_disable_extraction", + "documentKey": "dossier_disable_extraction", + "scrollableParentView": "WORKFLOW_VIEW" + }, { "elementKey": "workload_page_list", "documentKey": "workload_page_list" @@ -494,8 +536,8 @@ "documentKey": "editor_download" }, { - "elementKey": "editor_disable_redaction", - "documentKey": "editor_disable_redaction" + "elementKey": "editor_disable_extraction", + "documentKey": "editor_disable_extraction" }, { "elementKey": "editor_scm", @@ -525,8 +567,7 @@ }, { "elementKey": "scm_export_DIALOG", - "documentKey": "scm_export", - "scrollableParentView": "SCM_EDIT_DIALOG" + "documentKey": "scm_export" }, { "elementKey": "resize_annotation", diff --git a/libs/common-ui b/libs/common-ui index c83eb568d..4f4123cd5 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit c83eb568db039e60db49d96b5a99af204b0bdd99 +Subproject commit 4f4123cd5d1780a962d9df350137cc4b244b66c9