diff options
author | JoramWilander <jwawilander@gmail.com> | 2015-12-09 08:53:53 -0500 |
---|---|---|
committer | JoramWilander <jwawilander@gmail.com> | 2015-12-09 08:53:53 -0500 |
commit | 984dc19f302f5561c941dc008bd974effdb0f5dc (patch) | |
tree | 072c32205173944d281bfe706430c571d80f21ec /web | |
parent | 0b960e4a0be253bf10efe94f3b74455d31d486ec (diff) | |
download | chat-984dc19f302f5561c941dc008bd974effdb0f5dc.tar.gz chat-984dc19f302f5561c941dc008bd974effdb0f5dc.tar.bz2 chat-984dc19f302f5561c941dc008bd974effdb0f5dc.zip |
Delay center scroll when sidebar opens to be after animation
Diffstat (limited to 'web')
-rw-r--r-- | web/react/components/sidebar_right.jsx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/web/react/components/sidebar_right.jsx b/web/react/components/sidebar_right.jsx index 22d702369..ac1049da0 100644 --- a/web/react/components/sidebar_right.jsx +++ b/web/react/components/sidebar_right.jsx @@ -7,6 +7,8 @@ import SearchStore from '../stores/search_store.jsx'; import PostStore from '../stores/post_store.jsx'; import * as Utils from '../utils/utils.jsx'; +const SIDEBAR_SCROLL_DELAY = 500; + export default class SidebarRight extends React.Component { constructor(props) { super(props); @@ -39,8 +41,13 @@ export default class SidebarRight extends React.Component { PostStore.removeSelectedPostChangeListener(this.onSelectedChange); SearchStore.removeShowSearchListener(this.onShowSearch); } - componentWillUpdate() { - PostStore.jumpPostsViewSidebarOpen(); + componentWillUpdate(nextProps, nextState) { + const isOpen = this.state.search_visible || this.state.post_right_visible; + const willOpen = nextState.search_visible || nextState.post_right_visible; + + if (!isOpen && willOpen) { + setTimeout(() => PostStore.jumpPostsViewSidebarOpen(), SIDEBAR_SCROLL_DELAY); + } } doStrangeThings() { // We should have a better way to do this stuff |