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