Merge branch 'VM/RED-6510'

This commit is contained in:
Valentin Mihai 2023-04-10 18:42:38 +03:00
commit 7eff34ca89
57 changed files with 468 additions and 679 deletions

View File

@ -10,6 +10,7 @@ import {
CircleButtonComponent,
CommonUiModule,
EmptyStateComponent,
HelpModeKey,
HiddenActionDirective,
IconButtonComponent,
InputWithActionComponent,
@ -50,7 +51,7 @@ import { REDMissingTranslationHandler } from '@utils/missing-translations-handle
import { ConfigService } from '@services/config.service';
import { SpotlightSearchComponent } from '@components/spotlight-search/spotlight-search.component';
import { DatePipe } from '@shared/pipes/date.pipe';
import * as links from '../assets/help-mode/links.json';
import * as helpModeKeys from '../assets/help-mode/help-mode-keys.json';
import { BreadcrumbsComponent } from '@components/breadcrumbs/breadcrumbs.component';
import { UserPreferenceService } from '@users/user-preference.service';
import { UserService } from '@users/user.service';
@ -99,7 +100,7 @@ export const appModuleFactory = (config: AppConfig) => {
existingRoleGuard: RedRoleGuard,
}),
CachingModule.forRoot(UI_CACHES),
IqserHelpModeModule.forRoot(links),
IqserHelpModeModule.forRoot(helpModeKeys as HelpModeKey[]),
PdfViewerModule,
ToastrModule.forRoot({
closeButton: true,

View File

@ -10,7 +10,7 @@
</div>
<a [matTooltip]="'top-bar.navigation-items.back-to-dashboard' | translate" [routerLink]="['/'] | tenant" class="logo">
<div [iqserHelpMode]="'home'" class="actions">
<div [attr.help-mode-key]="'home'" class="actions">
<iqser-logo (iqserHiddenAction)="userPreferenceService.toggleDevFeatures()" icon="red:logo"></iqser-logo>
<div class="app-name">{{ titleService.getTitle() }}</div>
</div>
@ -21,19 +21,19 @@
<redaction-spotlight-search
*allow="roles.search; if: (isSearchScreen$ | async) === false && (currentUser.isUser || currentUser.isManager)"
[actions]="searchActions"
[iqserHelpMode]="'search_in_entire_application'"
[placeholder]="'search.placeholder' | translate"
[attr.help-mode-key]="'search_in_entire_application'"
></redaction-spotlight-search>
<iqser-help-button *deny="roles.getRss" [iqserHelpMode]="'help_mode'" id="help-mode-button"></iqser-help-button>
<iqser-help-button *deny="roles.getRss" [attr.help-mode-key]="'help_mode'" id="help-mode-button"></iqser-help-button>
<redaction-notifications
*ngIf="currentUser.isUser || currentUser.isManager"
[iqserHelpMode]="'open_notifications'"
[attr.help-mode-key]="'open_notifications'"
></redaction-notifications>
</div>
<iqser-user-button [iqserHelpMode]="'open_usermenu'" [matMenuTriggerFor]="userMenu" id="userMenu"></iqser-user-button>
<iqser-user-button [attr.help-mode-key]="'open_usermenu'" [matMenuTriggerFor]="userMenu" id="userMenu"></iqser-user-button>
<mat-menu #userMenu="matMenu" xPosition="before">
<div id="user-menu-items">

View File

@ -1,4 +1,4 @@
<div *ngIf="breadcrumbsService.breadcrumbs$ | async as breadcrumbs" [iqserHelpMode]="'navigate_in_breadcrumbs'" class="breadcrumbs">
<div *ngIf="breadcrumbsService.breadcrumbs$ | async as breadcrumbs" [attr.help-mode-key]="'navigate_in_breadcrumbs'" class="breadcrumbs">
<a *ngIf="breadcrumbs.length === 0; else items" class="breadcrumb back" redactionNavigateLastDossiersScreen>
<mat-icon svgIcon="iqser:expand"></mat-icon>
{{ 'top-bar.navigation-items.back' | translate }}

View File

@ -2,9 +2,9 @@
<ng-container *ngFor="let item of items">
<div
*ngIf="item.show"
[iqserHelpMode]="'user_account'"
[routerLinkActiveOptions]="{ exact: false }"
[routerLink]="'../' + item.screen"
[attr.help-mode-key]="'user_account'"
class="item"
routerLinkActive="active"
>

View File

@ -93,7 +93,7 @@
></iqser-icon-button>
<iqser-help-button
*deny="roles.getRss; if: !!dossierTemplate"
helpButtonKey="edit_clone_delete_dossier_templates"
[helpButtonKey]="'edit_clone_delete_dossier_templates'"
></iqser-help-button>
</div>
</form>

View File

@ -20,7 +20,7 @@
[submit]="true"
[type]="iconButtonTypes.primary"
></iqser-icon-button>
<iqser-help-button *deny="roles.getRss" helpButtonKey="create_new_entity"></iqser-help-button>
<iqser-help-button *deny="roles.getRss" [helpButtonKey]="'create_new_entity'"></iqser-help-button>
</div>
<iqser-circle-button (action)="close()" class="dialog-close" icon="iqser:close"></iqser-circle-button>

View File

@ -40,8 +40,7 @@
<iqser-circle-button
(action)="openEditColorDialog(entity)"
*allow="roles.colors.write; if: currentUser.isAdmin"
[iqserHelpMode]="'default_colors'"
[overlappingElements]="['USER_MENU']"
[attr.help-mode-key]="'default_colors'"
[tooltip]="'default-colors-screen.action.edit' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:edit"

View File

@ -35,10 +35,9 @@
<iqser-icon-button
(action)="openAddEditAttributeDialog()"
*ngIf="canEditDossierAttributes"
[iqserHelpMode]="'create_new_dossier_attribute'"
[label]="'dossier-attributes-listing.add-new' | translate"
[overlappingElements]="['USER_MENU']"
[type]="iconButtonTypes.primary"
[attr.help-mode-key]="'create_new_dossier_attribute'"
icon="iqser:plus"
></iqser-icon-button>
</div>
@ -67,7 +66,7 @@
<div class="cell">
<div *ngIf="canEditDossierAttributes" class="action-buttons">
<div [iqserHelpMode]="'edit_delete_dossier_attributes'" [overlappingElements]="['USER_MENU']">
<div [attr.help-mode-key]="'edit_delete_dossier_attributes'">
<iqser-circle-button
(action)="openAddEditAttributeDialog(attribute)"
[tooltip]="'dossier-attributes-listing.action.edit' | translate"

View File

@ -31,9 +31,9 @@
<iqser-icon-button
(action)="openAddStateDialog()"
*ngIf="permissionsService.canPerformDossierStatesActions()"
[iqserHelpMode]="'create_new_dossier_state'"
[label]="'dossier-states-listing.add-new' | translate"
[type]="iconButtonTypes.primary"
[attr.help-mode-key]="'create_new_dossier_state'"
icon="iqser:plus"
></iqser-icon-button>
</div>

View File

@ -15,7 +15,7 @@
<div class="cell">
<div *ngIf="permissionsService.canPerformDossierStatesActions()" class="action-buttons">
<div [iqserHelpMode]="'edit_delete_dossier_state'">
<div [attr.help-mode-key]="'edit_delete_dossier_state'">
<iqser-circle-button
(action)="openEditStateDialog(state)"
[tooltip]="'dossier-states-listing.action.edit' | translate"

View File

@ -1,5 +1,5 @@
<div class="cell">
<div [iqserHelpMode]="'dossier_templates'">
<div [attr.help-mode-key]="'dossier_templates'">
<div [matTooltipPosition]="'above'" [matTooltip]="dossierTemplate.name" class="table-item-title heading">
{{ dossierTemplate.name }}
</div>

View File

@ -57,10 +57,9 @@
<iqser-icon-button
(action)="openAddEntityDialog()"
*ngIf="permissionsService.canEditEntities()"
[iqserHelpMode]="'create_new_entity'"
[label]="'entities-listing.add-new' | translate"
[overlappingElements]="['USER_MENU']"
[type]="iconButtonTypes.primary"
[attr.help-mode-key]="'create_new_entity'"
icon="iqser:plus"
></iqser-icon-button>
</div>
@ -71,7 +70,7 @@
<ng-template #tableItemTemplate let-entity="entity">
<div *ngIf="cast(entity) as dict">
<div class="cell">
<div [iqserHelpMode]="'entities'">
<div [attr.help-mode-key]="'entities'">
<div [ngStyle]="{ 'background-color': dict.hexColor }" class="color-square"></div>
<div class="dict-name">
<div class="table-item-title heading">
@ -99,7 +98,7 @@
</div>
<div class="action-buttons">
<div [iqserHelpMode]="'edit_delete_entities'" [overlappingElements]="['USER_MENU']">
<div [attr.help-mode-key]="'edit_delete_entities'">
<iqser-circle-button
(action)="openDeleteEntitiesDialog([dict])"
*ngIf="permissionsService.canDeleteEntities(dict)"

View File

@ -27,7 +27,7 @@
<div (click)="revert()" [translate]="'entity.info.actions.revert'" class="all-caps-label cancel"></div>
<iqser-help-button *deny="roles.getRss" helpButtonKey="edit_delete_entities"></iqser-help-button>
<iqser-help-button *deny="roles.getRss" [helpButtonKey]="'edit_delete_entities'"></iqser-help-button>
</div>
</div>
</div>

View File

@ -43,9 +43,9 @@
<iqser-circle-button
(action)="fileInput.click()"
*allow="roles.fileAttributes.writeConfig; if: currentUser.isAdmin"
[iqserHelpMode]="'upload_file_attribute'"
[tooltip]="'file-attributes-listing.upload-csv' | translate"
[type]="circleButtonTypes.dark"
[attr.help-mode-key]="'upload_file_attribute'"
icon="iqser:upload"
tooltipPosition="above"
></iqser-circle-button>
@ -53,10 +53,9 @@
<iqser-circle-button
(action)="openConfigurationsDialog()"
*allow="roles.fileAttributes.writeConfig; if: currentUser.isAdmin"
[iqserHelpMode]="'upload_file_attribute'"
[overlappingElements]="['USER_MENU']"
[tooltip]="'file-attributes-listing.configurations' | translate"
[type]="circleButtonTypes.dark"
[attr.help-mode-key]="'upload_file_attribute'"
icon="iqser:settings"
tooltipPosition="above"
></iqser-circle-button>
@ -64,9 +63,8 @@
<iqser-icon-button
(action)="openAddEditAttributeDialog()"
*ngIf="permissionsService.canEditGlobalFileAttributes()"
[iqserHelpMode]="'create_new_file_attribute'"
[label]="'file-attributes-listing.add-new' | translate"
[overlappingElements]="['USER_MENU']"
[attr.help-mode-key]="'create_new_file_attribute'"
[type]="iconButtonTypes.primary"
icon="iqser:plus"
></iqser-icon-button>
@ -111,7 +109,7 @@
<div class="cell">
<div *ngIf="permissionsService.canEditGlobalFileAttributes()" class="action-buttons">
<div [iqserHelpMode]="'edit_delete_file_attribute'" [overlappingElements]="['USER_MENU']">
<div [attr.help-mode-key]="'edit_delete_file_attribute'">
<iqser-circle-button
(action)="openAddEditAttributeDialog(attribute)"
[tooltip]="'file-attributes-listing.action.edit' | translate"

View File

@ -26,10 +26,10 @@
<div class="dialog-actions">
<iqser-icon-button
[disabled]="form?.invalid || !changed"
[iqserHelpMode]="'general_configurations'"
[label]="'general-config-screen.actions.save' | translate"
[submit]="true"
[type]="iconButtonTypes.primary"
[attr.help-mode-key]="'general_configurations'"
></iqser-icon-button>
</div>
</form>

View File

@ -100,10 +100,10 @@
<div class="dialog-actions">
<iqser-icon-button
[disabled]="form.invalid || !changed"
[iqserHelpMode]="'smtp_configurations'"
[label]="'general-config-screen.actions.save' | translate"
[submit]="true"
[type]="iconButtonTypes.primary"
[attr.help-mode-key]="'smtp_configurations'"
></iqser-icon-button>
<iqser-icon-button

View File

@ -31,10 +31,10 @@
<div class="dialog-actions">
<iqser-icon-button
[disabled]="form.invalid || !changed"
[iqserHelpMode]="'system_configurations'"
[label]="'general-config-screen.actions.save' | translate"
[submit]="true"
[type]="iconButtonTypes.primary"
[attr.help-mode-key]="'system_configurations'"
></iqser-icon-button>
</div>
</form>

View File

@ -31,7 +31,6 @@ export class LicenseScreenComponent {
type: IconButtonTypes.primary,
helpModeKey: 'license_information',
hide: !this.permissionsService.has(ROLES.license.readReport),
overlappingElements: [OverlappingElements.USER_MENU],
},
];

View File

@ -1,6 +1,6 @@
<div *ngIf="licenses$ | async as licenses" class="iqser-input-group w-400">
<mat-form-field>
<mat-select (valueChange)="licenseChanged($event)" *ngIf="value" [(ngModel)]="value" [iqserHelpMode]="'license_information'">
<mat-select (valueChange)="licenseChanged($event)" *ngIf="value" [(ngModel)]="value" [attr.help-mode-key]="'license_information'">
<mat-select-trigger>
<ng-container *ngTemplateOutlet="licenseInfo; context: { license: value }"></ng-container>
</mat-select-trigger>

View File

@ -14,8 +14,7 @@
(toggleChange)="togglePermission(config.searchKey, permission)"
[disabled]="config.isDisabled(permission)"
[checked]="config.isChecked(permission)"
[iqserHelpMode]="'dossier_permissions'"
[overlappingElements]="['USER_MENU']"
[attr.help-mode-key]="'dossier_permissions'"
color="primary"
></mat-slide-toggle>
</div>

View File

@ -24,9 +24,8 @@
<iqser-circle-button
(action)="fileInput.click()"
*allow="roles.reportTemplates.upload; if: currentUser.isAdmin"
[iqserHelpMode]="'reports'"
[overlappingElements]="['USER_MENU']"
[tooltip]="'reports-screen.upload-document' | translate"
[attr.help-mode-key]="'reports'"
icon="iqser:upload"
></iqser-circle-button>
</div>

View File

@ -57,7 +57,7 @@
[checked]="user.active"
[disabled]="!canDeactivate(user)"
[id]="'toggle-active-' + user.id"
[iqserHelpMode]="'activate_deactivate_user'"
[attr.help-mode-key]="'activate_deactivate_user'"
color="primary"
></mat-slide-toggle>
</div>
@ -69,7 +69,7 @@
<div class="cell">
<div class="action-buttons">
<div *allow="roles.users.write" [iqserHelpMode]="'edit_delete_user'">
<div *allow="roles.users.write" [attr.help-mode-key]="'edit_delete_user'">
<iqser-circle-button
(action)="openAddEditUserDialog(user)"
[tooltip]="'user-listing.action.edit' | translate"

View File

@ -63,7 +63,6 @@ export class UserListingScreenComponent extends ListingComponent<User> implement
icon: 'iqser:plus',
disabled$: this._userService.currentUser$.pipe(map(user => !user.isAdmin)),
helpModeKey: 'create_user',
overlappingElements: [OverlappingElements.USER_MENU],
},
];
collapsedDetails = false;

