Browse Source

feat: Locations Formats the layout if it does not exist (#11535)

3.1.0-release
labbomb 2 years ago committed by GitHub
parent
commit
096fae77f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      dolphinscheduler-ui/src/views/projects/workflow/components/dag/index.tsx
  2. 2
      dolphinscheduler-ui/src/views/projects/workflow/components/dag/use-graph-auto-layout.ts
  3. 10
      dolphinscheduler-ui/src/views/projects/workflow/definition/detail/index.tsx

1
dolphinscheduler-ui/src/views/projects/workflow/components/dag/index.tsx

@ -89,6 +89,7 @@ export default defineComponent({
const graph = ref<Graph>() const graph = ref<Graph>()
provide('graph', graph) provide('graph', graph)
context.expose(graph)
// Auto layout modal // Auto layout modal
const { const {

2
dolphinscheduler-ui/src/views/projects/workflow/components/dag/use-graph-auto-layout.ts

@ -80,7 +80,7 @@ export function useGraphAutoLayout(options: Options) {
* @returns * @returns
*/ */
function format(layoutConfig: LayoutConfig) { function format(layoutConfig: LayoutConfig) {
if (!layoutConfig) { if (Object.keys(layoutConfig).length === 0) {
layoutConfig = DEFAULT_LAYOUT_CONFIG layoutConfig = DEFAULT_LAYOUT_CONFIG
} }
const graph = graphRef?.value const graph = graphRef?.value

10
dolphinscheduler-ui/src/views/projects/workflow/definition/detail/index.tsx

@ -33,6 +33,7 @@ import {
Location Location
} from '../../components/dag/types' } from '../../components/dag/types'
import Styles from './index.module.scss' import Styles from './index.module.scss'
import { useGraphAutoLayout } from '../../components/dag/use-graph-auto-layout'
interface SaveData { interface SaveData {
saveForm: SaveForm saveForm: SaveForm
@ -55,6 +56,7 @@ export default defineComponent({
const definition = ref<WorkflowDefinition>() const definition = ref<WorkflowDefinition>()
const readonly = ref(false) const readonly = ref(false)
const isLoading = ref(true) const isLoading = ref(true)
const dagRef = ref()
const refresh = () => { const refresh = () => {
isLoading.value = true isLoading.value = true
@ -62,6 +64,13 @@ export default defineComponent({
readonly.value = res.processDefinition.releaseState === 'ONLINE' readonly.value = res.processDefinition.releaseState === 'ONLINE'
definition.value = res definition.value = res
isLoading.value = false isLoading.value = false
if (!res.processDefinition.locations) {
setTimeout(() => {
const graph = dagRef.value
const { submit } = useGraphAutoLayout({ graph })
submit()
}, 1000)
}
}) })
} }
@ -115,6 +124,7 @@ export default defineComponent({
> >
{!isLoading.value && ( {!isLoading.value && (
<Dag <Dag
ref={dagRef}
definition={definition.value} definition={definition.value}
onRefresh={refresh} onRefresh={refresh}
projectCode={projectCode} projectCode={projectCode}

Loading…
Cancel
Save