RED-5080 - New help mode links: User account and Settings

This commit is contained in:
Valentin Mihai 2022-08-30 17:24:51 +03:00
parent 24727ac2c1
commit d96362eedf
40 changed files with 487 additions and 137 deletions

View File

@ -5,6 +5,7 @@
[class.disabled]="isDisabled(item.screen)"
[routerLinkActiveOptions]="{ exact: false }"
[routerLink]="prefix + item.screen"
[iqserHelpMode]="item.helpModeKey"
class="item"
routerLinkActive="active"
>

View File

@ -10,6 +10,7 @@ interface NavItem {
readonly label: string;
readonly screen: string;
readonly hideIf?: boolean;
readonly helpModeKey?: string;
}
@Component({
@ -30,41 +31,96 @@ export class AdminSideNavComponent implements OnInit {
screen: 'dossier-templates',
label: _('admin-side-nav.dossier-templates'),
hideIf: !this.currentUser.isManager && !this.currentUser.isAdmin,
helpModeKey: 'dossier_templates',
},
{
screen: 'digital-signature',
label: _('admin-side-nav.digital-signature'),
hideIf: !this.currentUser.isAdmin,
helpModeKey: 'digital_signature',
},
{
screen: 'license-info',
label: _('admin-side-nav.license-information'),
hideIf: !this.currentUser.isAdmin,
helpModeKey: 'license_information',
},
{
screen: 'audit',
label: _('admin-side-nav.audit'),
hideIf: !this.currentUser.isAdmin,
helpModeKey: 'audit',
},
{
screen: 'users',
label: _('admin-side-nav.user-management'),
hideIf: !this.currentUser.isUserAdmin,
helpModeKey: 'user_management',
},
{
screen: 'dossier-permissions',
label: _('dossier-permissions'),
hideIf: !this.currentUser.isAdmin,
helpModeKey: 'dossier_permissions',
},
{ screen: 'audit', label: _('admin-side-nav.audit'), hideIf: !this.currentUser.isAdmin },
{ screen: 'users', label: _('admin-side-nav.user-management'), hideIf: !this.currentUser.isUserAdmin },
{ screen: 'dossier-permissions', label: _('dossier-permissions'), hideIf: !this.currentUser.isAdmin },
{
screen: 'general-config',
label: _('admin-side-nav.configurations'),
hideIf: !this.currentUser.isAdmin,
helpModeKey: 'configurations',
},
],
dossierTemplates: [
{ screen: 'info', label: _('admin-side-nav.dossier-template-info') },
{ screen: 'entities', label: _('admin-side-nav.entities') },
{
screen: 'info',
label: _('admin-side-nav.dossier-template-info'),
helpModeKey: 'dossier_templates_info',
},
{
screen: 'entities',
label: _('admin-side-nav.entities'),
helpModeKey: 'entities',
},
{
screen: 'rules',
label: _('admin-side-nav.rule-editor'),
hideIf: !this.userPreferenceService.areDevFeaturesEnabled,
},
{ screen: 'default-colors', label: _('admin-side-nav.default-colors') },
{ screen: 'watermarks', label: _('admin-side-nav.watermarks') },
{ screen: 'file-attributes', label: _('admin-side-nav.file-attributes') },
{ screen: 'dossier-attributes', label: _('admin-side-nav.dossier-attributes') },
{ screen: 'dossier-states', label: _('admin-side-nav.dossier-states') },
{ screen: 'reports', label: _('admin-side-nav.reports') },
{ screen: 'justifications', label: _('admin-side-nav.justifications') },
{
screen: 'default-colors',
label: _('admin-side-nav.default-colors'),
helpModeKey: 'default_colors',
},
{
screen: 'watermarks',
label: _('admin-side-nav.watermarks'),
helpModeKey: 'watermarks',
},
{
screen: 'file-attributes',
label: _('admin-side-nav.file-attributes'),
helpModeKey: 'file_attributes',
},
{
screen: 'dossier-attributes',
label: _('admin-side-nav.dossier-attributes'),
helpModeKey: 'dossier_attributes',
},
{
screen: 'dossier-states',
label: _('admin-side-nav.dossier-states'),
helpModeKey: 'dossier_states',
},
{
screen: 'reports',
label: _('admin-side-nav.reports'),
helpModeKey: 'reports',
},
{
screen: 'justifications',
label: _('admin-side-nav.justifications'),
helpModeKey: 'justifications',
},
],
entities: [
{

View File

@ -49,6 +49,7 @@ import {
HumanizePipe,
IqserButtonsModule,
IqserEmptyStatesModule,
IqserHelpModeModule,
IqserInputsModule,
IqserListingModule,
IqserScrollbarModule,
@ -125,6 +126,7 @@ const components = [
IqserUploadFileModule,
IqserEmptyStatesModule,
IqserSharedModule,
IqserHelpModeModule,
],
})
export class AdminModule {}

View File

@ -42,6 +42,7 @@
*ngIf="currentUser.isAdmin"
[tooltip]="'default-colors-screen.action.edit' | translate"
[type]="circleButtonTypes.dark"
[iqserHelpMode]="'default_colors'"
icon="iqser:edit"
></iqser-circle-button>
</div>

View File

@ -12,6 +12,7 @@
[buttonIcon]="null"
[buttonLabel]="'digital-signature-screen.no-data.action' | translate"
[text]="'digital-signature-screen.no-data.title' | translate"
[helpModeKey]="'digital_signature'"
icon="iqser:document"
></iqser-empty-state>

View File

@ -60,6 +60,7 @@
*ngIf="currentUser.isAdmin"
[label]="'dossier-attributes-listing.add-new' | translate"
[type]="iconButtonTypes.primary"
[iqserHelpMode]="'create_new_dossier_attributes'"
icon="iqser:plus"
></iqser-icon-button>
</div>
@ -87,19 +88,21 @@
<div class="cell">
<div *ngIf="currentUser.isAdmin" class="action-buttons">
<iqser-circle-button
(action)="openAddEditAttributeDialog($event, attribute)"
[tooltip]="'dossier-attributes-listing.action.edit' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:edit"
></iqser-circle-button>
<div [iqserHelpMode]="'edit_delete_dossier_attributes'">
<iqser-circle-button
(action)="openAddEditAttributeDialog($event, attribute)"
[tooltip]="'dossier-attributes-listing.action.edit' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:edit"
></iqser-circle-button>
<iqser-circle-button
(action)="openConfirmDeleteAttributeDialog($event, [attribute])"
[tooltip]="'dossier-attributes-listing.action.delete' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
></iqser-circle-button>
<iqser-circle-button
(action)="openConfirmDeleteAttributeDialog($event, [attribute])"
[tooltip]="'dossier-attributes-listing.action.delete' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
></iqser-circle-button>
</div>
</div>
</div>
</div>

View File

@ -7,3 +7,7 @@
margin: 5px 0;
}
}
.action-buttons > div {
display: flex;
}

