From 3fb5313c4921f9c4a4aa297ac6f0aeb72a25362f Mon Sep 17 00:00:00 2001
From: Alex ORLUC <alex.orluc@maarch.org>
Date: Thu, 18 Apr 2019 15:19:01 +0200
Subject: [PATCH] FEAT #8391 TIME 0:45 add var lang + fix some css

---
 ...ernal-signatory-book-action.component.html |  2 +-
 .../x-paraph/x-paraph.component.html          | 31 +++++++++++--------
 .../x-paraph/x-paraph.component.scss          | 23 ++++++++++++++
 .../x-paraph/x-paraph.component.ts            | 31 ++-----------------
 src/frontend/lang/lang-en.ts                  |  3 ++
 src/frontend/lang/lang-fr.ts                  | 11 ++++++-
 src/frontend/lang/lang-nl.ts                  |  3 ++
 7 files changed, 61 insertions(+), 43 deletions(-)

diff --git a/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.html b/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.html
index a7ff09dcdd3..376cdc25ac1 100644
--- a/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.html
+++ b/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.html
@@ -35,7 +35,7 @@
                         </div>
                     </div>
                 </div>
-                <div class="col-md-12">
+                <div class="col-md-12" style="padding-top: 10px;">
                     <app-note-editor #noteEditor [resIds]="data.selectedRes"></app-note-editor>
                 </div>
             </div>
diff --git a/src/frontend/app/actions/send-external-signatory-book-action/x-paraph/x-paraph.component.html b/src/frontend/app/actions/send-external-signatory-book-action/x-paraph/x-paraph.component.html
index 9b09e55b5fe..21f3c660252 100644
--- a/src/frontend/app/actions/send-external-signatory-book-action/x-paraph/x-paraph.component.html
+++ b/src/frontend/app/actions/send-external-signatory-book-action/x-paraph/x-paraph.component.html
@@ -1,17 +1,17 @@
-<form *ngIf="!addAccountMode" (ngSubmit)="getUsersWorkflowList(currentAccount);" #accountForm="ngForm">
+<form *ngIf="!addAccountMode && additionalsInfos.attachments.length > 0" (ngSubmit)="getUsersWorkflowList(currentAccount);" #accountForm="ngForm">
     <div class="col-md-5" style="padding-top: 10px;">
         <mat-form-field>
             <mat-label>{{lang.selectedAccount}}</mat-label>
             <mat-select name="loginAccount" (selectionChange)="selectAccount($event)" required>
                 <mat-option class="accountList" *ngFor="let account of additionalsInfos.accounts;let i=index"
                     [value]="account">
-                    <span class="accountName">{{account.login}} ({{account.siret}})</span> <button mat-icon-button
+                    <span class="accountName">{{account.login}} ({{account.siret}})</span> <button title="{{lang.delete}}" mat-icon-button
                         color="warn" (click)="removeAccount(i);">
                         <mat-icon class="fa fa-trash"></mat-icon>
                     </button>
                 </mat-option>
             </mat-select>
-            <mat-hint><a (click)="initNewAccount()" style="cursor: pointer;">Ajouter un nouveau compte</a>
+            <mat-hint><a (click)="initNewAccount()" style="cursor: pointer;">{{lang.addNewAccount}}</a>
             </mat-hint>
         </mat-form-field>
     </div>
@@ -27,7 +27,7 @@
         </button>
     </div>
 </form>
-<form *ngIf="addAccountMode" (ngSubmit)="addNewAccount();" #newAccountForm="ngForm">
+<form *ngIf="addAccountMode && additionalsInfos.attachments.length > 0" (ngSubmit)="addNewAccount();" #newAccountForm="ngForm">
     <div class="col-md-6" style="padding-top: 10px;">
         <mat-form-field>
             <input id="newAccountLogin" matInput name="newAccountLogin" placeholder="{{lang.newAccount}}" [(ngModel)]="newAccount.login" required>
@@ -47,7 +47,7 @@
         </button>
     </div>
 </form>
