From d0ec0552222f5a69e72046b5a9c3b735da2ad7f2 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Mon, 18 Oct 2021 21:23:42 +0100 Subject: [PATCH] Fix Inject/Change node restoring typedInput options --- .../nodes/core/common/20-inject.html | 4 +- .../nodes/core/function/15-change.html | 41 +++++++------------ 2 files changed, 16 insertions(+), 29 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 41fa8b66f..bd17e1635 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 @@ -539,12 +539,10 @@ var propertyValue = $('',{class:"node-input-prop-property-value",type:"text"}) .css("width","calc(70% - 30px)") .appendTo(row) - .typedInput({default:'str',types:['flow','global','str','num','bool','json','bin','date','jsonata','env','msg']}); + .typedInput({default:prop.vt,types:['flow','global','str','num','bool','json','bin','date','jsonata','env','msg']}); propertyName.typedInput('value',prop.p); - propertyValue.typedInput('value',prop.v); - propertyValue.typedInput('type',prop.vt); }, removable: true, sortable: true diff --git a/packages/node_modules/@node-red/nodes/core/function/15-change.html b/packages/node_modules/@node-red/nodes/core/function/15-change.html index f39f2355c..b40039028 100644 --- a/packages/node_modules/@node-red/nodes/core/function/15-change.html +++ b/packages/node_modules/@node-red/nodes/core/function/15-change.html @@ -115,10 +115,10 @@ var regex = this._("change.label.regex"); var deepCopyLabel = this._("change.label.deepCopy"); - function createPropertyValue(row2_1,row2_2) { + function createPropertyValue(row2_1, row2_2, defaultType) { var propValInput = $('',{class:"node-input-rule-property-value",type:"text"}) .appendTo(row2_1) - .typedInput({default:'str',types:['msg','flow','global','str','num','bool','json','bin','date','jsonata','env']}); + .typedInput({default:defaultType||'str',types:['msg','flow','global','str','num','bool','json','bin','date','jsonata','env']}); var dcLabel = $('').appendTo(row2_2); var deepCopy = $('').appendTo(dcLabel) @@ -129,20 +129,20 @@ }) return [propValInput, deepCopy]; } - function createFromValue(row3_1) { + function createFromValue(row3_1, defaultType) { return $('',{class:"node-input-rule-property-search-value",type:"text"}) .appendTo(row3_1) - .typedInput({default:'str',types:['msg','flow','global','str','re','num','bool','env']}); + .typedInput({default:defaultType||'str',types:['msg','flow','global','str','re','num','bool','env']}); } - function createToValue(row3_2) { + function createToValue(row3_2, defaultType) { return $('',{class:"node-input-rule-property-replace-value",type:"text"}) .appendTo(row3_2) - .typedInput({default:'str',types:['msg','flow','global','str','num','bool','json','bin','env']}); + .typedInput({default:defaultType||'str',types:['msg','flow','global','str','num','bool','json','bin','env']}); } - function createMoveValue(row4) { + function createMoveValue(row4, defaultType) { return $('',{class:"node-input-rule-property-move-value",type:"text"}) .appendTo(row4) - .typedInput({default:'msg',types:['msg','flow','global']}); + .typedInput({default:defaultType||'msg',types:['msg','flow','global']}); } $('#node-input-rule-container').css('min-height','150px').css('min-width','450px').editableList({ @@ -268,33 +268,22 @@ propertyName.typedInput('value',rule.p); propertyName.typedInput('type',rule.pt); if (rule.t == "set") { - if(!propertyValue) { - var parts = createPropertyValue(row2_1, row2_2); - propertyValue = parts[0]; - deepCopy = parts[1]; - } + var parts = createPropertyValue(row2_1, row2_2, rule.tot); + propertyValue = parts[0]; + deepCopy = parts[1]; propertyValue.typedInput('value',rule.to); - propertyValue.typedInput('type',rule.tot); deepCopy.prop("checked", !!rule.dc); } if (rule.t == "move") { - if(!moveValue) { - moveValue = createMoveValue(row4); - } + moveValue = createMoveValue(row4,rule.tot); moveValue.typedInput('value',rule.to); - moveValue.typedInput('type',rule.tot); } if (rule.t == "change") { - if(!fromValue) { - fromValue = createFromValue(row3_1); - } + fromValue = createFromValue(row3_1, rule.fromt); fromValue.typedInput('value',rule.from); - fromValue.typedInput('type',rule.fromt); - if (!toValue) { - toValue = createToValue(row3_2); - } + + toValue = createToValue(row3_2,rule.tot); toValue.typedInput('value',rule.to); - toValue.typedInput('type',rule.tot); } selectField.change(); container[0].appendChild(fragment);