summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--js/app/services/bl/feedbl.coffee5
-rw-r--r--js/public/app.js1
-rw-r--r--js/tests/services/bl/feedblSpec.coffee27
-rw-r--r--templates/part.listfeed.php4
-rw-r--r--templates/part.listfolder.php2
5 files changed, 35 insertions, 4 deletions
diff --git a/js/app/services/bl/feedbl.coffee b/js/app/services/bl/feedbl.coffee
index 02adb0f15..088f2e623 100644
--- a/js/app/services/bl/feedbl.coffee
+++ b/js/app/services/bl/feedbl.coffee
@@ -92,6 +92,11 @@ angular.module('News').factory 'FeedBl',
setShowAll: (showAll) ->
@_showAll.setShowAll(showAll)
+ @_persistence.getItems(
+ @_activeFeed.getType(),
+ @_activeFeed.getId(),
+ 0
+ )
if showAll
@_persistence.userSettingsReadShow()
else
diff --git a/js/public/app.js b/js/public/app.js
index 944f99b7f..448778e9d 100644
--- a/js/public/app.js
+++ b/js/public/app.js
@@ -639,6 +639,7 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
FeedBl.prototype.setShowAll = function(showAll) {
this._showAll.setShowAll(showAll);
+ this._persistence.getItems(this._activeFeed.getType(), this._activeFeed.getId(), 0);
if (showAll) {
return this._persistence.userSettingsReadShow();
} else {
diff --git a/js/tests/services/bl/feedblSpec.coffee b/js/tests/services/bl/feedblSpec.coffee
index 8cd8100a3..798fd2e6f 100644
--- a/js/tests/services/bl/feedblSpec.coffee
+++ b/js/tests/services/bl/feedblSpec.coffee
@@ -28,8 +28,10 @@ describe 'FeedBl', ->
beforeEach =>
angular.module('News').factory 'Persistence', =>
@setFeedReadSpy = jasmine.createSpy('setFeedRead')
+ @getItemsSpy = jasmine.createSpy('Get Items')
@persistence = {
setFeedRead: @setFeedReadSpy
+ getItems: @getItemsSpy
}
beforeEach inject (@FeedBl, @FeedModel, @ItemModel, @FeedType,
@@ -185,4 +187,27 @@ describe 'FeedBl', ->
expect(@FeedBl.isShowAll()).toBe(false)
@FeedBl.setShowAll(true)
- expect(@FeedBl.isShowAll()).toBe(true) \ No newline at end of file
+ expect(@FeedBl.isShowAll()).toBe(true)
+
+
+ it 'should reload the active feed if showall changed', =>
+ @persistence.userSettingsReadShow = jasmine.createSpy('Show All')
+ @persistence.userSettingsReadHide = jasmine.createSpy('Hide All')
+
+ @FeedBl.setShowAll(true)
+
+ expect(@getItemsSpy).toHaveBeenCalledWith(@FeedType.Folder, 0, 0)
+
+
+ it 'should return all feeds of a folder', =>
+ item1 = {id: 2, unreadCount:134, urlHash: 'a1', folderId: 3}
+ item2 = {id: 4, unreadCount:134, urlHash: 'a2', folderId: 2}
+ item3 = {id: 5, unreadCount:134, urlHash: 'a3', folderId: 3}
+ @FeedModel.add(item1)
+ @FeedModel.add(item2)
+ @FeedModel.add(item3)
+
+ folders = @FeedBl.getFeedsOfFolder(3)
+
+ expect(folders).toContain(item1)
+ expect(folders).toContain(item3) \ No newline at end of file
diff --git a/templates/part.listfeed.php b/templates/part.listfeed.php
index 84b99ddee..a9d91718f 100644
--- a/templates/part.listfeed.php
+++ b/templates/part.listfeed.php
@@ -1,9 +1,9 @@
<li ng-class="{
active: feedBl.isActive(feed.id),
- unread: feedBl.getUnreadCount(feed.id) != 0
+ unread: feedBl.getUnreadCount(feed.id) > 0
}"
ng-repeat="feed in feedBl.getFeedsOfFolder(<?php p($_['folderId']); ?>)"
- ng-show="feedBl.isShown(feed.id)"
+ ng-show="feedBl.isVisible(feed.id)"
data-id="{{ feed.id }}"
class="feed"
draggable>
diff --git a/templates/part.listfolder.php b/templates/part.listfolder.php
index e97de5f9b..897cea41b 100644
--- a/templates/part.listfolder.php
+++ b/templates/part.listfolder.php
@@ -4,7 +4,7 @@
collapsible: folderBl.hasFeeds(folder.id),
unread: folderBl.getUnreadCount(folder.id) != 0
}"
- ng-repeat="folder in folders"
+ ng-repeat="folder in folderBl.getAll()"
ng-show="folderBl.isVisible(folder.id)"
class="folder"
data-id="{{folder.id}}"