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) {