Changeset 25441


Ignore:
Timestamp:
2012-04-19T16:12:29+12:00 (12 years ago)
Author:
sjm84
Message:

Some changes to fix paged images

File:
1 edited

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])
Note: See TracChangeset for help on using the changeset viewer.