diff options
Diffstat (limited to 'js/public/app.js')
-rw-r--r-- | js/public/app.js | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/js/public/app.js b/js/public/app.js index 7a2da9d99..c345d54d5 100644 --- a/js/public/app.js +++ b/js/public/app.js @@ -146,7 +146,7 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. angular.module('News').directive('itemShortcuts', [ '$window', function($window) { return function(scope, elm, attr) { - var getCurrentItem, jumpTo, jumpToNextItem, jumpToPreviousItem, keepUnreadCurrentItem, starCurrentItem; + var getCurrentItem, jumpTo, jumpToNextItem, jumpToPreviousItem, keepUnreadCurrentItem, openCurrentItem, starCurrentItem; jumpTo = function($scrollArea, $item) { var position; position = $item.offset().top - $scrollArea.offset().top + $scrollArea.scrollTop(); @@ -212,6 +212,12 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. $item = getCurrentItem(scrollArea); return $item.find('.star').trigger('click'); }; + openCurrentItem = function(scrollArea) { + var $item; + $item = getCurrentItem(scrollArea).find('.item_title a'); + $item.trigger('click'); + return window.open($item.attr('href'), '_blank'); + }; return $($window.document).keydown(function(e) { var focused, scrollArea; focused = $(':focus'); @@ -228,6 +234,8 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. } else if (e.keyCode === 72) { starCurrentItem(scrollArea); return jumpToNextItem(scrollArea); + } else if (e.keyCode === 79) { + return openCurrentItem(scrollArea); } } }); |