Changed file upload components to properly remove previews for failed uploads

Этот коммит содержится в:
hmhealey
2015-08-10 13:15:01 -04:00
родитель c9a1bf2d33
Коммит 96ad8cb114
3 изменённых файлов: 36 добавлений и 6 удалений

Просмотреть файл

@@ -132,8 +132,23 @@ module.exports = React.createClass({
this.setState({uploadsInProgress: draft['uploadsInProgress'], previews: draft['previews']}); this.setState({uploadsInProgress: draft['uploadsInProgress'], previews: draft['previews']});
}, },
handleUploadError: function(err) { handleUploadError: function(err, clientId) {
this.setState({ server_error: err }); 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() { clearPreviews: function() {
this.setState({previews: []}); this.setState({previews: []});

Просмотреть файл

@@ -165,8 +165,23 @@ module.exports = React.createClass({
this.setState({uploadsInProgress: draft['uploadsInProgress'], previews: draft['previews']}); this.setState({uploadsInProgress: draft['uploadsInProgress'], previews: draft['previews']});
}, },
handleUploadError: function(err) { handleUploadError: function(err, clientId) {
this.setState({ server_error: err }); 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) { removePreview: function(id) {
var previews = this.state.previews; var previews = this.state.previews;

Просмотреть файл

@@ -60,7 +60,7 @@ module.exports = React.createClass({
this.setState({requests: requests}); this.setState({requests: requests});
}.bind(this), }.bind(this),
function(err) { function(err) {
this.props.onUploadError(err); this.props.onUploadError(err, clientId);
}.bind(this) }.bind(this)
); );
@@ -151,7 +151,7 @@ module.exports = React.createClass({
self.setState({requests: requests}); self.setState({requests: requests});
}, },
function(err) { function(err) {
self.props.onUploadError(err); self.props.onUploadError(err, clientId);
} }
); );