Disconnect moved output links when dropped on canvas (#936)

- Resolves #884
This commit is contained in:
filtered
2025-04-18 23:22:28 +10:00
committed by GitHub
parent 02d165bf2a
commit 6293b4bbe0
2 changed files with 9 additions and 0 deletions

View File

@@ -446,6 +446,12 @@ export class LinkConnector {
link.inputNode.disconnectInput(link.inputIndex, true)
}
}
} else if (this.state.connectingTo === "output") {
for (const link of this.renderLinks) {
if (link instanceof MovingOutputLink) {
link.outputNode.disconnectOutput(link.outputIndex, link.inputNode)
}
}
}
}

View File

@@ -499,6 +499,9 @@ describe("LinkConnector Integration", () => {
expect(connector.isRerouteValidDrop(reroute7)).toBe(false)
expect(connector.isRerouteValidDrop(reroute10)).toBe(false)
expect(connector.isRerouteValidDrop(reroute13)).toBe(false)
// Prevent link disconnect when dropped on canvas (just for this test)
connector.events.addEventListener("dropped-on-canvas", e => e.preventDefault(), { once: true })
connector.dropLinks(graph, reroute7Event)
connector.reset()