View File

@ -56,6 +56,7 @@
*ngIf="permissionsService.canPerformDossierStatesActions()"
[label]="'dossier-states-listing.add-new' | translate"
[type]="iconButtonTypes.primary"
[iqserHelpMode]="'create_new_dossier_state'"
icon="iqser:plus"
></iqser-icon-button>
</div>
@ -80,18 +81,20 @@
<div class="cell">
<div *ngIf="permissionsService.canPerformDossierStatesActions()" class="action-buttons">
<iqser-circle-button
(action)="openAddEditStateDialog($event, state)"
[tooltip]="'dossier-states-listing.action.edit' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:edit"
></iqser-circle-button>
<iqser-circle-button
(action)="openConfirmDeleteStateDialog($event, state)"
[tooltip]="'dossier-states-listing.action.delete' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
></iqser-circle-button>
<div [iqserHelpMode]="'edit_delete_dossier_state'">
<iqser-circle-button
(action)="openAddEditStateDialog($event, state)"
[tooltip]="'dossier-states-listing.action.edit' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:edit"
></iqser-circle-button>
<iqser-circle-button
(action)="openConfirmDeleteStateDialog($event, state)"
[tooltip]="'dossier-states-listing.action.delete' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
></iqser-circle-button>
</div>
</div>
</div>
</div>

