From ba521a87eadc169ddb435694af2f98da3ea241af Mon Sep 17 00:00:00 2001
From: Florent POITTEVIN <poittevin.florent@gmail.com>
Date: Tue, 2 Mar 2021 11:49:50 +0100
Subject: [PATCH] feat: 294 set material input label in position always open

---
 package-lock.json                                     |  6 +++---
 package.json                                          |  2 +-
 ...ain-toolbar-desktop-horizontal.presentational.html |  2 ++
 .../deposit-document-file-upload.dialog.html          |  5 +++++
 ...orm-description-classification.presentational.html |  2 ++
 ...it-form-description-collection.presentational.html |  2 ++
 ...cription-container-identifiers.presentational.html |  2 ++
 ...sit-form-description-container.presentational.html |  6 ++++++
 ...posit-form-description-dataset.presentational.html |  1 +
 .../deposit-form-description-date.presentational.html |  2 +-
 .../deposit-form-description-dois.presentational.html |  1 +
 ...posit-form-description-funding.presentational.html |  4 ++++
 ...deposit-form-description-group.presentational.html |  2 ++
 .../deposit-form-description-link.presentational.html |  1 +
 .../deposit-form-description-page.presentational.html |  3 +++
 ...ription-publication-identifier.presentational.html |  8 ++++++++
 ...sit-form-description-publisher.presentational.html |  2 ++
 ...form-description-text-language.presentational.html |  2 ++
 .../deposit-form-first-step-type.presentational.html  |  7 ++++++-
 ...t-form-fourth-step-description.presentational.html | 11 +++++++----
 ...sit-form-fourth-step-description.presentational.ts |  1 -
 src/app/icons.ts                                      |  5 +++++
 .../shared-abstract/shared-abstract.container.ts      |  9 ++++++++-
 .../dialogs/shared-abstract/shared-abstract.dialog.ts |  9 ++++++++-
 .../shared-abstract/shared-abstract.presentational.ts |  9 ++++++++-
 .../shared-abstract/shared-abstract.routable.ts       |  9 ++++++++-
 .../structure/app-person-structure-role.state.ts      |  2 +-
 src/environments/environment.defaults.ts              |  1 +
 28 files changed, 100 insertions(+), 16 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 8aec9ef89..a61ea1c97 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14836,9 +14836,9 @@
       }
     },
     "solidify-frontend": {
-      "version": "1.1.27",
-      "resolved": "https://nexus.unige.ch/repository/npm-all/solidify-frontend/-/solidify-frontend-1.1.27.tgz",
-      "integrity": "sha512-zrT5EHErPThHEYD/5dNOcQ6o8FAQs/7loVsejcBFiVOfyd8WoX1VwKn9IBV6J7dD0ZfWlDqwuNb70fgn0ZVsmg==",
+      "version": "1.2.3",
+      "resolved": "https://nexus.unige.ch/repository/npm-all/solidify-frontend/-/solidify-frontend-1.2.3.tgz",
+      "integrity": "sha512-/E0zMmV/k2CFyJLTr4d5IkNbiRUffOS62XpiyJzqUVqCmYcM9X0w81CVXL4I/9sGtkId8AFkAHLFWti7AueYFw==",
       "requires": {
         "tslib": "^2.0.0"
       }
diff --git a/package.json b/package.json
index 635a262bb..97f8efc12 100644
--- a/package.json
+++ b/package.json
@@ -89,7 +89,7 @@
     "normalize.css": "8.0.1",
     "patch-package": "6.2.2",
     "rxjs": "6.6.0",
-    "solidify-frontend": "1.1.27",
+    "solidify-frontend": "1.2.3",
     "streamsaver": "2.0.4",
     "sync-pom-version-to-package": "1.5.0",
     "ts-key-enum": "2.0.3",
diff --git a/src/app/components/presentationals/main-toolbar/main-toolbar-desktop-horizontal/main-toolbar-desktop-horizontal.presentational.html b/src/app/components/presentationals/main-toolbar/main-toolbar-desktop-horizontal/main-toolbar-desktop-horizontal.presentational.html
index 7a3c4576c..28f9e6a23 100644
--- a/src/app/components/presentationals/main-toolbar/main-toolbar-desktop-horizontal/main-toolbar-desktop-horizontal.presentational.html
+++ b/src/app/components/presentationals/main-toolbar/main-toolbar-desktop-horizontal/main-toolbar-desktop-horizontal.presentational.html
@@ -15,6 +15,8 @@
     <ng-container *ngIf="breakpointService.isBiggerThanSmObs() | async">
       <solidify-search-input *ngIf="!isHomePage"
                              [labelToTranslate]="'app.searchADeposit' | translate"
+                             [positionLabel]="'auto'"
+                             [appearance]="'legacy'"
                              class="search-bar"
                              (valueChange)="search($event)"
                              [allowEmptySearch]="true"
diff --git a/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.html b/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.html
index f79fd8a17..0fc52f2f1 100644
--- a/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.html
+++ b/src/app/features/deposit/components/dialogs/deposit-document-file-upload/deposit-document-file-upload.dialog.html
@@ -69,6 +69,7 @@
   >
     <mat-form-field *ngIf="getFormControl(formDefinition.documentFileTypeId) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.description | translate}}</mat-label>
       <mat-select [formControl]="fd"
@@ -92,6 +93,7 @@
                                        solidifyValidation
                                        aria-label="license input"
                                        [resourceNameSpace]="sharedLicenseActionNameSpace"
+                                       [positionLabel]="positionLabelInputMaterial"
                                        [state]="sharedLicenseState"
                                        [sort]="sharedLicenseSort"
                                        [formControl]="fd"
@@ -112,6 +114,7 @@
       <mat-form-field aria-label="access level"
                       *ngIf="getFormControl(formDefinition.accessLevel) as fd"
                       [appearance]="appearanceInputMaterial"
+                      [floatLabel]="positionLabelInputMaterial"
       >
         <mat-label>{{labelTranslateEnum.accessLevel | translate }}</mat-label>
         <mat-select [formControl]="fd"
@@ -148,6 +151,7 @@
         <mat-form-field aria-label="access level"
                         *ngIf="getFormControl(formDefinition.embargoAccessLevel) as fd"
                         [appearance]="appearanceInputMaterial"
+                        [floatLabel]="positionLabelInputMaterial"
         >
           <mat-label>{{labelTranslateEnum.embargoAccessLevel | translate }}</mat-label>
           <mat-select [formControl]="fd"
@@ -167,6 +171,7 @@
       <mat-form-field *ngIf="getFormControl(formDefinition.embargoEndDate) as fd"
                       (click)="closingDateDatepicker.open()"
                       [appearance]="appearanceInputMaterial"
+                      [floatLabel]="positionLabelInputMaterial"
       >
         <mat-label>{{labelTranslateEnum.embargoEndDate | translate}}</mat-label>
         <input [formControl]="fd"
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-classification/deposit-form-description-classification.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-description-classification/deposit-form-description-classification.presentational.html
index fe7b84f40..52baf13ea 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-classification/deposit-form-description-classification.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-classification/deposit-form-description-classification.presentational.html
@@ -8,6 +8,7 @@
 
     <mat-form-field *ngIf="formValidationHelper.getFormControl(f, formDefinition.code) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.code | translate}}</mat-label>
       <input matInput
@@ -20,6 +21,7 @@
 
     <mat-form-field *ngIf="formValidationHelper.getFormControl(f, formDefinition.item) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.item | translate}}</mat-label>
       <input matInput
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-collection/deposit-form-description-collection.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-description-collection/deposit-form-description-collection.presentational.html
index 2172915ee..413c197c9 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-collection/deposit-form-description-collection.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-collection/deposit-form-description-collection.presentational.html
@@ -8,6 +8,7 @@
 
     <mat-form-field *ngIf="formValidationHelper.getFormControl(f, formDefinition.name) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.nameLabel | translate}}</mat-label>
       <input matInput
@@ -20,6 +21,7 @@
 
     <mat-form-field *ngIf="formValidationHelper.getFormControl(f, formDefinition.number) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.code | translate}}</mat-label>
       <input matInput
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-container-identifiers/deposit-form-description-container-identifiers.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-description-container-identifiers/deposit-form-description-container-identifiers.presentational.html
index 980b372b1..225dcb6a3 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-container-identifiers/deposit-form-description-container-identifiers.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-container-identifiers/deposit-form-description-container-identifiers.presentational.html
@@ -9,6 +9,7 @@
   <div class="isbn-and-issn">
     <mat-form-field *ngIf="getFormControl(formDefinition.isbn) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.isbn | translate}}</mat-label>
       <input matInput
@@ -21,6 +22,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.issn) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.issn | translate}}</mat-label>
       <input matInput
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-container/deposit-form-description-container.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-description-container/deposit-form-description-container.presentational.html
index 270e5d6c4..fada176d2 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-container/deposit-form-description-container.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-container/deposit-form-description-container.presentational.html
@@ -15,6 +15,7 @@
   <div class="three-column">
     <mat-form-field *ngIf="getFormControl(formDefinition.editor) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.editor | translate}}</mat-label>
       <input matInput
