mirror of
https://github.com/projectstorm/react-diagrams.git
synced 2025-08-26 07:51:10 +08:00
Always remove link from old source/target port on port change
Was only removed from old if new port is null
This commit is contained in:
@ -151,10 +151,9 @@ export class LinkModel<T extends LinkModelListener = LinkModelListener> extends
|
|||||||
setSourcePort(port: PortModel) {
|
setSourcePort(port: PortModel) {
|
||||||
if (port !== null) {
|
if (port !== null) {
|
||||||
port.addLink(this);
|
port.addLink(this);
|
||||||
} else if (this.sourcePort !== null) {
|
}
|
||||||
|
if (this.sourcePort !== null) {
|
||||||
this.sourcePort.removeLink(this);
|
this.sourcePort.removeLink(this);
|
||||||
} else {
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
this.sourcePort = port;
|
this.sourcePort = port;
|
||||||
this.iterateListeners((listener: LinkModelListener, event) => {
|
this.iterateListeners((listener: LinkModelListener, event) => {
|
||||||
@ -175,10 +174,9 @@ export class LinkModel<T extends LinkModelListener = LinkModelListener> extends
|
|||||||
setTargetPort(port: PortModel) {
|
setTargetPort(port: PortModel) {
|
||||||
if (port !== null) {
|
if (port !== null) {
|
||||||
port.addLink(this);
|
port.addLink(this);
|
||||||
} else if (this.targetPort !== null) {
|
}
|
||||||
|
if (this.targetPort !== null) {
|
||||||
this.targetPort.removeLink(this);
|
this.targetPort.removeLink(this);
|
||||||
} else {
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
this.targetPort = port;
|
this.targetPort = port;
|
||||||
this.iterateListeners((listener: LinkModelListener, event) => {
|
this.iterateListeners((listener: LinkModelListener, event) => {
|
||||||
|
Reference in New Issue
Block a user