import React, { useState, createContext, useEffect } from "react"; import Sidebar from "../components/sidebar"; import ControlPanel from "../components/control_panel"; import { DndProvider } from "react-dnd"; import { HTML5Backend } from "react-dnd-html5-backend"; import Canvas from "../components/canvas"; import EditorPanel from "../components/editor_panel"; import { Tab } from "../data/data"; export const LayoutContext = createContext(); export const TableContext = createContext(); export const AreaContext = createContext(); export const TabContext = createContext(); export default function Editor(props) { const [code, setCode] = useState(""); const [tables, setTables] = useState([]); const [relationships, setRelationships] = useState([]); const [areas, setAreas] = useState([]); const [resize, setResize] = useState(false); const [width, setWidth] = useState(340); const [selectedTable, setSelectedTable] = useState(""); const [tab, setTab] = useState(Tab.tables); const [layout, setLayout] = useState({ header: true, sidebar: true, services: true, tables: true, areas: true, relationships: true, issues: true, editor: true, shapes: true, fullscreen: false, }); const dragHandler = (e) => { if (!resize) return; const w = e.clientX; if (w > 340) setWidth(w); }; useEffect(() => { document.title = "Editor"; }, []); return (
setResize(false)} onMouseMove={dragHandler} > {layout.sidebar && ( )} {layout.services && }
); }