View File

@ -13,11 +13,10 @@
<div class="table-header-actions">
<iqser-icon-button
*allow="roles.watermarks.write; if: currentUser.isAdmin"
[iqserHelpMode]="'create_new_watermark'"
[label]="'watermarks-listing.add-new' | translate"
[overlappingElements]="['USER_MENU']"
[routerLink]="getRouterLink() | tenant"
[type]="iconButtonTypes.primary"
[attr.help-mode-key]="'create_new_watermark'"
icon="iqser:plus"
></iqser-icon-button>
</div>
@ -34,7 +33,7 @@
(toggleChange)="toggleStatus(entity)"
[checked]="entity.enabled"
[disabled]="!currentUser.isAdmin || (permissionsService.has$(roles.watermarks.write) | async) === false"
[iqserHelpMode]="'enable_disable_watermark'"
[attr.help-mode-key]="'enable_disable_watermark'"
color="primary"
></mat-slide-toggle>
</div>
@ -57,7 +56,7 @@
<div class="cell">
<div class="action-buttons">
<div [iqserHelpMode]="'edit_delete_watermark'" [overlappingElements]="['USER_MENU']">
<div [attr.help-mode-key]="'edit_delete_watermark'">
<iqser-circle-button
[routerLink]="getRouterLink(entity) | tenant"
[tooltip]="'watermarks-listing.action.edit' | translate"

