should fix scrolling on forceupdate

Этот коммит содержится в:
JoramWilander
2015-07-13 08:32:25 -04:00
родитель 5bb2acc996
Коммит b26bc73c78
2 изменённых файлов: 13 добавлений и 2 удалений

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

@@ -85,7 +85,7 @@ module.exports = React.createClass({
<div className="post__content">
<PostHeader post={post} sameRoot={this.props.sameRoot} commentCount={commentCount} handleCommentClick={this.handleCommentClick} isLastComment={this.props.isLastComment} />
<PostBody post={post} sameRoot={this.props.sameRoot} parentPost={parentPost} posts={posts} handleCommentClick={this.handleCommentClick} />
<PostInfo post={post} sameRoot={this.props.sameRoot} commentCount={commentCount} handleCommentClick={this.handleCommentClick} allowReply="true" />
<PostInfo ref="info" post={post} sameRoot={this.props.sameRoot} commentCount={commentCount} handleCommentClick={this.handleCommentClick} allowReply="true" />
</div>
</div>
</div>

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

@@ -63,6 +63,8 @@ module.exports = React.createClass({
oldScrollHeight: 0,
oldZoom: 0,
scrolledToNew: false,
p: 0,
wasForced: false,
componentDidMount: function() {
var user = UserStore.getCurrentUser();
if (user.props && user.props.theme) {
@@ -108,6 +110,12 @@ module.exports = React.createClass({
});
$(post_holder).scroll(function(e){
if (self.wasForced) {
console.log('hit');
$(post_holder).scrollTop(self.p);
$(post_holder).perfectScrollbar('update');
self.wasForced = false;
}
if (!self.preventScrollTrigger) {
self.scrollPosition = $(post_holder).scrollTop() + $(post_holder).innerHeight();
}
@@ -197,7 +205,10 @@ module.exports = React.createClass({
this.setState(newState);
} else {
// Updates the timestamp on each post
this.wasForced = true;
this.p = $(".post-list-holder-by-time").scrollTop();
this.forceUpdate()
//this.refs.post0.refs.info.forceUpdate();
}
},
_onSocketChange: function(msg) {
@@ -452,7 +463,7 @@ module.exports = React.createClass({
isLastComment = (i === 0 || posts[order[i-1]].root_id != post.root_id);
}
var postCtl = <Post sameUser={sameUser} sameRoot={sameRoot} post={post} parentPost={parentPost} key={post.id} posts={posts} hideProfilePic={hideProfilePic} isLastComment={isLastComment} />;
var postCtl = <Post ref={"post"+(order.length-i-1)}sameUser={sameUser} sameRoot={sameRoot} post={post} parentPost={parentPost} key={post.id} posts={posts} hideProfilePic={hideProfilePic} isLastComment={isLastComment} />;
currentPostDay = utils.getDateForUnixTicks(post.create_at);
if(currentPostDay.getDate() !== previousPostDay.getDate() || currentPostDay.getMonth() !== previousPostDay.getMonth() || currentPostDay.getFullYear() !== previousPostDay.getFullYear()) {