fixed page navigation counter

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@8113 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
orbiter 13 years ago
parent 550c881d80
commit 5b2e68b60d

@ -80,46 +80,45 @@ function statistics(offset, itemscount, itemsperpage, totalcount, localResourceS
document.getElementById("remoteResourceSize").firstChild.nodeValue = remoteResourceSize; document.getElementById("remoteResourceSize").firstChild.nodeValue = remoteResourceSize;
document.getElementById("remoteIndexCount").firstChild.nodeValue = remoteIndexCount; document.getElementById("remoteIndexCount").firstChild.nodeValue = remoteIndexCount;
document.getElementById("remotePeerCount").firstChild.nodeValue = remotePeerCount; document.getElementById("remotePeerCount").firstChild.nodeValue = remotePeerCount;
document.getElementById("resNav").firstChild.nodeValue = "X";
var resNav = document.getElementById("resNav");
resNav.firstChild.nodeValue = "X";
// compose page navigation // compose page navigation
resnav = ""; resnav = "";
thispage = offset / itemsperpage; thispage = Math.floor(offset / itemsperpage);
if (thispage == 0) { if (thispage == 0) {
resnav += ("<img src=\"env/grafics/navdl.gif\" alt=\"arrowleft\" width=\"16\" height=\"16\" />&nbsp;"); resnav += ("<img src=\"env/grafics/navdl.gif\" alt=\"arrowleft\" width=\"16\" height=\"16\" />&nbsp;");
} else { } else {
resnav += ("<a id=\"prevpage\" href=\""); resnav += ("<a id=\"prevpage\" href=\"");
resnav += (navurlbase + "&amp;startRecord=" + ((thispage - 1) * itemsperpage)); resnav += (navurlbase + "&amp;startRecord=" + ((thispage - 1) * itemsperpage));
resnav += ("\"><img src=\"env/grafics/navdl.gif\" alt=\"arrowleft\" width=\"16\" height=\"16\" /></a>&nbsp;"); resnav += ("\"><img src=\"env/grafics/navdl.gif\" alt=\"arrowleft\" width=\"16\" height=\"16\" /></a>&nbsp;");
} }
numberofpages = Math.min(10, 1 + (((localResourceSize + remoteResourceSize) - 1) / itemsperpage));
for (i = 0; i < numberofpages; i++) { numberofpages = Math.min(10, 1 + ((totalcount - 1) / itemsperpage));
if (i == thispage) { if (!numberofpages) numberofpages = 10;
resnav += "<img src=\"env/grafics/navs"; for (i = 0; i < numberofpages; i++) {
resnav += (i + 1); if (i == thispage) {
resnav += (".gif\" alt=\"page"); resnav += "<img src=\"env/grafics/navs";
resnav += (i + 1); resnav += (i + 1);
resnav += ("\" width=\"16\" height=\"16\" />&nbsp;"); resnav += (".gif\" alt=\"page");
} else { resnav += (i + 1);
resnav += ("<a href=\""); resnav += ("\" width=\"16\" height=\"16\" />&nbsp;");
resnav += (navurlbase + "&amp;startRecord=" + (i * itemsperpage)); } else {
resnav += ("\"><img src=\"env/grafics/navd"); resnav += ("<a href=\"");
resnav += (i + 1); resnav += (navurlbase + "&amp;startRecord=" + (i * itemsperpage));
resnav += (".gif\" alt=\"page"); resnav += ("\"><img src=\"env/grafics/navd");
resnav += (i + 1); resnav += (i + 1);
resnav += ("\" width=\"16\" height=\"16\" /></a>&nbsp;"); resnav += (".gif\" alt=\"page");
} resnav += (i + 1);
} resnav += ("\" width=\"16\" height=\"16\" /></a>&nbsp;");
if (thispage >= numberofpages) { }
resnav += ("<img src=\"env/grafics/navdr.gif\" alt=\"arrowright\" width=\"16\" height=\"16\" />"); }
} else { if (thispage >= numberofpages) {
resnav += ("<a id=\"nextpage\" href=\""); resnav += ("<img src=\"env/grafics/navdr.gif\" alt=\"arrowright\" width=\"16\" height=\"16\" />");
resnav += (navurlbase + "&amp;startRecord=" + ((thispage + 1) * itemsperpage)); } else {
resnav += ("\"><img src=\"env/grafics/navdr.gif\" alt=\"arrowright\" width=\"16\" height=\"16\" /></a>"); resnav += ("<a id=\"nextpage\" href=\"");
} resnav += (navurlbase + "&amp;startRecord=" + ((thispage + 1) * itemsperpage));
resnav += ("\"><img src=\"env/grafics/navdr.gif\" alt=\"arrowright\" width=\"16\" height=\"16\" /></a>");
}
//document.getElementById("resNav").firstChild.nodeValue = resnav; document.getElementById("resNav").innerHTML = resnav;
} }

