diff options
Diffstat (limited to 'js/app/directives/itemshortcuts.coffee')
-rw-r--r-- | js/app/directives/itemshortcuts.coffee | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/js/app/directives/itemshortcuts.coffee b/js/app/directives/itemshortcuts.coffee index f80045d42..7c27b281a 100644 --- a/js/app/directives/itemshortcuts.coffee +++ b/js/app/directives/itemshortcuts.coffee @@ -59,6 +59,27 @@ angular.module('News').directive 'itemShortcuts', ['$window', ($window) -> break + getCurrentItem = (scrollArea) -> + $scrollArea = $(scrollArea) + $items = $scrollArea.find('.feed_item') + for item in $items + $item = $(item) + # 130px of the item should be visible + if ($item.height() + $item.position().top) > 110 + return $item + + + keepUnreadCurrentItem = (scrollArea) -> + $item = getCurrentItem(scrollArea) + $item.find('.keep_unread').trigger('click') + + + starCurrentItem = (scrollArea) -> + $item = getCurrentItem(scrollArea) + $item.find('.star').trigger('click') + + + $($window.document).keydown (e) -> # only activate if no input elements is focused focused = $(':focus') @@ -78,5 +99,15 @@ angular.module('News').directive 'itemShortcuts', ['$window', ($window) -> else if e.keyCode == 75 or e.keyCode == 37 or e.keyCode == 80 jumpToPreviousItem(scrollArea) + # u + else if e.keyCode == 85 + keepUnreadCurrentItem(scrollArea) + + # s or i + else if e.keyCode == 73 or e.keyCode == 83 + starCurrentItem(scrollArea) + + + ]
\ No newline at end of file |