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.
Этот коммит содержится в:
коммит произвёл
Harrison Healey
родитель
a10ad339d1
Коммит
03502cf73b
@@ -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) => {
|
||||
|
||||
Ссылка в новой задаче
Block a user