Changeset 25441

Show
Ignore:
Timestamp:
19.04.2012 16:12:29 (8 years ago)
Author:
sjm84
Message:

Some changes to fix paged images

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/oran/js/document_scripts.js

    r25366 r25441  
    1717    template += '<xsl:template match="/">'; 
    1818    template +=   '<text>'; 
    19     template +=     '<xsl:apply-templates select="/page/pageResponse/document//documentNode[@nodeID = \'' + sectionID + '\']" mode="document"/>'; 
     19    template +=     '<xsl:for-each select="/page/pageResponse/document//documentNode[@nodeID = \'' + sectionID + '\']">'; 
     20    template +=       '<xsl:call-template name="sectionImage"/>'; 
     21    template +=       '<div id="text' + sectionID + '">'; 
     22    template +=         '<xsl:apply-templates select="." mode="document"/>'; 
     23    template +=       '</div>'; 
     24    template +=     '</xsl:for-each>'; 
    2025    template +=   '</text>'; 
    2126    template += '</xsl:template>'; 
     
    6570    template += '<xsl:template match="/">'; 
    6671    template +=   '<sections>'; 
    67     template +=     '<xsl:for-each select="/page/pageResponse/document//documentNode[@nodeID = \'' + sectionID + '\']">'; 
     72    template +=     '<xsl:for-each select="/page/pageResponse/document//documentNode[@nodeID = \'' + sectionID + '\']/documentNode">'; 
    6873    template +=       '<xsl:call-template name="wrapDocumentNodes"/>'; 
    6974    template +=     '</xsl:for-each>'; 
     
    8186            if(response) 
    8287            { 
    83                 var sectionsStart = response.indexOf(">") + 1; 
     88                var sectionsStart = response.indexOf(">", response.indexOf(">") + 1) + 1; 
    8489                var sectionsEnd = response.lastIndexOf("<"); 
    8590                 
     
    107112} 
    108113 
    109 function toggleSection(sectionID, callback) 
     114function toggleSection(sectionID, callback, tocDisabled) 
    110115{ 
    111116    var docElem = document.getElementById("doc" + sectionID); 
     
    117122    if(docElem.style.display == "none") 
    118123    { 
    119         if(tocToggleElem) 
     124        if(tocToggleElem && !tocDisabled) 
    120125        { 
    121126            tocToggleElem.setAttribute("src", gs.imageURLs.collapse); 
    122127        } 
    123128         
    124         if(tocElem) 
     129        if(tocElem && !tocDisabled) 
    125130        { 
    126131            tocElem.style.display = "block"; 
     
    148153                                callback(true); 
    149154                            } 
     155                             
     156                            if(document.getElementById("viewSelection")) 
     157                            { 
     158                                changeView(); 
     159                            } 
    150160                        } 
    151161                        else 
     
    211221} 
    212222 
    213 function focusSection(sectionID, level) 
     223function focusSection(sectionID, level, tocDisabled) 
    214224{ 
    215225    if(!level) 
     
    243253            if(success) 
    244254            { 
    245                 focusSection(sectionID, level + 1); 
    246             } 
    247         }); 
     255                focusSection(sectionID, level + 1, tocDisabled); 
     256            } 
     257        }, tocDisabled); 
    248258    } 
    249259    else 
    250260    { 
    251         focusSection(sectionID, level + 1); 
     261        focusSection(sectionID, level + 1, tocDisabled); 
    252262    } 
    253263} 
     
    305315            } 
    306316        } 
    307         setTimeout(checkFunction, 500); 
     317        checkFunction(); 
    308318    } 
    309319} 
     
    313323    var ajax = gs.functions.ajaxRequest(); 
    314324     
    315     ajax.open("GET", gs.xsltParams.library_name + "?a=d&dt=hierarchy&c=" + gs.cgiParams.c + "&d=" + gs.cgiParams.d.replace(/([\.]*)\..*/, "$1") + "&excerptid=gs-document", true); 
     325    ajax.open("GET", gs.xsltParams.library_name + "?a=d&dt=hierarchy&c=" + gs.cgiParams.c + "&d=" + gs.cgiParams.d.replace(/([^.]*)\..*/, "$1") + "&excerptid=gs-document", true); 
    316326    ajax.onreadystatechange = function() 
    317327    { 
     
    368378            var tocElem = document.getElementById("tableOfContents"); 
    369379            tocElem.innerHTML = newTOC; 
     380             
     381            gs.variables.tocLoaded = true; 
    370382        } 
    371383        else if(ajax.readyState == 4) 
     
    528540function retrieveTableOfContentsAndTitles() 
    529541{ 
     542    var ilt = ""; 
     543    ilt += '<xsl:template match="/">'; 
     544    ilt +=   '<xsl:apply-templates select="/page/pageResponse/document/documentNode" mode="TOC"/>'; 
     545    ilt += '</xsl:template>'; 
     546 
    530547    var ajax = gs.functions.ajaxRequest(); 
    531      
    532     ajax.open("GET", gs.xsltParams.library_name + "?a=d&ed=1&c=" + gs.cgiParams.c + "&d=" + gs.cgiParams.d + "&excerptid=tableOfContents"); 
     548    ajax.open("GET", gs.xsltParams.library_name + "?a=d&ed=1&c=" + gs.cgiParams.c + "&d=" + gs.cgiParams.d + "&ilt=" + ilt.replace(/ /g, "%20"), true); 
    533549    ajax.onreadystatechange = function() 
    534550    { 
    535551        if(ajax.readyState == 4 && ajax.status == 200) 
    536552        { 
    537             document.getElementById("contentsArea").innerHTML = document.getElementById("contentsArea").innerHTML + ajax.responseText; 
     553            document.getElementById("tableOfContents").innerHTML = ajax.responseText; 
    538554            replaceLinksWithSlider(); 
    539555            var loading = document.getElementById("tocLoadingImage"); 
     
    590606        leafSections[i].parentNode.insertBefore(widget.getElem(), leafSections[i]); 
    591607    } 
    592 } 
    593  
    594 function changePage(href) 
    595 { 
    596     var ajax = new gs.functions.ajaxRequest(); 
    597     ajax.open("GET", href + "&excerptid=gs-document"); 
    598     ajax.onreadystatechange = function() 
    599     { 
    600         if(ajax.readyState == 4 && ajax.status == 200) 
    601         { 
    602             var contentElem = document.getElementById("gs-document"); 
    603             contentElem.innerHTML = ajax.responseText; 
    604              
    605             for(var i = 0; i < _onCells.length; i++) 
    606             { 
    607                 cells[i].cell.style.border = ""; 
    608             } 
    609             _onCells = new Array; 
    610              
    611             if(_linkCellMap[href]) 
    612             { 
    613                 cells = _linkCellMap[href]; 
    614                 for(var i = 0; i < cells.length; i++) 
    615                 { 
    616                     cells[i].cell.style.border = "3px red solid"; 
    617                     _onCells.push(cells[i]); 
    618                 } 
    619             } 
    620         } 
    621     } 
    622     ajax.send(); 
     608     
     609    //Disable all TOC toggles 
     610    var imgs = document.getElementsByTagName("IMG"); 
     611    for(var j = 0; j < imgs.length; j++) 
     612    { 
     613        var currentImage = imgs[j]; 
     614        if(currentImage.getAttribute("id") && currentImage.getAttribute("id").search(/^ttoggle/) != -1) 
     615        { 
     616            currentImage.setAttribute("onclick", ""); 
     617        } 
     618        else if(currentImage.getAttribute("id") && currentImage.getAttribute("id").search(/^dtoggle/) != -1) 
     619        { 
     620            currentImage.setAttribute("onclick", currentImage.getAttribute("onclick").replace(/\)/, ", null, true)")); 
     621        } 
     622    } 
    623623} 
    624624 
     
    730730 
    731731        var href = page.getAttribute("href"); 
     732        var startHREF = href.indexOf("'") + 1; 
     733        var endHREF = href.indexOf("'", startHREF); 
     734        var nodeID = href.substring(startHREF, endHREF); 
     735        href = gs.xsltParams.library_name + "/collection/" + gs.cgiParams.c + "/document/" + nodeID; 
     736         
    732737        var template = ''; 
    733738        template += '<xsl:template match="/">'; 
     739        template +=   '<gsf:metadata name=\"Thumb\"/>'; 
    734740        template +=   '<html>'; 
    735741        template +=     '<img>'; 
     
    739745        template +=         "<xsl:value-of disable-output-escaping=\"yes\" select=\"/page/pageResponse/document/metadataList/metadata[@name = 'assocfilepath']\"/>"; 
    740746        template +=         '<xsl:text>/</xsl:text>'; 
    741         template +=         "<xsl:value-of disable-output-escaping=\"yes\" select=\"/page/pageResponse/document/documentNode/metadataList/metadata[@name = 'Thumb']\"/>"; 
     747        template +=         "<xsl:value-of disable-output-escaping=\"yes\" select=\"/page/pageResponse/document//documentNode[@nodeID = '" + nodeID + "']/metadataList/metadata[@name = 'Thumb']\"/>"; 
    742748        template +=       '</xsl:attribute>'; 
    743749        template +=     '</img>'; 
     
    747753        template +=   '</html>'; 
    748754        template += '</xsl:template>'; 
    749         ajax.open("GET", href + "&ilt=" + template.replace(" ", "%20")); 
     755 
     756        ajax.open("GET", href + "?ilt=" + template.replace(" ", "%20")); 
    750757        ajax.onreadystatechange = function() 
    751758        { 
     
    842849        _links[i].link = link; 
    843850        var href = _links[i].getAttribute("href"); 
    844         link.setAttribute("href", "javascript:changePage(\"" + href + "\");"); 
     851        link.setAttribute("href", href.replace(/\)/, ", 0, true)")); 
    845852         
    846853        if(!_linkCellMap[href])