From 4eafae4178fcbd99627d9e9625b0b1f1ebe46dd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= Date: Fri, 8 Jun 2018 20:37:43 +0200 Subject: [PATCH] Do not show an error message when draging and dropping text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When the browser reports a drag of items other than files (for example, text) and then triggers a drop event with no files no error message should be shown to the user, as in that case there would be no highlight of the drop zone and no indication that the drop would be valid (except for the mouse cursor); the error message should be shown only when the drop event with no files follows a file drag. Signed-off-by: Daniel Calviño Sánchez --- apps/files/js/file-upload.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js index dc412c10d7..fac086c3da 100644 --- a/apps/files/js/file-upload.js +++ b/apps/files/js/file-upload.js @@ -1041,6 +1041,8 @@ OC.Uploader.prototype = _.extend({ //remaining time var lastUpdate, lastSize, bufferSize, buffer, bufferIndex, bufferIndex2, bufferTotal; + var dragging = false; + // add progress handlers fileupload.on('fileuploadadd', function(e, data) { self.log('progress handle fileuploadadd', e, data); @@ -1148,6 +1150,8 @@ OC.Uploader.prototype = _.extend({ filerow.addClass('dropping-to-dir'); filerow.find('.thumbnail').addClass('icon-filetype-folder-drag-accept'); } + + dragging = true; }); var disableDropState = function() { @@ -1155,6 +1159,8 @@ OC.Uploader.prototype = _.extend({ $('.dropping-to-dir').removeClass('dropping-to-dir'); $('.dir-drop').removeClass('dir-drop'); $('.icon-filetype-folder-drag-accept').removeClass('icon-filetype-folder-drag-accept'); + + dragging = false; }; fileupload.on('fileuploaddragleave fileuploaddrop', disableDropState); @@ -1164,6 +1170,10 @@ OC.Uploader.prototype = _.extend({ // file was being dragged (and thus caused "fileuploaddragover" // to be triggered). fileupload.on('fileuploaddropnofiles', function() { + if (!dragging) { + return; + } + disableDropState(); OC.Notification.show(t('files', 'Uploading that item is not supported'), {type: 'error'});