diff --git a/nodes/core/locales/en-US/messages.json b/nodes/core/locales/en-US/messages.json index 0d80233a0..652eca2a5 100644 --- a/nodes/core/locales/en-US/messages.json +++ b/nodes/core/locales/en-US/messages.json @@ -45,6 +45,7 @@ "minutes": "minutes", "hours": "hours", "between": "between", + "previous": "previous value", "at": "at", "and": "and", "every": "every", diff --git a/nodes/core/logic/10-switch.html b/nodes/core/logic/10-switch.html index 78392320e..082dc10b9 100644 --- a/nodes/core/logic/10-switch.html +++ b/nodes/core/logic/10-switch.html @@ -66,6 +66,8 @@ }, oneditprepare: function() { var node = this; + var previousValueType = {value:"prev",label:this._("inject.previous"),hasValue:false}; + $("#node-input-property").typedInput({default:this.propertyType||'msg',types:['msg','flow','global']}); var operators = [ {v:"eq",t:"=="}, @@ -129,10 +131,10 @@ selectField.append($("").val(operators[d].v).text(operators[d].t)); } - var valueField = $('',{class:"node-input-rule-value",type:"text",style:"margin-left: 5px; width: 145px;"}).appendTo(row).typedInput({default:'str',types:['msg','flow','global','str','num']}); - var btwnValueField = $('',{class:"node-input-rule-btwn-value",type:"text",style:"margin-left: 5px;"}).appendTo(row).typedInput({default:'num',types:['msg','flow','global','str','num']}); + var valueField = $('',{class:"node-input-rule-value",type:"text",style:"margin-left: 5px; width: 145px;"}).appendTo(row).typedInput({default:'str',types:['msg','flow','global','str','num',previousValueType]}); + var btwnValueField = $('',{class:"node-input-rule-btwn-value",type:"text",style:"margin-left: 5px;"}).appendTo(row).typedInput({default:'num',types:['msg','flow','global','str','num',previousValueType]}); var btwnAndLabel = $('',{class:"node-input-rule-btwn-label"}).text(" "+andLabel+" ").appendTo(row3); - var btwnValue2Field = $('',{class:"node-input-rule-btwn-value2",type:"text",style:"margin-left:2px;"}).appendTo(row3).typedInput({default:'num',types:['msg','flow','global','str','num']}); + var btwnValue2Field = $('',{class:"node-input-rule-btwn-value2",type:"text",style:"margin-left:2px;"}).appendTo(row3).typedInput({default:'num',types:['msg','flow','global','str','num',previousValueType]}); var finalspan = $('',{style:"float: right;margin-right: 10px;"}).appendTo(row); finalspan.append(' → '+i+' '); diff --git a/nodes/core/logic/10-switch.js b/nodes/core/logic/10-switch.js index 55fe3f524..6bbb0f628 100644 --- a/nodes/core/logic/10-switch.js +++ b/nodes/core/logic/10-switch.js @@ -39,6 +39,7 @@ module.exports = function(RED) { this.property = n.property; this.propertyType = n.propertyType || "msg"; this.checkall = n.checkall || "true"; + this.previousValue = null; var node = this; for (var i=0; i