diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-09-18 16:02:52 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-09-18 16:02:52 +0200 |
commit | 0d4094334c70476649053e454dfa156bc7f259d9 (patch) | |
tree | 43c1eecbc4140147b189afca36888da10e8605a6 /js/build/app.js | |
parent | 21dfea9de4ec40ab31a24608d573c5137e37ceea (diff) |
fix keyboard shortcuts when folder active
Diffstat (limited to 'js/build/app.js')
-rw-r--r-- | js/build/app.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/js/build/app.js b/js/build/app.js index 2ff1f68f2..30d2fa558 100644 --- a/js/build/app.js +++ b/js/build/app.js @@ -1687,11 +1687,27 @@ app.service('SettingsResource', ["$http", "BASE_URL", function ($http, BASE_URL) navigationArea.find('.active > a:visible').trigger('click'); }; + var nextFeed = function (navigationArea) { var current = navigationArea.find('.active'); var elements = navigationArea.find('.subscriptions:visible,' + '.starred:visible,' + '.feed:visible'); + + if (current.hasClass('folder')) { + while (current.length > 0) { + var subfeeds = current.find('.feed:visible'); + if (subfeeds.length > 0) { + $(subfeeds[0]).children('a:visible').trigger('click'); + return; + } + current = current.next('.folder'); + } + + // no subfeed found + return; + } + // FIXME: O(n) runtime. If someone creates a nice and not fugly solution // please create a PR for (var i=0; i<elements.length-1; i+=1) { @@ -1710,6 +1726,27 @@ app.service('SettingsResource', ["$http", "BASE_URL", function ($http, BASE_URL) var elements = navigationArea.find('.subscriptions:visible,' + '.starred:visible,' + '.feed:visible'); + + if (current.hasClass('folder')) { + current = current.prev('.folder'); + while (current.length > 0) { + var subfeeds = current.find('.feed:visible'); + if (subfeeds.length > 0) { + $(subfeeds[subfeeds.length-1]) + .children('a:visible').trigger('click'); + return; + } + } + + // no subfeed found + var starred = $('.starred:visible'); + if (starred.length > 0) { + starred.children('a:visible').trigger('click'); + } + + return; + } + // FIXME: O(n) runtime. If someone creates a nice and not fugly solution // please create a PR for (var i=elements.length-1; i>0; i-=1) { |