Changeset 25283
- Timestamp:
- 2012-03-23T16:41:17+13:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/web/interfaces/oran/js/document_scripts.js
r25177 r25283 1 var _imageZoomEnabled = false; 2 var _linkCellMap = new Array(); 3 var _onCells = new Array(); 4 1 5 /******************** 2 6 * EXPANSION SCRIPTS * … … 110 114 **********************/ 111 115 112 function changePage(href)113 {114 var ajax = new gs.functions.ajaxRequest();115 ajax.open("GET", href + "&excerptid=gs-document");116 ajax.onreadystatechange = function()117 {118 if(ajax.readyState == 4 && ajax.status == 200)119 {120 var contentElem = document.getElementById("gs-document");121 contentElem.innerHTML = ajax.responseText;122 }123 }124 ajax.send();125 }126 127 116 function changeView() 128 117 { … … 207 196 } 208 197 209 function retrieveTableOfContents ()198 function retrieveTableOfContentsAndTitles() 210 199 { 211 200 var ajax = gs.functions.ajaxRequest(); … … 225 214 var loading = document.getElementById("tocLoadingImage"); 226 215 loading.parentNode.removeChild(loading); 216 console.log("Error Loading TOC"); 227 217 } 228 218 } … … 272 262 } 273 263 264 function changePage(href) 265 { 266 var ajax = new gs.functions.ajaxRequest(); 267 ajax.open("GET", href + "&excerptid=gs-document"); 268 ajax.onreadystatechange = function() 269 { 270 if(ajax.readyState == 4 && ajax.status == 200) 271 { 272 var contentElem = document.getElementById("gs-document"); 273 contentElem.innerHTML = ajax.responseText; 274 275 for(var i = 0; i < _onCells.length; i++) 276 { 277 cells[i].cell.style.border = ""; 278 } 279 _onCells = new Array; 280 281 if(_linkCellMap[href]) 282 { 283 cells = _linkCellMap[href]; 284 for(var i = 0; i < cells.length; i++) 285 { 286 cells[i].cell.style.border = "3px red solid"; 287 _onCells.push(cells[i]); 288 } 289 } 290 } 291 } 292 ajax.send(); 293 } 294 274 295 function SliderWidget(_links) 275 296 { … … 285 306 var _linkTable = document.createElement("TABLE"); 286 307 _mainDiv.appendChild(_linkTable); 287 _linkTable.style.width = (75 * _links.length) + "px";288 308 289 309 //The image row of the table … … 291 311 _linkTable.appendChild(_linkRow); 292 312 293 //The label row 294 var _numberRow = document.createElement("TR"); 295 _linkTable.appendChild(_numberRow); 313 //The list of titles we can search through 314 var _titles = new Array(); 296 315 297 316 //**************** … … 308 327 //PRIVATE FUNCTIONS 309 328 //***************** 329 330 var setUpFilterBox = function() 331 { 332 var filter = $("#filterText"); 333 filter.keyup(function() 334 { 335 var currentValue = filter.val(); 336 for(var i = 0; i < _titles.length; i++) 337 { 338 var currentTitle = _titles[i]; 339 if(currentTitle[0].search(/*"^" +*/ currentValue.replace(/\./g, "\\.")) != -1) 340 { 341 currentTitle[1].cell.style.display = "table-cell"; 342 } 343 else 344 { 345 currentTitle[1].cell.style.display = "none"; 346 } 347 } 348 }); 349 } 310 350 311 351 var getImage = function(page) … … 326 366 template += '</xsl:attribute>'; 327 367 template += '</img>'; 368 template += '<p>'; 369 template += "<xsl:value-of disable-output-escaping=\"yes\" select=\"/page/pageResponse/document/documentNode/metadataList/metadata[@name = 'Title']\"/>"; 370 template += '</p>'; 328 371 template += '</html>'; 329 372 template += '</xsl:template>'; … … 344 387 var hrefEnd = text.indexOf("\"", hrefStart); 345 388 var href = text.substring(hrefStart, hrefEnd); 346 console.log(href); 389 347 390 var image = document.createElement("IMG"); 348 391 $(image).load(function() … … 360 403 }); 361 404 image.setAttribute("src", href); 405 406 var titleStart = text.indexOf("<p>") + 3; 407 var titleEnd = text.indexOf("</p>"); 408 var title = text.substring(titleStart, titleEnd); 362 409 } 363 410 else if (ajax.readyState == 4 && !page.failed) … … 421 468 link.setAttribute("href", "javascript:changePage(\"" + href + "\");"); 422 469 470 if(!_linkCellMap[href]) 471 { 472 _linkCellMap[href] = new Array(); 473 } 474 _linkCellMap[href].push(_links[i]); 475 423 476 var image = document.createElement("IMG"); 424 477 link.appendChild(image); … … 426 479 _links[i].image = image; 427 480 428 var spacer = document.createElement("TD"); 429 _linkRow.appendChild(spacer); 430 spacer.setAttribute("class", "pageSliderSpacer"); 431 432 var num = document.createElement("TD"); 433 _numberRow.appendChild(num); 434 num.innerHTML = "Page " + (i + 1); 435 num.style.textAlign = "center"; 436 437 var spacer = document.createElement("TD"); 438 _numberRow.appendChild(spacer); 439 spacer.setAttribute("class", "pageSliderSpacer"); 440 } 441 481 var title = _links[i].innerHTML; 482 if(title.search(/^[^ ]+ [^ ]+$/) != -1) 483 { 484 var section = title.replace(/^([^ ]+) [^ ]+$/, "$1"); 485 var page = title.replace(/^[^ ]+ ([^ ]+)$/, "$1"); 486 if(page.search(/^[0-9]+$/) != -1) 487 { 488 title = page; 489 } 490 } 491 _titles.push([title, _links[i]]); 492 493 var text = document.createTextNode(title); 494 col.appendChild(text); 495 } 496 497 setUpFilterBox(); 442 498 startCheckFunction(); 443 499 } … … 597 653 var newCell = document.createElement("TD"); 598 654 newCell.setAttribute("style", "font-size:0.7em; padding:0px 10px"); 655 newCell.setAttribute("class", "editMetadataButton"); 599 656 600 657 var linkSpan = document.createElement("SPAN"); … … 604 661 var linkLabel = document.createElement("SPAN"); 605 662 linkLabel.innerHTML = "edit metadata"; 663 newCell.linkLabel = linkLabel; 606 664 var linkIcon = document.createElement("SPAN"); 607 665 linkIcon.setAttribute("class", "ui-icon ui-icon-folder-collapsed"); 666 newCell.linkIcon = linkIcon; 608 667 609 668 var uList = document.createElement("UL"); … … 650 709 } 651 710 711 function setEditingFeaturesVisible(visible) 712 { 713 if(visible) 714 { 715 document.getElementById("editContentButton").innerHTML = "Hide editor"; 716 } 717 else 718 { 719 document.getElementById("editContentButton").innerHTML = "Edit content"; 720 } 721 722 var saveButton = document.getElementById("saveButton"); 723 var metadataListLabel = document.getElementById("metadataListLabel"); 724 var metadataList = document.getElementById("metadataSetList"); 725 726 var visibility = (visible ? "" : "none"); 727 saveButton.style.display = visibility; 728 metadataListLabel.style.display = visibility; 729 metadataList.style.display = visibility; 730 731 var buttons = gs.functions.getElementsByClassName("editMetadataButton"); 732 733 for(var i = 0; i < buttons.length; i++) 734 { 735 buttons[i].style.display = visibility; 736 buttons[i].linkLabel.innerHTML = "edit metadata"; 737 buttons[i].linkIcon.setAttribute("class", "ui-icon ui-icon-folder-collapsed"); 738 } 739 740 var tables = document.getElementsByTagName("TABLE"); 741 for(var i = 0; i < tables.length; i++) 742 { 743 var currentTable = tables[i]; 744 if(currentTable.getAttribute("id") && currentTable.getAttribute("id").search(/^meta/) != -1) 745 { 746 currentTable.style.display = "none"; 747 currentTable.metaNameField.style.display = "none"; 748 currentTable.addRowButton.style.display = "none"; 749 } 750 } 751 } 752 652 753 function readyPageForEditing() 653 754 { 755 if(document.getElementById("metadataSetList")) 756 { 757 var setList = document.getElementById("metadataSetList"); 758 if(!setList.style.display || setList.style.display == "") 759 { 760 setEditingFeaturesVisible(false); 761 } 762 else 763 { 764 setEditingFeaturesVisible(true); 765 } 766 return; 767 } 768 769 document.getElementById("editContentButton").innerHTML = "Hide Editor"; 770 654 771 var textDivs = gs.functions.getElementsByClassName("sectionText"); 655 772 for(var i = 0; i < textDivs.length; i++) … … 671 788 visibleMetadataList.setAttribute("id", "metadataSetList"); 672 789 var metadataListLabel = document.createElement("SPAN"); 790 metadataListLabel.setAttribute("id", "metadataListLabel"); 673 791 metadataListLabel.setAttribute("style", "margin-left:20px;"); 674 792 metadataListLabel.innerHTML = "Visible metadata: "; 675 793 editBar.appendChild(metadataListLabel); 676 794 editBar.appendChild(visibleMetadataList); 795 visibleMetadataList.onchange = onVisibleMetadataSetChange; 677 796 678 797 var statusBarDiv = document.createElement("DIV");
Note:
See TracChangeset
for help on using the changeset viewer.