diff options
Diffstat (limited to 'js')
-rw-r--r-- | js/build/app.js | 27 | ||||
-rw-r--r-- | js/controller/NavigationController.js | 16 | ||||
-rw-r--r-- | js/directive/NewsTitleUnreadCount.js | 32 |
3 files changed, 65 insertions, 10 deletions
diff --git a/js/build/app.js b/js/build/app.js index 9d544268f..33c8b6ae3 100644 --- a/js/build/app.js +++ b/js/build/app.js @@ -369,16 +369,16 @@ var $__build_47_app__ = function () { return false; }; this.isSubscriptionsActive = function () { - return $route.current.$$route.type === FEED_TYPE.SUBSCRIPTIONS; + return $route.current && $route.current.$$route.type === FEED_TYPE.SUBSCRIPTIONS; }; this.isStarredActive = function () { - return $route.current.$$route.type === FEED_TYPE.STARRED; + return $route.current && $route.current.$$route.type === FEED_TYPE.STARRED; }; this.isFolderActive = function (folderId) { - return $route.current.$$route.type === FEED_TYPE.FOLDER && $route.current.params.id === folderId; + return $route.current && $route.current.$$route.type === FEED_TYPE.FOLDER && $route.current.params.id === folderId; }; this.isFeedActive = function (feedId) { - return $route.current.$$route.type === FEED_TYPE.FEED && $route.current.params.id === feedId; + return $route.current && $route.current.$$route.type === FEED_TYPE.FEED && $route.current.params.id === feedId; }; this.isAddingFolder = function () { return true; @@ -1750,6 +1750,25 @@ var $__build_47_app__ = function () { }; } ]); + app.directive('newsTitleUnreadCount', [ + '$window', + function ($window) { + 'use strict'; + var baseTitle = $window.document.title; + return { + restrict: 'E', + scope: { unreadCount: '@' }, + link: function (scope, elem, attrs) { + attrs.$observe('unreadCount', function (value) { + var titles = baseTitle.split('-'); + if (value !== '0') { + $window.document.title = titles[0] + '(' + value + ') - ' + titles[1]; + } + }); + } + }; + } + ]); app.directive('newsTooltip', function () { 'use strict'; return function (scope, elem) { diff --git a/js/controller/NavigationController.js b/js/controller/NavigationController.js index 17ef923aa..d91f14d88 100644 --- a/js/controller/NavigationController.js +++ b/js/controller/NavigationController.js @@ -8,8 +8,8 @@ * @copyright Bernhard Posselt 2014 */ app.controller('NavigationController', -function ($route, FEED_TYPE, - FeedResource, FolderResource, ItemResource, SettingsResource) { +function ($route, FEED_TYPE, FeedResource, FolderResource, ItemResource, + SettingsResource) { 'use strict'; this.feedError = ''; @@ -88,20 +88,24 @@ function ($route, FEED_TYPE, }; this.isSubscriptionsActive = () => { - return $route.current.$$route.type === FEED_TYPE.SUBSCRIPTIONS; + return $route.current && + $route.current.$$route.type === FEED_TYPE.SUBSCRIPTIONS; }; this.isStarredActive = () => { - return $route.current.$$route.type === FEED_TYPE.STARRED; + return $route.current && + $route.current.$$route.type === FEED_TYPE.STARRED; }; this.isFolderActive = (folderId) => { - return $route.current.$$route.type === FEED_TYPE.FOLDER && + return $route.current && + $route.current.$$route.type === FEED_TYPE.FOLDER && $route.current.params.id === folderId; }; this.isFeedActive = (feedId) => { - return $route.current.$$route.type === FEED_TYPE.FEED && + return $route.current && + $route.current.$$route.type === FEED_TYPE.FEED && $route.current.params.id === feedId; }; diff --git a/js/directive/NewsTitleUnreadCount.js b/js/directive/NewsTitleUnreadCount.js new file mode 100644 index 000000000..709b910ed --- /dev/null +++ b/js/directive/NewsTitleUnreadCount.js @@ -0,0 +1,32 @@ +/** + * ownCloud - News + * + * This file is licensed under the Affero General Public License version 3 or + * later. See the COPYING file. + * + * @author Bernhard Posselt <dev@bernhard-posselt.com> + * @copyright Bernhard Posselt 2014 + */ +app.directive('newsTitleUnreadCount', ($window) => { + 'use strict'; + + let baseTitle = $window.document.title; + + return { + restrict: 'E', + scope: { + unreadCount: '@' + }, + link: (scope, elem, attrs) => { + attrs.$observe('unreadCount', (value) => { + let titles = baseTitle.split('-'); + + if (value !== '0') { + $window.document.title = titles[0] + + '(' + value + ') - ' + titles[1]; + } + }); + } + }; + +});
\ No newline at end of file |