cytoscape.js-expand-collapse icon indicating copy to clipboard operation
cytoscape.js-expand-collapse copied to clipboard

Node and edge collapse do not work together

Open ugurdogrusoz opened this issue 4 years ago • 3 comments

  • Construct a graph with 2 compounds and 2 inter-graph edges between the same source-target in these compound nodes
  • Collapse the inter-graph edges into a meta edge m1
  • Now collapse one of the compound nodes (this will create a new meta edge m2 which represents m1)
  • Expand the meta edge m2 We get an exception.

When we do this in reverse order, collapse the compound first and then collapse inter-graph meta edges, we might have similar problems.

ugurdogrusoz avatar Jun 10 '20 09:06 ugurdogrusoz

I also observed this. Probably the reason is when a compound node is collapsed, its children are removed from cy.

When we expand a meta edge, source or target of an edge might be inside a compound node. In this case, since source or target of an edge won't be found, cytoscape.js gives an error.

c8ERNCijiY

below are my error logs.

core.js:6228 ERROR Error: Can not create edge e1630253 with nonexistant source n1 at error (cytoscape.cjs.js:828) at Collection.push../node_modules/cytoscape/dist/cytoscape.cjs.js.elesfn$u.restore (cytoscape.cjs.js:12962) at Core.add (cytoscape.cjs.js:13356) at Object.expandEdge (expandCollapseUtilities.js:782) at index.js:248 at Element.forEach (cytoscape.cjs.js:11196) at Object.api.expandEdges (index.js:247)

canbax avatar Jun 11 '20 13:06 canbax

any updates?

gabrywu avatar Dec 31 '21 06:12 gabrywu

any updates?

It is about user behavior. You should not let the user expand such an edge.

canbax avatar Dec 31 '21 06:12 canbax