UNPKG

react-toolbox-reactrouter-mocha-boilerplate

Version:

### Getting Started 1. Clone this repository 2. Run `npm install && npm start` 3. Visit `0.0.0.0:8080` in your browser

60 lines (50 loc) 1.61 kB
import React, {Component} from 'react'; import Drawer from 'react-toolbox/lib/drawer'; import Button from 'react-toolbox/lib/button'; import Navigation from 'react-toolbox/lib/navigation'; class MainDrawer extends Component { constructor(props, context) { super(props, context); context.router; console.log(context); this.handleRoute = this.handleRoute.bind(this); this.actions = [ { name: 'home', label: 'Home', raised: true, accent: true, icon: 'home', onClick:this.handleRoute}, { name: 'component1', label: 'Component1', raised: true, icon: 'save', onClick: this.handleRoute}, { name: 'component2', label: 'Component2', raised: true, icon: 'people', onClick: this.handleRoute}, ]; this.state = {active: false}; this.handleToggle = this.handleToggle.bind(this); } handleToggle() { this.setState({active: !this.state.active}); } handleRoute(options, callback) { if (options.target.name == 'home'){ this.context.router.push('/'); }else if (options.target.name == 'component1'){ this.context.router.push('/component1'); }else if (options.target.name == 'component2'){ this.context.router.push('/component2'); } } render () { return ( <div> <Button icon='menu' raised accent onClick={this.handleToggle} /> <Drawer active={this.state.active} onOverlayClick={this.handleToggle}> <Navigation type='horizontal' actions={this.actions} /> </Drawer> </div> ); } } MainDrawer.contextTypes = { router: React.PropTypes.object.isRequired }; export default MainDrawer;