mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Add back button to RHS threads from pinned posts (#6306)
This commit is contained in:
committed by
Corey Hulen
parent
6a6c5365d3
commit
ec5f40a423
@@ -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({
|
||||
|
||||
@@ -142,7 +142,7 @@ export function getFlaggedPosts() {
|
||||
);
|
||||
}
|
||||
|
||||
export function getPinnedPosts(channelId) {
|
||||
export function getPinnedPosts(channelId = ChannelStore.getCurrentId()) {
|
||||
Client.getPinnedPosts(channelId,
|
||||
(data) => {
|
||||
AppDispatcher.handleServerAction({
|
||||
|
||||
@@ -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 {
|
||||
/>
|
||||
</Tooltip>
|
||||
);
|
||||
} else if (this.props.fromPinnedPosts) {
|
||||
backToResultsTooltip = (
|
||||
<Tooltip id='backToResultsTooltip'>
|
||||
<FormattedMessage
|
||||
id='rhs_header.backToPinnedTooltip'
|
||||
defaultMessage='Back to Pinned Posts'
|
||||
/>
|
||||
</Tooltip>
|
||||
);
|
||||
}
|
||||
|
||||
const expandSidebarTooltip = (
|
||||
@@ -111,7 +126,7 @@ export default class RhsHeaderPost extends React.Component {
|
||||
</Tooltip>
|
||||
);
|
||||
|
||||
if (this.props.fromSearch || this.props.fromFlaggedPosts || this.props.isWebrtc) {
|
||||
if (this.props.fromSearch || this.props.fromFlaggedPosts || this.props.isWebrtc || this.props.fromPinnedPosts) {
|
||||
back = (
|
||||
<a
|
||||
href='#'
|
||||
@@ -190,6 +205,7 @@ RhsHeaderPost.propTypes = {
|
||||
isWebrtc: React.PropTypes.bool,
|
||||
fromSearch: React.PropTypes.string,
|
||||
fromFlaggedPosts: React.PropTypes.bool,
|
||||
fromPinnedPosts: React.PropTypes.bool,
|
||||
toggleSize: React.PropTypes.func,
|
||||
shrink: React.PropTypes.func
|
||||
};
|
||||
|
||||
@@ -410,6 +410,7 @@ export default class RhsThread extends React.Component {
|
||||
<RhsHeaderPost
|
||||
fromFlaggedPosts={this.props.fromFlaggedPosts}
|
||||
fromSearch={this.props.fromSearch}
|
||||
fromPinnedPosts={this.props.fromPinnedPosts}
|
||||
isWebrtc={this.props.isWebrtc}
|
||||
isMentionSearch={this.props.isMentionSearch}
|
||||
toggleSize={this.props.toggleSize}
|
||||
@@ -472,6 +473,7 @@ RhsThread.defaultProps = {
|
||||
RhsThread.propTypes = {
|
||||
fromSearch: React.PropTypes.string,
|
||||
fromFlaggedPosts: React.PropTypes.bool,
|
||||
fromPinnedPosts: React.PropTypes.bool,
|
||||
isWebrtc: React.PropTypes.bool,
|
||||
isMentionSearch: React.PropTypes.bool,
|
||||
currentUser: React.PropTypes.object.isRequired,
|
||||
|
||||
@@ -135,11 +135,12 @@ export default class SidebarRight extends React.Component {
|
||||
});
|
||||
}
|
||||
|
||||
onSelectedChange(fromSearch, fromFlaggedPosts) {
|
||||
onSelectedChange(fromSearch, fromFlaggedPosts, fromPinnedPosts) {
|
||||
this.setState({
|
||||
postRightVisible: Boolean(PostStore.getSelectedPost()),
|
||||
fromSearch,
|
||||
fromFlaggedPosts
|
||||
fromFlaggedPosts,
|
||||
fromPinnedPosts
|
||||
});
|
||||
}
|
||||
|
||||
@@ -230,6 +231,7 @@ export default class SidebarRight extends React.Component {
|
||||
<RhsThread
|
||||
fromFlaggedPosts={this.state.fromFlaggedPosts}
|
||||
fromSearch={this.state.fromSearch}
|
||||
fromPinnedPosts={this.state.fromPinnedPosts}
|
||||
isWebrtc={WebrtcStore.isBusy()}
|
||||
isMentionSearch={this.state.isMentionSearch}
|
||||
currentUser={this.state.currentUser}
|
||||
|
||||
@@ -1875,6 +1875,7 @@
|
||||
"rhs_comment.permalink": "Permalink",
|
||||
"rhs_header.backToCallTooltip": "Back to Call",
|
||||
"rhs_header.backToFlaggedTooltip": "Back to Flagged Posts",
|
||||
"rhs_header.backToPinnedTooltip": "Back to Pinned Posts",
|
||||
"rhs_header.backToResultsTooltip": "Back to Search Results",
|
||||
"rhs_header.closeSidebarTooltip": "Close Sidebar",
|
||||
"rhs_header.closeTooltip": "Close Sidebar",
|
||||
|
||||
@@ -509,8 +509,8 @@ class PostStoreClass extends EventEmitter {
|
||||
return threadPosts;
|
||||
}
|
||||
|
||||
emitSelectedPostChange(fromSearch, fromFlaggedPosts) {
|
||||
this.emit(SELECTED_POST_CHANGE_EVENT, fromSearch, fromFlaggedPosts);
|
||||
emitSelectedPostChange(fromSearch, fromFlaggedPosts, fromPinnedPosts) {
|
||||
this.emit(SELECTED_POST_CHANGE_EVENT, fromSearch, fromFlaggedPosts, fromPinnedPosts);
|
||||
}
|
||||
|
||||
addSelectedPostChangeListener(callback) {
|
||||
@@ -717,7 +717,7 @@ PostStore.dispatchToken = AppDispatcher.register((payload) => {
|
||||
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:
|
||||
|
||||
Reference in New Issue
Block a user