From b26bc73c7880e691e77e9ca4169e9ed7735e3bc9 Mon Sep 17 00:00:00 2001
From: JoramWilander <jwawilander@gmail.com>
Date: Mon, 13 Jul 2015 08:32:25 -0400
Subject: should fix scrolling on forceupdate

---
 web/react/components/post_list.jsx | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

(limited to 'web/react/components/post_list.jsx')

diff --git a/web/react/components/post_list.jsx b/web/react/components/post_list.jsx
index 177e4a1db..3409bad28 100644
--- a/web/react/components/post_list.jsx
+++ b/web/react/components/post_list.jsx
@@ -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()) {
-- 
cgit v1.2.3-1-g7c22

