summaryrefslogtreecommitdiffstats
path: root/webapp/components/file_attachment_list.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 /webapp/components/file_attachment_list.jsx
parent29fe6a3d13c9c7aa490fffebbe5d1b5fdf1e3090 (diff)
downloadchat-12896bd23eeba79884245c1c29fdc568cf21a7fa.tar.gz
chat-12896bd23eeba79884245c1c29fdc568cf21a7fa.tar.bz2
chat-12896bd23eeba79884245c1c29fdc568cf21a7fa.zip
Converting to Webpack. Stage 1.
Diffstat (limited to 'webapp/components/file_attachment_list.jsx')
-rw-r--r--webapp/components/file_attachment_list.jsx64
1 files changed, 64 insertions, 0 deletions
diff --git a/webapp/components/file_attachment_list.jsx b/webapp/components/file_attachment_list.jsx
new file mode 100644
index 000000000..59fd56bc3
--- /dev/null
+++ b/webapp/components/file_attachment_list.jsx
@@ -0,0 +1,64 @@
+// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import ViewImageModal from './view_image.jsx';
+import FileAttachment from './file_attachment.jsx';
+import Constants from 'utils/constants.jsx';
+
+import React from 'react';
+
+export default class FileAttachmentList extends React.Component {
+ constructor(props) {
+ super(props);
+
+ this.handleImageClick = this.handleImageClick.bind(this);
+
+ this.state = {showPreviewModal: false, startImgId: 0};
+ }
+ handleImageClick(indexClicked) {
+ this.setState({showPreviewModal: true, startImgId: indexClicked});
+ }
+ render() {
+ var filenames = this.props.filenames;
+
+ var postFiles = [];
+ for (var i = 0; i < filenames.length && i < Constants.MAX_DISPLAY_FILES; i++) {
+ postFiles.push(
+ <FileAttachment
+ key={'file_attachment_' + i}
+ filename={filenames[i]}
+ index={i}
+ handleImageClick={this.handleImageClick}
+ />
+ );
+ }
+
+ return (
+ <div>
+ <div className='post-image__columns'>
+ {postFiles}
+ </div>
+ <ViewImageModal
+ show={this.state.showPreviewModal}
+ onModalDismissed={() => this.setState({showPreviewModal: false})}
+ channelId={this.props.channelId}
+ userId={this.props.userId}
+ startId={this.state.startImgId}
+ filenames={filenames}
+ />
+ </div>
+ );
+ }
+}
+
+FileAttachmentList.propTypes = {
+
+ // a list of file pathes displayed by this
+ filenames: React.PropTypes.arrayOf(React.PropTypes.string).isRequired,
+
+ // the channel that this is part of
+ channelId: React.PropTypes.string,
+
+ // the user that owns the post that this is attached to
+ userId: React.PropTypes.string
+};