From 31ae83addd932ea7c0e0a7112d26fe2fec8ea2fe Mon Sep 17 00:00:00 2001 From: 1ilit Date: Tue, 19 Sep 2023 15:47:28 +0300 Subject: [PATCH] add popovers to fields --- src/components/rect.jsx | 120 +++++++++++++++++++++++++++------------- 1 file changed, 83 insertions(+), 37 deletions(-) diff --git a/src/components/rect.jsx b/src/components/rect.jsx index 0cd34c1..acdbd04 100644 --- a/src/components/rect.jsx +++ b/src/components/rect.jsx @@ -6,7 +6,15 @@ import { IconPlus, IconMinus, } from "@douyinfe/semi-icons"; -import { Modal, Form, Checkbox, Row, Col } from "@douyinfe/semi-ui"; +import { + Modal, + Form, + Checkbox, + Row, + Col, + Popover, + Tag, +} from "@douyinfe/semi-ui"; const Rect = (props) => { const [node, setNode] = useState(Node.NONE); @@ -63,7 +71,7 @@ const Rect = (props) => { { name: "name", type: "varchar(20)", - default: "n/a", + default: "", primary: false, unique: false, notNull: true, @@ -136,44 +144,82 @@ const Rect = (props) => { {fields.map((e, i) => { return ( -
{ - setHoveredField(i); - }} - onMouseLeave={() => { - setHoveredField(-1); - }} - > -
{e.name}
-
- {hoveredField === i ? ( -
- - + content={ +
+
+

{e.name}

+

{e.type}

- ) : ( - e.type - )} +
+ {e.primary && ( + + Primary + + )} + {e.unique && ( + + Unique + + )} + {e.notNull && ( + + Not null + + )} + {e.increment && ( + + Not null + + )} +

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

+
+ } + position="right" + showArrow + > +
{ + setHoveredField(i); + }} + onMouseLeave={() => { + setHoveredField(-1); + }} + > +
{e.name}
+
+ {hoveredField === i ? ( +
+ + +
+ ) : ( + e.type + )} +
-
+ ); })}