import CytoscapeComponent from "react-cytoscapejs"; import cytoscape from "cytoscape"; import dagre from "cytoscape-dagre"; import { useMemo } from "react"; cytoscape.use(dagre); type Catalog = Record; export default function Graph({ catalog }: { catalog: Catalog }) { const elements = useMemo(() => { const els: any[] = []; Object.keys(catalog).forEach(id => { els.push({ data: { id } }); catalog[id].forEach(p => els.push({ data: { id: `${p}->${id}`, source: p, target: id } }) ); }); return els; }, [catalog]); return ( ); }