kibana-with-account
Version:
kibana-with-account is develop based kibana project
95 lines (80 loc) • 2.71 kB
JSX
var React = require('react/addons');
var ReactRouter = require('react-router');
var ClassNames = require('classnames');
var Link = ReactRouter.Link;
var Component = React.createClass({
contextTypes: {
router: React.PropTypes.func
},
getInitialState: function () {
return {
navBarOpen: false
};
},
componentWillReceiveProps: function () {
this.setState({navBarOpen: false});
},
isNavActive: function (routes) {
return ClassNames({
active: routes.some(function (route) {
return this.context.router.isActive(route);
}.bind(this))
});
},
toggleMenu: function () {
this.setState({navBarOpen: !this.state.navBarOpen});
},
render: function () {
var navBarCollapse = ClassNames({
'navbar-collapse': true,
collapse: !this.state.navBarOpen
});
return (
<div className="navbar navbar-inverse navbar-fixed-top">
<div className="container">
<div className="navbar-header">
<a className="navbar-brand" href="/">
<img
className="navbar-logo"
src="/bundles/public/media/logo-pingan-inverse.png"
/>
<span className="navbar-brand-label">pingan-kibana</span>
</a>
<button
className="navbar-toggle collapsed"
onClick={this.toggleMenu}>
<span className="icon-bar"></span>
<span className="icon-bar"></span>
<span className="icon-bar"></span>
</button>
</div>
<div className={navBarCollapse}>
<ul className="nav navbar-nav">
<li className={this.isNavActive(['admins', 'adminDetails'])}>
<Link to="admins">Admins</Link>
</li>
<li className={this.isNavActive(['adminGroups', 'adminGroupDetails'])}>
<Link to="adminGroups">Admin Groups</Link>
</li>
<li className={this.isNavActive(['userRequest', 'userRequestDetails'])}>
<Link to="userRequest">UserRequest</Link>
</li>
<li className={this.isNavActive(['users', 'userDetails'])}>
<Link to="users">Users</Link>
</li>
<li className={this.isNavActive(['userGroups', 'userGroupDetails'])}>
<Link to="userGroups">UserGroup</Link>
</li>
</ul>
<ul className="nav navbar-nav navbar-right">
<li>
<a href="/login/logout">Sign out</a>
</li>
</ul>
</div>
</div>
</div>
);
}
});
module.exports = Component;