From f080fa55ac606b498e3e1144a5fb58513e7ad1a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= Date: Thu, 30 Aug 2018 14:23:47 +0200 Subject: [PATCH] Store the mime type filter always as an array MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This will make easier to check if both directories and files should be pickable. This also removes an unused assignment to the mime type. Signed-off-by: Daniel Calviño Sánchez --- core/js/oc-dialogs.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/core/js/oc-dialogs.js b/core/js/oc-dialogs.js index a9f9426c48..ee1e84033d 100644 --- a/core/js/oc-dialogs.js +++ b/core/js/oc-dialogs.js @@ -206,6 +206,14 @@ var OCdialogs = { if(self.$filePicker) { self.$filePicker.ocdialog('close'); } + + if (mimetypeFilter === undefined || mimetypeFilter === null) { + mimetypeFilter = []; + } + if (typeof(mimetypeFilter) === "string") { + mimetypeFilter = [mimetypeFilter]; + } + self.$filePicker = $tmpl.octemplate({ dialog_name: dialogName, title: title, @@ -218,9 +226,6 @@ var OCdialogs = { if (multiselect === undefined) { multiselect = false; } - if (mimetypeFilter === undefined) { - mimetypeFilter = ''; - } $('body').append(self.$filePicker); @@ -315,7 +320,7 @@ var OCdialogs = { // Hence this is one of the approach to get the choose button. var getOcDialog = self.$filePicker.closest('.oc-dialog'); var buttonEnableDisable = getOcDialog.find('.primary'); - if (self.$filePicker.data('mimetype') === "httpd/unix-directory") { + if (self.$filePicker.data('mimetype').indexOf("httpd/unix-directory") !== -1) { buttonEnableDisable.prop("disabled", false); } else { buttonEnableDisable.prop("disabled", true); @@ -939,7 +944,7 @@ var OCdialogs = { var getOcDialog = (event.target).closest('.oc-dialog'); var buttonEnableDisable = $('.primary', getOcDialog); this._changeButtonsText(type, dir.split(/[/]+/).pop()); - if (this.$filePicker.data('mimetype') === "httpd/unix-directory") { + if (this.$filePicker.data('mimetype').indexOf("httpd/unix-directory") !== -1) { buttonEnableDisable.prop("disabled", false); } else { buttonEnableDisable.prop("disabled", true); @@ -960,7 +965,7 @@ var OCdialogs = { } else if ( $element.data('type') === 'dir' ) { this._fillFilePicker(this.$filePicker.data('path') + '/' + $element.data('entryname')); this._changeButtonsText(type, $element.data('entryname')); - if (this.$filePicker.data('mimetype') === "httpd/unix-directory") { + if (this.$filePicker.data('mimetype').indexOf("httpd/unix-directory") !== -1) { buttonEnableDisable.prop("disabled", false); } else { buttonEnableDisable.prop("disabled", true);