Loading client/src/api/schema/schema.ts +5 −0 Original line number Diff line number Diff line Loading @@ -8555,6 +8555,11 @@ export interface components { * @default false */ use_cached_job?: boolean | null; /** * Version * @description The version of the workflow to invoke. */ version?: number | null; }; /** * ItemTagsCreatePayload Loading client/src/components/Workflow/Editor/Index.vue +3 −1 Original line number Diff line number Diff line Loading @@ -774,7 +774,9 @@ export default { this.report.markdown = markdown; }, onRun() { const runUrl = `/workflows/run?id=${this.id}`; const runUrl = `/workflows/run?id=${this.id}${ this.version !== undefined ? `&version=${this.version}` : "" }`; this.onNavigate(runUrl); }, async onNavigate(url, forceSave = false, ignoreChanges = false) { Loading client/src/components/Workflow/Run/WorkflowRun.vue +7 −3 Original line number Diff line number Diff line Loading @@ -27,12 +27,14 @@ const router = useRouter(); interface Props { workflowId: string; version?: string; preferSimpleForm?: boolean; simpleFormTargetHistory?: string; simpleFormUseJobCache?: boolean; } const props = withDefaults(defineProps<Props>(), { version: undefined, preferSimpleForm: false, simpleFormTargetHistory: "current", simpleFormUseJobCache: false, Loading @@ -49,7 +51,9 @@ const workflowName = ref(""); const workflowModel: any = ref(null); const currentHistoryId = computed(() => historyStore.currentHistoryId); const editorLink = computed(() => `/workflows/edit?id=${props.workflowId}`); const editorLink = computed( () => `/workflows/edit?id=${props.workflowId}${props.version ? `&version=${props.version}` : ""}` ); const historyStatusKey = computed(() => `${currentHistoryId.value}_${lastUpdateTime.value}`); const isOwner = computed(() => currentUser.value?.username === workflowModel.value.runData.owner); const lastUpdateTime = computed(() => historyItemsStore.lastUpdateTime); Loading @@ -74,7 +78,7 @@ function handleSubmissionError(error: string) { } function loadRun() { getRunData(props.workflowId) getRunData(props.workflowId, props.version || undefined) .then((runData) => { const incomingModel = new WorkflowRunModel(runData); simpleForm.value = props.preferSimpleForm; Loading Loading @@ -116,7 +120,7 @@ function loadRun() { } async function onImport() { const response = await copyWorkflow(props.workflowId, workflowModel.value.runData.owner); const response = await copyWorkflow(props.workflowId, workflowModel.value.runData.owner, props.version); router.push(`/workflows/edit?id=${response.id}`); } Loading client/src/components/Workflow/Run/WorkflowRunForm.vue +2 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ </span> </BAlert> <div class="h4 clearfix mb-3"> <b>Workflow: {{ model.name }}</b> <b>Workflow: {{ model.name }}</b> <i>(version: {{ model.runData.version + 1 }})</i> <ButtonSpinner id="run-workflow" class="float-right" Loading Loading @@ -231,6 +231,7 @@ export default { // the user is already warned if tool versions are wrong, // they can still choose to invoke the workflow anyway. require_exact_tool_versions: false, version: this.model.runData.version, }; console.debug("WorkflowRunForm::onExecute()", "Ready for submission.", jobDef); Loading client/src/components/Workflow/Run/WorkflowRunFormSimple.vue +2 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ or send the results to a new one using the run settings ⚙️ </span> </BAlert> <b>Workflow: {{ model.name }}</b> <b>Workflow: {{ model.name }}</b> <i>(version: {{ model.runData.version + 1 }})</i> <ButtonSpinner id="run-workflow" :wait="waitingForRequest" Loading Loading @@ -200,6 +200,7 @@ export default { batch: true, use_cached_job: this.useCachedJobs, require_exact_tool_versions: false, version: this.model.runData.version, }; if (this.sendToNewHistory) { data.new_history_name = this.model.name; Loading Loading
client/src/api/schema/schema.ts +5 −0 Original line number Diff line number Diff line Loading @@ -8555,6 +8555,11 @@ export interface components { * @default false */ use_cached_job?: boolean | null; /** * Version * @description The version of the workflow to invoke. */ version?: number | null; }; /** * ItemTagsCreatePayload Loading
client/src/components/Workflow/Editor/Index.vue +3 −1 Original line number Diff line number Diff line Loading @@ -774,7 +774,9 @@ export default { this.report.markdown = markdown; }, onRun() { const runUrl = `/workflows/run?id=${this.id}`; const runUrl = `/workflows/run?id=${this.id}${ this.version !== undefined ? `&version=${this.version}` : "" }`; this.onNavigate(runUrl); }, async onNavigate(url, forceSave = false, ignoreChanges = false) { Loading
client/src/components/Workflow/Run/WorkflowRun.vue +7 −3 Original line number Diff line number Diff line Loading @@ -27,12 +27,14 @@ const router = useRouter(); interface Props { workflowId: string; version?: string; preferSimpleForm?: boolean; simpleFormTargetHistory?: string; simpleFormUseJobCache?: boolean; } const props = withDefaults(defineProps<Props>(), { version: undefined, preferSimpleForm: false, simpleFormTargetHistory: "current", simpleFormUseJobCache: false, Loading @@ -49,7 +51,9 @@ const workflowName = ref(""); const workflowModel: any = ref(null); const currentHistoryId = computed(() => historyStore.currentHistoryId); const editorLink = computed(() => `/workflows/edit?id=${props.workflowId}`); const editorLink = computed( () => `/workflows/edit?id=${props.workflowId}${props.version ? `&version=${props.version}` : ""}` ); const historyStatusKey = computed(() => `${currentHistoryId.value}_${lastUpdateTime.value}`); const isOwner = computed(() => currentUser.value?.username === workflowModel.value.runData.owner); const lastUpdateTime = computed(() => historyItemsStore.lastUpdateTime); Loading @@ -74,7 +78,7 @@ function handleSubmissionError(error: string) { } function loadRun() { getRunData(props.workflowId) getRunData(props.workflowId, props.version || undefined) .then((runData) => { const incomingModel = new WorkflowRunModel(runData); simpleForm.value = props.preferSimpleForm; Loading Loading @@ -116,7 +120,7 @@ function loadRun() { } async function onImport() { const response = await copyWorkflow(props.workflowId, workflowModel.value.runData.owner); const response = await copyWorkflow(props.workflowId, workflowModel.value.runData.owner, props.version); router.push(`/workflows/edit?id=${response.id}`); } Loading
client/src/components/Workflow/Run/WorkflowRunForm.vue +2 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ </span> </BAlert> <div class="h4 clearfix mb-3"> <b>Workflow: {{ model.name }}</b> <b>Workflow: {{ model.name }}</b> <i>(version: {{ model.runData.version + 1 }})</i> <ButtonSpinner id="run-workflow" class="float-right" Loading Loading @@ -231,6 +231,7 @@ export default { // the user is already warned if tool versions are wrong, // they can still choose to invoke the workflow anyway. require_exact_tool_versions: false, version: this.model.runData.version, }; console.debug("WorkflowRunForm::onExecute()", "Ready for submission.", jobDef); Loading
client/src/components/Workflow/Run/WorkflowRunFormSimple.vue +2 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ or send the results to a new one using the run settings ⚙️ </span> </BAlert> <b>Workflow: {{ model.name }}</b> <b>Workflow: {{ model.name }}</b> <i>(version: {{ model.runData.version + 1 }})</i> <ButtonSpinner id="run-workflow" :wait="waitingForRequest" Loading Loading @@ -200,6 +200,7 @@ export default { batch: true, use_cached_job: this.useCachedJobs, require_exact_tool_versions: false, version: this.model.runData.version, }; if (this.sendToNewHistory) { data.new_history_name = this.model.name; Loading