diff options
Diffstat (limited to 'web/react/components/post_image.jsx')
-rw-r--r-- | web/react/components/post_image.jsx | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/web/react/components/post_image.jsx b/web/react/components/post_image.jsx deleted file mode 100644 index da4a25794..000000000 --- a/web/react/components/post_image.jsx +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -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 ( - <img - className='img-div placeholder' - height='500px' - /> - ); - } - - return ( - <img - className='img-div' - src={this.props.link} - /> - ); - } -} - -PostImageEmbed.propTypes = { - link: React.PropTypes.string.isRequired -}; |