diff options
Diffstat (limited to 'webapp/components/post_view/post_image.jsx')
-rw-r--r-- | webapp/components/post_view/post_image.jsx | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/webapp/components/post_view/post_image.jsx b/webapp/components/post_view/post_image.jsx deleted file mode 100644 index 322742305..000000000 --- a/webapp/components/post_view/post_image.jsx +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import React from 'react'; -import PropTypes from 'prop-types'; - -import {postListScrollChange} from 'actions/global_actions.jsx'; - -export default class PostImageEmbed extends React.PureComponent { - static propTypes = { - - /** - * The link to load the image from - */ - link: PropTypes.string.isRequired, - - /** - * Function to call when image is loaded - */ - onLinkLoaded: PropTypes.func, - - /** - * The function to call if image load fails - */ - onLinkLoadError: PropTypes.func - } - - 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, - errored: false - }); - - postListScrollChange(); - - if (this.props.onLinkLoaded) { - this.props.onLinkLoaded(); - } - } - - handleLoadError() { - this.setState({ - errored: true, - loaded: true - }); - if (this.props.onLinkLoadError) { - this.props.onLinkLoadError(); - } - } - - render() { - if (this.state.errored || !this.state.loaded) { - return null; - } - - return ( - <div - className='post__embed-container' - > - <img - className='img-div' - src={this.props.link} - /> - </div> - ); - } -} |