View File

@ -16,3 +16,7 @@
padding: 50px 26px 0;
width: 250px;
}
.action-buttons > div {
display: flex;
}

View File

@ -5,7 +5,7 @@ import { SharedModule } from '@shared/shared.module';
import { TableItemComponent } from './table-item/table-item.component';
import { DossierTemplatesListingScreenComponent } from './dossier-templates-listing-screen/dossier-templates-listing-screen.component';
import { SharedAdminModule } from '../../shared/shared-admin.module';
import { IqserButtonsModule, IqserInputsModule, IqserListingModule, IqserUsersModule } from '@iqser/common-ui';
import { IqserButtonsModule, IqserHelpModeModule, IqserInputsModule, IqserListingModule, IqserUsersModule } from '@iqser/common-ui';
import { TranslateModule } from '@ngx-translate/core';
const routes = [{ path: '', component: DossierTemplatesListingScreenComponent }];
@ -22,6 +22,7 @@ const routes = [{ path: '', component: DossierTemplatesListingScreenComponent }]
IqserInputsModule,
IqserButtonsModule,
IqserListingModule,
IqserHelpModeModule,
],
})
export class DossierTemplatesListingModule {}

View File

@ -1,11 +1,13 @@
<div class="cell">
<div [matTooltipPosition]="'above'" [matTooltip]="dossierTemplate.name" class="table-item-title heading">
{{ dossierTemplate.name }}
</div>
<div class="small-label stats-subtitle">
<div *ngIf="stats$ | async as stats">
<mat-icon svgIcon="red:dictionary"></mat-icon>
{{ 'dossier-templates-listing.entities' | translate: { length: stats.numberOfDictionaries } }}
<div [iqserHelpMode]="'dossier_templates'">
<div [matTooltipPosition]="'above'" [matTooltip]="dossierTemplate.name" class="table-item-title heading">
{{ dossierTemplate.name }}
</div>
<div class="small-label stats-subtitle">
<div *ngIf="stats$ | async as stats">
<mat-icon svgIcon="red:dictionary"></mat-icon>
{{ 'dossier-templates-listing.entities' | translate: { length: stats.numberOfDictionaries } }}
</div>
</div>
</div>
</div>

View File

@ -60,6 +60,7 @@
*ngIf="permissionsService.canEditEntities()"
[label]="'entities-listing.add-new' | translate"
[type]="iconButtonTypes.primary"
[iqserHelpMode]="'create_new_entity'"
icon="iqser:plus"
></iqser-icon-button>
</div>
@ -70,10 +71,12 @@
<ng-template #tableItemTemplate let-entity="entity">
<div *ngIf="cast(entity) as dict">
<div class="cell">
<div [ngStyle]="{ 'background-color': dict.hexColor }" class="color-square"></div>
<div class="dict-name">
<div class="table-item-title heading">
{{ dict.label }}
<div [iqserHelpMode]="'entities'">
<div [ngStyle]="{ 'background-color': dict.hexColor }" class="color-square"></div>
<div class="dict-name">
<div class="table-item-title heading">
{{ dict.label }}
</div>
</div>
</div>
</div>
@ -96,21 +99,23 @@
</div>
<div class="action-buttons">
<iqser-circle-button
(action)="openDeleteEntitiesDialog($event, [dict])"
*ngIf="permissionsService.canDeleteEntities(dict)"
[tooltip]="'entities-listing.action.delete' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
></iqser-circle-button>
<div [iqserHelpMode]="'edit_delete_entities'">
<iqser-circle-button
(action)="openDeleteEntitiesDialog($event, [dict])"
*ngIf="permissionsService.canDeleteEntities(dict)"
[tooltip]="'entities-listing.action.delete' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
></iqser-circle-button>
<iqser-circle-button
*ngIf="permissionsService.canEditEntities()"
[routerLink]="dict.routerLink"
[tooltip]="'entities-listing.action.edit' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:edit"
></iqser-circle-button>
<iqser-circle-button
*ngIf="permissionsService.canEditEntities()"
[routerLink]="dict.routerLink"
[tooltip]="'entities-listing.action.edit' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:edit"
></iqser-circle-button>
</div>
</div>
</div>
</div>

