summaryrefslogtreecommitdiffstats
path: root/js/app
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-04-15 18:31:30 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-04-15 18:31:30 +0200
commit0ed9131f3f1c851158421b39767bf94264f80b8b (patch)
tree51ee951c0c7cd6cff6a3cd1456e2987a8943edaa /js/app
parent7c3c70fc88b669386cca180250081be45cdfeb92 (diff)
add simple keyboard shortcuts, implemt keep unread fix #43, implement mark as read when scrolling fix #4
Diffstat (limited to 'js/app')
-rw-r--r--js/app/controllers/itemcontroller.coffee1
-rw-r--r--js/app/directives/scrollmarksread.coffee6
-rw-r--r--js/app/services/businesslayer/businesslayer.coffee10
-rw-r--r--js/app/services/businesslayer/itembusinesslayer.coffee6
4 files changed, 11 insertions, 12 deletions
diff --git a/js/app/controllers/itemcontroller.coffee b/js/app/controllers/itemcontroller.coffee
index a08486d08..4fd00ec59 100644
--- a/js/app/controllers/itemcontroller.coffee
+++ b/js/app/controllers/itemcontroller.coffee
@@ -55,6 +55,7 @@ Language) ->
@_$scope.$on 'readItem', (scope, data) =>
console.log data
+ @_itemBusinessLayer.setRead(data)
diff --git a/js/app/directives/scrollmarksread.coffee b/js/app/directives/scrollmarksread.coffee
index 6a0a5e085..854f17923 100644
--- a/js/app/directives/scrollmarksread.coffee
+++ b/js/app/directives/scrollmarksread.coffee
@@ -48,11 +48,9 @@ angular.module('News').directive 'scrollMarksRead', ['$rootScope', 'Config',
for feedItem in $elems
offset = $(feedItem).position().top
if offset <= -50
- data =
- id: parseInt($(feedItem).data('id'), 10)
- feed: parseInt($(feedItem).data('feed'), 10)
+ id = parseInt($(feedItem).data('id'), 10)
+ $rootScope.$broadcast 'readItem', id
- $rootScope.$broadcast 'readItem', data
else
break
diff --git a/js/app/services/businesslayer/businesslayer.coffee b/js/app/services/businesslayer/businesslayer.coffee
index 7cfbb703c..3096eb71e 100644
--- a/js/app/services/businesslayer/businesslayer.coffee
+++ b/js/app/services/businesslayer/businesslayer.coffee
@@ -29,13 +29,9 @@ angular.module('News').factory '_BusinessLayer', ->
load: (id) ->
- if @_type != @_activeFeed.getType() or id != @_activeFeed.getId()
- @_itemModel.clear()
- @_persistence.getItems(@_type, id, 0)
- @_activeFeed.handle({id: id, type: @_type})
- else
- lastModified = @_itemModel.getHighestId()
- @_persistence.getItems(@_type, id, 0, null, lastModified)
+ @_itemModel.clear()
+ @_persistence.getItems(@_type, id, 0)
+ @_activeFeed.handle({id: id, type: @_type})
isActive: (id) ->
diff --git a/js/app/services/businesslayer/itembusinesslayer.coffee b/js/app/services/businesslayer/itembusinesslayer.coffee
index 294be1f40..7f8d4fba6 100644
--- a/js/app/services/businesslayer/itembusinesslayer.coffee
+++ b/js/app/services/businesslayer/itembusinesslayer.coffee
@@ -72,7 +72,11 @@ StarredBusinessLayer) ->
setRead: (itemId) ->
item = @_itemModel.getById(itemId)
if angular.isDefined(item)
- if not item.isRead()
+
+ keptUnread = angular.isDefined(item.keptUnread) and
+ item.keptUnread
+
+ if not (item.isRead() or keptUnread)
item.setRead()
@_persistence.readItem(itemId)