diff options
Diffstat (limited to 'js/feedlist.js')
-rw-r--r-- | js/feedlist.js | 89 |
1 files changed, 33 insertions, 56 deletions
diff --git a/js/feedlist.js b/js/feedlist.js index e227c9386..51082f827 100644 --- a/js/feedlist.js +++ b/js/feedlist.js @@ -88,8 +88,6 @@ function viewfeed(feed, method, is_cat, offset, background, infscroll_req) { _infscroll_request_sent = timestamp; } - - hideAuxDlg(); } Form.enable("main_toolbar_form"); @@ -125,24 +123,23 @@ function viewfeed(feed, method, is_cat, offset, background, infscroll_req) { Form.enable("main_toolbar_form"); - if (!offset) - if (!is_cat) { - if (!setFeedExpandoIcon(feed, is_cat, 'images/indicator_white.gif')) - notify_progress("Loading, please wait...", true); - } else { + if (!setFeedExpandoIcon(feed, is_cat, + (is_cat) ? 'images/indicator_tiny.gif' : 'images/indicator_white.gif')) notify_progress("Loading, please wait...", true); - } } query += "&cat=" + is_cat; console.log(query); + setActiveFeedId(feed, is_cat); + new Ajax.Request("backend.php", { parameters: query, onComplete: function(transport) { setFeedExpandoIcon(feed, is_cat, 'images/blank_icon.gif'); headlines_callback2(transport, offset, background, infscroll_req); + PluginHost.run(PluginHost.HOOK_FEED_LOADED, [feed, is_cat]); } }); } catch (e) { @@ -154,7 +151,8 @@ function feedlist_init() { try { console.log("in feedlist init"); - hideOrShowFeeds(getInitParam("hide_read_feeds") == 1); + loading_set_progress(50); + document.onkeydown = hotkey_handler; setTimeout("hotkey_prefix_timeout()", 5*1000); @@ -211,23 +209,6 @@ function request_counters(force) { } } -function displayNewContentPrompt(id) { - try { - - var msg = "<a href='#' onclick='viewCurrentFeed()'>" + - __("New articles available in this feed (click to show)") + "</a>"; - - msg = msg.replace("%s", getFeedName(id)); - - $('auxDlg').innerHTML = msg; - - new Effect.Appear('auxDlg', {duration : 0.5}); - - } catch (e) { - exception_error("displayNewContentPrompt", e); - } -} - function parse_counters(elems, scheduled_call) { try { for (var l = 0; l < elems.length; l++) { @@ -250,10 +231,6 @@ function parse_counters(elems, scheduled_call) { continue; } - if (id == getActiveFeedId() && ctr > getFeedUnread(id) && scheduled_call) { - displayNewContentPrompt(id); - } - if (getFeedUnread(id, (kind == "cat")) != ctr || (kind == "cat")) { } @@ -408,8 +385,8 @@ function getNextUnreadFeed(feed, is_cat) { } } -function catchupCurrentFeed() { - return catchupFeed(getActiveFeedId(), activeFeedIsCat()); +function catchupCurrentFeed(mode) { + catchupFeed(getActiveFeedId(), activeFeedIsCat(), mode); } function catchupFeedInGroup(id) { @@ -428,11 +405,26 @@ function catchupFeedInGroup(id) { } } -function catchupFeed(feed, is_cat) { +function catchupFeed(feed, is_cat, mode) { try { if (is_cat == undefined) is_cat = false; - var str = __("Mark all articles in %s as read?"); + var str = false; + + switch (mode) { + case "1day": + str = __("Mark all articles in %s older than 1 day as read?"); + break; + case "1week": + str = __("Mark all articles in %s older than 1 week as read?"); + break; + case "2week": + str = __("Mark all articles in %s older than 2 weeks as read?"); + break; + default: + str = __("Mark all articles in %s as read?"); + } + var fn = getFeedName(feed, is_cat); str = str.replace("%s", fn); @@ -441,20 +433,8 @@ function catchupFeed(feed, is_cat) { return; } - var max_id = 0; - - if (feed == getActiveFeedId() && is_cat == activeFeedIsCat()) { - $$("#headlines-frame > div[id*=RROW]").each( - function(child) { - var id = parseInt(child.id.replace("RROW-", "")); - - if (id > max_id) max_id = id; - } - ); - } - var catchup_query = "?op=rpc&method=catchupFeed&feed_id=" + - feed + "&is_cat=" + is_cat + "&max_id=" + max_id; + feed + "&is_cat=" + is_cat + "&mode=" + mode; console.log(catchup_query); @@ -465,15 +445,6 @@ function catchupFeed(feed, is_cat) { onComplete: function(transport) { handle_rpc_json(transport); - if (feed == getActiveFeedId() && is_cat == activeFeedIsCat()) { - - $$("#headlines-frame > div[id*=RROW][class*=Unread]").each( - function(child) { - child.removeClassName("Unread"); - } - ); - } - var show_next_feed = getInitParam("on_catchup_show_next_feed") == "1"; if (show_next_feed) { @@ -482,6 +453,10 @@ function catchupFeed(feed, is_cat) { if (nuf) { viewfeed(nuf, '', is_cat); } + } else { + if (feed == getActiveFeedId() && is_cat == activeFeedIsCat()) { + viewCurrentFeed(); + } } notify(""); @@ -518,3 +493,5 @@ function decrementFeedCounter(feed, is_cat) { exception_error("decrement_feed_counter", e); } } + + |