View File

@ -16,4 +16,12 @@
.dict-name {
max-width: 100%;
}
> div {
display: flex;
}
}
.action-buttons > div {
display: flex;
}

View File

@ -67,6 +67,7 @@
*ngIf="currentUser.isAdmin"
[tooltip]="'file-attributes-listing.upload-csv' | translate"
[type]="circleButtonTypes.dark"
[iqserHelpMode]="'upload_file_attribute'"
icon="iqser:upload"
tooltipPosition="above"
></iqser-circle-button>
@ -85,6 +86,7 @@
*ngIf="currentUser.isAdmin"
[label]="'file-attributes-listing.add-new' | translate"
[type]="iconButtonTypes.primary"
[iqserHelpMode]="'create_new_file_attribute'"
icon="iqser:plus"
></iqser-icon-button>
</div>
@ -127,18 +129,20 @@
<div class="cell">
<div *ngIf="currentUser.isAdmin" class="action-buttons">
<iqser-circle-button
(action)="openAddEditAttributeDialog($event, attribute)"
[tooltip]="'file-attributes-listing.action.edit' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:edit"
></iqser-circle-button>
<iqser-circle-button
(action)="openConfirmDeleteAttributeDialog($event, [attribute])"
[tooltip]="'file-attributes-listing.action.delete' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
></iqser-circle-button>
<div [iqserHelpMode]="'edit_delete_file_attribute'">
<iqser-circle-button
(action)="openAddEditAttributeDialog($event, attribute)"
[tooltip]="'file-attributes-listing.action.edit' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:edit"
></iqser-circle-button>
<iqser-circle-button
(action)="openConfirmDeleteAttributeDialog($event, [attribute])"
[tooltip]="'file-attributes-listing.action.delete' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
></iqser-circle-button>
</div>
</div>
</div>
</div>

View File

@ -13,6 +13,10 @@
iqser-round-checkbox {
cursor: default;
}
.action-buttons > div {
display: flex;
}
}
.csv-input {

View File

@ -23,7 +23,13 @@
</div>
</div>
<div class="dialog-actions">
<button [disabled]="form?.invalid || !changed" color="primary" mat-flat-button type="submit">
<button
[disabled]="form?.invalid || !changed"
color="primary"
mat-flat-button
type="submit"
[iqserHelpMode]="'general_configurations'"
>
{{ 'general-config-screen.actions.save' | translate }}
</button>
</div>

View File

@ -98,7 +98,7 @@
</div>
</div>
<div class="dialog-actions">
<button [disabled]="form.invalid || !changed" color="primary" mat-flat-button type="submit">
<button [disabled]="form.invalid || !changed" color="primary" mat-flat-button type="submit" [iqserHelpMode]="'smtp_configurations'">
{{ 'general-config-screen.actions.save' | translate }}
</button>

View File

@ -29,7 +29,13 @@
</div>
</div>
<div class="dialog-actions">
<button [disabled]="form?.invalid || !changed" color="primary" mat-flat-button type="submit">
<button
[disabled]="form?.invalid || !changed"
color="primary"
mat-flat-button
type="submit"
[iqserHelpMode]="'sytem_configurations'"
>
{{ 'general-config-screen.actions.save' | translate }}
</button>
</div>

View File

@ -3,7 +3,7 @@ import { CommonModule } from '@angular/common';
import { DossierTemplateInfoScreenComponent } from './info-screen/dossier-template-info-screen.component';
import { RouterModule } from '@angular/router';
import { SharedModule } from '@shared/shared.module';
import { IqserButtonsModule, IqserScrollbarModule, IqserUsersModule } from '@iqser/common-ui';
import { IqserButtonsModule, IqserHelpModeModule, IqserScrollbarModule, IqserUsersModule } from '@iqser/common-ui';
import { TranslateModule } from '@ngx-translate/core';
const routes = [{ path: '', component: DossierTemplateInfoScreenComponent }];
@ -18,6 +18,7 @@ const routes = [{ path: '', component: DossierTemplateInfoScreenComponent }];
TranslateModule,
IqserButtonsModule,
IqserScrollbarModule,
IqserHelpModeModule,
],
})
export class DossierTemplateInfoModule {}

