UNPKG

nyx_server

Version:

Node内容发布

62 lines (57 loc) 1.71 kB
import React from 'react'; import { Row, Col} from 'antd'; import ProjectsContainer from './ProjectsContainer'; import UserinfoContainer from './UserinfoContainer'; import store from '../store'; import { getProjectsAsync, getProjectAsync, setCurrentProject, getTemplatesDataIds, getChipsDataIds, setUserinfo } from '../actions/Project'; const getDatefromLocalStorage = function (id) { if (window.localStorage) { return JSON.parse(window.localStorage.getItem(id) || '{}'); } else { return {}; } }; const getProjectName = function () { var path = window.location.pathname; if (path.indexOf('/manage/server/project/') >=0 && path.split('/').length >= 6) { return path.split('/')[4]; } else { return null; } }; export default class Layout extends React.Component { componentDidMount() { store.dispatch(getProjectsAsync()); var projectName = getProjectName(); if (projectName) { store.dispatch(getProjectAsync(projectName)); store.dispatch(setCurrentProject(projectName)); } store.dispatch(getTemplatesDataIds(getDatefromLocalStorage('nyxTemplatesDataIds'))); store.dispatch(getChipsDataIds(getDatefromLocalStorage('nyxChipsDataIds'))); } render() { return ( <div> <header className='nyx-header'> <h1>NYX 服务端管理系统</h1> <div><UserinfoContainer /></div> </header> <div className="nyx-layout-wrapper"> <aside className="nyx-layout-aside"> <ProjectsContainer /> </aside> <section className="nyx-layout-main"> {this.props.children} </section> </div> </div> ); } }