]> git.wh0rd.org - tt-rss.git/commitdiff
disable simultaneous xmlhttp calls
authorAndrew Dolgov <fox@bah.spb.su>
Mon, 22 Aug 2005 11:53:39 +0000 (12:53 +0100)
committerAndrew Dolgov <fox@bah.spb.su>
Mon, 22 Aug 2005 11:53:39 +0000 (12:53 +0100)
tt-rss.js

index f5721639deb38b42ae7514c3e49fcac352ffd672..7417fbb858d72ccf11e2f4ab60fcc2eb6d9276ba 100644 (file)
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -90,7 +90,7 @@ function view_callback() {
 
 
 function updateFeedList(called_from_timer, fetch) {
-
+       
        if (called_from_timer != true) {
                //document.getElementById("feeds").innerHTML = "Loading feeds, please wait...";
                notify("Updating feeds...");
@@ -100,14 +100,22 @@ function updateFeedList(called_from_timer, fetch) {
 
        if (fetch) query_str = query_str + "&fetch=yes";
 
-       xmlhttp.open("GET", query_str, true);
-       xmlhttp.onreadystatechange=feedlist_callback;
-       xmlhttp.send(null);
-
+       if (xmlhttp.readyState == 4 || xmlhttp.readyState == 0) {
+               xmlhttp.open("GET", query_str, true);
+               xmlhttp.onreadystatechange=feedlist_callback;
+               xmlhttp.send(null);
+       } else {
+               notify("Please wait until operation finishes.");
+       }
 }
 
 function catchupPage(feed) {
 
+       if (xmlhttp.readyState != 4 && xmlhttp.readyState != 0) {
+               notify("Please wait until operation finishes.");
+               return
+       }
+
        var content = document.getElementById("headlinesList");
 
        var rows = new Array();
@@ -143,6 +151,11 @@ function catchupPage(feed) {
 }
 
 function catchupAllFeeds() {
+
+       if (xmlhttp.readyState != 4 && xmlhttp.readyState != 0) {
+               notify("Please wait until operation finishes.");
+               return
+       }
        var query_str = "backend.php?op=feeds&subop=catchupAll";
 
        notify("Marking all feeds as read...");
@@ -158,6 +171,11 @@ function viewfeed(feed, skip, subop) {
 //     document.getElementById('headlines').innerHTML='Loading headlines, please wait...';             
 //     document.getElementById('content').innerHTML='&nbsp;';          
 
+       if (xmlhttp.readyState != 4 && xmlhttp.readyState != 0) {
+               notify("Please wait until operation finishes.");
+               return
+       }
+
        xmlhttp.open("GET", "backend.php?op=viewfeed&feed=" + param_escape(feed) +
                "&skip=" + param_escape(skip) + "&subop=" + param_escape(subop) , true);
        xmlhttp.onreadystatechange=viewfeed_callback;
@@ -169,6 +187,11 @@ function viewfeed(feed, skip, subop) {
 
 function view(id,feed_id) {
 
+       if (xmlhttp.readyState != 4 && xmlhttp.readyState != 0) {
+               notify("Please wait until operation finishes.");
+               return
+       }
+
        var crow = document.getElementById("RROW-" + id);
 
        if (crow.className.match("Unread")) {
@@ -210,6 +233,11 @@ function timeout() {
 
 function search(feed, sender) {
 
+       if (xmlhttp.readyState != 4 && xmlhttp.readyState != 0) {
+               notify("Please wait until operation finishes.");
+               return
+       }
+
        notify("Search: " + feed + ", " + sender.value)
 
        document.getElementById('headlines').innerHTML='Loading headlines, please wait...';