From 7bcea832cdd2391369c66a831d43036ebd82bdea Mon Sep 17 00:00:00 2001
From: Debanshu Kundu <debanshu.kundu@joshtechnologygroup.com>
Date: Wed, 25 Jan 2017 17:48:35 +0530
Subject: #4967 Fixed issue of post not getting updated after edit, if the post
 was focused. (#5149)

---
 webapp/actions/post_actions.jsx | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

(limited to 'webapp/actions/post_actions.jsx')

diff --git a/webapp/actions/post_actions.jsx b/webapp/actions/post_actions.jsx
index 7179b6365..3f660b94d 100644
--- a/webapp/actions/post_actions.jsx
+++ b/webapp/actions/post_actions.jsx
@@ -115,12 +115,16 @@ export function getFlaggedPosts() {
     );
 }
 
-export function loadPosts(channelId = ChannelStore.getCurrentId()) {
+export function loadPosts(channelId = ChannelStore.getCurrentId(), isPost = false) {
     const postList = PostStore.getAllPosts(channelId);
     const latestPostTime = PostStore.getLatestPostFromPageTime(channelId);
 
-    if (!postList || Object.keys(postList).length === 0 || postList.order.length < Constants.POST_CHUNK_SIZE || latestPostTime === 0) {
-        loadPostsPage(channelId, Constants.POST_CHUNK_SIZE);
+    if (
+        !postList || Object.keys(postList).length === 0 ||
+        (!isPost && postList.order.length < Constants.POST_CHUNK_SIZE) ||
+        latestPostTime === 0
+    ) {
+        loadPostsPage(channelId, Constants.POST_CHUNK_SIZE, isPost);
         return;
     }
 
@@ -133,7 +137,8 @@ export function loadPosts(channelId = ChannelStore.getCurrentId()) {
                 id: channelId,
                 before: true,
                 numRequested: 0,
-                post_list: data
+                post_list: data,
+                isPost
             });
 
             loadProfilesForPosts(data.posts);
@@ -145,7 +150,7 @@ export function loadPosts(channelId = ChannelStore.getCurrentId()) {
     );
 }
 
-export function loadPostsPage(channelId = ChannelStore.getCurrentId(), max = Constants.POST_CHUNK_SIZE) {
+export function loadPostsPage(channelId = ChannelStore.getCurrentId(), max = Constants.POST_CHUNK_SIZE, isPost = false) {
     const postList = PostStore.getAllPosts(channelId);
 
     // if we already have more than POST_CHUNK_SIZE posts,
@@ -168,7 +173,8 @@ export function loadPostsPage(channelId = ChannelStore.getCurrentId(), max = Con
                 numRequested: numPosts,
                 checkLatest: true,
                 checkEarliest: true,
-                post_list: data
+                post_list: data,
+                isPost
             });
 
             loadProfilesForPosts(data.posts);
@@ -365,11 +371,11 @@ export function createPost(post, doLoadPost, success, error) {
     );
 }
 
-export function updatePost(post, success) {
+export function updatePost(post, success, isPost) {
     Client.updatePost(
         post,
         () => {
-            loadPosts(post.channel_id);
+            loadPosts(post.channel_id, isPost);
 
             if (success) {
                 success();
-- 
cgit v1.2.3-1-g7c22

