summaryrefslogtreecommitdiffstats
path: root/webapp/components/post_view/post_view_cache.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/post_view/post_view_cache.jsx')
-rw-r--r--webapp/components/post_view/post_view_cache.jsx98
1 files changed, 0 insertions, 98 deletions
diff --git a/webapp/components/post_view/post_view_cache.jsx b/webapp/components/post_view/post_view_cache.jsx
deleted file mode 100644
index b8ae39e4a..000000000
--- a/webapp/components/post_view/post_view_cache.jsx
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information
-
-import PostViewController from './post_view_controller.jsx';
-
-import ChannelStore from 'stores/channel_store.jsx';
-import UserStore from 'stores/user_store.jsx';
-
-import PropTypes from 'prop-types';
-
-import React from 'react';
-
-const MAXIMUM_CACHED_VIEWS = 5;
-
-export default class PostViewCache extends React.Component {
- static propTypes = {
- actions: PropTypes.shape({
- viewChannel: PropTypes.func.isRequired
- }).isRequired
- }
-
- constructor(props) {
- super(props);
-
- this.onChannelChange = this.onChannelChange.bind(this);
-
- const currentChannelId = ChannelStore.getCurrentId();
- const channel = ChannelStore.getCurrent();
-
- this.state = {
- currentChannelId,
- channels: channel ? [channel] : []
- };
- }
-
- componentDidMount() {
- ChannelStore.addChangeListener(this.onChannelChange);
- }
-
- componentWillUnmount() {
- if (UserStore.getCurrentUser()) {
- this.props.actions.viewChannel('', this.state.currentChannelId || '');
- }
- ChannelStore.removeChangeListener(this.onChannelChange);
- }
-
- onChannelChange() {
- const channels = Object.assign([], this.state.channels);
- const currentChannel = ChannelStore.getCurrent();
-
- if (!currentChannel) {
- return;
- }
-
- // make sure current channel really changed
- if (currentChannel.id === this.state.currentChannelId) {
- return;
- }
-
- if (channels.length > MAXIMUM_CACHED_VIEWS) {
- channels.shift();
- }
-
- const index = channels.map((c) => c.id).indexOf(currentChannel.id);
- if (index !== -1) {
- channels.splice(index, 1);
- }
-
- channels.push(currentChannel);
-
- this.setState({
- currentChannelId: currentChannel.id,
- channels
- });
- }
-
- render() {
- const channels = this.state.channels;
- const currentChannelId = this.state.currentChannelId;
-
- const postViews = [];
- for (let i = 0; i < channels.length; i++) {
- postViews.push(
- <PostViewController
- key={'postviewcontroller_' + channels[i].id}
- channel={channels[i]}
- active={channels[i].id === currentChannelId}
- />
- );
- }
-
- return (
- <div id='post-list'>
- {postViews}
- </div>
- );
- }
-}