| | |
| | | import React, { useRef, useEffect, useState } from "react"; |
| | | import { Button, Drawer, Input } from 'antd'; |
| | | |
| | | const { TextArea } = Input; |
| | | import { GraphDrawerNode } from "./Drawer/GraphDrawerNode"; |
| | | import { GraphDrawerEdge } from "./Drawer/GraphDrawerEdge"; |
| | | import { GraphDrawerCrn } from "./Drawer/GraphDrawerCrn"; |
| | | import { GraphDrawerDevp } from "./Drawer/GraphDrawerDevp"; |
| | | import { GraphDrawerShuttle } from "./Drawer/GraphDrawerShuttle"; |
| | | import { GraphDrawerLift } from "./Drawer/GraphDrawerLift"; |
| | | import './css/GrapDrawer.less'; |
| | | |
| | | export const GraphDrawer = ({ graphRef, isReady }) => { |
| | | |
| | | const [open, setOpen] = useState(false); |
| | | |
| | | const [init, setInit] = useState(false); |
| | | |
| | | const [nodeData, setNodeData] = useState(null); |
| | | |
| | | const [codeContent,setCodeContent] = useState(null); |
| | | |
| | | const showDrawer = (graph, node) => { |
| | | setOpen(true); |
| | | setNodeData(node); |
| | | }; |
| | | |
| | | const onClose = (e) => { |
| | | setOpen(false); |
| | | setNodeData(null); |
| | | console.log(codeContent); |
| | | }; |
| | | |
| | | const textAreaChange = (e) => { |
| | | setCodeContent(e.target.value); |
| | | } |
| | | |
| | | useEffect(() => { |
| | | if (isReady) { |
| | | const graph = graphRef.current; |
| | | |
| | | if (!init) { |
| | | graph.on("node:dblclick", ({ node }) => { |
| | | console.log(node); |
| | | showDrawer(graph, node); |
| | | }) |
| | | setInit(true); |
| | | } |
| | | } |
| | | }) |
| | | |
| | | if(nodeData){ |
| | | return ( |
| | | <> |
| | | <Drawer title={nodeData.label} onClose={onClose} open={open} size="large"> |
| | | <p>ID:{nodeData.id}</p> |
| | | <p>可执行代码:</p> |
| | | <TextArea onChange={textAreaChange} rows={10} /> |
| | | </Drawer> |
| | | </> |
| | | ); |
| | | } |
| | | return ( |
| | | <> |
| | | <GraphDrawerNode graphRef={graphRef} isReady={isReady} /> |
| | | <GraphDrawerEdge graphRef={graphRef} isReady={isReady} /> |
| | | <GraphDrawerCrn graphRef={graphRef} isReady={isReady} /> |
| | | <GraphDrawerDevp graphRef={graphRef} isReady={isReady} /> |
| | | <GraphDrawerShuttle graphRef={graphRef} isReady={isReady} /> |
| | | <GraphDrawerLift graphRef={graphRef} isReady={isReady} /> |
| | | </> |
| | | ); |
| | | } |