Fix reactivity in WorkflowInvocationState, only fetch on mounted if it's

not already in the store.
This commit is contained in:
Dannon Baker
2022-11-16 20:31:19 -05:00
parent 70ace727f9
commit edf7588d7d
@@ -1,6 +1,5 @@
<script setup>
import { computed, onMounted, ref } from "vue";
import { storeToRefs } from "pinia";
import { computed, onMounted } from "vue";
import { useWorkflowStore } from "stores/workflowStore";
@@ -8,8 +7,6 @@ import ParameterStep from "./ParameterStep";
import GenericHistoryItem from "components/History/Content/GenericItem";
import WorkflowInvocationStep from "./WorkflowInvocationStep";
const workflow = ref(null);
const props = defineProps({
invocation: {
type: Object,
@@ -19,7 +16,9 @@ const props = defineProps({
const workflowStore = useWorkflowStore();
const { getWorkflowByInstanceId } = storeToRefs(workflowStore);
const workflow = computed(() => {
return workflowStore.workflowsByInstanceId[props.invocation.workflow_id];
});
function dataInputStepLabel(key, input) {
const invocationStep = props.invocation.steps[key];
@@ -35,10 +34,10 @@ function dataInputStepLabel(key, input) {
}
onMounted(async () => {
await workflowStore.fetchWorkflowForInstanceId(props.invocation.workflow_id);
workflow.value = getWorkflowByInstanceId(props.invocation.workflow_id);
if (!workflowStore.workflowsByInstanceId[props.invocation.workflow_id]) {
workflowStore.fetchWorkflowForInstanceId(props.invocation.workflow_id);
}
});
</script>
<template>
<div v-if="invocation">