diff --git a/web-ui/app/js/mail_view/data/attachment_list.js b/web-ui/app/js/mail_view/data/attachment_list.js
index af48b05..0815cdf 100644
--- a/web-ui/app/js/mail_view/data/attachment_list.js
+++ b/web-ui/app/js/mail_view/data/attachment_list.js
@@ -30,6 +30,7 @@ define(
this.addAttachment = function (event, data) {
this.attr.attachments.push(data);
+ console.log(this.attr.attachments);
};
this.after('initialize', function () {
diff --git a/web-ui/app/js/mail_view/ui/attachment.js b/web-ui/app/js/mail_view/ui/attachment.js
index f57fea5..529bc97 100644
--- a/web-ui/app/js/mail_view/ui/attachment.js
+++ b/web-ui/app/js/mail_view/ui/attachment.js
@@ -19,14 +19,15 @@ define(
[
'flight/lib/component',
'page/events',
- 'features'
+ 'features',
+ 'helpers/monitored_ajax'
],
- function (defineComponent, events, features) {
+ function (defineComponent, events, features, monitoredAjax) {
'use strict';
return defineComponent(function () {
- this.render = function () {
+ this.renderButton = function () {
this.$node.html('');
};
@@ -52,14 +53,34 @@ define(
});
}
+ this.updateAttachmentList = function(data){
+ $('#files').html('' + data.filename + ' (' + humanReadable(data.filesize) + ')' + '');
+ console.log(data);
+ this.trigger(document, events.mail.uploadedAttachment, data);
+ }.bind(this);
+
this.upload = function () {
- addJqueryFileUploadConfig(this);
- $('#fileupload').click();
+ var $fileUploadInput = $('#fileupload');
+ $fileUploadInput.click();
+ $fileUploadInput.on('change', this.uploadAttachment);
};
+ this.uploadAttachment = function () {
+ var data = new FormData(),
+ attachment = $('#fileupload')[0].files[0];
+
+ data.append('attachment', attachment);
+ monitoredAjax(this, '/attachment', {
+ type: 'POST',
+ contentType: false,
+ processData: false,
+ data: data
+ }).done(this.updateAttachmentList);
+ }.bind(this);
+
this.after('initialize', function () {
if (features.isEnabled('attachment')) {
- this.render();
+ this.renderButton();
}
this.on(this.$node, 'click', this.upload);
});
diff --git a/web-ui/test/spec/mail_view/ui/attachment.spec.js b/web-ui/test/spec/mail_view/ui/attachment.spec.js
index bbea2f5..bfd9626 100644
--- a/web-ui/test/spec/mail_view/ui/attachment.spec.js
+++ b/web-ui/test/spec/mail_view/ui/attachment.spec.js
@@ -11,11 +11,12 @@ describeComponent('mail_view/ui/attachment', function () {
expect(this.$node.html()).toMatch('');
});
- xit('uploads attachment on click', function () {
- var fileUploads = spyOn($, 'fileupload');
+ iit('uploads attachment on click', function () {
+ var ajax = spyOn(this.component, 'monitoredAjax');
this.$node.click();
- expect(fileUploads).toHaveBeenCalled();
+ expect(ajax).toHaveBeenCalled();
});
+
});
});