|
@@ -41,10 +41,8 @@ const props = defineProps({
|
|
|
const {proxy}: any = getCurrentInstance()
|
|
|
const state: any = reactive({})
|
|
|
const onAddNode = (type) => {
|
|
|
- console.log(props.port)
|
|
|
const node = getNodeDefault(type)
|
|
|
- console.log(props.node.getChildren())
|
|
|
- const sons = props.graph.getSuccessors(props.node, {breadthFirst: true, deep: false, distance: 1})
|
|
|
+ const sons = props.graph.getSuccessors(props.node, {breadthFirst: true, deep: false, distance: 1}).filter(v => v.data.edgeSource === props.port.id)
|
|
|
const diff = 100
|
|
|
let X = 0
|
|
|
let Y = 0
|
|
@@ -56,6 +54,7 @@ const onAddNode = (type) => {
|
|
|
X = Math.max(x, X)
|
|
|
Y = Math.max(y + height, Y)
|
|
|
})
|
|
|
+ Y += diff
|
|
|
} else {
|
|
|
const {x, y} = props.node.position()
|
|
|
const {width, height} = props.node.size()
|
|
@@ -64,8 +63,7 @@ const onAddNode = (type) => {
|
|
|
}
|
|
|
|
|
|
node.x = X
|
|
|
- node.y = Y + diff
|
|
|
- props.graph.addNode(handleNode(node))
|
|
|
+ node.y = Y
|
|
|
const edge = {
|
|
|
target: node.id,
|
|
|
source: props.port.args.nodeId,
|
|
@@ -73,7 +71,11 @@ const onAddNode = (type) => {
|
|
|
}
|
|
|
if (props.port.args.type === 'more') {
|
|
|
edge.port = props.port.id
|
|
|
+ node.data.edgeSource = props.port.id
|
|
|
+ } else {
|
|
|
+ node.data.edgeSource = `${props.node.id}_end`
|
|
|
}
|
|
|
+ props.graph.addNode(handleNode(node))
|
|
|
props.graph.addEdge(handleEdge(edge))
|
|
|
}
|
|
|
</script>
|