PLT-6155: Keep pin badges in RHS consistent with that in center (#6018)

Sync search store when recieving pin/unpin event to keep pin
badges in RHS consistent with that in center channel.
Этот коммит содержится в:
VeraLyu
2017-04-13 04:23:33 +08:00
коммит произвёл Harrison Healey
родитель a10ad339d1
Коммит 03502cf73b
2 изменённых файлов: 26 добавлений и 2 удалений

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

@@ -117,6 +117,20 @@ class SearchStoreClass extends EventEmitter {
});
}
}
togglePinPost(postId, isPinned) {
const results = this.getSearchResults();
if (results == null) {
return;
}
if (postId in results.posts) {
const post = results.posts[postId];
results.posts[postId] = Object.assign({}, post, {
is_pinned: isPinned
});
}
}
}
var SearchStore = new SearchStoreClass();
@@ -140,6 +154,14 @@ SearchStore.dispatchToken = AppDispatcher.register((payload) => {
SearchStore.deletePost(action.post);
SearchStore.emitSearchChange();
break;
case ActionTypes.RECEIVED_POST_PINNED:
SearchStore.togglePinPost(action.reaction, true);
SearchStore.emitSearchChange();
break;
case ActionTypes.RECEIVED_POST_UNPINNED:
SearchStore.togglePinPost(action.reaction, false);
SearchStore.emitSearchChange();
break;
default:
}
});

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

@@ -1606,7 +1606,8 @@ export function pinPost(channelId, reaction) {
// the "post_edited" websocket event take cares of updating the posts
// the action below is mostly dispatched for the RHS to update
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_POST_PINNED
type: ActionTypes.RECEIVED_POST_PINNED,
reaction
});
},
(err) => {
@@ -1623,7 +1624,8 @@ export function unpinPost(channelId, reaction) {
// the "post_edited" websocket event take cares of updating the posts
// the action below is mostly dispatched for the RHS to update
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_POST_UNPINNED
type: ActionTypes.RECEIVED_POST_UNPINNED,
reaction
});
},
(err) => {