From 6399a94ce221be3d15e7132654c28cd953075ec6 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Fri, 27 May 2016 16:01:28 -0400 Subject: PLT-2672 Refactored posts view with caching (#3054) * Refactored posts view to use view controller design * Add post view caching * Required updates after rebase * Fixed bug where current channel not set yet was causing breakage --- webapp/components/post_image.jsx | 83 ---------------------------------------- 1 file changed, 83 deletions(-) delete mode 100644 webapp/components/post_image.jsx (limited to 'webapp/components/post_image.jsx') diff --git a/webapp/components/post_image.jsx b/webapp/components/post_image.jsx deleted file mode 100644 index d1d1a6c7a..000000000 --- a/webapp/components/post_image.jsx +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import React from 'react'; - -export default class PostImageEmbed extends React.Component { - constructor(props) { - super(props); - - this.handleLoadComplete = this.handleLoadComplete.bind(this); - this.handleLoadError = this.handleLoadError.bind(this); - - this.state = { - loaded: false, - errored: false - }; - } - - componentWillMount() { - this.loadImg(this.props.link); - } - - componentWillReceiveProps(nextProps) { - if (nextProps.link !== this.props.link) { - this.setState({ - loaded: false, - errored: false - }); - } - } - - componentDidUpdate(prevProps) { - if (!this.state.loaded && prevProps.link !== this.props.link) { - this.loadImg(this.props.link); - } - } - - loadImg(src) { - const img = new Image(); - img.onload = this.handleLoadComplete; - img.onerror = this.handleLoadError; - img.src = src; - } - - handleLoadComplete() { - this.setState({ - loaded: true - }); - } - - handleLoadError() { - this.setState({ - errored: true, - loaded: true - }); - } - - render() { - if (this.state.errored) { - return null; - } - - if (!this.state.loaded) { - return ( - - ); - } - - return ( - - ); - } -} - -PostImageEmbed.propTypes = { - link: React.PropTypes.string.isRequired -}; -- cgit v1.2.3-1-g7c22