From 0f41b6f30f14c6843c5008c26c93e05fcb90d889 Mon Sep 17 00:00:00 2001
From: Alex ORLUC <alex.orluc@maarch.org>
Date: Tue, 29 Jan 2019 12:03:41 +0100
Subject: [PATCH] FEAT #9398 fix dnd + fix css

---
 .../list/list-administration.component.html          |  4 ++--
 .../list/list-administration.component.scss          |  4 +++-
 .../list/list-administration.component.ts            | 12 ++++++++++--
 src/frontend/lang/lang-en.ts                         |  2 +-
 src/frontend/lang/lang-fr.ts                         |  2 +-
 src/frontend/lang/lang-nl.ts                         |  2 +-
 6 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/src/frontend/app/administration/list/list-administration.component.html b/src/frontend/app/administration/list/list-administration.component.html
index 650fa67238c..be6bce7ac13 100644
--- a/src/frontend/app/administration/list/list-administration.component.html
+++ b/src/frontend/app/administration/list/list-administration.component.html
@@ -35,7 +35,7 @@
                     <h2><span class="title">{{lang.availableDatas}}</span> <i class="fa fa-plus-circle removeAllDatas" color="primary" title="{{lang.addAllDatas}}" (click)="addAllData()"></i></h2>
                     <div cdkDropList #dataAvailableList="cdkDropList" [cdkDropListData]="dataAvailable" [cdkDropListConnectedTo]="[dataExportList]" class="cdk-list" (cdkDropListDropped)="drop($event)">
                         <div class="columns" *ngFor="let item of dataAvailable | filterList:listFilter.value:'label'"
-                            cdkDrag>{{item.label}} <i class="fa fa-plus" color="primary" style="cursor:pointer;"
+                            cdkDrag id="{{item.value}}">{{item.label}} <i class="fa fa-plus" color="primary" style="cursor:pointer;"
                                 (click)="addData(item)"></i></div>
                         <div *ngIf="dataAvailable.length == 0" class="noData">{{lang.noDataAvailable}}</div>
                     </div>
@@ -48,7 +48,7 @@
                     <h2><span class="title">{{lang.chosenDatas}}</span> <i class="fa fa-minus-circle removeAllDatas" color="warn" title="{{lang.removeAllDatas}}" (click)="removeAllData()"></i></h2>
                     <div cdkDropList #dataExportList="cdkDropList" [cdkDropListData]="exportModel.data"
                         [cdkDropListConnectedTo]="[dataAvailableList]" class="cdk-list" (cdkDropListDropped)="drop($event)">
-                        <div class="columns" *ngFor="let item of exportModel.data;let i = index" cdkDrag>{{item.label}} <i
+                        <div class="columns" *ngFor="let item of exportModel.data;let i = index" cdkDrag id="{{item.value}}">{{item.label}} <i
                                 class="fa fa-minus" color="warn" style="cursor:pointer;" (click)="removeData(i)"></i></div>
                         <div *ngIf="exportModel.data.length == 0" class="noData">{{lang.noDataAvailable}}</div>
                     </div>
diff --git a/src/frontend/app/administration/list/list-administration.component.scss b/src/frontend/app/administration/list/list-administration.component.scss
index 7e465cb2ba9..5b1054827ae 100644
--- a/src/frontend/app/administration/list/list-administration.component.scss
+++ b/src/frontend/app/administration/list/list-administration.component.scss
@@ -58,7 +58,9 @@
   display: block;
   background: white;
   border-radius: 4px;
-  overflow: hidden;
+  max-height: 310px;
+  min-height: 310px;
+  overflow: auto;
 }
 
 .columns {
diff --git a/src/frontend/app/administration/list/list-administration.component.ts b/src/frontend/app/administration/list/list-administration.component.ts
index cb135c84c5a..b99e9e89957 100644
--- a/src/frontend/app/administration/list/list-administration.component.ts
+++ b/src/frontend/app/administration/list/list-administration.component.ts
@@ -146,7 +146,7 @@ export class ListAdministrationComponent implements OnInit {
             isFunction : true
         },
         {
-            value : 'getCopyEntities',
+            value : 'getCopies',
             label : this.lang.copyEntities,
             isFunction : true
         },
@@ -251,11 +251,19 @@ export class ListAdministrationComponent implements OnInit {
         if (event.previousContainer === event.container) {
             moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
         } else {
+            const fakeIndex = $j('.available-data .columns')[event.previousIndex].id;
+            const realIndex = this.dataAvailable.map((dataAv: any) => (dataAv.value)).indexOf(fakeIndex);
+    
             transferArrayItem(event.previousContainer.data,
                 event.container.data,
-                event.previousIndex,
+                realIndex,
                 event.currentIndex);
+            const curFilter = this.listFilter.nativeElement.value;
             this.listFilter.nativeElement.value = '';
+            setTimeout(() => {
+                this.listFilter.nativeElement.value = curFilter;
+            }, 10);
+            
         }
     }
 
diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts
index 2fc23e16654..4c5f70c4002 100755
--- a/src/frontend/lang/lang-en.ts
+++ b/src/frontend/lang/lang-en.ts
@@ -757,7 +757,7 @@ export const LANG_EN = {
     "recommendationLimitDate"                                     : "Recommendation limit dateDate",
     "sveStartDate"                                     : "SVE start date",
     "caseLabel"                                     : "Case label",
-    "copyEntities"                                     : "Entities in copy",
+    "copyUsersEntities"                                     : "Users / Entities in copy",
     "detailLink"                                     : "Detail link",
     "parentFolder"                                     : "Parent folder",
     "initiatorEntity"                                     : "Initiator entity name",
diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts
index fa0d032c854..ea3b246d891 100755
--- a/src/frontend/lang/lang-fr.ts
+++ b/src/frontend/lang/lang-fr.ts
@@ -783,7 +783,7 @@ export const LANG_FR = {
     "recommendationLimitDate"                                     : "Date limite de demande d'avis",
     "sveStartDate"                                     : "Date de début SVE",
     "caseLabel"                                     : "Libellé de l'affaire du courrier",
-    "copyEntities"                                     : "Entités en copie",
+    "copyUsersEntities"                                     : "Utilistaeurs / Entités en copie",
     "detailLink"                                     : "Lien vers la fiche détaillée",
     "parentFolder"                                     : "Dossier parent",
     "initiatorEntity"                                     : "Libellé de l'entité initiatrice",
diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts
index 4f2a99a83e0..2d3ce1854fa 100755
--- a/src/frontend/lang/lang-nl.ts
+++ b/src/frontend/lang/lang-nl.ts
@@ -786,7 +786,7 @@ export const LANG_NL = {
     "recommendationLimitDate"                                     : "_TO_TRANSLATE",
     "sveStartDate"                                     : "_TO_TRANSLATE",
     "caseLabel"                                     : "_TO_TRANSLATE",
-    "copyEntities"                                     : "_TO_TRANSLATE",
+    "copyUsersEntities"                                     : "_TO_TRANSLATE",
     "detailLink"                                     : "_TO_TRANSLATE",
     "parentFolder"                                     : "_TO_TRANSLATE",
     "initiatorEntity"                                     : "_TO_TRANSLATE",
-- 
GitLab