diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2017-07-12 17:37:04 -0400 |
---|---|---|
committer | Saturnino Abril <saturnino.abril@gmail.com> | 2017-07-13 06:37:04 +0900 |
commit | 26370f6eabe17744f8d23b5f815632cf7493387b (patch) | |
tree | 1c0587080760c2f35900839676438d5d162a059c /webapp/components/emoji_picker/emoji_picker_overlay.jsx | |
parent | df3290c4cf93101b5104e7395d9a0af208eff513 (diff) | |
download | chat-26370f6eabe17744f8d23b5f815632cf7493387b.tar.gz chat-26370f6eabe17744f8d23b5f815632cf7493387b.tar.bz2 chat-26370f6eabe17744f8d23b5f815632cf7493387b.zip |
PLT-7062 Moved emoji picker in RHS to attach to the body of the page (#6923)
Diffstat (limited to 'webapp/components/emoji_picker/emoji_picker_overlay.jsx')
-rw-r--r-- | webapp/components/emoji_picker/emoji_picker_overlay.jsx | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/webapp/components/emoji_picker/emoji_picker_overlay.jsx b/webapp/components/emoji_picker/emoji_picker_overlay.jsx index 0a289a242..7174e004c 100644 --- a/webapp/components/emoji_picker/emoji_picker_overlay.jsx +++ b/webapp/components/emoji_picker/emoji_picker_overlay.jsx @@ -15,7 +15,15 @@ export default class EmojiPickerOverlay extends React.PureComponent { onEmojiClick: PropTypes.func.isRequired, onHide: PropTypes.func.isRequired, rightOffset: PropTypes.number, - topOffset: PropTypes.number + topOffset: PropTypes.number, + spaceRequiredAbove: PropTypes.number, + spaceRequiredBelow: PropTypes.number + } + + // Reasonable defaults calculated from from the center channel + static defaultProps = { + spaceRequiredAbove: 422, + spaceRequiredBelow: 436 } constructor(props) { @@ -28,15 +36,12 @@ export default class EmojiPickerOverlay extends React.PureComponent { componentWillUpdate(nextProps) { if (nextProps.show && !this.props.show) { - const spaceRequiredAbove = 422; - const spaceRequiredBelow = 436; - const targetBounds = nextProps.target().getBoundingClientRect(); let placement; - if (targetBounds.top > spaceRequiredAbove) { + if (targetBounds.top > nextProps.spaceRequiredAbove) { placement = 'top'; - } else if (window.innerHeight - targetBounds.bottom > spaceRequiredBelow) { + } else if (window.innerHeight - targetBounds.bottom > nextProps.spaceRequiredBelow) { placement = 'bottom'; } else { placement = 'left'; |