<script setup lang="ts"> import ParameterSchemaFormComponent from "@/components/parameter-schema/ParameterSchemaFormComponent.vue"; import type { WorkflowVersionFull } from "@/client/workflow"; import { WorkflowVersionService } from "@/client/workflow"; import axios from "axios"; import { onMounted, ref, reactive } from "vue"; import type { JSONSchemaType } from "ajv"; const props = defineProps<{ versionId: string; workflowId: string; }>(); const parameterSchema = ref(undefined); const versionState = reactive<{ // eslint-disable-next-line @typescript-eslint/no-explicit-any parameterSchema?: JSONSchemaType<any>; workflowVersion?: WorkflowVersionFull; }>({ parameterSchema: undefined, workflowVersion: undefined, }); function downloadVersion() { WorkflowVersionService.workflowVersionGetWorkflowVersion( props.versionId, props.workflowId ) .then((version) => { versionState.workflowVersion = version; return version; }) .then(downloadVersionFiles); } function downloadVersionFiles(version: WorkflowVersionFull) { axios.get(version.parameter_schema_url).then((response) => { parameterSchema.value = response.data; }); } onMounted(() => { downloadVersion(); }); </script> <template> <parameter-schema-form-component :workflow-version-id="versionId" :schema="parameterSchema" /> </template> <style scoped></style>