1
0
mirror of https://git.tt-rss.org/git/tt-rss.git synced 2026-02-10 16:01:33 +00:00

rework caching, use html5 local storage

allow caching of headlines
code cleanup
This commit is contained in:
Andrew Dolgov
2011-08-31 14:03:52 +04:00
parent 81787bbf98
commit 78b2c6ce9a
5 changed files with 134 additions and 348 deletions
+23 -4
View File
@@ -50,15 +50,22 @@ function loadMoreHeadlines() {
function viewfeed(feed, subop, is_cat, offset) {
try {
if (is_cat == undefined) is_cat = false;
if (is_cat == undefined)
is_cat = false;
else
is_cat = !!is_cat;
if (subop == undefined) subop = '';
if (offset == undefined) offset = 0;
last_requested_article = 0;
if (feed == getActiveFeedId()) {
cache_invalidate("F:" + feed);
}
var cached_headlines = false;
if (feed == getActiveFeedId())
cache_delete("feed:" + feed + ":" + is_cat);
else
cached_headlines = cache_get("feed:" + feed + ":" + is_cat);
dijit.byId("content-tabs").selectChild(
dijit.byId("content-tabs").getChildren()[0]);
@@ -70,6 +77,15 @@ function viewfeed(feed, subop, is_cat, offset) {
_infscroll_disable = 0;
}
if (!offset && !subop && cached_headlines) {
try {
render_local_headlines(feed, is_cat, JSON.parse(cached_headlines));
return;
} catch (e) {
console.warn("render_local_headlines failed: " + e);
}
}
if (offset != 0 && !subop) {
var date = new Date();
var timestamp = Math.round(date.getTime() / 1000);
@@ -283,6 +299,9 @@ function parse_counters(elems, scheduled_call) {
displayNewContentPrompt(id);
}
if (getFeedUnread(id, (kind == "cat")) != ctr)
cache_delete("feed:" + id + ":" + (kind == "cat"));
setFeedUnread(id, (kind == "cat"), ctr);
if (kind != "cat") {