Changeset 24009 for main/trunk/greenstone3/web/interfaces/oran
- Timestamp:
- 2011-05-10T14:33:12+12:00 (13 years ago)
- Location:
- main/trunk/greenstone3/web/interfaces/oran
- Files:
-
- 2 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/web/interfaces/oran/style/core.css
r23989 r24009 73 73 } 74 74 75 .classifierContainer { 76 padding-left:1.5em; 77 } 78 75 79 .icon{ 76 background-repeat: no-repeat; 80 cursor:pointer; 81 padding:2px; 82 } 83 84 .emptyIcon { 77 85 height:16px; 78 86 width:16px; 79 cursor:pointer; 80 } 81 82 .toggleImageExpand { 83 background-image: url('../images/expand.png'); 84 background-position: 2px 2px; 85 } 86 87 .toggleImageCollapse { 88 background-image: url('../images/collapse.png'); 89 background-position: 2px 2px; 90 } 91 92 .toggleImagePage { 93 background-image: url('../images/page.png'); 94 background-position: 2px 2px; 95 } 96 97 .toggleImageChapter { 98 background-image: url('../images/chapter.png'); 99 } 100 101 .realisticBookIcon { 87 } 88 89 #rbOptionDiv { 102 90 background-repeat: no-repeat; 103 91 background-image: url('../images/rbook.png'); … … 106 94 } 107 95 96 #highlightOptionDiv { 97 background-repeat: no-repeat; 98 background-image: url('../images/hl.png'); 99 height: 32px; 100 width: 32px; 101 } 102 103 .optionCheckBox { 104 margin-left:35px; 105 margin-top:10px; 106 } 107 108 #bookdiv { 109 110 } 111 108 112 .backToTop { 109 113 font-size:0.7em; 110 114 padding-left: 2em; 115 text-align:center; 116 } 117 118 #prevArrowTD { 119 text-align:right; 120 width:10%; 121 } 122 123 #nextArrowTD { 124 text-align:left; 125 width:10%; 126 } 127 128 #prevTD { 129 text-align:left; 130 width:20%; 131 } 132 133 #nextTD { 134 text-align:right; 135 width:20%; 136 } 137 138 #searchResultNavTable { 139 width:100%; 140 } 141 142 #searchResultsStatusBar { 111 143 text-align:center; 112 144 } … … 152 184 .viewOptions { 153 185 width: 100%; 154 text-align:center;155 186 background:#008800; 156 187 } 157 188 158 189 .viewOptions td { 159 padding-top:4px; 160 padding-bottom:4px; 190 padding: 5px; 161 191 } 162 192 … … 205 235 position: relative; 206 236 display: block; 207 height: 30px;208 237 background: transparent url('../images/gsdlhead.gif') scroll no-repeat left top; 209 238 margin: 0 auto; … … 212 241 font-size: 70%; 213 242 color: #fff; 243 padding-top:5px; 244 padding-bottom:5px; 214 245 } 215 246 … … 252 283 253 284 #quicksearcharea table{ 254 font-size: 10px;285 font-size:70%; 255 286 margin:0; 256 287 float: right; … … 258 289 259 290 #quicksearcharea a{ 260 font-size: 11px;261 291 color:white; 262 292 text-transform:lowercase; … … 416 446 #results .document a { background-image: url('../images/book.png'); } 417 447 #results .document a:visited { background-image: url('../images/book-visited.png'); color: #999; } 418 419 448 #results .shelf>a { background-image: url('../images/bookshelf.png'); } 449 c 420 450 421 451 /* corners of the banner */ … … 453 483 a:link, a:hover, a:active, a:visited { color: #050; } 454 484 455 /*456 457 ul li>select, ul li>input {458 padding: 0;459 margin-left:5px;460 }461 462 463 464 div#banner ul, ul#resultlist, ul#tocnodes, ul#docbuttons, ul.tocnode, ul#bannerlist, ul#navbarlist, ul#collectionlist, ul#servicelist, ul#classifierlist, ul#classifiernodelist, ul#queryitemlist{465 list-style-type:none;466 margin:0;467 padding:0;468 }469 470 div#banner ul li, ul#bannerlist li, ul#navbarlist li {471 display: inline;472 margin:0;473 padding:0;474 }475 476 477 478 div#banner p {479 margin:0;480 padding: 0;481 float:left;482 font-size: 16px;483 text-align: left;484 overflow:hidden485 }486 487 div#banner p a {488 background-image: url('../images/banner_bg.png');489 background-repeat: repeat-y;490 }491 492 493 div#banner ul{494 margin:0;495 padding:0;496 float:right;497 font-size: 12px;498 }499 500 div#banner a{501 text-decoration: none;502 color:#000000;503 }504 505 506 507 ul#bannerlist li a {508 padding: 0 10px 0 10px;509 text-decoration: none;510 }511 512 ul#bannerlist li a:link, ul#bannerlist li a:visited513 {514 background-color: #DEE79C;515 background-image: url('../images/bg_off.png');516 text-decoration: none517 }518 519 ul#bannerlist li a:hover{520 background-color: #FFFF66;521 background-image: url('../images/bg_on.png') ;522 text-decoration: none523 }524 525 526 div#navbar{527 clear:both;528 }529 530 ul#navbarlist{531 margin:0;532 padding:0;533 list-style-type: none;534 text-align:center;535 width: 100%;536 font-size: 80%;537 background-image: url('../images/bg_green.png');538 background-color: #99CC99539 }540 541 ul#navbarlist li a {542 padding: 0 20px 0 20px;543 margin: 0;544 color: #000000;545 text-decoration: none;546 }547 548 ul#navbarlist li a:link, ul#navbarlist li a:visited{549 background-image: url('../images/bg_off.png') ;550 }551 552 ul#navbarlist li a:hover{553 background-image: url('../images/bg_on.png') ;554 }555 556 557 ul#collectionlist li, ul#servicelist li{558 display:block;559 padding:0;560 margin: .2em 0 0 0;561 overflow:hidden;562 }563 564 565 ul#collectionlist img{566 margin:0;567 padding:0;568 width: 150px;569 height: 45px;570 border: 1px solid black;571 background-image: url('../images/collectimg_bg.png');572 background-repeat: repeat-y;573 overflow:hidden574 }575 576 ul#collectionlist li a.noimage{577 display: block;578 margin:0;579 width: 145px;580 height: 40px;581 border: 1px solid black;582 background-image: url('../images/collectimg_bg.png');583 background-repeat: repeat-y;584 overflow:hidden; padding-left:5px; padding-right:0; padding-top:5px; padding-bottom:0585 586 }587 588 ul#collectionlist li a{589 font-size: 16px;590 color: #000000;591 text-decoration: none;592 font-weight: bold;593 }594 595 ul#servicelist li a{596 margin:0 .5em 0 0;597 }598 599 ul#queryitemlist li{600 display:block;601 margin: .2em 0 .2em 0;602 }603 604 ul#classifierlist li{605 list-style: none;606 margin: 0 0 5px 0;607 padding: 0;608 display: block;609 color:#000;610 }611 612 ul#classifierlist li#activeclassifier{613 font-weight:bold;614 padding: 0 0 0 5px;615 margin:0 0 5px 0;616 }617 618 ul#classifierlist li a:link, ul#classifierlist li a:visited619 {620 display:block;621 margin:0;622 background-image: url('../images/bg_off.png');623 text-decoration: none;624 color:#000;625 width:100%; padding-left:5px; padding-right:0; padding-top:2px; padding-bottom:2px626 }627 628 ul#classifierlist li a:hover, ul#classifierlist li a:active629 {630 display:block;631 margin:0;632 background-image: url('../images/bg_on.png');633 text-decoration: none; padding-left:5px; padding-right:0; padding-top:2px; padding-bottom:2px634 635 }636 637 ul#classifierlist{638 float:left;639 font-size: 14px;640 text-align: left;641 width: 15%;642 margin:0;643 padding:0;644 }645 646 div#classifiers{647 float:left;648 width: 75%;649 margin:0;650 padding:0 0 0 10px;651 }652 653 ul#classifiernodelist li{654 list-style: none;655 margin: 0;656 padding: 5px 0 0 0;657 display: block;658 }659 660 ul.childrenlist{661 margin: 0 0 0 0;662 padding: 0 0 0 20px;663 display: block;664 width: 100%;665 }666 667 div#content{668 clear: both;669 overflow: hidden;670 margin: .2em 0 0 0;671 }672 673 485 /* bg image set in style macro */ 674 486 div.divbar { … … 703 515 display:block; 704 516 } 705 706 707 517 708 518 div#documentheading{ -
main/trunk/greenstone3/web/interfaces/oran/transform/document-scripts.xsl
r23989 r24009 11 11 <script type="text/javascript"> 12 12 <xsl:text disable-output-escaping="yes"> 13 var collapseImageURL = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'collapse_image')"/><xsl:text disable-output-escaping="yes">"; 14 var expandImageURL = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'expand_image')"/><xsl:text disable-output-escaping="yes">"; 15 var chapterImageURL = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'chapter_image')"/><xsl:text disable-output-escaping="yes">"; 16 var pageImageURL = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'page_image')"/><xsl:text disable-output-escaping="yes">"; 17 13 18 function toggleSection(sectionID) 14 19 { … … 21 26 if(docElem.style.display == "none") 22 27 { 23 var imageClass = (docToggleElem.getAttribute("class").indexOf("leafNode") != -1) ? "icon toggleImageCollapse leafNode" : "icon toggleImageCollapse";24 25 28 docElem.style.display = "block"; 26 docToggleElem.setAttribute(" class", imageClass);29 docToggleElem.setAttribute("src", collapseImageURL); 27 30 28 31 if(tocToggleElem) 29 32 { 30 tocToggleElem.setAttribute(" class", imageClass);33 tocToggleElem.setAttribute("src", collapseImageURL); 31 34 } 32 35 … … 41 44 42 45 //Use the page image if this is a leaf node and the chapter image if it not 43 //var imageClass = (docToggleElem.getAttribute("class").indexOf("leafNode") != -1) ? "icon toggleImagePage leafNode" : "icon toggleImageChapter"; 44 var imageClass = (docToggleElem.getAttribute("class").indexOf("leafNode") != -1) ? "icon toggleImageExpand leafNode" : "icon toggleImageExpand"; 45 docToggleElem.setAttribute("class", imageClass); 46 docToggleElem.setAttribute("src", expandImageURL); 46 47 47 48 if(tocToggleElem) 48 49 { 49 tocToggleElem.setAttribute(" class", imageClass);50 tocToggleElem.setAttribute("src", expandImageURL); 50 51 } 51 52 … … 132 133 133 134 var option = document.getElementById("highlightOption"); 134 option.innerHTML = "No Highlighting"; 135 option.setAttribute("href", "javascript:removeHighlight();"); 135 option.setAttribute("onclick", "removeHighlight();"); 136 136 } 137 137 … … 149 149 150 150 var option = document.getElementById("highlightOption"); 151 option.innerHTML = "Highlighting"; 152 option.setAttribute("href", "javascript:addHighlight();"); 151 option.setAttribute("onclick", "addHighlight();"); 153 152 } 154 153 </xsl:text> … … 157 156 158 157 <xsl:template name="realisticBooksScript"> 159 <div id="bookdiv"/>160 158 <script type="text/javascript"> 161 159 <xsl:text disable-output-escaping="yes"> 160 function bookInit() 161 { 162 loadBook(); 163 hideText(); 164 showBook(); 165 swapLinkJavascript(false); 166 } 167 168 function hideText() 169 { 170 var textDiv = document.getElementById("gs-document-text"); 171 textDiv.style.display = "none"; 172 } 173 174 function showText() 175 { 176 var textDiv = document.getElementById("gs-document-text"); 177 textDiv.style.display = "block"; 178 } 179 180 function hideBook() 181 { 182 var bookDiv = document.getElementById("bookdiv"); 183 bookDiv.style.visibility = "hidden"; 184 bookDiv.style.height = "0px"; 185 } 186 187 function showBook() 188 { 189 var bookDiv = document.getElementById("bookdiv"); 190 bookDiv.style.visibility = "visible"; 191 bookDiv.style.height = "600px"; 192 } 162 193 163 194 //Helper function to create param elements … … 170 201 } 171 202 172 //Work out the URL to the cover image and the document 173 var img_cover = '</xsl:text><xsl:value-of select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<xsl:value-of select="metadataList/metadata[@name='assocfilepath']"/>/cover.jpg<xsl:text disable-output-escaping="yes">'; 174 var doc_url = document.URL; 175 doc_url = doc_url.replace(/(&|\?)book=[a-z]+/gi,''); 176 doc_url += '&book=flashxml'; 177 178 //The outer OBJECT element 179 var objectElem = document.createElement("OBJECT"); 180 objectElem.setAttribute("align", "middle"); 181 objectElem.setAttribute("classid", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"); 182 objectElem.setAttribute("codebase", "http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"); 183 objectElem.setAttribute("height", "600px"); 184 objectElem.setAttribute("width", "100%"); 185 186 //Parameter list 187 var params = new Array(); 188 params[0] = createParam("allowScriptAccess", "always"); 189 params[1] = createParam("movie", "Book.swf?src_image=" + escape(img_cover) + "&doc_url=" + escape(doc_url)); 190 params[2] = createParam("quality", "high"); 191 params[3] = createParam("bgcolor", "#FFFFFF"); 192 193 //The embed element that goes into the object element 194 var embedElem = document.createElement("EMBED"); 195 embedElem.setAttribute("allowScriptAccess", "always"); 196 embedElem.setAttribute("swLiveConnect", "true"); 197 embedElem.setAttribute("bgcolor", "#FFFFFF"); 198 embedElem.setAttribute("height", "600px"); 199 embedElem.setAttribute("name", "Book"); 200 embedElem.setAttribute("pluginspage", "http://www.macromedia.com/go/getflashplayer"); 201 embedElem.setAttribute("quality", "high"); 202 embedElem.setAttribute("src", "Book.swf?src_image=" + escape(img_cover) + "&doc_url=" + escape(doc_url)); 203 embedElem.setAttribute("type", "application/x-shockwave-flash"); 204 embedElem.setAttribute("width", "100%"); 205 206 //Append the param and embed elements to the object element 207 for(var i = 0; i < params.length; i++) 208 { 209 objectElem.appendChild(params[i]); 210 } 211 objectElem.appendChild(embedElem); 212 213 //Append the object element to the page 214 var flashDiv = document.getElementById("bookdiv"); 215 flashDiv.appendChild(objectElem); 203 function swapLinkJavascript(rbOn) 204 { 205 var option = document.getElementById("rbOption"); 206 if(rbOn) 207 { 208 option.setAttribute("onclick", "hideText(); showBook(); swapLinkJavascript(false);"); 209 } 210 else 211 { 212 option.setAttribute("onclick", "hideBook(); showText(); swapLinkJavascript(true);"); 213 } 214 } 215 216 function loadBook() 217 { 218 //Work out the URL to the cover image and the document 219 var img_cover = '</xsl:text><xsl:value-of select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<xsl:value-of select="metadataList/metadata[@name='assocfilepath']"/>/cover.jpg<xsl:text disable-output-escaping="yes">'; 220 var doc_url = document.URL; 221 doc_url = doc_url.replace(/(&|\?)book=[a-z]+/gi,''); 222 doc_url += '&book=flashxml'; 223 224 //The outer OBJECT element 225 var objectElem = document.createElement("OBJECT"); 226 objectElem.setAttribute("align", "middle"); 227 objectElem.setAttribute("classid", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"); 228 objectElem.setAttribute("codebase", "http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"); 229 objectElem.setAttribute("height", "600px"); 230 objectElem.setAttribute("width", "70%"); 231 objectElem.setAttribute("id", "bookObject"); 232 233 //Parameter list 234 var params = new Array(); 235 params[0] = createParam("allowScriptAccess", "always"); 236 params[1] = createParam("movie", "RealisticBook.swf?src_image=" + escape(img_cover) + "&doc_url=" + escape(doc_url)); 237 params[2] = createParam("quality", "high"); 238 params[3] = createParam("bgcolor", "#FFFFFF"); 239 240 //The embed element that goes into the object element 241 var embedElem = document.createElement("EMBED"); 242 embedElem.setAttribute("allowScriptAccess", "always"); 243 embedElem.setAttribute("swLiveConnect", "true"); 244 embedElem.setAttribute("bgcolor", "#FFFFFF"); 245 embedElem.setAttribute("height", "600px"); 246 embedElem.setAttribute("name", "Book"); 247 embedElem.setAttribute("pluginspage", "http://www.macromedia.com/go/getflashplayer"); 248 embedElem.setAttribute("quality", "high"); 249 embedElem.setAttribute("src", "RealisticBook.swf?src_image=" + escape(img_cover) + "&doc_url=" + escape(doc_url)); 250 embedElem.setAttribute("type", "application/x-shockwave-flash"); 251 embedElem.setAttribute("width", "70%"); 252 253 //Append the param and embed elements to the object element 254 for(var i = 0; i < params.length; i++) 255 { 256 objectElem.appendChild(params[i]); 257 } 258 objectElem.appendChild(embedElem); 259 260 //Append the object element to the page 261 var flashDiv = document.getElementById("bookdiv"); 262 flashDiv.appendChild(objectElem); 263 } 216 264 </xsl:text> 217 265 </script> -
main/trunk/greenstone3/web/interfaces/oran/transform/layouts/header.xsl
r23989 r24009 114 114 <!-- home --> 115 115 <li> 116 <a href="{$library_name}?a=p&amp;sa= home">116 <a href="{$library_name}?a=p&amp;sa=about&amp;c={$collNameChecked}"> 117 117 <xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_tip')"/></xsl:attribute> 118 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, ' home_b')"/>118 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'about_b')"/> 119 119 </a> 120 120 </li> … … 132 132 <xsl:choose> 133 133 <xsl:when test="string-length($pageTitleVar) < 20"> 134 font-size: 24px; line-height: 26px;134 font-size: 1.5em; line-height: 1.5em; 135 135 </xsl:when> 136 136 <xsl:when test="string-length($pageTitleVar) < 30"> 137 font-size: 22px; line-height: 24px;137 font-size: 1.4em; line-height: 1.4em; 138 138 </xsl:when> 139 139 <xsl:when test="string-length($pageTitleVar) < 40"> 140 font-size: 20px; line-height: 22px;140 font-size: 1.3em; line-height: 1.3em; 141 141 </xsl:when> 142 142 <xsl:when test="string-length($pageTitleVar) < 50"> 143 font-size: 1 8px; line-height: 20px;143 font-size: 1.2em; line-height: 1.2em; 144 144 </xsl:when> 145 145 <xsl:when test="string-length($pageTitleVar) < 60"> 146 font-size: 1 6px; line-height: 18px;146 font-size: 1.1em; line-height: 1.2em; 147 147 </xsl:when> 148 148 <xsl:when test="string-length($pageTitleVar) < 70"> 149 font-size: 1 5px; line-height: 17px;149 font-size: 1em; line-height: 1.1em; 150 150 </xsl:when> 151 151 <xsl:when test="string-length($pageTitleVar) < 80"> 152 font-size: 14px; line-height: 16px;152 font-size: 0.9em; line-height: 1em; 153 153 </xsl:when> 154 154 <xsl:when test="string-length($pageTitleVar) < 90"> 155 font-size: 13px; line-height: 15px;155 font-size: 0.8em; line-height: 0.9em; 156 156 </xsl:when> 157 157 <xsl:otherwise> 158 font-size: 12px; line-height: 14px;158 font-size: 0.7em; line-height: 0.9em; 159 159 </xsl:otherwise> 160 160 </xsl:choose> … … 179 179 <input type="hidden" name="c" value="{$collNameChecked}"/> 180 180 <input type="hidden" name="startPage" value="1"/> 181 <xsl:choose> 182 <xsl:when test="/page/pageRequest/paramList/param[@name = 's1.maxDocs']"> 183 <input type="hidden" name="s1.maxDocs"> 184 <xsl:attribute name="value"> 185 <xsl:value-of select="/page/pageRequest/paramList/param[@name = 's1.maxDocs']/@value"/> 186 </xsl:attribute> 187 </input> 188 </xsl:when> 189 <xsl:otherwise> 190 <input type="hidden" name="s1.maxDocs" value="100"/> 191 </xsl:otherwise> 192 </xsl:choose> 193 <xsl:choose> 194 <xsl:when test="/page/pageRequest/paramList/param[@name = 's1.hitsPerPage']"> 195 <input type="hidden" name="s1.hitsPerPage"> 196 <xsl:attribute name="value"> 197 <xsl:value-of select="/page/pageRequest/paramList/param[@name = 's1.hitsPerPage']/@value"/> 198 </xsl:attribute> 199 </input> 200 </xsl:when> 201 <xsl:otherwise> 202 <input type="hidden" name="s1.hitsPerPage" value="20"/> 203 </xsl:otherwise> 204 </xsl:choose> 205 181 206 <!-- The query text box --> 182 207 <span class="querybox"> -
main/trunk/greenstone3/web/interfaces/oran/transform/pages/classifier.xsl
r23989 r24009 19 19 <!-- the page content --> 20 20 <xsl:template match="/page/pageResponse"> 21 22 <!-- show the classifiers if more than one (title, subject, etc.) --> 23 <!--<xsl:if test="service/classifierList/classifier[2]"> 24 <div id="classifierList" class="navList"> 25 <ul> 26 <xsl:for-each select="service/classifierList/classifier"> 27 <li><gslib:classifierLink/></li> 28 </xsl:for-each> 29 </ul> 30 <div class="clear"><xsl:text> </xsl:text></div> 31 </div> 32 </xsl:if>--> 33 21 <xsl:call-template name="classifierLoadScript"/> 34 22 <!-- this right sidebar --> 35 23 <xsl:if test="$berryBasketOn"> … … 78 66 <xsl:template match="classifierNode" priority="3"> 79 67 80 <li class="shelf"> 68 <table id="title{@nodeID}"><tr> 69 <!-- Expand/collapse button --> 70 <td class="headerTD"> 71 <img id="toggle{@nodeID}" onclick="toggleSection('{@nodeID}');" class="icon"> 72 <xsl:attribute name="src"> 73 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'expand_image')"/> 74 </xsl:attribute> 75 </img> 76 </td> 77 <!-- Bookshelf icon --> 78 <td> 79 <img> 80 <xsl:attribute name="src"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'bookshelf_image')"/></xsl:attribute> 81 </img> 82 </td> 83 <!-- Link title --> 84 <td> 85 <a href="javascript:toggleSection('{@nodeID}');"> 86 <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='Title']"/> 87 </a> 88 </td> 89 </tr></table> 90 91 <!-- Show any documents or sub-groups in this group --> 92 <xsl:if test="documentNode|classifierNode"> 93 <div id="div{@nodeID}" class="classifierContainer" style="display:block;"> 94 <xsl:apply-templates select="documentNode|classifierNode"/> 95 </div> 96 </xsl:if> 97 </xsl:template> 98 99 <xsl:template name="classifierLoadScript"> 100 <script type="text/javascript"> 101 <xsl:text disable-output-escaping="yes"> 102 var collapseImageURL = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'collapse_image')"/><xsl:text disable-output-escaping="yes">"; 103 var expandImageURL = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'expand_image')"/><xsl:text disable-output-escaping="yes">"; 104 var loadingImageURL = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'loading_image')"/><xsl:text disable-output-escaping="yes">"; 105 var inProgress = new Array(); 106 107 function isExpanded(sectionID) 108 { 109 var divElem = document.getElementById("div" + sectionID); 110 if(divElem.style.display == "block") 111 { 112 return true; 113 } 114 return false; 115 } 116 117 function toggleSection(sectionID) 118 { 119 var section = document.getElementById("div" + sectionID); 120 var sectionToggle = document.getElementById("toggle" + sectionID); 121 122 if(section) 123 { 124 if(isExpanded(sectionID)) 125 { 126 section.style.display = "none"; 127 sectionToggle.setAttribute("src", expandImageURL); 128 } 129 else 130 { 131 section.style.display = "block"; 132 sectionToggle.setAttribute("src", collapseImageURL); 133 } 134 } 135 else 136 { 137 httpRequest(sectionID); 138 } 139 } 140 141 function httpRequest(sectionID) 142 { 143 if(!inProgress[sectionID]) 144 { 145 inProgress[sectionID] = true; 146 var httpRequest; 147 if (window.XMLHttpRequest) { 148 httpRequest = new XMLHttpRequest(); 149 } 150 else if (window.ActiveXObject) { 151 httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); 152 } 153 154 var sectionToggle = document.getElementById("toggle" + sectionID); 155 sectionToggle.setAttribute("src", loadingImageURL); 81 156 82 <a> 83 <xsl:attribute name="href"> 84 <xsl:value-of select="$library_name"/>?a=b&rt=r&s=<xsl:value-of select="/page/pageResponse/service/@name"/>&c=<xsl:value-of select="/page/pageResponse/collection/@name"/>&cl=<xsl:value-of select='@nodeID'/><xsl:if test="classifierNode|documentNode">.pr</xsl:if></xsl:attribute> 85 <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='Title']"/> 86 </a> 157 var url = document.URL; 158 url = url.replace(/(&|\?)cl=([a-z\.0-9]+)/gi, "$1cl=" + sectionID + "&excerptid=div" + sectionID); 87 159 88 <!-- show any documents or sub-groups in this group --> 89 <xsl:if test="documentNode|classifierNode"> 90 <ul> 91 <xsl:apply-templates select="documentNode|classifierNode"/> 92 </ul> 93 </xsl:if> 94 </li> 160 httpRequest.open('GET', url, true); 161 httpRequest.onreadystatechange = function() 162 { 163 if (httpRequest.readyState == 4) 164 { 165 if (httpRequest.status == 200) 166 { 167 var newDiv = document.createElement("div"); 168 var sibling = document.getElementById("title" + sectionID); 169 var parent = sibling.parentNode; 170 171 if(sibling.nextSibling) 172 { 173 parent.insertBefore(newDiv, sibling.nextSibling); 174 } 175 else 176 { 177 parent.appendChild(newDiv); 178 } 95 179 180 newDiv.innerHTML = httpRequest.responseText; 181 sectionToggle.setAttribute("src", collapseImageURL); 182 } 183 else 184 { 185 sectionToggle.setAttribute("src", expandImageURL); 186 } 187 inProgress[sectionID] = false; 188 } 189 } 190 httpRequest.send(); 191 } 192 } 193 </xsl:text> 194 </script> 96 195 </xsl:template> 97 196 -
main/trunk/greenstone3/web/interfaces/oran/transform/pages/document.xsl
r23989 r24009 39 39 <gslib:documentTitle/> 40 40 </xsl:variable> 41 Document41 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.document')"/> 42 42 </a> 43 43 </xsl:template> … … 63 63 <xsl:template match="/page/pageResponse/document"> 64 64 <xsl:if test="$bookswitch = 'off'"> 65 <div id="bookdiv" style="visibility:hidden; height:0px;"><xsl:text> </xsl:text></div> 65 66 <!-- Add the Javascript that adds and removes highlighting ( *** in document-scripts.xsl *** ) --> 66 67 <xsl:call-template name="highlightingScript"/> … … 111 112 <div id="gs-document-text" class="documenttext"> 112 113 <xsl:apply-templates select="documentNode" mode="document"/> 113 </div> 114 </div> 114 115 </xsl:otherwise> 115 116 </xsl:choose> … … 137 138 <!-- Expand/collapse button --> 138 139 <td class="headerTD"> 139 <div id="dtoggle{@nodeID}" onclick="toggleSection('{@nodeID}');"> 140 <xsl:attribute name="class"> 141 <xsl:choose> 142 <xsl:when test="nodeContent and not(documentNode)">icon leafNode toggleImageCollapse</xsl:when> 143 <xsl:otherwise>icon toggleImageCollapse</xsl:otherwise> 144 </xsl:choose> 140 <img id="dtoggle{@nodeID}" onclick="toggleSection('{@nodeID}');" class="icon"> 141 <xsl:attribute name="src"> 142 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'collapse_image')"/> 145 143 </xsl:attribute> 146 </ div>144 </img> 147 145 </td> 148 146 … … 166 164 <td class="backToTop headerTD"> 167 165 <a href="#top"> 168 <xsl:text disable-output-escaping="yes">▲ back to top</xsl:text>166 <xsl:text disable-output-escaping="yes">▲</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.back_to_top')"/> 169 167 </a> 170 168 </td> … … 211 209 <xsl:choose> 212 210 <xsl:when test="not(nodeContent and not(documentNode))"> 213 <div id="ttoggle{@nodeID}" onclick="toggleSection('{@nodeID}');" class="icon toggleImageCollapse"/> 211 <img id="ttoggle{@nodeID}" onclick="toggleSection('{@nodeID}');" class="icon"> 212 <xsl:attribute name="src"> 213 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'collapse_image')"/> 214 </xsl:attribute> 215 </img> 214 216 </xsl:when> 215 217 <xsl:otherwise> 216 < div class="icon"/>218 <xsl:attribute name="class">emptyIcon</xsl:attribute> 217 219 </xsl:otherwise> 218 220 </xsl:choose> … … 222 224 <!-- The chapter/page icon --> 223 225 <td> 224 <div> 225 <xsl:attribute name="class"> 226 <img> 227 <xsl:if test="nodeContent and not(documentNode)"> 228 <xsl:attribute name="class">leafNode</xsl:attribute> 229 </xsl:if> 230 231 <xsl:attribute name="src"> 226 232 <xsl:choose> 227 233 <xsl:when test="nodeContent and not(documentNode)"> 228 icon leafNode toggleImagePage234 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'page_image')"/> 229 235 </xsl:when> 230 236 <xsl:otherwise> 231 icon toggleImageChapter237 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'chapter_image')"/> 232 238 </xsl:otherwise> 233 239 </xsl:choose> 234 240 </xsl:attribute> 235 </ div>241 </img> 236 242 </td> 237 243 238 244 <!-- The section name, links to the section in the document --> 239 245 <td> 240 <!-- display this item from the table of contents -->241 <xsl:if test="$isCurrent"><xsl:attribute name="class">current</xsl:attribute></xsl:if>242 246 <a> 243 247 <xsl:attribute name="href">#<xsl:value-of select="@nodeID"/></xsl:attribute> … … 302 306 303 307 <xsl:template name="viewOptions"> 308 <xsl:call-template name="realisticBooksScript"/> 304 309 <table class="viewOptions"><tr> 310 <!-- Realistic books link --> 311 <xsl:if test="/page/pageResponse/collection[@name = $collName]/metadataList/metadata[@name = 'tidyoption'] = 'tidy'"> 312 <td> 313 <!-- old url = {$library_name}?a=d&c={$collName}&d={/page/pageResponse/document/documentNode[1]/@nodeID}&dt={/page/pageResponse/document/documentNode/@docType}&p.a=b&p.s={/page/pageResponse/service/@name}&book=on&ed=1 --> 314 <div title="Realistic book view" id="rbOptionDiv"><input id="rbOption" type="checkbox" onclick="bookInit();" class="optionCheckBox"/></div> 315 </td> 316 </xsl:if> 317 305 318 <!-- Highlight on/off button --> 306 319 <xsl:if test="/page/pageRequest/paramList/param[@name = 'p.a']/@value = 'q'"> 307 320 <td> 308 <a id="highlightOption"> 309 <xsl:choose> 310 <xsl:when test="/page/pageRequest/paramList/param[@name = 'hl']/@value = 'on'"> 311 <xsl:attribute name="href"> 312 <xsl:text>javascript:removeHighlight();</xsl:text> 313 </xsl:attribute> 314 <xsl:text>No Highlighting</xsl:text> 315 </xsl:when> 316 <xsl:otherwise> 317 <xsl:attribute name="href"> 318 <xsl:text>javascript:addHighlight();</xsl:text> 319 </xsl:attribute> 320 <xsl:text>Highlighting</xsl:text> 321 </xsl:otherwise> 322 </xsl:choose> 323 </a> 324 </td> 325 </xsl:if> 326 327 <!-- Realistic books link --> 328 <xsl:if test="/page/pageResponse/collection[@name = $collName]/metadataList/metadata[@name = 'tidyoption'] = 'tidy'"> 329 <td> 330 <a title="Realistic book view" href="{$library_name}?a=d&c={$collName}&d={/page/pageResponse/document/documentNode[1]/@nodeID}&dt={/page/pageResponse/document/documentNode/@docType}&p.a=b&p.s={/page/pageResponse/service/@name}&book=on&ed=1"> 331 <img src="interfaces/oran/images/rbook.png"/> 332 </a> 321 <div id="highlightOptionDiv" title="Search term highlighting"> 322 <input id="highlightOption" type="checkbox" class="optionCheckBox"> 323 <xsl:choose> 324 <xsl:when test="/page/pageRequest/paramList/param[@name = 'hl']/@value = 'on'"> 325 <xsl:attribute name="onclick"> 326 <xsl:text>removeHighlight();</xsl:text> 327 </xsl:attribute> 328 <xsl:attribute name="checked">true</xsl:attribute> 329 </xsl:when> 330 <xsl:otherwise> 331 <xsl:attribute name="onclick"> 332 <xsl:text>addHighlight();</xsl:text> 333 </xsl:attribute> 334 </xsl:otherwise> 335 </xsl:choose> 336 </input> 337 </div> 333 338 </td> 334 339 </xsl:if> -
main/trunk/greenstone3/web/interfaces/oran/transform/pages/pref.xsl
r23989 r24009 186 186 <xsl:value-of select="/page/pageRequest/paramList/param[@name='hitsPerPage']/@value"/> 187 187 </xsl:when> 188 <xsl:when test="/page/pageRequest/paramList/param[@name='s1.hitsPerPage']"> 189 <xsl:value-of select="/page/pageRequest/paramList/param[@name='s1.hitsPerPage']/@value"/> 190 </xsl:when> 188 191 <xsl:otherwise> 189 192 20 … … 195 198 </div> 196 199 <div class="paramValue"> 197 <select name=" hitsPerPage">200 <select name="s1.hitsPerPage"> 198 201 <option value="20"> 199 202 <xsl:if test="$hits=20"> … … 230 233 <xsl:value-of select="/page/pageRequest/paramList/param[@name='maxDocs']/@value"/> 231 234 </xsl:when> 235 <xsl:when test="/page/pageRequest/paramList/param[@name='s1.maxDocs']"> 236 <xsl:value-of select="/page/pageRequest/paramList/param[@name='s1.maxDocs']/@value"/> 237 </xsl:when> 232 238 <xsl:otherwise>100</xsl:otherwise> 233 239 </xsl:choose> … … 237 243 </div> 238 244 <div class="paramValue"> 239 <input name=" maxDocs" size="3" value="{$mdocs}" />245 <input name="s1.maxDocs" size="3" value="{$mdocs}" /> 240 246 </div> 241 247 -
main/trunk/greenstone3/web/interfaces/oran/transform/pages/query.xsl
r23989 r24009 32 32 <input type="hidden" name="startPage" value="1"/> 33 33 </xsl:if> 34 <xsl:choose> 35 <xsl:when test="/page/pageRequest/paramList/param[@name = 's1.maxDocs']"> 36 <input type="hidden" name="s1.maxDocs"> 37 <xsl:attribute name="value"> 38 <xsl:value-of select="/page/pageRequest/paramList/param[@name = 's1.maxDocs']/@value"/> 39 </xsl:attribute> 40 </input> 41 </xsl:when> 42 <xsl:otherwise> 43 <input type="hidden" name="s1.maxDocs" value="100"/> 44 </xsl:otherwise> 45 </xsl:choose> 46 <xsl:choose> 47 <xsl:when test="/page/pageRequest/paramList/param[@name = 's1.hitsPerPage']"> 48 <input type="hidden" name="s1.hitsPerPage"> 49 <xsl:attribute name="value"> 50 <xsl:value-of select="/page/pageRequest/paramList/param[@name = 's1.hitsPerPage']/@value"/> 51 </xsl:attribute> 52 </input> 53 </xsl:when> 54 <xsl:otherwise> 55 <input type="hidden" name="s1.hitsPerPage" value="20"/> 56 </xsl:otherwise> 57 </xsl:choose> 34 58 35 59 <xsl:variable name="ns">s1.</xsl:variable> … … 63 87 </form> 64 88 </xsl:for-each> 65 66 89 </xsl:when> 67 90 68 91 <xsl:otherwise> 92 <!-- The list of search terms with their frequency and document count --> 69 93 <p class="termList"> 70 94 <xsl:choose> 95 <!-- If there is only one or two search terms then show the expanded information --> 71 96 <xsl:when test="count(/page/pageResponse/termList/term) < 3"> 72 97 <xsl:for-each select="/page/pageResponse/termList/term"> 73 <span style="font-style:italic;"><xsl:value-of select="@name"/></span> occurs <xsl:value-of select="@freq"/> times in <xsl:value-of select="@numDocsMatch"/> document(s) <br /> 98 <span style="font-style:italic;"><xsl:value-of select="@name"/></span> 99 <xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.occurs')"/><xsl:text> </xsl:text> 100 <xsl:value-of select="@freq"/> 101 <xsl:choose> 102 <xsl:when test="@freq = 1"> 103 <xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.time')"/> 104 </xsl:when> 105 <xsl:otherwise> 106 <xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.time_plural')"/> 107 </xsl:otherwise> 108 </xsl:choose> 109 <xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.in')"/><xsl:text> </xsl:text> 110 <xsl:value-of select="@numDocsMatch"/> 111 <xsl:choose> 112 <xsl:when test="@numDocsMatch = 1"> 113 <xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.document')"/> 114 </xsl:when> 115 <xsl:otherwise> 116 <xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.document_plural')"/> 117 </xsl:otherwise> 118 </xsl:choose> 119 <br /> 74 120 </xsl:for-each> 75 121 </xsl:when> 76 122 <xsl:otherwise> 77 123 <xsl:for-each select="/page/pageResponse/termList/term"> 78 <span style="font-style:italic;"><xsl:value-of select="@name"/></span> (<xsl:value-of select="@freq"/>) ;124 <span style="font-style:italic;"><xsl:value-of select="@name"/></span> (<xsl:value-of select="@freq"/>) 79 125 </xsl:for-each> 80 126 </xsl:otherwise> … … 110 156 </li> 111 157 </xsl:for-each> 158 <br/> 159 160 <!-- Previous/Next buttons--> 161 <xsl:call-template name="prevNextButtons"/> 112 162 </ul> 113 163 </xsl:otherwise> 114 164 115 165 </xsl:choose> 116 166 117 167 </xsl:template> 118 119 168 169 <xsl:template name="prevNextButtons"> 170 <!-- Current page --> 171 <xsl:variable name="currentPage"> 172 <xsl:choose> 173 <xsl:when test="/page/pageRequest/paramList/param[@name='startPage']/@value"> 174 <xsl:value-of select="/page/pageRequest/paramList/param[@name='startPage']/@value" /> 175 </xsl:when> 176 <xsl:when test="/page/pageRequest/paramList/param[@name='s1.startPage']/@value"> 177 <xsl:value-of select="/page/pageRequest/paramList/param[@name='s1.startPage']/@value" /> 178 </xsl:when> 179 <xsl:otherwise>1</xsl:otherwise> 180 </xsl:choose> 181 </xsl:variable> 182 183 <!-- Find the total number of documents returned --> 184 <xsl:variable name="docMax"> 185 <xsl:choose> 186 <xsl:when test="/page/pageResponse/metadataList/metadata[@name = 'numDocsReturned']"> 187 <xsl:value-of select="/page/pageResponse/metadataList/metadata[@name = 'numDocsReturned']"/> 188 </xsl:when> 189 <xsl:when test="/page/pageResponse/metadataList/metadata[@name = 'numDocsMatched']"> 190 <xsl:value-of select="/page/pageResponse/metadataList/metadata[@name = 'numDocsMatched']"/> 191 </xsl:when> 192 <xsl:otherwise><xsl:value-of select="count(/page/pageResponse/documentNodeList/documentNode)"/></xsl:otherwise> 193 </xsl:choose> 194 </xsl:variable> 195 196 <!-- Find the number of documents displayed per page --> 197 <xsl:variable name="docsPerPage"> 198 <xsl:choose> 199 <xsl:when test="/page/pageRequest/paramList/param[@name='hitsPerPage']"> 200 <xsl:value-of select="/page/pageRequest/paramList/param[@name='hitsPerPage']/@value" /> 201 </xsl:when> 202 <xsl:when test="/page/pageRequest/paramList/param[@name='s1.hitsPerPage']"> 203 <xsl:value-of select="/page/pageRequest/paramList/param[@name='s1.hitsPerPage']/@value" /> 204 </xsl:when> 205 <xsl:otherwise>20</xsl:otherwise> 206 </xsl:choose> 207 </xsl:variable> 208 209 <table id="searchResultNavTable"><tr> 210 <!-- Previous button --> 211 <td id="prevArrowTD"> 212 <xsl:if test="$currentPage != 1"> 213 <a href="{$library_name}?a=q&sa={/page/pageRequest/@subaction}&c={$collName}&s={/page/pageResponse/service/@name}&rt=rd&startPage={$currentPage - 1}"> 214 <img src="interfaces/oran/images/previous.png"/> 215 </a> 216 </xsl:if> 217 </td> 218 <td id="prevTD"> 219 <xsl:if test="$currentPage != 1"> 220 <a href="{$library_name}?a=q&sa={/page/pageRequest/@subaction}&c={$collName}&s={/page/pageResponse/service/@name}&rt=rd&startPage={$currentPage - 1}">Previous</a> 221 </xsl:if> 222 </td> 223 224 <!-- Search result status bar (in english it reads "Displaying X to Y of Z documents") --> 225 <xsl:if test="$docMax > 0"> 226 <td id="searchResultsStatusBar"> 227 <!-- "Displaying" --> 228 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.displaying')"/><xsl:text> </xsl:text> 229 <!-- "X" --> 230 <xsl:value-of select="($currentPage - 1) * $docsPerPage + 1"/> 231 <!-- "to" --> 232 <xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.to')"/><xsl:text> </xsl:text> 233 <!-- "Y" --> 234 <xsl:choose> 235 <xsl:when test="($currentPage * $docsPerPage + 1) > $docMax"> 236 <xsl:value-of select="$docMax"/> 237 </xsl:when> 238 <xsl:otherwise> 239 <xsl:value-of select="$currentPage * $docsPerPage"/> 240 </xsl:otherwise> 241 </xsl:choose> 242 <!-- "of" --> 243 <xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.of')"/><xsl:text> </xsl:text> 244 <!-- "Z" --> 245 <xsl:value-of select="$docMax"/> 246 <!-- "document[s]"--> 247 <xsl:choose> 248 <xsl:when test="$docMax = 1"> 249 <xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.document')"/> 250 </xsl:when> 251 <xsl:otherwise> 252 <xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.document_plural')"/> 253 </xsl:otherwise> 254 </xsl:choose> 255 </td> 256 </xsl:if> 257 258 <!-- Next button --> 259 <td id="nextTD"> 260 <xsl:if test="($currentPage * $docsPerPage + 1) < $docMax"> 261 <a href="{$library_name}?a=q&sa={/page/pageRequest/paramList/param[@name = 'sa']/@value}&c={$collName}&s={/page/pageResponse/service/@name}&rt=rd&startPage={$currentPage + 1}">Next</a> 262 </xsl:if> 263 </td> 264 <td id="nextArrowTD"> 265 <xsl:if test="($currentPage * $docsPerPage + 1) < $docMax"> 266 <a href="{$library_name}?a=q&sa={/page/pageRequest/paramList/param[@name = 'sa']/@value}&c={$collName}&s={/page/pageResponse/service/@name}&rt=rd&startPage={$currentPage + 1}"> 267 <img src="interfaces/oran/images/next.png"/> 268 </a> 269 </xsl:if> 270 </td> 271 </tr></table> 272 </xsl:template> 273 120 274 <!-- puts all the params into a=p&p=h type form - need to change this if use 121 275 multi params -->
Note:
See TracChangeset
for help on using the changeset viewer.