refactor: Fix type issues for parameter input components (#9449)

This commit is contained in:
Elias Meire
2024-05-21 15:04:20 +02:00
committed by GitHub
parent cd751e7cc8
commit 711c46f205
36 changed files with 315 additions and 243 deletions

View File

@@ -14,7 +14,7 @@
>
<MultipleParameter
:parameter="parameter"
:values="nodeHelpers.getParameterValue(nodeValues, parameter.name, path)"
:values="getParameterValue(parameter.name)"
:node-values="nodeValues"
:path="getPath(parameter.name)"
:is-read-only="isReadOnly"
@@ -70,7 +70,7 @@
<CollectionParameter
v-if="parameter.type === 'collection'"
:parameter="parameter"
:values="nodeHelpers.getParameterValue(nodeValues, parameter.name, path)"
:values="getParameterValue(parameter.name)"
:node-values="nodeValues"
:path="getPath(parameter.name)"
:is-read-only="isReadOnly"
@@ -79,7 +79,7 @@
<FixedCollectionParameter
v-else-if="parameter.type === 'fixedCollection'"
:parameter="parameter"
:values="nodeHelpers.getParameterValue(nodeValues, parameter.name, path)"
:values="getParameterValue(parameter.name)"
:node-values="nodeValues"
:path="getPath(parameter.name)"
:is-read-only="isReadOnly"
@@ -111,7 +111,7 @@
<FilterConditions
v-else-if="parameter.type === 'filter'"
:parameter="parameter"
:value="nodeHelpers.getParameterValue(nodeValues, parameter.name, path)"
:value="getParameterValue(parameter.name)"
:path="getPath(parameter.name)"
:node="node"
:read-only="isReadOnly"
@@ -120,7 +120,7 @@
<AssignmentCollection
v-else-if="parameter.type === 'assignmentCollection'"
:parameter="parameter"
:value="nodeHelpers.getParameterValue(nodeValues, parameter.name, path)"
:value="getParameterValue(parameter.name)"
:path="getPath(parameter.name)"
:node="node"
:is-read-only="isReadOnly"
@@ -144,7 +144,7 @@
<ParameterInputFull
:parameter="parameter"
:hide-issues="hiddenIssuesInputs.includes(parameter.name)"
:value="nodeHelpers.getParameterValue(nodeValues, parameter.name, path)"
:value="getParameterValue(parameter.name)"
:display-options="shouldShowOptions(parameter)"
:path="getPath(parameter.name)"
:is-read-only="isReadOnly"
@@ -167,6 +167,7 @@ import type {
INodeProperties,
INodeTypeDescription,
NodeParameterValue,
NodeParameterValueType,
} from 'n8n-workflow';
import { deepCopy } from 'n8n-workflow';
import { mapStores } from 'pinia';
@@ -385,10 +386,7 @@ export default defineComponent({
return dependencies;
},
multipleValues(parameter: INodeProperties): boolean {
if (this.getArgument('multipleValues', parameter) === true) {
return true;
}
return false;
return this.getArgument('multipleValues', parameter) === true;
},
getArgument(
argumentName: string,
@@ -460,7 +458,7 @@ export default defineComponent({
const nodeValues: INodeParameters = {};
let rawValues = this.nodeValues;
if (this.path) {
rawValues = get(this.nodeValues, this.path);
rawValues = get(this.nodeValues, this.path) as INodeParameters;
}
if (!rawValues) {
@@ -473,11 +471,12 @@ export default defineComponent({
let parameterGotResolved = false;
do {
key = resolveKeys.shift() as string;
if (typeof rawValues[key] === 'string' && rawValues[key].charAt(0) === '=') {
const value = rawValues[key];
if (typeof value === 'string' && value?.charAt(0) === '=') {
// Contains an expression that
if (
rawValues[key].includes('$parameter') &&
resolveKeys.some((parameterName) => rawValues[key].includes(parameterName))
value.includes('$parameter') &&
resolveKeys.some((parameterName) => value.includes(parameterName))
) {
// Contains probably an expression of a missing parameter so skip
resolveKeys.push(key);
@@ -486,7 +485,7 @@ export default defineComponent({
// Contains probably no expression with a missing parameter so resolve
try {
nodeValues[key] = this.workflowHelpers.resolveExpression(
rawValues[key],
value,
nodeValues,
) as NodeParameterValue;
} catch (e) {
@@ -574,6 +573,9 @@ export default defineComponent({
return null;
}
},
getParameterValue<T extends NodeParameterValueType = NodeParameterValueType>(name: string): T {
return this.nodeHelpers.getParameterValue(this.nodeValues, name, this.path) as T;
},
},
});
</script>