View File

@ -49,6 +49,7 @@
*ngIf="permissionsService.isAdmin()"
class="ml-8"
icon="iqser:edit"
[iqserHelpMode]="'dossier_templates_info'"
></iqser-circle-button>
</div>

View File

@ -21,6 +21,7 @@ export class LicenseScreenComponent implements OnInit {
label: _('license-info-screen.email-report'),
action: (): void => this.sendMail(),
type: IconButtonTypes.primary,
helpModeKey: 'license_information',
},
];

View File

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

View File

@ -5,7 +5,7 @@ import { LicenseChartComponent } from './license-chart/license-chart.component';
import { RouterModule, Routes } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
import { MatSelectModule } from '@angular/material/select';
import { IqserListingModule } from '@iqser/common-ui';
import { IqserHelpModeModule, IqserListingModule } from '@iqser/common-ui';
import { NgxChartsModule } from '@swimlane/ngx-charts';
import { ComboChartComponent, ComboSeriesVerticalComponent, YAxisComponent } from './combo-chart';
import { FormsModule } from '@angular/forms';
@ -35,6 +35,7 @@ const routes: Routes = [
FormsModule,
NgxChartsModule,
IqserListingModule,
IqserHelpModeModule,
],
})
export class LicenseModule {}

View File

@ -13,6 +13,7 @@
<mat-slide-toggle
(toggleChange)="togglePermission(config.searchKey, permission)"
[checked]="config.getValue(permission)"
[iqserHelpMode]="config.getHelpModeKey(permission)"
color="primary"
></mat-slide-toggle>
</div>

View File

@ -5,13 +5,13 @@ import { SharedModule } from '@shared/shared.module';
import { PermissionsScreenComponent } from './permissions-screen/permissions-screen.component';
import { ConfigService } from './config.service';
import { TranslateModule } from '@ngx-translate/core';
import { IqserListingModule } from '@iqser/common-ui';
import { IqserHelpModeModule, IqserListingModule } from '@iqser/common-ui';
const routes = [{ path: '', component: PermissionsScreenComponent }];
@NgModule({
declarations: [PermissionsScreenComponent],
imports: [RouterModule.forChild(routes), CommonModule, SharedModule, TranslateModule, IqserListingModule],
imports: [RouterModule.forChild(routes), CommonModule, SharedModule, TranslateModule, IqserListingModule, IqserHelpModeModule],
providers: [ConfigService],
})
export class PermissionsModule {}

View File

@ -25,6 +25,7 @@
(action)="fileInput.click()"
*ngIf="permissionsService.isAdmin()"
[tooltip]="'reports-screen.upload-document' | translate"
[iqserHelpMode]="'reports'"
icon="iqser:upload"
></iqser-circle-button>
</div>

View File

@ -4,12 +4,20 @@ import { RouterModule } from '@angular/router';
import { SharedModule } from '@shared/shared.module';
import { ReportsScreenComponent } from './reports-screen/reports-screen.component';
import { TranslateModule } from '@ngx-translate/core';
import { IqserButtonsModule, IqserScrollbarModule } from '@iqser/common-ui';
import { IqserButtonsModule, IqserHelpModeModule, IqserScrollbarModule } from '@iqser/common-ui';
const routes = [{ path: '', component: ReportsScreenComponent }];
@NgModule({
declarations: [ReportsScreenComponent],
imports: [RouterModule.forChild(routes), CommonModule, SharedModule, TranslateModule, IqserButtonsModule, IqserScrollbarModule],
imports: [
RouterModule.forChild(routes),
CommonModule,
SharedModule,
TranslateModule,
IqserButtonsModule,
IqserScrollbarModule,
IqserHelpModeModule,
],
})
export class ReportsModule {}

