|
|
@@ -34,18 +34,22 @@ const childrenEdges = computed(() =>
|
|
|
const emit = defineEmits<{
|
|
|
update: [id: string, attrs: Record<string, unknown>]
|
|
|
move: [position: XYPosition]
|
|
|
- 'click:node': [id: string, position: XYPosition]
|
|
|
- 'dblclick:node': [id: string, position: XYPosition]
|
|
|
- 'click:node:add': [
|
|
|
+ 'add-inner-node': [parentId: string]
|
|
|
+ 'loop:child:click:node': [id: string, position: XYPosition]
|
|
|
+ 'loop:child:dblclick:node': [id: string, position: XYPosition]
|
|
|
+ 'loop:child:click:node:add': [
|
|
|
payload: { nodeId: string; handle: string; position: XYPosition; event?: MouseEvent }
|
|
|
]
|
|
|
- 'add-inner-node': [parentId: string]
|
|
|
- 'add-inner-edge': [connection: Connection]
|
|
|
- 'update:nodes:position': [events: CanvasNodeMoveEvent[]]
|
|
|
- 'create:connection:cancelled': [
|
|
|
+ 'loop:child:create:connection:end': [connection: Connection, event?: MouseEvent]
|
|
|
+ 'loop:child:update:node:attrs': [id: string, attrs: Record<string, unknown>]
|
|
|
+ 'loop:child:update:nodes:position': [events: CanvasNodeMoveEvent[]]
|
|
|
+ 'loop:child:create:connection:cancelled': [
|
|
|
payload: { handle: ConnectStartEvent; position: XYPosition; event?: MouseEvent }
|
|
|
]
|
|
|
- 'edge:add:click': [connection: Connection]
|
|
|
+ 'loop:child:run:node': [id: string]
|
|
|
+ 'loop:child:delete:node': [id: string]
|
|
|
+ 'loop:child:delete:connection': [connection: Connection]
|
|
|
+ 'loop:child:click:connection:add': [connection: Connection]
|
|
|
}>()
|
|
|
|
|
|
const nodeData = computed(() => node.props.value.node?.data ?? node.props.value.data)
|
|
|
@@ -97,9 +101,6 @@ function onAddNode() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-function onAddEdge(connection: Connection) {
|
|
|
- emit('add-inner-edge', connection)
|
|
|
-}
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
@@ -157,15 +158,20 @@ function onAddEdge(connection: Connection) {
|
|
|
:auto-pan-on-node-drag="false"
|
|
|
:translate-extent="innerCanvasExtent"
|
|
|
:node-extent="innerCanvasExtent"
|
|
|
- @click:node="(id, position) => emit('click:node', id, position)"
|
|
|
- @dblclick:node="(id, position) => emit('dblclick:node', id, position)"
|
|
|
- @click:node:add="emit('click:node:add', $event)"
|
|
|
+ @click:node="(id, position) => emit('loop:child:click:node', id, position)"
|
|
|
+ @dblclick:node="(id, position) => emit('loop:child:dblclick:node', id, position)"
|
|
|
+ @click:node:add="emit('loop:child:click:node:add', $event)"
|
|
|
@create:node="onAddNode"
|
|
|
- @create:connection:end="onAddEdge"
|
|
|
- @create:connection:cancelled="emit('create:connection:cancelled', $event)"
|
|
|
- @update:node:attrs="(id, attrs) => emit('update', id, attrs)"
|
|
|
- @update:nodes:position="emit('update:nodes:position', $event)"
|
|
|
- @click:connection:add="emit('edge:add:click', $event)"
|
|
|
+ @create:connection:end="
|
|
|
+ (connection, event) => emit('loop:child:create:connection:end', connection, event)
|
|
|
+ "
|
|
|
+ @create:connection:cancelled="emit('loop:child:create:connection:cancelled', $event)"
|
|
|
+ @update:node:attrs="(id, attrs) => emit('loop:child:update:node:attrs', id, attrs)"
|
|
|
+ @update:nodes:position="emit('loop:child:update:nodes:position', $event)"
|
|
|
+ @run:node="emit('loop:child:run:node', $event)"
|
|
|
+ @delete:node="emit('loop:child:delete:node', $event)"
|
|
|
+ @delete:connection="emit('loop:child:delete:connection', $event)"
|
|
|
+ @click:connection:add="emit('loop:child:click:connection:add', $event)"
|
|
|
/>
|
|
|
</div>
|
|
|
</div>
|