diff options
author | hmhealey <harrisonmhealey@gmail.com> | 2015-08-10 13:15:01 -0400 |
---|---|---|
committer | hmhealey <harrisonmhealey@gmail.com> | 2015-08-10 14:04:23 -0400 |
commit | 96ad8cb1140f5295551154920aa215527056559d (patch) | |
tree | a10920b35c966592f0dd499faddec6b36206072c /web/react/components | |
parent | c9a1bf2d336cc5718cdf327f37cfdf87dc0e2705 (diff) | |
download | chat-96ad8cb1140f5295551154920aa215527056559d.tar.gz chat-96ad8cb1140f5295551154920aa215527056559d.tar.bz2 chat-96ad8cb1140f5295551154920aa215527056559d.zip |
Changed file upload components to properly remove previews for failed uploads
Diffstat (limited to 'web/react/components')
-rw-r--r-- | web/react/components/create_comment.jsx | 19 | ||||
-rw-r--r-- | web/react/components/create_post.jsx | 19 | ||||
-rw-r--r-- | web/react/components/file_upload.jsx | 4 |
3 files changed, 36 insertions, 6 deletions
diff --git a/web/react/components/create_comment.jsx b/web/react/components/create_comment.jsx index c16909b8b..4df6a1820 100644 --- a/web/react/components/create_comment.jsx +++ b/web/react/components/create_comment.jsx @@ -132,8 +132,23 @@ module.exports = React.createClass({ this.setState({uploadsInProgress: draft['uploadsInProgress'], previews: draft['previews']}); }, - handleUploadError: function(err) { - this.setState({ server_error: err }); + handleUploadError: function(err, clientId) { + var draft = PostStore.getCommentDraft(this.props.rootId); + if (!draft) { + draft = {}; + draft['message'] = ''; + draft['uploadsInProgress'] = []; + draft['previews'] = []; + } + + var index = draft['uploadsInProgress'].indexOf(clientId); + if (index != -1) { + draft['uploadsInProgress'].splice(index, 1); + } + + PostStore.storeCommentDraft(this.props.rootId, draft); + + this.setState({uploadsInProgress: draft['uploadsInProgress'], server_error: err}); }, clearPreviews: function() { this.setState({previews: []}); diff --git a/web/react/components/create_post.jsx b/web/react/components/create_post.jsx index a4107d4fc..55b2ae5c5 100644 --- a/web/react/components/create_post.jsx +++ b/web/react/components/create_post.jsx @@ -165,8 +165,23 @@ module.exports = React.createClass({ this.setState({uploadsInProgress: draft['uploadsInProgress'], previews: draft['previews']}); }, - handleUploadError: function(err) { - this.setState({ server_error: err }); + handleUploadError: function(err, clientId) { + var draft = PostStore.getDraft(this.state.channel_id); + if (!draft) { + draft = {}; + draft['message'] = ''; + draft['uploadsInProgress'] = []; + draft['previews'] = []; + } + + var index = draft['uploadsInProgress'].indexOf(clientId); + if (index != -1) { + draft['uploadsInProgress'].splice(index, 1); + } + + PostStore.storeDraft(this.state.channel_id, draft); + + this.setState({uploadsInProgress: draft['uploadsInProgress'], server_error: err}); }, removePreview: function(id) { var previews = this.state.previews; diff --git a/web/react/components/file_upload.jsx b/web/react/components/file_upload.jsx index 4b8965dcb..21e21a58a 100644 --- a/web/react/components/file_upload.jsx +++ b/web/react/components/file_upload.jsx @@ -60,7 +60,7 @@ module.exports = React.createClass({ this.setState({requests: requests}); }.bind(this), function(err) { - this.props.onUploadError(err); + this.props.onUploadError(err, clientId); }.bind(this) ); @@ -151,7 +151,7 @@ module.exports = React.createClass({ self.setState({requests: requests}); }, function(err) { - self.props.onUploadError(err); + self.props.onUploadError(err, clientId); } ); |