@@ -27,6 +28,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.place) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.place | translate}}</mat-label>
       <input matInput
@@ -39,6 +41,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.volume) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.volume | translate}}</mat-label>
       <input matInput
@@ -52,6 +55,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.issue) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.issue | translate}}</mat-label>
       <input matInput
@@ -66,6 +70,7 @@
     <mat-form-field *ngIf="getFormControl(formDefinition.conferenceDate) as fd"
                     (click)="publicationDateDatepicker.open()"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.conferenceDate | translate}}</mat-label>
       <input [formControl]="fd"
@@ -85,6 +90,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.specialIssue) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.specialIssue | translate}}</mat-label>
       <input matInput
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-dataset/deposit-form-description-dataset.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-description-dataset/deposit-form-description-dataset.presentational.html
index 4ed7359a9..15d9a13fc 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-dataset/deposit-form-description-dataset.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-dataset/deposit-form-description-dataset.presentational.html
@@ -9,6 +9,7 @@
 
   <mat-form-field *ngIf="getFormControl(formDefinition.doi) as fd"
                   [appearance]="appearanceInputMaterial"
+                  [floatLabel]="positionLabelInputMaterial"
   >
     <mat-label>{{labelTranslateEnum.doi | translate}}</mat-label>
     <input matInput
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-date/deposit-form-description-date.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-description-date/deposit-form-description-date.presentational.html
index 056622510..420b4908d 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-date/deposit-form-description-date.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-date/deposit-form-description-date.presentational.html
@@ -8,7 +8,7 @@
     <ng-container *ngIf="formValidationHelper.getFormControl(f, formDefinition.type) as fdType">
       <mat-form-field *ngIf="formValidationHelper.getFormControl(f, formDefinition.date) as fd"
                       [appearance]="appearanceInputMaterial"
