summaryrefslogtreecommitdiff
path: root/web-ui/app/js/page
diff options
context:
space:
mode:
Diffstat (limited to 'web-ui/app/js/page')
-rw-r--r--web-ui/app/js/page/default.js2
-rw-r--r--web-ui/app/js/page/unread_count_title.js25
2 files changed, 19 insertions, 8 deletions
diff --git a/web-ui/app/js/page/default.js b/web-ui/app/js/page/default.js
index 1ca10b50..e33ec723 100644
--- a/web-ui/app/js/page/default.js
+++ b/web-ui/app/js/page/default.js
@@ -128,7 +128,7 @@ define(
feedback.attachTo('#feedback');
feedbackSender.attachTo(document);
- unreadCountTitle.attachTo('#unread-count-title');
+ unreadCountTitle.attachTo(document);
}
return initialize;
diff --git a/web-ui/app/js/page/unread_count_title.js b/web-ui/app/js/page/unread_count_title.js
index f60f5668..26daabec 100644
--- a/web-ui/app/js/page/unread_count_title.js
+++ b/web-ui/app/js/page/unread_count_title.js
@@ -19,21 +19,32 @@
define(
[
'flight/lib/component',
- 'views/templates',
'page/events',
],
- function (defineComponent, templates, events) {
+ function (defineComponent, events) {
'use strict';
-
+
return defineComponent(function () {
- this.render = function () {
- var unreadCountTitleHTML = templates.page.unreadCountTitle();
- this.$node.html(unreadCountTitleHTML);
+ this.getTitleText = function () {
+ return document.title;
+ };
+
+ this.updateCount = function (ev, data) {
+ var unread = data.mails.filter(function (mail) {
+ return mail.status.indexOf('read') === -1;
+ }).length;
+
+ if (unread > 0) {
+ document.title = '(' + unread + ') - ' + this.rawTitle;
+ } else {
+ document.title = this.rawTitle;
+ }
};
this.after('initialize', function () {
- this.render();
+ this.rawTitle = document.title;
+ this.on(document, events.mails.available, this.updateCount);
});
});