mirror of
https://github.com/n8n-io/n8n.git
synced 2025-01-24 02:52:24 -08:00
🐛 Fix issue with FixedCollection
This commit is contained in:
parent
3ed6acd58a
commit
888f01b343
|
@ -145,7 +145,9 @@ export default mixins(genericHelpers)
|
|||
const newParameterValue: INodeParameters = {};
|
||||
|
||||
for (const optionParameter of option.values) {
|
||||
if (optionParameter.typeOptions !== undefined && optionParameter.typeOptions.multipleValues === true) {
|
||||
if (optionParameter.type === 'fixedCollection' && optionParameter.typeOptions.multipleValues === true) {
|
||||
newParameterValue[optionParameter.name] = {};
|
||||
} else if (optionParameter.typeOptions !== undefined && optionParameter.typeOptions.multipleValues === true) {
|
||||
// Multiple values are allowed so append option to array
|
||||
newParameterValue[optionParameter.name] = get(this.nodeValues, `${this.path}.${optionParameter.name}`, []);
|
||||
(newParameterValue[optionParameter.name] as INodeParameters[]).push(JSON.parse(JSON.stringify(optionParameter.default)));
|
||||
|
|
|
@ -2676,6 +2676,144 @@ describe('Workflow', () => {
|
|||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
description: 'complex type "fixedCollection" with "multipleValues: true". Which contains complex type "fixedCollection" with "multipleValues: true". One value set.',
|
||||
input: {
|
||||
nodePropertiesArray: [
|
||||
{
|
||||
displayName: 'Values1',
|
||||
name: 'values1',
|
||||
type: 'fixedCollection',
|
||||
typeOptions: {
|
||||
multipleValues: true,
|
||||
},
|
||||
description: 'The value to set.',
|
||||
default: {},
|
||||
options: [
|
||||
{
|
||||
displayName: 'Options1',
|
||||
name: 'options1',
|
||||
values: [
|
||||
{
|
||||
displayName: 'Values2',
|
||||
name: 'values2',
|
||||
type: 'fixedCollection',
|
||||
typeOptions: {
|
||||
multipleValues: true,
|
||||
},
|
||||
description: 'The value to set.',
|
||||
default: {},
|
||||
options: [
|
||||
{
|
||||
displayName: 'Options2',
|
||||
name: 'options2',
|
||||
values: [
|
||||
{
|
||||
name: 'string1',
|
||||
displayName: 'string1',
|
||||
type: 'string',
|
||||
default: 'default string1',
|
||||
},
|
||||
{
|
||||
name: 'number1',
|
||||
displayName: 'number1',
|
||||
type: 'number',
|
||||
default: 0,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
nodeValues: {
|
||||
values1: {
|
||||
options1: [
|
||||
{
|
||||
values2: {
|
||||
options2: [
|
||||
{
|
||||
number1: 1,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
output: {
|
||||
noneDisplayedFalse: {
|
||||
defaultsFalse: {
|
||||
values1: {
|
||||
options1: [
|
||||
{
|
||||
values2: {
|
||||
options2: [
|
||||
{
|
||||
number1: 1,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
defaultsTrue: {
|
||||
values1: {
|
||||
options1: [
|
||||
{
|
||||
values2: {
|
||||
options2: [
|
||||
{
|
||||
string1: 'default string1',
|
||||
number1: 1,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
noneDisplayedTrue: {
|
||||
defaultsFalse: {
|
||||
values1: {
|
||||
options1: [
|
||||
{
|
||||
values2: {
|
||||
options2: [
|
||||
{
|
||||
number1: 1,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
defaultsTrue: {
|
||||
values1: {
|
||||
options1: [
|
||||
{
|
||||
values2: {
|
||||
options2: [
|
||||
{
|
||||
string1: 'default string1',
|
||||
number1: 1,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue