mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
PLT-7039 Use loadProfilesAndStatusesForPosts from the redux library (#6881)
This commit is contained in:
committed by
Saturnino Abril
parent
a6ee8bb1ee
commit
250a344d04
@@ -19,7 +19,6 @@ import store from 'stores/redux_store.jsx';
|
||||
const dispatch = store.dispatch;
|
||||
const getState = store.getState;
|
||||
|
||||
import {getProfilesByIds} from 'mattermost-redux/actions/users';
|
||||
import * as PostActions from 'mattermost-redux/actions/posts';
|
||||
import {getMyChannelMember} from 'mattermost-redux/actions/channels';
|
||||
|
||||
@@ -55,7 +54,7 @@ function completePostReceive(post, websocketMessageProps) {
|
||||
PostActions.getPostThread(post.root_id)(dispatch, getState).then(
|
||||
(data) => {
|
||||
dispatchPostActions(post, websocketMessageProps);
|
||||
loadProfilesForPosts(data.posts);
|
||||
PostActions.getProfilesAndStatusesForPosts(data.posts, dispatch, getState);
|
||||
}
|
||||
);
|
||||
|
||||
@@ -123,7 +122,7 @@ export function getFlaggedPosts() {
|
||||
is_pinned_posts: false
|
||||
});
|
||||
|
||||
loadProfilesForPosts(data.posts);
|
||||
PostActions.getProfilesAndStatusesForPosts(data.posts, dispatch, getState);
|
||||
}
|
||||
).catch(
|
||||
() => {} //eslint-disable-line no-empty-function
|
||||
@@ -147,34 +146,13 @@ export function getPinnedPosts(channelId = ChannelStore.getCurrentId()) {
|
||||
is_pinned_posts: true
|
||||
});
|
||||
|
||||
loadProfilesForPosts(data.posts);
|
||||
PostActions.getProfilesAndStatusesForPosts(data.posts, dispatch, getState);
|
||||
}
|
||||
).catch(
|
||||
() => {} //eslint-disable-line no-empty-function
|
||||
);
|
||||
}
|
||||
|
||||
export function loadProfilesForPosts(posts) {
|
||||
const profilesToLoad = {};
|
||||
for (const pid in posts) {
|
||||
if (!posts.hasOwnProperty(pid)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const post = posts[pid];
|
||||
if (!UserStore.hasProfile(post.user_id)) {
|
||||
profilesToLoad[post.user_id] = true;
|
||||
}
|
||||
}
|
||||
|
||||
const list = Object.keys(profilesToLoad);
|
||||
if (list.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
getProfilesByIds(list)(dispatch, getState);
|
||||
}
|
||||
|
||||
export function addReaction(channelId, postId, emojiName) {
|
||||
PostActions.addReaction(postId, emojiName)(dispatch, getState);
|
||||
}
|
||||
@@ -252,7 +230,7 @@ export function performSearch(terms, isMentionSearch, success, error) {
|
||||
is_mention_search: isMentionSearch
|
||||
});
|
||||
|
||||
loadProfilesForPosts(data.posts);
|
||||
PostActions.getProfilesAndStatusesForPosts(data.posts, dispatch, getState);
|
||||
|
||||
if (success) {
|
||||
success(data);
|
||||
|
||||
@@ -15,7 +15,7 @@ import WebSocketClient from 'client/web_websocket_client.jsx';
|
||||
import * as WebrtcActions from './webrtc_actions.jsx';
|
||||
|
||||
import * as GlobalActions from 'actions/global_actions.jsx';
|
||||
import {handleNewPost, loadProfilesForPosts} from 'actions/post_actions.jsx';
|
||||
import {handleNewPost} from 'actions/post_actions.jsx';
|
||||
import {loadProfilesForSidebar} from 'actions/user_actions.jsx';
|
||||
import {loadChannelsForCurrentUser} from 'actions/channel_actions.jsx';
|
||||
import * as StatusActions from 'actions/status_actions.jsx';
|
||||
@@ -34,7 +34,7 @@ import {getSiteURL} from 'utils/url.jsx';
|
||||
|
||||
import * as TeamActions from 'mattermost-redux/actions/teams';
|
||||
import {viewChannel, getChannelAndMyMember, getChannelStats} from 'mattermost-redux/actions/channels';
|
||||
import {getPosts} from 'mattermost-redux/actions/posts';
|
||||
import {getPosts, getProfilesAndStatusesForPosts} from 'mattermost-redux/actions/posts';
|
||||
import {setServerVersion} from 'mattermost-redux/actions/general';
|
||||
import {ChannelTypes, TeamTypes, UserTypes, PostTypes, EmojiTypes} from 'mattermost-redux/action_types';
|
||||
|
||||
@@ -242,9 +242,7 @@ function handleNewPostEvent(msg) {
|
||||
const post = JSON.parse(msg.data.post);
|
||||
handleNewPost(post, msg);
|
||||
|
||||
const posts = {};
|
||||
posts[post.id] = post;
|
||||
loadProfilesForPosts(posts);
|
||||
getProfilesAndStatusesForPosts([post], dispatch, getState);
|
||||
|
||||
if (post.user_id !== UserStore.getCurrentId()) {
|
||||
UserStore.setStatus(post.user_id, UserStatuses.ONLINE);
|
||||
|
||||
Reference in New Issue
Block a user