From ab67f6e257f6e8f08145a02a7b93550f99641be4 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Sun, 18 Jun 2017 14:42:32 -0400 Subject: 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 --- webapp/components/post_view/reaction/index.js | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 webapp/components/post_view/reaction/index.js (limited to 'webapp/components/post_view/reaction/index.js') diff --git a/webapp/components/post_view/reaction/index.js b/webapp/components/post_view/reaction/index.js new file mode 100644 index 000000000..9bb2524a1 --- /dev/null +++ b/webapp/components/post_view/reaction/index.js @@ -0,0 +1,47 @@ +// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import {connect} from 'react-redux'; +import {bindActionCreators} from 'redux'; +import {getCurrentUserId, makeGetProfilesForReactions} from 'mattermost-redux/selectors/entities/users'; +import {getMissingProfilesByIds} from 'mattermost-redux/actions/users'; +import {addReaction, removeReaction} from 'mattermost-redux/actions/posts'; +import {getEmojiImageUrl} from 'mattermost-redux/utils/emoji_utils'; +import * as Emoji from 'utils/emoji.jsx'; + +import Reaction from './reaction.jsx'; + +function makeMapStateToProps() { + const getProfilesForReactions = makeGetProfilesForReactions(); + + return function mapStateToProps(state, ownProps) { + const profiles = getProfilesForReactions(state, ownProps.reactions); + let emoji; + if (Emoji.EmojiIndicesByAlias.has(ownProps.emojiName)) { + emoji = Emoji.Emojis[Emoji.EmojiIndicesByAlias.get(ownProps.emojiName)]; + } else { + emoji = ownProps.emojis[ownProps.emojiName]; + } + + return { + ...ownProps, + profiles, + otherUsersCount: ownProps.reactions.length - profiles.length, + currentUserId: getCurrentUserId(state), + reactionCount: ownProps.reactions.length, + emojiImageUrl: getEmojiImageUrl(emoji) + }; + }; +} + +function mapDispatchToProps(dispatch) { + return { + actions: bindActionCreators({ + addReaction, + removeReaction, + getMissingProfilesByIds + }, dispatch) + }; +} + +export default connect(makeMapStateToProps, mapDispatchToProps)(Reaction); -- cgit v1.2.3-1-g7c22