import React from 'react'; import { Navbar, Nav, NavItem, NavDropdown, MenuItem } from 'react-bootstrap'; import { app } from '../core/app'; import SearchBox from './search-box'; import { hasPerm, logout } from './session'; import { Fa } from '../components'; import { WORKSPACE_CHANGE } from '../core/actions'; import SessionUtils from './session-utils'; import './toolbar.less'; function userMenuSel(key) { switch (key) { case 'lang': app.dispatch('change-lang'); break; case 'ws': app.dispatch('open-ws-sel'); break; default: break; } } /** * The home page of the initialization module */ export default class Toolbar extends React.Component { constructor() { super(); this._onAppChange = this._onAppChange.bind(this); } componentDidMount() { app.add(this._onAppChange); } shouldComponentUpdate() { return false; } componentWillUnmount() { app.remove(this._onAppChange); } _onAppChange(action) { if (action === WORKSPACE_CHANGE) { this.forceUpdate(); } return null; } cmdLogout() { logout().then(() => app.goto('/pub/login')); } showAdmin() { return hasPerm('ADMIN') && !app.storage.state.app.clientMode; } goHome() { location.hash = SessionUtils.homeHash(); } render() { var Logo = ( ); const session = app.getState().session; const settings = ( ); const langName = app.getState().app.languages.find(item => item.id === app.getLang()).name; return ( {Logo} ); } }