diff --git a/packages/node_modules/@node-red/editor-client/src/js/red.js b/packages/node_modules/@node-red/editor-client/src/js/red.js index 4d02a189a..ea9c0fd73 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/red.js +++ b/packages/node_modules/@node-red/editor-client/src/js/red.js @@ -28,15 +28,26 @@ var RED = (function() { var hasDeferred = false; var nodeConfigEls = $("
"+nodeConfig+"
"); - nodeConfigEls.find("script").each(function(i,el) { + var scripts = nodeConfigEls.find("script"); + var scriptCount = scripts.length; + scripts.each(function(i,el) { var srcUrl = $(el).attr('src'); if (srcUrl && !/^\s*(https?:|\/|\.)/.test(srcUrl)) { $(el).remove(); + console.log("Appending script for",moduleId) var newScript = document.createElement("script"); - newScript.onload = function() { $("body").append(nodeConfigEls); done() } + newScript.onload = function() { + scriptCount--; + if (scriptCount === 0) { + $("body").append(nodeConfigEls); + done() + } + } $('body').append(newScript); newScript.src = RED.settings.apiRootUrl+srcUrl; hasDeferred = true; + } else { + scriptCount--; } }) if (!hasDeferred) {