]> git.wh0rd.org - tt-rss.git/blobdiff - tt-rss.js
mark headlines page as read now works (via rpc)
[tt-rss.git] / tt-rss.js
index 7d0972a45c8cbb95e7591fec692e22a23261bed5..f5721639deb38b42ae7514c3e49fcac352ffd672 100644 (file)
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -26,6 +26,13 @@ if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
        xmlhttp = new XMLHttpRequest();
 }
 
+function notify_callback() {
+       var container = document.getElementById('notify');
+       if (xmlhttp.readyState == 4) {
+               container.innerHTML=xmlhttp.responseText;
+       }
+}
+
 function feedlist_callback() {
        var container = document.getElementById('feeds');
        if (xmlhttp.readyState == 4) {
@@ -99,6 +106,42 @@ function updateFeedList(called_from_timer, fetch) {
 
 }
 
+function catchupPage(feed) {
+
+       var content = document.getElementById("headlinesList");
+
+       var rows = new Array();
+
+       for (i = 0; i < content.rows.length; i++) {
+               var row_id = content.rows[i].id.replace("RROW-", "");
+               if (row_id.length > 0) {
+                       rows.push(row_id);      
+                       content.rows[i].className = content.rows[i].className.replace("Unread", "");
+               }
+       }
+
+       var feedr = document.getElementById("FEEDR-" + feed);
+       var feedu = document.getElementById("FEEDU-" + feed);
+
+       feedu.innerHTML = feedu.innerHTML - rows.length;
+
+       if (feedu.innerHTML > 0 && !feedr.className.match("Unread")) {
+                       feedr.className = feedr.className + "Unread";
+       } else if (feedu.innerHTML <= 0) {      
+                       feedr.className = feedr.className.replace("Unread", "");
+       } 
+
+       var query_str = "backend.php?op=rpc&subop=catchupPage&ids=" + 
+               param_escape(rows.toString());
+
+       notify("Marking this page as read...");
+
+       xmlhttp.open("GET", query_str, true);
+       xmlhttp.onreadystatechange=notify_callback;
+       xmlhttp.send(null);
+
+}
+
 function catchupAllFeeds() {
        var query_str = "backend.php?op=feeds&subop=catchupAll";