-                      [floatLabel]="'always'"
+                      [floatLabel]="positionLabelInputMaterial"
       >
         <mat-label>{{getLabelDate(fdType.value) | translate}}</mat-label>
         <input [formControl]="fd"
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-dois/deposit-form-description-dois.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-description-dois/deposit-form-description-dois.presentational.html
index 51046daee..091b82b04 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-dois/deposit-form-description-dois.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-dois/deposit-form-description-dois.presentational.html
@@ -8,6 +8,7 @@
 
     <mat-form-field *ngIf="formValidationHelper.getFormControl(f, formDefinition.doi) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.doi | translate}}</mat-label>
       <input matInput
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-funding/deposit-form-description-funding.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-description-funding/deposit-form-description-funding.presentational.html
index 905136997..715a212f5 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-funding/deposit-form-description-funding.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-funding/deposit-form-description-funding.presentational.html
@@ -7,6 +7,7 @@
   >
     <mat-form-field *ngIf="formValidationHelper.getFormControl(f, formDefinition.funder) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.funder | translate}}</mat-label>
       <input matInput
@@ -19,6 +20,7 @@
 
     <mat-form-field *ngIf="formValidationHelper.getFormControl(f, formDefinition.name) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.nameLabel | translate}}</mat-label>
       <input matInput
@@ -31,6 +33,7 @@
 
     <mat-form-field *ngIf="formValidationHelper.getFormControl(f, formDefinition.code) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.code | translate}}</mat-label>
       <input matInput
@@ -44,6 +47,7 @@
 
     <mat-form-field *ngIf="formValidationHelper.getFormControl(f, formDefinition.acronym) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.acronym | translate}}</mat-label>
       <input matInput
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-group/deposit-form-description-group.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-description-group/deposit-form-description-group.presentational.html
index 735805609..b8841327a 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-group/deposit-form-description-group.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-group/deposit-form-description-group.presentational.html
@@ -8,6 +8,7 @@
 
     <mat-form-field *ngIf="formValidationHelper.getFormControl(f, formDefinition.name) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.nameLabel | translate}}</mat-label>
       <input matInput
