Browse Source

[filebrowser] Fix drag & dropping files in same folder

Clément Espeute 1 month ago
parent
commit
2acd24bcd7
1 changed files with 8 additions and 1 deletions
  1. 8 1
      hide/view/FileBrowser.hx

+ 8 - 1
hide/view/FileBrowser.hx

@@ -399,6 +399,9 @@ class FileBrowser extends hide.ui.View<FileBrowserState> {
 				return Reorder;
 				return Reorder;
 			},
 			},
 			onDrop: function(target: FileEntry, operation: hide.comp.FancyTree.DropOperation, dataTransfer: js.html.DataTransfer) : Bool {
 			onDrop: function(target: FileEntry, operation: hide.comp.FancyTree.DropOperation, dataTransfer: js.html.DataTransfer) : Bool {
+				if (target.kind != Dir)
+					target = target.parent;
+
 				var files : Array<String> = [];
 				var files : Array<String> = [];
 				for (file in dataTransfer.files) {
 				for (file in dataTransfer.files) {
 					var path : String = untyped file.path; //file.path is an extension from nwjs or node
 					var path : String = untyped file.path; //file.path is an extension from nwjs or node
@@ -412,13 +415,17 @@ class FileBrowser extends hide.ui.View<FileBrowserState> {
 					try {
 					try {
 						var unser = haxe.Json.parse(fileMoveData);
 						var unser = haxe.Json.parse(fileMoveData);
 						for (file in (unser:Array<String>)) {
 						for (file in (unser:Array<String>)) {
-							files.push(ide.getRelPath(file));
+							var rel = ide.getRelPath(file);
+							files.push(rel);
 						}
 						}
 					} catch (e) {
 					} catch (e) {
 						trace("Invalid data " + e);
 						trace("Invalid data " + e);
 					}
 					}
 				}
 				}
 
 
+				if (files.length == 0)
+					return false;
+
 				moveFiles(target.getRelPath(), files);
 				moveFiles(target.getRelPath(), files);
 
 
 				return true;
 				return true;