UNPKG

make-shift-brew-ui

Version:

Common User Interface for the Brewfactory projects, modified for MakeShift Aleworks

88 lines (72 loc) 1.77 kB
/* jshint ignore:start */ var React = require('react/addons'); var ActualBrew = require('./ActualBrew.jsx'); var Brewer = require('./Brewer.jsx'); var BrewPhase = require('./BrewPhase.jsx'); var BrewerControl = require('./BrewerControl.jsx'); var Dashboard = React.createClass({ /* * Get initial state * * @method getInitialState * @return {Object} state */ getInitialState: function () { this.store = this.props.context.getStore('BrewStore'); return this.store.getState(); }, /* * Component did mount * * @method componentDidMount */ componentDidMount: function () { this.store.on('change', this._onChange); }, /* * Component will unmount * * @method componentWillUnmount */ componentWillUnmount: function () { this.store.removeListener('change', this._onChange); }, /** * Event handler for 'change' events coming from the Store * * @method _onChange; */ _onChange: function() { var state = this.store.getState(); this.setState(state); }, /* * Render * * @method render */ render: function () { var brew = this.state.brew; return ( <section> <div className="row"> <div className="col-md-12"> <BrewPhase brew={brew} /> </div> </div> <div className="row"> </div> <div className="row"> <div className="col-md-8"> <ActualBrew context={this.props.context} brew={brew} /> </div> <div className="col-md-4"> <Brewer context={this.props.context} /> <BrewerControl brew={brew} context={this.props.context} /> </div> </div> </section> ); } }); module.exports = Dashboard;