@@ -376,17 +376,19 @@ const updateTokenMetadataInParameters = (
376
376
const allParameters = getAllInputParameters ( nodeInputs ) ;
377
377
const repetitionInfo = getRecordEntry ( repetitionInfos , id ) ?? { repetitionReferences : [ ] } ;
378
378
for ( const parameter of allParameters ) {
379
- const segments = parameter . value ;
379
+ const { value : segments , editorViewModel , type } = parameter ;
380
380
let error = '' ;
381
+ let hasToken = false ;
381
382
if ( segments && segments . length ) {
382
383
parameter . value = segments . map ( ( segment ) => {
383
384
let updatedSegment = segment ;
384
385
385
386
if ( isTokenValueSegment ( segment ) ) {
386
387
if ( pasteParams ) {
387
- const result = updateScopePasteTokenMetadata ( segment , pasteParams ) ;
388
- updatedSegment = result . updatedSegment ;
389
- error = result . error ;
388
+ const { updatedTokenSegment, tokenError } = updateScopePasteTokenMetadata ( segment , pasteParams ) ;
389
+ updatedSegment = updatedTokenSegment ;
390
+ error = tokenError ;
391
+ hasToken = true ;
390
392
}
391
393
return updateTokenMetadata (
392
394
updatedSegment ,
@@ -397,20 +399,24 @@ const updateTokenMetadataInParameters = (
397
399
operations ,
398
400
workflowParameters ,
399
401
nodesMetadata ,
400
- parameter . type
402
+ type
401
403
) ;
402
404
}
403
405
return updatedSegment ;
404
406
} ) ;
405
407
}
406
- if ( error ) {
407
- parameter . validationErrors = [ error ] ;
408
+ if ( pasteParams ) {
409
+ if ( hasToken ) {
410
+ parameter . preservedValue = undefined ;
411
+ }
412
+ if ( error ) {
413
+ parameter . validationErrors = [ error ] ;
414
+ }
408
415
}
409
- const viewModel = parameter . editorViewModel ;
410
- if ( viewModel ) {
416
+ if ( editorViewModel ) {
411
417
flattenAndUpdateViewModel (
412
418
repetitionInfo ,
413
- viewModel ,
419
+ editorViewModel ,
414
420
actionNodes ,
415
421
triggerNodeId ,
416
422
nodesData ,
0 commit comments