From 86d48b9b90712dbec55c0d20d7b7b7ee3dda1203 Mon Sep 17 00:00:00 2001 From: Armand Bahi <armand.bahi@veremes.com> Date: Fri, 25 Jan 2019 16:47:07 +0100 Subject: [PATCH] =?UTF-8?q?Utilisation=20des=20miniatures=20c=C3=B4t=C3=A9?= =?UTF-8?q?=20front?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/file_picker/file_picker.js | 46 ++++++++++++++----- 1 file changed, 35 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 d097a76b..b23574a2 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 @@ -135,8 +135,6 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie scope['aFiles'].push(files[i]); } } - - console.log("scope['aFiles']: ", scope['aFiles']); } /** @@ -223,6 +221,7 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie oBlob['name'] = sFileName; oBlob._url = sFileUrl; oBlob._modified = false; + oBlob._thumbnail = bThumbnail; deferred.resolve(oBlob); } else { console.error('cannot get name from headers : ', response['headers']); @@ -285,17 +284,19 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie /** * Download the given file * @param {object} oFile + * @param {object|undefined} oBlob */ - scope['downloadFile'] = function(oFile) { + scope['downloadFile'] = function(oFile, oBlob) { $log.log("formReader.FilePickerDirective.downloadFile"); - var oBlob; var sFileName = oFile['name']; - // Trouve le fichier correspondant - for (var i = 0; i < scope['aFiles'].length; i++) { - if(scope['aFiles'][i]['name'] === oFile['name']){ - oBlob = scope['aFiles'][i]; + if (!goog.isDefAndNotNull(oBlob)) { + // Trouve le fichier correspondant + for (var i = 0; i < scope['aFiles'].length; i++) { + if(scope['aFiles'][i]['name'] === oFile['name']){ + oBlob = scope['aFiles'][i]; + } } } @@ -388,7 +389,8 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie scope[sPreviewContainer].push({ 'name': oFile['name'], 'src': picFile['result'], - _url: oFile._url + _url: oFile._url, + _thumbnail: oFile._thumbnail }); }); }, oFile)); @@ -473,10 +475,32 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie /** * Show the given image on a modal * @param {object} oImage + * @param {object|undefined} oBlob */ - scope['showImageModal'] = function(oImage) { + scope['showImageModal'] = function(oImage, oBlob) { $log.log("formReader.FilePickerDirective.showImageModal"); + // Téléchargement image grande si thumbnail + if (goog.isDefAndNotNull(oImage._url) && oImage._thumbnail === true) { + scope['downloadFileBlob'](oImage._url, false, 3).then(function(oBlob){ + var picReader = new FileReader(); + picReader.addEventListener('load', angular.bind(this, function (oBlob, event) { + var picFile = event.target; + scope.$applyAsync(function(){ + scope['showImageModal']({ + 'name': oBlob['name'], + 'src': picFile['result'], + _url: oBlob._url, + _thumbnail: oBlob._thumbnail + }, oBlob); + }); + }, oBlob)); + picReader.readAsDataURL(oBlob); + + }); + return 0; + } + var iImageIndex; for (var i = 0; i < scope['aPreviewImages'].length; i++) { if(scope['aPreviewImages'][i]['name'] === oImage['name']){ @@ -500,7 +524,7 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie * Téléchargement de l'image */ $(domDownloadButton).click(function(){ - scope['downloadFile'](oImage); + scope['downloadFile'](oImage, oBlob); }); /** -- GitLab