View File

@ -3,9 +3,9 @@
<a
*ngIf="item.show"
[class.disabled]="isDisabled(item.screen)"
[iqserHelpMode]="item.helpModeKey"
[routerLinkActiveOptions]="{ exact: false }"
[routerLink]="prefix + item.screen | tenant"
[attr.help-mode-key]="item.helpModeKey"
class="item"
routerLinkActive="active"
>

View File

@ -1,5 +1,5 @@
<div *ngIf="currentUser.isAdmin" [id]="'actions-for-' + dossierTemplateId" class="action-buttons">
<div [iqserHelpMode]="'edit_clone_delete_dossier_templates'" [overlappingElements]="['USER_MENU']">
<div [attr.help-mode-key]="'edit_clone_delete_dossier_templates'">
<iqser-circle-button
(action)="openDeleteDossierTemplateDialog()"
[buttonId]="'delete-dossier-template-btn'"

View File

@ -1,8 +1,8 @@
<a
*ngIf="stats as dossierTemplate"
[class.empty]="dossierTemplate.isEmpty"
[iqserHelpMode]="!dossierTemplate.isEmpty ? 'dossier_overview' : null"
[routerLink]="dossierTemplate.isEmpty ? null : ['..', dossierTemplate.dossierTemplateId]"
[attr.help-mode-key]="!dossierTemplate.isEmpty ? 'dossier_overview' : null"
class="dialog"
>
<ng-container *ngIf="!dossierTemplate.isEmpty; else empty">
@ -74,9 +74,9 @@
<iqser-icon-button
(action)="newDossier()"
*ngIf="permissionsService.canCreateDossier(dossierTemplate)"
[iqserHelpMode]="'new_dossier_button'"
[label]="'dashboard.empty-template.new-dossier' | translate"
[type]="iconButtonTypes.primary"
[attr.help-mode-key]="'new_dossier_button'"
icon="iqser:plus"
></iqser-icon-button>
</ng-template>

View File

@ -36,7 +36,11 @@
<span>{{ dossierTemplateName }} </span>
</div>
<div (click)="openEditDossierDialog('dossierDictionary')" [iqserHelpMode]="'edit_dossier_dossier_dictionary'" class="link-property">
<div
(click)="openEditDossierDialog('dossierDictionary')"
[attr.help-mode-key]="'edit_dossier_dossier_dictionary'"
class="link-property"
>
<mat-icon svgIcon="red:dictionary"></mat-icon>
<span>{{ 'dossier-overview.dossier-details.dictionary' | translate }} </span>
</div>
@ -52,13 +56,13 @@
<div
(click)="attributesExpanded = true"
*ngIf="!attributesExpanded"
[iqserHelpMode]="'edit_dossier_dossier_attributes'"
[attr.help-mode-key]="'edit_dossier_dossier_attributes'"
class="all-caps-label show-attributes"
>
{{ 'dossier-overview.dossier-details.attributes.expand' | translate : { count: dossierAttributes.length } }}
</div>
<div *ngIf="attributesExpanded" [iqserHelpMode]="'edit_dossier_dossier_attributes'" class="attributes">
<div *ngIf="attributesExpanded" [attr.help-mode-key]="'edit_dossier_dossier_attributes'" class="attributes">
<div (click)="openEditDossierDialog('dossierAttributes')" *ngFor="let attr of dossierAttributes" class="link-property">
<mat-icon svgIcon="red:attribute"></mat-icon>
<span *ngIf="!attr.value"> {{ attr.label + ': -' }}</span>

View File

@ -21,9 +21,8 @@
(action)="editingOwner = true"
*allow="roles.dossiers.edit; if: currentUser.isManager"
[icon]="'iqser:edit'"
[iqserHelpMode]="'dashboard_in_dossier'"
[overlappingElements]="['USER_MENU']"
[tooltip]="'dossier-details.edit-owner' | translate"
[attr.help-mode-key]="'dashboard_in_dossier'"
class="ml-14"
></iqser-circle-button>
</ng-container>
@ -61,12 +60,16 @@
<iqser-progress-bar
*ngFor="let config of statusConfig"
[config]="config"
[iqserHelpMode]="'document_upload'"
[attr.help-mode-key]="'document_upload'"
filterKey="processingTypeFilters"
></iqser-progress-bar>
</div>
<div *ngIf="stats.hasFiles && ctx.needsWorkFilters as filters" [iqserHelpMode]="'dashboard_in_dossier'" class="mt-32 legend pb-32">
<div
*ngIf="stats.hasFiles && ctx.needsWorkFilters as filters"
[attr.help-mode-key]="'dashboard_in_dossier'"
class="mt-32 legend pb-32"
>
<div
(click)="filterService.toggleFilter('needsWorkFilters', filter.id)"
*ngFor="let filter of filters"

View File

@ -11,8 +11,7 @@
[disabled]="downloadBtnDisabled$ | async"
[dossier]="dossier"
[files]="entitiesService.all$ | async"
[iqserHelpMode]="'edit_dossier_in_dossier'"
[overlappingElements]="['USER_MENU']"
[attr.help-mode-key]="'edit_dossier_in_dossier'"
></redaction-file-download-btn>
<iqser-circle-button
@ -20,9 +19,8 @@
*ngIf="permissionsService.canDownloadCsvReport(dossier)"
[disabled]="listingService.areSomeSelected$ | async"
[icon]="'iqser:csv'"
[iqserHelpMode]="'edit_dossier_in_dossier'"
[overlappingElements]="['USER_MENU']"
[tooltip]="'dossier-overview.header-actions.download-csv' | translate"
[attr.help-mode-key]="'edit_dossier_in_dossier'"
></iqser-circle-button>
<iqser-circle-button
@ -40,10 +38,9 @@
*ngIf="permissionsService.canUploadFiles(dossier)"
[buttonId]="'upload-document-btn'"
[icon]="'iqser:upload'"
[iqserHelpMode]="'edit_dossier_in_dossier'"
[overlappingElements]="['USER_MENU']"
[tooltip]="'dossier-overview.header-actions.upload-document' | translate"
[type]="circleButtonTypes.primary"
[attr.help-mode-key]="'edit_dossier_in_dossier'"
class="ml-14"
></iqser-circle-button>
</ng-container>

View File

