diff --git a/src/components/filetree.html b/src/components/filetree.html
index 82b036909..473daa4ff 100644
--- a/src/components/filetree.html
+++ b/src/components/filetree.html
@@ -63,14 +63,14 @@
{{ 'filemanager.list.empty' | tr }} |
- |
+ |
|
- {{ entry.fileName }}{{ 'filemanager.list.symlink' | tr:{ target: entry.target } }} |
- {{ entry.uid | prettyOwner }} |
- {{ entry.size | prettyByteSize }} |
- {{ entry.mtime | prettyDate }} |
+ {{ entry.fileName }}{{ 'filemanager.list.symlink' | tr:{ target: entry.target } }} |
+ {{ entry.uid | prettyOwner }} |
+ {{ entry.size | prettyByteSize }} |
+ {{ entry.mtime | prettyDate }} |
|
diff --git a/src/components/filetree.js b/src/components/filetree.js
index 93a406d1d..8ae38affd 100644
--- a/src/components/filetree.js
+++ b/src/components/filetree.js
@@ -143,8 +143,8 @@ function FileTreeController($scope, $translate, $timeout, Client) {
}
$scope.dragStart = function ($event, entry) {
- var filePath = sanitize($scope.cwd + '/' + entry.fileName);
- $event.originalEvent.dataTransfer.setData('application/cloudron-filemanager', filePath);
+ var filePaths = $scope.selected.map(function (entry) { return sanitize($scope.cwd + '/' + entry.fileName); });
+ $event.originalEvent.dataTransfer.setData('application/cloudron-filemanager', JSON.stringify(filePaths));
};
$scope.dragEnter = function ($event, entry) {
@@ -191,11 +191,16 @@ function FileTreeController($scope, $translate, $timeout, Client) {
if (dragContent) {
var moved = 0;
- // FIXME only one currently supported
- var arr = [ dragContent ];
+ // we expect a JSON.stringified Array here
+ try {
+ dragContent = JSON.parse(dragContent);
+ } catch (e) {
+ console.error('Wrong drag content.', e);
+ return;
+ }
// move files
- async.eachLimit(arr, 5, function (oldFilePath, callback) {
+ async.eachLimit(dragContent, 5, function (oldFilePath, callback) {
var fileName = oldFilePath.split('/').slice(-1);
var newFilePath = sanitize(targetFolder + '/' + fileName);