UNPKG

@neo4j-nvl/layout-workers

Version:

Layout workers for the Neo4j Visualization Library

30 lines (29 loc) 718 B
import cytoscape from 'cytoscape'; import coseBilkent from 'cytoscape-cose-bilkent'; cytoscape.use(coseBilkent); const type = 'cose-bilkent'; export const layout = (elements, spacingFactor) => { const c = cytoscape({ headless: true, styleEnabled: false }); c.add(elements); const positions = {}; const cytoLayout = c.layout({ name: type, animate: false, spacingFactor, quality: 'default', tile: false, randomize: true, stop: () => { c.nodes().forEach((n) => { positions[n.id()] = { ...n.position() }; }); } }); cytoLayout.run(); return { positions }; };