-<div *ngIf="usersWorkflowList.length > 0" class="col-md-12" style="padding-top: 10px;">
+<div *ngIf="usersWorkflowList.length > 0" class="col-md-12" style="padding-top: 20px;">
     <div class="workflowContent">
         <h2 style="top:-5px;">{{lang.visaWorkflow}} :</h2>
         <div class="contentUser">
@@ -75,16 +75,22 @@
                         </h4>
                         <p class="otherInfo" mat-line style="display: flex;">
                             <span style="opacity:0.5;flex: 1;">
-                                <button mat-button [matMenuTriggerFor]="menu">{{diffusion.currentRole}}</button>
-                                <mat-menu #menu="matMenu">
+                                <button class="currentRoleButton" mat-button [matMenuTriggerFor]="menu" title="{{lang[diffusion.currentRole+'User']}}">{{lang[diffusion.currentRole+'User']}}</button>
+                                <mat-menu [class]="'listMenu'" #menu="matMenu">
+                                    <div style="text-align: center;font-size: 10px;color: white;background: #135F7F;padding: 5px;font-weight: bold;">
+                                        {{lang.roles}}
+                                    </div>
                                     <button *ngFor="let role of diffusion.roles" mat-menu-item
-                                        (click)="changeRole(i, role)">{{role}}</button>
+                                        (click)="changeRole(i, role)">{{lang[role+'User']}}</button>
                                 </mat-menu>
-                                <button mat-button
-                                    [matMenuTriggerFor]="menuContext">{{diffusion.currentContext}}</button>
-                                <mat-menu #menuContext="matMenu">
+                                <button class="currentContextButton" mat-button
+                                    [matMenuTriggerFor]="menuContext" title="{{lang[diffusion.currentContext]}}">{{lang[diffusion.currentContext]}}</button>
+                                <mat-menu [class]="'listMenu'" #menuContext="matMenu">
+                                    <div style="text-align: center;font-size: 10px;color: white;background: #135F7F;padding: 5px;font-weight: bold;">
+                                        {{lang.contextParaph}}
+                                    </div>
                                     <button *ngFor="let context of contextList" mat-menu-item
-                                        (click)="changeContext(i, context.id)">{{context.label}}</button>
+                                        (click)="changeContext(i, context)">{{lang[context]}}</button>
                                 </mat-menu>
                             </span>
                         </p>
@@ -93,7 +99,6 @@
                         </button>
                     </mat-list-item>
                 </mat-list>
-
             </div>
         </div>
     </div>
diff --git a/src/frontend/app/actions/send-external-signatory-book-action/x-paraph/x-paraph.component.scss b/src/frontend/app/actions/send-external-signatory-book-action/x-paraph/x-paraph.component.scss
index 639ac243059..a8a9ecc5723 100644
--- a/src/frontend/app/actions/send-external-signatory-book-action/x-paraph/x-paraph.component.scss
+++ b/src/frontend/app/actions/send-external-signatory-book-action/x-paraph/x-paraph.component.scss
@@ -80,4 +80,27 @@
     .accountName {
         flex: 1;
     }
+}
+
+::ng-deep.listMenu {
+    .mat-menu-content {
+        padding-top: 0;
+        padding-bottom: 0;
+    }
+}
+
+.currentContextButton{
+    overflow: hidden;
+    text-overflow: ellipsis;
+    font-size: 13px;
+    width: 150px;
+    text-align: left;
+}
+
+.currentRoleButton{
+    overflow: hidden;
+    text-overflow: ellipsis;
+    font-size: 13px;
+    width: 120px;
+    text-align: left;
 }
\ No newline at end of file
diff --git a/src/frontend/app/actions/send-external-signatory-book-action/x-paraph/x-paraph.component.ts b/src/frontend/app/actions/send-external-signatory-book-action/x-paraph/x-paraph.component.ts
index 6c918533473..b134f3496a4 100644
--- a/src/frontend/app/actions/send-external-signatory-book-action/x-paraph/x-paraph.component.ts
+++ b/src/frontend/app/actions/send-external-signatory-book-action/x-paraph/x-paraph.component.ts
@@ -6,7 +6,6 @@ import { Observable } from 'rxjs';
 import { FormControl } from '@angular/forms';
 import { startWith, map } from 'rxjs/operators';
 import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';
