summaryrefslogtreecommitdiff
path: root/web-ui/app/js/mail_list
diff options
context:
space:
mode:
authorDuda Dornelles <dudassdornelles@gmail.com>2014-10-20 13:28:07 +0200
committerDuda Dornelles <dudassdornelles@gmail.com>2014-10-20 13:28:07 +0200
commitf82306d6703dcad6d53c9fba64ef652a57d0608c (patch)
tree038091ca4f1ebb14f9c8cf40511b8b07753ceb27 /web-ui/app/js/mail_list
parent9a4dd1a4406fb964ff0fc2dc2a658b45736c2b30 (diff)
parent13dceb0929d5b615742df3d99f868fe49c304c4b (diff)
Merge pull request #116 from pedrovereza/issue-115
#115 - Checked mails depend on current tag
Diffstat (limited to 'web-ui/app/js/mail_list')
-rw-r--r--web-ui/app/js/mail_list/ui/mail_list.js15
1 files changed, 13 insertions, 2 deletions
diff --git a/web-ui/app/js/mail_list/ui/mail_list.js b/web-ui/app/js/mail_list/ui/mail_list.js
index 7b518320..e873d279 100644
--- a/web-ui/app/js/mail_list/ui/mail_list.js
+++ b/web-ui/app/js/mail_list/ui/mail_list.js
@@ -75,7 +75,10 @@ define(
if (data.ident) {
self.attr.currentMailIdent = data.ident;
}
+
self.attr.currentTag = data.tag || self.attr.currentTag;
+
+ self.updateCheckAllCheckbox();
}
function renderMails(mails) {
@@ -132,17 +135,25 @@ define(
};
this.respondWithCheckedMails = function (ev, caller) {
- this.trigger(caller, events.ui.mail.hereChecked, { checkedMails : this.attr.checkedMails });
+ this.trigger(caller, events.ui.mail.hereChecked, { checkedMails : this.checkedMailsForCurrentTag()});
};
this.updateCheckAllCheckbox = function () {
- if (_.keys(this.attr.checkedMails).length > 0) {
+ if (this.checkedMailsForCurrentTag().length > 0) {
this.trigger(document, events.ui.mails.hasMailsChecked, true);
} else {
this.trigger(document, events.ui.mails.hasMailsChecked, false);
}
};
+ this.checkedMailsForCurrentTag = function() {
+ var checkedMailsForCurrentTag = _.filter(self.attr.checkedMails, function(mail) {
+ return _.contains(mail.tags, self.attr.currentTag);
+ });
+
+ return checkedMailsForCurrentTag.length > 0 ? checkedMailsForCurrentTag : {};
+ }
+
this.addToSelectedMails = function (ev, data) {
this.attr.checkedMails[data.mail.ident] = data.mail;
this.updateCheckAllCheckbox();