Changeset 25936 for main


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

Some fixes to the paged image view

Location:
main/trunk/greenstone3/web/interfaces/default
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/default/interfaceConfig.xml

    r25844 r25936  
    3232    </action>
    3333  </actionList>
    34   <optionList>
    35     <option name="cssTheme" value="interfaces/default/style/themes/main/jquery-ui-1.8.16.custom.css"/>
    36     <option name="highlightQueryTerms" value="true"/>
    37     <option name="berryBaskets" value="true"/>
    38     <option name="documentBasket" value="true"/>
    39   </optionList>
    4034  <languageList>
    4135    <language name="en">
     
    193187    </language>
    194188  </languageList>
     189  <optionList>
     190    <option name="cssTheme" value="interfaces/default/style/themes/main/jquery-ui-1.8.16.custom.css"/>
     191    <option name="highlightQueryTerms" value="true"/>
     192    <option name="berryBaskets" value="true"/>
     193    <option name="documentBasket" value="true"/>
     194  </optionList>
    195195</interfaceConfig>
  • main/trunk/greenstone3/web/interfaces/default/js/document_scripts.js

    r25921 r25936  
    9292
    9393    var ajax = gs.functions.ajaxRequest();
    94     ajax.open("GET", gs.xsltParams.library_name + "/collection/" + gs.cgiParams.c + "/document/" + sectionID + "?ilt=" + template.replace(" ", "%20"), true);
     94    var url = gs.xsltParams.library_name + "/collection/" + gs.cgiParams.c + "/document/" + sectionID + "?ilt=" + template.replace(" ", "%20");
     95
     96    if(gs.documentMetadata.docType == "paged")
     97    {
     98        url += "&dt=hierarchy";
     99    }
     100    ajax.open("GET", url, true);
    95101    ajax.onreadystatechange = function()
    96102    {
     
    155161                    if(text.search("wrap" + nodeID) != -1)
    156162                    {
    157                         document.getElementById("zoomOptions").style.display = "table-row";
     163                        document.getElementById("zoomOptions").style.display = null;
     164                        document.getElementById("pagedImageOptions").style.display = null;
    158165                    }
    159166                    getSubSectionsForSection(sectionID, function(sections)
     
    338345}
    339346
    340 function loadTopLevelPage(callbackFunction)
     347function loadTopLevelPage(callbackFunction, customURL)
    341348{
    342349    var ajax = gs.functions.ajaxRequest();
    343350   
    344     var url = gs.xsltParams.library_name + "?a=d&dt=hierarchy&c=" + gs.cgiParams.c + "&excerptid=gs-document";
     351    var url = gs.xsltParams.library_name + "?a=d&c=" + gs.cgiParams.c + "&excerptid=gs-document";
    345352    if(gs.cgiParams.d && gs.cgiParams.d.length > 0)
    346353    {
     
    351358        url += "&d=&alb=1&rl=1&href=" + gs.cgiParams.href;
    352359    }
    353    
    354     ajax.open("GET", url, true);
     360
     361    if(customURL != null)
     362    {
     363        ajax.open("GET", customURL, true);
     364    }
     365    else
     366    {
     367        ajax.open("GET", url, true);
     368    }
    355369    ajax.onreadystatechange = function()
    356370    {
     
    365379                var docEnd = response.lastIndexOf("<");
    366380                var doc = response.substring(docStart, docEnd);
     381
    367382                targetElem.innerHTML = doc;
    368383               
  • main/trunk/greenstone3/web/interfaces/default/style/core.css

    r25935 r25936  
    203203#viewOptions li {
    204204    list-style:none;
    205     display: inline;
    206205    padding: 5px;
    207206}
     
    210209    margin: 0px;
    211210    padding: 0px;
     211    width: 100%;
    212212}
    213213
  • main/trunk/greenstone3/web/interfaces/default/transform/javascript-global-setup.xsl

    r25704 r25936  
    9292                addMetadataToList(name, value, gs.documentMetadata, lang);
    9393            </xsl:for-each>
     94           
     95            <xsl:text disable-output-escaping="yes">addMetadataToList("docType", "</xsl:text><xsl:value-of select="/page/pageResponse/document/@docType"/><xsl:text disable-output-escaping="yes">", gs.documentMetadata, "</xsl:text><xsl:value-of select="@lang"/><xsl:text disable-output-escaping="yes">");</xsl:text>
    9496        </script>
    9597    </xsl:template>
  • main/trunk/greenstone3/web/interfaces/default/transform/layouts/toc.xsl

    r25932 r25936  
    177177                <!-- The section name, links to the section in the document -->
    178178                <td>               
    179                     <a id="toclink{@nodeID}">
    180                         <xsl:choose>
    181                             <xsl:when test="/page/pageResponse/document/@docType = 'paged'">
    182                                 <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"/></xsl:attribute>
    183                             </xsl:when>
    184                             <xsl:otherwise>
    185                                 <xsl:attribute name="href">javascript:focusSection('<xsl:value-of select="@nodeID"/>');</xsl:attribute>
    186                             </xsl:otherwise>
    187                         </xsl:choose>
     179                    <a id="toclink{@nodeID}" href="javascript:focusSection('{@nodeID}');">
    188180                        <xsl:if test="util:hashToSectionId(@nodeID)">
    189181                            <xsl:value-of select="util:hashToSectionId(@nodeID)"/>
    190182                            <xsl:text> </xsl:text>
    191183                        </xsl:if>
    192                         <xsl:call-template name="sectionTitle"/>
     184                        <xsl:call-template name="sectionHeader"/>
    193185                    </a>
    194186                </td>
     
    221213            <ul id="viewOptions">
    222214                <!-- Paged-image options -->
    223                 <xsl:if test="count(//documentNode/metadataList/metadata[@name = 'Screen']) > 0 or /page/pageResponse/document/documentNode/@docType = 'paged'">
    224                     <li>
    225                         <select id="viewSelection" onchange="changeView();">
    226                             <xsl:choose>
    227                                 <xsl:when test="/page/pageRequest/paramList/param[@name = 'view']/@value = 'image'">
    228                                     <option>Default view</option>
    229                                     <option selected="true">Image view</option>
    230                                     <option>Text view</option>
    231                                 </xsl:when>
    232                                 <xsl:when test="/page/pageRequest/paramList/param[@name = 'view']/@value = 'text'">
    233                                     <option>Default view</option>
    234                                     <option>Image view</option>
    235                                     <option selected="true">Text view</option>
    236                                 </xsl:when>
    237                                 <xsl:otherwise>
    238                                     <option selected="true">Default view</option>
    239                                     <option>Image view</option>
    240                                     <option>Text view</option>
    241                                 </xsl:otherwise>
    242                             </xsl:choose>
    243                         </select>
    244                     </li>
    245                 </xsl:if>
     215                <li id="pagedImageOptions">
     216                    <xsl:attribute name="style">
     217                        <xsl:choose>
     218                            <xsl:when test="count(//documentNode/metadataList/metadata[@name = 'Screen']) > 0 or /page/pageResponse/document/documentNode/@docType = 'paged'">
     219                            </xsl:when>
     220                            <xsl:otherwise>
     221                                display:none;
     222                            </xsl:otherwise>
     223                        </xsl:choose>
     224                    </xsl:attribute>
     225                    <select id="viewSelection" onchange="changeView();">
     226                        <xsl:choose>
     227                            <xsl:when test="/page/pageRequest/paramList/param[@name = 'view']/@value = 'image'">
     228                                <option>Default view</option>
     229                                <option selected="true">Image view</option>
     230                                <option>Text view</option>
     231                            </xsl:when>
     232                            <xsl:when test="/page/pageRequest/paramList/param[@name = 'view']/@value = 'text'">
     233                                <option>Default view</option>
     234                                <option>Image view</option>
     235                                <option selected="true">Text view</option>
     236                            </xsl:when>
     237                            <xsl:otherwise>
     238                                <option selected="true">Default view</option>
     239                                <option>Image view</option>
     240                                <option>Text view</option>
     241                            </xsl:otherwise>
     242                        </xsl:choose>
     243                    </select>
     244                </li>
    246245           
    247246                <!-- Realistic books link -->
     
    269268                        </input>
    270269                    </li>
    271                 </xsl:if>
     270                </xsl:if><xsl:text> </xsl:text>
    272271            </ul>
    273272            <ul id="zoomOptions">
  • 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.