diff options
Diffstat (limited to 'webapp/components/post_view')
4 files changed, 22 insertions, 32 deletions
diff --git a/webapp/components/post_view/components/pending_post_options.jsx b/webapp/components/post_view/components/pending_post_options.jsx index 711ea832c..44f4794ef 100644 --- a/webapp/components/post_view/components/pending_post_options.jsx +++ b/webapp/components/post_view/components/pending_post_options.jsx @@ -4,11 +4,10 @@ import PostStore from 'stores/post_store.jsx'; import ChannelStore from 'stores/channel_store.jsx'; -import AppDispatcher from 'dispatcher/app_dispatcher.jsx'; +import {loadPosts} from 'actions/post_actions.jsx'; +import AppDispatcher from 'dispatcher/app_dispatcher.jsx'; import Client from 'client/web_client.jsx'; -import * as AsyncClient from 'utils/async_client.jsx'; - import Constants from 'utils/constants.jsx'; const ActionTypes = Constants.ActionTypes; @@ -29,13 +28,13 @@ export default class PendingPostOptions extends React.Component { var post = this.props.post; Client.createPost(post, (data) => { - AsyncClient.getPosts(post.channel_id); + loadPosts(post.channel_id); var channel = ChannelStore.get(post.channel_id); - var member = ChannelStore.getMember(post.channel_id); + var member = ChannelStore.getMyMember(post.channel_id); member.msg_count = channel.total_msg_count; member.last_viewed_at = (new Date()).getTime(); - ChannelStore.setChannelMember(member); + ChannelStore.storeMyChannelMember(member); AppDispatcher.handleServerAction({ type: ActionTypes.RECEIVED_POST, diff --git a/webapp/components/post_view/components/post_list.jsx b/webapp/components/post_view/components/post_list.jsx index d686b28e5..46ce0ed67 100644 --- a/webapp/components/post_view/components/post_list.jsx +++ b/webapp/components/post_view/components/post_list.jsx @@ -66,6 +66,16 @@ export default class PostList extends React.Component { } } + componentWillReceiveProps(nextProps) { + // TODO: Clean-up intro text creation + if (this.props.channel && this.props.channel.type === Constants.DM_CHANNEL) { + const teammateId = Utils.getUserIdFromChannelName(this.props.channel); + if (!this.props.profiles[teammateId] && nextProps.profiles[teammateId]) { + this.introText = createChannelIntroMessage(this.props.channel, this.state.fullWidthIntro); + } + } + } + handleKeyDown(e) { if (e.which === Constants.KeyCodes.ESCAPE && $('.popover.in,.modal.in').length === 0) { e.preventDefault(); diff --git a/webapp/components/post_view/post_focus_view_controller.jsx b/webapp/components/post_view/post_focus_view_controller.jsx index 4e21cb29f..8edec6970 100644 --- a/webapp/components/post_view/post_focus_view_controller.jsx +++ b/webapp/components/post_view/post_focus_view_controller.jsx @@ -35,10 +35,7 @@ export default class PostFocusView extends React.Component { const focusedPostId = PostStore.getFocusedPostId(); const channel = ChannelStore.getCurrent(); - let profiles = UserStore.getProfiles(); - if (channel && channel.type === Constants.DM_CHANNEL) { - profiles = Object.assign({}, profiles, UserStore.getDirectProfiles()); - } + const profiles = UserStore.getProfiles(); const joinLeaveEnabled = PreferenceStore.getBool(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'join_leave', true); @@ -115,12 +112,7 @@ export default class PostFocusView extends React.Component { } onUserChange() { - const channel = ChannelStore.getCurrent(); - let profiles = UserStore.getProfiles(); - if (channel && channel.type === Constants.DM_CHANNEL) { - profiles = Object.assign({}, profiles, UserStore.getDirectProfiles()); - } - this.setState({currentUser: UserStore.getCurrentUser(), profiles: JSON.parse(JSON.stringify(profiles))}); + this.setState({currentUser: UserStore.getCurrentUser(), profiles: JSON.parse(JSON.stringify(UserStore.getProfiles()))}); } onStatusChange() { diff --git a/webapp/components/post_view/post_view_controller.jsx b/webapp/components/post_view/post_view_controller.jsx index 12fd5cd63..57b488b54 100644 --- a/webapp/components/post_view/post_view_controller.jsx +++ b/webapp/components/post_view/post_view_controller.jsx @@ -34,13 +34,10 @@ export default class PostViewController extends React.Component { this.onBusy = this.onBusy.bind(this); const channel = props.channel; - let profiles = UserStore.getProfiles(); - if (channel && channel.type === Constants.DM_CHANNEL) { - profiles = Object.assign({}, profiles, UserStore.getDirectProfiles()); - } + const profiles = UserStore.getProfiles(); let lastViewed = Number.MAX_VALUE; - const member = ChannelStore.getMember(channel.id); + const member = ChannelStore.getMyMember(channel.id); if (member != null) { lastViewed = member.last_viewed_at; } @@ -107,12 +104,7 @@ export default class PostViewController extends React.Component { } onUserChange() { - const channel = this.state.channel; - let profiles = UserStore.getProfiles(); - if (channel && channel.type === Constants.DM_CHANNEL) { - profiles = Object.assign({}, profiles, UserStore.getDirectProfiles()); - } - this.setState({currentUser: UserStore.getCurrentUser(), profiles: JSON.parse(JSON.stringify(profiles))}); + this.setState({currentUser: UserStore.getCurrentUser(), profiles: JSON.parse(JSON.stringify(UserStore.getProfiles()))}); } onPostsChange() { @@ -165,15 +157,12 @@ export default class PostViewController extends React.Component { const channel = nextProps.channel; let lastViewed = Number.MAX_VALUE; - const member = ChannelStore.getMember(channel.id); + const member = ChannelStore.getMyMember(channel.id); if (member != null) { lastViewed = member.last_viewed_at; } - let profiles = UserStore.getProfiles(); - if (channel && channel.type === Constants.DM_CHANNEL) { - profiles = Object.assign({}, profiles, UserStore.getDirectProfiles()); - } + const profiles = UserStore.getProfiles(); const joinLeaveEnabled = PreferenceStore.getBool(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'join_leave', true); |