hometown/app/assets/javascripts/components/features/compose/index.jsx

47 lines
1.3 KiB
React
Raw Normal View History

import Drawer from './components/drawer';
import ComposeFormContainer from './containers/compose_form_container';
import UploadFormContainer from './containers/upload_form_container';
import NavigationContainer from './containers/navigation_container';
import PureRenderMixin from 'react-addons-pure-render-mixin';
2016-10-15 10:06:30 +00:00
import SuggestionsContainer from './containers/suggestions_container';
import SearchContainer from './containers/search_container';
2016-10-15 10:06:30 +00:00
import { fetchSuggestions } from '../../actions/suggestions';
import { connect } from 'react-redux';
import { mountCompose, unmountCompose } from '../../actions/compose';
const Compose = React.createClass({
2016-10-15 10:06:30 +00:00
propTypes: {
dispatch: React.PropTypes.func.isRequired
},
mixins: [PureRenderMixin],
2016-10-15 10:06:30 +00:00
componentDidMount () {
this.props.dispatch(mountCompose());
2016-10-15 10:06:30 +00:00
this.props.dispatch(fetchSuggestions());
},
componentWillUnmount () {
this.props.dispatch(unmountCompose());
},
render () {
return (
<Drawer>
<div style={{ flex: '1 1 auto' }}>
2016-11-13 12:04:18 +00:00
<SearchContainer />
<NavigationContainer />
<ComposeFormContainer />
<UploadFormContainer />
</div>
2016-10-15 10:06:30 +00:00
<SuggestionsContainer />
</Drawer>
);
}
});
2016-10-15 10:06:30 +00:00
export default connect()(Compose);