]> git.wh0rd.org Git - tt-rss.git/commitdiff
improved search interface
authorAndrew Dolgov <fox@bah.spb.su>
Thu, 25 Aug 2005 13:27:12 +0000 (14:27 +0100)
committerAndrew Dolgov <fox@bah.spb.su>
Thu, 25 Aug 2005 13:27:12 +0000 (14:27 +0100)
backend.php
tt-rss.js

index ac7e9b51a505e3bd3c0c317c7b5b0ea9e25f7345..d29cc280b335faae1020a638213dfe73c52cf829 100644 (file)
                $feed_last_updated = "Updated: " . $line["last_updated"];
 
                print "<tr><td class=\"search\" colspan=\"3\">
-                       Search: <input onchange=\"javascript:search($feed,this);\">
-                       <a class=\"button\" href=\"javascript:viewfeed($feed,0)\">Reset</a>
+                       Search: <input id=\"searchbox\" onchange=\"javascript:search($feed);\">
+                       <a class=\"button\" href=\"javascript:resetSearch()\">Reset</a>
                        </td></tr>"; 
                print "<tr>
                <td colspan=\"3\" class=\"title\">" . $line["title"] . "</td></tr>"; 
 
-               if ($subop == "search") {
-                       $search = $_GET["search"];
+               $search = $_GET["search"];
+
+               if (search) {
                        $search_query_part = "(upper(title) LIKE upper('%$search%') 
                                OR content LIKE '%$search%') AND";
                }
index 1b92bac1d05284a85aa0d56741b5d844dc080402..58acf1d3000fb22c1308bc413bf89f41e021e122 100644 (file)
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -19,6 +19,8 @@ var total_feed_entries = false;
 var _viewfeed_autoselect_first = false;
 var _viewfeed_autoselect_last = false;
 
+var search_query = "";
+
 /*@cc_on @*/
 /*@if (@_jscript_version >= 5)
 // JScript gives us Conditional compilation, we can cope with old IE versions.
@@ -103,6 +105,10 @@ function viewfeed_callback() {
 
                }
 
+               var searchbox = document.getElementById("searchbox");
+
+               searchbox.value = search_query;
+
                notify("");
 
        }       
@@ -238,8 +244,18 @@ function catchupAllFeeds() {
 
 function viewfeed(feed, skip, subop) {
 
-//     document.getElementById('headlines').innerHTML='Loading headlines, please wait...';             
-//     document.getElementById('content').innerHTML='&nbsp;';          
+       var searchbox = document.getElementById("searchbox");
+
+       if (searchbox) {
+               search_query = searchbox.value;
+       } else {
+               search_query = "";
+       } 
+
+/*     if (active_feed_id == feed && subop != "ForceUpdate") {
+               notify("This feed is currently selected.");
+               return;
+       } */
 
        if (skip < 0 || skip > total_feed_entries) {
                return;
@@ -254,8 +270,14 @@ function viewfeed(feed, skip, subop) {
        active_post_id = false;
        active_offset = skip;
 
-       xmlhttp.open("GET", "backend.php?op=viewfeed&feed=" + param_escape(feed) +
-               "&skip=" + param_escape(skip) + "&subop=" + param_escape(subop) , true);
+       var query = "backend.php?op=viewfeed&feed=" + param_escape(feed) +
+               "&skip=" + param_escape(skip) + "&subop=" + param_escape(subop);
+
+       if (search_query != "") {
+               query = query + "&search=" + param_escape(search_query);
+       }
+       
+       xmlhttp.open("GET", query, true);
        xmlhttp.onreadystatechange=viewfeed_callback;
        xmlhttp.send(null);
 
@@ -326,22 +348,29 @@ function timeout() {
 
 }
 
-function search(feed, sender) {
+function resetSearch() {
+       document.getElementById("searchbox").value = "";
+       viewfeed(active_feed_id, 0, "");
+}
 
-       if (xmlhttp.readyState != 4 && xmlhttp.readyState != 0) {
-               printLockingError();
-               return
-       }
+function search(feed) {
+
+//     if (xmlhttp.readyState != 4 && xmlhttp.readyState != 0) {
+//             printLockingError();
+//             return
+//     }
 
-       notify("Search: " + feed + ", " + sender.value)
+//     notify("Search: " + feed + ", " + sender.value)
 
-       document.getElementById('headlines').innerHTML='Loading headlines, please wait...';             
+/*     document.getElementById('headlines').innerHTML='Loading headlines, please wait...';             
        document.getElementById('content').innerHTML='&nbsp;';          
 
        xmlhttp.open("GET", "backend.php?op=viewfeed&feed=" + param_escape(feed) +
                "&search=" + param_escape(sender.value) + "&subop=search", true);
        xmlhttp.onreadystatechange=viewfeed_callback;
-       xmlhttp.send(null);
+       xmlhttp.send(null); */
+
+       viewfeed(feed, 0, "");
 
 }