summaryrefslogtreecommitdiffstats
path: root/web/react/components/create_post.jsx
diff options
context:
space:
mode:
authorhmhealey <harrisonmhealey@gmail.com>2015-08-10 08:41:18 -0400
committerhmhealey <harrisonmhealey@gmail.com>2015-08-10 14:04:23 -0400
commit4e8af44370bfb4276e009526045a4983d5ff245a (patch)
tree901e39bc69433a9c77325923cfcb08da93ab3dd5 /web/react/components/create_post.jsx
parent20d755f3dd5c797413177752884d8589c1f46931 (diff)
downloadchat-4e8af44370bfb4276e009526045a4983d5ff245a.tar.gz
chat-4e8af44370bfb4276e009526045a4983d5ff245a.tar.bz2
chat-4e8af44370bfb4276e009526045a4983d5ff245a.zip
Added the ability to cancel file uploads on posts
Diffstat (limited to 'web/react/components/create_post.jsx')
-rw-r--r--web/react/components/create_post.jsx22
1 files changed, 17 insertions, 5 deletions
diff --git a/web/react/components/create_post.jsx b/web/react/components/create_post.jsx
index 09d7acd9c..b32b53749 100644
--- a/web/react/components/create_post.jsx
+++ b/web/react/components/create_post.jsx
@@ -180,12 +180,21 @@ module.exports = React.createClass({
},
removePreview: function(filename) {
var previews = this.state.previews;
- for (var i = 0; i < previews.length; i++) {
- if (previews[i] === filename) {
- previews.splice(i, 1);
- break;
+ var uploadsInProgress = this.state.uploadsInProgress;
+
+ // this can be either an uploaded file or an in progress upload that we need to remove
+ var index = previews.indexOf(filename);
+ if (index !== -1) {
+ previews.splice(index, 1);
+ } else {
+ index = uploadsInProgress.indexOf(filename);
+
+ if (index !== -1) {
+ uploadsInProgress.splice(index, 1);
+ this.refs.fileUpload.cancelUpload(filename);
}
}
+
var draft = PostStore.getCurrentDraft();
if (!draft) {
draft = {}
@@ -193,8 +202,10 @@ module.exports = React.createClass({
draft['uploadsInProgress'] = [];
}
draft['previews'] = previews;
+ draft['uploadsInProgress'] = uploadsInProgress;
PostStore.storeCurrentDraft(draft);
- this.setState({previews: previews});
+
+ this.setState({previews: previews, uploadsInProgress: uploadsInProgress});
},
componentDidMount: function() {
ChannelStore.addChangeListener(this._onChange);
@@ -270,6 +281,7 @@ module.exports = React.createClass({
id="post_textbox"
ref="textbox" />
<FileUpload
+ ref='fileUpload'
getFileCount={this.getFileCount}
onUploadStart={this.handleUploadStart}
onFileUpload={this.handleFileUploadComplete}