@@ -20,6 +21,7 @@
 
     <mat-form-field *ngIf="formValidationHelper.getFormControl(f, formDefinition.code) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.code | translate}}</mat-label>
       <input matInput
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-link/deposit-form-description-link.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-description-link/deposit-form-description-link.presentational.html
index 3b5b47720..5a294b421 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-link/deposit-form-description-link.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-link/deposit-form-description-link.presentational.html
@@ -19,6 +19,7 @@
     <mat-form-field aria-label="type link"
                     *ngIf="formValidationHelper.getFormControl(f, formDefinition.type) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.type | translate }}</mat-label>
       <mat-select [formControl]="fd"
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-page/deposit-form-description-page.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-description-page/deposit-form-description-page.presentational.html
index 9f72459d1..e1bd9cdb3 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-page/deposit-form-description-page.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-page/deposit-form-description-page.presentational.html
@@ -4,6 +4,7 @@
 >
   <mat-form-field *ngIf="getFormControl(formDefinition.start) as fd"
                   [appearance]="appearanceInputMaterial"
+                  [floatLabel]="positionLabelInputMaterial"
   >
     <mat-label>{{labelTranslateEnum.start | translate}}</mat-label>
     <input matInput
@@ -16,6 +17,7 @@
 
   <mat-form-field *ngIf="getFormControl(formDefinition.end) as fd"
                   [appearance]="appearanceInputMaterial"
+                  [floatLabel]="positionLabelInputMaterial"
   >
     <mat-label>{{labelTranslateEnum.end | translate}}</mat-label>
     <input matInput
@@ -28,6 +30,7 @@
 
   <mat-form-field *ngIf="getFormControl(formDefinition.other) as fd"
                   [appearance]="appearanceInputMaterial"
+                  [floatLabel]="positionLabelInputMaterial"
   >
     <mat-label>{{labelTranslateEnum.other | translate}}</mat-label>
     <input matInput
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-publication-identifier/deposit-form-description-publication-identifier.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-description-publication-identifier/deposit-form-description-publication-identifier.presentational.html
index d0749a880..d2284abaf 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-publication-identifier/deposit-form-description-publication-identifier.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-publication-identifier/deposit-form-description-publication-identifier.presentational.html
@@ -10,6 +10,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.pmid) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.pmid | translate}}</mat-label>
       <input matInput
@@ -22,6 +23,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.isbn) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.isbn | translate}}</mat-label>
       <input matInput
@@ -34,6 +36,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.arxiv) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.arxiv | translate}}</mat-label>
       <input matInput
@@ -46,6 +49,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.rero) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.rero | translate}}</mat-label>
       <input matInput
@@ -58,6 +62,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.repec) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.repec | translate}}</mat-label>
       <input matInput
@@ -70,6 +75,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.dblp) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.dblp | translate}}</mat-label>
       <input matInput
@@ -82,6 +88,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.urn) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.urn | translate}}</mat-label>
       <input matInput
@@ -94,6 +101,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.localNumber) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.localNumber | translate}}</mat-label>
       <input matInput
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-publisher/deposit-form-description-publisher.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-description-publisher/deposit-form-description-publisher.presentational.html
index 33a2a1cb3..50791fa26 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-publisher/deposit-form-description-publisher.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-publisher/deposit-form-description-publisher.presentational.html
@@ -4,6 +4,7 @@
 >
   <mat-form-field *ngIf="getFormControl(formDefinition.name) as fd"
                   [appearance]="appearanceInputMaterial"
+                  [floatLabel]="positionLabelInputMaterial"
   >
     <mat-label>{{labelTranslateEnum.title | translate}}</mat-label>
     <input matInput
@@ -16,6 +17,7 @@
 
   <mat-form-field *ngIf="getFormControl(formDefinition.place) as fd"
                   [appearance]="appearanceInputMaterial"
+                  [floatLabel]="positionLabelInputMaterial"
   >
     <mat-label>{{labelTranslateEnum.place | translate}}</mat-label>
     <input matInput
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-description-text-language/deposit-form-description-text-language.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-description-text-language/deposit-form-description-text-language.presentational.html
index b0aa751de..f1cbbfa10 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-description-text-language/deposit-form-description-text-language.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-description-text-language/deposit-form-description-text-language.presentational.html
@@ -1,5 +1,6 @@
 <mat-form-field *ngIf="getFormControl(formDefinition.text) as fd"
                 [appearance]="appearanceInputMaterial"
