feat(core): add source and target handle ids to edge removal change
This commit is contained in:
@@ -520,7 +520,15 @@ export function useActions(
|
||||
const connections = getConnectedEdges(nodes).filter((edge) => (isDef(edge.deletable) ? edge.deletable : true))
|
||||
|
||||
edgeChanges.push(
|
||||
...connections.map((connection) => createEdgeRemoveChange(connection.id, connection.source, connection.target)),
|
||||
...connections.map((connection) =>
|
||||
createEdgeRemoveChange(
|
||||
connection.id,
|
||||
connection.source,
|
||||
connection.target,
|
||||
connection.sourceHandle,
|
||||
connection.targetHandle,
|
||||
),
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -590,7 +598,15 @@ export function useActions(
|
||||
return
|
||||
}
|
||||
|
||||
changes.push(createEdgeRemoveChange(typeof item === 'string' ? item : item.id, currEdge.source, currEdge.target))
|
||||
changes.push(
|
||||
createEdgeRemoveChange(
|
||||
typeof item === 'string' ? item : item.id,
|
||||
currEdge.source,
|
||||
currEdge.target,
|
||||
currEdge.sourceHandle,
|
||||
currEdge.targetHandle,
|
||||
),
|
||||
)
|
||||
})
|
||||
|
||||
state.hooks.edgesChange.trigger(changes)
|
||||
|
||||
@@ -55,6 +55,8 @@ export type EdgeSelectionChange = NodeSelectionChange
|
||||
export interface EdgeRemoveChange extends NodeRemoveChange {
|
||||
source: string
|
||||
target: string
|
||||
sourceHandle: string | null
|
||||
targetHandle: string | null
|
||||
}
|
||||
|
||||
export interface EdgeAddChange<Data = ElementData> {
|
||||
|
||||
@@ -235,11 +235,19 @@ export function createNodeRemoveChange(id: string): NodeRemoveChange {
|
||||
}
|
||||
}
|
||||
|
||||
export function createEdgeRemoveChange(id: string, source: string, target: string): EdgeRemoveChange {
|
||||
export function createEdgeRemoveChange(
|
||||
id: string,
|
||||
source: string,
|
||||
target: string,
|
||||
sourceHandle?: string | null,
|
||||
targetHandle?: string | null,
|
||||
): EdgeRemoveChange {
|
||||
return {
|
||||
id,
|
||||
source,
|
||||
target,
|
||||
sourceHandle: sourceHandle || null,
|
||||
targetHandle: targetHandle || null,
|
||||
type: 'remove',
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user