Skip to content

Commit

Permalink
Fix Poll fetchPoll action not being debounced. (#13485)
Browse files Browse the repository at this point in the history
* Fix Poll fetchPoll action not being debounced.

* Fix unused import in the Poll component
  • Loading branch information
rasjonell committed Apr 16, 2020
1 parent 04c8d82 commit ab8d7c0
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
5 changes: 3 additions & 2 deletions app/javascript/mastodon/components/poll.js
Expand Up @@ -4,7 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import classNames from 'classnames';
import { vote, fetchPoll } from 'mastodon/actions/polls';
import { vote } from 'mastodon/actions/polls';
import Motion from 'mastodon/features/ui/util/optional_motion';
import spring from 'react-motion/lib/spring';
import escapeTextContentForBrowser from 'escape-html';
Expand All @@ -30,6 +30,7 @@ class Poll extends ImmutablePureComponent {
intl: PropTypes.object.isRequired,
dispatch: PropTypes.func,
disabled: PropTypes.bool,
refresh: PropTypes.func,
};

state = {
Expand Down Expand Up @@ -108,7 +109,7 @@ class Poll extends ImmutablePureComponent {
return;
}

this.props.dispatch(fetchPoll(this.props.poll.get('id')));
this.props.refresh();
};

renderOption (option, optionIndex, showResults) {
Expand Down
15 changes: 14 additions & 1 deletion app/javascript/mastodon/containers/poll_container.js
@@ -1,8 +1,21 @@
import { connect } from 'react-redux';
import { debounce } from 'lodash';

import Poll from 'mastodon/components/poll';
import { fetchPoll } from 'mastodon/actions/polls';

const mapDispatchToProps = (dispatch, { pollId }) => ({
refresh: debounce(
() => {
dispatch(fetchPoll(pollId));
},
1000,
{ leading: true },
),
});

const mapStateToProps = (state, { pollId }) => ({
poll: state.getIn(['polls', pollId]),
});

export default connect(mapStateToProps)(Poll);
export default connect(mapStateToProps, mapDispatchToProps)(Poll);

0 comments on commit ab8d7c0

Please sign in to comment.