Ignore:
Timestamp:
2012-07-12T12:42:07+12:00 (12 years ago)
Author:
sjm84
Message:

Some fixes to the paged image view

File:
1 edited

Legend:

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

    r25917 r25936  
    6060    </xsl:template>
    6161   
     62    <xsl:template name="sectionHeader">
     63        <xsl:call-template name="sectionTitle"/>
     64    </xsl:template>
     65   
    6266    <!-- Used to make sure that regardless what the collection designer uses for the title and content we can wrap it properly -->
    6367    <!-- If editing, be aware that the Document Basket looks for specific classes that this template bakes in (key points marked with ***) -->
    6468    <xsl:template name="wrapDocumentNodes">
    6569        <a name="{@nodeID}"><xsl:text> </xsl:text></a>
     70       
    6671        <!-- Section header -->
    6772        <table class="sectionHeader"><tr>
    68        
     73
    6974            <!-- Expand/collapse button -->
    7075            <xsl:if test="not(/page/pageResponse/format[@type='display' or @type='browse' or @type='search']/gsf:option[@name='sectionExpandCollapse']/@value) or /page/pageResponse/format[@type='display' or @type='browse' or @type='search']/gsf:option[@name='sectionExpandCollapse']/@value = 'true'">
     
    8489                </td>
    8590            </xsl:if>
    86            
     91                   
    8792            <!-- Title -->
    8893            <td id="header{@nodeID}" class="headerTD sectionTitle"><!-- *** -->
    89                 <!-- Get the title from the title sectionTitle template -->
    90                 <xsl:choose>
    91                     <xsl:when test="not(/page/pageRequest/paramList/param[@name = 'dmd']) or /page/pageRequest/paramList/param[@name = 'dmd']/@value = 'false'">
    92                         <xsl:call-template name="sectionTitleFormat"/>
    93                     </xsl:when>
    94                     <xsl:otherwise>
    95                         <xsl:call-template name="sectionTitle"/>
    96                     </xsl:otherwise>
    97                 </xsl:choose>
     94                <p>
     95                    <xsl:attribute name="class"><xsl:value-of select="util:hashToDepthClass(@nodeID)"/> sectionHeader</xsl:attribute>
     96
     97                    <xsl:if test="util:hashToSectionId(@nodeID)">
     98                        <span class="sectionNumberSpan">
     99                            <xsl:value-of select="util:hashToSectionId(@nodeID)"/>
     100                            <xsl:text> </xsl:text>
     101                        </span>
     102                    </xsl:if>
     103                    <!-- Display the title for the section regardless of whether automatic section numbering is turned on -->
     104                    <span><xsl:call-template name="sectionHeader"/></span>
     105                </p>
    98106            </td>
    99107           
     
    107115            </xsl:if>
    108116        </tr></table>
    109        
     117
    110118        <div id="doc{@nodeID}"><!-- *** -->
    111119            <xsl:choose>
     
    161169            </xsl:if>
    162170           
    163             <xsl:for-each select=".">
    164                 <xsl:call-template name="sectionImage"/>
    165             </xsl:for-each>
     171            <xsl:call-template name="sectionImage"/>
    166172           
    167173            <div id="text{@nodeID}" class="sectionText"><!-- *** -->
     
    278284    <xsl:template name="wrappedDocument">
    279285        <xsl:choose>
    280             <xsl:when test="/page/pageRequest/paramList/param[@name = 'alb']/@value = '1' or (string-length(/page/pageRequest/paramList/param[@name = 'd']/@value) > 0 and (/page/pageRequest/paramList/param[@name = 'ed']/@value = '1' or not(util:contains(/page/pageResponse/document/@selectedNode, '.'))))">
     286            <!-- NOTE: alb = ajax load bypass -->
     287            <xsl:when test="/page/pageResponse/document/@docType = 'hierarchy' and (/page/pageRequest/paramList/param[@name = 'alb']/@value = '1' or (string-length(/page/pageRequest/paramList/param[@name = 'd']/@value) > 0 and (/page/pageRequest/paramList/param[@name = 'ed']/@value = '1' or not(util:contains(/page/pageResponse/document/@selectedNode, '.')))))">
    281288                <div id="gs-document">
    282289                    <xsl:call-template name="documentPre"/>
     
    287294                    </div>
    288295                </div>
     296            </xsl:when>
     297            <xsl:when test="/page/pageResponse/document/@docType = 'paged'">
     298                <div id="gs-document">                         
     299                    <div id="tocLoadingImage" style="text-align:center;">
     300                        <img src="{util:getInterfaceText($interface_name, /page/@lang, 'loading_image')}"/><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.loading')"/><xsl:text>...</xsl:text>
     301                    </div>
     302                </div>
     303                <script type="text/javascript">
     304                    <xsl:text disable-output-escaping="yes">
     305                        $(window).load(function()
     306                        {
     307                            var url = gs.xsltParams.library_name + "?a=d&amp;c=" + gs.cgiParams.c + "&amp;excerptid=gs-document&amp;dt=hierarchy&amp;d=" + gs.cgiParams.d.replace(/([^.]*)\..*/, "$1");
     308                            loadTopLevelPage(null, url);
     309                        });
     310                    </xsl:text>
     311                </script>
    289312            </xsl:when>
    290313            <xsl:otherwise>
     
    370393        </xsl:choose>
    371394    </xsl:template>
    372    
    373     <xsl:template name="sectionTitleFormat">
    374         <p>
    375             <xsl:attribute name="class"><xsl:value-of select="util:hashToDepthClass(@nodeID)"/> sectionHeader</xsl:attribute>
    376            
    377             <xsl:if test="util:hashToSectionId(@nodeID)">
    378                 <span class="sectionNumberSpan">
    379                     <xsl:value-of select="util:hashToSectionId(@nodeID)"/>
    380                     <xsl:text> </xsl:text>
    381                 </span>
    382             </xsl:if>
    383             <!-- Display the title for the section regardless of whether automatic section numbering is turned on -->
    384             <span><xsl:call-template name="sectionTitle"/></span>
    385         </p>
    386     </xsl:template>
    387    
    388395       
    389396    <!-- The default template for displaying section titles -->
     
    400407        <xsl:choose>
    401408            <xsl:when test="metadataList/metadata[@name = 'Screen'] and metadataList/metadata[@name = 'Source'] and ($imageWidth div $screenImageWidth > 1.2)">
    402                 <div id="wrap{util:replace(@nodeID, '.', '_')}" class="zoomImage" style="position:relative; width: {$screenImageWidth}px; height: {$screenImageHeight}px;">
    403                     <div id="small{util:replace(@nodeID, '.', '_')}" style="position:relative; width: {$screenImageWidth}px; height: {$screenImageHeight}px;">
    404                         <gsf:image type="screen"/>
    405                     </div>
    406                     <div id="mover{util:replace(@nodeID, '.', '_')}" style="border: 1px solid green; position: absolute; top: 0; left: 0; width: 198px; height: 198px; overflow: hidden; z-index: 100; background: white; display: none;">
    407                         <div id="overlay{util:replace(@nodeID, '.', '_')}" style="width: 200px; height: 200px; position: absolute; top: 0; left: 0; z-index: 200;">
    408                             <xsl:text> </xsl:text>
     409                <div id="image{@nodeID}">
     410                    <div id="wrap{util:replace(@nodeID, '.', '_')}" class="zoomImage" style="position:relative; width: {$screenImageWidth}px; height: {$screenImageHeight}px;">
     411                        <div id="small{util:replace(@nodeID, '.', '_')}" style="position:relative; width: {$screenImageWidth}px; height: {$screenImageHeight}px;">
     412                            <gsf:image type="screen"/>
    409413                        </div>
    410                         <div id="large{util:replace(@nodeID, '.', '_')}" style="position: relative; width: {$imageWidth}px; height: {$imageHeight}px;">
    411                             <gsf:image type="source"/>
     414                        <div id="mover{util:replace(@nodeID, '.', '_')}" style="border: 1px solid green; position: absolute; top: 0; left: 0; width: 198px; height: 198px; overflow: hidden; z-index: 100; background: white; display: none;">
     415                            <div id="overlay{util:replace(@nodeID, '.', '_')}" style="width: 200px; height: 200px; position: absolute; top: 0; left: 0; z-index: 200;">
     416                                <xsl:text> </xsl:text>
     417                            </div>
     418                            <div id="large{util:replace(@nodeID, '.', '_')}" style="position: relative; width: {$imageWidth}px; height: {$imageHeight}px;">
     419                                <gsf:image type="source"/>
     420                            </div>
    412421                        </div>
    413422                    </div>
    414                 </div>
    415                 <script type="text/javascript">
    416                     <xsl:text disable-output-escaping="yes">
    417                         {
    418                             var nodeID = "</xsl:text><xsl:value-of select="@nodeID"/><xsl:text disable-output-escaping="yes">";
    419                             nodeID = nodeID.replace(/\./g, "_");
    420 
    421                             var bigHeight = </xsl:text><xsl:value-of select="$imageHeight"/><xsl:text disable-output-escaping="yes">;
    422                             var smallHeight = </xsl:text><xsl:value-of select="$screenImageHeight"/><xsl:text disable-output-escaping="yes">;
    423 
    424                             var multiplier = bigHeight / smallHeight;
    425 
    426                             $("#wrap" + nodeID).anythingZoomer({
    427                                 smallArea: "#small" + nodeID,
    428                                 largeArea: "#large" + nodeID,
    429                                 zoomPort: "#overlay" + nodeID,
    430                                 mover: "#mover" + nodeID,
    431                                 expansionSize:50, 
    432                                 speedMultiplier:multiplier   
    433                             });
    434                            
    435                             $("#zoomOptions").css("display", "table-row");
    436                         }
    437                     </xsl:text>
    438                 </script>
     423                    <script type="text/javascript">
     424                        <xsl:text disable-output-escaping="yes">
     425                            {
     426                                var nodeID = "</xsl:text><xsl:value-of select="@nodeID"/><xsl:text disable-output-escaping="yes">";
     427                                nodeID = nodeID.replace(/\./g, "_");
     428
     429                                var bigHeight = </xsl:text><xsl:value-of select="$imageHeight"/><xsl:text disable-output-escaping="yes">;
     430                                var smallHeight = </xsl:text><xsl:value-of select="$screenImageHeight"/><xsl:text disable-output-escaping="yes">;
     431
     432                                var multiplier = bigHeight / smallHeight;
     433
     434                                $("#wrap" + nodeID).anythingZoomer({
     435                                    smallArea: "#small" + nodeID,
     436                                    largeArea: "#large" + nodeID,
     437                                    zoomPort: "#overlay" + nodeID,
     438                                    mover: "#mover" + nodeID,
     439                                    expansionSize:50, 
     440                                    speedMultiplier:multiplier  
     441                                });
     442                               
     443                                $("#zoomOptions").css("display", null);
     444                            }
     445                        </xsl:text>
     446                    </script>
     447                </div>
    439448            </xsl:when>
    440449            <xsl:when test="metadataList/metadata[@name = 'Screen']">
Note: See TracChangeset for help on using the changeset viewer.