12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- module.exports = function(RED) {
- var ui = require('../ui')(RED);
-
- function TextNode(config) {
- RED.nodes.createNode(this, config);
- var node = this;
-
- var group = RED.nodes.getNode(config.group);
- if (!group) { return; }
- var tab = RED.nodes.getNode(group.config.tab);
- if (!tab) { return; }
-
- var layout = config.layout||"row-spread";
- var angLayout = "row";
- var angLayoutAlign = "space-between center";
- if (layout === "row-spread") { angLayout = 'row'; angLayoutAlign = 'space-between center'}
- else if (layout === "row-left") { angLayout = 'row'; angLayoutAlign = 'start center'}
- else if (layout === "row-center") { angLayout = 'row'; angLayoutAlign = 'center center'}
- else if (layout === "row-right") { angLayout = 'row'; angLayoutAlign = 'end center'}
- else if (layout === "col-center") { angLayout = 'column'; angLayoutAlign = 'center center'}
- var done = ui.add({
- emitOnlyNewValues: false,
- node: node,
- tab: tab,
- group: group,
- control: {
- type: 'text',
- label: config.label,
- order: config.order,
- format: config.format,
- width: config.width || group.config.width || 6,
- height: config.height || 1,
- layout: angLayout,
- layoutAlign: angLayoutAlign,
- className: config.className || '',
- },
- convert: function(value,oldValue,msg) {
- if (value !== undefined && value !== null) {
- if (Buffer.isBuffer(value)) {
- value = value.toString('binary');
- }
- else {
- value = value.toString();
- }
- }
- else {
- msg.payload = oldValue;
- }
- return value;
- }
- });
- node.on("close", done);
- }
- RED.nodes.registerType("ui_text", TextNode);
- };
|