PLT-6215 Major post list refactor (#6501)
* Major post list refactor * Fix post and thread deletion * Fix preferences not selecting correctly * Fix military time displaying * Fix UP key for editing posts * Fix ESLint error * Various fixes and updates per feedback * Fix for permalink view * Revert to old scrolling method and various fixes * Add floating timestamp, new message indicator, scroll arrows * Update post loading for focus mode and add visibility limit * Fix pinning posts and a react warning * Add loading UI updates from Asaad * Fix refreshing loop * Temporarily bump post visibility limit * Update infinite scrolling * Remove infinite scrolling
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
0231e95f1c
Коммит
ab67f6e257
@@ -3,22 +3,52 @@
|
||||
|
||||
import {connect} from 'react-redux';
|
||||
import {bindActionCreators} from 'redux';
|
||||
import {viewChannel} from 'mattermost-redux/actions/channels';
|
||||
|
||||
import PostViewCache from './post_view_cache.jsx';
|
||||
import {makeGetPostsInChannel, makeGetPostsAroundPost} from 'mattermost-redux/selectors/entities/posts';
|
||||
import {get} from 'mattermost-redux/selectors/entities/preferences';
|
||||
import {getChannel} from 'mattermost-redux/selectors/entities/channels';
|
||||
import {getCurrentUserId} from 'mattermost-redux/selectors/entities/users';
|
||||
import {getPosts, getPostsBefore, getPostsAfter, getPostThread} from 'mattermost-redux/actions/posts';
|
||||
import {increasePostVisibility} from 'actions/post_actions.jsx';
|
||||
import {Preferences} from 'utils/constants.jsx';
|
||||
|
||||
function mapStateToProps(state, ownProps) {
|
||||
return {
|
||||
...ownProps
|
||||
import PostList from './post_list.jsx';
|
||||
|
||||
function makeMapStateToProps() {
|
||||
const getPostsInChannel = makeGetPostsInChannel();
|
||||
const getPostsAroundPost = makeGetPostsAroundPost();
|
||||
|
||||
return function mapStateToProps(state, ownProps) {
|
||||
let posts;
|
||||
if (ownProps.focusedPostId) {
|
||||
posts = getPostsAroundPost(state, ownProps.focusedPostId, ownProps.channelId);
|
||||
} else {
|
||||
posts = getPostsInChannel(state, ownProps.channelId);
|
||||
}
|
||||
|
||||
return {
|
||||
channel: getChannel(state, ownProps.channelId),
|
||||
lastViewedAt: state.views.channel.lastChannelViewTime[ownProps.channelId],
|
||||
posts,
|
||||
postVisibility: state.views.channel.postVisibility[ownProps.channelId],
|
||||
loadingPosts: state.views.channel.loadingPosts[ownProps.channelId],
|
||||
focusedPostId: ownProps.focusedPostId,
|
||||
currentUserId: getCurrentUserId(state),
|
||||
fullWidth: get(state, Preferences.CATEGORY_DISPLAY_SETTINGS, Preferences.CHANNEL_DISPLAY_MODE, Preferences.CHANNEL_DISPLAY_MODE_DEFAULT) === Preferences.CHANNEL_DISPLAY_MODE_FULL_SCREEN
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
function mapDispatchToProps(dispatch) {
|
||||
return {
|
||||
actions: bindActionCreators({
|
||||
viewChannel
|
||||
getPosts,
|
||||
getPostsBefore,
|
||||
getPostsAfter,
|
||||
getPostThread,
|
||||
increasePostVisibility
|
||||
}, dispatch)
|
||||
};
|
||||
}
|
||||
|
||||
export default connect(mapStateToProps, mapDispatchToProps)(PostViewCache);
|
||||
export default connect(makeMapStateToProps, mapDispatchToProps)(PostList);
|
||||
|
||||
Ссылка в новой задаче
Block a user