@ -12,7 +12,7 @@
[disabled]="!fileAttribute.editable"
[icon]="'iqser:edit'"
[tooltip]="'file-attribute.actions.edit' | translate"
[iqserHelpMode]="'edit-file-attributes'"
[attr.help-mode-key]="'edit-file-attributes'"
id="edit-attribute-button"
></iqser-circle-button>
</div>

View File

@ -6,7 +6,7 @@
[attr.aria-expanded]="mode === listingModes.table"
[tooltip]="'view-mode.list' | translate"
[greySelected]="true"
[iqserHelpMode]="'document_features_in_dossier'"
[attr.help-mode-key]="'document_features_in_dossier_view'"
icon="iqser:list"
></iqser-circle-button>
@ -15,7 +15,7 @@
[attr.aria-expanded]="mode === listingModes.workflow"
[tooltip]="'view-mode.workflow' | translate"
[greySelected]="true"
[iqserHelpMode]="'workflow_view'"
[attr.help-mode-key]="'workflow_view'"
icon="iqser:lanes"
></iqser-circle-button>
</div>

View File

@ -162,7 +162,6 @@ export class ConfigService {
icon: 'iqser:edit',
hide: !this.#currentUser.isManager && !this._iqserPermissionsService.has(ROLES.dossiers.edit),
helpModeKey: 'edit_dossier_in_dossier',
overlappingElements: [OverlappingElements.USER_MENU],
disabled$,
},
];

View File

@ -73,7 +73,6 @@ export class ConfigService {
icon: 'iqser:plus',
type: 'primary',
helpModeKey: 'new_dossier_button',
overlappingElements: [OverlappingElements.USER_MENU],
},
];
}

View File

@ -24,9 +24,7 @@
<redaction-annotation-actions
[annotations]="[annotation.item]"
[canPerformAnnotationActions]="pdfProxyService.canPerformAnnotationActions$ | async"
[iqserHelpMode]="actionsHelpModeKey"
[overlappingElements]="['USER_MENU', 'WORKLOAD_FILTER', 'DOCUMENT_INFO']"
[scrollableParentView]="scrollableParentView"
[attr.help-mode-key]="actionsHelpModeKey"
></redaction-annotation-actions>
</div>
</div>

View File

