Ignore:
Timestamp:
2011-08-31T13:39:11+12:00 (13 years ago)
Author:
sjm84
Message:

The expanding classifers will now remain open if you press back to revisit the page, also adding xsltParams to the gs variable, also changed Document Maker to Document Basket in the pref.xsl file

Location:
main/trunk/greenstone3/web/interfaces/oran
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/oran/transform/classifiertools.xsl

    r24359 r24520  
    8181      <xsl:choose>
    8282    <xsl:when test="name()='documentNode'">
    83       <td><table><tr>
     83      <td><table id="div{@nodeID}"><tr>
    8484        <xsl:call-template name="documentNodeWrapper">
    8585          <xsl:with-param name='collName' select='$collName'/>
     
    9090    </xsl:when>
    9191    <xsl:otherwise>
    92       <td><table><tr>
     92      <td><table id="title{@nodeID}"><tr>
     93        <td class="headerTD">
     94            <img id="toggle{@nodeID}" onclick="toggleSection('{@nodeID}');" class="icon">           
     95                <xsl:attribute name="src">
     96                    <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'expand_image')"/>
     97                </xsl:attribute>
     98            </img>
     99        </td>
    93100        <xsl:apply-templates select='.'>
    94101          <xsl:with-param name='collName' select='$collName'/>
     
    99106      <xsl:if test="child::classifierNode or child::documentNode">
    100107        <!--recurse into the children-->
    101         <tr><td><table class="childrenlist">
     108        <tr><td><table class="childrenlist" id="div{@nodeID}">
    102109        <xsl:apply-templates select='.' mode='process-all-children'>
    103110          <xsl:with-param name='collName' select='$collName'/>
  • main/trunk/greenstone3/web/interfaces/oran/transform/javascript-global-setup.xsl

    r24510 r24520  
    1111            gs = new Array();
    1212            gs.cgiParams = new Array();
     13            gs.xsltParams = new Array();
    1314            gs.siteMetadata = new Array();
    1415            gs.collectionMetadata = new Array();
     
    1819        </script>
    1920        <xsl:call-template name="populate-cgi-param-values"/>
     21        <xsl:call-template name="populate-xslt-param-values"/>
    2022        <xsl:call-template name="populate-image-url-values"/>
    2123        <xsl:call-template name="populate-metadata-values"/>
     
    3234                gs.cgiParams[name] = value;
    3335            </xsl:for-each>
     36        </script>
     37    </xsl:template>
     38   
     39    <xsl:template name="populate-xslt-param-values">
     40        <script type="text/javascript">
     41            <xsl:text disable-output-escaping="yes">gs.xsltParams.library_name = "</xsl:text><xsl:value-of select="$library_name"/><xsl:text disable-output-escaping="yes">";</xsl:text>
     42            <xsl:text disable-output-escaping="yes">gs.xsltParams.interface_name = "</xsl:text><xsl:value-of select="$interface_name"/><xsl:text disable-output-escaping="yes">";</xsl:text>
    3443        </script>
    3544    </xsl:template>
  • main/trunk/greenstone3/web/interfaces/oran/transform/pages/classifier.xsl

    r24512 r24520  
    2020    <!-- the page content -->
    2121    <xsl:template match="/page/pageResponse">
    22         <xsl:call-template name="classifierLoadScript"/>
    23             <!-- this right sidebar -->
    24             <xsl:if test="$berryBasketOn or $documentBasketOn">
    25                 <div id="rightSidebar">
    26                     <xsl:if test="$berryBasketOn">
    27                         <!-- show the berry basket if it's turned on -->
    28                         <gslib:berryBasket/>
    29                         <xsl:text> </xsl:text>
    30                     </xsl:if>
     22        <script type="text/javascript" src="interfaces/{$interface_name}/js/classifier_scripts.js"><xsl:text> </xsl:text></script>
     23       
     24        <!-- this right sidebar -->
     25        <xsl:if test="$berryBasketOn or $documentBasketOn">
     26            <div id="rightSidebar">
     27                <xsl:if test="$berryBasketOn">
     28                    <!-- show the berry basket if it's turned on -->
     29                    <gslib:berryBasket/>
     30                    <xsl:text> </xsl:text>
     31                </xsl:if>
    3132
    32                     <xsl:if test="$documentBasketOn">
    33                         <gslib:documentBasket/>
    34                         <xsl:text> </xsl:text>
    35                     </xsl:if>
    36                 </div>
    37             </xsl:if>
     33                <xsl:if test="$documentBasketOn">
     34                    <gslib:documentBasket/>
     35                    <xsl:text> </xsl:text>
     36                </xsl:if>
     37            </div>
     38        </xsl:if>
    3839   
    3940        <!--
     
    5152            </xsl:apply-templates>
    5253        </div>
     54        <script type="text/javascript">openStoredClassifiers();</script>
    5355        <div class="clear"><xsl:text> </xsl:text></div>
    5456    </xsl:template>
     
    5860    TEMPLATE FOR DOCUMENTS
    5961    -->
    60 
    61     <!--<xsl:template match="documentNode" priority="3">-->
    62         <!-- show the document details -->
    63         <!--<li class="document">
    64             <a>
    65                 <xsl:attribute name="href"><xsl:value-of select="$library_name"/>?a=d&amp;c=<xsl:value-of select="/page/pageResponse/collection/@name"/>&amp;d=<xsl:value-of select="@nodeID"/>&amp;dt=<xsl:value-of select="@docType"/>&amp;p.a=b&amp;p.s=<xsl:value-of select="/page/pageResponse/service/@name"/>&amp;ed=1</xsl:attribute><xsl:value-of disable-output-escaping="yes"  select="metadataList/metadata[@name='Title']"/>
    66             </a>
    67         </li>
    68     </xsl:template>-->
    6962
    7063    <xsl:template match="documentNode"><!-- priority="3"-->
     
    132125        </xsl:if>
    133126    </xsl:template>
    134    
    135     <xsl:template name="classifierLoadScript">
    136         <script type="text/javascript">
    137             <xsl:text disable-output-escaping="yes">
    138                 var collapseImageURL = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'collapse_image')"/><xsl:text disable-output-escaping="yes">";
    139                 var expandImageURL = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'expand_image')"/><xsl:text disable-output-escaping="yes">";
    140                 var loadingImageURL = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'loading_image')"/><xsl:text disable-output-escaping="yes">";
    141                 var berryBaskets = "</xsl:text><xsl:value-of select="/page/pageRequest/paramList/param[@name='berrybasket']/@value"/><xsl:text disable-output-escaping="yes">";
    142                 var inProgress = new Array();
    143            
    144                 function isExpanded(sectionID)
    145                 {
    146                     var divElem = document.getElementById("div" + sectionID);
    147                     if(!divElem.style.display || divElem.style.display == "block")
    148                     {
    149                         return true;
    150                     }
    151                     return false;
    152                 }
    153            
    154                 function toggleSection(sectionID)
    155                 {
    156                     var section = document.getElementById("div" + sectionID);
    157                     var sectionToggle = document.getElementById("toggle" + sectionID);
    158                    
    159                     if(section)
    160                     {
    161                         if(isExpanded(sectionID))
    162                         {
    163                             section.style.display = "none";
    164                             sectionToggle.setAttribute("src", expandImageURL);
    165                         }
    166                         else
    167                         {
    168                             section.style.display = "block";
    169                             sectionToggle.setAttribute("src", collapseImageURL);
    170                         }
    171                     }
    172                     else
    173                     {
    174                         httpRequest(sectionID);
    175                     }
    176                 }
    177                
    178                 function httpRequest(sectionID)
    179                 {
    180                     if(!inProgress[sectionID])
    181                     {
    182                         inProgress[sectionID] = true;
    183                         var httpRequest;
    184                         if (window.XMLHttpRequest) {
    185                             httpRequest = new XMLHttpRequest();
    186                         }
    187                         else if (window.ActiveXObject) {
    188                             httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    189                         }
    190                        
    191                         var sectionToggle = document.getElementById("toggle" + sectionID);
    192                         sectionToggle.setAttribute("src", loadingImageURL);
    193 
    194                         var url = document.URL;
    195                         url = url.replace(/(&amp;|\?)cl=[a-z\.0-9]+/gi, "$1cl=" + sectionID + "&amp;excerptid=div" + sectionID);
    196            
    197                         if(berryBaskets == "on")
    198                         {
    199                             url = url + "&amp;berrybasket=on";
    200                         }
    201 
    202                         httpRequest.open('GET', url, true);
    203                         httpRequest.onreadystatechange = function()
    204                         {
    205                             if (httpRequest.readyState == 4)
    206                             {
    207                                 if (httpRequest.status == 200)
    208                                 {
    209                                     var newDiv = document.createElement("div");         
    210                                     var sibling = document.getElementById("title" + sectionID);
    211                                     var parent = sibling.parentNode;
    212                                    
    213                                     if(sibling.nextSibling)
    214                                     {
    215                                         parent.insertBefore(newDiv, sibling.nextSibling);
    216                                     }
    217                                     else
    218                                     {
    219                                         parent.appendChild(newDiv);
    220                                     }
    221                                    
    222                                     newDiv.innerHTML = httpRequest.responseText;
    223                                     sectionToggle.setAttribute("src", collapseImageURL);
    224                                    
    225                                     if(berryBaskets == "on")
    226                                     {
    227                                         checkout();
    228                                     }
    229                                 }
    230                                 else
    231                                 {
    232                                     sectionToggle.setAttribute("src", expandImageURL);
    233                                 }
    234                                 inProgress[sectionID] = false;
    235                             }
    236                         }
    237                         httpRequest.send();
    238                     }
    239                 }
    240             </xsl:text>
    241         </script>
    242     </xsl:template>
    243 
    244127</xsl:stylesheet>
    245128
  • main/trunk/greenstone3/web/interfaces/oran/transform/pages/pref.xsl

    r24510 r24520  
    182182                <div id="documentmakerprefs">
    183183                    <xsl:variable name="documentbasket"><xsl:choose><xsl:when test="/page/pageRequest/paramList/param[@name='documentbasket']"><xsl:value-of select="/page/pageRequest/paramList/param[@name='documentbasket']/@value"/></xsl:when><xsl:otherwise>off</xsl:otherwise></xsl:choose></xsl:variable>
    184                     <div class="paramLabel">Document Maker</div>
     184                    <div class="paramLabel">Document basket</div>
    185185                    <div class="paramValue">
    186186                        <select name="documentbasket">
Note: See TracChangeset for help on using the changeset viewer.