preview-flow.tsx 664 B

123456789101112131415161718192021222324
  1. import { IFlowData } from '@/types/flow';
  2. import { mapUnderlineToHump } from '@/utils/flow';
  3. import React from 'react';
  4. import ReactFlow, { Background } from 'reactflow';
  5. import 'reactflow/dist/style.css';
  6. import ButtonEdge from './button-edge';
  7. const PreviewFlow: React.FC<{ flowData: IFlowData; minZoom?: number }> = ({ flowData, minZoom }) => {
  8. const data = mapUnderlineToHump(flowData);
  9. return (
  10. <ReactFlow
  11. nodes={data.nodes}
  12. edges={data.edges}
  13. edgeTypes={{ buttonedge: ButtonEdge }}
  14. fitView
  15. minZoom={minZoom || 0.1}
  16. >
  17. <Background color='#aaa' gap={16} />
  18. </ReactFlow>
  19. );
  20. };
  21. export default PreviewFlow;