'use strict'; const React = require('react'); const Router = require('react-router'); const Menu = require('./components/Menu'); const ErrorMessages = require('./components/ErrorMessages'); const initalizer = require('./stores/initalizer'); const FeatureToggleStore = require('./stores/FeatureToggleStore'); const StrategyStore = require('./stores/StrategyStore'); const ArchiveStore = require('./stores/ArchivedToggleStore'); const Link = Router.Link; const RouteHandler = Router.RouteHandler; const UnleashApp = React.createClass({ contextTypes: { router: React.PropTypes.func, }, getInitialState () { return { features: FeatureToggleStore.getFeatureToggles(), strategies: StrategyStore.getStrategies(), archivedFeatures: ArchiveStore.getArchivedToggles(), }; }, onFeatureToggleChange () { this.setState({ features: FeatureToggleStore.getFeatureToggles(), }); }, onStrategiesChange () { this.setState({ strategies: StrategyStore.getStrategies(), }); }, onArchiveChange () { this.setState({ archivedFeatures: ArchiveStore.getArchivedToggles(), }); }, componentDidMount () { this.unsubscribeFS = FeatureToggleStore.listen(this.onFeatureToggleChange); this.unsubscribeSS = StrategyStore.listen(this.onStrategiesChange); this.unsubscribeAS = ArchiveStore.listen(this.onArchiveChange); }, componentWillUnmount () { this.unsubscribeFS(); this.unsubscribeSS(); this.unsubscribeAS(); }, componentWillMount () { initalizer(30); }, renderLink (id, label) { return ( {label} ); }, render () { return (