@ -1,7 +1,6 @@
import { Component, HostBinding, Input, OnChanges } from '@angular/core';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { PdfProxyService } from '../../services/pdf-proxy.service';
import { ScrollableParentViews } from '@iqser/common-ui';
import { ActionsHelpModeKeys } from '../../utils/constants';
import { ListItem } from '@models/file/list-item';
@ -15,7 +14,6 @@ export class AnnotationWrapperComponent implements OnChanges {
@HostBinding('attr.annotation-id') annotationId: string;
@HostBinding('class.active') active = false;
readonly scrollableParentView = ScrollableParentViews.ANNOTATIONS_LIST;
actionsHelpModeKey?: string;
constructor(readonly pdfProxyService: PdfProxyService) {}

View File

@ -16,18 +16,16 @@
<div
(click)="multiSelectService.activate()"
*ngIf="(multiSelectService.enabled$ | async) && (multiSelectInactive$ | async)"
[iqserHelpMode]="'workload_in_editor'"
[overlappingElements]="['USER_MENU', 'DOCUMENT_INFO']"
[attr.help-mode-key]="'workload_in_editor'"
class="all-caps-label primary pointer"
translate="file-preview.tabs.annotations.select"
></div>
<iqser-popup-filter
[actionsTemplate]="annotationFilterActionTemplate"
[iqserHelpMode]="'workload_in_editor'"
[overlappingElements]="['USER_MENU']"
[primaryFiltersSlug]="'primaryFilters'"
[secondaryFiltersSlug]="'secondaryFilters'"
[attr.help-mode-key]="'workload_in_editor'"
></iqser-popup-filter>
</div>
</div>

View File

@ -3,7 +3,7 @@
<span [translateParams]="highlightGroup" [translate]="'highlights'" class="all-caps-label"></span>
</div>
<div *ngIf="(isWritable$ | async) && (multiSelectInactive$ | async)" [iqserHelpMode]="'highlights'">
<div *ngIf="(isWritable$ | async) && (multiSelectInactive$ | async)" [attr.help-mode-key]="'highlights'">
<iqser-circle-button
(action)="convertHighlights(highlightGroup)"
*allow="roles.highlights.convert"

View File

@ -35,8 +35,7 @@
*ngIf="(canAssignOrUnassign$ | async) && !!file.assignee"
[buttonId]="'change-assignee'"
[icon]="'iqser:edit'"
[iqserHelpMode]="'document_features_in_editor'"
[overlappingElements]="['USER_MENU']"
[attr.help-mode-key]="'document_features_in_editor'"
[tooltip]="assignTooltip$ | async"
></iqser-circle-button>

View File

@ -2,7 +2,7 @@
<button
(click)="switchView(viewModes.STANDARD)"
[class.active]="viewMode === viewModes.STANDARD"
[iqserHelpMode]="'views'"
[attr.help-mode-key]="'views'"
[matTooltip]="'file-preview.standard-tooltip' | translate"
[matTooltipPosition]="'above'"
class="red-tab"
@ -16,7 +16,7 @@
*deny="roles.getRss"
[class.active]="viewMode === viewModes.DELTA"
[disabled]="(canSwitchToDeltaView$ | async) === false"
[iqserHelpMode]="'views'"
[attr.help-mode-key]="'views'"
class="red-tab"
>
{{ 'file-preview.delta' | translate }}
@ -29,7 +29,7 @@
*deny="roles.getRss"
[class.active]="viewMode === viewModes.REDACTED"
[disabled]="(canSwitchToRedactedView$ | async) === false"
[iqserHelpMode]="'views'"
[attr.help-mode-key]="'views'"
class="red-tab"
>
{{ 'file-preview.redacted' | translate }}
@ -42,7 +42,7 @@
*deny="roles.getRss"
[class.active]="viewMode === viewModes.TEXT_HIGHLIGHTS"
[disabled]="(canSwitchToEarmarksView$ | async) === false"
[iqserHelpMode]="'views'"
[attr.help-mode-key]="'views'"
class="red-tab"
>
{{ 'file-preview.text-highlights' | translate }}

View File

@ -3,8 +3,6 @@
(action)="openEditDossierDialog(dossier.id)"
*allow="roles.dossiers.read; if: currentUser.isUser"
[icon]="(iqserPermissionsService.has$(roles.dossiers.edit) | async) && currentUser.isManager ? 'iqser:edit' : 'red:info'"
[iqserHelpMode]="'edit_dossier_dossier_info'"
[scrollableParentView]="scrollableParentViews.VIRTUAL_SCROLL"
[tooltip]="
((iqserPermissionsService.has$(roles.dossiers.edit) | async) && currentUser.isManager
? 'dossier-listing.edit.action'
@ -12,6 +10,7 @@
) | translate
"
[type]="circleButtonTypes.dark"
[attr.help-mode-key]="'edit_dossier_dossier_info'"
></iqser-circle-button>
<iqser-circle-button
@ -27,8 +26,7 @@
[disabled]="downloadBtnDisabled"
[dossier]="dossier"
[files]="files"
[iqserHelpMode]="'download_dossier'"
[scrollableParentView]="scrollableParentViews.VIRTUAL_SCROLL"
[attr.help-mode-key]="'download_dossier'"
[type]="circleButtonTypes.dark"
></redaction-file-download-btn>
</div>

View File

@ -11,12 +11,7 @@
</ng-container>
<ng-template #actions (longPress)="forceReanalysisAction($event)" redactionLongPress>
<div
[iqserHelpMode]="fileActionsHelpModeKey"
[overlappingElements]="overlappingElements"
[scrollableParentView]="scrollableParentView"
class="file-actions"
>
<div [attr.help-mode-key]="fileActionsHelpModeKey" class="file-actions">
<redaction-expandable-file-actions
[actions]="buttons"
[buttonType]="buttonType"

View File

@ -10,9 +10,7 @@ import {
IqserPermissionsService,
IqserTooltipPositions,
LoadingService,
OverlappingElements,
ScrollableParentView,
ScrollableParentViews,
TenantContextHolder,
Toaster,
} from '@iqser/common-ui';
@ -109,10 +107,6 @@ export class FileActionsComponent implements OnChanges {
return !!this._expandableActionsComponent?.expanded;
}
get overlappingElements() {
return this.fileActionsHelpModeKey === 'editor_document_features' ? [OverlappingElements.USER_MENU] : [];
}
private get _toggleTooltip(): string {
if (!this.canToggleAnalysis) {
return _('file-preview.toggle-analysis.only-managers');
@ -285,12 +279,8 @@ export class FileActionsComponent implements OnChanges {
return actions.filter(btn => btn.show);
}
ngOnChanges(changes: SimpleChanges) {
ngOnChanges() {
this._setup();
if (changes.fileActionsHelpModeKey) {
this.scrollableParentView =
this.fileActionsHelpModeKey === 'document_features_in_dossier' ? ScrollableParentViews.VIRTUAL_SCROLL : undefined;
}
}
async setFileApproved() {

View File

@ -11,8 +11,7 @@
(click)="changeTab(item.key)"
*ngFor="let item of navItems"
[class.active]="item.key === activeNav"
[dialogElement]="true"
[iqserHelpMode]="item.helpModeKey"
[attr.help-mode-key]="item.helpModeKey"
class="item"
>
{{ item.sideNavTitle || item.title | translate }}

View File

@ -165,34 +165,34 @@ export class EditDossierDialogComponent extends BaseDialogComponent implements A
title: _('edit-dossier-dialog.nav-items.general-info'),
sideNavTitle: _('edit-dossier-dialog.nav-items.dossier-info'),
readonly: !this._dossier.isActive || !this._permissionsService.canEditDossier(this._dossier),
helpModeKey: 'edit_dossier_dossier_info',
helpModeKey: 'edit_dossier_dossier_info_DIALOG',
},
{
key: 'downloadPackage',
title: _('edit-dossier-dialog.nav-items.choose-download'),
sideNavTitle: _('edit-dossier-dialog.nav-items.download-package'),
readonly: !this._permissionsService.canEditDossier(this._dossier),
helpModeKey: 'edit_dossier_download_package',
helpModeKey: 'edit_dossier_download_package_DIALOG',
},
{
key: 'dossierDictionary',
sideNavTitle: _('edit-dossier-dialog.nav-items.dictionary'),
title: _('edit-dossier-dialog.nav-items.dossier-dictionary'),
readonly: !this._permissionsService.canEditDossierDictionary(this._dossier),
helpModeKey: 'edit_dossier_dossier_dictionary',
helpModeKey: 'edit_dossier_dossier_dictionary_DIALOG',
},
{
key: 'members',
title: _('edit-dossier-dialog.nav-items.team-members'),
sideNavTitle: _('edit-dossier-dialog.nav-items.members'),
readonly: !this._permissionsService.canEditTeamMembers(),
helpModeKey: 'edit_dossier_members',
helpModeKey: 'edit_dossier_members_DIALOG',
},
{
key: 'dossierAttributes',
title: _('edit-dossier-dialog.nav-items.dossier-attributes'),
readonly: !this._permissionsService.canEditDossierAttributes(this._dossier),
helpModeKey: 'edit_dossier_dossier_attributes',
helpModeKey: 'edit_dossier_dossier_attributes_DIALOG',
},
];
}

View File

@ -82,21 +82,19 @@
(action)="deleteDossier()"
*ngIf="permissionsService.canDeleteDossier(dossier)"
[buttonId]="'deleteDossier'"
[dialogElement]="true"
[icon]="'iqser:trash'"
[iqserHelpMode]="'edit_dossier_delete_dossier'"
[label]="'dossier-listing.delete.action' | translate"
[type]="iconButtonTypes.dark"
[attr.help-mode-key]="'edit_dossier_delete_dossier_DIALOG'"
></iqser-icon-button>
<iqser-icon-button
(action)="archiveDossier()"
*ngIf="permissionsService.canArchiveDossier(dossier)"
[dialogElement]="true"
[icon]="'red:archive'"
[iqserHelpMode]="'edit_dossier_archive_dossier'"
[label]="'dossier-listing.archive.action' | translate"
[type]="iconButtonTypes.dark"
[attr.help-mode-key]="'edit_dossier_archive_dossier_DIALOG'"
></iqser-icon-button>
</div>
</form>

View File

@ -27,8 +27,8 @@
<iqser-circle-button
(action)="download()"
*ngIf="canDownload"
[iqserHelpMode]="helpModeKey"
[matTooltip]="'dictionary-overview.download' | translate"
[attr.help-mode-key]="helpModeKey"
class="ml-8"
icon="iqser:download"
></iqser-circle-button>

View File

@ -31,7 +31,7 @@
</mat-select>
</div>
<div [iqserHelpMode]="helpModeKey" class="breakdown-container">
<div [attr.help-mode-key]="helpModeKey" class="breakdown-container">
<div
(click)="val.key && selectValue(val.key)"
*ngFor="let val of config"

View File

@ -1,10 +1,4 @@
<div
[matTooltip]="dossier.dossierName"
class="table-item-title heading mb-6"
matTooltipPosition="above"
[iqserHelpMode]="'dossier'"
[scrollableParentView]="scrollableParentView"
>
<div [matTooltip]="dossier.dossierName" class="table-item-title heading mb-6" matTooltipPosition="above" [attr.help-mode-key]="'dossier'">
{{ dossier.dossierName }}
</div>
@ -33,11 +27,11 @@
<div class="small-label">
<mat-icon svgIcon="red:calendar"></mat-icon>
{{ dossier.date | date: 'mediumDate' }}
{{ dossier.date | date : 'mediumDate' }}
</div>
<div *ngIf="dossier.dueDate" [class.error]="passedDueDate" [class.warn]="approachingDueDate" class="small-label">
<mat-icon svgIcon="red:lightning"></mat-icon>
{{ dossier.dueDate | date: 'mediumDate' }}
{{ dossier.dueDate | date : 'mediumDate' }}
</div>
</div>

View File

@ -35,10 +35,6 @@ export class DossierNameColumnComponent {
return this._dueDateDaysDiff < 0;
}
get scrollableParentView(): ScrollableParentView {
return ScrollableParentViews.VIRTUAL_SCROLL;
}
private get _dueDateDaysDiff(): number {
return dayjs(this.dossier.dueDate).diff(dateWithoutTime(dayjs()), 'day');
}

View File

@ -2,7 +2,7 @@
<button
[routerLinkActive]="'active'"
[routerLink]="['..', DOSSIERS_ROUTE]"
[iqserHelpMode]="'dossier_list'"
[attr.help-mode-key]="'dossier_list'"
class="red-tab"
id="active-button"
>
@ -13,7 +13,7 @@
[disabled]="dossierTemplate.numberOfArchivedDossiers === 0"
[routerLinkActive]="'active'"
[routerLink]="['..', ARCHIVE_ROUTE]"
[iqserHelpMode]="'dossier_list'"
[attr.help-mode-key]="'dossier_list'"
class="red-tab"
id="archived-button"
>

View File

@ -4,8 +4,7 @@
[class.error]="file.isError"
[class.initial-processing]="file.isInitialProcessing"
[matTooltip]="file.filename"
[iqserHelpMode]="'document_in_editor'"
[scrollableParentView]="scrollableParentView"
[attr.help-mode-key]="'document_in_editor'"
class="table-item-title"
matTooltipPosition="above"
>

View File

@ -61,8 +61,4 @@ export class FileNameColumnComponent extends ContextComponent<FileNameColumnCont
}
this.#reloadAttribute.next(null);
}
get scrollableParentView(): ScrollableParentView {
return ScrollableParentViews.VIRTUAL_SCROLL;
}
}

