From 3f78bad3970113f14b80db19808e2c58af8fb19e Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 16 Oct 2016 15:53:08 +0200 Subject: [PATCH 1/2] Scroll as read: keep unread function https://github.com/FreshRSS/FreshRSS/pull/1309 --- p/scripts/main.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/p/scripts/main.js b/p/scripts/main.js index 47d651d5b..138a223de 100644 --- a/p/scripts/main.js +++ b/p/scripts/main.js @@ -144,6 +144,7 @@ function mark_read(active, only_not_read) { inc--; } else if (only_not_read !== true || active.hasClass("not_read")) { active.addClass("not_read"); + active.addClass("keep_unread"); inc++; } $r.find('.icon').replaceWith(data.icon); @@ -451,7 +452,7 @@ function auto_share(key) { function scrollAsRead(box_to_follow) { var minTop = 40 + (context.current_view === 'global' ? box_to_follow.offset().top : box_to_follow.scrollTop()); - $('.not_read:visible').each(function () { + $('.not_read:not(.keep_unread):visible').each(function () { var $this = $(this); if ($this.offset().top + $this.height() < minTop) { mark_read($this, true); From 6cd38d73d0b41ea7cd4da1fe611d761d7d442f2b Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 16 Oct 2016 16:10:58 +0200 Subject: [PATCH 2/2] mark_read optimisation --- p/scripts/main.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/p/scripts/main.js b/p/scripts/main.js index 138a223de..51323a969 100644 --- a/p/scripts/main.js +++ b/p/scripts/main.js @@ -116,8 +116,8 @@ function incUnreadsFeed(article, feed_id, nb) { var pending_entries = {}; function mark_read(active, only_not_read) { - if (active.length === 0 || active.attr('id') == '' || - (only_not_read === true && !active.hasClass("not_read"))) { + if ((active.length === 0) || (!active.attr('id')) || + (only_not_read && !active.hasClass("not_read"))) { return false; } @@ -142,7 +142,7 @@ function mark_read(active, only_not_read) { if (active.hasClass("not_read")) { active.removeClass("not_read"); inc--; - } else if (only_not_read !== true || active.hasClass("not_read")) { + } else { active.addClass("not_read"); active.addClass("keep_unread"); inc++;