import React, { useCallback } from 'react';
import ReactFlow, {
ReactFlowProvider,
useNodesState,
useEdgesState,
useReactFlow,
} from 'reactflow';
import { initialNodes, initialEdges } from './nodes-edges.js';
import 'reactflow/dist/style.css';
const getLayoutedElements = (nodes, edges) => {
return { nodes, edges };
};
const LayoutFlow = () => {
const { fitView } = useReactFlow();
const [nodes, setNodes, onNodesChange] = useNodesState(initialNodes);
const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges);
const onLayout = useCallback(() => {
const layouted = getLayoutedElements(nodes, edges);
setNodes([...layouted.nodes]);
setEdges([...layouted.edges]);
window.requestAnimationFrame(() => {
fitView();
});
}, [nodes, edges]);
return (
);
};
export default function () {
return (
);
}