// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import ReactDOM from 'react-dom'; import * as Utils from 'utils/utils.jsx'; import {getFileThumbnailUrl} from 'mattermost-redux/utils/file_utils'; import PropTypes from 'prop-types'; import React from 'react'; import loadingGif from 'images/load.gif'; export default class FilePreview extends React.Component { constructor(props) { super(props); this.handleRemove = this.handleRemove.bind(this); } componentDidUpdate() { if (this.props.uploadsInProgress.length > 0) { ReactDOM.findDOMNode(this.refs[this.props.uploadsInProgress[0]]).scrollIntoView(); } } handleRemove(id) { this.props.onRemove(id); } render() { var previews = []; this.props.fileInfos.forEach((info) => { const type = Utils.getFileType(info.extension); let className = 'file-preview'; let previewImage; if (type === 'image' || type === 'svg') { previewImage = ( ); } else { className += ' custom-file'; previewImage =
; } previews.push( ); }); this.props.uploadsInProgress.forEach((clientId) => { previews.push( ); }); return (