+                [floatLabel]="positionLabelInputMaterial"
 >
   <mat-label>{{labelToTranslate | translate}}</mat-label>
   <textarea *ngIf="isTextarea; else input"
@@ -24,6 +25,7 @@
 
 <mat-form-field *ngIf="getFormControl(formDefinition.lang) as fd"
                 [appearance]="appearanceInputMaterial"
+                [floatLabel]="positionLabelInputMaterial"
 >
   <mat-label>{{labelTranslateEnum.language | translate}}</mat-label>
   <mat-select [formControl]="fd"
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-first-step-type/deposit-form-first-step-type.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-first-step-type/deposit-form-first-step-type.presentational.html
index 849c019fa..e10cde709 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-first-step-type/deposit-form-first-step-type.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-first-step-type/deposit-form-first-step-type.presentational.html
@@ -25,6 +25,7 @@
 
       <mat-form-field *ngIf="formValidationHelper.getFormControl(formRetrieveReferences, formDefinitionRetrieveReferences.service) as fd"
                       [appearance]="appearanceInputMaterial"
+                      [floatLabel]="positionLabelInputMaterial"
       >
         <mat-label>{{labelTranslateEnum.externalService | translate}}</mat-label>
         <mat-select [formControl]="fd"
@@ -46,7 +47,7 @@
       <ng-template [ngIf]="selectedService | isNotNullNorUndefined">
         <mat-form-field *ngIf="formValidationHelper.getFormControl(formRetrieveReferences, formDefinitionRetrieveReferences.identifier) as fd"
                         [appearance]="appearanceInputMaterial"
-                        [floatLabel]="'always'"
+                        [floatLabel]="positionLabelInputMaterial"
         >
           <mat-label>{{labelTranslateEnum.identifier | translate}}</mat-label>
           <input matInput
@@ -78,6 +79,7 @@
   <div class="right-part">
     <mat-form-field *ngIf="getFormControl(formDefinition.title) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.title | translate }}</mat-label>
       <input matInput
@@ -90,6 +92,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.type) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.type | translate }}</mat-label>
       <mat-select [formControl]="fd"
@@ -107,6 +110,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.subtype) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.subtype | translate }}</mat-label>
       <mat-select [formControl]="fd"
@@ -125,6 +129,7 @@
     <ng-template [ngIf]="listDepositSubSubtype | isNonEmptyArray">
       <mat-form-field *ngIf="getFormControl(formDefinition.subSubtype) as fd"
                       [appearance]="appearanceInputMaterial"
+                      [floatLabel]="positionLabelInputMaterial"
       >
         <mat-label>{{labelTranslateEnum.subsubtype | translate}}</mat-label>
         <mat-select [formControl]="fd"
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-fourth-step-description/deposit-form-fourth-step-description.presentational.html b/src/app/features/deposit/components/presentationals/deposit-form-fourth-step-description/deposit-form-fourth-step-description.presentational.html
index f174a0f9a..b2a539a53 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-fourth-step-description/deposit-form-fourth-step-description.presentational.html
+++ b/src/app/features/deposit/components/presentationals/deposit-form-fourth-step-description/deposit-form-fourth-step-description.presentational.html
@@ -9,6 +9,7 @@
   >
     <mat-form-field *ngIf="getFormControl(formDefinition.language) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.language | translate}}</mat-label>
       <mat-select [formControl]="fd"
@@ -58,6 +59,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.note) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.note | translate }}</mat-label>
       <input matInput
@@ -85,6 +87,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.aouCollection) as fd"
                     [appearance]="appearanceInputMaterial"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.collectionUnige | translate }}</mat-label>
       <input matInput
@@ -136,7 +139,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.discipline) as fd"
                     [appearance]="appearanceInputMaterial"
-                    [floatLabel]="floatLabel"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.discipline | translate }}</mat-label>
       <input matInput
@@ -149,7 +152,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.mandator) as fd"
                     [appearance]="appearanceInputMaterial"
-                    [floatLabel]="floatLabel"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.mandator | translate }}</mat-label>
       <input matInput
@@ -162,7 +165,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.edition) as fd"
                     [appearance]="appearanceInputMaterial"
