summaryrefslogtreecommitdiffstats
path: root/webapp/components/post_view/post_image.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/post_view/post_image.jsx')
-rw-r--r--webapp/components/post_view/post_image.jsx105
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>
- );
- }
-}