mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-24 20:24:05 -08:00
fix(Merge Node): Fixing how paired items are handled in the merge node, when choosing a branch and selecting to return an empty object (#8479)
Co-authored-by: Michael Kret <michael.k@radency.com>
This commit is contained in:
parent
cd8ca8412d
commit
a3bed97883
|
@ -0,0 +1,145 @@
|
||||||
|
{
|
||||||
|
"meta": {
|
||||||
|
"templateCredsSetupCompleted": true,
|
||||||
|
"instanceId": "8d731d98fab18fb8e68289d44c50faa5d5c5378aedc3f892abdd7d5d3b7061c5"
|
||||||
|
},
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"fields": {
|
||||||
|
"values": [
|
||||||
|
{
|
||||||
|
"name": "one",
|
||||||
|
"stringValue": "={{ $('Code').item.json.id }}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "two",
|
||||||
|
"stringValue": "={{ $('Code1').item.json.id }}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"options": {}
|
||||||
|
},
|
||||||
|
"id": "853f9e11-e59b-4f21-81ba-08ec2d69c87a",
|
||||||
|
"name": "Edit Fields",
|
||||||
|
"type": "n8n-nodes-base.set",
|
||||||
|
"typeVersion": 3.2,
|
||||||
|
"position": [
|
||||||
|
900,
|
||||||
|
580
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {},
|
||||||
|
"id": "8310a9da-b02b-4a77-80d4-7c2de5bcbae8",
|
||||||
|
"name": "When clicking \"Execute Workflow\"",
|
||||||
|
"type": "n8n-nodes-base.manualTrigger",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
180,
|
||||||
|
600
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"jsCode": "return [\n {id: 1},\n];"
|
||||||
|
},
|
||||||
|
"id": "0f1fb40d-0c6c-455d-bb3b-0c0fa818e063",
|
||||||
|
"name": "Code",
|
||||||
|
"type": "n8n-nodes-base.code",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
420,
|
||||||
|
520
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"jsCode": "return [\n {id: 2},\n];"
|
||||||
|
},
|
||||||
|
"id": "873fcccc-86c1-40fd-bdae-2bb31e971382",
|
||||||
|
"name": "Code1",
|
||||||
|
"type": "n8n-nodes-base.code",
|
||||||
|
"typeVersion": 1,
|
||||||
|
"position": [
|
||||||
|
420,
|
||||||
|
680
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"parameters": {
|
||||||
|
"mode": "chooseBranch",
|
||||||
|
"output": "empty"
|
||||||
|
},
|
||||||
|
"id": "b81a2372-9f8b-4899-b2fd-c581bcf930d8",
|
||||||
|
"name": "Merge3",
|
||||||
|
"type": "n8n-nodes-base.merge",
|
||||||
|
"typeVersion": 2,
|
||||||
|
"position": [
|
||||||
|
700,
|
||||||
|
580
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"connections": {
|
||||||
|
"When clicking \"Execute Workflow\"": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Code",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"node": "Code1",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Code": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Merge3",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Code1": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Merge3",
|
||||||
|
"type": "main",
|
||||||
|
"index": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Merge3": {
|
||||||
|
"main": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"node": "Edit Fields",
|
||||||
|
"type": "main",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pinData": {
|
||||||
|
"Edit Fields": [
|
||||||
|
{
|
||||||
|
"json": {
|
||||||
|
"one": "1",
|
||||||
|
"two": "2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -29,7 +29,7 @@ import {
|
||||||
} from './GenericFunctions';
|
} from './GenericFunctions';
|
||||||
|
|
||||||
import { optionsDescription } from './OptionsDescription';
|
import { optionsDescription } from './OptionsDescription';
|
||||||
import { generatePairedItemData } from '../../../utils/utilities';
|
import { preparePairedItemDataArray } from '@utils/utilities';
|
||||||
|
|
||||||
const versionDescription: INodeTypeDescription = {
|
const versionDescription: INodeTypeDescription = {
|
||||||
displayName: 'Merge',
|
displayName: 'Merge',
|
||||||
|
@ -605,8 +605,15 @@ export class MergeV2 implements INodeType {
|
||||||
returnData.push.apply(returnData, this.getInputData(1));
|
returnData.push.apply(returnData, this.getInputData(1));
|
||||||
}
|
}
|
||||||
if (output === 'empty') {
|
if (output === 'empty') {
|
||||||
const itemData = generatePairedItemData(this.getInputData(0).length);
|
const pairedItem = [
|
||||||
returnData.push({ json: {}, pairedItem: itemData });
|
...this.getInputData(0).map((inputData) => inputData.pairedItem),
|
||||||
|
...this.getInputData(1).map((inputData) => inputData.pairedItem),
|
||||||
|
].flatMap(preparePairedItemDataArray);
|
||||||
|
|
||||||
|
returnData.push({
|
||||||
|
json: {},
|
||||||
|
pairedItem,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue