Changeset 26396 for main

Show
Ignore:
Timestamp:
25.10.2012 15:23:07 (7 years ago)
Author:
sjm84
Message:

Rewriting classifier_scripts using jQuery

Location:
main/trunk/greenstone3/web/interfaces/default/js
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/default/js/classifier_scripts.js

    r25442 r26396  
    55function isExpanded(sectionID) 
    66{ 
    7     var divElem = document.getElementById("div" + sectionID); 
    8     if(!divElem.style.display || divElem.style.display == "block") 
     7    var divElem = gs.jqGet("div" + sectionID); 
     8    if(!divElem.css("display") || divElem.css("display") != "none") 
    99    { 
    1010        return true; 
     
    1515function toggleSection(sectionID) 
    1616{ 
    17     var section = document.getElementById("div" + sectionID); 
    18     var sectionToggle = document.getElementById("toggle" + sectionID); 
     17    var section = gs.jqGet("div" + sectionID); 
     18    var sectionToggle = gs.jqGet("toggle" + sectionID); 
    1919     
    2020    if(sectionToggle == undefined) 
     
    2323    } 
    2424     
    25     if(section) 
     25    //If the div exists 
     26    if(section.length) 
    2627    { 
    2728        if(isExpanded(sectionID)) 
    2829        { 
    29             section.style.display = "none"; 
    30             sectionToggle.setAttribute("src", gs.imageURLs.expand); 
    31              
     30            section.css("display", "none"); 
     31            sectionToggle.attr("src", gs.imageURLs.expand); 
     32 
    3233            if(openClassifiers[sectionID] != undefined) 
    3334            { 
     
    3738        else 
    3839        { 
    39             section.style.display = "block"; 
    40             sectionToggle.setAttribute("src", gs.imageURLs.collapse); 
     40            section.css("display", "block"); 
     41            sectionToggle.attr("src", gs.imageURLs.collapse); 
    4142            openClassifiers[sectionID] = true;   
    4243        } 
     
    113114        var httpRequest = new gs.functions.ajaxRequest(); 
    114115         
    115         var sectionToggle = document.getElementById("toggle" + sectionID); 
    116         sectionToggle.setAttribute("src", gs.imageURLs.loading); 
     116        var sectionToggle = gs.jqGet("toggle" + sectionID); 
     117        sectionToggle.attr("src", gs.imageURLs.loading); 
    117118         
    118119        var url = gs.xsltParams.library_name + "/collection/" + gs.cgiParams.c + "/browse/" + sectionID.replace(/\./g, "/") + "?excerptid=div" + sectionID; 
     
    127128            url = url.substring(0, url.indexOf("#")); 
    128129        } 
    129         httpRequest.open('GET', url, true); 
    130         httpRequest.onreadystatechange = function()  
     130         
     131        $.ajax(url) 
     132        .success(function(data) 
    131133        { 
    132             if (httpRequest.readyState == 4)  
     134            var newDiv = $("<div>");                                         
     135            var sibling = gs.jqGet("title" + sectionID); 
     136            sibling.after(newDiv); 
     137             
     138            newDiv.html(data); 
     139            sectionToggle.attr("src", gs.imageURLs.collapse); 
     140            openClassifiers[sectionID] = true;   
     141             
     142            if(gs.cgiParams.berryBasket == "on") 
    133143            { 
    134                 if (httpRequest.status == 200)  
    135                 { 
    136                     var newDiv = document.createElement("div");                                      
    137                     var sibling = document.getElementById("title" + sectionID); 
    138                     var parent = sibling.parentNode; 
    139                     if(sibling.nextSibling) 
    140                     { 
    141                         parent.insertBefore(newDiv, sibling.nextSibling); 
    142                     } 
    143                     else 
    144                     { 
    145                         parent.appendChild(newDiv); 
    146                     } 
    147                      
    148                     newDiv.innerHTML = httpRequest.responseText; 
    149                     sectionToggle.setAttribute("src", gs.imageURLs.collapse); 
    150                     openClassifiers[sectionID] = true;   
    151                      
    152                     if(gs.cgiParams.berryBasket == "on") 
    153                     { 
    154                         checkout(); 
    155                     } 
    156                     else if(gs.cgiParams.documentbasket == "on") 
    157                     { 
    158                         dmcheckout(); 
    159                     } 
    160                     updateOpenClassifiers(); 
    161                 } 
    162                 else 
    163                 { 
    164                     sectionToggle.setAttribute("src", gs.imageURLs.expand); 
    165                 } 
    166                 inProgress[sectionID] = false; 
    167                 busy = false; 
     144                checkout(); 
    168145            } 
    169         } 
    170         httpRequest.send(); 
     146            else if(gs.cgiParams.documentbasket == "on") 
     147            { 
     148                dmcheckout(); 
     149            } 
     150            updateOpenClassifiers(); 
     151        }) 
     152        .error(function() 
     153        { 
     154            sectionToggle.attr("src", gs.imageURLs.expand); 
     155        }) 
     156        .complete(function() 
     157        { 
     158            inProgress[sectionID] = false; 
     159            busy = false; 
     160        }); 
    171161    } 
    172162} 
  • main/trunk/greenstone3/web/interfaces/default/js/javascript-global-functions.js

    r25440 r26396  
    11gs.functions = new Array(); 
     2 
     3gs.jqGet = function(id) 
     4{ 
     5    return $("#" + id.replace(/\./g, "\\.")); 
     6} 
    27 
    38gs.functions.ajaxRequest = function()