diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-04-28 13:16:03 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2017-04-28 13:16:03 -0400 |
commit | 96906482cecb0df21c8e1a40a2ba00c13c0182a7 (patch) | |
tree | 3bb35ca9fe2a3beb212b5350116f7bb488d7a119 /webapp/components/post_view | |
parent | 302ec17beed9128101ef61d69b45d3ee29e16f1e (diff) | |
download | chat-96906482cecb0df21c8e1a40a2ba00c13c0182a7.tar.gz chat-96906482cecb0df21c8e1a40a2ba00c13c0182a7.tar.bz2 chat-96906482cecb0df21c8e1a40a2ba00c13c0182a7.zip |
PLT-6214 Move channel store and actions over to redux (#6235)
* Move channel store and actions over to redux
* Fix style errors
* Fix unit test
* Various fixes
* More fixes
* Revert config changes
Diffstat (limited to 'webapp/components/post_view')
-rw-r--r-- | webapp/components/post_view/index.js | 24 | ||||
-rw-r--r-- | webapp/components/post_view/post_view_cache.jsx | 9 |
2 files changed, 31 insertions, 2 deletions
diff --git a/webapp/components/post_view/index.js b/webapp/components/post_view/index.js new file mode 100644 index 000000000..b42b486ab --- /dev/null +++ b/webapp/components/post_view/index.js @@ -0,0 +1,24 @@ +// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import {connect} from 'react-redux'; +import {bindActionCreators} from 'redux'; +import {viewChannel} from 'mattermost-redux/actions/channels'; + +import PostViewCache from './post_view_cache.jsx'; + +function mapStateToProps(state, ownProps) { + return { + ...ownProps + }; +} + +function mapDispatchToProps(dispatch) { + return { + actions: bindActionCreators({ + viewChannel + }, dispatch) + }; +} + +export default connect(mapStateToProps, mapDispatchToProps)(PostViewCache); diff --git a/webapp/components/post_view/post_view_cache.jsx b/webapp/components/post_view/post_view_cache.jsx index d7cb360d1..beb20360a 100644 --- a/webapp/components/post_view/post_view_cache.jsx +++ b/webapp/components/post_view/post_view_cache.jsx @@ -5,13 +5,18 @@ import PostViewController from './post_view_controller.jsx'; import ChannelStore from 'stores/channel_store.jsx'; import UserStore from 'stores/user_store.jsx'; -import * as AsyncClient from 'utils/async_client.jsx'; import React from 'react'; const MAXIMUM_CACHED_VIEWS = 5; export default class PostViewCache extends React.Component { + static propTypes = { + actions: React.PropTypes.shape({ + viewChannel: React.PropTypes.func.isRequired + }).isRequired + } + constructor(props) { super(props); @@ -32,7 +37,7 @@ export default class PostViewCache extends React.Component { componentWillUnmount() { if (UserStore.getCurrentUser()) { - AsyncClient.viewChannel('', this.state.currentChannelId || ''); + this.props.actions.viewChannel('', this.state.currentChannelId || ''); } ChannelStore.removeChangeListener(this.onChannelChange); } |