From 91c79f2445a10d0f43254fc44656152ae88fd9cd Mon Sep 17 00:00:00 2001 From: Kibigo Date: Wed, 1 Mar 2017 02:56:15 -0800 Subject: Better smart/dumb component separation --- .../components/features/compose/components/compose_form.jsx | 6 ++++++ .../features/compose/containers/compose_form_container.jsx | 5 +++++ 2 files changed, 11 insertions(+) (limited to 'app/assets/javascripts/components/features') diff --git a/app/assets/javascripts/components/features/compose/components/compose_form.jsx b/app/assets/javascripts/components/features/compose/components/compose_form.jsx index 31ae8e034..a71f5b0fd 100644 --- a/app/assets/javascripts/components/features/compose/components/compose_form.jsx +++ b/app/assets/javascripts/components/features/compose/components/compose_form.jsx @@ -47,6 +47,7 @@ const ComposeForm = React.createClass({ onFetchSuggestions: React.PropTypes.func.isRequired, onSuggestionSelected: React.PropTypes.func.isRequired, onChangeSpoilerText: React.PropTypes.func.isRequired, + onPaste: React.PropTypes.func.isRequired, }, mixins: [PureRenderMixin], @@ -82,6 +83,10 @@ const ComposeForm = React.createClass({ this.props.onChangeSpoilerText(e.target.value); }, + onPaste (files) { + this.props.onPaste(files); + }, + componentDidUpdate (prevProps) { if (this.props.focusDate !== prevProps.focusDate) { // If replying to zero or one users, places the cursor at the end of the textbox. @@ -149,6 +154,7 @@ const ComposeForm = React.createClass({ onSuggestionsFetchRequested={this.onSuggestionsFetchRequested} onSuggestionsClearRequested={this.onSuggestionsClearRequested} onSuggestionSelected={this.onSuggestionSelected} + onPaste={this.onPaste} />
diff --git a/app/assets/javascripts/components/features/compose/containers/compose_form_container.jsx b/app/assets/javascripts/components/features/compose/containers/compose_form_container.jsx index 53129af6e..a34201747 100644 --- a/app/assets/javascripts/components/features/compose/containers/compose_form_container.jsx +++ b/app/assets/javascripts/components/features/compose/containers/compose_form_container.jsx @@ -1,5 +1,6 @@ import { connect } from 'react-redux'; import ComposeForm from '../components/compose_form'; +import { uploadCompose } from '../../../actions/compose'; import { createSelector } from 'reselect'; import { changeCompose, @@ -65,6 +66,10 @@ const mapDispatchToProps = (dispatch) => ({ dispatch(changeComposeSpoilerText(checked)); }, + onPaste (files) { + dispatch(uploadCompose(files)); + }, + }); export default connect(mapStateToProps, mapDispatchToProps)(ComposeForm); -- cgit