From 05d97d570e89e305dfcf996ca5f690d7ba291ee5 Mon Sep 17 00:00:00 2001
From: Armand Bahi <armand.bahi@veremes.com>
Date: Fri, 25 Jan 2019 16:24:26 +0100
Subject: [PATCH] =?UTF-8?q?R=C3=A9solution=20bug=20double=20chargement=20d?=
 =?UTF-8?q?es=20images?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../component/file_picker/file_picker.js      | 28 +++++++++++--------
 1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js b/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js
index 81dfd4bf..d097a76b 100644
--- a/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js
+++ b/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js
@@ -33,6 +33,8 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie
         link: function (scope, element, attributes, controller, transcludeFn) {
             $log.log("formReader.FilePickerDirective.link");
 
+            var fileInputLoaded = false;
+
             /**
              * URL vers le dossier fliepicker
              */
@@ -66,22 +68,24 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie
                 scope['initBootstrapFileInputs']().then(function(oInput) {
 
                     // Écoute les changements pour afficher les images dans la liste
-                    $(oInput).change(function(e){
+                    if (!fileInputLoaded) {
+                        $(oInput).change(function(e){
 
-                        // Ajoute les fichiers
-                        scope['addFiles'](e);
+                            // Ajoute les fichiers
+                            scope['addFiles'](e);
 
-                        // Affichage des images/documents dans l'espace de prévisualisation
-                        scope['initPreview']();
+                            // Affichage des images/documents dans l'espace de prévisualisation
+                            scope['initPreview']();
 
-                        // Set la nouvelle valeur de l'attibut
-                        setTimeout(function () {
-                            oInput[0]['files_vitis'] = scope['aFiles'];
+                            // Set la nouvelle valeur de l'attibut
+                            setTimeout(function () {
+                                oInput[0]['files_vitis'] = scope['aFiles'];
 
-                            // Sauvegarde les fichiers sur oFormValues
-                            scope['saveFiles']();
+                                // Sauvegarde les fichiers sur oFormValues
+                                scope['saveFiles']();
+                            });
                         });
-                    });
+                    }
 
                     // Affiche les images présentes sur le serveur
                     var aAvaliableFiles = scope["oFormValues"][scope["sFormDefinitionName"]][scope['field'].name];
@@ -95,6 +99,8 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie
                             scope['saveFiles']();
                         });
                     }
+
+                    fileInputLoaded = true;
                 });
             }
 
-- 
GitLab