diff options
Diffstat (limited to 'web-ui/app')
-rw-r--r-- | web-ui/app/js/dispatchers/left_pane_dispatcher.js | 8 | ||||
-rw-r--r-- | web-ui/app/js/mail_list/ui/mail_list.js | 3 | ||||
-rw-r--r-- | web-ui/app/js/tags/data/tags.js | 2 | ||||
-rw-r--r-- | web-ui/app/js/tags/ui/tag_list.js | 3 |
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) { |