var _infscroll_request_sent = 0;
var _search_query = false;
var _viewfeed_last = 0;
+var _viewfeed_timeout = false;
var counters_last_request = 0;
}
-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;
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);
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');