|
|
|
@ -17,7 +17,7 @@
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
import React from "react";
|
|
|
|
|
import {Layout, Menu, Icon} from 'antd';
|
|
|
|
|
import {Layout, Menu, Icon, Typography} from 'antd';
|
|
|
|
|
import {Switch, Link} from "react-router-dom";
|
|
|
|
|
import RouteWithSubRoutes from "../../components/RouteWithSubRoutes"
|
|
|
|
|
import {Redirect} from 'react-router'
|
|
|
|
@ -25,9 +25,10 @@ import "../../App.css";
|
|
|
|
|
import {withConfigContext} from "../../context/ConfigContext";
|
|
|
|
|
import Logout from "./Logout/Logout";
|
|
|
|
|
|
|
|
|
|
const {Header, Content, Footer} = Layout;
|
|
|
|
|
const {Header, Content, Footer, Sider} = Layout;
|
|
|
|
|
const {SubMenu} = Menu;
|
|
|
|
|
|
|
|
|
|
const {Title} = Typography;
|
|
|
|
|
|
|
|
|
|
class Dashboard extends React.Component {
|
|
|
|
|
constructor(props) {
|
|
|
|
@ -35,29 +36,67 @@ class Dashboard extends React.Component {
|
|
|
|
|
this.state = {
|
|
|
|
|
routes: props.routes,
|
|
|
|
|
selectedKeys: [],
|
|
|
|
|
deviceTypes: []
|
|
|
|
|
deviceTypes: [],
|
|
|
|
|
isNavBarCollapsed: false,
|
|
|
|
|
};
|
|
|
|
|
this.logo = this.props.context.theme.logo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
toggle = () => {
|
|
|
|
|
this.setState({
|
|
|
|
|
isNavBarCollapsed: !this.state.isNavBarCollapsed,
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
render() {
|
|
|
|
|
return (
|
|
|
|
|
<div>
|
|
|
|
|
<Layout className="layout" >
|
|
|
|
|
<Header style={{paddingLeft: 0, paddingRight: 0}}>
|
|
|
|
|
<Sider
|
|
|
|
|
trigger={null}
|
|
|
|
|
collapsible
|
|
|
|
|
collapsed={this.state.isNavBarCollapsed}>
|
|
|
|
|
<div className="logo-image">
|
|
|
|
|
<img alt="logo" src={this.logo}/>
|
|
|
|
|
<span className="brand">Entgra</span>
|
|
|
|
|
</div>
|
|
|
|
|
<Menu theme="dark" mode="inline" defaultSelectedKeys={['devices']}>
|
|
|
|
|
<Menu.Item key="devices">
|
|
|
|
|
<Link to="/entgra/devices">
|
|
|
|
|
<Icon type="appstore"/>
|
|
|
|
|
<span>Devices</span>
|
|
|
|
|
</Link>
|
|
|
|
|
</Menu.Item>
|
|
|
|
|
<Menu.Item key="geo">
|
|
|
|
|
<Link to="/entgra/geo">
|
|
|
|
|
<Icon type="environment"/>
|
|
|
|
|
<span>Geo</span>
|
|
|
|
|
</Link>
|
|
|
|
|
</Menu.Item>
|
|
|
|
|
<Menu.Item key="reports">
|
|
|
|
|
<Link to="/entgra/reports">
|
|
|
|
|
<Icon type="bar-chart"/>
|
|
|
|
|
<span>Reports</span>
|
|
|
|
|
</Link>
|
|
|
|
|
</Menu.Item>
|
|
|
|
|
</Menu>
|
|
|
|
|
</Sider>
|
|
|
|
|
<Layout>
|
|
|
|
|
<Header style={{background: '#fff', padding: 0}}>
|
|
|
|
|
<div className="trigger">
|
|
|
|
|
<Icon
|
|
|
|
|
type={this.state.isNavBarCollapsed ? 'menu-unfold' : 'menu-fold'}
|
|
|
|
|
onClick={this.toggle}
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<Menu
|
|
|
|
|
theme="light"
|
|
|
|
|
mode="horizontal"
|
|
|
|
|
defaultSelectedKeys={['1']}
|
|
|
|
|
style={{lineHeight: '64px'}}
|
|
|
|
|
>
|
|
|
|
|
<Menu.Item key="devices"><Link to="/entgra/devices"><Icon type="appstore"/>Devices</Link></Menu.Item>
|
|
|
|
|
<Menu.Item key="geo"><Link to="/entgra/geo"><Icon type="environment"/>Geo</Link></Menu.Item>
|
|
|
|
|
<Menu.Item key="reports"><Link to="/entgra/reports"><Icon type="bar-chart"/>Reports</Link></Menu.Item>
|
|
|
|
|
<Menu.Item key="trigger">
|
|
|
|
|
|
|
|
|
|
</Menu.Item>
|
|
|
|
|
<SubMenu className="profile"
|
|
|
|
|
title={
|
|
|
|
|
<span className="submenu-title-wrapper">
|
|
|
|
@ -70,10 +109,7 @@ class Dashboard extends React.Component {
|
|
|
|
|
</SubMenu>
|
|
|
|
|
|
|
|
|
|
</Menu>
|
|
|
|
|
|
|
|
|
|
</Header>
|
|
|
|
|
</Layout>
|
|
|
|
|
<Layout>
|
|
|
|
|
<Content style={{marginTop: 2}}>
|
|
|
|
|
<Switch>
|
|
|
|
|
<Redirect exact from="/entgra" to="/entgra/devices"/>
|
|
|
|
@ -86,6 +122,7 @@ class Dashboard extends React.Component {
|
|
|
|
|
©2019 entgra.io
|
|
|
|
|
</Footer>
|
|
|
|
|
</Layout>
|
|
|
|
|
</Layout>
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|