From 717bfffa63fc6c9844f161dbb26bf8cbd092c94e Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Mon, 11 May 2020 16:07:26 +0100 Subject: [PATCH] [Inject] Use legacy properies by preference --- .../nodes/core/common/20-inject.html | 57 +++++++------------ .../@node-red/nodes/core/common/20-inject.js | 16 ++++-- test/nodes/core/common/20-inject_spec.js | 20 +++++++ 3 files changed, 52 insertions(+), 41 deletions(-) diff --git a/packages/node_modules/@node-red/nodes/core/common/20-inject.html b/packages/node_modules/@node-red/nodes/core/common/20-inject.html index 291febc4d..8aa3dc7b2 100644 --- a/packages/node_modules/@node-red/nodes/core/common/20-inject.html +++ b/packages/node_modules/@node-red/nodes/core/common/20-inject.html @@ -168,16 +168,14 @@ color:"#a6bbcf", defaults: { name: {value:""}, - props:{value:[{p:"payload",v:"",vt:"date"},{p:"topic",v:"",vt:"str"}]}, + props:{value:[{p:"payload"},{p:"topic",vt:"str"}]}, repeat: {value:"", validate:function(v) { return ((v === "") || (RED.validators.number(v) && (v >= 0) && (v <= 2147483))) }}, crontab: {value:""}, once: {value:false}, onceDelay: {value:0.1}, - /* Legacy */ topic: {value:""}, payload: {value:"", validate: RED.validators.typedInput("payloadType")}, payloadType: {value:"date"}, - /* */ }, icon: "inject.svg", inputs:0, @@ -206,10 +204,10 @@ } lab += props[i].p+": "; - var propType = props[i].vt; + var propType = props[i].p === "payload"? this.payloadType : props[i].vt; if (propType === "json") { try { - var parsedProp = JSON.parse(props[i].v); + var parsedProp = JSON.parse(props[i].p === "payload"? this.payload : props[i].v); propType = typeof parsedProp; if (propType === "object" && Array.isArray(parsedProp)) { propType = "Array"; @@ -237,30 +235,9 @@ return this.name+suffix; } - var payloadProperty; - var topicProperty; - var payload; - var payloadType; - var topic; - - if (Array.isArray(this.props)) { - // find the payload & topic if they are set - for (var i=0,l=this.props.length; i