From 8aab290d10cc7cdd864cebbd463044abfa2d2aea Mon Sep 17 00:00:00 2001 From: VeraLyu Date: Tue, 18 Apr 2017 23:47:27 +0800 Subject: PLT-6240: Remove own pinned post from RHS when removed from channel (#6098) Dispatch REMOVE_POST event after successfully initiating delete post, others get informed by websocket event and will mark the msg as deleted but not delete from RHS. --- webapp/stores/search_store.jsx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'webapp/stores') diff --git a/webapp/stores/search_store.jsx b/webapp/stores/search_store.jsx index 62cc5635b..2ccf02f94 100644 --- a/webapp/stores/search_store.jsx +++ b/webapp/stores/search_store.jsx @@ -133,6 +133,19 @@ class SearchStoreClass extends EventEmitter { }); } } + + removePost(post) { + const results = this.getSearchResults(); + if (results == null) { + return; + } + + const index = results.order.indexOf(post.id); + if (index > -1) { + delete results.posts[post.id]; + results.order.splice(index, 1); + } + } } var SearchStore = new SearchStoreClass(); @@ -171,6 +184,10 @@ SearchStore.dispatchToken = AppDispatcher.register((payload) => { SearchStore.togglePinPost(action.reaction, false); SearchStore.emitSearchChange(); break; + case ActionTypes.REMOVE_POST: + SearchStore.removePost(action.post); + SearchStore.emitSearchChange(); + break; default: } }); -- cgit v1.2.3-1-g7c22