View File

@ -22,11 +22,10 @@
*allow="roles.dossiers.edit; if: currentUser.isManager && canAdd"
[class.large-spacing]="largeSpacing"
[icon]="'iqser:plus'"
[iqserHelpMode]="'edit_dossier_members'"
[overlappingElements]="['USER_MENU']"
[size]="32"
[tooltip]="'dossier-details.assign-members' | translate"
[type]="circleButtonTypes.primary"
[attr.help-mode-key]="'edit_dossier_members'"
class="member"
></iqser-circle-button>
</div>

View File

@ -1,7 +1,7 @@
{
"ADMIN_CONTACT_NAME": null,
"ADMIN_CONTACT_URL": null,
"API_URL": "https://dan.iqser.cloud/redaction-gateway-v1",
"API_URL": "https://dom2.iqser.cloud/redaction-gateway-v1",
"APP_NAME": "RedactManager",
"AUTO_READ_TIME": 3,
"BACKEND_APP_VERSION": "4.4.40",
@ -11,7 +11,7 @@
"MAX_RETRIES_ON_SERVER_ERROR": 3,
"OAUTH_CLIENT_ID": "redaction",
"OAUTH_IDP_HINT": null,
"OAUTH_URL": "https://dan.iqser.cloud/auth",
"OAUTH_URL": "https://dom2.iqser.cloud/auth",
"RECENT_PERIOD_IN_HOURS": 24,
"SELECTION_MODE": "structural",
"MANUAL_BASE_URL": "https://docs.redactmanager.com/preview",

View File

@ -0,0 +1,375 @@
[
{
"elementKey": "document_features_in_dossier_view",
"documentKey": "document_features_in_dossier"
},
{
"elementKey": "document_features_in_dossier",
"documentKey": "document_features_in_dossier",
"scrollableParentView": "VIRTUAL_SCROLL"
},
{
"elementKey": "download_dossier",
"documentKey": "download_dossier",
"scrollableParentView": "VIRTUAL_SCROLL"
},
{
"elementKey": "dashboard_in_dossier",
"documentKey": "dashboard_in_dossier",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "filter_document_list",
"documentKey": "filter_document_list"
},
{
"elementKey": "filter_dossier_list",
"documentKey": "filter_dossier_list"
},
{
"elementKey": "navigate_in_breadcrumbs",
"documentKey": "navigate_in_breadcrumbs"
},
{
"elementKey": "new_dossier_button",
"documentKey": "new_dossier_button",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "open_notifications",
"documentKey": "open_notifications"
},
{
"elementKey": "open_usermenu",
"documentKey": "open_usermenu"
},
{
"elementKey": "views",
"documentKey": "views"
},
{
"elementKey": "search_in_entire_application",
"documentKey": "search_in_entire_application"
},
{
"elementKey": "edit_dossier_in_dossier",
"documentKey": "edit_dossier_in_dossier",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "document_features_in_editor",
"documentKey": "document_features_in_editor",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "document_list",
"documentKey": "document_list"
},
{
"elementKey": "edit_dossier_dossier_info",
"documentKey": "edit_dossier_dossier_info",
"scrollableParentView": "VIRTUAL_SCROLL"
},
{
"elementKey": "edit_dossier_dossier_info_DIALOG",
"documentKey": "edit_dossier_dossier_info"
},
{
"elementKey": "edit_dossier_download_package_DIALOG",
"documentKey": "edit_dossier_download_package"
},
{
"elementKey": "edit_dossier_dossier_dictionary_DIALOG",
"documentKey": "edit_dossier_dossier_dictionary"
},
{
"elementKey": "edit_dossier_members",
"documentKey": "edit_dossier_members",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "edit_dossier_members_DIALOG",
"documentKey": "edit_dossier_members"
},
{
"elementKey": "edit_dossier_dossier_attributes_DIALOG",
"documentKey": "edit_dossier_dossier_attributes"
},
{
"elementKey": "edit_dossier_delete_dossier_DIALOG",
"documentKey": "edit_dossier_delete_dossier"
},
{
"elementKey": "edit_dossier_archive_dossier_DIALOG",
"documentKey": "edit_dossier_archive_dossier"
},
{
"elementKey": "highlights",
"documentKey": "highlights"
},
{
"elementKey": "redaction",
"documentKey": "redaction",
"scrollableParentView": "ANNOTATIONS_LIST",
"overlappingElements": ["USER_MENU", "WORKLOAD_FILTER", "DOCUMENT_INFO"]
},
{
"elementKey": "recommendation",
"documentKey": "recommendation",
"scrollableParentView": "ANNOTATIONS_LIST",
"overlappingElements": ["USER_MENU", "WORKLOAD_FILTER", "DOCUMENT_INFO"]
},
{
"elementKey": "skipped",
"documentKey": "skipped",
"scrollableParentView": "ANNOTATIONS_LIST",
"overlappingElements": ["USER_MENU", "WORKLOAD_FILTER", "DOCUMENT_INFO"]
},
{
"elementKey": "hint_text",
"documentKey": "hint_text",
"scrollableParentView": "ANNOTATIONS_LIST",
"overlappingElements": ["USER_MENU", "WORKLOAD_FILTER", "DOCUMENT_INFO"]
},
{
"elementKey": "hint_picture",
"documentKey": "hint_picture",
"scrollableParentView": "ANNOTATIONS_LIST",
"overlappingElements": ["USER_MENU", "WORKLOAD_FILTER", "DOCUMENT_INFO"]
},
{
"elementKey": "picture",
"documentKey": "picture",
"scrollableParentView": "ANNOTATIONS_LIST",
"overlappingElements": ["USER_MENU", "WORKLOAD_FILTER", "DOCUMENT_INFO"]
},
{
"elementKey": "hint_images",
"documentKey": "hint_images",
"scrollableParentView": "ANNOTATIONS_LIST",
"overlappingElements": ["USER_MENU", "WORKLOAD_FILTER", "DOCUMENT_INFO"]
},
{
"elementKey": "workload_in_editor",
"documentKey": "workload_in_editor",
"overlappingElements": ["USER_MENU", "DOCUMENT_INFO"]
},
{
"elementKey": "user_account",
"documentKey": "user_account"
},
{
"elementKey": "my_downloads",
"documentKey": "my_downloads"
},
{
"elementKey": "trash",
"documentKey": "trash"
},
{
"elementKey": "dossier_overview",
"documentKey": "dossier_overview"
},
{
"elementKey": "home",
"documentKey": "home"
},
{
"elementKey": "workflow_view",
"documentKey": "workflow_view"
},
{
"elementKey": "document_upload",
"documentKey": "document_upload"
},
{
"elementKey": "help_mode",
"documentKey": "help_mode"
},
{
"elementKey": "dossier",
"documentKey": "dossier",
"scrollableParentView": "VIRTUAL_SCROLL"
},
{
"elementKey": "document_in_editor",
"documentKey": "document_in_editor",
"scrollableParentView": "VIRTUAL_SCROLL"
},
{
"elementKey": "dossier_list",
"documentKey": "dossier_list"
},
{
"elementKey": "dossier_templates",
"documentKey": "dossier_templates"
},
{
"elementKey": "edit_clone_delete_dossier_templates",
"documentKey": "edit_clone_delete_dossier_templates",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "dossier_templates_info",
"documentKey": "dossier_templates_info"
},
{
"elementKey": "entities",
"documentKey": "entities"
},
{
"elementKey": "edit_delete_entities",
"documentKey": "edit_delete_entities",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "create_new_entity",
"documentKey": "create_new_entity",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "default_colors",
"documentKey": "default_colors",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "watermarks",
"documentKey": "watermarks"
},
{
"elementKey": "create_new_watermark",
"documentKey": "create_new_watermark",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "edit_delete_watermark",
"documentKey": "edit_delete_watermark",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "file_attributes",
"documentKey": "file_attributes"
},
{
"elementKey": "create_new_file_attribute",
"documentKey": "create_new_file_attribute",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "edit_delete_file_attribute",
"documentKey": "edit_delete_file_attribute",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "upload_file_attribute",
"documentKey": "upload_file_attribute",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "dossier_attributes",
"documentKey": "dossier_attributes"
},
{
"elementKey": "create_new_dossier_attribute",
"documentKey": "create_new_dossier_attribute",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "edit_delete_dossier_attributes",
"documentKey": "edit_delete_dossier_attributes",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "dossier_states",
"documentKey": "dossier_states"
},
{
"elementKey": "create_new_dossier_state",
"documentKey": "create_new_dossier_state"
},
{
"elementKey": "edit_delete_dossier_state",
"documentKey": "edit_delete_dossier_state"
},
{
"elementKey": "reports",
"documentKey": "reports",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "justifications",
"documentKey": "justifications"
},
{
"elementKey": "digital_signature",
"documentKey": "digital_signature"
},
{
"elementKey": "license_information",
"documentKey": "license_information",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "audit",
"documentKey": "audit"
},
{
"elementKey": "user_management",
"documentKey": "user_management"
},
{
"elementKey": "create_user",
"documentKey": "create_user",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "edit_delete_user",
"documentKey": "edit_delete_user"
},
{
"elementKey": "activate_deactivate_user",
"documentKey": "activate_deactivate_user"
},
{
"elementKey": "dossier_permissions",
"documentKey": "dossier_permissions",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "configurations",
"documentKey": "configurations"
},
{
"elementKey": "general_configurations",
"documentKey": "general_configurations"
},
{
"elementKey": "system_configurations",
"documentKey": "system_configurations"
},
{
"elementKey": "smtp_configurations",
"documentKey": "smtp_configurations"
},
{
"elementKey": "dictionary_entity",
"documentKey": "dictionary_entity"
},
{
"elementKey": "false_recommendations_entity",
"documentKey": "false_recommendations_entity"
},
{
"elementKey": "enable_disable_watermark",
"documentKey": "enable_disable_watermark"
},
{
"elementKey": "editor_document_features",
"documentKey": "editor_document_features",
"overlappingElements": ["USER_MENU"]
},
{
"elementKey": "edit-file-attributes",
"documentKey": "edit-file-attributes"
}
]

View File

@ -1,536 +0,0 @@
{
"document_features_in_dossier": {
"en": "/en/index-en.html?contextId=document_features_in_dossier",
"de": "",
"it": "",
"fr": ""
},
"download_dossier": {
"en": "/en/index-en.html?contextId=download_dossier",
"de": "",
"it": "",
"fr": ""
},
"edit_dossier_member": {
"en": "/en/index-en.html?contextId=edit_dossier_member",
"de": "",
"it": "",
"fr": ""
},
"dashboard_in_dossier": {
"en": "/en/index-en.html?contextId=dashboard_in_dossier",
"de": "",
"it": "",
"fr": ""
},
"filter_document_list": {
"en": "/en/index-en.html?contextId=filter_document_list",
"de": "",
"it": "",
"fr": ""
},
"filter_dossier_list": {
"en": "/en/index-en.html?contextId=filter_dossier_list",
"de": "",
"it": "",
"fr": ""
},
"filter_for_status": {
"en": "/en/index-en.html?contextId=filter_for_status",
"de": "",
"it": "",
"fr": ""
},
"navigate_in_breadcrumbs": {
"en": "/en/index-en.html?contextId=navigate_in_breadcrumbs",
"de": "",
"it": "",
"fr": ""
},
"new_dossier_button": {
"en": "/en/index-en.html?contextId=new_dossier_button",
"de": "",
"it": "",
"fr": ""
},
"open_notifications": {
"en": "/en/index-en.html?contextId=open_notifications",
"de": "",
"it": "",
"fr": ""
},
"open_usermenu": {
"en": "/en/index-en.html?contextId=open_usermenu",
"de": "",
"it": "",
"fr": ""
},
"views": {
"en": "/en/index-en.html?contextId=views",
"de": "",
"it": "",
"fr": ""
},
"reset_filters": {
"en": "/en/index-en.html?contextId=reset_filters",
"de": "",
"it": "",
"fr": ""
},
"search_in_entire_application": {
"en": "/en/index-en.html?contextId=search_in_entire_application",
"de": "",
"it": "",
"fr": ""
},
"edit_dossier_in_dossier": {
"en": "/en/index-en.html?contextId=edit_dossier_in_dossier",
"de": "",
"it": "",
"fr": ""
},
"redaction_resize": {
"en": "/en/index-en.html?contextId=redaction_resize",
"de": "",
"it": "",
"fr": ""
},
"document_features_in_editor": {
"en": "/en/index-en.html?contextId=document_features_in_editor",
"de": "",
"it": "",
"fr": ""
},
"edit_dossier_dossier_attributes": {
"en": "/en/index-en.html?contextId=edit_dossier_dossier_attributes",
"de": "",
"it": "",
"fr": ""
},
"document_list": {
"en": "/en/index-en.html?contextId=document_list",
"de": "",
"it": "",
"fr": ""
},
"edit_dossier_dossier_info": {
"en": "/en/index-en.html?contextId=edit_dossier_dossier_info",
"de": "",
"it": "",
"fr": ""
},
"edit_dossier_delete_dossier": {
"en": "/en/index-en.html?contextId=edit_dossier_delete_dossier",
"de": "",
"it": "",
"fr": ""
},
"edit_dossier_archive_dossier": {
"en": "/en/index-en.html?contextId=edit_dossier_archive_dossier",
"de": "",
"it": "",
"fr": ""
},
"edit_dossier_download_package": {
"en": "/en/index-en.html?contextId=edit_dossier_download_package",
"de": "",
"it": "",
"fr": ""
},
"edit_dossier_members": {
"en": "/en/index-en.html?contextId=edit_dossier_members",
"de": "",
"it": "",
"fr": ""
},
"highlights": {
"en": "/en/index-en.html?contextId=highlights",
"de": "",
"it": "",
"fr": ""
},
"image_resize": {
"en": "/en/index-en.html?contextId=image_resize",
"de": "",
"it": "",
"fr": ""
},
"image_recategorize": {
"en": "/en/index-en.html?contextId=image_recategorize",
"de": "",
"it": "",
"fr": ""
},
"image_hide": {
"en": "/en/index-en.html?contextId=image_hide",
"de": "",
"it": "",
"fr": ""
},
"image_remove_only_here": {
"en": "/en/index-en.html?contextId=image_remove_only_here",
"de": "",
"it": "",
"fr": ""
},
"redaction": {
"en": "/en/index-en.html?contextId=redaction",
"de": "",
"it": "",
"fr": ""
},
"recommendation": {
"en": "/en/index-en.html?contextId=recommendation",
"de": "",
"it": "",
"fr": ""
},
"skipped": {
"en": "/en/index-en.html?contextId=skipped",
"de": "",
"it": "",
"fr": ""
},
"hint_text": {
"en": "/en/index-en.html?contextId=hint_text",
"de": "",
"it": "",
"fr": ""
},
"hint_picture": {
"en": "/en/index-en.html?contextId=hint_picture",
"de": "",
"it": "",
"fr": ""
},
"picture": {
"en": "/en/index-en.html?contextId=picture",
"de": "",
"it": "",
"fr": ""
},
"hint_images": {
"en": "/en/index-en.html?contextId=hint_images",
"de": "",
"it": "",
"fr": ""
},
"workload_in_editor": {
"en": "/en/index-en.html?contextId=workload_in_editor",
"de": "",
"it": "",
"fr": ""
},
"user_account": {
"en": "/en/index-en.html?contextId=user_account",
"de": "",
"it": "",
"fr": ""
},
"my_downloads": {
"en": "/en/index-en.html?contextId=my_downloads",
"de": "",
"it": "",
"fr": ""
},
"trash": {
"en": "/en/index-en.html?contextId=trash",
"de": "",
"it": "",
"fr": ""
},
"dossier_overview": {
"en": "/en/index-en.html?contextId=dossier_overview",
"de": "",
"it": "",
"fr": ""
},
"home": {
"en": "/en/index-en.html?contextId=home",
"de": "",
"it": "",
"fr": ""
},
"workflow_view": {
"en": "/en/index-en.html?contextId=workflow_view",
"de": "",
"it": "",
"fr": ""
},
"document_upload": {
"en": "/en/index-en.html?contextId=document_upload",
"de": "",
"it": "",
"fr": ""
},
"edit_dossier_dossier_dictionary": {
"en": "/en/index-en.html?contextId=edit_dossier_dossier_dictionary",
"de": "",
"it": "",
"fr": ""
},
"help_mode": {
"en": "/en/index-en.html?contextId=help_mode",
"de": "",
"it": "",
"fr": ""
},
"dossier": {
"en": "/en/index-en.html?contextId=dossier",
"de": "",
"it": "",
"fr": ""
},
"document_in_editor": {
"en": "/en/index-en.html?contextId=document_in_editor",
"de": "",
"it": "",
"fr": ""
},
"dossier_list": {
"en": "/en/index-en.html?contextId=dossier_list",
"de": "",
"it": "",
"fr": ""
},
"dossier_templates": {
"en": "/en/index-en.html?contextId=dossier_templates",
"de": "",
"it": "",
"fr": ""
},
"edit_clone_delete_dossier_templates": {
"en": "/en/index-en.html?contextId=edit_clone_delete_dossier_templates",
"de": "",
"it": "",
"fr": ""
},
"dossier_templates_info": {
"en": "/en/index-en.html?contextId=dossier_templates_info",
"de": "",
"it": "",
"fr": ""
},
"entities": {
"en": "/en/index-en.html?contextId=entities",
"de": "",
"it": "",
"fr": ""
},
"edit_delete_entities": {
"en": "/en/index-en.html?contextId=edit_delete_entities",
"de": "",
"it": "",
"fr": ""
},
"create_new_entity": {
"en": "/en/index-en.html?contextId=create_new_entity",
"de": "",
"it": "",
"fr": ""
},
"default_colors": {
"en": "/en/index-en.html?contextId=default_colors",
"de": "",
"it": "",
"fr": ""
},
"watermarks": {
"en": "/en/index-en.html?contextId=watermarks",
"de": "",
"it": "",
"fr": ""
},
"create_new_watermark": {
"en": "/en/index-en.html?contextId=create_new_watermark",
"de": "",
"it": "",
"fr": ""
},
"edit_delete_watermark": {
"en": "/en/index-en.html?contextId=edit_delete_watermark",
"de": "",
"it": "",
"fr": ""
},
"file_attributes": {
"en": "/en/index-en.html?contextId=file_attributes",
"de": "",
"it": "",
"fr": ""
},
"create_new_file_attribute": {
"en": "/en/index-en.html?contextId=create_new_file_attribute",
"de": "",
"it": "",
"fr": ""
},
"edit_delete_file_attribute": {
"en": "/en/index-en.html?contextId=edit_delete_file_attribute",
"de": "",
"it": "",
"fr": ""
},
"upload_file_attribute": {
"en": "/en/index-en.html?contextId=upload_file_attribute",
"de": "",
"it": "",
"fr": ""
},
"dossier_attributes": {
"en": "/en/index-en.html?contextId=dossier_attributes",
"de": "",
"it": "",
"fr": ""
},
"create_new_dossier_attribute": {
"en": "/en/index-en.html?contextId=create_new_dossier_attribute",
"de": "",
"it": "",
"fr": ""
},
"edit_delete_dossier_attributes": {
"en": "/en/index-en.html?contextId=edit_delete_dossier_attributes",
"de": "",
"it": "",
"fr": ""
},
"dossier_states": {
"en": "/en/index-en.html?contextId=dossier_states",
"de": "",
"it": "",
"fr": ""
},
"create_new_dossier_state": {
"en": "/en/index-en.html?contextId=create_new_dossier_state",
"de": "",
"it": "",
"fr": ""
},
"edit_delete_dossier_state": {
"en": "/en/index-en.html?contextId=edit_delete_dossier_state",
"de": "",
"it": "",
"fr": ""
},
"reports": {
"en": "/en/index-en.html?contextId=reports",
"de": "",
"it": "",
"fr": ""
},
"justifications": {
"en": "/en/index-en.html?contextId=justifications",
"de": "",
"it": "",
"fr": ""
},
"digital_signature": {
"en": "/en/index-en.html?contextId=digital_signature",
"de": "",
"it": "",
"fr": ""
},
"license_information": {
"en": "/en/index-en.html?contextId=license_information",
"de": "",
"it": "",
"fr": ""
},
"audit": {
"en": "/en/index-en.html?contextId=audit",
"de": "",
"it": "",
"fr": ""
},
"user_management": {
"en": "/en/index-en.html?contextId=user_management",
"de": "",
"it": "",
"fr": ""
},
"create_user": {
"en": "/en/index-en.html?contextId=create_user",
"de": "",
"it": "",
"fr": ""
},
"edit_delete_user": {
"en": "/en/index-en.html?contextId=edit_delete_user",
"de": "",
"it": "",
"fr": ""
},
"activate_deactivate_user": {
"en": "/en/index-en.html?contextId=activate_deactivate_user",
"de": "",
"it": "",
"fr": ""
},
"dossier_permissions": {
"en": "/en/index-en.html?contextId=dossier_permissions",
"de": "",
"it": "",
"fr": ""
},
"configurations": {
"en": "/en/index-en.html?contextId=configurations",
"de": "",
"it": "",
"fr": ""
},
"general_configurations": {
"en": "/en/index-en.html?contextId=general_configurations",
"de": "",
"it": "",
"fr": ""
},
"system_configurations": {
"en": "/en/index-en.html?contextId=system_configurations",
"de": "",
"it": "",
"fr": ""
},
"smtp_configurations": {
"en": "/en/index-en.html?contextId=smtp_configurations",
"de": "",
"it": "",
"fr": ""
},
"dictionary_entity": {
"en": "/en/index-en.html?contextId=dictionary_entity",
"de": "",
"it": "",
"fr": ""
},
"false_recommendations_entity": {
"en": "/en/index-en.html?contextId=false_recommendations_entity",
"de": "",
"it": "",
"fr": ""
},
"enable_disable_watermark": {
"en": "/en/index-en.html?contextId=enable_disable_watermark",
"de": "",
"it": "",
"fr": ""
},
"editor_document_features": {
"en": "/en/index-en.html?contextId=editor_document_features",
"de": "",
"it": "",
"fr": ""
},
"pdf_features": {
"en": "/en/index-en.html?contextId=pdf_features",
"de": "",
"it": "",
"fr": ""
},
"edit-file-attributes": {
"en": "/en/index-en.html?contextId=document_list",
"de": "",
"it": "",
"fr": ""
}
}