From 7fa4df082edd3411fbd27f1a2d17bd96a2e147ea Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Tue, 31 Mar 2020 15:58:51 +0100 Subject: [PATCH] Force sync redraw of view when replacing unknown nodes --- .../@node-red/editor-client/src/js/nodes.js | 7 ++++--- .../@node-red/editor-client/src/js/ui/view.js | 14 ++++++-------- 2 files changed, 10 insertions(+), 11 deletions(-) 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 7150823c6..af60f6a30 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 @@ -1596,8 +1596,9 @@ RED.nodes = (function() { }); removeLinks.forEach(removeLink); - - RED.view.redraw(true); + // Force the redraw to be synchronous so the view updates + // *now* and removes the unknown node + RED.view.redraw(true, true); var result = importNodes(reimportList,false); var newNodeMap = {}; result[0].forEach(function(n) { @@ -1611,7 +1612,7 @@ RED.nodes = (function() { l.target = newNodeMap[l.target.id]; } }); - RED.view.redraw(true, true); + RED.view.redraw(true); } }); }, 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 da3f9b286..aa2d14e44 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 @@ -4561,18 +4561,16 @@ if (DEBUG_EVENTS) { console.warn("nodeMouseDown", mouse_mode,d); } }, updateActive: updateActiveNodes, - redraw: function(updateActive, force) { - if (force) { - activeNodes = []; - activeLinks = []; - activeGroups = []; - _redraw(); - } + redraw: function(updateActive, syncRedraw) { if (updateActive) { updateActiveNodes(); updateSelection(); } - redraw(); + if (syncRedraw) { + _redraw(); + } else { + redraw(); + } }, focus: focusView, importNodes: importNodes,