From eab512ef22191f3dc6418c4c2da0313bf9419170 Mon Sep 17 00:00:00 2001 From: GogoVega <92022724+GogoVega@users.noreply.github.com> Date: Mon, 24 Jun 2024 17:55:23 +0200 Subject: [PATCH] Fix save and history of credentials for panes --- .../src/js/ui/editors/panes/properties.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/properties.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/properties.js index cfa72be10..9b18ec35e 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/properties.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/properties.js @@ -131,9 +131,13 @@ } } if (node._def.credentials) { - var credDefinition = node._def.credentials; - var credsChanged = updateNodeCredentials(node,credDefinition,this.inputClass); - editState.changed = editState.changed || credsChanged; + const credsDefinition = node._def.credentials; + const credsChanged = updateNodeCredentials(node, credsDefinition, this.inputClass); + + if (credsChanged) { + editState.changed = true; + editState.changes.credentials = node.credentials._; + } } } } @@ -178,11 +182,14 @@ var value = input.val(); if (credDefinition[cred].type == 'password') { node.credentials['has_' + cred] = (value !== ""); - if (value == '__PWRD__') { + + // Skip if the credential has not changed + if ((value === '__PWRD__' && node.credentials._['has_' + cred] === true) || + (value === "" && node.credentials._['has_' + cred] === false)) { continue; } - changed = true; + changed = true; } node.credentials[cred] = value; if (value != node.credentials._[cred]) { @@ -193,6 +200,4 @@ } return changed; } - - })();