import { React, useState } from "react"; import Node from "./node"; import { Button } from "@arco-design/web-react"; const Rect = (props) => { const [isHovered, setIsHovered] = useState(false); const [node, setNode] = useState(Node.NONE); return ( { setIsHovered(true); props.setOnRect(true); }} onMouseLeave={() => { setIsHovered(false); props.setOnRect(false); }} >
{props.label}
e.preventDefault()}>
{ setNode(Node.TOP); props.setLinks([ ...props.links, { rect: props.id, node: Node.TOP, x: props.x + props.width / 2, y: props.y, }, ]); }} style={{ fill: node === Node.TOP ? "green" : "black" }} /> { setNode(Node.LEFT); props.setLinks([ ...props.links, { rect: props.id, node: Node.LEFT, x: props.x, y: props.y + props.height / 2, }, ]); }} style={{ fill: node === Node.LEFT ? "green" : "black" }} /> { setNode(Node.RIGHT); props.setLinks([ ...props.links, { rect: props.id, node: Node.RIGHT, x: props.x + props.width, y: props.y + props.height / 2, }, ]); }} style={{ fill: node === Node.RIGHT ? "green" : "black" }} /> { setNode(Node.BOTTOM); props.setLinks([ ...props.links, { rect: props.id, node: Node.BOTTOM, x: props.x + props.width / 2, y: props.y + props.height, }, ]); }} style={{ fill: node === Node.BOTTOM ? "green" : "black" }} />
); }; export default Rect;