From ec5f40a4235369de7ffb45caaee822cbc1a7d8ba Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Wed, 3 May 2017 11:55:06 -0400 Subject: [PATCH] Add back button to RHS threads from pinned posts (#6306) --- webapp/actions/global_actions.jsx | 3 ++- webapp/actions/post_actions.jsx | 2 +- webapp/components/rhs_header_post.jsx | 20 ++++++++++++++++++-- webapp/components/rhs_thread.jsx | 2 ++ webapp/components/sidebar_right.jsx | 6 ++++-- webapp/i18n/en.json | 1 + webapp/stores/post_store.jsx | 6 +++--- 7 files changed, 31 insertions(+), 9 deletions(-) diff --git a/webapp/actions/global_actions.jsx b/webapp/actions/global_actions.jsx index 97d3b1071a..8d3eddfd95 100644 --- a/webapp/actions/global_actions.jsx +++ b/webapp/actions/global_actions.jsx @@ -168,7 +168,8 @@ export function emitPostFocusRightHandSideFromSearch(post, isMentionSearch) { type: ActionTypes.RECEIVED_POST_SELECTED, postId: Utils.getRootId(post), from_search: SearchStore.getSearchTerm(), - from_flagged_posts: SearchStore.getIsFlaggedPosts() + from_flagged_posts: SearchStore.getIsFlaggedPosts(), + from_pinned_posts: SearchStore.getIsPinnedPosts() }); AppDispatcher.handleServerAction({ diff --git a/webapp/actions/post_actions.jsx b/webapp/actions/post_actions.jsx index 3174fe6817..969c764f1b 100644 --- a/webapp/actions/post_actions.jsx +++ b/webapp/actions/post_actions.jsx @@ -142,7 +142,7 @@ export function getFlaggedPosts() { ); } -export function getPinnedPosts(channelId) { +export function getPinnedPosts(channelId = ChannelStore.getCurrentId()) { Client.getPinnedPosts(channelId, (data) => { AppDispatcher.handleServerAction({ diff --git a/webapp/components/rhs_header_post.jsx b/webapp/components/rhs_header_post.jsx index 9512010243..55c16b0ae0 100644 --- a/webapp/components/rhs_header_post.jsx +++ b/webapp/components/rhs_header_post.jsx @@ -6,7 +6,7 @@ import Constants from 'utils/constants.jsx'; import {Tooltip, OverlayTrigger} from 'react-bootstrap'; import * as GlobalActions from 'actions/global_actions.jsx'; -import {getFlaggedPosts} from 'actions/post_actions.jsx'; +import {getFlaggedPosts, getPinnedPosts} from 'actions/post_actions.jsx'; import {FormattedMessage} from 'react-intl'; @@ -24,15 +24,18 @@ export default class RhsHeaderPost extends React.Component { this.state = {}; } + handleClose(e) { e.preventDefault(); GlobalActions.emitCloseRightHandSide(); this.props.shrink(); } + toggleSize(e) { e.preventDefault(); this.props.toggleSize(); } + handleBack(e) { e.preventDefault(); @@ -50,8 +53,11 @@ export default class RhsHeaderPost extends React.Component { }); } else if (this.props.fromFlaggedPosts) { getFlaggedPosts(); + } else if (this.props.fromPinnedPosts) { + getPinnedPosts(); } } + render() { let back; const closeSidebarTooltip = ( @@ -91,6 +97,15 @@ export default class RhsHeaderPost extends React.Component { /> ); + } else if (this.props.fromPinnedPosts) { + backToResultsTooltip = ( + + + + ); } const expandSidebarTooltip = ( @@ -111,7 +126,7 @@ export default class RhsHeaderPost extends React.Component { ); - if (this.props.fromSearch || this.props.fromFlaggedPosts || this.props.isWebrtc) { + if (this.props.fromSearch || this.props.fromFlaggedPosts || this.props.isWebrtc || this.props.fromPinnedPosts) { back = ( { break; case ActionTypes.RECEIVED_POST_SELECTED: PostStore.storeSelectedPostId(action.postId); - PostStore.emitSelectedPostChange(action.from_search, action.from_flagged_posts); + PostStore.emitSelectedPostChange(action.from_search, action.from_flagged_posts, action.from_pinned_posts); break; case ActionTypes.RECEIVED_POST_PINNED: case ActionTypes.RECEIVED_POST_UNPINNED: