summaryrefslogtreecommitdiff
path: root/web-ui/app
diff options
context:
space:
mode:
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) {