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