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); $('
    '+ ''+ ''+ @@ -30,7 +28,6 @@ $("#node-input-name").val(node.label); RED.text.bidi.prepareInput($("#node-input-name")); this.tabflowEditor.getSession().setValue(node.info || "", -1); - return content; }, resize: function(node, size) { $("#node-input-info").css("height", (size.height-70)+"px"); diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/properties.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/properties.js index bd393c9df..ab3efbd65 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/properties.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/properties.js @@ -6,7 +6,6 @@ name: RED._("editor-tab.properties"), iconClass: "fa fa-cog", create: function(container, node) { - var content = $('
    ', {class:"red-ui-tray-content"}).appendTo(container); var nodeType = node.type; if (node.type === "subflow") { @@ -28,9 +27,7 @@ this.inputClass = "node-config-input"; formStyle = "node-config-dialog-edit-form"; } - RED.editor.buildEditForm(content,formStyle,nodeType,i18nNamespace,node); - - return content; + RED.editor.buildEditForm(container,formStyle,nodeType,i18nNamespace,node); }, resize: function(node, size) { if (node && node._def.oneditresize) { diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/subflowModule.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/subflowModule.js index 4636862f6..dba482625 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/subflowModule.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/subflowModule.js @@ -36,9 +36,7 @@ name: RED._("editor-tab.module"), iconClass: "fa fa-cube", create: function(container, node) { - var content = $('
    ', {class:"red-ui-tray-content"}).appendTo(container); - buildModuleForm(content, node); - return content; + buildModuleForm(container, node); }, resize: function(node, size) { }, diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/subflowProperties.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/subflowProperties.js index eefa82730..33d7c43ff 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/subflowProperties.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/subflowProperties.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); $('
    '+ ''+ ''+ @@ -30,7 +28,6 @@ $("#node-input-name").val(node.label); RED.text.bidi.prepareInput($("#node-input-name")); this.tabflowEditor.getSession().setValue(node.info || "", -1); - return content; }, resize: function(node, size) { $("#node-input-info").css("height", (size.height-70)+"px");