summaryrefslogtreecommitdiffstats
path: root/webapp/components/emoji_picker
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2017-07-12 17:37:04 -0400
committerSaturnino Abril <saturnino.abril@gmail.com>2017-07-13 06:37:04 +0900
commit26370f6eabe17744f8d23b5f815632cf7493387b (patch)
tree1c0587080760c2f35900839676438d5d162a059c /webapp/components/emoji_picker
parentdf3290c4cf93101b5104e7395d9a0af208eff513 (diff)
downloadchat-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')
-rw-r--r--webapp/components/emoji_picker/emoji_picker_overlay.jsx17
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';