summaryrefslogtreecommitdiff
path: root/web-ui/app/js/mail_view
diff options
context:
space:
mode:
authorFelix Hammerl <fhammerl@thoughtworks.com>2016-02-03 18:48:13 +0100
committerFelix Hammerl <fhammerl@thoughtworks.com>2016-02-03 18:54:33 +0100
commit511d621593a7c157f9f08994da1485a518f95796 (patch)
treeea31b5c4d7d6de265c79a8cb60d054734ed2bc24 /web-ui/app/js/mail_view
parent761f429873cb453f244eaf4cad7848e78f9f78c9 (diff)
Issue #552 - Add upload abort
Cancels an upload and restores the user interface to ready-for-upload state
Diffstat (limited to 'web-ui/app/js/mail_view')
-rw-r--r--web-ui/app/js/mail_view/ui/attachment_icon.js1
-rw-r--r--web-ui/app/js/mail_view/ui/attachment_list.js13
-rw-r--r--web-ui/app/js/mail_view/ui/send_button.js1
3 files changed, 15 insertions, 0 deletions
diff --git a/web-ui/app/js/mail_view/ui/attachment_icon.js b/web-ui/app/js/mail_view/ui/attachment_icon.js
index 6b9cb31c..e04fc02a 100644
--- a/web-ui/app/js/mail_view/ui/attachment_icon.js
+++ b/web-ui/app/js/mail_view/ui/attachment_icon.js
@@ -49,6 +49,7 @@ define(
this.render();
this.on(document, events.mail.uploadingAttachment, this.uploadInProgress);
this.on(document, events.mail.uploadedAttachment, this.uploadFinished);
+ this.on(document, events.mail.failedUploadAttachment, this.uploadFinished);
}
this.on(this.$node, 'click', function() {
if (!this.attr.busy) {
diff --git a/web-ui/app/js/mail_view/ui/attachment_list.js b/web-ui/app/js/mail_view/ui/attachment_list.js
index 19a48a8d..936b2e81 100644
--- a/web-ui/app/js/mail_view/ui/attachment_list.js
+++ b/web-ui/app/js/mail_view/ui/attachment_list.js
@@ -31,6 +31,7 @@ define(
attachmentListItem: '#attachment-list-item',
attachmentUploadItem: '#attachment-upload-item',
attachmentUploadItemProgress: '#attachment-upload-item-progress',
+ attachmentUploadItemAbort: '#attachment-upload-item-abort',
attachmentBaseUrl: '/attachment',
attachments: [],
closeIcon: '.close-icon',
@@ -119,6 +120,13 @@ define(
this.select('attachmentUploadItem').hide();
};
+ this.attachUploadAbort = function(e, data) {
+ this.on(this.select('attachmentUploadItemAbort'), 'click', function(e) {
+ data.abort();
+ e.preventDefault();
+ });
+ };
+
this.addJqueryFileUploadConfig = function() {
var self = this;
@@ -128,6 +136,7 @@ define(
add: function(e, data) {
if (self.performPreUploadCheck(e, data)) {
self.showUploadProgressBar();
+ self.attachUploadAbort(e, data);
data.submit();
} else {
self.showUploadError();
@@ -139,6 +148,10 @@ define(
self.hideUploadProgressBar();
self.trigger(document, events.mail.uploadedAttachment, response.result);
},
+ fail: function(e, data){
+ self.hideUploadProgressBar();
+ self.trigger(document, events.mail.failedUploadAttachment);
+ },
progressall: function (e, data) {
var progressRate = parseInt(data.loaded / data.total * 100, 10);
self.select('attachmentUploadItemProgress').css('width', progressRate + '%');
diff --git a/web-ui/app/js/mail_view/ui/send_button.js b/web-ui/app/js/mail_view/ui/send_button.js
index b1f35906..c4cf86dc 100644
--- a/web-ui/app/js/mail_view/ui/send_button.js
+++ b/web-ui/app/js/mail_view/ui/send_button.js
@@ -116,6 +116,7 @@ define([
this.on(document, events.mail.uploadingAttachment, this.uploadInProgress);
this.on(document, events.mail.uploadedAttachment, this.uploadFinished);
+ this.on(document, events.mail.failedUploadAttachment, this.uploadFinished);
this.on(document, events.dispatchers.rightPane.clear, this.teardown);
this.on(document, events.ui.sendbutton.enable, this.resetButton);