Prechádzať zdrojové kódy

[filebrowser] Items now handle click on all their width, right click background of filebrowser now allo new on root folder

Clément Espeute 2 mesiacov pred
rodič
commit
a0d4829fdf
4 zmenil súbory, kde vykonal 10 pridanie a 18 odobranie
  1. 1 1
      bin/style.css
  2. 1 1
      bin/style.less
  3. 4 13
      hide/comp/FancyTree.hx
  4. 4 3
      hide/view/FileBrowser.hx

+ 1 - 1
bin/style.css

@@ -5235,7 +5235,7 @@ fancy-tree2 fancy-scroll fancy-tree-item.selected {
   color: white;
   --background: var(--selection);
 }
-fancy-tree2 fancy-scroll fancy-tree-item:has(>:hover) {
+fancy-tree2 fancy-scroll fancy-tree-item:hover {
   --highlight: 10;
   cursor: pointer;
 }

+ 1 - 1
bin/style.less

@@ -6289,7 +6289,7 @@ fancy-tree2 {
 
 			display: flex;
 
-			&:has(>:hover) {
+			&:hover {
 				--highlight: 10;
 				cursor: pointer;
 			}

+ 4 - 13
hide/comp/FancyTree.hx

@@ -620,21 +620,12 @@ class FancyTree<TreeItem> extends hide.comp.Component {
 			fold.addEventListener("click", (e) -> {
 				toggleDataOpen(data);
 				saveState();
+				e.stopPropagation();
 			});
 
-			var clickHandlerClosure = dataClickHandler.bind(data);
-			var ctxMenuClosure = contextMenuHandler.bind(data.item);
-			var doubleClickClosure = onDoubleClick.bind(data.item);
-
-			var icon = element.querySelector(".header-icon");
-			icon.onclick = clickHandlerClosure;
-			icon.oncontextmenu = ctxMenuClosure;
-			icon.ondblclick = doubleClickClosure;
-
-			var name = element.querySelector("fancy-tree-name");
-			name.onclick = clickHandlerClosure;
-			name.oncontextmenu = ctxMenuClosure;
-			name.ondblclick = doubleClickClosure;
+			element.onclick = dataClickHandler.bind(data);
+			element.oncontextmenu = contextMenuHandler.bind(data.item);
+			element.ondblclick = onDoubleClick.bind(data.item);
 
 			data.element = element;
 

+ 4 - 3
hide/view/FileBrowser.hx

@@ -831,15 +831,16 @@ class FileBrowser extends hide.ui.View<FileBrowserState> {
 					}
 				};
 
+		var implicitFolder = false;
+
 		// if the user clicked on the background of the file tree, don't display anything
 		if (item == null && !isGallery) {
-			hide.comp.ContextMenu.createFromEvent(event, [collapseAll]);
-			return;
+			implicitFolder = true;
+			item = root;
 		}
 
 		// if the user selected the "current" folder in the gallery
 		// prevent move/delete ... operations on it to avoid confusion and wrong operations
-		var implicitFolder = false;
 		if (item == null) {
 			implicitFolder = true;
 			item = currentFolder;