diff --git a/packages/node_modules/@node-red/editor-client/src/js/nodes.js b/packages/node_modules/@node-red/editor-client/src/js/nodes.js index b17387a52..1904494f1 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/nodes.js +++ b/packages/node_modules/@node-red/editor-client/src/js/nodes.js @@ -2551,7 +2551,17 @@ RED.nodes = (function() { addLink: addLink, removeLink: removeLink, - + getNodeLinks: function(id, portType) { + if (nodeLinks[id]) { + if (portType === 1) { + // Return cloned arrays so they can be safely modified by caller + return [].concat(nodeLinks[id].in) + } else { + return [].concat(nodeLinks[id].out) + } + } + return []; + }, addWorkspace: addWorkspace, removeWorkspace: removeWorkspace, getWorkspaceOrder: function() { return workspacesOrder }, 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 776bb0962..653dea0a4 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 @@ -128,6 +128,14 @@ RED.view = (function() { if (!setIds.has(node.id)) { set.push({n:node}); setIds.add(node.id); + var links = RED.nodes.getNodeLinks(node.id,PORT_TYPE_INPUT).concat(RED.nodes.getNodeLinks(node.id,PORT_TYPE_OUTPUT)) + for (var i=0,l=links.length;i