diff --git a/src/components/containers/ParametersContainer.tsx b/src/components/containers/ParametersContainer.tsx index 3d39481..07fc3bb 100644 --- a/src/components/containers/ParametersContainer.tsx +++ b/src/components/containers/ParametersContainer.tsx @@ -41,30 +41,33 @@ const ParameterContainer = (props: { > Add Parameter - {props.values.parameters?.map((parameter: any) => ( -
-
-

{parameter.name}

-
- {parameter.description && ( -

- {parameter.description} -

- )} - {parameter.defaultValue ? ( -

- {parameter.description} -

- ) : ( -

- Required -

- )} -
- ))} + {props.values.parameters && + Object.entries(props.values.parameters).map( + ([name, parameter]: [string, any]) => ( +
+
+

{name}

+
+ {parameter.description && ( +

+ {parameter.description} +

+ )} + {parameter.defaultValue ? ( +

+ {parameter.description} +

+ ) : ( +

+ Required +

+ )} +
+ ), + )} )} /> diff --git a/src/components/menus/definitions/InspectorDefinitionMenu.tsx b/src/components/menus/definitions/InspectorDefinitionMenu.tsx index b4bdc72..e8d0191 100644 --- a/src/components/menus/definitions/InspectorDefinitionMenu.tsx +++ b/src/components/menus/definitions/InspectorDefinitionMenu.tsx @@ -81,12 +81,12 @@ const InspectorDefinitionMenu = (props: InspectorDefinitionProps) => { }} enableReinitialize onSubmit={(values) => { - const newDefinition = dataMapping.transform(values, definitions); - const submitData = props.editing - ? { old: unpacked, new: newDefinition } - : newDefinition; - if (!props.passBackKey) { + const newDefinition = dataMapping.transform(values, definitions); + const submitData = props.editing + ? { old: unpacked, new: newDefinition } + : newDefinition; + submitToStore(submitData); } @@ -100,14 +100,18 @@ const InspectorDefinitionMenu = (props: InspectorDefinitionProps) => { navigateBack({ distance: 1, - apply: (values) => { + apply: (parentValues) => { if (props.passBackKey) { - values[props.passBackKey] = [ - ...(values[props.passBackKey] || []), - newDefinition, - ]; + const { name, ...args } = values; + + if (parentValues[props.passBackKey]) { + parentValues[props.passBackKey][name] = args; + } else { + parentValues[props.passBackKey] = { [name]: args }; + } } - return values; + + return parentValues; }, }); generateConfig(); diff --git a/src/mappings/JobMapping.tsx b/src/mappings/JobMapping.tsx index acb9d3e..517a3f6 100644 --- a/src/mappings/JobMapping.tsx +++ b/src/mappings/JobMapping.tsx @@ -22,6 +22,8 @@ const JobMapping: ComponentMapping = { dependsOn: (definitions) => [definitions.commands, definitions.executors], */ transform: ({ name, ...values }, definitions) => { + console.log(values) + return parsers.parseJob( name, values, diff --git a/src/state/Store.tsx b/src/state/Store.tsx index 282a5a9..efc0173 100644 --- a/src/state/Store.tsx +++ b/src/state/Store.tsx @@ -247,13 +247,16 @@ const Actions: StoreActions = { } } + const values = + payload?.apply?.(travelTo.props.values) || travelTo.props.values; + const props = { + ...travelTo.props, + values: values, + }; + state.navigation = { ...travelTo, - props: { - ...travelTo.props, - values: - payload?.apply?.(travelTo.props.values) || travelTo.props.values, - }, + props: props, jumpedFrom: distance > 1 ? state.navigation : undefined, }; } else {