]> git.wh0rd.org - tt-rss.git/commitdiff
while cdm_auto_catchup is enabled, after scrolling set active article to the topmost...
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>
Thu, 16 May 2013 05:53:34 +0000 (09:53 +0400)
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>
Thu, 16 May 2013 05:53:34 +0000 (09:53 +0400)
js/viewfeed.js

index dc8d3fe88006b9e6ef3c0a44dd00583638ef6358..3981fd964723e7ce0a6359bb55620966cbefc992 100644 (file)
@@ -1240,6 +1240,30 @@ function headlines_scroll_handler(e) {
 
                unpackVisibleHeadlines();
 
+               var active_found = false;
+
+               // set topmost child in the buffer as active
+               if (getInitParam("cdm_auto_catchup") == 1) {
+                       var rows = $$("#headlines-frame > div[id*=RROW]");
+
+                       for (var i = 0; i < rows.length; i++) {
+                               var child = rows[i];
+
+                               if (!active_found && $("headlines-frame").scrollTop < child.offsetTop) {
+                                       active_found = true;
+
+                                       if (_active_article_id) {
+                                               var row = $("RROW-" + _active_article_id);
+                                               if (row) row.removeClassName("active");
+                                       }
+
+                                       _active_article_id = child.id.replace("RROW-", "");
+                                       showArticleInHeadlines(_active_article_id, true);
+                                       break;
+                               }
+                       }
+               }
+
                if (!_infscroll_disable) {
                        if ((hsp && e.scrollTop + e.offsetHeight >= hsp.offsetTop - hsp.offsetHeight) ||
                                        (e.scrollHeight != 0 &&
@@ -1275,6 +1299,7 @@ function headlines_scroll_handler(e) {
 
                                                //console.log("auto_catchup_batch: " + catchup_id_batch.toString());
                                        }
+
                                });
 
                        if (catchup_id_batch.length > 0) {