import { React, useState } from "react"; // import { sqlDataTypes } from "../data/data"; import { IconEdit, IconPlus, IconMore, IconMinus } from "@douyinfe/semi-icons"; import { // Modal, // Form, // Checkbox, // Row, // Col, Popover, Tag, Button, } from "@douyinfe/semi-ui"; export default function Table(props) { const [isHovered, setIsHovered] = useState(false); const [hoveredField, setHoveredField] = useState(-1); // const [visible, setVisible] = useState(false); // const [editFieldVisible, setEditFieldVisible] = useState(-1); // const [field, setField] = useState({ // name: "", // type: "", // default: "", // primary: false, // unique: false, // notNull: false, // increment: false, // comment: "", // }); const height = props.tableData.fields.length * 36 + 50 + 3; return ( { setIsHovered(true); }} onMouseLeave={() => { setIsHovered(false); props.setOnRect({ tableId: -1, field: -2, }); }} >
{props.tableData.name}
{isHovered && (

Comment :{" "} {props.tableData.comment === "" ? "No comment" : props.tableData.comment}

Indices : {" "} {props.tableData.indices.length === 0 ? ( "No indices" ) : (

{props.tableData.indices.map((index, k) => (
{index.fields.map((f) => ( {f} ))}
))}
)}

} position="rightTop" showArrow trigger="click" >
)}
{props.tableData.fields.map((e, i) => { return (

{e.name}

{e.type}


{e.primary && ( Primary )} {e.unique && ( Unique )} {e.notNull && ( Not null )} {e.increment && ( Increment )}

Default :{" "} {e.default === "" ? "Not set" : e.default}

Comment :{" "} {e.comment === "" ? "Not comment" : e.comment}

} position="right" showArrow >
{ setHoveredField(i); props.setOnRect({ tableId: props.id, field: i, }); }} onMouseLeave={() => { setHoveredField(-1); }} >
{e.name}
{hoveredField === i ? ( ) : ( e.type )}
); })}
); }