Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ export default defineComponent({
if (props.definition) {
return (
route.name === 'workflow-definition-detail' &&
props.definition!.workflowDefinition.releaseState === 'ONLINE'
props.definition.workflowDefinition?.releaseState === 'ONLINE'
)
} else {
return false
Expand All @@ -149,7 +149,7 @@ export default defineComponent({
props.instance.state === 'STOP'
)
} else if (props.definition) {
return props.definition!.workflowDefinition.releaseState === 'OFFLINE'
return props.definition.workflowDefinition?.releaseState === 'OFFLINE'
} else {
return false
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,20 +58,28 @@ export default defineComponent({
const isLoading = ref(true)
const dagRef = ref()

const refresh = () => {
const refresh = async () => {
isLoading.value = true
queryWorkflowDefinitionByCode(code, projectCode).then((res: any) => {
try {
const res = await queryWorkflowDefinitionByCode(code, projectCode)
if (!res?.workflowDefinition) {
definition.value = undefined
message.error(t('project.workflow.request_failed'))
return
}

readonly.value = res.workflowDefinition.releaseState === 'ONLINE'
definition.value = res
isLoading.value = false
if (!res.workflowDefinition.locations) {
setTimeout(() => {
const graph = dagRef.value
const { submit } = useGraphAutoLayout({ graph })
submit()
}, 1000)
}
})
} finally {
isLoading.value = false
}
}

const save = ({
Expand Down Expand Up @@ -121,7 +129,7 @@ export default defineComponent({
theme.darkTheme ? Styles['dark'] : Styles['light']
]}
>
{!isLoading.value && (
{!isLoading.value && definition.value && (
<Dag
ref={dagRef}
definition={definition.value}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,22 +53,31 @@ export default defineComponent({

const definition = ref<WorkflowDefinition>()
const instance = ref<WorkflowInstance>()
const isLoading = ref(true)
const dagInstanceRef = ref()

const refresh = () => {
queryWorkflowInstanceById(id, projectCode).then((res: any) => {
const refresh = async () => {
isLoading.value = true
try {
const res = await queryWorkflowInstanceById(id, projectCode)
instance.value = res
if (!res?.dagData?.workflowDefinition) {
definition.value = undefined
window.$message.error(t('project.workflow.request_failed'))
return
}

if (!res.dagData.workflowDefinition.locations) {
setTimeout(() => {
const graph = dagInstanceRef.value
const { submit } = useGraphAutoLayout({ graph })
submit()
}, 1000)
}
if (res.dagData) {
definition.value = res.dagData
}
})
definition.value = res.dagData
} finally {
isLoading.value = false
}
}

const save = ({
Expand Down Expand Up @@ -115,14 +124,16 @@ export default defineComponent({
theme.darkTheme ? Styles['dark'] : Styles['light']
]}
>
<Dag
ref={dagInstanceRef}
instance={instance.value}
definition={definition.value}
onRefresh={refresh}
projectCode={projectCode}
onSave={save}
/>
{!isLoading.value && definition.value && instance.value && (
<Dag
ref={dagInstanceRef}
instance={instance.value}
definition={definition.value}
onRefresh={refresh}
projectCode={projectCode}
onSave={save}
/>
)}
</div>
)
}
Expand Down
Loading