-                    [floatLabel]="floatLabel"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.edition | translate }}</mat-label>
       <input matInput
@@ -175,7 +178,7 @@
 
     <mat-form-field *ngIf="getFormControl(formDefinition.awards) as fd"
                     [appearance]="appearanceInputMaterial"
-                    [floatLabel]="floatLabel"
+                    [floatLabel]="positionLabelInputMaterial"
     >
       <mat-label>{{labelTranslateEnum.awards | translate }}</mat-label>
       <input matInput
diff --git a/src/app/features/deposit/components/presentationals/deposit-form-fourth-step-description/deposit-form-fourth-step-description.presentational.ts b/src/app/features/deposit/components/presentationals/deposit-form-fourth-step-description/deposit-form-fourth-step-description.presentational.ts
index bba68010e..1e454823a 100644
--- a/src/app/features/deposit/components/presentationals/deposit-form-fourth-step-description/deposit-form-fourth-step-description.presentational.ts
+++ b/src/app/features/deposit/components/presentationals/deposit-form-fourth-step-description/deposit-form-fourth-step-description.presentational.ts
@@ -76,7 +76,6 @@ export class DepositFormFourthStepDescriptionPresentational extends AbstractForm
   }
 
   isEditable: boolean = true;
-  floatLabel: FloatLabelType = "always";
 
   get labelTranslateEnum(): typeof LabelTranslateEnum {
     return LabelTranslateEnum;
diff --git a/src/app/icons.ts b/src/app/icons.ts
index a54c8b3b5..639060e8f 100644
--- a/src/app/icons.ts
+++ b/src/app/icons.ts
@@ -875,4 +875,9 @@ export const icons: IconInfos[] = [
     lib: IconLibEnum.materialIcon,
     icon: "unfold_more",
   },
+  {
+    name: IconNameEnum.downArrow,
+    lib: IconLibEnum.materialIcon,
+    icon: "arrow_drop_down",
+  },
 ];
diff --git a/src/app/shared/components/containers/shared-abstract/shared-abstract.container.ts b/src/app/shared/components/containers/shared-abstract/shared-abstract.container.ts
index 6a64646a7..28e9b6557 100644
--- a/src/app/shared/components/containers/shared-abstract/shared-abstract.container.ts
+++ b/src/app/shared/components/containers/shared-abstract/shared-abstract.container.ts
@@ -1,5 +1,8 @@
 import {Directive} from "@angular/core";
-import {MatFormFieldAppearance} from "@angular/material/form-field";
+import {
+  FloatLabelType,
+  MatFormFieldAppearance,
+} from "@angular/material/form-field";
 import {environment} from "@environments/environment";
 import {DataTestEnum} from "@shared/enums/data-test.enum";
 import {IconNameEnum} from "@shared/enums/icon-name.enum";
@@ -30,4 +33,8 @@ export abstract class SharedAbstractContainer extends AbstractContainer {
   get appearanceInputMaterial(): MatFormFieldAppearance {
     return environment.appearanceInputMaterial;
   }
+
+  get positionLabelInputMaterial(): FloatLabelType {
+    return environment.positionLabelInputMaterial;
+  }
 }
diff --git a/src/app/shared/components/dialogs/shared-abstract/shared-abstract.dialog.ts b/src/app/shared/components/dialogs/shared-abstract/shared-abstract.dialog.ts
index 450eb3b2a..cc739ab82 100644
--- a/src/app/shared/components/dialogs/shared-abstract/shared-abstract.dialog.ts
+++ b/src/app/shared/components/dialogs/shared-abstract/shared-abstract.dialog.ts
@@ -2,7 +2,10 @@ import {
   Directive,
   Input,
 } from "@angular/core";
-import {MatFormFieldAppearance} from "@angular/material/form-field";
+import {
+  FloatLabelType,
+  MatFormFieldAppearance,
+} from "@angular/material/form-field";
 import {environment} from "@environments/environment";
 import {DataTestEnum} from "@shared/enums/data-test.enum";
 import {IconNameEnum} from "@shared/enums/icon-name.enum";
@@ -42,4 +45,8 @@ export abstract class SharedAbstractDialog extends AbstractDialog {
   get appearanceInputMaterial(): MatFormFieldAppearance {
     return environment.appearanceInputMaterial;
   }
+
+  get positionLabelInputMaterial(): FloatLabelType {
+    return environment.positionLabelInputMaterial;
+  }
 }
