Changeset 26367

Show
Ignore:
Timestamp:
23.10.2012 14:00:36 (7 years ago)
Author:
kjdon
Message:

split this up into lots of templates so its easier to modify it for a collection. added templates for case/stem/accent params. niupepa has these in preferences page.

Files:
1 modified

Legend:

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

    r25462 r26367  
    2323 
    2424    <!-- the page content --> 
    25     <xsl:template match="/page"> 
    26  
     25  <xsl:template match="/page"> 
     26    <xsl:call-template name="prefs-javascript"/> 
     27    <xsl:variable name="collName" select="/page/pageRequest/paramList/param[@name='c']/@value"/> 
     28     
     29    <div id="queryform"> 
     30      <form name="PrefForm" method="get" action="{$library_name}" id="prefform"> 
     31     
     32    <input type='hidden' name='a' value='p'/> 
     33    <input type='hidden' name='sa' value='pref'/> 
     34    <input type='hidden' name='c' value="{$collName}"/> 
     35 
     36    <xsl:call-template name="presentation-prefs"/> 
     37    <xsl:call-template name="search-prefs"/> 
     38    <br/> 
     39     
     40    <input type='submit' onclick="bypass=true;"><xsl:attribute name="value"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.set_prefs')"/></xsl:attribute></input> 
     41     
     42      </form> 
     43    </div> 
     44     
     45  </xsl:template> 
     46    <xsl:template name="presentation-prefs"> 
     47    <h3 class="formheading"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.prespref')"/></h3> 
     48    <div id="presprefs"> 
     49      <xsl:call-template name="lang-param"/> 
     50     <!-- <xsl:call-template name="encoding-param"/>--> 
     51      <xsl:call-template name="format-edit-param"/> 
     52    <xsl:call-template name="berry-basket-param"/> 
     53    <xsl:call-template name="document-maker-param"/> 
     54    <xsl:call-template name="book-param"/> 
     55    <xsl:call-template name="theme-change-param"/> 
     56      </div> 
     57  </xsl:template> 
     58<xsl:template name="search-prefs"> 
     59                <h3><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.searchpref')"/></h3> 
     60                <div id="searchprefs"> 
     61    <xsl:call-template name="hits-param"/> 
     62    <xsl:call-template name="max-docs-param"/> 
     63                </div> 
     64</xsl:template> 
     65    <xsl:template name="prefs-javascript"> 
    2766        <!--  
    2867        Add some javascript to the page that notices when a preference is changed  
     
    116155            YAHOO.util.Event.addListener(window, 'beforeunload', checkModified); 
    117156        </xsl:text></script> 
    118  
    119         <xsl:variable name="collName" select="/page/pageRequest/paramList/param[@name='c']/@value"/> 
    120         <xsl:variable name="tidyoption"><xsl:value-of select="/page/pageResponse/collection/metadataList/metadata[@name='tidyoption']"/></xsl:variable> 
    121  
    122         <div id="queryform"> 
    123             <form name="PrefForm" method="get" action="{$library_name}" id="prefform"> 
    124  
    125                 <input type='hidden' name='a' value='p'/> 
    126                 <input type='hidden' name='sa' value='pref'/> 
    127                 <input type='hidden' name='c' value="{$collName}"/> 
    128  
    129                 <!-- presentation preferences --> 
    130                 <h3 class="formheading"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.prespref')"/></h3> 
    131                 <div id="presprefs"> 
    132  
    133                     <!-- language --> 
     157    </xsl:template> 
     158 
     159 
     160                <xsl:template name="lang-param"> 
    134161                    <div class="paramLabel"> 
    135162                        <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.interfacelang')"/> 
     
    143170 
    144171                    </div> 
    145                     <br class="clear"/> 
    146  
    147                     <!-- encoding --> 
     172      <br class="clear"/> 
     173 
     174</xsl:template> 
     175                     
     176 
     177                <xsl:template name="encoding-param"> 
    148178                    <div class="paramValue"> 
    149179                        <span class="rightspace"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.encoding')"/></span> 
    150180                    </div> 
    151                     <br class="clear"/> 
    152  
    153                     <!-- format editing --> 
     181      <br class="clear"/> 
     182 
     183    </xsl:template> 
     184                     
     185 
     186                    <xsl:template name="format-edit-param"> 
    154187                    <xsl:if test="/page/pageResponse/collection/serviceList/service[@name='CoverageMetadataRetrieve']"> 
    155188                        <div id="formateditprefs"> 
     
    167200                        </div> 
    168201                    </xsl:if> 
    169                 </div> 
    170  
    171                 <!-- berry baskets --> 
     202</xsl:template> 
     203 
     204<xsl:template name="berry-basket-param"> 
    172205                <div id="berrybasketprefs"> 
    173206                    <xsl:variable name="berrybasket"><xsl:choose><xsl:when test="/page/pageRequest/paramList/param[@name='berrybasket']"><xsl:value-of select="/page/pageRequest/paramList/param[@name='berrybasket']/@value"/></xsl:when><xsl:otherwise>off</xsl:otherwise></xsl:choose></xsl:variable> 
     
    183216                    <br class="clear"/> 
    184217                </div> 
    185                  
    186                 <!-- document maker --> 
     218</xsl:template> 
     219                <xsl:template name="document-maker-param"> 
    187220                <xsl:if test="/page/pageRequest/userInformation and (util:contains(/page/pageRequest/userInformation/@groups, 'administrator') or util:contains(/page/pageRequest/userInformation/@groups, 'all-collections-editor') or util:contains(/page/pageRequest/userInformation/@groups, $thisCollectionEditor))"> 
    188221                    <div id="documentmakerprefs"> 
     
    198231                    </div> 
    199232                </xsl:if> 
    200  
     233      </xsl:template> 
     234      <xsl:template name="book-param"> 
    201235                <!-- tidy (?) --> 
     236        <xsl:variable name="tidyoption"><xsl:value-of select="/page/pageResponse/collection/metadataList/metadata[@name='tidyoption']"/></xsl:variable> 
    202237                <xsl:if test="$tidyoption='tidy'"> 
    203238                    <xsl:variable name="book"><xsl:choose><xsl:when test="/page/pageRequest/paramList/param[@name='book']"><xsl:value-of select="/page/pageRequest/paramList/param[@name='book']/@value"/></xsl:when><xsl:otherwise>off</xsl:otherwise></xsl:choose></xsl:variable> 
     
    213248                    <br class="clear"/> 
    214249                </xsl:if> 
    215                  
     250      </xsl:template> 
     251      <xsl:template name="theme-change-param"> 
    216252                <!-- Theme Changer --> 
    217253                <xsl:if test="/page/pageRequest/userInformation and util:contains(/page/pageRequest/userInformation/@groups, 'administrator')"> 
     
    237273                    <br class="clear"/> 
    238274                </xsl:if> 
    239  
    240                 <!-- search preferences --> 
    241                 <h3><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.searchpref')"/></h3> 
    242                 <div id="searchprefs"> 
     275</xsl:template> 
     276 
     277<xsl:template name="hits-param"> 
    243278                    <xsl:variable name="hits"> 
    244279                        <xsl:choose> 
     
    287322                     
    288323                    <br class="clear"/> 
    289                      
     324                    </xsl:template> 
     325    <xsl:template name="max-docs-param"> 
    290326                    <xsl:variable name="mdocs"> 
    291327                        <xsl:choose> 
     
    307343                     
    308344                    <br class="clear"/> 
    309                 </div> 
    310  
    311                 <br/> 
    312  
    313                 <input type='submit' onclick="bypass=true;"><xsl:attribute name="value"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.set_prefs')"/></xsl:attribute></input> 
    314  
    315             </form> 
    316         </div> 
    317  
    318     </xsl:template> 
    319  
     345</xsl:template> 
     346 
     347  <!-- what happens if more than one query service??--> 
     348  <xsl:template name="casefold-param"> 
     349    <xsl:for-each select="/page/pageResponse/collection[@name=$collNameChecked]/serviceList/service[@type='query']/paramList/param[@name='case']"><xsl:call-template name="param-display"/></xsl:for-each> 
     350  </xsl:template> 
     351  <xsl:template name="stem-param"> 
     352    <xsl:for-each select="/page/pageResponse/collection[@name=$collNameChecked]/serviceList/service[@type='query']/paramList/param[@name='stem']"><xsl:call-template name="param-display"/></xsl:for-each> 
     353  </xsl:template> 
     354  <xsl:template name="accentfold-param"> 
     355    <xsl:for-each select="/page/pageResponse/collection[@name=$collNameChecked]/serviceList/service[@type='query']/paramList/param[@name='accent']"><xsl:call-template name="param-display"/></xsl:for-each> 
     356  </xsl:template> 
    320357</xsl:stylesheet>