From 3e069a8bb2b45260e111fdfe09d86d0b3e5fd534 Mon Sep 17 00:00:00 2001 From: Armand Bahi <armand.bahi@veremes.com> Date: Fri, 8 Mar 2019 11:51:46 +0100 Subject: [PATCH] bug extentsions pour upload de fichiers non prises en compte --- .../component/file_picker/file_picker.html | 6 +++-- .../component/file_picker/file_picker.js | 26 +++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.html b/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.html index 2c96555b..4a3243d8 100644 --- a/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.html +++ b/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.html @@ -50,21 +50,23 @@ <!-- Bouton caché input --> <div class="hide" ng-if="!field.displayOnly"> + <!-- Simple --> <input ng-if="!field.multiple" type="file" id="{{:refresh:field.id}}_hidden" class="file" name="{{:refresh:field.name}}" class="form-control" - ng-attr-accept="{{ field.type === 'image_wsdata' ? 'image/*' : '*' }}" + ng-attr-accept="{{ field.type === 'image_wsdata' ? 'image/*' : (field.formats.length > 0 ? getFormatsRestrict() : '*') }}" ng-required="field.required"> + <!-- Multiple --> <input ng-if="field.multiple" type="file" id="{{:refresh:field.id}}_hidden" class="file" name="{{:refresh:field.name}}" class="form-control" - ng-attr-accept="{{ field.type === 'image_wsdata' ? 'image/*' : '*' }}" + ng-attr-accept="{{ field.type === 'image_wsdata' ? 'image/*' : (field.formats.length > 0 ? getFormatsRestrict() : '*') }}" ng-required="field.required" multiple> </div> 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 de03a59f..6ae33249 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 @@ -691,6 +691,32 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie // Fichiers à envoyer scope['oFormValues'][scope['sFormDefinitionName']][scope['field'].name] = scope['aFiles']; } + + /** + * Retourne les restrictions de type input=file + */ + scope['getFormatsRestrict'] = function() { + + var sRestrictedFormats; + var aImgExtencions = ['']; + + if (goog.isString(scope.field.formats)) { + + var aRestrictedFormats = []; + var aFormats = scope.field.formats.split('|'); + + for (var i = 0; i < aFormats.length; i++) { + aRestrictedFormats.push('.' + aFormats[i]); + } + + sRestrictedFormats = aRestrictedFormats.join(', '); + + } else { + sRestrictedFormats = scope.field.formats; + } + + return sRestrictedFormats; + } } }; }; -- GitLab