summaryrefslogtreecommitdiffstats
path: root/js/build/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/build/app.js')
-rw-r--r--js/build/app.js37
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) {