View File

@ -54,6 +54,7 @@
(toggleChange)="toggleActive(user)"
[checked]="user.active"
[disabled]="!canDeactivate(user)"
[iqserHelpMode]="'activate_deactivate_user'"
color="primary"
></mat-slide-toggle>
</div>
@ -64,20 +65,22 @@
<div class="cell">
<div class="action-buttons">
<iqser-circle-button
(action)="openAddEditUserDialog($event, user)"
[tooltip]="'user-listing.action.edit' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:edit"
></iqser-circle-button>
<div [iqserHelpMode]="'edit_delete_user'">
<iqser-circle-button
(action)="openAddEditUserDialog($event, user)"
[tooltip]="'user-listing.action.edit' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:edit"
></iqser-circle-button>
<iqser-circle-button
(action)="openDeleteUsersDialog([user.id], $event)"
[disabled]="deleteDisabled(user)"
[tooltip]="'user-listing.action.delete' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
></iqser-circle-button>
<iqser-circle-button
(action)="openDeleteUsersDialog([user.id], $event)"
[disabled]="deleteDisabled(user)"
[tooltip]="'user-listing.action.delete' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
></iqser-circle-button>
</div>
</div>
</div>
</div>

View File

@ -16,3 +16,7 @@
::ng-deep .page-header .actions > *:not(:last-child) {
margin-right: 6px;
}
.action-buttons > div {
display: flex;
}

View File

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

View File

@ -8,6 +8,7 @@ import {
CompositeRouteGuard,
IqserAuthGuard,
IqserButtonsModule,
IqserHelpModeModule,
IqserListingModule,
IqserScrollbarModule,
IqserUsersModule,
@ -55,6 +56,7 @@ const routes = [
IqserButtonsModule,
IqserListingModule,
IqserScrollbarModule,
IqserHelpModeModule,
],
})
export class WatermarkModule {}

View File

@ -16,6 +16,7 @@
[label]="'watermarks-listing.add-new' | translate"
[routerLink]="getRouterLink()"
[type]="iconButtonTypes.primary"
[iqserHelpMode]="'create_new_watermark'"
icon="iqser:plus"
></iqser-icon-button>
</div>
@ -49,20 +50,22 @@
<div class="cell">
<div class="action-buttons">
<iqser-circle-button
[routerLink]="getRouterLink(entity)"
[tooltip]="'watermarks-listing.action.edit' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:edit"
></iqser-circle-button>
<div [iqserHelpMode]="'edit_delete_watermark'">
<iqser-circle-button
[routerLink]="getRouterLink(entity)"
[tooltip]="'watermarks-listing.action.edit' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:edit"
></iqser-circle-button>
<iqser-circle-button
(action)="openConfirmDeleteWatermarkDialog($event, entity)"
*ngIf="currentUser.isAdmin"
[tooltip]="'watermarks-listing.action.delete' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
></iqser-circle-button>
<iqser-circle-button
(action)="openConfirmDeleteWatermarkDialog($event, entity)"
*ngIf="currentUser.isAdmin"
[tooltip]="'watermarks-listing.action.delete' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
></iqser-circle-button>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,3 @@
.action-buttons > div {
display: flex;
}

View File

