diff --git a/packages/node_modules/@node-red/nodes/core/function/10-switch.html b/packages/node_modules/@node-red/nodes/core/function/10-switch.html index c10a53827..94b1ade33 100644 --- a/packages/node_modules/@node-red/nodes/core/function/10-switch.html +++ b/packages/node_modules/@node-red/nodes/core/function/10-switch.html @@ -103,7 +103,6 @@ } else if (type === "istype") { r.v = rule.find(".node-input-rule-type-value").typedInput('type'); r.vt = rule.find(".node-input-rule-type-value").typedInput('type'); - r.vt = (r.vt === "number") ? "num" : "str"; } else if (type === "jsonata_exp") { r.v = rule.find(".node-input-rule-exp-value").typedInput('value'); r.vt = rule.find(".node-input-rule-exp-value").typedInput('type'); @@ -218,7 +217,11 @@ if (i > 0) { var lastRule = $("#node-input-rule-container").editableList('getItemAt',i-1); var exportedRule = exportRule(lastRule.element); - opt.r.vt = exportedRule.vt; + if (exportedRule.t === "istype") { + opt.r.vt = (exportedRule.vt === "number") ? "num" : "str"; + } else { + opt.r.vt = exportedRule.vt; + } opt.r.v = ""; // We could copy the value over as well and preselect it (see the 'activeElement' code below) // But not sure that feels right. Is copying over the last value 'expected' behaviour?