]> git.wh0rd.org Git - tt-rss.git/commitdiff
invalidate article cache when editing tags
authorAndrew Dolgov <fox@bah.spb.su>
Tue, 15 May 2007 11:41:39 +0000 (12:41 +0100)
committerAndrew Dolgov <fox@bah.spb.su>
Tue, 15 May 2007 11:41:39 +0000 (12:41 +0100)
functions.js
viewfeed.js

index fcb086b1ccb0eb7f3c54b2fee07c27ca65ed4d1f..f922183cc8ecf5e1bbde7fad9b8fa2e6a66bf7d9 100644 (file)
@@ -2,6 +2,14 @@ var hotkeys_enabled = true;
 var debug_mode_enabled = false;
 var xmlhttp_rpc = Ajax.getTransport();
 
+/* add method to remove element from array */
+
+Array.prototype.remove = function(s) {
+       for (var i=0; i < this.length; i++) {
+               if (s == this[i]) this.splice(i, 1);
+       }
+}
+
 function browser_has_opacity() {
        return navigator.userAgent.match("Gecko") != null || 
                navigator.userAgent.match("Opera") != null;
index bc296c55652d0597176c1758e0d977696ac5712e..622ea6378ab66e58cfe327c5f2f45fa4dd9fc44c 100644 (file)
@@ -633,6 +633,9 @@ function editArticleTags(id, feed_id, cdm_enabled) {
        _tag_active_post_id = id;
        _tag_active_feed_id = feed_id;
        _tag_active_cdm = cdm_enabled;
+
+       cache_invalidate(id);
+
        try {
                _tag_cdm_scroll = document.getElementById("headlinesInnerContainer").scrollTop;
        } catch (e) { }
@@ -829,3 +832,16 @@ function cache_expire() {
                article_cache.shift();
        }
 }
+
+function cache_invalidate(id) {
+       var i = 0
+       
+       while (i < article_cache.length) {
+               if (article_cache[i]["id"] == id) {
+                       article_cache.remove(i);
+                       return true;
+               }
+               i++;
+       }
+       return false;
+}