diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js
index 3b61b861a..d03203e6d 100644
--- a/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js
+++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js
@@ -26,7 +26,7 @@ RED.editor = (function() {
var customEditTypes = {};
var editPanes = {};
- var filteredEditPanes = [];
+ var filteredEditPanes = {};
var editTrayWidthCache = {};
@@ -414,10 +414,10 @@ RED.editor = (function() {
element:editorTabEl,
onchange:function(tab) {
editorContent.children().hide();
+ tab.content.show();
if (tab.onchange) {
tab.onchange.call(tab);
}
- tab.content.show();
if (finishedBuilding) {
RED.tray.resize();
}
@@ -427,6 +427,16 @@ RED.editor = (function() {
});
var activeEditPanes = [];
+
+ nodeEditPanes = nodeEditPanes.slice();
+ for (var i in filteredEditPanes) {
+ if (filteredEditPanes.hasOwnProperty(i)) {
+ if (filteredEditPanes[i](node)) {
+ nodeEditPanes.push(i);
+ }
+ }
+ }
+
nodeEditPanes.forEach(function(id) {
try {
var editPaneDefinition = editPanes[id];
@@ -434,15 +444,17 @@ RED.editor = (function() {
if (typeof editPaneDefinition === 'function') {
editPaneDefinition = editPaneDefinition.call(editPaneDefinition);
}
+ var editPaneContent = $('
', {class:"red-ui-tray-content"}).appendTo(editorContent).hide();
+ editPaneDefinition.create.call(editPaneDefinition,editPaneContent,node);
var editTab = {
id: id,
label: editPaneDefinition.label,
name: editPaneDefinition.name,
iconClass: editPaneDefinition.iconClass,
- content: editPaneDefinition.create.call(editPaneDefinition,editorContent,node).hide(),
+ content: editPaneContent,
onchange: function() {
- if (editPaneDefinition.onchange) {
- editPaneDefinition.onchange.call(editPaneDefinition,node)
+ if (editPaneDefinition.show) {
+ editPaneDefinition.show.call(editPaneDefinition,node)
}
}
}
@@ -1901,10 +1913,9 @@ RED.editor = (function() {
registerEditorPane: function(type, definition, filter) {
if (filter) {
- filteredEditPanes.push({type, definition, filter})
- } else {
- editPanes[type] = definition;
+ filteredEditPanes[type] = filter
}
+ editPanes[type] = definition;
}
}
})();
diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/appearance.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/appearance.js
index 2d8c3ca00..faca319e2 100644
--- a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/appearance.js
+++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/appearance.js
@@ -6,7 +6,7 @@
name: RED._("editor-tab.appearance"),
iconClass: "fa fa-object-group",
create: function(container, node) {
- this.content = $('
', {class:"red-ui-tray-content"}).appendTo(container);
+ this.content = container;
buildAppearanceForm(this.content,node);
if (node.type === 'subflow') {
@@ -20,7 +20,6 @@
this.isDefaultIcon = true;
}
}
- return this.content;
},
resize: function(node, size) {
diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/description.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/description.js
index e7402e5ab..3163ff23d 100644
--- a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/description.js
+++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/description.js
@@ -7,9 +7,8 @@
iconClass: "fa fa-file-text-o",
create: function(container, node) {
- var content = $('
', {class:"red-ui-tray-content"}).appendTo(container);
- this.editor = buildDescriptionForm(content,node);
- return content;
+ this.editor = buildDescriptionForm(container,node);
+ RED.e = this.editor;
},
resize: function(node, size) {
this.editor.resize();
diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/envVarProperties.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/envVarProperties.js
index 4e2240580..77a00365a 100644
--- a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/envVarProperties.js
+++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/envVarProperties.js
@@ -6,12 +6,10 @@
name: RED._("editor-tab.envProperties"),
iconClass: "fa fa-list",
create: function(container, node) {
- var content = $('
', {class:"red-ui-tray-content"}).appendTo(container);
- var form = $('
').appendTo(content);
+ var form = $('
').appendTo(container);
var listContainer = $('
').appendTo(form);
this.list = $('
').appendTo(listContainer);
RED.editor.envVarList.create(this.list, node);
- return content;
},
resize: function(node, size) {
this.list.editableList('height',size.height);
diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/flowProperties.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/flowProperties.js
index c72eed7a6..cd0d2250d 100644
--- a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/flowProperties.js
+++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/flowProperties.js
@@ -6,9 +6,7 @@
name: RED._("editor-tab.properties"),
iconClass: "fa fa-cog",
create: function(container, node) {
- var content = $('
', {class:"red-ui-tray-content"}).appendTo(container);
-
- var dialogForm = $('
').appendTo(content);
+ var dialogForm = $('
').appendTo(container);
$('