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:
+23
-4
@@ -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") {
|
||||
|
||||
Reference in New Issue
Block a user