Skip to content
Snippets Groups Projects
Verified Commit 4d4783ec authored by Daniel Göbel's avatar Daniel Göbel
Browse files

Fix ts-lint error

#95
parent e6d95764
No related branches found
No related tags found
1 merge request!92Resolve "Add help for creating clomw_info.json"
...@@ -15,6 +15,7 @@ import type { ClowmInfo } from "@/types/ClowmInfo"; ...@@ -15,6 +15,7 @@ import type { ClowmInfo } from "@/types/ClowmInfo";
import UploadParameterFileModal from "@/components/parameter-schema/UploadParameterFileModal.vue"; import UploadParameterFileModal from "@/components/parameter-schema/UploadParameterFileModal.vue";
import type { import type {
TemporaryParams, TemporaryParams,
WorkflowMetaParameters,
WorkflowParameters, WorkflowParameters,
} from "@/types/WorkflowParameters"; } from "@/types/WorkflowParameters";
import { useWorkflowExecutionStore } from "@/stores/workflowExecutions"; import { useWorkflowExecutionStore } from "@/stores/workflowExecutions";
...@@ -55,10 +56,7 @@ const emit = defineEmits<{ ...@@ -55,10 +56,7 @@ const emit = defineEmits<{
( (
e: "start-workflow", e: "start-workflow",
parameters: WorkflowParameters, parameters: WorkflowParameters,
notes?: string, metaParameters: WorkflowMetaParameters,
logs_s3_path?: string,
debug_s3_path?: string,
provenance_s3_path?: string,
): void; ): void;
}>(); }>();
...@@ -90,18 +88,17 @@ const launchForm = ref<HTMLFormElement | null>(null); ...@@ -90,18 +88,17 @@ const launchForm = ref<HTMLFormElement | null>(null);
const formState = reactive<{ const formState = reactive<{
formInput: WorkflowParameters; formInput: WorkflowParameters;
validated: boolean; validated: boolean;
pipelineNotes: string; metaParameters: WorkflowMetaParameters;
logs_s3_path?: string;
debug_s3_path?: string;
provenance_s3_path?: string;
errorType?: string; errorType?: string;
}>({ }>({
formInput: {}, formInput: {},
validated: false, validated: false,
pipelineNotes: "", metaParameters: {
logs_s3_path: undefined, logs_s3_path: undefined,
debug_s3_path: undefined, debug_s3_path: undefined,
provenance_s3_path: undefined, provenance_s3_path: undefined,
notes: undefined,
},
errorType: undefined, errorType: undefined,
}); });
...@@ -191,14 +188,7 @@ function startWorkflow() { ...@@ -191,14 +188,7 @@ function startWorkflow() {
console.error(validateSchema.errors); console.error(validateSchema.errors);
errorToast?.show(); errorToast?.show();
} else { } else {
emit( emit("start-workflow", formState.formInput, formState.metaParameters);
"start-workflow",
formState.formInput,
formState.pipelineNotes,
formState.logs_s3_path,
formState.debug_s3_path,
formState.provenance_s3_path,
);
} }
} else { } else {
formState.errorType = "form"; formState.errorType = "form";
...@@ -213,10 +203,7 @@ function loadParameters(tempParams?: TemporaryParams) { ...@@ -213,10 +203,7 @@ function loadParameters(tempParams?: TemporaryParams) {
formState.formInput[param] = tempParams.params[param]; formState.formInput[param] = tempParams.params[param];
} }
} }
formState.pipelineNotes = tempParams.metaParams.notes ?? ""; formState.metaParameters = tempParams.metaParams;
formState.logs_s3_path = tempParams.metaParams.logs_s3_path;
formState.provenance_s3_path = tempParams.metaParams.provenance_s3_path;
formState.debug_s3_path = tempParams.metaParams.debug_s3_path;
if (Object.keys(tempParams?.params ?? {}).length > 0) { if (Object.keys(tempParams?.params ?? {}).length > 0) {
parameterLoadToast?.show(); parameterLoadToast?.show();
} }
...@@ -285,8 +272,7 @@ onMounted(() => { ...@@ -285,8 +272,7 @@ onMounted(() => {
> >
<template v-for="(group, groupName) in parameterGroups" :key="groupName"> <template v-for="(group, groupName) in parameterGroups" :key="groupName">
<parameter-group-form <parameter-group-form
:modelValue="formState.formInput" v-model="formState.formInput"
@update:model-value="(newValue) => (formState.formInput = newValue)"
v-if="formState.formInput" v-if="formState.formInput"
:parameter-group-name="groupName" :parameter-group-name="groupName"
:parameter-group="group" :parameter-group="group"
...@@ -319,7 +305,7 @@ onMounted(() => { ...@@ -319,7 +305,7 @@ onMounted(() => {
<textarea <textarea
class="form-control border border-secondary" class="form-control border border-secondary"
rows="2" rows="2"
v-model="formState.pipelineNotes" v-model="formState.metaParameters.notes"
/> />
</div> </div>
<label class="mb-3" for="pipelineNotes" <label class="mb-3" for="pipelineNotes"
...@@ -337,7 +323,7 @@ onMounted(() => { ...@@ -337,7 +323,7 @@ onMounted(() => {
</span> </span>
<parameter-string-input <parameter-string-input
parameter-name="logs_s3_path" parameter-name="logs_s3_path"
v-model="formState.logs_s3_path" v-model="formState.metaParameters.logs_s3_path"
:parameter="{ :parameter="{
format: 'directory-path', format: 'directory-path',
type: 'string', type: 'string',
...@@ -360,7 +346,7 @@ onMounted(() => { ...@@ -360,7 +346,7 @@ onMounted(() => {
</span> </span>
<parameter-string-input <parameter-string-input
parameter-name="provenance_s3_path" parameter-name="provenance_s3_path"
v-model="formState.provenance_s3_path" v-model="formState.metaParameters.provenance_s3_path"
:parameter="{ :parameter="{
format: 'directory-path', format: 'directory-path',
type: 'string', type: 'string',
...@@ -384,7 +370,7 @@ onMounted(() => { ...@@ -384,7 +370,7 @@ onMounted(() => {
</span> </span>
<parameter-string-input <parameter-string-input
parameter-name="debug_s3_path" parameter-name="debug_s3_path"
v-model="formState.debug_s3_path" v-model="formState.metaParameters.debug_s3_path"
:parameter="{ :parameter="{
format: 'directory-path', format: 'directory-path',
type: 'string', type: 'string',
......
...@@ -101,32 +101,42 @@ function parameterRequired( ...@@ -101,32 +101,42 @@ function parameterRequired(
> >
<font-awesome-icon :icon="parameter['fa_icon']" /> <font-awesome-icon :icon="parameter['fa_icon']" />
</span> </span>
<parameter-number-input <template
v-if=" v-if="
parameter['type'] === 'number' || parameter['type'] === 'number' ||
parameter['type'] === 'integer' parameter['type'] === 'integer'
" "
:parameter-name="parameterName" >
:parameter="parameter" <!-- @vue-ignore -->
:help-id="parameterName + '-help'" <parameter-number-input
:required="parameterRequired(parameterGroup, parameterName)"
v-model="model[parameterName]"
/>
<parameter-boolean-input
v-else-if="parameter['type'] === 'boolean'"
:parameter-name="parameterName"
:parameter="parameter"
:help-id="parameterName + '-help'"
v-model="model[parameterName]"
/>
<template v-else-if="parameter['type'] === 'string'">
<parameter-enum-input
v-if="parameter['enum']"
:parameter-name="parameterName" :parameter-name="parameterName"
:parameter="parameter" :parameter="parameter"
:help-id="parameterName + '-help'"
:required="parameterRequired(parameterGroup, parameterName)" :required="parameterRequired(parameterGroup, parameterName)"
v-model="model[parameterName]" v-model="model[parameterName]"
/> />
</template>
<template v-else-if="parameter['type'] === 'boolean'">
<!-- @vue-ignore -->
<parameter-boolean-input
:parameter-name="parameterName"
:parameter="parameter"
:help-id="parameterName + '-help'"
v-model="model[parameterName]"
/>
</template>
<template v-else-if="parameter['type'] === 'string'">
<!-- @vue-ignore -->
<template v-if="parameter['enum']">
<!-- @vue-ignore -->
<parameter-enum-input
:parameter-name="parameterName"
:parameter="parameter"
:required="parameterRequired(parameterGroup, parameterName)"
v-model="model[parameterName]"
/>
</template>
<!-- @vue-ignore -->
<parameter-string-input <parameter-string-input
v-else v-else
:parameter-name="parameterName" :parameter-name="parameterName"
......
...@@ -11,7 +11,10 @@ import type { WorkflowIn } from "@/client/workflow"; ...@@ -11,7 +11,10 @@ import type { WorkflowIn } from "@/client/workflow";
import { useWorkflowExecutionStore } from "@/stores/workflowExecutions"; import { useWorkflowExecutionStore } from "@/stores/workflowExecutions";
import ParameterSchemaFormComponent from "@/components/parameter-schema/ParameterSchemaFormComponent.vue"; import ParameterSchemaFormComponent from "@/components/parameter-schema/ParameterSchemaFormComponent.vue";
import BootstrapToast from "@/components/BootstrapToast.vue"; import BootstrapToast from "@/components/BootstrapToast.vue";
import type { WorkflowParameters } from "@/types/WorkflowParameters"; import type {
WorkflowMetaParameters,
WorkflowParameters,
} from "@/types/WorkflowParameters";
const props = defineProps<{ const props = defineProps<{
wid: string; wid: string;
...@@ -94,10 +97,7 @@ watch( ...@@ -94,10 +97,7 @@ watch(
function startWorkflow( function startWorkflow(
parameters: WorkflowParameters, parameters: WorkflowParameters,
notes?: string, metaParameters: WorkflowMetaParameters,
logs_s3_path?: string,
debug_s3_path?: string,
provenance_s3_path?: string,
) { ) {
if (workflowState.workflow) { if (workflowState.workflow) {
errorToast?.hide(); errorToast?.hide();
...@@ -106,9 +106,9 @@ function startWorkflow( ...@@ -106,9 +106,9 @@ function startWorkflow(
.startDevExecution({ .startDevExecution({
git_commit_hash: workflowState.workflow.git_commit_hash, git_commit_hash: workflowState.workflow.git_commit_hash,
parameters: parameters, parameters: parameters,
logs_s3_path: logs_s3_path ? logs_s3_path : undefined, logs_s3_path: metaParameters.logs_s3_path,
debug_s3_path: debug_s3_path ? debug_s3_path : undefined, debug_s3_path: metaParameters.debug_s3_path,
provenance_s3_path: provenance_s3_path ? provenance_s3_path : undefined, provenance_s3_path: metaParameters.provenance_s3_path,
repository_url: workflowState.workflow.repository_url, repository_url: workflowState.workflow.repository_url,
token: workflowState.workflow.token ?? undefined, token: workflowState.workflow.token ?? undefined,
mode: mode:
......
...@@ -8,7 +8,10 @@ import { Toast } from "bootstrap"; ...@@ -8,7 +8,10 @@ import { Toast } from "bootstrap";
import { useWorkflowExecutionStore } from "@/stores/workflowExecutions"; import { useWorkflowExecutionStore } from "@/stores/workflowExecutions";
import BootstrapToast from "@/components/BootstrapToast.vue"; import BootstrapToast from "@/components/BootstrapToast.vue";
import { useWorkflowStore } from "@/stores/workflows"; import { useWorkflowStore } from "@/stores/workflows";
import type { WorkflowParameters } from "@/types/WorkflowParameters"; import type {
WorkflowMetaParameters,
WorkflowParameters,
} from "@/types/WorkflowParameters";
const executionRepository = useWorkflowExecutionStore(); const executionRepository = useWorkflowExecutionStore();
const workflowRepository = useWorkflowStore(); const workflowRepository = useWorkflowStore();
...@@ -69,10 +72,7 @@ function downloadParameterSchema() { ...@@ -69,10 +72,7 @@ function downloadParameterSchema() {
function startWorkflow( function startWorkflow(
parameters: WorkflowParameters, parameters: WorkflowParameters,
notes?: string, metaParameters: WorkflowMetaParameters,
logs_s3_path?: string,
debug_s3_path?: string,
provenance_s3_path?: string,
) { ) {
if (props.versionId) { if (props.versionId) {
versionState.workflowExecutionError = undefined; versionState.workflowExecutionError = undefined;
...@@ -81,12 +81,10 @@ function startWorkflow( ...@@ -81,12 +81,10 @@ function startWorkflow(
.startExecution({ .startExecution({
workflow_version_id: props.versionId, workflow_version_id: props.versionId,
parameters: parameters, parameters: parameters,
notes: notes, notes: metaParameters.notes,
logs_s3_path: logs_s3_path?.length ?? 0 > 0 ? logs_s3_path : undefined, logs_s3_path: metaParameters.logs_s3_path,
debug_s3_path: debug_s3_path: metaParameters.debug_s3_path,
debug_s3_path?.length ?? 0 > 0 ? debug_s3_path : undefined, provenance_s3_path: metaParameters.provenance_s3_path,
provenance_s3_path:
provenance_s3_path?.length ?? 0 > 0 ? provenance_s3_path : undefined,
mode_id: props.workflowModeId, mode_id: props.workflowModeId,
}) })
.then(() => { .then(() => {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment