1
0
Fork 1
forked from fedi/mastodon
mastodon/app/assets/javascripts/components/containers/compose_form_container.jsx

43 lines
1.1 KiB
React
Raw Normal View History

2016-08-31 20:58:10 +00:00
import { connect } from 'react-redux';
import ComposeForm from '../components/compose_form';
2016-08-31 20:58:10 +00:00
import { changeCompose, submitCompose, cancelReplyCompose } from '../actions/compose';
function selectStatus(state) {
let statusId = state.getIn(['compose', 'in_reply_to'], null);
if (statusId === null) {
return null;
}
let status = state.getIn(['timelines', 'statuses', statusId]);
status = status.set('account', state.getIn(['timelines', 'accounts', status.get('account')]));
return status;
};
const mapStateToProps = function (state, props) {
return {
text: state.getIn(['compose', 'text']),
2016-08-31 20:58:10 +00:00
is_submitting: state.getIn(['compose', 'is_submitting']),
in_reply_to: selectStatus(state)
};
};
const mapDispatchToProps = function (dispatch) {
return {
onChange: function (text) {
dispatch(changeCompose(text));
},
onSubmit: function () {
dispatch(submitCompose());
2016-08-31 20:58:10 +00:00
},
onCancelReply: function () {
dispatch(cancelReplyCompose());
}
}
};
export default connect(mapStateToProps, mapDispatchToProps)(ComposeForm);