From 64af1f7e9b196e332391bdc08ad23962318ee2c8 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Mon, 23 Mar 2020 22:04:40 +0000 Subject: [PATCH] [groups] Lasso should select top-most group of selection --- .../@node-red/editor-client/src/js/ui/view.js | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/view.js b/packages/node_modules/@node-red/editor-client/src/js/ui/view.js index c16620a0e..c03a579c8 100755 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/view.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/view.js @@ -1453,15 +1453,16 @@ if (DEBUG_EVENTS) { console.warn("canvasMouseUp", mouse_mode); } if (!d3.event.shiftKey) { clearSelection(); } - var selectedGroups = []; activeNodes.forEach(function(n) { - if (n.z == RED.workspaces.active() && !n.selected) { + if (!n.selected) { if (n.x > x && n.x < x2 && n.y > y && n.y < y2) { if (n.g) { var group = RED.nodes.group(n.g); + while (group.g) { + group = RED.nodes.group(group.g); + } if (!group.selected) { selectGroup(group,true); - selectedGroups.push(group) } } else { n.selected = true; @@ -1471,16 +1472,16 @@ if (DEBUG_EVENTS) { console.warn("canvasMouseUp", mouse_mode); } } } }); - var selectionChanged = false; - do { - selectionChanged = false; - selectedGroups.forEach(function(g) { - if (g.g && g.selected && RED.nodes.group(g.g).selected) { - g.selected = false; - selectionChanged = true; - } - }) - } while(selectionChanged); + // var selectionChanged = false; + // do { + // selectionChanged = false; + // selectedGroups.forEach(function(g) { + // if (g.g && g.selected && RED.nodes.group(g.g).selected) { + // g.selected = false; + // selectionChanged = true; + // } + // }) + // } while(selectionChanged); if (activeSubflow) { activeSubflow.in.forEach(function(n) {