Fix multiple pinned post issues (#6887)

Этот коммит содержится в:
Joram Wilander
2017-07-10 17:35:50 -04:00
коммит произвёл Saturnino Abril
родитель 2190a288e0
Коммит 0c910cc8c5
3 изменённых файлов: 24 добавлений и 3 удалений

Просмотреть файл

@@ -329,3 +329,23 @@ export function searchForTerm(term) {
do_search: true
});
}
export function pinPost(postId) {
return async (doDispatch, doGetState) => {
await PostActions.pinPost(postId)(doDispatch, doGetState);
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_POST_PINNED
});
};
}
export function unpinPost(postId) {
return async (doDispatch, doGetState) => {
await PostActions.unpinPost(postId)(doDispatch, doGetState);
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_POST_UNPINNED
});
};
}

Просмотреть файл

@@ -3,7 +3,8 @@
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import {flagPost, unflagPost, pinPost, unpinPost} from 'mattermost-redux/actions/posts';
import {flagPost, unflagPost} from 'mattermost-redux/actions/posts';
import {pinPost, unpinPost} from 'actions/post_actions.jsx';
import DotMenu from './dot_menu.jsx';

Просмотреть файл

@@ -77,12 +77,12 @@ export default class SidebarRight extends React.Component {
}
shouldComponentUpdate(nextProps, nextState) {
return !Utils.areObjectsEqual(nextState, this.state) || !Utils.areObjectsEqual(nextProps, this.props);
return !Utils.areObjectsEqual(nextState, this.state) || this.props.postRightVisible !== nextProps.postRightVisible;
}
componentWillUpdate(nextProps, nextState) {
const isOpen = this.state.searchVisible || this.props.postRightVisible;
const willOpen = nextState.searchVisible || nextState.postRightVisible;
const willOpen = nextState.searchVisible || nextProps.postRightVisible;
if (!isOpen && willOpen) {
trackEvent('ui', 'ui_rhs_opened');