summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rw-r--r--js/feedlist.js26
-rw-r--r--js/tt-rss.js9
2 files changed, 20 insertions, 15 deletions
diff --git a/js/feedlist.js b/js/feedlist.js
index 84b561227..222fbcbe0 100644
--- a/js/feedlist.js
+++ b/js/feedlist.js
@@ -2,6 +2,7 @@ var _infscroll_disable = 0;
var _infscroll_request_sent = 0;
var _search_query = false;
var _viewfeed_last = 0;
+var _viewfeed_timeout = false;
var counters_last_request = 0;
@@ -52,7 +53,7 @@ function loadMoreHeadlines() {
}
-function viewfeed(feed, method, is_cat, offset, background, infscroll_req) {
+function viewfeed(feed, method, is_cat, offset, background, infscroll_req, can_wait) {
try {
if (is_cat == undefined)
is_cat = false;
@@ -132,15 +133,24 @@ function viewfeed(feed, method, is_cat, offset, background, infscroll_req) {
console.log(query);
+ if (can_wait && _viewfeed_timeout) {
+ setFeedExpandoIcon(getActiveFeedId(), activeFeedIsCat(), 'images/blank_icon.gif');
+ clearTimeout(_viewfeed_timeout);
+ }
+
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]);
- } });
+ timeout_ms = can_wait ? 250 : 0;
+ _viewfeed_timeout = setTimeout(function() {
+
+ 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]);
+ } });
+ }, timeout_ms); // Wait 250ms
} catch (e) {
exception_error("viewfeed", e);
diff --git a/js/tt-rss.js b/js/tt-rss.js
index 9a6db2359..cc04a454a 100644
--- a/js/tt-rss.js
+++ b/js/tt-rss.js
@@ -272,13 +272,13 @@ function init() {
var rv = dijit.byId("feedTree").getNextFeed(
getActiveFeedId(), activeFeedIsCat());
- if (rv) viewfeed(rv[0], '', rv[1]);
+ if (rv) viewfeed(rv[0], '', rv[1], null, null, null, true);
};
hotkey_actions["prev_feed"] = function() {
var rv = dijit.byId("feedTree").getPreviousFeed(
getActiveFeedId(), activeFeedIsCat());
- if (rv) viewfeed(rv[0], '', rv[1]);
+ if (rv) viewfeed(rv[0], '', rv[1], null, null, null, true);
};
hotkey_actions["next_article"] = function() {
moveToPost('next');
@@ -789,19 +789,14 @@ function collapse_feedlist() {
if (!Element.visible('feeds-holder')) {
Element.show('feeds-holder');
- Element.show('feeds-holder_splitter');
$("collapse_feeds_btn").innerHTML = "<<";
} else {
Element.hide('feeds-holder');
- Element.hide('feeds-holder_splitter');
$("collapse_feeds_btn").innerHTML = ">>";
}
dijit.byId("main").resize();
- query = "?op=rpc&method=setpref&key=_COLLAPSED_FEEDLIST&value=true";
- new Ajax.Request("backend.php", { parameters: query });
-
} catch (e) {
exception_error("collapse_feedlist", e);
}