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: