Fix Poll fetchPoll action not being debounced. (#13485)
* Fix Poll fetchPoll action not being debounced. * Fix unused import in the Poll component
This commit is contained in:
		
					parent
					
						
							
								04c8d825f6
							
						
					
				
			
			
				commit
				
					
						ab8d7c0680
					
				
			
		
					 2 changed files with 17 additions and 3 deletions
				
			
		|  | @ -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'; | ||||
|  | @ -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 '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); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue