Skip to content
Snippets Groups Projects
Commit 1e62c587 authored by Daniel Göbel's avatar Daniel Göbel
Browse files

Merge branch 'bugfix/96-allow-ungrouped-parameters-in-nextflow-schema' into 'main'

Resolve "Allow ungrouped parameters in nextflow schema"

Closes #96

See merge request !93
parents 4e233b83 79b86dbb
No related branches found
No related tags found
1 merge request!93Resolve "Allow ungrouped parameters in nextflow schema"
Pipeline #46280 passed
......@@ -44,9 +44,19 @@ const navParameterGroups = computed<ParameterGroup[]>(() => {
return groups;
});
const parameterGroups = computed<Record<string, never>>(
() => props.schema["definitions"],
);
const parameterGroups = computed<Record<string, never>>(() => {
if (Object.keys(props.schema?.["properties"] ?? {}).length > 0) {
return {
...props.schema?.["definitions"],
ungrouped_parameters: {
title: "Ungrouped Parameters",
properties: props.schema?.["properties"],
type: "object",
},
};
}
return props.schema?.["definitions"];
});
</script>
<template>
......
......@@ -104,9 +104,19 @@ const formState = reactive<{
// Computed Properties
// =============================================================================
const parameterGroups = computed<Record<string, never>>(
() => props.schema?.["definitions"],
);
const parameterGroups = computed<Record<string, never>>(() => {
if (Object.keys(props.schema?.["properties"] ?? {}).length > 0) {
return {
...props.schema?.["definitions"],
ungrouped_parameters: {
title: "Ungrouped Parameters",
properties: props.schema?.["properties"],
type: "object",
},
};
}
return props.schema?.["definitions"];
});
// Create a list with the names of all parameter groups
const navParameterGroups = computed<ParameterGroup[]>(() => {
......@@ -159,18 +169,19 @@ watch(
/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/ban-ts-comment, @typescript-eslint/no-unused-vars */
function updateSchema(schema: Record<string, any>) {
validateSchema = schemaCompiler.compile(schema);
const b = Object.keys(schema["definitions"]).map((groupName) =>
Object.fromEntries(
Object.entries(schema["definitions"][groupName]["properties"]).map(
([parameterName, parameter]) => [
parameterName,
// @ts-ignore
parameter["default"],
],
const groupedParameters = Object.keys(parameterGroups.value).map(
(groupName) =>
Object.fromEntries(
Object.entries(parameterGroups.value[groupName]["properties"]).map(
([parameterName, parameter]) => [
parameterName,
// @ts-ignore
parameter["default"],
],
),
),
),
);
formState.formInput = b.reduce((acc, val) => {
formState.formInput = groupedParameters.reduce((acc, val) => {
return { ...acc, ...val };
});
loadParameters(executionRepository.popTemporaryParameters());
......
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