@neo4j-nvl/layout-workers
Version:
Layout workers for the Neo4j Visualization Library
30 lines (29 loc) • 718 B
JavaScript
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
};
};