@ -234,7 +234,7 @@ function latestinfo() {
self.xmlHttpReq.onreadystatechange = function() { self.xmlHttpReq.onreadystatechange = function() {
if (self.xmlHttpReq.readyState == 4) { if (self.xmlHttpReq.readyState == 4) {
var rsp = eval("(" + self.xmlHttpReq.responseText + ")"); var rsp = eval("(" + self.xmlHttpReq.responseText + ")");
statistics(rsp.offset, rsp.itemscount, rsp.itemsperpage, rsp.totalcount, rsp.localResourceSize, rsp.remoteResourceSize, rsp.remoteIndexCount, rsp.remotePeerCount); statistics(rsp.offset, rsp.itemscount, rsp.itemsperpage, rsp.totalcount, rsp.localResourceSize, rsp.remoteResourceSize, rsp.remoteIndexCount, rsp.remotePeerCount, rsp.navurlBase);
} }
} }
self.xmlHttpReq.send(null); self.xmlHttpReq.send(null);

@ -740,8 +740,8 @@ public class yacysearch {
} }
final int indexcount = theSearch.getRankingResult().getLocalIndexCount() - theSearch.getRankingResult().getMissCount() - theSearch.getRankingResult().getSortOutCount() + theSearch.getRankingResult().getRemoteIndexCount(); final int indexcount = theSearch.getRankingResult().getLocalIndexCount() - theSearch.getRankingResult().getMissCount() - theSearch.getRankingResult().getSortOutCount() + theSearch.getRankingResult().getRemoteIndexCount();
prop.put("num-results_offset", offset); prop.put("num-results_offset", offset + 1);
prop.put("num-results_itemscount", Formatter.number(0, true)); prop.put("num-results_itemscount", Formatter.number(offset + theSearch.getQuery().itemsPerPage > indexcount ? offset + indexcount % theSearch.getQuery().itemsPerPage : offset + theSearch.getQuery().itemsPerPage, true));
prop.put("num-results_itemsPerPage", itemsPerPage); prop.put("num-results_itemsPerPage", itemsPerPage);
prop.put("num-results_totalcount", Formatter.number(indexcount, true)); prop.put("num-results_totalcount", Formatter.number(indexcount, true));
prop.put("num-results_globalresults", global && (indexReceiveGranted || clustersearch) ? "1" : "0"); prop.put("num-results_globalresults", global && (indexReceiveGranted || clustersearch) ? "1" : "0");

@ -56,7 +56,7 @@
#(/content)# #(/content)#
<script type="text/javascript"> <script type="text/javascript">
statistics("#[offset]#", "#[itemscount]#", "#[itemsperpage]#", "#[totalcount]#", "#[localResourceSize]#", "#[remoteResourceSize]#", "#[remoteIndexCount]#", "#[remotePeerCount]#"); statistics("#[offset]#", "#[itemscount]#", "#[itemsperpage]#", "#[totalcount]#", "#[localResourceSize]#", "#[remoteResourceSize]#", "#[remoteIndexCount]#", "#[remotePeerCount]#", #[navurlBase]#);
progressbar.step(1); progressbar.step(1);
</script> </script>

@ -101,6 +101,7 @@ public class yacysearchitem {
prop.put("remoteResourceSize", Formatter.number(theSearch.getRankingResult().getRemoteResourceSize(), true)); prop.put("remoteResourceSize", Formatter.number(theSearch.getRankingResult().getRemoteResourceSize(), true));
prop.put("remoteIndexCount", Formatter.number(theSearch.getRankingResult().getRemoteIndexCount(), true)); prop.put("remoteIndexCount", Formatter.number(theSearch.getRankingResult().getRemoteIndexCount(), true));
prop.put("remotePeerCount", Formatter.number(theSearch.getRankingResult().getRemotePeerCount(), true)); prop.put("remotePeerCount", Formatter.number(theSearch.getRankingResult().getRemotePeerCount(), true));
prop.put("navurlBase", QueryParams.navurlBase("html", theQuery, null, theQuery.urlMask.toString(), theQuery.navigators).toString());
final String target = sb.getConfig(SwitchboardConstants.SEARCH_TARGET, "_self"); final String target = sb.getConfig(SwitchboardConstants.SEARCH_TARGET, "_self");
if (theQuery.contentdom == ContentDomain.TEXT) { if (theQuery.contentdom == ContentDomain.TEXT) {

@ -20,7 +20,7 @@ public class yacysearchlatestinfo {
// the event does not exist. // the event does not exist.
// to avoid missing patterns, we return dummy values // to avoid missing patterns, we return dummy values
prop.put("offset", 0); prop.put("offset", 0);
prop.put("itemscount", -1); prop.put("itemscount", 0);
prop.put("itemsperpage", 10); prop.put("itemsperpage", 10);
prop.put("totalcount", 0); prop.put("totalcount", 0);
prop.put("localResourceSize", 0); prop.put("localResourceSize", 0);
@ -36,7 +36,7 @@ public class yacysearchlatestinfo {
final int totalcount = theSearch.getRankingResult().getLocalIndexCount() - theSearch.getRankingResult().getMissCount() - theSearch.getRankingResult().getSortOutCount() + theSearch.getRankingResult().getRemoteIndexCount(); final int totalcount = theSearch.getRankingResult().getLocalIndexCount() - theSearch.getRankingResult().getMissCount() - theSearch.getRankingResult().getSortOutCount() + theSearch.getRankingResult().getRemoteIndexCount();
final int offset = theQuery.neededResults() - theQuery.displayResults() + 1; final int offset = theQuery.neededResults() - theQuery.displayResults() + 1;
prop.put("offset", offset); prop.put("offset", offset);
prop.put("itemscount", -1); prop.put("itemscount",Formatter.number(offset + theSearch.getQuery().itemsPerPage >= totalcount ? offset + totalcount % theSearch.getQuery().itemsPerPage - 1 : offset + theSearch.getQuery().itemsPerPage - 1));
prop.put("itemsperpage", theSearch.getQuery().itemsPerPage); prop.put("itemsperpage", theSearch.getQuery().itemsPerPage);
prop.put("totalcount", Formatter.number(totalcount, true)); prop.put("totalcount", Formatter.number(totalcount, true));
prop.put("localResourceSize", Formatter.number(theSearch.getRankingResult().getLocalIndexCount(), true)); prop.put("localResourceSize", Formatter.number(theSearch.getRankingResult().getLocalIndexCount(), true));
@ -44,6 +44,7 @@ public class yacysearchlatestinfo {
prop.put("remoteResourceSize", Formatter.number(theSearch.getRankingResult().getRemoteResourceSize(), true)); prop.put("remoteResourceSize", Formatter.number(theSearch.getRankingResult().getRemoteResourceSize(), true));
prop.put("remoteIndexCount", Formatter.number(theSearch.getRankingResult().getRemoteIndexCount(), true)); prop.put("remoteIndexCount", Formatter.number(theSearch.getRankingResult().getRemoteIndexCount(), true));
prop.put("remotePeerCount", Formatter.number(theSearch.getRankingResult().getRemotePeerCount(), true)); prop.put("remotePeerCount", Formatter.number(theSearch.getRankingResult().getRemotePeerCount(), true));
prop.putJSON("navurlBase", QueryParams.navurlBase("html", theQuery, null, theQuery.urlMask.toString(), theQuery.navigators).toString());
return prop; return prop;
} }

@ -1,4 +1,5 @@
{ {
"offset": "#[offset]#",
"itemscount": "#[itemscount]#", "itemscount": "#[itemscount]#",
"itemsperpage": "#[itemsperpage]#", "itemsperpage": "#[itemsperpage]#",
"totalcount": "#[totalcount]#", "totalcount": "#[totalcount]#",
@ -6,5 +7,6 @@
"localMissCount": "#[localMissCount]#", "localMissCount": "#[localMissCount]#",
"remoteResourceSize": "#[remoteResourceSize]#", "remoteResourceSize": "#[remoteResourceSize]#",
"remoteIndexCount": "#[remoteIndexCount]#", "remoteIndexCount": "#[remoteIndexCount]#",
"remotePeerCount": "#[remotePeerCount]#" "remotePeerCount": "#[remotePeerCount]#",
"navurlBase": "#[navurlBase]#"
} }

Loading…
Cancel
Save