diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2015-01-23 11:52:54 +0100 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2015-01-23 11:53:03 +0100 |
commit | 5adeba1a560985173974c9ac98c624093055d669 (patch) | |
tree | 8b28f6770f590e674efc1fa2783ea1ad837cb295 /js/gui | |
parent | 04e1c465fb2969d0b138a02787718db495f261db (diff) |
fix #715
Diffstat (limited to 'js/gui')
-rw-r--r-- | js/gui/KeyboardShortcuts.js | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/js/gui/KeyboardShortcuts.js b/js/gui/KeyboardShortcuts.js index f28ab8823..e7ae0defd 100644 --- a/js/gui/KeyboardShortcuts.js +++ b/js/gui/KeyboardShortcuts.js @@ -62,6 +62,17 @@ navigationArea.find('.active > a:visible').trigger('click'); }; + var tryReload = function (navigationArea, scrollArea) { + if (navigationArea.scrollTop() === 0) { + var pullToRefresh = scrollArea.find('.pull-to-refresh'); + if (!pullToRefresh.hasClass('show-pull-to-refresh')) { + pullToRefresh.addClass('show-pull-to-refresh'); + } else if (pullToRefresh.hasClass('done')) { + reloadFeed(navigationArea); + } + } + }; + var activateNavigationEntry = function (element, navigationArea) { element.children('a:visible').trigger('click'); scrollToNavigationElement(element, navigationArea.children('ul')); @@ -295,7 +306,8 @@ }; - var scrollToPreviousItem = function (scrollArea, expandItemInCompact) { + var scrollToPreviousItem = function (navigationArea, scrollArea, + expandItemInCompact) { var items = scrollArea.find('.item'); var jumped = false; @@ -308,6 +320,8 @@ // if there are no items before the current one if (previous.length > 0) { scrollToItem(scrollArea, previous, expandItemInCompact); + } else { + tryReload(navigationArea, scrollArea); } jumped = true; @@ -344,7 +358,8 @@ } else if ([75, 80, 37].indexOf(keyCode) >= 0) { event.preventDefault(); - scrollToPreviousItem(scrollArea, expandItemInCompact); + scrollToPreviousItem(navigationArea, scrollArea, + expandItemInCompact); // u } else if ([85].indexOf(keyCode) >= 0) { @@ -413,6 +428,9 @@ event.preventDefault(); nextFolder(navigationArea); + // page up + } else if ([33].indexOf(keyCode) >= 0) { + tryReload(navigationArea, scrollArea); } } |