import React, { useEffect } from "react";
import { Input, Layout, Tabs, ConfigProvider, Spin } from "antd";
import type { TabsProps } from "antd/lib";
import Toolbar from "./components/Toolbar";
import TablePanel from "./components/TablePanel";
import RelationPanel from "./components/RelationPanel";
import ThemePanel from "./components/ThemePanel";
import RemarkPanel from "./components/RemarkPanel";
import Navigator from "./components/Navigator";
import Menu from "./components/Menu";
import { useModel, useRequest, useParams } from "umi";
import "./index.less";
import { useSessionStorageState } from "ahooks";
import { EnvironmentOutlined, FullscreenExitOutlined, UnorderedListOutlined } from "@ant-design/icons";
import { GetDataModelDetail } from "@/api";
const { Header, Content, Sider } = Layout;
const App: React.FC = () => {
const containerRef = React.useRef(null);
const { initGraph, project, playModeEnable, exitPlayMode, setProject } =
useModel("erModel");
const [tabActiveKey, setTabActiveKey] = useSessionStorageState(
"tabs-active-key",
{
defaultValue: "1",
listenStorageChange: true,
}
);
const [show, setShow] = useSessionStorageState('show-navigator');
const params = useParams();
const { run, loading } = useRequest(GetDataModelDetail, {
manual: true,
onSuccess: (res) => {
console.log("模型详情:", res);
const result = res?.result;
if (result) {
setProject(
result,
false,
true
);
}
},
});
useEffect(() => {
if (containerRef.current) {
initGraph(containerRef.current);
}
if(!project.id && params?.id) {
run({
id: params.id
});
}
}, []);
const tabItems: TabsProps["items"] = [
{
key: "1",
label: "表",
children: ,
},
{
key: "2",
label: "关系",
children: ,
},
{
key: "3",
label: "主题区域",
children: ,
},
{
key: "4",
label: "注释",
children: ,
},
];
return (
{!playModeEnable && (
)}
{!playModeEnable && (
)}
{
playModeEnable &&
setShow(!show)}/>
exitPlayMode()}
>
}
);
};
export default App;