diff options
author | Andrew Dolgov <[email protected]> | 2005-08-25 14:27:12 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2005-08-25 14:27:12 +0100 |
commit | c374a3fecab6e98544acc53e4bdaf034caf20caf (patch) | |
tree | 0ebec2c4cb779e1b13438dcb3a53c855eb6b24c5 | |
parent | c3a8d71ad42e1cfc72db5bb0f43789935220e6db (diff) |
improved search interface
-rw-r--r-- | backend.php | 9 | ||||
-rw-r--r-- | tt-rss.js | 53 |
2 files changed, 46 insertions, 16 deletions
diff --git a/backend.php b/backend.php index ac7e9b51a..d29cc280b 100644 --- a/backend.php +++ b/backend.php @@ -245,14 +245,15 @@ $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"; } @@ -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=' '; + 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=' '; 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, ""); } |