42 строки
1.4 KiB
JavaScript
42 строки
1.4 KiB
JavaScript
// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
import {connect} from 'react-redux';
|
|
import {getCustomEmojisByName} from 'mattermost-redux/selectors/entities/emojis';
|
|
import {getBool} from 'mattermost-redux/selectors/entities/preferences';
|
|
import {getCurrentUserMentionKeys, getUsersByUsername} from 'mattermost-redux/selectors/entities/users';
|
|
|
|
import {getCurrentTeam} from 'mattermost-redux/selectors/entities/teams';
|
|
|
|
import {Preferences} from 'mattermost-redux/constants';
|
|
import {getSiteURL} from 'utils/url.jsx';
|
|
|
|
import {EmojiMap} from 'stores/emoji_store.jsx';
|
|
|
|
import PostMessageView from './post_message_view.jsx';
|
|
|
|
function makeMapStateToProps() {
|
|
let emojiMap;
|
|
let oldCustomEmoji;
|
|
|
|
return function mapStateToProps(state, ownProps) {
|
|
const newCustomEmoji = getCustomEmojisByName(state);
|
|
if (newCustomEmoji !== oldCustomEmoji) {
|
|
emojiMap = new EmojiMap(newCustomEmoji);
|
|
}
|
|
oldCustomEmoji = newCustomEmoji;
|
|
|
|
return {
|
|
...ownProps,
|
|
emojis: emojiMap,
|
|
enableFormatting: getBool(state, Preferences.CATEGORY_ADVANCED_SETTINGS, 'formatting', true),
|
|
mentionKeys: getCurrentUserMentionKeys(state),
|
|
usernameMap: getUsersByUsername(state),
|
|
team: getCurrentTeam(state),
|
|
siteUrl: getSiteURL()
|
|
};
|
|
};
|
|
}
|
|
|
|
export default connect(makeMapStateToProps)(PostMessageView);
|