summaryrefslogtreecommitdiff
path: root/web-ui/app
diff options
context:
space:
mode:
authorDuda Dornelles <ddornell@thoughtworks.com>2014-10-16 14:59:49 +0200
committerDuda Dornelles <ddornell@thoughtworks.com>2014-10-16 14:59:56 +0200
commit5a0425986800bf03de8c49dc00f45d86d3b365ee (patch)
tree967bdd7868d67adaf1967f9616ef6a1702d5fa6f /web-ui/app
parent2871fd91a844e007cbf821b51f6bba16cf727abb (diff)
for #95, make sure that the tag list is also refreshed when the mail list is refreshed, since there can be new unread mails and we need to update the count
Diffstat (limited to 'web-ui/app')
-rw-r--r--web-ui/app/js/dispatchers/left_pane_dispatcher.js8
-rw-r--r--web-ui/app/js/mail_list/ui/mail_list.js3
-rw-r--r--web-ui/app/js/tags/data/tags.js2
-rw-r--r--web-ui/app/js/tags/ui/tag_list.js3
4 files changed, 9 insertions, 7 deletions
diff --git a/web-ui/app/js/dispatchers/left_pane_dispatcher.js b/web-ui/app/js/dispatchers/left_pane_dispatcher.js
index 0ceb3790..21898dca 100644
--- a/web-ui/app/js/dispatchers/left_pane_dispatcher.js
+++ b/web-ui/app/js/dispatchers/left_pane_dispatcher.js
@@ -29,8 +29,8 @@ define(
function leftPaneDispatcher() {
var initialized = false;
- this.refreshTagList = function () {
- this.trigger(document, events.tags.want, { caller: this.$node });
+ this.refreshTagList = function (ev, data) {
+ this.trigger(document, events.tags.want, { caller: this.$node, skipMailListRefresh: data.skipMailListRefresh });
};
this.loadTags = function (ev, data) {
@@ -39,7 +39,7 @@ define(
this.selectTag = function (ev, data) {
var tag = (data && data.tag) || urlParams.getTag();
- this.trigger(document, events.ui.tag.select, { tag: tag });
+ this.trigger(document, events.ui.tag.select, { tag: tag, skipMailListRefresh: data.skipMailListRefresh });
};
this.pushUrlState = function (ev, data) {
@@ -60,7 +60,7 @@ define(
this.on(document, events.dispatchers.tags.refreshTagList, this.refreshTagList);
this.on(document, events.ui.tags.loaded, this.selectTag);
this.on(document, events.ui.tag.selected, this.pushUrlState);
- this.trigger(document, events.tags.want, { caller: this.$node } );
+ this.trigger(document, events.tags.want, { caller: this.$node });
});
}
}
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 1f915a57..7b518320 100644
--- a/web-ui/app/js/mail_list/ui/mail_list.js
+++ b/web-ui/app/js/mail_list/ui/mail_list.js
@@ -100,6 +100,9 @@ define(
};
this.refreshMailList = function (ev, data) {
+ if (ev) { // triggered by the event, so we need to refresh the tag list
+ this.trigger(document, events.dispatchers.tags.refreshTagList, { skipMailListRefresh: true });
+ }
resetMailList();
renderMails(data.mails);
};
diff --git a/web-ui/app/js/tags/data/tags.js b/web-ui/app/js/tags/data/tags.js
index 97dd12a6..4a1e6af0 100644
--- a/web-ui/app/js/tags/data/tags.js
+++ b/web-ui/app/js/tags/data/tags.js
@@ -40,7 +40,7 @@ define(['flight/lib/component', 'page/events', 'mixins/with_feature_toggle'], fu
function sendTagsBackTo(on, params) {
return function(data) {
data.push(DataTags.all);
- on.trigger(params.caller, events.tags.received, {tags: data});
+ on.trigger(params.caller, events.tags.received, {tags: data, skipMailListRefresh: params.skipMailListRefresh});
};
}
diff --git a/web-ui/app/js/tags/ui/tag_list.js b/web-ui/app/js/tags/ui/tag_list.js
index b5b4d555..850a5fab 100644
--- a/web-ui/app/js/tags/ui/tag_list.js
+++ b/web-ui/app/js/tags/ui/tag_list.js
@@ -92,10 +92,9 @@ define(
}.bind(this));
};
-
this.loadTagList = function(ev, data) {
this.renderTagList(_.sortBy(data.tags, tagOrder));
- this.trigger(document, events.ui.tags.loaded, { tag: this.attr.currentTag });
+ this.trigger(document, events.ui.tags.loaded, { tag: this.attr.currentTag, skipMailListRefresh: data.skipMailListRefresh});
};
this.saveTag = function(ev, data) {