From 78ee198f7f3eeb6a5a2212b2d2ed89682c956ff2 Mon Sep 17 00:00:00 2001 From: Armand Bahi <armand.bahi@veremes.com> Date: Wed, 30 Jan 2019 11:58:53 +0100 Subject: [PATCH] Utilisation de fichiers multiples en dehors de vMap --- .../app/vmap/tools/select/select.js | 36 +---------- .../javascript/app/services/formSrvc.js | 59 ++++++++++++++----- .../externs/formReader/formReaderDrtv.js | 2 +- 3 files changed, 47 insertions(+), 50 deletions(-) diff --git a/src/module_vmap/module/javascript/app/vmap/tools/select/select.js b/src/module_vmap/module/javascript/app/vmap/tools/select/select.js index ccee914f..9abfe9a3 100755 --- a/src/module_vmap/module/javascript/app/vmap/tools/select/select.js +++ b/src/module_vmap/module/javascript/app/vmap/tools/select/select.js @@ -1647,40 +1647,8 @@ nsVmap.nsToolsManager.Select.prototype.selectController.prototype.getFormData = nsVmap.nsToolsManager.Select.prototype.selectController.prototype.getFormDataFromValues = function (oValues) { oVmap.log('nsVmap.nsToolsManager.Select.prototype.selectController.prototype.getFormDataFromValues'); - var oFormData_ = new FormData(); - - for (var key in oValues) { - - var bIsMultipleFiles = false; - if (goog.isObject(oValues[key])) { - if (goog.isDefAndNotNull(oValues[key].length)) { - bIsMultipleFiles = true - } - } - - // Fichier ? - if (goog.isDefAndNotNull(oValues[key]['aFiles'])) { - oFormData_.append(key + '_attached_content', oValues[key]['aFiles'][0]); - oFormData_.append(key, oValues[key]['aFiles'][0]['name']); - } else if (bIsMultipleFiles) { - for (var i = 0; i < oValues[key].length; i++) { - if (oValues[key][i]._modified !== false) { - // Ajoute les fichiers - if (goog.isDefAndNotNull(oValues[key][i]['name'])) { - oFormData_.append(key + '[]', oValues[key][i], oValues[key][i]['name']); - } else { - oFormData_.append(key + '[]', oValues[key][i]); - } - } - } - } else { - if (oValues[key]._modified !== false) { - oFormData_.append(key, oValues[key]); - } - } - } - - return oFormData_; + var formSrvc = angular.element(vitisApp.appMainDrtv).injector().get(["formSrvc"]); + return formSrvc['getFormDataFromValues'](oValues); }; nsVmap.nsToolsManager.Select.prototype.selectController.prototype.getUnchangedFilesFromValues = function (oValues) { diff --git a/src/vitis/client/javascript/app/services/formSrvc.js b/src/vitis/client/javascript/app/services/formSrvc.js index 473d222f..0bae8fcd 100755 --- a/src/vitis/client/javascript/app/services/formSrvc.js +++ b/src/vitis/client/javascript/app/services/formSrvc.js @@ -108,7 +108,6 @@ vitisApp.formSrvc = function (envSrvc, propertiesSrvc, sessionSrvc, formReaderSe } } - console.log("oFormKeysValues: ", oFormKeysValues); break; // Si double liste : valeurs séparé par un champ. case "double_select": @@ -169,6 +168,15 @@ vitisApp.formSrvc = function (envSrvc, propertiesSrvc, sessionSrvc, formReaderSe iRowIndex++; } + // vitis_deleted_files + if (goog.isDefAndNotNull(aFormValues['vitis_deleted_files'])) { + oFormKeysValues['vitis_deleted_files'] = JSON.stringify(aFormValues['vitis_deleted_files']); + } + // vitis_unchanged_files + if (goog.isDefAndNotNull(aFormValues['vitis_unchanged_files'])) { + oFormKeysValues['vitis_unchanged_files'] = JSON.stringify(aFormValues['vitis_unchanged_files']); + } + // Retourne un objet json ou un objet "FormData". if (bReturnJson === true) { oFormData = oFormKeysValues; @@ -181,22 +189,43 @@ vitisApp.formSrvc = function (envSrvc, propertiesSrvc, sessionSrvc, formReaderSe } } else { // Sauve les clés et valeurs dans un objet "FormData". - oFormData = new FormData(); - var aFormKeys = Object.keys(oFormKeysValues); - var i = 0; - while (i < aFormKeys.length) { - oFormData.append(aFormKeys[i], oFormKeysValues[aFormKeys[i]]); - i++; - } + oFormData = this['getFormDataFromValues'](oFormKeysValues); } - // vitis_deleted_files - if (goog.isDefAndNotNull(aFormValues['vitis_deleted_files'])) { - oFormKeysValues['vitis_deleted_files'] = JSON.stringify(aFormValues['vitis_deleted_files']); - } - // vitis_unchanged_files - if (goog.isDefAndNotNull(aFormValues['vitis_unchanged_files'])) { - oFormKeysValues['vitis_unchanged_files'] = JSON.stringify(aFormValues['vitis_unchanged_files']); + return oFormData; + }, + "getFormDataFromValues": function (oValues) { + + var oFormData = new FormData(); + + for (var key in oValues) { + + var bIsMultipleFiles = false; + if (goog.isObject(oValues[key])) { + if (goog.isDefAndNotNull(oValues[key].length)) { + bIsMultipleFiles = true + } + } + + // Fichiers multiples + if (bIsMultipleFiles) { + for (var i = 0; i < oValues[key].length; i++) { + if (oValues[key][i]._modified !== false) { + // Ajoute les fichiers + if (goog.isDefAndNotNull(oValues[key][i]['name'])) { + oFormData.append(key + '[]', oValues[key][i], oValues[key][i]['name']); + } else { + oFormData.append(key + '[]', oValues[key][i]); + } + } + } + } + // Fichier simple + else { + if (oValues[key]._modified !== false) { + oFormData.append(key, oValues[key]); + } + } } return oFormData; diff --git a/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js b/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js index 11eefa12..861c3965 100644 --- a/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js +++ b/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js @@ -695,7 +695,7 @@ formReader.formReaderDirective = function ($q, formReaderService, propertiesSrvc }); setTimeout(function () { - $('#select_edit_form_reader').find('[data-app-file-picker=""]').each(function(index, elem){ + $(element).find('[data-app-file-picker=""]').each(function(index, elem){ var oFilePickerScope = angular.element($(elem).children()).scope(); oFilePickerScope['initComponent'](); }) -- GitLab