summaryrefslogtreecommitdiff
path: root/web-ui/app
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
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')
-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
-rw-r--r--web-ui/app/js/page/events.js1
-rw-r--r--web-ui/app/scss/_compose.scss1
-rw-r--r--web-ui/app/templates/compose/attachments_list.hbs2
6 files changed, 18 insertions, 1 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);
diff --git a/web-ui/app/js/page/events.js b/web-ui/app/js/page/events.js
index 57dd346a..1ec27c46 100644
--- a/web-ui/app/js/page/events.js
+++ b/web-ui/app/js/page/events.js
@@ -146,6 +146,7 @@ define(function () {
uploadedAttachment: 'mail:uploaded:attachment',
uploadingAttachment: 'mail:uploading:attachment',
startUploadAttachment: 'mail:start:upload:attachment',
+ failedUploadAttachment: 'mail:failed:upload:attachment',
appendAttachment: 'mail:append:attachment',
resetAttachments: 'mail:reset:attachments',
removeAttachment: 'mail:remove:attachment'
diff --git a/web-ui/app/scss/_compose.scss b/web-ui/app/scss/_compose.scss
index dfde3d19..a0c1d923 100644
--- a/web-ui/app/scss/_compose.scss
+++ b/web-ui/app/scss/_compose.scss
@@ -129,6 +129,7 @@
#attachment-upload-item {
display: none;
+ line-height: 28px;
.progress {
width: 0%;
diff --git a/web-ui/app/templates/compose/attachments_list.hbs b/web-ui/app/templates/compose/attachments_list.hbs
index 639c395a..0091583d 100644
--- a/web-ui/app/templates/compose/attachments_list.hbs
+++ b/web-ui/app/templates/compose/attachments_list.hbs
@@ -14,10 +14,10 @@
</ul>
<ul id="attachment-upload-item">
<li>
- <a>Uploading...</a>
<div id="attachment-upload-item-progress" class="progress">
<div class="progress-bar"></div>
</div>
+ <a>Uploading... <i id="attachment-upload-item-abort" class="fa fa-close remove-icon"></i></a>
</li>
</ul>
</div>