From c38f4961531105247d6323a650ae26c8d3d4314b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20G=C3=B6bel?= <dgoebel@techfak.uni-bielefeld.de> Date: Wed, 29 Jan 2025 08:50:04 +0000 Subject: [PATCH] Delete undefined parameters before starting workflow execution #187 --- .../ParameterSchemaFormComponent.vue | 6 ++++- src/stores/workflows.ts | 4 ---- .../CreateParameterTranslationView.vue | 24 ++++++++----------- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/src/components/parameter-schema/ParameterSchemaFormComponent.vue b/src/components/parameter-schema/ParameterSchemaFormComponent.vue index 58ea805..64c3ff0 100644 --- a/src/components/parameter-schema/ParameterSchemaFormComponent.vue +++ b/src/components/parameter-schema/ParameterSchemaFormComponent.vue @@ -236,7 +236,11 @@ function startWorkflow() { // delete parameters that are strings and have a length of 0 for (const paramName of Object.keys(formState.formInput)) { const param = formState.formInput[paramName]; - if (typeof param === "string" && param?.length === 0) { + if ( + param == undefined || + (typeof param === "string" && param?.trim()?.length === 0) + ) { + console.log("Delete", paramName); delete formState.formInput[paramName]; } } diff --git a/src/stores/workflows.ts b/src/stores/workflows.ts index ea0d2e4..58e8d9a 100644 --- a/src/stores/workflows.ts +++ b/src/stores/workflows.ts @@ -75,10 +75,6 @@ export const useWorkflowStore = defineStore("workflows", { mapping[version.workflow_version_id] = version; } } - return mapping; - }, - ownVersionMapping(): Record<string, WorkflowVersionOut> { - const mapping: Record<string, WorkflowVersionOut> = {}; for (const workflow of this.ownWorkflows) { for (const version of workflow.versions) { mapping[version.workflow_version_id] = version; diff --git a/src/views/workflows/CreateParameterTranslationView.vue b/src/views/workflows/CreateParameterTranslationView.vue index 407143d..62d306f 100644 --- a/src/views/workflows/CreateParameterTranslationView.vue +++ b/src/views/workflows/CreateParameterTranslationView.vue @@ -113,13 +113,11 @@ function updateParameterPools(newVal?: object) { !parameterSchema.value?.[param]?.["enum"], ); } - if ( - workflowRepository.ownVersionMapping[props.versionId]?.parameter_extension - ) { + if (workflowRepository.versionMapping[props.versionId]?.parameter_extension) { parameterPools.defaults = parameterPools.defaults.filter( (param) => - workflowRepository.ownVersionMapping[props.versionId] - ?.parameter_extension?.defaults?.[param] == undefined, + workflowRepository.versionMapping[props.versionId]?.parameter_extension + ?.defaults?.[param] == undefined, ); } } @@ -327,8 +325,8 @@ onMounted(() => { deleteToast = new Toast("#delete-parameter-extension-success-toast"); workflowRepository.fetchWorkflow(props.workflowId, true, () => { parameterState.extension = - workflowRepository.ownVersionMapping[props.versionId] - ?.parameter_extension ?? {}; + workflowRepository.versionMapping[props.versionId]?.parameter_extension ?? + {}; for (const param of Object.keys(parameterState.extension?.mapping ?? {})) { for (const paramOption of Object.keys( parameterState.extension?.mapping?.[param] ?? {}, @@ -347,14 +345,14 @@ onMounted(() => { props.workflowId, props.versionId, DocumentationEnum.PARAMETER_SCHEMA_JSON, - workflowRepository.ownVersionMapping[props.versionId]?.modes?.[0], + workflowRepository.versionMapping[props.versionId]?.modes?.[0], ) .then(() => workflowRepository.fetchWorkflowDocumentation( props.workflowId, props.versionId, DocumentationEnum.CLOWM_INFO_JSON, - workflowRepository.ownVersionMapping[props.versionId]?.modes?.[0], + workflowRepository.versionMapping[props.versionId]?.modes?.[0], ), ) .finally(() => { @@ -393,8 +391,7 @@ onMounted(() => { }, query: { workflowModeId: - workflowRepository.ownVersionMapping[props.versionId] - ?.modes?.[0], + workflowRepository.versionMapping[props.versionId]?.modes?.[0], viewMode: 'expert', }, }" @@ -411,7 +408,7 @@ onMounted(() => { </bootstrap-toast> <delete-modal v-if=" - workflowRepository.ownVersionMapping[props.versionId]?.parameter_extension + workflowRepository.versionMapping[props.versionId]?.parameter_extension " modal-id="delete-parameter-extension-modal" :object-name-delete="`parameter extension of ${nameRepository.getName(props.workflowId)}@${nameRepository.getName(props.versionId)}`" @@ -426,8 +423,7 @@ onMounted(() => { </h2> <div v-if=" - workflowRepository.ownVersionMapping[props.versionId] - ?.parameter_extension + workflowRepository.versionMapping[props.versionId]?.parameter_extension " > <button -- GitLab