From 8197dd38c753938cdf368a0e718bd5b549cfe534 Mon Sep 17 00:00:00 2001 From: derwish-pro Date: Tue, 26 Jan 2016 00:22:58 +0300 Subject: [PATCH 1/3] closing submenus fix --- src/litegraph.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/litegraph.js b/src/litegraph.js index 706e99426..ee5f692a1 100755 --- a/src/litegraph.js +++ b/src/litegraph.js @@ -4771,8 +4771,16 @@ LiteGraph.createContextualMenu = function(values,options, ref_window) //allows to create graph canvas in separate window ref_window = ref_window || window; - if(!options.from) - LiteGraph.closeAllContextualMenus(); + if (!options.from) + LiteGraph.closeAllContextualMenus(); + else { + //closing submenus + var menus = document.querySelectorAll(".graphcontextualmenu"); + for (var key in menus) { + if (menus[key].previousSibling == options.from) + menus[key].closeMenu(); + } + } var root = ref_window.document.createElement("div"); root.className = "graphcontextualmenu graphmenubar-panel"; From 9789cbbe142a137d0faecca81122d0df523318d2 Mon Sep 17 00:00:00 2001 From: derwish-pro Date: Tue, 26 Jan 2016 00:25:45 +0300 Subject: [PATCH 2/3] drag selected nodes without holding shift key fix --- src/litegraph.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/litegraph.js b/src/litegraph.js index ee5f692a1..decce05fe 100755 --- a/src/litegraph.js +++ b/src/litegraph.js @@ -2684,16 +2684,20 @@ LGraphCanvas.prototype.processMouseDown = function(e) if(e.which == 1) //left button mouse { - //another node selected + if(!e.shiftKey) //REFACTOR: integrate with function { - var todeselect = []; - for(var i in this.selected_nodes) - if (this.selected_nodes[i] != n) - todeselect.push(this.selected_nodes[i]); - //two passes to avoid problems modifying the container - for(var i in todeselect) - this.processNodeDeselected(todeselect[i]); + //no node or another node selected + if (!n || !this.selected_nodes[n.id]) { + + var todeselect = []; + for (var i in this.selected_nodes) + if (this.selected_nodes[i] != n) + todeselect.push(this.selected_nodes[i]); + //two passes to avoid problems modifying the container + for (var i in todeselect) + this.processNodeDeselected(todeselect[i]); + } } var clicking_canvas_bg = false; From d4f8265f0c98d317379a5efbd4597c5f39031a2e Mon Sep 17 00:00:00 2001 From: derwish-pro Date: Tue, 26 Jan 2016 00:40:45 +0300 Subject: [PATCH 3/3] close menu when click on canvas fix --- src/litegraph.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/litegraph.js b/src/litegraph.js index decce05fe..5f0d98a0e 100755 --- a/src/litegraph.js +++ b/src/litegraph.js @@ -2681,6 +2681,8 @@ LGraphCanvas.prototype.processMouseDown = function(e) var n = this.graph.getNodeOnPos( e.canvasX, e.canvasY, this.visible_nodes ); var skip_dragging = false; + + LiteGraph.closeAllContextualMenus(); if(e.which == 1) //left button mouse {