From e7087eb698ad8b8a898b7634b80d6d02193328a5 Mon Sep 17 00:00:00 2001 From: Chirayu Chiripal Date: Fri, 25 Jul 2014 15:29:43 +0530 Subject: [PATCH] check dragged element is file or not Signed-off-by: Chirayu Chiripal --- js/common.js | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/js/common.js b/js/common.js index 87387dc380..435cba40a1 100644 --- a/js/common.js +++ b/js/common.js @@ -448,14 +448,31 @@ PMA_DROP_IMPORT = { * @return void */ _dragenter : function (event) { + event.stopPropagation(); + event.preventDefault(); + if (!PMA_DROP_IMPORT._hasFiles(event)) { + return; + } if (PMA_commonParams.get('db') === '') { $(".pma_drop_handler").html(PMA_messages.dropImportSelectDB); } else { $(".pma_drop_handler").html(PMA_messages.dropImportDropFiles); } $(".pma_drop_handler").fadeIn(); - event.stopPropagation(); - event.preventDefault(); + }, + /** + * Check if dragged element contains Files + * + * @param event the event object + * + * @return bool + */ + _hasFiles: function (event) { + if (typeof event.originalEvent.dataTransfer.types === 'undefined' + || $.inArray('Files', event.originalEvent.dataTransfer.types) < 0) { + return false; + } + return true; }, /** * Triggered when dragged file is being dragged over PMA UI @@ -465,9 +482,12 @@ PMA_DROP_IMPORT = { * @return void */ _dragover: function (event) { - $(".pma_drop_handler").fadeIn(); event.stopPropagation(); event.preventDefault(); + if (!PMA_DROP_IMPORT._hasFiles(event)) { + return; + } + $(".pma_drop_handler").fadeIn(); }, /** * Triggered when dragged objects are left