From 48705f53b372d48fe5ee0c2488381ec259f85d3b Mon Sep 17 00:00:00 2001 From: Florent Poittevin <florent.poittevin@unige.ch> Date: Mon, 27 Jan 2020 14:38:00 +0100 Subject: [PATCH] feat: add tooltips in administration forms --- .../admin-oai-set-form.presentational.html | 10 +++++++++ .../admin-oai-set-form.presentational.ts | 3 +++ .../admin-orgunit-form.presentational.html | 21 ++++++++++++++++--- .../admin-orgunit-form.presentational.ts | 3 +++ .../admin-person-form.presentational.html | 1 - .../deposit-file/deposit-file.routable.ts | 14 +++++++++++++ src/assets/i18n/de.json | 11 ++++++++++ src/assets/i18n/en.json | 11 ++++++++++ src/assets/i18n/fr.json | 11 ++++++++++ src/environments/environment.defaults.ts | 2 +- 10 files changed, 82 insertions(+), 5 deletions(-) diff --git a/src/app/features/admin/oai-set/components/presentationals/admin-oai-set-form/admin-oai-set-form.presentational.html b/src/app/features/admin/oai-set/components/presentationals/admin-oai-set-form/admin-oai-set-form.presentational.html index b9cece4ec..58c18bdb7 100644 --- a/src/app/features/admin/oai-set/components/presentationals/admin-oai-set-form/admin-oai-set-form.presentational.html +++ b/src/app/features/admin/oai-set/components/presentationals/admin-oai-set-form/admin-oai-set-form.presentational.html @@ -7,6 +7,11 @@ <mat-form-field *ngIf="getFormControl(formDefinition.spec) as fd"> <mat-label>{{'admin.oai-set.form.spec' | translate}}</mat-label> <input matInput + [matTooltip]="'admin.oai-set.tooltips.spec' | translate" + [matTooltipPosition]="'left'" + [matTooltipShowDelay]="TIME_BEFORE_DISPLAY_TOOLTIP" + aria-label="submission policy tooltip" + matTooltipClass="tooltip" [solidifyValidation]="errors" [formControl]="fd" [required]="formValidationHelper.hasRequiredField(fd)" @@ -39,6 +44,11 @@ <mat-form-field *ngIf="getFormControl(formDefinition.query) as fd"> <mat-label>{{'admin.oai-set.form.query' | translate}}</mat-label> <input matInput + [matTooltip]="'admin.oai-set.tooltips.query' | translate" + [matTooltipPosition]="'left'" + [matTooltipShowDelay]="TIME_BEFORE_DISPLAY_TOOLTIP" + aria-label="submission policy tooltip" + matTooltipClass="tooltip" [solidifyValidation]="errors" [formControl]="fd" [required]="formValidationHelper.hasRequiredField(fd)" diff --git a/src/app/features/admin/oai-set/components/presentationals/admin-oai-set-form/admin-oai-set-form.presentational.ts b/src/app/features/admin/oai-set/components/presentationals/admin-oai-set-form/admin-oai-set-form.presentational.ts index 16cbfffb2..ef847fe36 100644 --- a/src/app/features/admin/oai-set/components/presentationals/admin-oai-set-form/admin-oai-set-form.presentational.ts +++ b/src/app/features/admin/oai-set/components/presentationals/admin-oai-set-form/admin-oai-set-form.presentational.ts @@ -8,6 +8,7 @@ import { Validators, } from "@angular/forms"; import {OaiSet} from "@app/generated-api"; +import {environment} from "@environments/environment"; import {SharedAbstractFormPresentational} from "@shared/components/presentationals/shared-abstract-form/shared-abstract-form.presentational"; import {BaseFormDefinition} from "@shared/models/base-form-definition.model"; import { @@ -24,6 +25,8 @@ import { export class AdminOaiSetFormPresentational extends SharedAbstractFormPresentational<OaiSet> { formDefinition: FormComponentFormDefinition = new FormComponentFormDefinition(); + readonly TIME_BEFORE_DISPLAY_TOOLTIP: number = environment.timeBeforeDisplayTooltipOnInput; + constructor(protected readonly _changeDetectorRef: ChangeDetectorRef, private readonly _fb: FormBuilder) { super(_changeDetectorRef); diff --git a/src/app/features/admin/orgunit/components/presentationals/admin-orgunit-form/admin-orgunit-form.presentational.html b/src/app/features/admin/orgunit/components/presentationals/admin-orgunit-form/admin-orgunit-form.presentational.html index cfbf5315f..ba1f8b0de 100644 --- a/src/app/features/admin/orgunit/components/presentationals/admin-orgunit-form/admin-orgunit-form.presentational.html +++ b/src/app/features/admin/orgunit/components/presentationals/admin-orgunit-form/admin-orgunit-form.presentational.html @@ -15,7 +15,12 @@ <mat-error #errors></mat-error> </mat-form-field> - <dlcm-shared-multi-select *ngIf="getFormControl(formDefinition.submissionPolicies) as fd" + <dlcm-shared-multi-select [matTooltip]="'orgUnit.tooltips.submissionPolicy' | translate" + [matTooltipPosition]="'left'" + [matTooltipShowDelay]="TIME_BEFORE_DISPLAY_TOOLTIP" + aria-label="submission policy tooltip" + matTooltipClass="tooltip" + *ngIf="getFormControl(formDefinition.submissionPolicies) as fd" [list]="listSubmissionPolicies" [formControl]="fd" [formControlDefault]="getFormControl(formDefinition.defaultSubmissionPolicy)" @@ -30,7 +35,12 @@ > </dlcm-shared-multi-select> - <dlcm-shared-multi-select *ngIf="getFormControl(formDefinition.preservationPolicies) as fd" + <dlcm-shared-multi-select [matTooltip]="'orgUnit.tooltips.preservationPolicy' | translate" + [matTooltipPosition]="'left'" + [matTooltipShowDelay]="TIME_BEFORE_DISPLAY_TOOLTIP" + aria-label="preservation policy tooltip" + matTooltipClass="tooltip" + *ngIf="getFormControl(formDefinition.preservationPolicies) as fd" [list]="listPreservationPolicies" [formControl]="fd" [formControlDefault]="getFormControl(formDefinition.defaultPreservationPolicy)" @@ -45,7 +55,12 @@ > </dlcm-shared-multi-select> - <dlcm-shared-multi-select *ngIf="getFormControl(formDefinition.disseminationPolicies) as fd" + <dlcm-shared-multi-select [matTooltip]="'orgUnit.tooltips.disseminationPolicy' | translate" + [matTooltipPosition]="'left'" + [matTooltipShowDelay]="TIME_BEFORE_DISPLAY_TOOLTIP" + aria-label="dissemination policy tooltip" + matTooltipClass="tooltip" + *ngIf="getFormControl(formDefinition.disseminationPolicies) as fd" [list]="listDisseminationPolicies" [formControl]="fd" [formControlDefault]="getFormControl(formDefinition.defaultDisseminationPolicy)" diff --git a/src/app/features/admin/orgunit/components/presentationals/admin-orgunit-form/admin-orgunit-form.presentational.ts b/src/app/features/admin/orgunit/components/presentationals/admin-orgunit-form/admin-orgunit-form.presentational.ts index 9071e7b03..371ffc3f0 100644 --- a/src/app/features/admin/orgunit/components/presentationals/admin-orgunit-form/admin-orgunit-form.presentational.ts +++ b/src/app/features/admin/orgunit/components/presentationals/admin-orgunit-form/admin-orgunit-form.presentational.ts @@ -19,6 +19,7 @@ import { Role, SubmissionPolicy, } from "@app/generated-api"; +import {environment} from "@environments/environment"; import {SharedAbstractFormPresentational} from "@shared/components/presentationals/shared-abstract-form/shared-abstract-form.presentational"; import {PersonOrgUnitRoleMode} from "@shared/components/presentationals/shared-person-orgunit-role/shared-person-orgunit-role.presentational"; import {LocalModelAttributeEnum} from "@shared/enums/model-attribute.enum"; @@ -86,6 +87,8 @@ export class AdminOrgunitFormPresentational extends SharedAbstractFormPresentati @Input() listRole: Role[]; + readonly TIME_BEFORE_DISPLAY_TOOLTIP: number = environment.timeBeforeDisplayTooltipOnInput; + get personOrgUnitRoleMode(): typeof PersonOrgUnitRoleMode { return PersonOrgUnitRoleMode; } diff --git a/src/app/features/admin/person/components/presentationals/admin-person-form/admin-person-form.presentational.html b/src/app/features/admin/person/components/presentationals/admin-person-form/admin-person-form.presentational.html index 9aec9a139..505415171 100644 --- a/src/app/features/admin/person/components/presentationals/admin-person-form/admin-person-form.presentational.html +++ b/src/app/features/admin/person/components/presentationals/admin-person-form/admin-person-form.presentational.html @@ -34,7 +34,6 @@ > <mat-error>{{formValidationHelper.getFormError(fd)}}</mat-error> </mat-form-field> - <dlcm-shared-multi-select [list]="listInstitutions" [formControl]="form.get(formDefinition.institutions)" [required]="isRequired(formDefinition.institutions)" diff --git a/src/app/features/deposit/components/routables/deposit-file/deposit-file.routable.ts b/src/app/features/deposit/components/routables/deposit-file/deposit-file.routable.ts index e7af93fba..bf47d1cee 100644 --- a/src/app/features/deposit/components/routables/deposit-file/deposit-file.routable.ts +++ b/src/app/features/deposit/components/routables/deposit-file/deposit-file.routable.ts @@ -227,6 +227,20 @@ export class DepositFileRoutable extends SharedAbstractDetailEditRoutable<Deposi component: DataTableComponentEnum.conformityLevelStar, filterEnum: ComplianceLevelEnumHelper.getListKeyValue(), }, + { + field: "status", + header: StringUtil.stringEmpty, + type: FieldTypeEnum.singleSelect, + order: OrderEnum.none, + sortableField: "dataFile.status" as any, + filterableField: "dataFile.status" as any, + isSortable: false, + isFilterable: false, + translate: false, + component: DataTableComponentEnum.dataFileQuickStatus, + width: "35px", + // filterEnum: ComplianceLevelEnumHelper.getListKeyValue(), + }, ]; } diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index cfebcda1e..e82d77828 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -289,6 +289,10 @@ "name": "Name", "spec": "Spec" } + }, + "tooltips": { + "query": "admin.oai-set.tooltips.query", + "spec": "admin.oai-set.tooltips.spec" } }, "oauth2": { @@ -1619,6 +1623,13 @@ } } }, + "orgUnit": { + "tooltips": { + "disseminationPolicy": "orgUnit.tooltips.disseminationPolicy", + "preservationPolicy": "orgUnit.tooltips.preservationPolicy", + "submissionPolicy": "orgUnit.tooltips.submissionPolicy" + } + }, "organizationalUnit": { "closingDate": "Closing Date", "description": "Description", diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index cfebcda1e..66541d70b 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -289,6 +289,10 @@ "name": "Name", "spec": "Spec" } + }, + "tooltips": { + "query": "Query to search for the OAI set. Only works within this repository.", + "spec": "The OAI set's identifier. Must be lower case." } }, "oauth2": { @@ -1619,6 +1623,13 @@ } } }, + "orgUnit": { + "tooltips": { + "disseminationPolicy": "Sets a dissemination policy for the organizational unit", + "preservationPolicy": "Sets the organizational unit's available preservation policies.", + "submissionPolicy": "Sets the organizational unit's available submission policies:\n\n1) Deposit without approval: \nThe archiving process will automatically start when the deposit is submitted.\n\n2) Deposit with approval: \nWhen the deposit is submitted, it will be sent to validation, where an approver or higher will need to approve it for archiving." + } + }, "organizationalUnit": { "closingDate": "Closing Date", "description": "Description", diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index 23198650b..9a10a7718 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -289,6 +289,10 @@ "name": "Nom", "spec": "Spec" } + }, + "tooltips": { + "query": "Requête permettant de rechercher le set OAI au sein de cette plateforme", + "spec": "L'identifiant de ce set OAI. Il doit être écrit en minuscule" } }, "oauth2": { @@ -1619,6 +1623,13 @@ } } }, + "orgUnit": { + "tooltips": { + "disseminationPolicy": "Défini une politique de dissémination pour cette unité organisationnelle", + "preservationPolicy": "Défini quelles politiques de préservation seront disponibles pour cette unité organisationnelle", + "submissionPolicy": "Défini quelles politiques de soumission seront disponibles pour cette unité organisationnelle :\n\n1) 'Deposit without approval' : \nLe processus d'archivage sera automatiquement déclenché une fois le dépôt soumis.\n\n2) 'Deposit with approval' : \nUne fois le dépôt soumis, il sera envoyé en validation, où une personne ayant au moins le rôle 'approver' devra l'approuver avant que le processus d'archivage ne se déclenche." + } + }, "organizationalUnit": { "closingDate": "Date de fermeture", "description": "Description", diff --git a/src/environments/environment.defaults.ts b/src/environments/environment.defaults.ts index f10d29233..f3118807d 100644 --- a/src/environments/environment.defaults.ts +++ b/src/environments/environment.defaults.ts @@ -90,7 +90,7 @@ export const defaultEnvironment: DlcmEnvironment = { // Tooltip duration timeBeforeDisplayTooltipOnDataTable: 500, - timeBeforeDisplayTooltipOnInput: 500, + timeBeforeDisplayTooltipOnInput: 0, doiLink: "https://doi.org/", -- GitLab