summaryrefslogtreecommitdiffstats
path: root/web/react/components/file_preview.jsx
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2016-03-14 08:50:46 -0400
committerChristopher Speller <crspeller@gmail.com>2016-03-16 18:02:55 -0400
commit12896bd23eeba79884245c1c29fdc568cf21a7fa (patch)
tree4e7f83d3e2564b9b89d669e9f7905ff11768b11a /web/react/components/file_preview.jsx
parent29fe6a3d13c9c7aa490fffebbe5d1b5fdf1e3090 (diff)
downloadchat-12896bd23eeba79884245c1c29fdc568cf21a7fa.tar.gz
chat-12896bd23eeba79884245c1c29fdc568cf21a7fa.tar.bz2
chat-12896bd23eeba79884245c1c29fdc568cf21a7fa.zip
Converting to Webpack. Stage 1.
Diffstat (limited to 'web/react/components/file_preview.jsx')
-rw-r--r--web/react/components/file_preview.jsx116
1 files changed, 0 insertions, 116 deletions
diff --git a/web/react/components/file_preview.jsx b/web/react/components/file_preview.jsx
deleted file mode 100644
index 97949ca3d..000000000
--- a/web/react/components/file_preview.jsx
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information.
-
-import * as Utils from '../utils/utils.jsx';
-
-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(e) {
- var previewDiv = e.target.parentNode.parentNode;
-
- if (previewDiv.hasAttribute('data-filename')) {
- this.props.onRemove(previewDiv.getAttribute('data-filename'));
- } else if (previewDiv.hasAttribute('data-client-id')) {
- this.props.onRemove(previewDiv.getAttribute('data-client-id'));
- }
- }
-
- render() {
- var previews = [];
- this.props.files.forEach((fullFilename) => {
- var filename = fullFilename;
- var originalFilename = filename;
- var filenameSplit = filename.split('.');
- var ext = filenameSplit[filenameSplit.length - 1];
- var type = Utils.getFileType(ext);
-
- filename = Utils.getFileUrl(filename);
-
- if (type === 'image') {
- previews.push(
- <div
- key={filename}
- className='file-preview'
- data-filename={originalFilename}
- >
- <img
- className='file-preview__image'
- src={filename}
- />
- <a
- className='file-preview__remove'
- onClick={this.handleRemove}
- >
- <i className='glyphicon glyphicon-remove'/>
- </a>
- </div>
- );
- } else {
- previews.push(
- <div
- key={filename}
- className='file-preview custom-file'
- data-filename={originalFilename}
- >
- <div className={'file-icon ' + Utils.getIconClassName(type)}/>
- <a
- className='file-preview__remove'
- onClick={this.handleRemove}
- >
- <i className='glyphicon glyphicon-remove'/>
- </a>
- </div>
- );
- }
- });
-
- this.props.uploadsInProgress.forEach((clientId) => {
- previews.push(
- <div
- ref={clientId}
- key={clientId}
- className='file-preview'
- data-client-id={clientId}
- >
- <img
- className='spinner'
- src='/static/images/load.gif'
- />
- <a
- className='file-preview__remove'
- onClick={this.handleRemove}
- >
- <i className='glyphicon glyphicon-remove'/>
- </a>
- </div>
- );
- });
-
- return (
- <div className='file-preview__container'>
- {previews}
- </div>
- );
- }
-}
-
-FilePreview.defaultProps = {
- files: [],
- uploadsInProgress: []
-};
-FilePreview.propTypes = {
- onRemove: React.PropTypes.func.isRequired,
- files: React.PropTypes.array,
- uploadsInProgress: React.PropTypes.array
-};