2
0

🐛 (editor) Improve edge resiliency connected to non-existant blocks

This commit is contained in:
Baptiste Arnaud
2024-03-10 19:44:53 +01:00
parent 0dc276c18f
commit 22fe50268a

View File

@ -60,13 +60,18 @@ export const Edge = ({ edge, fromGroupId }: Props) => {
return sourceEndpointYOffsets.get(endpointId)?.y
}, [edge.from, sourceEndpointYOffsets])
const targetTop = useMemo(
() =>
edge?.to.blockId
? targetEndpointYOffsets.get(edge?.to.blockId)?.y
: undefined,
[edge?.to.blockId, targetEndpointYOffsets]
)
const targetTop = useMemo(() => {
if (edge.to.blockId) {
const targetOffset = targetEndpointYOffsets.get(edge.to.blockId)
if (!targetOffset) {
// Something went wrong, the edge is connected to a block that doesn't exist anymore.
deleteEdge(edge.id)
return
}
return targetOffset.y
}
return
}, [deleteEdge, edge.id, edge.to.blockId, targetEndpointYOffsets])
const path = useMemo(() => {
if (!sourceElementCoordinates || !toGroupCoordinates || !sourceTop)