Merge pull request #809 from mattermost/scrolling-partial-fix

Partial fix to scrolling issues. No longer jumps up from the bottom when RHS opens
Этот коммит содержится в:
Joram Wilander
2015-09-25 13:04:35 -04:00
родитель eb16b4fdf9 425797eb38
Коммит 3d2f29f561

Просмотреть файл

@@ -105,18 +105,18 @@ export default class PostList extends React.Component {
UserStore.addStatusesChangeListener(this.onTimeChange); UserStore.addStatusesChangeListener(this.onTimeChange);
SocketStore.addChangeListener(this.onSocketChange); SocketStore.addChangeListener(this.onSocketChange);
var postHolder = $(React.findDOMNode(this.refs.postlist)); const postHolder = $(React.findDOMNode(this.refs.postlist));
$(window).on('resize.' + this.props.channelId, function resize() { $(window).resize(() => {
this.resize(); this.resize();
if (!this.scrolled) { if (!this.scrolled) {
this.scrollToBottom(); this.scrollToBottom();
} }
}.bind(this)); });
postHolder.on('scroll', function scroll() { postHolder.on('scroll', () => {
var position = postHolder.scrollTop() + postHolder.height() + 14; const position = postHolder.scrollTop() + postHolder.height() + 14;
var bottom = postHolder[0].scrollHeight; const bottom = postHolder[0].scrollHeight;
if (position >= bottom) { if (position >= bottom) {
this.scrolled = false; this.scrolled = false;
@@ -128,7 +128,7 @@ export default class PostList extends React.Component {
this.userHasSeenNew = true; this.userHasSeenNew = true;
} }
this.isUserScroll = true; this.isUserScroll = true;
}.bind(this)); });
$('.post-list__content div .post').removeClass('post--last'); $('.post-list__content div .post').removeClass('post--last');
$('.post-list__content div:last-child .post').addClass('post--last'); $('.post-list__content div:last-child .post').addClass('post--last');
@@ -146,7 +146,7 @@ export default class PostList extends React.Component {
UserStore.removeStatusesChangeListener(this.onTimeChange); UserStore.removeStatusesChangeListener(this.onTimeChange);
SocketStore.removeChangeListener(this.onSocketChange); SocketStore.removeChangeListener(this.onSocketChange);
$('body').off('click.userpopover'); $('body').off('click.userpopover');
$(window).off('resize.' + this.props.channelId); $(window).off('resize');
var postHolder = $(React.findDOMNode(this.refs.postlist)); var postHolder = $(React.findDOMNode(this.refs.postlist));
postHolder.off('scroll'); postHolder.off('scroll');
} }