summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2007-05-15 12:41:39 +0100
committerAndrew Dolgov <[email protected]>2007-05-15 12:41:39 +0100
commitb07b61da019a85b354ffc2941e94cf3374968c41 (patch)
tree2d84788f0e2f2cdbd2580b30e43beb14d0beb7c9
parent3c19b058488d0ff0aa8740d5524aa49c4bcec38f (diff)
invalidate article cache when editing tags
-rw-r--r--functions.js8
-rw-r--r--viewfeed.js16
2 files changed, 24 insertions, 0 deletions
diff --git a/functions.js b/functions.js
index fcb086b1c..f922183cc 100644
--- a/functions.js
+++ b/functions.js
@@ -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;
diff --git a/viewfeed.js b/viewfeed.js
index bc296c556..622ea6378 100644
--- a/viewfeed.js
+++ b/viewfeed.js
@@ -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;
+}