-import { load } from '@angular/core/src/render3';
 
 declare function $j(selector: any): any;
 
@@ -25,32 +24,7 @@ export class XParaphComponent implements OnInit {
     currentAccount: any = null;
     usersWorkflowList: any[] = [];
     currentWorkflow: any[] = [];
-    contextList = [
-        {
-            'id': 'FON',
-            'label': 'agent'
-        },
-        {
-            'id': 'PER',
-            'label': 'personne physique (personnel)'
-        },
-        {
-            'id': 'SPH',
-            'label': 'supérieur hiérarchique'
-        },
-        {
-            'id': 'DIR',
-            'label': 'directeur'
-        },
-        {
-            'id': 'DLP',
-            'label': 'délégation permanente'
-        },
-        {
-            'id': 'EXE',
-            'label': 'représentant de la collectivité'
-        }
-    ];
+    contextList = ['FON','PER','SPH','DIR','DLP','EXE'];
     hidePassword: boolean = true;
     addAccountMode: boolean = false;
 
@@ -94,7 +68,7 @@ export class XParaphComponent implements OnInit {
                 this.usersWorkflowList = data.workflow;
                 this.usersWorkflowList.forEach(element => {
                     element.currentRole = element.roles[0];
-                    element.currentContext = this.contextList[0].id;
+                    element.currentContext = this.contextList[0];
                 });
                 setTimeout(() => {
                     $j('#availableUsers').focus();
@@ -200,6 +174,7 @@ export class XParaphComponent implements OnInit {
     }
 
     initNewAccount() {
+        this.loading = false;
         this.usersWorkflowList = [];
         this.currentWorkflow = [];
         this.currentAccount = null;
diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts
index 735bd1a3efe..20acf1ecc0a 100755
--- a/src/frontend/lang/lang-en.ts
+++ b/src/frontend/lang/lang-en.ts
@@ -988,4 +988,7 @@ export const LANG_EN = {
     "confirmDeleteAccount"                      : "Do you want to delete this account ?",
     "accountAdded"                              : "Account added",
     "accountDeleted"                            : "Account deleted",
+    "roles"                                     : "Roles",
+    "contextParaph"                             : "Context",
+    "addNewAccount"                             : "Add new account",
 };
diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts
index 71902ba0118..83a7e61cd92 100755
--- a/src/frontend/lang/lang-fr.ts
+++ b/src/frontend/lang/lang-fr.ts
@@ -1014,5 +1014,14 @@ export const LANG_FR = {
     "siret"                                             : "Numéro SIRET",
     "confirmDeleteAccount"                              : "Voulez-vous supprimer ce compte ?",
     "accountAdded"                                      : "Compte créé",
-    "accountDeleted"                                      : "Compte supprimé",
+    "accountDeleted"                                    : "Compte supprimé",
+    "FON"                                               : "Agent",
+    "PER"                                               : "Personne physique (personnel)",
+    "SPH"                                               : "Supérieur hiérarchique",
+    "DIR"                                               : "Directeur",
+    "DLP"                                               : "Délégation permanente",
+    "EXE"                                               : "Représentant de la collectivité",
+    "roles"                                             : "Rôles",
+    "contextParaph"                                     : "En tant que",
+    "addNewAccount"                                     : "Ajouter un nouveau compte",
 };
diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts
index f48f9110631..fe234e449e9 100755
--- a/src/frontend/lang/lang-nl.ts
+++ b/src/frontend/lang/lang-nl.ts
@@ -1015,4 +1015,7 @@ export const LANG_NL = {
     "confirmDeleteAccount"                      : "Do you want to delete this account ?", //_TO_TRANSLATE
     "accountAdded"                              : "Account added", //_TO_TRANSLATE
     "accountDeleted"                            : "Account deleted", //_TO_TRANSLATE
+    "roles"                                     : "Roles", //_TO_TRANSLATE
+    "contextParaph"                             : "Context", //_TO_TRANSLATE
+    "addNewAccount"                             : "Add new account", //_TO_TRANSLATE
 };
-- 
GitLab