From c78b05eeab9539001671e4bcf6ae284bfd3de160 Mon Sep 17 00:00:00 2001 From: minhaz Date: Fri, 25 Jul 2014 02:25:29 +0530 Subject: [PATCH 1/4] #BUG:4496 -- part 2 fix Signed-off-by: A V Minhaz --- js/common.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/js/common.js b/js/common.js index d71d0729ec..a505712de0 100644 --- a/js/common.js +++ b/js/common.js @@ -539,8 +539,11 @@ PMA_DROP_IMPORT = { var dbname = PMA_commonParams.get('db'); //if no database is selected -- no if (dbname !== '') { - $(".pma_sql_import_status").slideDown(); var files = event.originalEvent.dataTransfer.files; + if (files.length == 0) { + return; // No files actually transfered + } + $(".pma_sql_import_status").slideDown(); for (var i = 0; i < files.length; i++) { var ext = (PMA_DROP_IMPORT._getExtension(files[i].name)); var hash = AJAX.hash(++PMA_DROP_IMPORT.uploadCount); From 6330df41758f6323b08d564720bd7d93c62ca370 Mon Sep 17 00:00:00 2001 From: minhaz Date: Fri, 25 Jul 2014 14:28:27 +0530 Subject: [PATCH 2/4] #BUG4496 -- part 2, propagation bug fixed Signed-off-by: A V Minhaz --- js/common.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/js/common.js b/js/common.js index a505712de0..87387dc380 100644 --- a/js/common.js +++ b/js/common.js @@ -541,7 +541,11 @@ PMA_DROP_IMPORT = { if (dbname !== '') { var files = event.originalEvent.dataTransfer.files; if (files.length == 0) { - return; // No files actually transfered + // No files actually transfered + $(".pma_drop_handler").fadeOut(); + event.stopPropagation(); + event.preventDefault(); + return; } $(".pma_sql_import_status").slideDown(); for (var i = 0; i < files.length; i++) { From e7087eb698ad8b8a898b7634b80d6d02193328a5 Mon Sep 17 00:00:00 2001 From: Chirayu Chiripal Date: Fri, 25 Jul 2014 15:29:43 +0530 Subject: [PATCH 3/4] 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 From 7d2cfdf5738acd165f7b77722343a6dc3a29b3a0 Mon Sep 17 00:00:00 2001 From: minhaz Date: Sat, 26 Jul 2014 00:36:18 +0530 Subject: [PATCH 4/4] #Feature:1522 enhancement - User can close the upload status box, after uploading an invalid extension file, as suggested by D-Storm - minimize/maximise changed from -/- to -/+ Signed-off-by: A V Minhaz --- js/common.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/js/common.js b/js/common.js index 435cba40a1..b4076d31c7 100644 --- a/js/common.js +++ b/js/common.js @@ -613,6 +613,8 @@ PMA_DROP_IMPORT = { // init uploading PMA_DROP_IMPORT._sendFileToServer(fd, hash); + } else if (!PMA_DROP_IMPORT.liveUploadCount) { + $('.pma_sql_import_status h2 .close').fadeIn(); } } } @@ -640,9 +642,11 @@ $(document).on('click', '.pma_sql_import_status h2 .minimize', function() { if ($(this).attr('toggle') === 'off') { $('.pma_sql_import_status div').css('height','270px'); $(this).attr('toggle','on'); + $(this).html('-'); // to minimize } else { $('.pma_sql_import_status div').css("height","0px"); $(this).attr('toggle','off'); + $(this).html('+'); // to maximise } });