From 0899e0b0bf598b73c4f852bda8e6ccbf066ae176 Mon Sep 17 00:00:00 2001 From: Athou Date: Thu, 6 Mar 2014 15:46:19 +0100 Subject: [PATCH] server now returns wether the 'unread only' flag was ignored while generating the response (fix scrolling for results in a feed search) --- src/main/java/com/commafeed/frontend/model/Entries.java | 3 +++ .../commafeed/frontend/rest/resources/CategoryREST.java | 1 + .../com/commafeed/frontend/rest/resources/FeedREST.java | 1 + src/main/webapp/js/controllers.js | 7 +++++-- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/commafeed/frontend/model/Entries.java b/src/main/java/com/commafeed/frontend/model/Entries.java index c4e6fc3d..4080dd51 100644 --- a/src/main/java/com/commafeed/frontend/model/Entries.java +++ b/src/main/java/com/commafeed/frontend/model/Entries.java @@ -41,4 +41,7 @@ public class Entries implements Serializable { @ApiProperty("list of entries") private List entries = Lists.newArrayList(); + @ApiProperty("true if the unread flag was ignored in the request, all entries are returned regardless of their read status") + private boolean ignoredReadStatus; + } diff --git a/src/main/java/com/commafeed/frontend/rest/resources/CategoryREST.java b/src/main/java/com/commafeed/frontend/rest/resources/CategoryREST.java index 0d774075..d58b55da 100644 --- a/src/main/java/com/commafeed/frontend/rest/resources/CategoryREST.java +++ b/src/main/java/com/commafeed/frontend/rest/resources/CategoryREST.java @@ -183,6 +183,7 @@ public class CategoryREST extends AbstractREST { } entries.setTimestamp(System.currentTimeMillis()); + entries.setIgnoredReadStatus(keywords != null || tag != null); FeedUtils.removeUnwantedFromSearch(entries.getEntries(), keywords); return Response.ok(entries).build(); } diff --git a/src/main/java/com/commafeed/frontend/rest/resources/FeedREST.java b/src/main/java/com/commafeed/frontend/rest/resources/FeedREST.java index 992d1059..189aee1f 100644 --- a/src/main/java/com/commafeed/frontend/rest/resources/FeedREST.java +++ b/src/main/java/com/commafeed/frontend/rest/resources/FeedREST.java @@ -187,6 +187,7 @@ public class FeedREST extends AbstractREST { } entries.setTimestamp(System.currentTimeMillis()); + entries.setIgnoredReadStatus(keywords != null); FeedUtils.removeUnwantedFromSearch(entries.getEntries(), keywords); return Response.ok(entries).build(); } diff --git a/src/main/webapp/js/controllers.js b/src/main/webapp/js/controllers.js index f87dbe11..9ba4451c 100644 --- a/src/main/webapp/js/controllers.js +++ b/src/main/webapp/js/controllers.js @@ -696,6 +696,7 @@ module.controller('FeedListCtrl', [ $scope.errorCount = 0; $scope.timestamp = 0; $scope.entries = []; + $scope.ignored_read_status = false; $scope.font_size = 0; $scope.settingsService = SettingsService; @@ -729,8 +730,8 @@ module.controller('FeedListCtrl', [ var limit = $scope.limit; - var read_shown = SettingsService.settings.readingMode === 'all' || $scope.selectedType === 'tag' - || ($scope.selectedType === 'category' && $scope.selectedId === 'starred'); + var read_shown = SettingsService.settings.readingMode === 'all' || $scope.ignored_read_status; + console.log("read_shown" + read_shown); var offset = read_shown ? $scope.entries.length : _.where($scope.entries, { read : false }).length; @@ -761,6 +762,8 @@ module.controller('FeedListCtrl', [ $scope.busy = false; $scope.hasMore = data.hasMore; $scope.feedLink = data.feedLink; + $scope.ignored_read_status = data.ignoredReadStatus; + console.log("ignoredReadStatus" + data.ignoredReadStatus); }; var data = {