|
@ -34394,36 +34394,14 @@ return /******/ (function(modules) { // webpackBootstrap |
|
|
if (this.body.edges[edgeId] !== undefined) { |
|
|
if (this.body.edges[edgeId] !== undefined) { |
|
|
var edge = this.body.edges[edgeId]; |
|
|
var edge = this.body.edges[edgeId]; |
|
|
|
|
|
|
|
|
// if the edge is a clusterEdge, we delete it. The opening of the clusters will restore these edges when required.
|
|
|
|
|
|
if (edgeId.substr(0, 12) === 'clusterEdge:') { |
|
|
|
|
|
// we only delete the cluster edge if there is another edge to the node that is not a cluster.
|
|
|
|
|
|
var target = edge.from.isCluster === true ? edge.toId : edge.fromId; |
|
|
|
|
|
var deleteEdge = false; |
|
|
|
|
|
|
|
|
|
|
|
// search the contained edges for an edge that has a link to the targetNode
|
|
|
|
|
|
for (var edgeId2 in childEdgesObj) { |
|
|
|
|
|
if (childEdgesObj.hasOwnProperty(edgeId2)) { |
|
|
|
|
|
if (this.body.edges[edgeId2] !== undefined && edgeId2 !== edgeId) { |
|
|
|
|
|
var edge2 = this.body.edges[edgeId2]; |
|
|
|
|
|
if (edge2.fromId == target || edge2.toId == target) { |
|
|
|
|
|
deleteEdge = true; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// if we found the edge that will trigger the recreation of a new cluster edge on opening, we can delete this edge.
|
|
|
|
|
|
if (deleteEdge === true) { |
|
|
|
|
|
edge.edgeType.cleanup(); |
|
|
|
|
|
// this removes the edge from node.edges, which is why edgeIds is formed
|
|
|
|
|
|
edge.disconnect(); |
|
|
|
|
|
delete childEdgesObj[edgeId]; |
|
|
|
|
|
delete this.body.edges[edgeId]; |
|
|
|
|
|
} else { |
|
|
|
|
|
edge.togglePhysics(false); |
|
|
|
|
|
edge.options.hidden = true; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// if this is a cluster edge that is fully encompassed in the cluster, we want to delete it
|
|
|
|
|
|
// this check verifies that both of the connected nodes are in this cluster
|
|
|
|
|
|
if (edgeId.substr(0, 12) === 'clusterEdge:' && childNodesObj[edge.fromId] !== undefined && childNodesObj[edge.toId] !== undefined) { |
|
|
|
|
|
edge.edgeType.cleanup(); |
|
|
|
|
|
// this removes the edge from node.edges, which is why edgeIds is formed
|
|
|
|
|
|
edge.disconnect(); |
|
|
|
|
|
delete childEdgesObj[edgeId]; |
|
|
|
|
|
delete this.body.edges[edgeId]; |
|
|
} else { |
|
|
} else { |
|
|
edge.togglePhysics(false); |
|
|
edge.togglePhysics(false); |
|
|
edge.options.hidden = true; |
|
|
edge.options.hidden = true; |
|
|