diff options
author | Julien Veyssier <eneiluj@posteo.net> | 2021-11-08 17:17:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-08 17:17:05 +0100 |
commit | 7c516a1af3b21e0ef2ef9cc2514dd09b3295b952 (patch) | |
tree | 2471c6a8d7a5513111514fc60a4ed733984bdc3d /apps | |
parent | c9421e39c1929165077ebd93792178e5c755c697 (diff) | |
parent | 742703c92fe708b4fec0ac815e646a4f60bb96ea (diff) | |
download | nextcloud-server-7c516a1af3b21e0ef2ef9cc2514dd09b3295b952.tar.gz nextcloud-server-7c516a1af3b21e0ef2ef9cc2514dd09b3295b952.zip |
Merge pull request #29592 from nextcloud/enh/11864/drag-n-drop-empty-directory
Handle empty directory drag-and-drop in Files UI
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files/js/file-upload.js | 6 | ||||
-rw-r--r-- | apps/files/js/jquery.fileupload.js | 16 |
2 files changed, 19 insertions, 3 deletions
diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js index 672fc1d770b..7ab88ed61bd 100644 --- a/apps/files/js/file-upload.js +++ b/apps/files/js/file-upload.js @@ -215,6 +215,12 @@ OC.FileUpload.prototype = { var data = this.data; var file = this.getFile(); + // if file is a directory, just create it + // files are handled separately + if (file.isDirectory) { + return this.uploader.ensureFolderExists(OC.joinPaths(this._targetFolder, file.fullPath)); + } + if (self.aborted === true) { return $.Deferred().resolve().promise(); } diff --git a/apps/files/js/jquery.fileupload.js b/apps/files/js/jquery.fileupload.js index ea8529f3226..cc0c97ba3ed 100644 --- a/apps/files/js/jquery.fileupload.js +++ b/apps/files/js/jquery.fileupload.js @@ -1029,7 +1029,12 @@ } else { paramNameSet = paramName; } - data.originalFiles = files; + data.originalFiles = []; + $.each(files, function (file) { + if (!file.isDirectory) { + data.originalFiles.push(file); + } + }); $.each(fileSet || files, function (index, element) { var newData = $.extend({}, data); newData.files = fileSet ? element : [element]; @@ -1098,7 +1103,12 @@ entries, path + entry.name + '/' ).done(function (files) { - dfd.resolve(files); + // empty folder + if (!files.length && entry.isDirectory) { + dfd.resolve(entry); + } else { + dfd.resolve(files); + } }).fail(errorHandler); }, readEntries = function () { @@ -1486,4 +1496,4 @@ }); -}));
\ No newline at end of file +})); |