Changeset 25441
- Timestamp:
- 2012-04-19T16:12:29+12:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/web/interfaces/oran/js/document_scripts.js
r25366 r25441 17 17 template += '<xsl:template match="/">'; 18 18 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>'; 20 25 template += '</text>'; 21 26 template += '</xsl:template>'; … … 65 70 template += '<xsl:template match="/">'; 66 71 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">'; 68 73 template += '<xsl:call-template name="wrapDocumentNodes"/>'; 69 74 template += '</xsl:for-each>'; … … 81 86 if(response) 82 87 { 83 var sectionsStart = response.indexOf(">" ) + 1;88 var sectionsStart = response.indexOf(">", response.indexOf(">") + 1) + 1; 84 89 var sectionsEnd = response.lastIndexOf("<"); 85 90 … … 107 112 } 108 113 109 function toggleSection(sectionID, callback )114 function toggleSection(sectionID, callback, tocDisabled) 110 115 { 111 116 var docElem = document.getElementById("doc" + sectionID); … … 117 122 if(docElem.style.display == "none") 118 123 { 119 if(tocToggleElem )124 if(tocToggleElem && !tocDisabled) 120 125 { 121 126 tocToggleElem.setAttribute("src", gs.imageURLs.collapse); 122 127 } 123 128 124 if(tocElem )129 if(tocElem && !tocDisabled) 125 130 { 126 131 tocElem.style.display = "block"; … … 148 153 callback(true); 149 154 } 155 156 if(document.getElementById("viewSelection")) 157 { 158 changeView(); 159 } 150 160 } 151 161 else … … 211 221 } 212 222 213 function focusSection(sectionID, level )223 function focusSection(sectionID, level, tocDisabled) 214 224 { 215 225 if(!level) … … 243 253 if(success) 244 254 { 245 focusSection(sectionID, level + 1 );246 } 247 } );255 focusSection(sectionID, level + 1, tocDisabled); 256 } 257 }, tocDisabled); 248 258 } 249 259 else 250 260 { 251 focusSection(sectionID, level + 1 );261 focusSection(sectionID, level + 1, tocDisabled); 252 262 } 253 263 } … … 305 315 } 306 316 } 307 setTimeout(checkFunction, 500);317 checkFunction(); 308 318 } 309 319 } … … 313 323 var ajax = gs.functions.ajaxRequest(); 314 324 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); 316 326 ajax.onreadystatechange = function() 317 327 { … … 368 378 var tocElem = document.getElementById("tableOfContents"); 369 379 tocElem.innerHTML = newTOC; 380 381 gs.variables.tocLoaded = true; 370 382 } 371 383 else if(ajax.readyState == 4) … … 528 540 function retrieveTableOfContentsAndTitles() 529 541 { 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 530 547 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); 533 549 ajax.onreadystatechange = function() 534 550 { 535 551 if(ajax.readyState == 4 && ajax.status == 200) 536 552 { 537 document.getElementById(" contentsArea").innerHTML = document.getElementById("contentsArea").innerHTML +ajax.responseText;553 document.getElementById("tableOfContents").innerHTML = ajax.responseText; 538 554 replaceLinksWithSlider(); 539 555 var loading = document.getElementById("tocLoadingImage"); … … 590 606 leafSections[i].parentNode.insertBefore(widget.getElem(), leafSections[i]); 591 607 } 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 } 623 623 } 624 624 … … 730 730 731 731 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 732 737 var template = ''; 733 738 template += '<xsl:template match="/">'; 739 template += '<gsf:metadata name=\"Thumb\"/>'; 734 740 template += '<html>'; 735 741 template += '<img>'; … … 739 745 template += "<xsl:value-of disable-output-escaping=\"yes\" select=\"/page/pageResponse/document/metadataList/metadata[@name = 'assocfilepath']\"/>"; 740 746 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']\"/>"; 742 748 template += '</xsl:attribute>'; 743 749 template += '</img>'; … … 747 753 template += '</html>'; 748 754 template += '</xsl:template>'; 749 ajax.open("GET", href + "&ilt=" + template.replace(" ", "%20")); 755 756 ajax.open("GET", href + "?ilt=" + template.replace(" ", "%20")); 750 757 ajax.onreadystatechange = function() 751 758 { … … 842 849 _links[i].link = link; 843 850 var href = _links[i].getAttribute("href"); 844 link.setAttribute("href", "javascript:changePage(\"" + href + "\");");851 link.setAttribute("href", href.replace(/\)/, ", 0, true)")); 845 852 846 853 if(!_linkCellMap[href])
Note:
See TracChangeset
for help on using the changeset viewer.