@ -20,6 +20,7 @@ import { WatermarksMapService } from '@services/entity-services/watermarks-map.s
@Component({
templateUrl: './watermarks-listing-screen.component.html',
styleUrls: ['./watermarks-listing-screen.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
providers: listingProvidersFactory(WatermarksListingScreenComponent),
})

View File

@ -1,22 +1,24 @@
<div class="action-buttons" *ngIf="currentUser.isAdmin">
<iqser-circle-button
(action)="openDeleteDossierTemplateDialog($event)"
[tooltip]="'dossier-templates-listing.action.delete' | translate"
icon="iqser:trash"
[type]="circleButtonTypes.dark"
></iqser-circle-button>
<div [iqserHelpMode]="'edit_clone_delete_dossier_templates'">
<iqser-circle-button
(action)="openDeleteDossierTemplateDialog($event)"
[tooltip]="'dossier-templates-listing.action.delete' | translate"
icon="iqser:trash"
[type]="circleButtonTypes.dark"
></iqser-circle-button>
<iqser-circle-button
(action)="openEditCloneDossierTemplateDialog($event, true)"
[tooltip]="'dossier-templates-listing.action.clone' | translate"
icon="iqser:copy"
[type]="circleButtonTypes.dark"
></iqser-circle-button>
<iqser-circle-button
(action)="openEditCloneDossierTemplateDialog($event, true)"
[tooltip]="'dossier-templates-listing.action.clone' | translate"
icon="iqser:copy"
[type]="circleButtonTypes.dark"
></iqser-circle-button>
<iqser-circle-button
(action)="openEditCloneDossierTemplateDialog($event)"
[tooltip]="'dossier-templates-listing.action.edit' | translate"
icon="iqser:edit"
[type]="circleButtonTypes.dark"
></iqser-circle-button>
<iqser-circle-button
(action)="openEditCloneDossierTemplateDialog($event)"
[tooltip]="'dossier-templates-listing.action.edit' | translate"
icon="iqser:edit"
[type]="circleButtonTypes.dark"
></iqser-circle-button>
</div>
</div>

View File

@ -4,4 +4,8 @@
iqser-circle-button:not(:last-child) {
margin-right: 2px;
}
> div {
display: flex;
}
}

View File

@ -4,7 +4,7 @@ import { SharedModule } from '@shared/shared.module';
import { DossierTemplateActionsComponent } from './components/dossier-template-actions/dossier-template-actions.component';
import { RouterModule } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
import { IqserButtonsModule } from '@iqser/common-ui';
import { IqserButtonsModule, IqserHelpModeModule } from '@iqser/common-ui';
const components = [DossierTemplateActionsComponent];
@ -13,6 +13,6 @@ const modules = [CommonModule, SharedModule];
@NgModule({
declarations: [...components],
exports: [...components, ...modules],
imports: [...modules, RouterModule, TranslateModule, IqserButtonsModule],
imports: [...modules, RouterModule, TranslateModule, IqserButtonsModule, IqserHelpModeModule],
})
export class SharedAdminModule {}

View File

@ -113,12 +113,6 @@
"it": "",
"fr": ""
},
"dossier_list": {
"en": "/en/index-en.html?contextId=dossier_list",
"de": "",
"it": "",
"fr": ""
},
"document_list": {
"en": "/en/index-en.html?contextId=document_list",
"de": "",
@ -298,5 +292,209 @@
"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_attributes": {
"en": "/en/index-en.html?contextId=create_new_dossier_attributes",
"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=license_information",
"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": ""
},
"sytem_configurations": {
"en": "/en/index-en.html?contextId=sytem_configurations",
"de": "",
"it": "",
"fr": ""
},
"smtp_configurations": {
"en": "/en/index-en.html?contextId=smtp_configurations",
"de": "",
"it": "",
"fr": ""
}
}

@ -1 +1 @@
Subproject commit 7a456438cdf44b47d45cbe60efe085480fd4fd7c
Subproject commit 85e9a939983c6e736434288aa95b90e2d3b56630

View File

@ -29,4 +29,8 @@ export class PermissionsMapping extends Entity<IPermissionsMapping> implements I
getValue(permissionName: string): boolean {
return this.#currentValuesMap.has(permissionName);
}
getHelpModeKey(permissionName: string): string | null {
return permissionName === 'OWNER' ? 'dossier_permissions' : null;
}
}