Changeset 29553

Show
Ignore:
Timestamp:
08.12.2014 14:33:22 (5 years ago)
Author:
kjdon
Message:

tidying up paging of query results. max docs and hits per page are now displayed here if they are part of the service. tidy up of how the 'displaying 1 to 20 of 58 sections' string is formed.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/default/transform/pages/query.xsl

    r29342 r29553  
    164164                    </input> 
    165165                    <input type="hidden" name="rt" value="rd"/> 
    166                     <xsl:choose> 
    167                         <xsl:when test="/page/pageRequest/paramList/param[@name = 's1.maxDocs']"> 
    168                             <input type="hidden" name="s1.maxDocs"> 
    169                                 <xsl:attribute name="value"> 
    170                                     <xsl:value-of select="/page/pageRequest/paramList/param[@name = 's1.maxDocs']/@value"/> 
    171                                 </xsl:attribute> 
    172                             </input> 
    173                         </xsl:when> 
    174                         <xsl:otherwise> 
    175                             <input type="hidden" name="s1.maxDocs" value="100"/> 
    176                         </xsl:otherwise> 
    177                     </xsl:choose> 
    178                     <xsl:choose> 
    179                         <xsl:when test="/page/pageRequest/paramList/param[@name = 's1.hitsPerPage']"> 
    180                             <input type="hidden" name="s1.hitsPerPage"> 
    181                                 <xsl:attribute name="value"> 
    182                                     <xsl:value-of select="/page/pageRequest/paramList/param[@name = 's1.hitsPerPage']/@value"/> 
    183                                 </xsl:attribute> 
    184                             </input> 
    185                         </xsl:when> 
    186                         <xsl:otherwise> 
    187                             <input type="hidden" name="s1.hitsPerPage" value="20"/> 
    188                         </xsl:otherwise> 
    189                     </xsl:choose> 
    190166 
    191167                    <xsl:variable name="ns">s1.</xsl:variable> 
    192168                    <xsl:for-each select="paramList/param"> 
    193169                        <xsl:choose> 
    194                             <xsl:when test="@name = 'maxDocs' or @name = 'hitsPerPage'"> 
    195                             </xsl:when> 
    196170                            <xsl:when test="@type='multi'"> 
    197171                                <xsl:apply-templates select="."> 
     
    220194        <div id="matchdocs"> 
    221195            <xsl:variable name="numDocsMatched" select="/page/pageResponse/metadataList/metadata[@name='numDocsMatched']"/> 
    222             <xsl:variable name="numDocsReturned"> 
    223                 <xsl:call-template name="numDocsReturned"/> 
    224             </xsl:variable> 
    225             <!-- select="/page/pageResponse/metadataList/metadata[@name='numDocsReturned']"/>--> 
     196            <xsl:variable name="numDocsReturned" select="/page/pageResponse/metadataList/metadata[@name='numDocsReturned']"/> 
    226197            <xsl:variable name="docLevel"> 
    227198                <xsl:call-template name="documentLevel"/> 
     
    250221        </div> 
    251222 
    252     </xsl:template> 
    253  
    254     <xsl:template name="numDocsMatched"> 
    255         <xsl:choose> 
    256             <xsl:when test="/page/pageResponse/metadataList/metadata[@name = 'numDocsMatched']"> 
    257                 <xsl:value-of select="/page/pageResponse/metadataList/metadata[@name = 'numDocsMatched']"/> 
    258             </xsl:when> 
    259             <xsl:when test="/page/pageResponse/metadataList/metadata[@name = 'numDocsReturned']"> 
    260                 <xsl:value-of select="/page/pageResponse/metadataList/metadata[@name = 'numDocsReturned']"/> 
    261             </xsl:when> 
    262             <xsl:otherwise> 
    263                 <xsl:value-of select="count(/page/pageResponse/documentNodeList/documentNode)"/> 
    264             </xsl:otherwise> 
    265         </xsl:choose>    
    266     </xsl:template> 
    267  
    268     <xsl:template name="numDocsReturned"> 
    269         <xsl:choose> 
    270             <xsl:when test="/page/pageResponse/metadataList/metadata[@name = 'numDocsReturned']"> 
    271                 <xsl:value-of select="/page/pageResponse/metadataList/metadata[@name = 'numDocsReturned']"/> 
    272             </xsl:when> 
    273             <xsl:otherwise> 
    274                 <xsl:value-of select="count(/page/pageResponse/documentNodeList/documentNode)"/> 
    275             </xsl:otherwise> 
    276         </xsl:choose>    
    277223    </xsl:template> 
    278224 
     
    399345            </xsl:choose> 
    400346        </xsl:variable> 
    401  
    402347        <xsl:variable name="usesS1"> 
    403348            <xsl:choose> 
     
    406351            </xsl:choose> 
    407352        </xsl:variable> 
    408  
    409         <!-- Find the total number of documents returned --> 
     353        <!-- Find the total number of documents returned/matched --> 
    410354        <xsl:variable name="docMax"> 
    411355            <xsl:choose> 
     
    421365            </xsl:choose> 
    422366        </xsl:variable> 
    423  
    424367        <!-- Find the number of documents displayed per page --> 
    425368        <xsl:variable name="docsPerPage"> 
    426369            <xsl:choose> 
    427                 <xsl:when test="/page/pageRequest/paramList/param[@name='hitsPerPage']"> 
    428                     <xsl:value-of select="/page/pageRequest/paramList/param[@name='hitsPerPage']/@value" /> 
    429                 </xsl:when> 
    430370                <xsl:when test="/page/pageRequest/paramList/param[@name='s1.hitsPerPage']"> 
    431371                    <xsl:value-of select="/page/pageRequest/paramList/param[@name='s1.hitsPerPage']/@value" /> 
    432372                </xsl:when> 
    433                 <xsl:otherwise>20</xsl:otherwise> 
     373                <xsl:when test="$usesS1 = 'true' and /page/pageResponse/service/paramList/param[@name='hitsPerPage']"> 
     374                  <xsl:value-of select="/page/pageResponse/service/paramList/param[@name='hitsPerPage']/@default" /> 
     375                  </xsl:when> 
     376                <xsl:otherwise><xsl:value-of select="count(/page/pageResponse/documentNodeList/documentNode)"/></xsl:otherwise> 
    434377            </xsl:choose> 
    435378        </xsl:variable> 
    436  
    437         <!-- Find the number of documents displayed per page --> 
     379        <!-- Find the level --> 
    438380        <xsl:variable name="level"> 
    439             <xsl:choose> 
    440                 <xsl:when test="/page/pageRequest/paramList/param[@name='level']"> 
    441                     <xsl:value-of select="/page/pageRequest/paramList/param[@name='level']/@value" /> 
    442                 </xsl:when> 
    443                 <xsl:when test="/page/pageRequest/paramList/param[@name='s1.level']"> 
    444                     <xsl:value-of select="/page/pageRequest/paramList/param[@name='s1.level']/@value" /> 
    445                 </xsl:when> 
    446                 <xsl:otherwise>Doc</xsl:otherwise> 
    447             </xsl:choose> 
     381          <xsl:call-template name="documentLevel"/> 
    448382        </xsl:variable> 
    449383 
     
    468402 
    469403                <!-- Search result status bar (in english it reads "Displaying X to Y of Z documents") --> 
    470                 <xsl:if test="$docMax &gt; 0"> 
     404                <xsl:if test="$docsPerPage &gt; 0"> 
    471405                    <xsl:variable name="startdoc" select="($currentPage - 1) * $docsPerPage + 1"/> 
    472406                    <xsl:variable name="enddoc"> 
     
    513447                <!-- Next button --> 
    514448                <td id="nextTD"> 
    515                     <xsl:if test="($currentPage * $docsPerPage + 1) &lt; $docMax"> 
     449                    <xsl:if test="$docsPerPage &gt; 0 and ($currentPage * $docsPerPage + 1) &lt; $docMax"> 
    516450                        <a href="{$library_name}?a=q&amp;sa={/page/pageRequest/paramList/param[@name = 'sa']/@value}&amp;c={$collName}&amp;s={/page/pageResponse/service/@name}&amp;rt=rd&amp;{$startPageName}={$currentPage + 1}&amp;qs={/page/pageRequest/paramList/param[@name='qs']/@value}">Next</a> 
    517451                    </xsl:if> 
    518452                </td> 
    519453                <td id="nextArrowTD"> 
    520                     <xsl:if test="($currentPage * $docsPerPage + 1) &lt; $docMax"> 
     454                    <xsl:if test="$docsPerPage &gt; 0 and ($currentPage * $docsPerPage + 1) &lt; $docMax"> 
    521455                        <a href="{$library_name}?a=q&amp;sa={/page/pageRequest/paramList/param[@name = 'sa']/@value}&amp;c={$collName}&amp;s={/page/pageResponse/service/@name}&amp;rt=rd&amp;{$startPageName}={$currentPage + 1}&amp;qs={/page/pageRequest/paramList/param[@name='qs']/@value}"> 
    522456                            <img src="interfaces/default/images/next.png"/>