mattermost-mobile/app/components/post_list/index.js
2018-06-19 19:14:50 -04:00

42 lines
1.3 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {bindActionCreators} from 'redux';
import {connect} from 'react-redux';
import {selectFocusedPostId} from 'mattermost-redux/actions/posts';
import {getTheme} from 'mattermost-redux/selectors/entities/preferences';
import {loadChannelsByTeamName, refreshChannelWithRetry} from 'app/actions/views/channel';
import {makePreparePostIdsForPostList, START_OF_NEW_MESSAGES} from 'app/selectors/post_list';
import PostList from './post_list';
function makeMapStateToProps() {
const preparePostIds = makePreparePostIdsForPostList();
return (state, ownProps) => {
const postIds = preparePostIds(state, ownProps);
const measureCellLayout = postIds.indexOf(START_OF_NEW_MESSAGES) > -1 || Boolean(ownProps.highlightPostId);
const {deviceHeight} = state.device.dimension;
return {
deviceHeight,
measureCellLayout,
postIds,
theme: getTheme(state),
};
};
}
function mapDispatchToProps(dispatch) {
return {
actions: bindActionCreators({
loadChannelsByTeamName,
refreshChannelWithRetry,
selectFocusedPostId,
}, dispatch),
};
}
export default connect(makeMapStateToProps, mapDispatchToProps)(PostList);