mirror of
https://github.com/funamitech/mastodon
synced 2024-12-02 08:48:39 +09:00
[Glitch] Fix Poll fetchPoll action not being debounced.
Port ab8d7c0680
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
This commit is contained in:
parent
81e49ba5c6
commit
4849752a9c
@ -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 'flavours/glitch/actions/polls';
|
||||
import { vote } from 'flavours/glitch/actions/polls';
|
||||
import Motion from 'flavours/glitch/util/optional_motion';
|
||||
import spring from 'react-motion/lib/spring';
|
||||
import escapeTextContentForBrowser from 'escape-html';
|
||||
@ -30,6 +30,7 @@ class Poll extends ImmutablePureComponent {
|
||||
intl: PropTypes.object.isRequired,
|
||||
dispatch: PropTypes.func,
|
||||
disabled: PropTypes.bool,
|
||||
refresh: PropTypes.func,
|
||||
};
|
||||
|
||||
state = {
|
||||
@ -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) {
|
||||
|
@ -1,8 +1,21 @@
|
||||
import { connect } from 'react-redux';
|
||||
import { debounce } from 'lodash';
|
||||
|
||||
import Poll from 'flavours/glitch/components/poll';
|
||||
import { fetchPoll } from 'flavours/glitch/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);
|
||||
|
Loading…
Reference in New Issue
Block a user