diff options
author | Lukas Reschke <lukas@statuscode.ch> | 2016-09-26 13:10:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-26 13:10:19 +0200 |
commit | 0c6957dfb72a1ecb9f4286e22955ef751bb06142 (patch) | |
tree | d1c78497dd0d8f2a1b7f9540ceef597da228998e /apps | |
parent | 244de6451b22a1288d3ef698f48fb9c4e78bf15f (diff) | |
parent | 8d4e5747f386a0899d50becb8297b4347df355db (diff) | |
download | nextcloud-server-0c6957dfb72a1ecb9f4286e22955ef751bb06142.tar.gz nextcloud-server-0c6957dfb72a1ecb9f4286e22955ef751bb06142.zip |
Merge pull request #1406 from nextcloud/fix-folder-drop-in-firefox
Fix folder drag glitch in Firefox
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files/js/file-upload.js | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js index e07093dd17b..05224264c19 100644 --- a/apps/files/js/file-upload.js +++ b/apps/files/js/file-upload.js @@ -667,8 +667,23 @@ OC.Upload = { OC.Upload._hideProgressBar(); } }); + var disableDropState = function() { + $('#app-content').removeClass('file-drag'); + $('.dropping-to-dir').removeClass('dropping-to-dir'); + $('.dir-drop').removeClass('dir-drop'); + $('.icon-filetype-folder-drag-accept').removeClass('icon-filetype-folder-drag-accept'); + }; + var disableClassOnFirefox = _.debounce(function() { + disableDropState(); + }, 100); fileupload.on('fileuploaddragover', function(e){ $('#app-content').addClass('file-drag'); + // dropping a folder in firefox doesn't cause a drop event + // this is simulated by simply invoke disabling all classes + // once no dragover event isn't noticed anymore + if ($.browser['mozilla']) { + disableClassOnFirefox(); + } $('#emptycontent .icon-folder').addClass('icon-filetype-folder-drag-accept'); var filerow = $(e.delegatedEvent.target).closest('tr'); @@ -685,12 +700,7 @@ OC.Upload = { filerow.find('.thumbnail').addClass('icon-filetype-folder-drag-accept'); } }); - fileupload.on('fileuploaddragleave fileuploaddrop', function (){ - $('#app-content').removeClass('file-drag'); - $('.dropping-to-dir').removeClass('dropping-to-dir'); - $('.dir-drop').removeClass('dir-drop'); - $('.icon-filetype-folder-drag-accept').removeClass('icon-filetype-folder-drag-accept'); - }); + fileupload.on('fileuploaddragleave fileuploaddrop', disableDropState); } else { // for all browsers that don't support the progress bar // IE 8 & 9 |