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.coffee148
1 files changed, 0 insertions, 148 deletions
diff --git a/js/app/directives/itemshortcuts.coffee b/js/app/directives/itemshortcuts.coffee
deleted file mode 100644
index 8eec1bf0a..000000000
--- a/js/app/directives/itemshortcuts.coffee
+++ /dev/null
@@ -1,148 +0,0 @@
-###
-
-ownCloud - News
-
-@author Bernhard Posselt
-@copyright 2012 Bernhard Posselt dev@bernhard-posselt.com
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-License as published by the Free Software Foundation; either
-version 3 of the License, or any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-
-You should have received a copy of the GNU Affero General Public
-License along with this library. If not, see <http://www.gnu.org/licenses/>.
-
-###
-
-angular.module('News').directive 'itemShortcuts', ['$window', ($window) ->
-
- return (scope, elm, attr) ->
-
- jumpTo = ($scrollArea, $item) ->
- position = $item.offset().top - $scrollArea.offset().top +
- $scrollArea.scrollTop()
- $scrollArea.scrollTop(position)
-
- jumpToPreviousItem = (scrollArea) ->
- $scrollArea = $(scrollArea)
- $items = $scrollArea.find('.feed_item')
- notJumped = true
- for item in $items
- $item = $(item)
- if $item.position().top >= 0
- $previous = $item.prev()
- # if there are no items before the current one
- if $previous.length > 0
- jumpTo($scrollArea, $previous)
-
- notJumped = false
- break
-
- # in case we didnt jump
- if $items.length > 0 and notJumped
- jumpTo($scrollArea, $items.last())
-
-
- jumpToNextItem = (scrollArea) ->
- $scrollArea = $(scrollArea)
- $items = $scrollArea.find('.feed_item')
- jumped = false
- for item in $items
- $item = $(item)
- if $item.position().top > 1
- jumped = true
- jumpTo($scrollArea, $item)
- break
- # in case this is the last item it should still scroll below the
- # top
- if jumped == false
- $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) > 30
- return $item
-
-
- keepUnreadCurrentItem = (scrollArea) ->
- $item = getCurrentItem(scrollArea)
- $item.find('.keep_unread').trigger('click')
-
-
- starCurrentItem = (scrollArea) ->
- $item = getCurrentItem(scrollArea)
- $item.find('.item_utils .star').trigger('click')
-
- expandCurrentItem = (scrollArea) ->
- $item = getCurrentItem(scrollArea)
- $item.find('.item_heading a').trigger('click')
-
-
- openCurrentItem = (scrollArea) ->
- $item = getCurrentItem(scrollArea).find('.item_title a')
- $item.trigger('click')
- window.open($item.attr('href'), '_blank')
-
-
- $($window.document).keydown (e) ->
- # only activate if no input elements is focused
- focused = $(':focus')
-
- if not (focused.is('input') or
- focused.is('select') or
- focused.is('textarea') or
- focused.is('checkbox'))
-
- # activate shortcuts only if modifier keys are not pressed
- if not(e.shiftKey or e.altKey or e.ctrlKey or e.metaKey)
-
- scrollArea = elm
- # j or right or n
- if e.keyCode == 74 or e.keyCode == 39 or e.keyCode == 78
- e.preventDefault()
- jumpToNextItem(scrollArea)
-
- # k or left or p
- else if e.keyCode == 75 or e.keyCode == 37 or e.keyCode == 80
- e.preventDefault()
- jumpToPreviousItem(scrollArea)
-
- # u
- else if e.keyCode == 85
- 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()
- starCurrentItem(scrollArea)
-
- # h
- else if e.keyCode == 72
- e.preventDefault()
- starCurrentItem(scrollArea)
- jumpToNextItem(scrollArea)
-
- # o
- else if e.keyCode == 79
- e.preventDefault()
- openCurrentItem(scrollArea)
-
-
-]