summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNavaL <mnandri@thoughtworks.com>2016-01-11 18:37:03 +0100
committerNavaL <mnandri@thoughtworks.com>2016-01-11 18:37:03 +0100
commitc28bdb520cc4ea1249d5a2953d9f78d40dd10806 (patch)
treedcf9fd931785d27c966b6cecbcc389c8abbb0d9b
parent0c6c8bed304884ab5f3ade69fb0d68d2cbe043e6 (diff)
auto save draft on adding attachment, within timeout
Issue #573
-rw-r--r--web-ui/app/js/mail_view/ui/draft_box.js2
-rw-r--r--web-ui/app/js/mixins/with_mail_edit_base.js1
-rw-r--r--web-ui/test/spec/mixins/with_mail_edit_base.spec.js12
3 files changed, 14 insertions, 1 deletions
diff --git a/web-ui/app/js/mail_view/ui/draft_box.js b/web-ui/app/js/mail_view/ui/draft_box.js
index 6a640d88..88051f30 100644
--- a/web-ui/app/js/mail_view/ui/draft_box.js
+++ b/web-ui/app/js/mail_view/ui/draft_box.js
@@ -87,7 +87,7 @@ define(
this.on(this, events.mail.here, this.renderDraftBox);
this.on(document, events.mail.sent, this.showNoMessageSelected);
this.on(document, events.mail.deleted, this.mailDeleted);
- this.trigger(document, events.mail.want, { mail: this.attr.mailIdent , caller: this });
+ this.trigger(document, events.mail.want, { mail: this.attr.mailIdent, caller: this });
});
}
}
diff --git a/web-ui/app/js/mixins/with_mail_edit_base.js b/web-ui/app/js/mixins/with_mail_edit_base.js
index d078c582..d7da4680 100644
--- a/web-ui/app/js/mixins/with_mail_edit_base.js
+++ b/web-ui/app/js/mixins/with_mail_edit_base.js
@@ -107,6 +107,7 @@ define(
this.enableAutoSave = function () {
this.select('bodyBox').on('input', this.monitorInput.bind(this));
this.select('subjectBox').on('input', this.monitorInput.bind(this));
+ this.on(document, events.mail.appendAttachment, this.monitorInput.bind(this));
DraftSaveStatus.attachTo(this.select('draftSaveStatus'));
};
diff --git a/web-ui/test/spec/mixins/with_mail_edit_base.spec.js b/web-ui/test/spec/mixins/with_mail_edit_base.spec.js
index 2b35d4f5..4ff02318 100644
--- a/web-ui/test/spec/mixins/with_mail_edit_base.spec.js
+++ b/web-ui/test/spec/mixins/with_mail_edit_base.spec.js
@@ -48,6 +48,18 @@ describeMixin('mixins/with_mail_edit_base', function () {
}, 10);
});
+ it('saves the draft when an attachment is added within timeout', function(done) {
+ var saveDraftSpy = spyOnEvent(document, Pixelated.events.mail.saveDraft);
+ this.component.enableAutoSave();
+ this.component.trigger(document, Pixelated.events.mail.appendAttachment);
+ expect(saveDraftSpy).not.toHaveBeenTriggeredOn(document);
+
+ setTimeout(function () {
+ expect(saveDraftSpy).toHaveBeenTriggeredOn(document);
+ done();
+ }, 10);
+ });
+
it('does not save if mail is sent before the save draft interval number of seconds', function(done) {
var saveDraftSpy = spyOnEvent(document, Pixelated.events.mail.saveDraft);
this.component.monitorInput();