diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2013-12-19 17:57:26 +0100 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2013-12-19 17:57:26 +0100 |
commit | 84b5be7f0bdfd346172c993b72cf0570bce03245 (patch) | |
tree | 510a83ecc498d373f21c8d9a11758f0056cf1817 /js | |
parent | 8f6ad4aaa7b85614bdfa1817f8bff5a7880c9dc7 (diff) |
fix shortcuts and add shortcut to expand current item
Diffstat (limited to 'js')
-rw-r--r-- | js/app/directives/itemshortcuts.coffee | 12 | ||||
-rw-r--r-- | js/public/app.js | 12 |
2 files changed, 20 insertions, 4 deletions
diff --git a/js/app/directives/itemshortcuts.coffee b/js/app/directives/itemshortcuts.coffee index 367086fbb..546ea4dde 100644 --- a/js/app/directives/itemshortcuts.coffee +++ b/js/app/directives/itemshortcuts.coffee @@ -65,14 +65,13 @@ angular.module('News').directive 'itemShortcuts', ['$window', ($window) -> $scrollArea.scrollTop($scrollArea.prop('scrollHeight')) - 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 + if ($item.height() + $item.position().top) > 30 return $item @@ -85,6 +84,10 @@ angular.module('News').directive 'itemShortcuts', ['$window', ($window) -> $item = getCurrentItem(scrollArea) $item.find('.star').trigger('click') + expandCurrentItem = (scrollArea) -> + $item = getCurrentItem(scrollArea) + $item.find('.item_heading a').trigger('click') + openCurrentItem = (scrollArea) -> $item = getCurrentItem(scrollArea).find('.item_title a') @@ -118,6 +121,11 @@ angular.module('News').directive 'itemShortcuts', ['$window', ($window) -> e.preventDefault() keepUnreadCurrentItem(scrollArea) + # e + else if e.keyCode == 69 + e.preventDefault() + expandCurrentItem(scrollArea) + # s or i or l else if e.keyCode == 73 or e.keyCode == 83 or e.keyCode == 76 e.preventDefault() diff --git a/js/public/app.js b/js/public/app.js index caaf5dc52..c729c90b0 100644 --- a/js/public/app.js +++ b/js/public/app.js @@ -196,7 +196,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, openCurrentItem, starCurrentItem; + var expandCurrentItem, getCurrentItem, jumpTo, jumpToNextItem, jumpToPreviousItem, keepUnreadCurrentItem, openCurrentItem, starCurrentItem; jumpTo = function($scrollArea, $item) { var position; position = $item.offset().top - $scrollArea.offset().top + $scrollArea.scrollTop(); @@ -248,7 +248,7 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. for (_i = 0, _len = $items.length; _i < _len; _i++) { item = $items[_i]; $item = $(item); - if (($item.height() + $item.position().top) > 110) { + if (($item.height() + $item.position().top) > 30) { return $item; } } @@ -263,6 +263,11 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. $item = getCurrentItem(scrollArea); return $item.find('.star').trigger('click'); }; + expandCurrentItem = function(scrollArea) { + var $item; + $item = getCurrentItem(scrollArea); + return $item.find('.item_heading a').trigger('click'); + }; openCurrentItem = function(scrollArea) { var $item; $item = getCurrentItem(scrollArea).find('.item_title a'); @@ -283,6 +288,9 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. } else if (e.keyCode === 85) { e.preventDefault(); return keepUnreadCurrentItem(scrollArea); + } else if (e.keyCode === 69) { + e.preventDefault(); + return expandCurrentItem(scrollArea); } else if (e.keyCode === 73 || e.keyCode === 83 || e.keyCode === 76) { e.preventDefault(); return starCurrentItem(scrollArea); |