summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2005-08-25 14:27:12 +0100
committerAndrew Dolgov <[email protected]>2005-08-25 14:27:12 +0100
commitc374a3fecab6e98544acc53e4bdaf034caf20caf (patch)
tree0ebec2c4cb779e1b13438dcb3a53c855eb6b24c5
parentc3a8d71ad42e1cfc72db5bb0f43789935220e6db (diff)
improved search interface
-rw-r--r--backend.php9
-rw-r--r--tt-rss.js53
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";
}
diff --git a/tt-rss.js b/tt-rss.js
index 1b92bac1d..58acf1d30 100644
--- 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, "");
}