Changeset 26396 for main


Ignore:
Timestamp:
2012-10-25T15:23:07+13:00 (11 years ago)
Author:
sjm84
Message:

Rewriting classifier_scripts using jQuery

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

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