From 5f5feaed5ffe03e33c70eef05d603d4780169635 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Sun, 19 May 2019 22:33:34 +0100 Subject: [PATCH] Add expand editor button to Template node --- .../editor-client/locales/en-US/editor.json | 3 + .../editor-client/src/js/ui/editor.js | 3 + .../editor-client/src/js/ui/editors/text.js | 90 +++++++++++++++++++ .../nodes/core/core/80-template.html | 33 +++++-- 4 files changed, 121 insertions(+), 8 deletions(-) create mode 100644 packages/node_modules/@node-red/editor-client/src/js/ui/editors/text.js diff --git a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json index 0b979f5d5..4fd83854b 100755 --- a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json +++ b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json @@ -729,6 +729,9 @@ "jsEditor": { "title": "JavaScript editor" }, + "textEditor": { + "title": "Text editor" + }, "jsonEditor": { "title": "JSON editor", "format": "format JSON" 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 fe506c0e3..7bf279ff5 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 @@ -513,6 +513,8 @@ RED.editor = (function() { label = RED._("expressionEditor.title"); } else if (node.type === '_js') { label = RED._("jsEditor.title"); + } else if (node.type === '_text') { + label = RED._("textEditor.title"); } else if (node.type === '_json') { label = RED._("jsonEditor.title"); } else if (node.type === '_markdown') { @@ -2456,6 +2458,7 @@ RED.editor = (function() { editExpression: function(options) { showTypeEditor("_expression", options) }, editJSON: function(options) { showTypeEditor("_json", options) }, editMarkdown: function(options) { showTypeEditor("_markdown", options) }, + editText: function(options) { showTypeEditor("_text", options) }, editBuffer: function(options) { showTypeEditor("_buffer", options) }, buildEditForm: buildEditForm, validateNode: validateNode, diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/text.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/text.js new file mode 100644 index 000000000..1824091fe --- /dev/null +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/text.js @@ -0,0 +1,90 @@ +/** + * Copyright JS Foundation and other contributors, http://js.foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + **/ +(function() { + + + var template = ''; + + var definition = { + show: function(options) { + var value = options.value; + var onComplete = options.complete; + var type = "_text" + if ($("script[data-template-name='"+type+"']").length === 0) { + $(template).appendTo("#red-ui-editor-node-configs"); + } + RED.view.state(RED.state.EDITING); + var expressionEditor; + var changeTimer; + + var trayOptions = { + title: options.title, + width: options.width||"inherit", + buttons: [ + { + id: "node-dialog-cancel", + text: RED._("common.label.cancel"), + click: function() { + RED.tray.close(); + } + }, + { + id: "node-dialog-ok", + text: RED._("common.label.done"), + class: "primary", + click: function() { + onComplete(expressionEditor.getValue(),expressionEditor.getCursorPosition()); + RED.tray.close(); + } + } + ], + resize: function(dimensions) { + var rows = $("#dialog-form>div:not(.node-text-editor-row)"); + var editorRow = $("#dialog-form>div.node-text-editor-row"); + var height = $("#dialog-form").height(); + // for (var i=0;i -
- - -
-
@@ -32,11 +24,19 @@ +
+
+ + +