diff --git a/src/app/shared/components/presentationals/shared-abstract/shared-abstract.presentational.ts b/src/app/shared/components/presentationals/shared-abstract/shared-abstract.presentational.ts
index 96fd3d6b3..b07766e4d 100644
--- a/src/app/shared/components/presentationals/shared-abstract/shared-abstract.presentational.ts
+++ b/src/app/shared/components/presentationals/shared-abstract/shared-abstract.presentational.ts
@@ -1,5 +1,8 @@
 import {Directive} from "@angular/core";
-import {MatFormFieldAppearance} from "@angular/material/form-field";
+import {
+  FloatLabelType,
+  MatFormFieldAppearance,
+} from "@angular/material/form-field";
 import {environment} from "@environments/environment";
 import {DataTestEnum} from "@shared/enums/data-test.enum";
 import {IconNameEnum} from "@shared/enums/icon-name.enum";
@@ -30,4 +33,8 @@ export abstract class SharedAbstractPresentational extends AbstractPresentationa
   get appearanceInputMaterial(): MatFormFieldAppearance {
     return environment.appearanceInputMaterial;
   }
+
+  get positionLabelInputMaterial(): FloatLabelType {
+    return environment.positionLabelInputMaterial;
+  }
 }
diff --git a/src/app/shared/components/routables/shared-abstract/shared-abstract.routable.ts b/src/app/shared/components/routables/shared-abstract/shared-abstract.routable.ts
index feb87dcaa..f07338bd5 100644
--- a/src/app/shared/components/routables/shared-abstract/shared-abstract.routable.ts
+++ b/src/app/shared/components/routables/shared-abstract/shared-abstract.routable.ts
@@ -1,5 +1,8 @@
 import {Directive} from "@angular/core";
-import {MatFormFieldAppearance} from "@angular/material/form-field";
+import {
+  FloatLabelType,
+  MatFormFieldAppearance,
+} from "@angular/material/form-field";
 import {environment} from "@environments/environment";
 import {DataTestEnum} from "@shared/enums/data-test.enum";
 import {IconNameEnum} from "@shared/enums/icon-name.enum";
@@ -23,4 +26,8 @@ export abstract class SharedAbstractRoutable extends AbstractRoutable {
   get appearanceInputMaterial(): MatFormFieldAppearance {
     return environment.appearanceInputMaterial;
   }
+
+  get positionLabelInputMaterial(): FloatLabelType {
+    return environment.positionLabelInputMaterial;
+  }
 }
diff --git a/src/app/stores/person/structure/app-person-structure-role.state.ts b/src/app/stores/person/structure/app-person-structure-role.state.ts
index d2ec7b47f..b46b5f528 100644
--- a/src/app/stores/person/structure/app-person-structure-role.state.ts
+++ b/src/app/stores/person/structure/app-person-structure-role.state.ts
@@ -84,7 +84,7 @@ export class AppPersonStructureRoleState extends Relation3TiersState<AppPersonSt
     const isUserWithRoleUser = PermissionUtil.isUserHavePermission(isLoggedIn, ApplicationRolePermissionEnum.userPermission, currentUserRole);
     // to override this method only in case of user, to use the specific url : person/res-id/structure/res-id with role user
     if (!isUserWithRoleUser) {
-      return super.computeResourceUpdatesActionsToDispatch(subResourceUpdate, parentId);
+      return super.computeResourceUpdatesActionsToDispatch(subResourceUpdate, parentId, true);
     } else {
       const actions = [];
       if (!isNullOrUndefined(subResourceUpdate.resourceToRemoved)) {
diff --git a/src/environments/environment.defaults.ts b/src/environments/environment.defaults.ts
index 9a176b6d9..d5dfd4ebb 100644
--- a/src/environments/environment.defaults.ts
+++ b/src/environments/environment.defaults.ts
@@ -34,6 +34,7 @@ export const defaultEnvironment: AouEnvironment = {
   appDescription: "Platform for archiving research data",
   googleAnalyticsId: undefined, // Format "UA-000000000-1"
   appearanceInputMaterial: "outline",
+  positionLabelInputMaterial: "always",
   listTagsComponentsWhereClickAllowToEnterInEditMode: ["aou-shared-person-structure-role"],
   ribbonEnabled: false,
   ribbonColor: "#e60000",
-- 
GitLab