import React, { Component, PropTypes } from 'react'; import { connect } from 'react-redux'; import { logoutUser } from 'redux/nodes/auth/actions'; import { push } from 'react-router-redux'; import configInterface from 'interfaces/config'; import SiteNavHeader from 'components/side_panels/SiteNavHeader'; import SiteNavSidePanel from 'components/side_panels/SiteNavSidePanel'; import userInterface from 'interfaces/user'; export class CoreLayout extends Component { static propTypes = { children: PropTypes.node, config: configInterface, dispatch: PropTypes.func, user: userInterface, }; onLogoutUser = () => { const { dispatch } = this.props; dispatch(logoutUser()); return false; } onNavItemClick = (path) => { return (evt) => { evt.preventDefault(); const { dispatch } = this.props; dispatch(push(path)); return false; }; } render () { const { children, config, user } = this.props; if (!user) return false; const { onLogoutUser, onNavItemClick } = this; const { pathname } = global.window.location; return (