X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=js%2Ffeedlist.js;h=4516b72b86d26bb5c2455679bee93184170665e3;hb=02ec3984bd18f8a1c55dec448d1d401e3e5a1880;hp=b3082bad00e00d708199eea41ba497c248b80752;hpb=0d27227359df5597d4dc3b646eaa63082f42e4f0;p=tt-rss.git diff --git a/js/feedlist.js b/js/feedlist.js index b3082bad..4516b72b 100644 --- a/js/feedlist.js +++ b/js/feedlist.js @@ -102,34 +102,31 @@ function viewfeed(params) { Form.enable("main_toolbar_form"); - const toolbar_query = Form.serialize("main_toolbar_form"); + let query = Object.assign({op: "feeds", method: "view", feed: feed}, + dojo.formToObject("main_toolbar_form")); - let query = "?op=feeds&method=view&feed=" + param_escape(feed) + "&" + - toolbar_query; - - if (method) query += "&m=" + param_escape(method); + if (method) query.m = method; if (offset > 0) { if (current_first_id) { - query = query + "&fid=" + param_escape(current_first_id); + query.fid = current_first_id; } } if (!background) { if (_search_query) { - query = query + "&" + _search_query; - //_search_query = false; + query = Object.assign(query, _search_query); } if (offset != 0) { - query = query + "&skip=" + offset; + query.skip = offset; // to prevent duplicate feed titles when showing grouped vfeeds if (vgroup_last_feed) { - query = query + "&vgrlf=" + param_escape(vgroup_last_feed); + query.vgrlf = vgroup_last_feed; } } else if (!is_cat && feed == getActiveFeedId() && !params.method) { - query = query + "&m=ForceUpdate"; + query.m = "ForceUpdate"; } Form.enable("main_toolbar_form"); @@ -139,7 +136,7 @@ function viewfeed(params) { notify_progress("Loading, please wait...", true); } - query += "&cat=" + is_cat; + query.cat = is_cat; if (can_wait && _viewfeed_timeout) { setFeedExpandoIcon(getActiveFeedId(), activeFeedIsCat(), 'images/blank_icon.gif'); @@ -149,20 +146,23 @@ function viewfeed(params) { setActiveFeedId(feed, is_cat); if (viewfeed_debug) { - window.open("backend.php" + query + "&debug=1&csrf_token=" + getInitParam("csrf_token")); + window.open("backend.php?" + + dojo.objectToQuery( + Object.assign({debug: 1, csrf_token: getInitParam("csrf_token")}, query) + )); } const timeout_ms = can_wait ? 250 : 0; _viewfeed_timeout = setTimeout(() => { xhrPost("backend.php", query, (transport) => { - try { - 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) { - exception_error(e); - } + try { + 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) { + exception_error(e); + } }); }, timeout_ms); // Wait 250ms @@ -175,7 +175,8 @@ function feedlist_init() { loading_set_progress(50); document.onkeydown = hotkey_handler; - setTimeout(hotkey_prefix_timeout, 5*1000); + setInterval(hotkey_prefix_timeout, 5*1000); + setInterval(catchupBatchedArticles, 3*1000); if (!getActiveFeedId()) { viewfeed({feed: -3}); @@ -208,11 +209,11 @@ function feedlist_init() { } // bw_limit disables timeout() so we request initial counters separately - if (getInitParam("bw_limit") == "1") { + if (getInitParam("bw_limit") == "1") { request_counters(true); - } else { - setTimeout(timeout, 250); - } + } else { + setTimeout(timeout, 250); + } } @@ -231,7 +232,7 @@ function request_counters(force) { query.last_article_id = getInitParam("last_article_id"); xhrPost("backend.php", query, (transport) => { - handle_rpc_json(transport); + handle_rpc_json(transport); }); } else { @@ -470,7 +471,7 @@ function catchupFeedInGroup(id) { notify_progress("Loading, please wait...", true); xhrPost("backend.php", { op: "rpc", method: "catchupFeed", feed_id: id, is_cat: false}, (transport) => { - handle_rpc_json(transport); + handle_rpc_json(transport); }); } } @@ -511,21 +512,21 @@ function catchupFeed(feed, is_cat, mode) { notify_progress("Loading, please wait...", true); xhrPost("backend.php", catchup_query, (transport) => { - handle_rpc_json(transport); + handle_rpc_json(transport); - const show_next_feed = getInitParam("on_catchup_show_next_feed") == "1"; + const show_next_feed = getInitParam("on_catchup_show_next_feed") == "1"; - if (show_next_feed) { - const nuf = getNextUnreadFeed(feed, is_cat); + if (show_next_feed) { + const nuf = getNextUnreadFeed(feed, is_cat); - if (nuf) { - viewfeed({feed: nuf, is_cat: is_cat}); - } - } else if (feed == getActiveFeedId() && is_cat == activeFeedIsCat()) { - viewCurrentFeed(); - } + if (nuf) { + viewfeed({feed: nuf, is_cat: is_cat}); + } + } else if (feed == getActiveFeedId() && is_cat == activeFeedIsCat()) { + viewCurrentFeed(); + } - notify(""); + notify(""); }); }