yacy_search_server/htroot/yacyinteractive.html
orbiter 27b2998eb4 added searchtable function to more tables in interface
you can now sort by any column in most tables in YaCy just by clicking on the headline column of the table

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@6738 6c8d7289-2bf4-0310-a012-ef5d649a1542
2010-03-10 10:05:41 +00:00

120 lines
4.5 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>YaCy Interactive Search</title>
#%env/templates/metas.template%#
<script language="Javascript">
//<![CDATA[
function xmlhttpPost() {
var searchform = document.forms['searchform'];
search(searchform.query.value);
}
function search(query) {
var xmlHttpReq = false;
var self = this;
if (window.XMLHttpRequest) { // Mozilla/Safari
self.xmlHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open('GET', "yacysearch.json?verify=false&resource=local&maximumRecords=100&nav=topics&query=" + query, true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
self.xmlHttpReq.onreadystatechange = function() {
if (self.xmlHttpReq.readyState == 4) {
updatepage(self.xmlHttpReq.responseText);
}
}
self.xmlHttpReq.send(null);
}
function navget(list, name) {
for (var i = 0; i < list.length; i++) {
if (list[i].facetname = name) return list[i];
}
}
function updatepage(str) {
var raw = document.getElementById("raw");
if (raw != null) raw.innerHTML = str;
var rsp = eval("("+str+")");
var firstChannel = rsp.channels[0];
var totalResults = firstChannel.totalResults.replace(/[,.]/,"");
var startIndex = firstChannel.startIndex;
var itemsPerPage = firstChannel.itemsPerPage;
var navigation = firstChannel.navigation;
var topics = navget(navigation, "topics");
var html = "<span id=\"resCounter\" style=\"display: inline;\">total results = " + totalResults;
if (topics.length > 0) {
var topwords = "";
for (var i = 0; i < topics.elements.length; i++) {
topwords += "<a href=\"yacyinteractive.html?query=" + firstChannel.searchTerms + "+" + topics.elements[i].name + "\">" + topics.elements[i].name + "</a> ";
if (i > 10) break;
}
html += "&nbsp;&nbsp;&nbsp;topwords: " + topwords;
}
html += "</span><br>";
if (totalResults > 0) {
var item;
html += "<table class=\"sortable\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" width=\"99%\">";
html += "<tr class=\"TableHeader\" valign=\"bottom\">";
html += "<td>Name</td>";
html += "<td width=\"60\">Size</td>";
//html += "<td>Description</td>";
html += "<td width=\"180\">Date</td></tr>";
for (var i = 0; i < firstChannel.items.length; i++) {
item = firstChannel.items[i];
html += "<tr class=\"TableCellLight\"><td align=\"left\"><a href=\"" + item.link + "\">" + item.title + "</a></td>";
html += "<td align=\"right\">" + item.sizename + "</td>";
//html += "<td>" + item.description + "</td>";
html += "<td align=\"right\">" + item.pubDate + "</td></tr>";
}
html += "</table>";
}
document.getElementById("searchresults").innerHTML = html;
}
//]]>
</script>
<script src="/js/sorttable.js"></script>
</head>
<body>
<script type="text/javascript">
//<![CDATA[
var q = "#[query]#";
if (q != "") search(q);
//]]>
</script>
#(display)#
#%env/templates/simpleheader.template%#
<div id="kiosk">
<a href="yacyinteractive.html?display=2"\><img src="env/grafics/close.gif" width="16" height="16" alt="close" /></a>
<span>kiosk mode</span>
</div>
::
<div id="api"><a href="yacysearch.json?query=yacy"><img src="env/grafics/api.png" width="60" height="40" alt="API" /></a>
<span>This page uses the JSON search API to display search results as you type.
Click the API icon to see an example call to the native API.
To see a list of all APIs, please visit the <a href="http://www.yacy-websuche.de/wiki/index.php/Dev:API">API wiki page</a>.</span>
</div>
#%env/templates/header.template%#
::
#%env/templates/embeddedheader.template%#
#(/display)#
<form class="search small" name="searchform" action="yacyinteractive.html" method="get" onkeyup="xmlhttpPost(); return false;">
<h2>#[promoteSearchPageGreeting]#</h2>
<div class="yacylogo">
<a href="#[promoteSearchPageGreeting.homepage]#" class="yacylogo"><img src="#[promoteSearchPageGreeting.smallImage]#" alt="yacysearch"/></a>
</div>
<fieldset class="yacys"><input name="query" type="text" value="#[query]#" size="50" maxlength="80" /></fieldset>
<!--<pre>Raw JSON String: <div id="raw"></div></pre>-->
</form>
<div id="searchresults"></div>
#%env/templates/footer.template%#
</body>
</html>