This commit is contained in:
		
					parent
					
						
							
								a5293fdf61
							
						
					
				
			
			
				commit
				
					
						ad5d3134e4
					
				
			
		
					 1 changed files with 8 additions and 5 deletions
				
			
		|  | @ -162,12 +162,12 @@ class EmojiPickerMenu extends React.PureComponent { | ||||||
|   static defaultProps = { |   static defaultProps = { | ||||||
|     style: {}, |     style: {}, | ||||||
|     loading: true, |     loading: true, | ||||||
|     placement: 'bottom', |  | ||||||
|     frequentlyUsedEmojis: [], |     frequentlyUsedEmojis: [], | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   state = { |   state = { | ||||||
|     modifierOpen: false, |     modifierOpen: false, | ||||||
|  |     placement: null, | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   handleDocumentClick = e => { |   handleDocumentClick = e => { | ||||||
|  | @ -298,7 +298,7 @@ export default class EmojiPickerDropdown extends React.PureComponent { | ||||||
|     this.dropdown = c; |     this.dropdown = c; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   onShowDropdown = () => { |   onShowDropdown = ({ target }) => { | ||||||
|     this.setState({ active: true }); |     this.setState({ active: true }); | ||||||
| 
 | 
 | ||||||
|     if (!EmojiPicker) { |     if (!EmojiPicker) { | ||||||
|  | @ -313,6 +313,9 @@ export default class EmojiPickerDropdown extends React.PureComponent { | ||||||
|         this.setState({ loading: false }); |         this.setState({ loading: false }); | ||||||
|       }); |       }); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     const { top } = target.getBoundingClientRect(); | ||||||
|  |     this.setState({ placement: top * 2 < innerHeight ? 'bottom' : 'top' }); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   onHideDropdown = () => { |   onHideDropdown = () => { | ||||||
|  | @ -324,7 +327,7 @@ export default class EmojiPickerDropdown extends React.PureComponent { | ||||||
|       if (this.state.active) { |       if (this.state.active) { | ||||||
|         this.onHideDropdown(); |         this.onHideDropdown(); | ||||||
|       } else { |       } else { | ||||||
|         this.onShowDropdown(); |         this.onShowDropdown(e); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  | @ -346,7 +349,7 @@ export default class EmojiPickerDropdown extends React.PureComponent { | ||||||
|   render () { |   render () { | ||||||
|     const { intl, onPickEmoji, onSkinTone, skinTone, frequentlyUsedEmojis } = this.props; |     const { intl, onPickEmoji, onSkinTone, skinTone, frequentlyUsedEmojis } = this.props; | ||||||
|     const title = intl.formatMessage(messages.emoji); |     const title = intl.formatMessage(messages.emoji); | ||||||
|     const { active, loading } = this.state; |     const { active, loading, placement } = this.state; | ||||||
| 
 | 
 | ||||||
|     return ( |     return ( | ||||||
|       <div className='emoji-picker-dropdown' onKeyDown={this.handleKeyDown}> |       <div className='emoji-picker-dropdown' onKeyDown={this.handleKeyDown}> | ||||||
|  | @ -358,7 +361,7 @@ export default class EmojiPickerDropdown extends React.PureComponent { | ||||||
|           /> |           /> | ||||||
|         </div> |         </div> | ||||||
| 
 | 
 | ||||||
|         <Overlay show={active} placement='bottom' target={this.findTarget}> |         <Overlay show={active} placement={placement} target={this.findTarget}> | ||||||
|           <EmojiPickerMenu |           <EmojiPickerMenu | ||||||
|             custom_emojis={this.props.custom_emojis} |             custom_emojis={this.props.custom_emojis} | ||||||
|             loading={loading} |             loading={loading} | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue