Extending the (search)list of the editwizards to show more than 10 pages and to show more paging information (i.e. number of items on page and number of pages found).
LINKS:
Four patches are attachted to this mail that are needed to make it work.
START OF CALL: 20040830
END OF CALL: 20040903
[_] +1 (YEA) [_] +0 (ABSTAIN ) [_] -1 (NAY), because : [_] VETO, because:
Please, also indicate if you would like this hack to be added to the 1.7 branch:
[_] +1 (YEA) [_] +0 (ABSTAIN ) [_] -1 (NAY), because : [_] VETO, because:
Jaco
--- list.jsp.orig Mon Aug 30 12:51:42 2004
+++ list.jsp Mon Aug 30 22:17:59 2004
@@ -158,7 +158,7 @@
if (log.isDebugEnabled()) {
-log.trace("Got " + results.size() + " results");
+log.trace("Got " + results.size() + " of " + resultsSize + " results");
}
@@ -170,7 +170,7 @@
if (end > resultsSize) end = resultsSize;
// place all objects
-String s = "<list count=\"" + results.size() + "\" />";
+String s = "<list offsetstart=\"" + (start + 1) + "\" offsetend=\"" + (start +
results.size()) + "\" count=\"" + results.size() + "\" totalcount=\"" + resultsSize +
"\" />";
Document doc = Utils.parseXML(s);
log.trace("Create document");
@@ -247,8 +247,22 @@
Utils.setAttribute(pages, "showing", maxpages + "");
}
-for (int i = 0; i<pagecount && i<maxpages; i++) {
+int pageOffset = 0;
+currentpage = start / len;
+pageOffset = currentpage - (maxpages / 2);
+if (pageOffset < 0) {
+ pageOffset = 0;
+}
+if (pageOffset + maxpages > pagecount) {
+ pageOffset = pagecount - maxpages;
+ if (pageOffset < 0) {
+ pageOffset = 0;
+ }
+}
+
+for (int i = pageOffset; i<pagecount && i - pageOffset <maxpages; i++) {
org.w3c.dom.Node pagenode = doc.createElement("page");
+ Utils.setAttribute(pagenode, "number", (i+1)+"");
Utils.setAttribute(pagenode, "start", (i*len)+"");
Utils.setAttribute(pagenode, "current", (i==currentpage)+"");
Utils.setAttribute(pagenode, "previous", (i==currentpage-1)+"");
--- list.xsl.orig Mon Aug 30 23:36:50 2004
+++ list.xsl Mon Aug 30 23:37:12 2004
@@ -264,13 +264,13 @@
<xsl:template match="page">
<a class="pagenav" title="{$tooltip_goto}{position()}"
href="{$listpage}&[EMAIL PROTECTED]">
- <xsl:value-of select="position()" />
+ <xsl:value-of select="@number" />
</a>
<xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
</xsl:template>
<xsl:template match="[EMAIL PROTECTED]'true']">
- <xsl:value-of select="position()" />
+ <xsl:value-of select="@number" />
<xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
</xsl:template>
--- prompts.xsl.orig Mon Aug 30 12:59:29 2004 +++ prompts.xsl Mon Aug 30 22:17:56 2004 @@ -110,14 +110,14 @@ <xsl:variable name="tooltip_logout" >Uitloggen en terug naar de startpagina</xsl:variable> <!-- prompts and tooltips for lists --> <xsl:template name="prompt_edit_list" > - <xsl:value-of select="$title" disable-output-escaping="yes" />(<xsl:value-of select="/list/@count" /> items) + <xsl:value-of select="$title" disable-output-escaping="yes" />(items <xsl:value-of select="/list/@offsetstart"/>-<xsl:value-of select="/list/@offsetend"/>/<xsl:value-of select="/list/@totalcount" />, pagina <xsl:value-of select="/list/pages/@currentpage" />/<xsl:value-of select="/list/pages/@count" />) </xsl:template> <xsl:variable name="tooltip_edit_list" >Dit zijn de items die u kan wijzigen.</xsl:variable> <!-- searchlist prompts/tooltips --> <xsl:variable name="tooltip_select_search">Selecteer een of meer items uit de lijst</xsl:variable> <xsl:template name="prompt_no_results" >Geen items gevonden</xsl:template> <xsl:template name="prompt_more_results" >(Meer items gevonden...)</xsl:template> -<xsl:template name="prompt_result_count" >(<xsl:value-of select="/list/@count" /> items gevonden)</xsl:template> +<xsl:template name="prompt_result_count" >(items <xsl:value-of select="/list/@offsetstart"/>-<xsl:value-of select="/list/@offsetend"/>/<xsl:value-of select="/list/@totalcount" />, pagina <xsl:value-of select="/list/pages/@currentpage" />/<xsl:value-of select="/list/pages/@count" />)</xsl:template> <xsl:variable name="tooltip_cancel_search" >Annuleer</xsl:variable> <xsl:variable name="tooltip_end_search" >Toevoegen</xsl:variable> <!-- searchlist error messages for forms validation -->
--- searchlist.xsl.orig Mon Aug 30 13:29:06 2004
+++ searchlist.xsl Mon Aug 30 13:29:10 2004
@@ -169,6 +169,7 @@
<xsl:if test="not(/list/@showing)">
<xsl:text></xsl:text>
<span class="pagenav">
+ <xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
<xsl:call-template name="prompt_result_count" />
</span>
</xsl:if>
@@ -225,16 +226,18 @@
<xsl:template match="page">
<a class="pagenav" title="{$tooltip_goto}{position()}"
href="javascript:browseTo([EMAIL PROTECTED]);">
- <xsl:value-of select="position()" />
+ <xsl:value-of select="@number" />
</a>
+ <xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
<xsl:text />
</xsl:template>
<xsl:template match="[EMAIL PROTECTED]'true']">
<span class="pagenav-current">
- <xsl:value-of select="position()" />
+ <xsl:value-of select="@number" />
<xsl:text></xsl:text>
</span>
+ <xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
</xsl:template>
</xsl:stylesheet>
\ No newline at end of file
