diff --git a/src/components/control_panel.jsx b/src/components/control_panel.jsx index 40854d6..ea73bbf 100644 --- a/src/components/control_panel.jsx +++ b/src/components/control_panel.jsx @@ -1,5 +1,5 @@ import { React, useState } from "react"; -import menu from "./menu"; +import {menu} from "../data/data"; import { IconCaretUp, IconCaretDown, diff --git a/src/components/editor_panel.jsx b/src/components/editor_panel.jsx index 489d2e9..3ba8743 100644 --- a/src/components/editor_panel.jsx +++ b/src/components/editor_panel.jsx @@ -8,6 +8,7 @@ import Shape from "./shape"; import { saveAs } from "file-saver"; import html2canvas from "html2canvas"; import { Parser } from "node-sql-parser"; +import { Tabs } from "@douyinfe/semi-ui"; import "react-resizable/css/styles.css"; const myTheme = createTheme({ @@ -25,9 +26,32 @@ const myTheme = createTheme({ }); export default function EditorPanel(props) { - const [editor, setEditor] = useState(true); + const [tab, setTab] = useState(1); const map = useRef(new Map()); + const tabList = [ + { tab: "Overview", itemKey: 1 }, + { tab: "Shapes", itemKey: 2 }, + { tab: "Editor", itemKey: 3 }, + ]; + const contentList = [ +
Overview
, +
+ +
, +
+ { + props.setCode(e); + }} + /> +
, + ]; + return ( -
- -
+ {contentList[tab -1]} + + - {editor ? ( - { - props.setCode(e); - }} - /> - ) : ( - - )}
); diff --git a/src/components/menu.js b/src/components/menu.js deleted file mode 100644 index 526a611..0000000 --- a/src/components/menu.js +++ /dev/null @@ -1,59 +0,0 @@ -const menu = { - File: { - New: [], - "New window": [], - Save: [], - "Save as": [], - Share: [], - Rename: [], - Import: [], - "Export as": [".png", ".jpg", ".pdf", ".xml"], - "Export source": ["MySQL", "PostgreSQL", "DBML"], - Properties: [], - Close: [], - }, - Edit: { - Undo: [], - Redo: [], - Cut: [], - Copy: [], - "Copy as image": [], - Paste: [], - Delete: [], - "Edit table": [], - }, - View: { - Toolbar: [], - Grid: [], - Sidebar: [], - Editor: [], - "Reset view": [], - "View schema": [], - Theme: ["Light", "Dark"], - "Zoom in": [], - "Zoom out": [], - Fullscreen: [], - }, - Insert: { - "New table": [], - "New relationship": [], - Note: [], - Image: [], - Textbox: [], - Shape: ["Rhombus", "Rectangle"], - }, - Logs: { - "Open logs": [], - "Commit changes": [], - "Revert changes": [], - "View commits": [], - }, - Help: { - Shortcuts: [], - "Ask us on discord": [], - "Tweet us": [], - "Found a bug": [], - }, -}; - -export default menu; diff --git a/src/components/sql_types.js b/src/components/sql_types.js deleted file mode 100644 index aebd37c..0000000 --- a/src/components/sql_types.js +++ /dev/null @@ -1,27 +0,0 @@ -const sqlDataTypes = [ - "INT", - "SMALLINT", - "BIGINT", - "DECIMAL", - "NUMERIC", - "FLOAT", - "REAL", - "DOUBLE PRECISION", - "CHAR", - "VARCHAR", - "TEXT", - "DATE", - "TIME", - "TIMESTAMP", - "INTERVAL", - "BOOLEAN", - "BINARY", - "VARBINARY", - "BLOB", - "CLOB", - "UUID", - "XML", - "JSON", -]; - -export default sqlDataTypes; diff --git a/src/components/table.jsx b/src/components/table.jsx index 8ec4b5c..617a1ab 100644 --- a/src/components/table.jsx +++ b/src/components/table.jsx @@ -1,5 +1,5 @@ import { React, useState } from "react"; -import sqlDataTypes from "./sql_types"; +import {sqlDataTypes} from "../data/data"; import { IconEdit, IconDelete, @@ -16,7 +16,6 @@ import { Tag, Popconfirm, Toast, - SideSheet, } from "@douyinfe/semi-ui"; export default function Table(props) { @@ -24,7 +23,6 @@ export default function Table(props) { const [hoveredField, setHoveredField] = useState(-1); const [name, setName] = useState(props.tableData.name); const [visible, setVisible] = useState(false); - const [sideSheetOn, setSideSheetOn] = useState(false); const [editFieldVisible, setEditFieldVisible] = useState(-1); const [field, setField] = useState({ @@ -139,7 +137,7 @@ export default function Table(props) {
@@ -475,11 +473,6 @@ export default function Table(props) { - setSideSheetOn - (false)}> -

This is the content of a basic sidesheet.

-

Here is more content...

-
); } diff --git a/src/data/data.js b/src/data/data.js new file mode 100644 index 0000000..20f712a --- /dev/null +++ b/src/data/data.js @@ -0,0 +1,87 @@ +const menu = { + File: { + New: [], + "New window": [], + Save: [], + "Save as": [], + Share: [], + Rename: [], + Import: [], + "Export as": [".png", ".jpg", ".pdf", ".xml"], + "Export source": ["MySQL", "PostgreSQL", "DBML"], + Properties: [], + Close: [], + }, + Edit: { + Undo: [], + Redo: [], + Cut: [], + Copy: [], + "Copy as image": [], + Paste: [], + Delete: [], + "Edit table": [], + }, + View: { + Toolbar: [], + Grid: [], + Sidebar: [], + Editor: [], + "Reset view": [], + "View schema": [], + Theme: ["Light", "Dark"], + "Zoom in": [], + "Zoom out": [], + Fullscreen: [], + }, + Insert: { + "New table": [], + "New relationship": [], + Note: [], + Image: [], + Textbox: [], + Shape: ["Rhombus", "Rectangle"], + }, + Logs: { + "Open logs": [], + "Commit changes": [], + "Revert changes": [], + "View commits": [], + }, + Help: { + Shortcuts: [], + "Ask us on discord": [], + "Tweet us": [], + "Found a bug": [], + }, +}; + +const sqlDataTypes = [ + "INT", + "SMALLINT", + "BIGINT", + "DECIMAL", + "NUMERIC", + "FLOAT", + "REAL", + "DOUBLE PRECISION", + "CHAR", + "VARCHAR", + "TEXT", + "DATE", + "TIME", + "TIMESTAMP", + "INTERVAL", + "BOOLEAN", + "BINARY", + "VARBINARY", + "BLOB", + "CLOB", + "UUID", + "XML", + "JSON", + ]; + + +export {menu, sqlDataTypes}; + \ No newline at end of file