]> git.wh0rd.org - tt-rss.git/blobdiff - feedlist.js
rework search dialog
[tt-rss.git] / feedlist.js
index ad3c2c2c89b2892768ff07f72d4ddcae2902c241..05a16d865bc5ccbad4b6771467a4a258d1053a63 100644 (file)
@@ -1,6 +1,7 @@
 var _feed_cur_page = 0;
 var _infscroll_disable = 0;
 var _infscroll_request_sent = 0;
+var _search_query = false;
 
 var counter_timeout_id = false;
 
@@ -29,6 +30,7 @@ function viewNextFeedPage() {
 function viewfeed(feed, subop, is_cat, offset) {
        try {
                if (is_cat == undefined) is_cat = false;
+               if (subop == undefined) subop = '';
 
 //             if (!offset) page_offset = 0;
 
@@ -99,12 +101,10 @@ function viewfeed(feed, subop, is_cat, offset) {
                var query = "?op=viewfeed&feed=" + feed + "&" +
                        toolbar_query + "&subop=" + param_escape(subop);
 
-               if ($("search_form")) {
-                       var search_query = Form.serialize("search_form");
-                       query = query + "&" + search_query;
-                       $("search_form").query.value = "";
-                       closeInfoBox(true);
+               if (_search_query) {
                        force_nocache = true;
+                       query = query + "&" + _search_query;
+                       _search_query = false;
                }
 
 //             console.log("IS_CAT_STORED: " + activeFeedIsCat() + ", IS_CAT: " + is_cat);
@@ -114,7 +114,14 @@ function viewfeed(feed, subop, is_cat, offset) {
                        var show_next_feed = getInitParam("on_catchup_show_next_feed") == "1";
 
                        if (show_next_feed) {
-                               // TODO: implement show_next_feed handling
+                               var tree = dijit.byId("feedTree");
+                               var nuf = tree.model.getNextUnreadFeed(feed, is_cat);
+
+                               if (nuf) {
+                                       var nuf_id = tree.model.store.getValue(nuf, 'bare_id');
+
+                                       query = query + "&nuf=" + param_escape(nuf_id);
+                               }
                        }
                }
 
@@ -208,6 +215,8 @@ function feedlist_init() {
 
                hideOrShowFeeds(getInitParam("hide_read_feeds") == 1);
 
+               setTimeout("timeout()", 5000);
+
        } catch (e) {
                exception_error("feedlist/init", e);
        }
@@ -309,7 +318,10 @@ function parse_counters(reply, scheduled_call) {
 
                        var treeItem;
 
-                       if (id == getActiveFeedId() && ctr > getFeedUnread(id) && scheduled_call) {
+                       // TODO: enable new content notification for categories
+
+                       if (!activeFeedIsCat() && id == getActiveFeedId() 
+                                       && ctr > getFeedUnread(id) && scheduled_call) {
                                displayNewContentPrompt(id);
                        }