Changeset 35822


Ignore:
Timestamp:
2021-12-17T10:16:06+13:00 (2 years ago)
Author:
cstephen
Message:

Migrate from jQuery 1.10.2 -> jQuery 3.6.0

Location:
main/trunk/greenstone3/web/interfaces/default_wip
Files:
2 added
6 deleted
30 edited

Legend:

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

    r35821 r35822  
    144144       
    145145        $.ajax(url)
    146         .success(function(data)
     146        .done(function(data)
    147147        {
    148148            var newDiv = $("<div>");                                       
     
    171171            }
    172172        })
    173         .error(function()
     173        .fail(function()
    174174        {
    175175            sectionToggle.attr("src", gs.imageURLs.expand);
    176176        })
    177         .complete(function()
     177        .always(function()
    178178        {
    179179            inProgress[sectionID] = false;
  • main/trunk/greenstone3/web/interfaces/default_wip/js/debug_scripts.js

    r35821 r35822  
    131131    {
    132132        $.ajax(document.URL)
    133         .success(function(response)
     133        .done(function(response)
    134134        {
    135135            //Get the body text from the response
     
    156156            addMouseEventsToDebugElements(debugElems);
    157157        })
    158         .error(function()
     158        .fail(function()
    159159        {
    160160            alert("There was an error reloading the page, please reload manually.");
     
    224224       
    225225        _backButton = $("<button>Back button</button>").attr("id", "veBack");
    226         _backButton.click(backForwardFunction);
     226        _backButton.on("click", backForwardFunction);
    227227        _styleFunctions.push(function(){_backButton.button({icons:{primary:"ui-icon-triangle-1-w"}, text:false, disabled:true})});
    228228   
    229229        _forwardButton = $("<button>Forward button</button>").attr("id", "veForwards");
    230         _forwardButton.click(backForwardFunction);
     230        _forwardButton.on("click", backForwardFunction);
    231231        _styleFunctions.push(function(){_forwardButton.button({icons:{primary:"ui-icon-triangle-1-e"}, text:false, disabled:true})});
    232232
    233233        //Changes the template list to what is currently selected
    234234        _currentSelectionButton = $("<button>Current selection button</button>");
    235         _currentSelectionButton.click(function()
     235        _currentSelectionButton.on("click", function()
    236236        {
    237237            _fileSelector.find("option").eq(0).prop("selected", true);
     
    259259        //Used to enable the selector to get the templates of a particular area of the page
    260260        _enableSelectorButton = $("<button>Select an element</button>");
    261         _enableSelectorButton.click(function()
     261        _enableSelectorButton.on("click", function()
    262262        {
    263263            _enableSelectorButton.button("option", "label", "Select new element");
    264             $("a").click(function(e)
     264            $("a").on("click", function(e)
    265265            {
    266266                e.preventDefault();
     
    274274        //Used to minimise/restore the editor
    275275        _closeEditorButton = $("<button>Close editor</button>");
    276         _closeEditorButton.click(function()
     276        _closeEditorButton.on("click", function()
    277277        {
    278278            if(_closeEditorButton.button("option", "label") == "Close editor")
     
    292292        //Used to save any changes that have been made to this template
    293293        _saveButton = $("<button>Save changes</button>");
    294         _saveButton.click(function()
     294        _saveButton.on("click", function()
    295295        {
    296296            if(_editor)
     
    329329
    330330                $.post(url, parameters)
    331                 .success(function()
     331                .done(function()
    332332                {
    333333                    $.ajax(gs.xsltParams.library_name + "?a=s&sa=c")
    334                     .success(function()
     334                    .done(function()
    335335                    {
    336336                        partialPageReload(function(){$.unblockUI();});
    337337                    })
    338                     .error(function()
     338                    .fail(function()
    339339                    {
    340340                        $.unblockUI();
    341341                        alert("Error reloading collection.");
    342342                    })
    343                     .complete(function()
     343                    .always(function()
    344344                    {
    345345                        _saveButton.button("option", "disabled", false);
    346346                    });
    347347                })
    348                 .error(function()
     348                .fail(function()
    349349                {
    350350                    alert("There was an error sending the request to the server, please try again.");
     
    356356        //Used to switch between the XML and Visual editors
    357357        _swapEditorButton = $("<button>Switch to XML editor</button>");
    358         _swapEditorButton.button().click(function()
     358        _swapEditorButton.button().on("click", function()
    359359        {
    360360            if(_vEditor && _textEditor)
     
    402402
    403403        undoButton = $("<button>Undo</button>");
    404         undoButton.click(function()
     404        undoButton.on("click", function()
    405405        {
    406406            if(_isVisualEditor)
     
    497497        var url = gs.xsltParams.library_name + "?a=g&rt=r&s=GetXSLTFilesForCollection&s1.interfaceName=" + gs.xsltParams.interface_name + "&s1.siteName=" + gs.xsltParams.site_name + "&s1.collectionName=" + gs.cgiParams.c;
    498498        $.ajax(url)
    499         .success(function(response)
     499        .done(function(response)
    500500        {
    501501            var listStartIndex = response.indexOf("<fileListJSON>") + "<fileListJSON>".length;
     
    532532            });
    533533        })
    534         .error(function()
     534        .fail(function()
    535535        {
    536536            console.log("Error retrieving XSLT files");
     
    608608        var getURL = gs.xsltParams.library_name + "?a=g&rt=r&s=GetTemplateListFromFile&s1.fileName=" + filename + "&s1.locationName=" + location + "&s1.interfaceName=" + gs.xsltParams.interface_name + "&s1.siteName=" + gs.xsltParams.site_name + "&s1.collectionName=" + gs.cgiParams.c;
    609609        $.ajax(getURL)
    610         .success(function(templateResponse)
     610        .done(function(templateResponse)
    611611        {
    612612            var templateListStart = templateResponse.indexOf("<templateList>") + "<templateList>".length;
     
    691691
    692692        $.post(url, params)
    693         .success(function(response)
     693        .done(function(response)
    694694        {
    695695            var template;
     
    754754            }
    755755        })
    756         .error(function()
     756        .fail(function()
    757757        {
    758758            console.log("Error getting the XML template from the file");
     
    809809    var addMouseEventsToDebugElements = function(debugElems)
    810810    {
    811         debugElems.click(function(e)
     811        debugElems.on("click", function(e)
    812812        {
    813813            if(_debugOn)
     
    935935            var enableGBButtonHolder = $("<div>", {"title":"Enable Greenbug", "id":"gbEnableButton", "class":"ui-state-default ui-corner-all"});
    936936            enableGBButtonHolder.append($("<img>", {"src":gs.imageURLs.greenBug}));
    937             enableGBButtonHolder.click(function()
     937            enableGBButtonHolder.on("click", function()
    938938            {
    939939                var url = document.URL;
     
    968968
    969969//The code entry point
    970 $(window).load(function()
     970$(window).on("load", function()
    971971{
    972972    var debugWidget = new DebugWidget();
  • main/trunk/greenstone3/web/interfaces/default_wip/js/document_scripts.js

    r35821 r35822  
    7373   
    7474    $.ajax(url)
    75     .success(function(response)
     75    .done(function(response)
    7676    {
    7777        if(response)
     
    9393        }
    9494    })
    95     .error(function()
     95    .fail(function()
    9696    {
    9797        callback(null);
     
    128128   
    129129    $.ajax(url)
    130     .success(function(response)
     130    .done(function(response)
    131131    {
    132132        if(response)
     
    150150        }
    151151    })
    152     .error(function()
     152    .fail(function()
    153153    {
    154154        callback(null);
     
    462462
    463463    $.ajax(url)
    464     .success(function(response)
     464    .done(function(response)
    465465    {
    466466        if(response)
     
    479479        }
    480480    })
    481     .error(function()
     481    .fail(function()
    482482    {
    483483        setTimeout(function(){loadTopLevelPage(callbackFunction, customURL);}, 1000);
     
    538538    else { 
    539539    $.ajax(url)
    540         .success(retrieveFullTableOfContentsSuccess)
    541         .error(function() {
     540        .done(retrieveFullTableOfContentsSuccess)
     541        .fail(function() {
    542542        setTimeout(retrieveFullTableOfContents, 1000);
    543543        });
     
    618618    $("#extractDocButton").attr("disabled", "disabled").html("Extracting document...");
    619619    $.ajax(url)
    620     .success(function(response)
     620    .done(function(response)
    621621    {
    622622        $("#extractDocButton").html("Building collection...");
    623623        gs.functions.buildCollections([gs.cgiParams.c], function()
    624624        {
    625             $("#extractDocButton").removeAttr("disabled").html("Extract these pages to document");
     625            $("#extractDocButton").prop("disabled", false).html("Extract these pages to document");
    626626        });
    627627    })
    628     .error(function()
    629     {
    630         $("#extractDocButton").removeAttr("disabled").html("Extract these pages to document");
     628    .fail(function()
     629    {
     630        $("#extractDocButton").prop("disabled", false).html("Extract these pages to document");
    631631    });
    632632}
     
    705705
    706706    $.ajax(url)
    707     .success(function(response)
     707    .done(function(response)
    708708    {
    709709        var tableOfContents = $("#tableOfContents");
     
    714714        loading.remove();
    715715    })
    716     .error(function()
     716    .fail(function()
    717717    {
    718718        setTimeout(function(){retrieveTableOfContentsAndTitles();}, 1000);
     
    769769        {
    770770            currentImage.attr("onclick", "");
    771             currentImage.click(function()
     771            currentImage.on("click", function()
    772772            {
    773773                var sliderDiv = currentImage.parents("table").first().next();
     
    972972
    973973        $.ajax(url)
    974         .success(function(text)
     974        .done(function(text)
    975975             {
    976976            var hrefStart = text.indexOf("src=\"") + 5;
     
    986986
    987987            var image = $("<img>");
    988             image.load(function()
     988            image.on("load", function()
    989989            {
    990990                $(page.link).html("");
     
    993993                page.imageLoaded = true;
    994994            });
    995             image.error(function()
     995            image.on("error", function()
    996996            {
    997997                if(!attemptNumber || attemptNumber < 3)
     
    10121012            var title = text.substring(titleStart, titleEnd);
    10131013        })
    1014         .error(function()
     1014        .fail(function()
    10151015        {
    10161016            page.failed = true;
     
    13071307    {
    13081308        url:url,
    1309         success: function(data)
     1309        done: function(data)
    13101310        {
    13111311            var startIndex = data.indexOf(">", data.indexOf(">") + 1) + 1;
     
    14221422    var setLink = function(currentLink, index)
    14231423    {
    1424         $(currentLink).click(function()
     1424        $(currentLink).on("click", function()
    14251425        {
    14261426            _inTransition = true;
     
    14651465    }
    14661466
    1467     _nextButton.click(this.nextImage);
    1468     _prevButton.click(this.prevImage);
    1469 }
     1467    _nextButton.on("click", this.nextImage);
     1468    _prevButton.on("click", this.prevImage);
     1469}
  • main/trunk/greenstone3/web/interfaces/default_wip/js/documentbasket/featuredimagezoomer.js

    r35821 r35822  
    176176            var imgcoords=getcoords()
    177177            $statusdiv.css({left:imgcoords.left+w/2-$statusdiv.width()/2, top:imgcoords.top+h/2-$statusdiv.height()/2, visibility:'visible'})
    178             $bigimage.bind('loadevt', function(){ //magnified image ONLOAD event function (to be triggered later)
     178            $bigimage.on('loadevt', function(){ //magnified image ONLOAD event function (to be triggered later)
    179179                $img.css({opacity:1}) //restore thumb image opacity
    180180                $statusdiv.empty().css({border:'1px solid black', background:'#C0C0C0', padding:'4px', font:'bold 13px Arial', opacity:0.8}).hide().removeClass('preloadevt');
     
    203203                }).css({cursor: fiz.magnifycursor});
    204204                if (setting.zoomrange && setting.zoomrange[1]>setting.zoomrange[0]){ //if zoom range enabled
    205                     $tracker.bind('DOMMouseScroll mousewheel', function(e){
     205                    $tracker.on('DOMMouseScroll mousewheel', function(e){
    206206                        fiz.magnifyimage($tracker, e, setting.zoomrange);
    207207                        e.preventDefault();
     
    213213            }
    214214            else{
    215                 $bigimage.bind('load', function(){$bigimage.trigger('loadevt')})
     215                $bigimage.on('load', function(){$bigimage.trigger('loadevt')})
    216216            }
    217217        })
  • main/trunk/greenstone3/web/interfaces/default_wip/js/documentedit_scripts.js

    r35821 r35822  
    8080            "href": "javascript:;"
    8181        });
    82     newLink.click(function () {
     82    newLink.on("click", function () {
    8383        if (metaTable.css("display") == "none") {
    8484            linkLabel.html(gs.text.de.hide_metadata);
     
    203203            "href": "javascript:;"
    204204        });
    205     newLink.click(function () {
     205    newLink.on("click", function () {
    206206        //console.log(" Show/Hide Map Editor ");
    207207        var clicked_mapEditor = gsmap_store["map-" + id];
     
    326326                    "class": "ui-state-default ui-corner-all"
    327327                });
    328             saveButton.click(save);
     328            saveButton.on("click", save);
    329329            saveButton.html(gs.text.de.save);
    330330            editBar.append(saveButton);
     
    334334                    "class": "ui-state-default ui-corner-all"
    335335                });
    336             rebuildButton.click(rebuildCurrentCollection);
     336            rebuildButton.on("click", rebuildCurrentCollection);
    337337            rebuildButton.html(gs.text.de.rebuild);
    338338            editBar.append(rebuildButton);
     
    342342                    "class": "ui-state-default ui-corner-all"
    343343                });
    344             saveAndRebuildButton.click(saveAndRebuild);
     344            saveAndRebuildButton.on("click", saveAndRebuild);
    345345            saveAndRebuildButton.html(gs.text.de.saverebuild);
    346346            editBar.append(saveAndRebuildButton);
     
    409409function enableSaveButtons(enabled) {
    410410    if (enabled) {
    411         $("#saveButton, #rebuildButton, #saveAndRebuildButton").removeAttr("disabled");
     411        $("#saveButton, #rebuildButton, #saveAndRebuildButton").prop("disabled", false);
    412412    } else {
    413         $("#saveButton, #rebuildButton, #saveAndRebuildButton").attr("disabled", "disabled");
     413        $("#saveButton, #rebuildButton, #saveAndRebuildButton").prop("disabled", true);
    414414    }
    415415}
  • main/trunk/greenstone3/web/interfaces/default_wip/js/documentedit_scripts_util.js

    r35821 r35822  
    194194  if (enabled) {
    195195    $("#saveButton, #quickSaveButton").html(gs.text.de.save_changes);
    196     $("#saveButton, #quickSaveButton").removeAttr("disabled");
     196    $("#saveButton, #quickSaveButton").prop("disabled", false);
    197197
    198198  } else {
    199199    $("#saveButton, #quickSaveButton").html(gs.text.de.saving + "...");
    200     $("#saveButton, #quickSaveButton").attr("disabled", "disabled");
     200    $("#saveButton, #quickSaveButton").prop("disabled", true);
    201201   
    202202  }
     
    10871087
    10881088    addRowButton.html(gs.text.de.add_new_metadata);
    1089     addRowButton.click(function()
     1089    addRowButton.on("click", function()
    10901090    {
    10911091            var name = metaNameField.val();
     
    11061106    var addAllButton = $("<button>",{"class": "ui-state-default ui-corner-all", "style": "margin: 5px;"});
    11071107    addAllButton.html(gs.text.de.add_all_metadata);
    1108     addAllButton.click(function()
     1108    addAllButton.on("click", function()
    11091109               {
    11101110                   for(var i=0; i<availableMetadataElements.length; i++) {
     
    11651165    var newCell = $("<td>");
    11661166    var removeLink = $("<a>"+gs.text.de.remove+"</a>", {"href": "javascript:;"});
    1167     removeLink.click(function()
     1167    removeLink.on("click", function()
    11681168    {
    11691169        var undo = new Array();
  • main/trunk/greenstone3/web/interfaces/default_wip/js/format_document.js

    r35821 r35822  
    44$(document).ready(function(){
    55
    6         $('.sectionHeader').click(function () {
     6        $('.sectionHeader').on("click", function () {
    77            console.log('section Header click *');
    88            getXSLT("sectionHeader");
     
    1010            });
    1111
    12         $('.sectionContainer').click(function () {
     12        $('.sectionContainer').on("click", function () {
    1313            console.log('section Container click *');
    1414            getXSLT("sectionContainer");
  • main/trunk/greenstone3/web/interfaces/default_wip/js/format_jquery_prototypes.js

    r35821 r35822  
    2828        type: "GET",
    2929        url: "?a=g&s=CoverageMetadataRetrieve&o=xml&rt=r&c=" + host_info.collection_name,
    30         success: function(data)
     30        done: function(data)
    3131        {
    3232            var str = "<select name=\"meta_select\" onChange=\"onSelectChange(this)\">";
  • main/trunk/greenstone3/web/interfaces/default_wip/js/format_util.js

    r35821 r35822  
    400400    console.log('function bind_tables()');
    401401
    402     $('#sectionHeader').click(function () {
     402    $('#sectionHeader').on("click", function () {
    403403         console.log('section Header click *');
    404404         return true;
    405405    });
    406406   
    407     $('#sectionContainer').click(function () {
     407    $('#sectionContainer').on("click", function () {
    408408         console.log('section Container click *');
    409409         return true;
     
    524524    });
    525525
    526     $('.gsf_template').click(function () {
     526    $('.gsf_template').on("click", function () {
    527527         console.log('gsf_template class click');
    528528         return false;
     
    563563    });
    564564
    565     $('.td-div').click(function () {   
     565    $('.td-div').on("click", function () {   
    566566         //console.log('td class click');
    567567         return true;
     
    715715{
    716716    console.log('function bind_minmax_remove()');
    717     $('a.minmax').bind('click', toggleContent);
    718     $('a.remove').bind('click', removeContent);
     717    $('a.minmax').on('click', toggleContent);
     718    $('a.remove').on('click', removeContent);
    719719};
    720720
  • main/trunk/greenstone3/web/interfaces/default_wip/js/gui_div.js

    r35821 r35822  
    371371    /* DOCUMENT SPECIFIC FUNCTIONS */
    372372
    373     $('.sectionHeader').click(function () {
     373    $('.sectionHeader').on("click", function () {
    374374        console.log('section Header click *');
    375375        getXSLT("sectionHeader");
     
    377377    });
    378378
    379     $('.sectionContainer').click(function () {
     379    $('.sectionContainer').on("click", function () {
    380380        console.log('section Container click *');
    381381        getXSLT("sectionContainer");
     
    405405        type: "GET",
    406406        url: "?a=g&s=CoverageMetadataRetrieve&o=xml&rt=r&c=" + collection,
    407         success: function(data)
     407        done: function(data)
    408408        {
    409409            var str = "<select name=\"meta_select\" onChange=\"onSelectChange(this)\">";
     
    951951    console.log('function bind_tables()');
    952952
    953     $('#sectionHeader').click(function () {
     953    $('#sectionHeader').on("click", function () {
    954954         console.log('section Header click *');
    955955         return true;
    956956    });
    957957   
    958     $('#sectionContainer').click(function () {
     958    $('#sectionContainer').on("click", function () {
    959959         console.log('section Container click *');
    960960         return true;
     
    10701070    });
    10711071
    1072     $('.gsf_template').click(function () {
     1072    $('.gsf_template').on("click", function () {
    10731073         console.log('gsf_template class click');
    10741074         return false;
     
    11071107    });
    11081108
    1109     $('.td-div').click(function () {   
     1109    $('.td-div').on("click", function () {   
    11101110         //console.log('td class click');
    11111111         return true;
     
    12551255{
    12561256    console.log('function bind_minmax_remove()');
    1257     $('a.minmax').bind('click', toggleContent);
    1258     $('a.remove').bind('click', removeContent);
     1257    $('a.minmax').on('click', toggleContent);
     1258    $('a.remove').on('click', removeContent);
    12591259};
    12601260
  • main/trunk/greenstone3/web/interfaces/default_wip/js/hierarchy.js

    r35821 r35822  
    7575                 }
    7676                 else {
    77                  //wrap elements in hierarchy level
    78                         var levelMenu = '<ul>';
    79                         for(var key in levelItems)
     77                    //wrap elements in hierarchy level
     78                    var levelMenu = '<ul>';
     79                    for(var key in levelItems)
     80                    {
     81                        //Fill menu with items
     82                        levelMenu += levelItems[key];
     83                    }
     84                    levelMenu += "</ul>";
     85                    menuItem.append(levelMenu);
     86                    menuItem.find("li")
     87                        .on("mouseenter", function()
    8088                        {
    81                             //Fill menu with items
    82                             levelMenu += levelItems[key];
    83                         }
    84                         levelMenu += "</ul>";
    85                         menuItem.append(levelMenu);
    86                         menuItem.find("li").hover(
    87                             function(){openHierarchyMenuLevel(this);}
    88                             ,
    89                             function(){closeHierarchyMenuLevel(this);}
    90                         );
    91                        
    92                         //menuItem.find('ul');
    93                         menuItem.children('ul').slideDown();
    94                  }
    95                  
     89                            openHierarchyMenuLevel(this);
     90                        })
     91                        .on("mouseleave", function()
     92                        {
     93                            closeHierarchyMenuLevel(this);
     94                        });
     95                   
     96                    //menuItem.find('ul');
     97                    menuItem.children('ul').slideDown();
     98                }
    9699            } else {
    97100                //stop animation
     
    144147function setHierarchyHoverEvent(father,className)
    145148{
    146      
    147     $(father).find(className).hover(function()
    148     {
    149         openHierarchyMenuLevel(this);
    150     }, function() {
    151         closeHierarchyMenuLevel(this);
    152     });
     149    $(father).find(className)
     150        .on("mouseenter", function()
     151        {
     152            openHierarchyMenuLevel(this);
     153        })
     154        .on("mouseleave", function()
     155        {
     156            closeHierarchyMenuLevel(this);
     157        });
    153158   
    154159}
     
    183188        $(row).each(function(){setHierarchyHoverEvent($(this),".metaDataHierarchyMenu ul li")});
    184189        //Set menu name or SuggestionsMenu on change of textarea set menu name to appropriate menu item if exists
    185         $(row).find('.metaTableCellArea').bind('input propertychange',function()
     190        $(row).find('.metaTableCellArea').on('input propertychange',function()
    186191        {
    187192            var input = $(this).val();
  • main/trunk/greenstone3/web/interfaces/default_wip/js/javascript-global-functions.js

    r35821 r35822  
    549549    // since get-meta-array and especially set-meta-array can be large, e.g. for user comments.
    550550    $.ajax({url: url, async: async_setting, type: method, data: data})
    551         .success(function(response) {
     551        .done(function(response) {
    552552        ajaxResponse = response;
    553553//      console.log("** (" + callingFunction + ") Response received from server: " + ajaxResponse);
     
    561561        }
    562562        })
    563         .error(function(response) {
     563        .fail(function(response) {
    564564            if(errorResponseFunction != null) {
    565565                errorResponseFunction(response);
  • main/trunk/greenstone3/web/interfaces/default_wip/js/jquery-ui-1.10.2.custom/index.html

    r35821 r35822  
    9696            value: 20
    9797        });
    98        
    99 
    100         // Hover states on the static widgets
    101         $( "#dialog-link, #icons li" ).hover(
    102             function() {
     98
     99        $( "#dialog-link, #icons li" )
     100            .on("mouseenter", function()
     101            {
    103102                $( this ).addClass( "ui-state-hover" );
    104             },
    105             function() {
     103            })
     104            .on("mouseleave", function()
     105            {
    106106                $( this ).removeClass( "ui-state-hover" );
    107             }
    108         );
     107            });
    109108    });
    110109    </script>
  • main/trunk/greenstone3/web/interfaces/default_wip/js/jquery-ui-1.10.2.custom/js/jquery-ui-1.10.2.custom.js

    r35821 r35822  
    61386138                    data: request,
    61396139                    dataType: "json",
    6140                     success: function( data ) {
     6140                    done: function( data ) {
    61416141                        response( data );
    61426142                    },
    6143                     error: function() {
     6143                    fail: function() {
    61446144                        response( [] );
    61456145                    }
     
    1226612266
    1226712267            this.xhr
    12268                 .success(function( response ) {
     12268                .done(function( response ) {
    1226912269                    // support: jQuery <1.8
    1227012270                    // http://bugs.jquery.com/ticket/11778
     
    1227412274                    }, 1 );
    1227512275                })
    12276                 .complete(function( jqXHR, status ) {
     12276                .always(function( jqXHR, status ) {
    1227712277                    // support: jQuery <1.8
    1227812278                    // http://bugs.jquery.com/ticket/11778
  • main/trunk/greenstone3/web/interfaces/default_wip/js/jquery.blockUI.js

    r35821 r35822  
    11/*!
    22 * jQuery blockUI plugin
    3  * Version 2.66.0-2013.10.09
     3 * Version 2.70.0-2014.11.23
    44 * Requires jQuery v1.7 or later
    55 *
     
    108108        };
    109109
    110         $.blockUI.version = 2.66; // 2nd generation blocking at no extra cost!
     110        $.blockUI.version = 2.70; // 2nd generation blocking at no extra cost!
    111111
    112112        // override these in your code to change the default behavior and style
     
    427427                    lyr3.show();
    428428                if (opts.onBlock)
    429                     opts.onBlock();
     429                    opts.onBlock.bind(lyr3)();
    430430            }
    431431
     
    516516                data.el.style.display = data.display;
    517517                data.el.style.position = data.position;
     518                data.el.style.cursor = 'default'; // #59
    518519                if (data.parent)
    519520                    data.parent.appendChild(data.el);
     
    551552            var events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove';
    552553            if (b)
    553                 $(document).bind(events, opts, handler);
     554                $(document).on(events, opts, handler);
    554555            else
    555                 $(document).unbind(events, handler);
     556                $(document).off(events, handler);
    556557
    557558        // former impl...
  • main/trunk/greenstone3/web/interfaces/default_wip/js/jquery.selectboxes.js

    r35821 r35822  
    391391{
    392392    var w = which || "selected";
    393     if($(to).size() == 0) return this;
     393    if($(to).length == 0) return this;
    394394    this.each(
    395395        function()
  • main/trunk/greenstone3/web/interfaces/default_wip/js/map-scripts.js

    r35821 r35822  
    7373    {
    7474        var startStopCheckbox = $("<input>", {"type": "checkbox", "checked": _scrollThroughDefault, "id": "scrollCheckbox"});
    75         startStopCheckbox.click(function()
     75        startStopCheckbox.on("click", function()
    7676        {
    7777            // http://stackoverflow.com/questions/901712/how-to-check-if-a-checkbox-is-checked-in-jquery
     
    278278   
    279279    $.ajax({type:"POST", url:url, data:data})
    280     .success(function(responseText)
     280    .done(function(responseText)
    281281    {
    282282        //console.log("*** responseText (first 250) = " + responseText.substring(0,256));
     
    986986    var url = gs.xsltParams.library_name + "?a=b&rt=s&s=ClassifierBrowse&c=" + gs.cgiParams.c + "&cl=" + sectionID + "&excerptid=jsonNodes";
    987987    $.ajax(url)
    988     .success(function(responseText)
     988    .done(function(responseText)
    989989    {
    990990        var startIndex = responseText.indexOf(">");
     
    10251025        //console.log("getSub Classifier -> updateMap()");
    10261026    })
    1027     .error(function()
     1027    .fail(function()
    10281028    {
    10291029        //console.log("Error getting subclassifiers");
     
    10941094        var url = gs.xsltParams.library_name + "?a=q&s=RawQuery&rt=rd&c=" + gs.cgiParams.c + "&s1.rawquery=" + query + "&excerptid=nearbyDocs&ilt=" + inlineTemplate.replace(/ /, "%20");
    10951095    $.ajax(url)
    1096     .success(function(response)
     1096    .done(function(response)
    10971097    {
    10981098        response = response.replace(/<img src="[^"]*map_marker.png"[^>]*>/g, "");
  • main/trunk/greenstone3/web/interfaces/default_wip/js/ui.nestedSortable.js

    r35821 r35822  
    6969            var validHandle = false;
    7070
    71             $(this.options.handle, currentItem).find("*").andSelf().each(function() { if(this == event.target) validHandle = true; });
     71            $(this.options.handle, currentItem).find("*").addBack().each(function() { if(this == event.target) validHandle = true; });
    7272            if(!validHandle) return false;
    7373        }
  • main/trunk/greenstone3/web/interfaces/default_wip/js/visual-xml-editor.js

    r35821 r35822  
    291291
    292292            $.ajax(url)
    293             .success(function(response)
     293            .done(function(response)
    294294            {
    295295                startIndex = response.search("<templateList>") + "<templateList>".length;
     
    323323                }
    324324            })
    325             .error(function()
     325            .fail(function()
    326326            {
    327327                console.log("Error retrieving GSLIB templates");
     
    383383        var customElemHolder = $("<div>");
    384384        var customCreateButton = $("<button>Create element</button>");
    385         customCreateButton.click(function()
     385        customCreateButton.on("click", function()
    386386        {
    387387            var elemName = customInput.val();
     
    648648
    649649        var _editButton = $("<button>Edit text</button>");
    650         _editButton.click(function()
     650        _editButton.on("click", function()
    651651        {
    652652            if(_editButton.button("option", "label") == "Edit text")
     
    768768            var link = $("<a href=\"javascript:;\">edit</a>");
    769769
    770             link.click(function()
     770            link.on("click", function()
    771771            {
    772772                _thisAttr.editMode();
     
    781781            var cell = $("<td>", {"class":"veDeleteCell"});
    782782            var link = $("<a href=\"javascript:;\">delete</a>");
    783             link.click(function()
     783            link.on("click", function()
    784784            {
    785785                _transactions.push({type:"remAttr", elem:_xmlElem, row:_row, rowParent:_row.parent(), name:_name, value:_value});
     
    824824            editLink.text("done");
    825825            editLink.off("click");
    826             editLink.click(function()
     826            editLink.on("click", function()
    827827            {
    828828                _thisAttr.saveEdits();
     
    871871            editLink.text("edit");
    872872            editLink.off("click");
    873             editLink.click(function()
     873            editLink.on("click", function()
    874874            {
    875875                _thisAttr.editMode();
     
    11751175            var errorFunction = function()
    11761176            {
    1177                 $.ajax(url).success(successFunction).error(errorFunction);
     1177                $.ajax(url).done(successFunction).fail(errorFunction);
    11781178            }
    11791179           
    1180             $.ajax(url).success(successFunction).error(errorFunction);
     1180            $.ajax(url).done(successFunction).fail(errorFunction);
    11811181        }
    11821182
     
    12481248
    12491249                var addButton = $("<button>Add attribute</button>");
    1250                 addButton.click(function()
     1250                addButton.on("click", function()
    12511251                {
    12521252                    var newAtt;
     
    13301330                event.stopPropagation();
    13311331            });
    1332             _div.click(function(event)
     1332            _div.on("click", function(event)
    13331333            {
    13341334                event.stopPropagation();
  • main/trunk/greenstone3/web/interfaces/default_wip/transform/depositor/de_page1.xsl

    r35821 r35822  
    2727                <script type="text/javascript">
    2828                    <xsl:text disable-output-escaping="yes">
    29                         $("#addNewMD").click(function()
     29                        $("#addNewMD").on("click", function()
    3030                        {
    3131                            var val = $("#newMDName").val();
     
    5050                <script type="text/javascript">
    5151                    <xsl:text disable-output-escaping="yes">
    52                         $("#clearSaved").click(function()
     52                        $("#clearSaved").on("click", function()
    5353                        {
    5454                            $.ajax(gs.xsltParams.library_name + "?a=de&amp;sa=clearcache")
    55                             .success(function()
     55                            .done(function()
    5656                            {
    5757                                document.location.href = gs.xsltParams.library_name + "?a=de&amp;sa=getwizard&amp;depage=1&amp;c=" + gs.cgiParams.c;
     
    6464    </xsl:template>
    6565</xsl:stylesheet> 
    66 
  • main/trunk/greenstone3/web/interfaces/default_wip/transform/depositor/de_page4.xsl

    r35821 r35822  
    1717            <xsl:text disable-output-escaping="yes">
    1818                {
    19                     $(window).load(function()
     19                    $(window).on("load", function()
    2020                    {
    2121                        $("#progressBar").html($("#progressBar").html() + "&lt;br/&gt;Moving file into collection...");
    2222                        var url = gs.xsltParams.library_name + "?a=de&amp;sa=depositFile&amp;ro=1&amp;c=" + gs.cgiParams.c + "&amp;fileToAdd=" + gs.deSavedMetadata["md___ex.Filename"];
    23                         $.ajax(url).success(function(response)
     23                        $.ajax(url).done(function(response)
    2424                        {
    2525                            $("#progressBar").html($("#progressBar").html() + "&lt;br/&gt;Importing collection...");
     
    4646                                        $("#progressBar").html($("#progressBar").html() + "&lt;br/&gt;Collection built...");
    4747                                        $("#progressBar").html($("#progressBar").html() + "&lt;br/&gt;Reloading Greenstone...");
    48                                         $.ajax(gs.xsltParams.library_name + "?a=s&amp;sa=c").success(function()
     48                                        $.ajax(gs.xsltParams.library_name + "?a=s&amp;sa=c").done(function()
    4949                                        {
    5050                                            $("#progressBar").html($("#progressBar").html() + "&lt;br/&gt;Done!");
    5151                                        })
    52                                         .error(function()
     52                                        .fail(function()
    5353                                        {
    5454                                            $("#progressBar").html($("#progressBar").html() + "&lt;br/&gt;Reload failed, please restart Greenstone manually.");
     
    7272    </xsl:template>
    7373</xsl:stylesheet> 
    74 
  • main/trunk/greenstone3/web/interfaces/default_wip/transform/depositor/depositor.xsl

    r35821 r35822  
    5858            <xsl:text disable-output-escaping="yes">
    5959                {
    60                     $(window).load(function()
     60                    $(window).on("load", function()
    6161                    {
    6262                        var cachedMetadata = [];
     
    101101                        }
    102102
    103                         $(".wizardStepLink a").click(function()
     103                        $(".wizardStepLink a").on("click", function()
    104104                        {
    105105                            var requestedPage = $(this).attr("page");
     
    123123    </xsl:template>
    124124</xsl:stylesheet> 
    125 
  • main/trunk/greenstone3/web/interfaces/default_wip/transform/expand-gsf.xsl

    r35821 r35822  
    424424                        </xsl:choose>               
    425425                    </xslt:attribute>
     426                    <xsl:if test="@alt">
     427                        <xslt:attribute name='alt'>
     428                            <xsl:value-of select="@alt" />
     429                        </xslt:attribute>
     430                    </xsl:if>
    426431                </img>
    427432            </xsl:when>
     
    756761
    757762</xsl:stylesheet>
    758 
    759 
  • main/trunk/greenstone3/web/interfaces/default_wip/transform/layouts/header.xsl

    r35821 r35822  
    116116    <xsl:call-template name="favicon"/>
    117117   
    118     <script type="text/javascript" src="interfaces/{$interface_name}/js/jquery.min.js"><xsl:text> </xsl:text></script>
     118    <script type="text/javascript" src="interfaces/{$interface_name}/js/jquery-3.6.0.min.js"><xsl:text> </xsl:text></script>
    119119    <script type="text/javascript" src="interfaces/{$interface_name}/js/jquery-ui-1.10.2.custom/js/jquery-ui-1.10.2.custom.min.js"><xsl:text> </xsl:text></script>
    120120    <script type="text/javascript" src="interfaces/{$interface_name}/js/jquery.blockUI.js"><xsl:text> </xsl:text></script>
     
    496496    <xsl:when test="$isEditingAvailable = '1' and $userHasEditPermission = '1'"><xsl:text disable-output-escaping="yes">
    497497    .html((gs.userInformation.editEnabled == "true") ? "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'menu.disable_edit_mode')"/><xsl:text disable-output-escaping="yes">" : "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'menu.enable_edit_mode')"/><xsl:text disable-output-escaping="yes">")
    498     .click(function()
     498    .on("click", function()
    499499    {
    500500    var c_url = gs.xsltParams.library_name + "?a=g&amp;rt=ro&amp;s=ChangeUserEditMode&amp;s1.username=" + gs.userInformation.username + "&amp;s1.enabled=" + ((gs.userInformation.editEnabled == "true") ? "false" : "true");
    501501    $.ajax(c_url)
    502     .success(function(response)
     502    .done(function(response)
    503503    {
    504504    //location.reload(true); // need to set docEdit=0 if we have just disabled editing
     
    508508    </xsl:text></xsl:when><xsl:otherwise><xsl:variable name="reason"><xsl:choose><xsl:when test="$isEditingAvailable != '1'"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'de.error_unavailable')"/></xsl:when><xsl:when test="$userHasEditPermission != '1'"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'de.error_wrong_group')"/></xsl:when></xsl:choose><xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'de.error_contact_admin', $siteAdmin)"/></xsl:variable><xsl:text disable-output-escaping="yes">
    509509    .html("</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'de.error')"/><xsl:text disable-output-escaping='yes'>")
    510     .click(function()
     510    .on("click", function()
    511511    {
    512512    alert("</xsl:text><xsl:value-of select="$reason"/><xsl:text disable-output-escaping='yes'>");
     
    820820    <script src="interfaces/{$interface_name}/js/map-scripts-shapes-util.js" type="text/javascript"><xsl:text> </xsl:text></script>
    821821    <script src="interfaces/{$interface_name}/js/map-scripts.js" type="text/javascript"><xsl:text> </xsl:text></script>
    822     <script type="text/javascript">$(window).load(initializeMapScripts);</script>
     822    <script type="text/javascript">$(window).on("load", initializeMapScripts);</script>
    823823  </xsl:template>
    824824
     
    834834    <script src="interfaces/{$interface_name}/js/panoramaMarker.js" type="text/javascript"><xsl:text> </xsl:text></script>
    835835    <script src="interfaces/{$interface_name}/js/panoramaViewer.js" type="text/javascript"><xsl:text> </xsl:text></script>
    836     <script type="text/javascript">$(window).load(initPanoramaViewer);$(window).load(_animate);</script>
     836    <script type="text/javascript">$(window).on("load", initPanoramaViewer);$(window).on("load", _animate);</script>
    837837  </xsl:template>
    838838
  • main/trunk/greenstone3/web/interfaces/default_wip/transform/layouts/toc.xsl

    r35821 r35822  
    11<?xml version="1.0" encoding="UTF-8"?>
    22<xsl:stylesheet version="1.0"
    3     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    4     xmlns:java="http://xml.apache.org/xslt/java"
    5     xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
    6     xmlns:gslib="http://www.greenstone.org/skinning"
    7     xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"
    8     extension-element-prefixes="java util"
    9     exclude-result-prefixes="java util gsf">
    10    
    11     <xsl:template name="rightSidebarTOC">
    12       <div id="rightSidebar">
    13         <xsl:choose>
    14           <xsl:when test="@docType = 'simple'">
    15         <xsl:for-each select=".">
    16           <xsl:call-template name="displayCoverImage"/>
    17         </xsl:for-each>
    18         <xsl:call-template name="viewOptions"/>
    19         <!--<xsl:text>  </xsl:text>-->
    20           </xsl:when>
    21         <xsl:otherwise>
    22           <xsl:for-each select="documentNode[1]">
    23         <xsl:call-template name="displayCoverImage"/>
    24           </xsl:for-each>
    25           <xsl:call-template name="viewOptions"/>
    26           <xsl:call-template name="displayTOC"/>
    27         </xsl:otherwise>
    28       </xsl:choose>
    29       </div>
    30     </xsl:template>
    31    
    32     <!-- this is called in the context of the top level node with the metadataList. For a simple doc, this is the document node. For a comples document, this is the first documentNode hcild of the document node. -->
    33     <xsl:template name="displayCoverImage">
    34       <xsl:variable name="hasCover"><gsf:metadata name="hascover"/></xsl:variable>
    35       <xsl:if test="$hasCover = '1' and (not(/page/pageResponse/format[@type='display']/gsf:option[@name='coverImage']) or /page/pageResponse/format[@type='display']/gsf:option[@name='coverImage']/@value='true')">
    36         <!-- the book's cover image -->
    37         <div id="coverImage">
    38           <img>
    39         <xsl:attribute name="src"><xsl:value-of select="$httpPath"/>/index/assoc/<gsf:metadata name="assocfilepath" pos="1"/>/cover.jpg</xsl:attribute>
    40           </img><xsl:text> </xsl:text>
    41         </div>
    42       </xsl:if>
    43     </xsl:template>
    44    
    45     <xsl:template name="displayTOC">
    46       <xsl:if test="not(/page/pageResponse/format[@type='display']/gsf:option[@name='TOC']) or /page/pageResponse/format[@type='display']/gsf:option[@name='TOC']/@value='true'">
    47         <div class="tableOfContentsContainer ui-state-default">
    48             <table class="tocTable ui-widget-content">
    49                 <tr>
    50                     <td id="unfloatTOCButton" style="display:none;">
    51                         <a href="javascript:floatMenu(false);">
    52                             <img class="icon" style="padding-top:3px;">
    53                                 <xsl:attribute name="src">
    54                                     <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'left_arrow_image')"/>
    55                                 </xsl:attribute>
    56                             </img>
    57                         </a>
    58                     </td>
    59                     <td style="vertical-align:top; text-align:right;">
    60                         <a id="sidebarMinimizeButton" href="javascript:minimizeSidebar();" style="float: right; font-size:0.6em;">
    61                             <img class="icon" style="padding-top:3px;">
    62                                 <xsl:attribute name="src">
    63                                     <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'collapse_image')"/>
    64                                 </xsl:attribute>
    65                             </img>
    66                         </a>
    67                         <a id="sidebarMaximizeButton" href="javascript:maximizeSidebar();" style="float: right; font-size:0.6em; display:none;">
    68                             <img class="icon" style="padding-top:3px;">
    69                                 <xsl:attribute name="src">
    70                                     <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'expand_image')"/>
    71                                 </xsl:attribute>
    72                             </img>
    73                         </a>
    74                     </td>
    75                 </tr>
    76                 <tr><td id="tdContentsArea">
    77                     <div id="contentsArea">
    78                             <!-- showing gotoFavourites display-area takes priority over berryBaskets -->
    79                             <xsl:choose>
    80                           <xsl:when test="/page/pageResponse/interfaceOptions/option[@name = 'favouriteBasket']/@value = 'true'">
    81                             <!-- show the goto favourites if it's turned on -->
    82                             <xsl:call-template name="gotoFavourites"/>
    83                           </xsl:when>
    84                           <xsl:otherwise>
    85                             <!-- show the berry basket if it's turned on -->
    86                             <xsl:call-template name="berryBasket"/>
    87                           </xsl:otherwise>
    88                         </xsl:choose>
    89 
    90                         <!-- add in expand and contract document links -->
    91                         <xsl:call-template name="expandContractDocumentLinks"/>
    92                         <!-- dynamically get the contents (if enabled) -->
    93                         <xsl:choose>
    94                             <xsl:when test="/page/pageResponse/document/@docType = 'paged' or /page/pageResponse/document/@docType = 'pagedhierarchy'">
    95                                 <gsf:image type="Thumb"/>
    96                                 <!-- Table of contents will be dynamically retrieved when viewing a paged document -->
    97                                 <script type="text/javascript">
    98                                     <xsl:text disable-output-escaping="yes">
    99                                         $(window).load(function()
    100                                         {
    101                                             retrieveTableOfContentsAndTitles();
    102                                                 <!--setUpFilterButtons();-->
    103                                         });
    104                                     </xsl:text>
    105                                 </script>
    106                                
    107                                 <div id="tableOfContents"><xsl:text> </xsl:text></div>
    108                                 <div id="tocLoadingImage" style="text-align:center;">
    109                                     <img src="{util:getInterfaceText($interface_name, /page/@lang, 'loading_image')}"/><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.loading')"/><xsl:text>...</xsl:text>
    110                                 </div>
    111                                 <label for="filterText"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.filter_pages')"/><xsl:text>: </xsl:text></label><span id="filterOnButtons" style="float: right;">...</span><input id="filterText" type="text" style="width: 100%;"/>
    112 <!--                                <xsl:if test="/page/pageRequest/userInformation and /page/pageRequest/userInformation/@editEnabled = 'true'">-->
    113  <xsl:if test="/page/pageRequest/userInformation and /page/pageRequest/userInformation/@editEnabled = 'true' and /page/pageRequest/paramList/param[@name='docEdit']/@value = '1'  and (util:contains(/page/pageRequest/userInformation/@groups, 'administrator') or util:contains(/page/pageRequest/userInformation/@groups, 'all-collections-editor') or util:contains(/page/pageRequest/userInformation/@groups, $thisCollectionEditor))">
    114                                   <a href="javascript:extractFilteredPagesToOwnDocument();"><button id="extractDocButton"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'de.extract_pages')"/></button></a>
    115                                 </xsl:if>
    116                             </xsl:when>
    117                             <xsl:when test="not(/page/pageRequest/paramList/param[@name = 'ed']/@value = '1' or /page/pageRequest/paramList/param[@name = 'ec']/@value = '1')">
    118                                 <div id="tableOfContents">
    119                                     <div id="tocLoadingImage" style="text-align:center;">
    120                                         <img src="{util:getInterfaceText($interface_name, /page/@lang, 'loading_image')}"/><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.loading')"/><xsl:text>...</xsl:text>
    121                                     </div>
    122                                 </div>
    123                                 <script type="text/javascript">
    124                                     <xsl:text disable-output-escaping="yes">
    125                                         $(window).load(function()
    126                                         {
    127                                             retrieveFullTableOfContents();
    128                                         });
    129                                     </xsl:text>
    130                                 </script>
    131                             </xsl:when>
    132                             <xsl:otherwise>
    133                              
    134                                 <div id="tableOfContents">
    135                                   <!-- if ed=1 or ec=1 then we have the complete section hierarchy in the page xml source, so we don't need an ajax call to get the table of contents, we just generate it from the list of nodes -->
    136                                     <xsl:attribute name="class"> <!-- do we ever need this ?? -->
    137                                         <xsl:choose>
    138                                             <xsl:when test="count(//documentNode) > 1">visible</xsl:when>
    139                                             <xsl:otherwise>hidden</xsl:otherwise>
    140                                         </xsl:choose>
    141                                     </xsl:attribute>
    142                                     <xsl:for-each select="documentNode">
    143                                         <xsl:call-template name="documentNodeTOC"/>
    144                                     </xsl:for-each>
    145                                 </div>
    146                             </xsl:otherwise>
    147                         </xsl:choose>
    148                     </div>
    149                 </td></tr>
    150             </table>
    151         </div>
    152       </xsl:if>
    153     </xsl:template>
    154    
    155     <!-- This template is used to display the table of contents -->
    156     <xsl:template name="documentNodeTOC">
    157         <ul>
    158             <table><tr>
    159                 <!-- The expand/collapse button (not displayed for the top level node) -->
    160                 <xsl:if test="util:hashToDepthClass(@nodeID) != 'sectionHeaderDepthTitle'">
    161                     <td>
    162                         <xsl:choose>
    163                             <xsl:when test="documentNode">
    164                                 <img id="ttoggle{@nodeID}" onclick="toggleSection('{@nodeID}');" class="icon">
    165                                     <xsl:attribute name="src">
    166                                         <xsl:choose>
    167                                             <xsl:when test="/page/pageRequest/paramList/param[@name = 'ed']/@value = '1' or /page/pageResponse/document/@selectedNode = @nodeID">
    168                                                 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'collapse_image')"/>
    169                                             </xsl:when>
    170                                             <xsl:otherwise>
    171                                                 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'expand_image')"/>
    172                                             </xsl:otherwise>
    173                                         </xsl:choose>
    174                                     </xsl:attribute>
    175                                 </img>
    176                             </xsl:when>
    177                             <xsl:otherwise>
    178                                 <xsl:attribute name="class">emptyIcon</xsl:attribute>
    179                             </xsl:otherwise>
    180                         </xsl:choose>
    181                     </td>
    182                 </xsl:if>
    183                
    184                 <!-- The chapter/page icon -->
    185                 <td>
    186                     <img>
    187                         <xsl:if test="not(documentNode)">
    188                             <xsl:attribute name="class">leafNode</xsl:attribute>
    189                         </xsl:if>
    190                        
    191                         <xsl:attribute name="src">
    192                             <xsl:choose>
    193                                 <xsl:when test="not(documentNode)">
    194                                     <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'page_image')"/>
    195                                 </xsl:when>
    196                                 <xsl:otherwise>
    197                                     <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'chapter_image')"/>
    198                                 </xsl:otherwise>
    199                             </xsl:choose>
    200                         </xsl:attribute>
    201                     </img>
    202                 </td>
    203                
    204                 <!-- The section name, links to the section in the document -->
    205                 <td class="tocTextCell">               
    206                     <a id="toclink{@nodeID}" href="javascript:focusSection('{@nodeID}');">
    207                         <xsl:if test="util:hashToSectionId(@nodeID)">
    208                           <span class="tocSectionNumber"><xsl:value-of select="util:hashToSectionId(@nodeID)"/><!--<xsl:text> </xsl:text>--></span></xsl:if><span class="tocSectionTitle"><xsl:call-template name="sectionHeading"/></span></a>
    209                    
    210                 </td>
    211             </tr></table>
    212        
    213             <!-- display any child items -->       
    214             <xsl:if test="documentNode">
    215                 <li id="toc{@nodeID}">
    216                     <xsl:attribute name="style">
    217                         <xsl:choose>
    218                             <xsl:when test="/page/pageRequest/paramList/param[@name = 'ed']/@value = '1' or /page/pageResponse/document/@selectedNode = @nodeID">
    219                                 <xsl:text>display:block;</xsl:text>
    220                             </xsl:when>
    221                             <xsl:otherwise>
    222                                 <xsl:text>display:none;</xsl:text>
    223                             </xsl:otherwise>
    224                         </xsl:choose>
    225                     </xsl:attribute>
    226                     <xsl:for-each select="documentNode">
    227                         <xsl:call-template name="documentNodeTOC"/>
    228                     </xsl:for-each>
    229                 </li>
    230             </xsl:if>
    231            
    232         </ul>
    233     </xsl:template>
    234    
    235     <xsl:template name="viewOptions">
    236         <div id="viewAndZoomOptions" class="ui-state-default ui-corner-all">
    237             <ul id="viewOptions">
    238                 <!-- Paged-image document options -->
    239                             <xsl:if test="count(//documentNode/metadataList/metadata[@name = 'Screen']) > 0 or /page/pageResponse/document/@docType = 'paged' or /page/pageResponse/document/@docType = 'pagedhierarchy'">
    240                                 <!-- view selection option -->
    241                   <xsl:if test="not(/page/pageResponse/format[@type='display']/gsf:option[@name='viewSelection']) or /page/pageResponse/format[@type='display']/gsf:option[@name='viewSelection']/@value='true'">
    242                 <li id="pagedImageOptions">
    243                     <select id="viewSelection" onchange="changeView();">
    244                         <xsl:choose>
    245                             <xsl:when test="/page/pageRequest/paramList/param[@name = 'view']/@value = 'image'">
    246                                 <option><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.default_view')"/></option>
    247                                 <option selected="true"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.image_view')"/></option>
    248                                 <option><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.text_view')"/></option>
    249                             </xsl:when>
    250                             <xsl:when test="/page/pageRequest/paramList/param[@name = 'view']/@value = 'text'">
    251                                 <option><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.default_view')"/></option>
    252                                 <option><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.image_view')"/></option>
    253                                 <option selected="true"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.text_view')"/></option>
    254                             </xsl:when>
    255                             <xsl:otherwise>
    256                                 <option selected="true"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.default_view')"/></option>
    257                                 <option><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.image_view')"/></option>
    258                                 <option><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.text_view')"/></option>
    259                             </xsl:otherwise>
    260                         </xsl:choose>
    261                     </select>
    262                 </li>
    263                 </xsl:if>
    264                 <!-- Slide-show options -->
    265                 <xsl:if test="not(/page/pageResponse/format[@type='display']/gsf:option[@name='slideShow']) or /page/pageResponse/format[@type='display']/gsf:option[@name='slideShow']/@value='true'">
    266                 <li id="slideShowOptions">
    267                     <xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.slideshowTooltip')"/></xsl:attribute>
    268                     <img onclick="showSlideShow()">
    269                         <xsl:attribute name="src"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'slideshow_image')"/></xsl:attribute>
    270                     </img>
    271                 </li>
    272                     </xsl:if>
    273                 </xsl:if>
    274                 <!-- Realistic books link -->
    275                 <xsl:if test="/page/pageResponse/collection[@name = $collName]/metadataList/metadata[@name = 'tidyoption'] = 'tidy'">
    276                     <li>
    277                         <xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.realisticBooksTooltip')"/></xsl:attribute>
    278                         <img id="rbOptionImage" onclick="bookInit();">
    279                             <xsl:attribute name="src"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'realistic_books_image')"/></xsl:attribute>
    280                         </img>
    281                         <input id="rbOption" type="checkbox" onclick="bookInit();" class="optionCheckBox"/>
    282                     </li>
    283                 </xsl:if>
    284                
    285                 <!-- Highlight on/off button -->
    286                 <xsl:if test="util:contains(/page/pageRequest/paramList/param[@name = 'p.s']/@value, 'Query') and not(metadataList/metadata[@name='NoText']) and not(/page/pageResponse/format[@type='display']/gsf:option[@name='disableSearchTermHighlighting']/@value='true')">
    287                     <li>
    288                         <xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.highlightTooltip')"/></xsl:attribute>
    289                         <img onclick="swapHighlight(true);">
    290                             <xsl:attribute name="src"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'highlight_image')"/></xsl:attribute>
    291                         </img>
    292                         <input id="highlightOption" type="checkbox" class="optionCheckBox" onclick="swapHighlight(false);">
    293                             <xsl:if test="not(/page/pageRequest/paramList/param[@name = 'hl']/@value = 'off')">
    294                                 <xsl:attribute name="checked">checked</xsl:attribute>
    295                             </xsl:if>
    296                         </input>
    297                     </li>
    298                 </xsl:if><xsl:text> </xsl:text>
    299                
    300                 <!-- Zoom on/off button -->
    301       <xsl:if test="not(/page/pageResponse/format[@type='display']/gsf:option[@name='disableZoom']) or /page/pageResponse/format[@type='display']/gsf:option[@name='disableZoom']/@value='false'">
    302 
    303                 <li id="zoomOptions" style="display:none;">
    304                     <xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.zoomTooltip')"/></xsl:attribute>
    305                     <img id="zoomToggleImage">
    306                         <xsl:attribute name="src"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'zoom_image')"/></xsl:attribute>
    307                     </img>
    308                     <input id="zoomToggle" type="checkbox"/>
    309                     <script type="text/javascript">
    310                         <xsl:text disable-output-escaping="yes">
    311                             $("#zoomToggle").change(function()
    312                             {
    313                                 _imageZoomEnabled = $("#zoomToggle").prop("checked");
    314                             });
    315                            
    316                             $("#zoomToggleImage").click(function()
    317                             {
    318                                 $("#zoomToggle").prop("checked", !$("#zoomToggle").prop("checked"));
    319                                 _imageZoomEnabled = $("#zoomToggle").prop("checked");
    320                             });
    321                         </xsl:text>
    322                     </script>
    323                 </li>
    324       </xsl:if>
    325                 <!-- Floating TOC on/off button -->
    326                 <xsl:if test="count(//documentNode) > 0 and (not(/page/pageResponse/format[@type='display']/gsf:option[@name='TOC']) or /page/pageResponse/format[@type='display']/gsf:option[@name='TOC']/@value='true')">
    327                     <li id="floatingTOCOptions">
    328                         <xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.floatingTooltip')"/></xsl:attribute>
    329                         <img id="floatTOCToggleImage">
    330                             <xsl:attribute name="src"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'float_toc_image')"/></xsl:attribute>
    331                         </img>
    332                         <input id="floatTOCToggle" type="checkbox"/>
    333                         <script type="text/javascript">
    334                             <xsl:text disable-output-escaping="yes">
    335                                 $("#floatTOCToggle").prop("checked", false);
    336                                 $("#floatTOCToggle").click(function()
    337                                 {
    338                                     floatMenu($("#floatTOCToggle").prop("checked"));
    339                                 });
    340                                
    341                                 $("#floatTOCToggleImage").click(function()
    342                                 {
    343                                     $("#floatTOCToggle").prop("checked", !$("#floatTOCToggle").prop("checked"))
    344                                     floatMenu($("#floatTOCToggle").prop("checked"));
    345                                 });
    346                             </xsl:text>
    347                         </script>
    348                     </li>
    349                     <xsl:if test="/page/pageRequest/paramList/param[@name='ftoc']/@value = '1'">
    350                         <script type="text/javascript">
    351                             <xsl:text disable-output-escaping="yes">
    352                                 $(window).load(function()
    353                                 {
    354                                     $("#floatTOCToggle").prop("checked", true);
    355                                     floatMenu(true);
    356                                 });
    357                             </xsl:text>
    358                         </script>
    359                     </xsl:if>
    360                 </xsl:if>
    361             </ul>
    362             <div style="clear:both;"><xsl:text> </xsl:text></div>
    363         </div>
    364     </xsl:template>
     3    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     4    xmlns:java="http://xml.apache.org/xslt/java"
     5    xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
     6    xmlns:gslib="http://www.greenstone.org/skinning"
     7    xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"
     8    extension-element-prefixes="java util"
     9    exclude-result-prefixes="java util gsf">
     10
     11    <xsl:template name="rightSidebarTOC">
     12        <div id="rightSidebar">
     13            <xsl:choose>
     14                <xsl:when test="@docType = 'simple'">
     15                    <xsl:for-each select=".">
     16                        <xsl:call-template name="displayCoverImage"/>
     17                    </xsl:for-each>
     18                    <xsl:call-template name="viewOptions"/>
     19                    <!--<xsl:text>  </xsl:text>-->
     20                </xsl:when>
     21                <xsl:otherwise>
     22                    <xsl:for-each select="documentNode[1]">
     23                        <xsl:call-template name="displayCoverImage"/>
     24                    </xsl:for-each>
     25                    <xsl:call-template name="viewOptions"/>
     26                    <xsl:call-template name="displayTOC"/>
     27                </xsl:otherwise>
     28            </xsl:choose>
     29        </div>
     30    </xsl:template>
     31
     32    <!-- this is called in the context of the top level node with the metadataList. For a simple doc, this is the document node. For a comples document, this is the first documentNode hcild of the document node. -->
     33    <xsl:template name="displayCoverImage">
     34        <xsl:variable name="hasCover">
     35            <gsf:metadata name="hascover"/>
     36        </xsl:variable>
     37        <xsl:if test="$hasCover = '1' and (not(/page/pageResponse/format[@type='display']/gsf:option[@name='coverImage']) or /page/pageResponse/format[@type='display']/gsf:option[@name='coverImage']/@value='true')">
     38            <!-- the book's cover image -->
     39            <div id="coverImage">
     40                <img>
     41                    <xsl:attribute name="src">
     42                        <xsl:value-of select="$httpPath"/>/index/assoc/<gsf:metadata name="assocfilepath" pos="1"/>/cover.jpg
     43                    </xsl:attribute>
     44                </img>
     45                <xsl:text> </xsl:text>
     46            </div>
     47        </xsl:if>
     48    </xsl:template>
     49
     50    <xsl:template name="displayTOC">
     51        <xsl:if test="not(/page/pageResponse/format[@type='display']/gsf:option[@name='TOC']) or /page/pageResponse/format[@type='display']/gsf:option[@name='TOC']/@value='true'">
     52            <div class="tableOfContentsContainer ui-state-default">
     53                <table class="tocTable ui-widget-content">
     54                    <tr>
     55                        <td id="unfloatTOCButton" style="display:none;">
     56                            <a href="javascript:floatMenu(false);">
     57                                <img class="icon" style="padding-top:3px;">
     58                                    <xsl:attribute name="src">
     59                                        <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'left_arrow_image')"/>
     60                                    </xsl:attribute>
     61                                </img>
     62                            </a>
     63                        </td>
     64                        <td style="vertical-align:top; text-align:right;">
     65                            <a id="sidebarMinimizeButton" href="javascript:minimizeSidebar();" style="float: right; font-size:0.6em;">
     66                                <img class="icon" style="padding-top:3px;">
     67                                    <xsl:attribute name="src">
     68                                        <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'collapse_image')"/>
     69                                    </xsl:attribute>
     70                                </img>
     71                            </a>
     72                            <a id="sidebarMaximizeButton" href="javascript:maximizeSidebar();" style="float: right; font-size:0.6em; display:none;">
     73                                <img class="icon" style="padding-top:3px;">
     74                                    <xsl:attribute name="src">
     75                                        <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'expand_image')"/>
     76                                    </xsl:attribute>
     77                                </img>
     78                            </a>
     79                        </td>
     80                    </tr>
     81                    <tr>
     82                        <td id="tdContentsArea">
     83                            <div id="contentsArea">
     84                                <!-- showing gotoFavourites display-area takes priority over berryBaskets -->
     85                                <xsl:choose>
     86                                    <xsl:when test="/page/pageResponse/interfaceOptions/option[@name = 'favouriteBasket']/@value = 'true'">
     87                                        <!-- show the goto favourites if it's turned on -->
     88                                        <xsl:call-template name="gotoFavourites"/>
     89                                    </xsl:when>
     90                                    <xsl:otherwise>
     91                                        <!-- show the berry basket if it's turned on -->
     92                                        <xsl:call-template name="berryBasket"/>
     93                                    </xsl:otherwise>
     94                                </xsl:choose>
     95
     96                                <!-- add in expand and contract document links -->
     97                                <xsl:call-template name="expandContractDocumentLinks"/>
     98                                <!-- dynamically get the contents (if enabled) -->
     99                                <xsl:choose>
     100                                    <xsl:when test="/page/pageResponse/document/@docType = 'paged' or /page/pageResponse/document/@docType = 'pagedhierarchy'">
     101                                        <gsf:image type="Thumb"/>
     102                                        <!-- Table of contents will be dynamically retrieved when viewing a paged document -->
     103                                        <script type="text/javascript">
     104                                            <xsl:text disable-output-escaping="yes">
     105                                                $(window).on("load", function()
     106                                                {
     107                                                    retrieveTableOfContentsAndTitles();
     108                                                    <!--setUpFilterButtons();-->
     109                                                });
     110                                            </xsl:text>
     111                                        </script>
     112
     113                                        <div id="tableOfContents">
     114                                            <xsl:text> </xsl:text>
     115                                        </div>
     116
     117                                        <div id="tocLoadingImage" style="text-align:center;">
     118                                            <img src="{util:getInterfaceText($interface_name, /page/@lang, 'loading_image')}"/>
     119                                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.loading')"/>
     120                                            <xsl:text>...</xsl:text>
     121                                        </div>
     122
     123                                        <label for="filterText">
     124                                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.filter_pages')"/>
     125                                            <xsl:text>: </xsl:text>
     126                                        </label>
     127                                        <span id="filterOnButtons" style="float: right;">...</span>
     128                                        <input id="filterText" type="text" style="width: 100%;" />
     129
     130                                        <!-- <xsl:if test="/page/pageRequest/userInformation and /page/pageRequest/userInformation/@editEnabled = 'true'"> -->
     131                                        <xsl:if test="/page/pageRequest/userInformation and /page/pageRequest/userInformation/@editEnabled = 'true' and /page/pageRequest/paramList/param[@name='docEdit']/@value = '1'  and (util:contains(/page/pageRequest/userInformation/@groups, 'administrator') or util:contains(/page/pageRequest/userInformation/@groups, 'all-collections-editor') or util:contains(/page/pageRequest/userInformation/@groups, $thisCollectionEditor))">
     132                                            <a href="javascript:extractFilteredPagesToOwnDocument();">
     133                                                <button id="extractDocButton">
     134                                                    <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'de.extract_pages')"/>
     135                                                </button>
     136                                            </a>
     137                                        </xsl:if>
     138                                    </xsl:when>
     139                                    <xsl:when test="not(/page/pageRequest/paramList/param[@name = 'ed']/@value = '1' or /page/pageRequest/paramList/param[@name = 'ec']/@value = '1')">
     140                                        <div id="tableOfContents">
     141                                            <div id="tocLoadingImage" style="text-align:center;">
     142                                                <img src="{util:getInterfaceText($interface_name, /page/@lang, 'loading_image')}"/>
     143                                                <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.loading')"/>
     144                                                <xsl:text>...</xsl:text>
     145                                            </div>
     146                                        </div>
     147                                        <script type="text/javascript">
     148                                            <xsl:text disable-output-escaping="yes">
     149                                                $(window).on("load", function()
     150                                                {
     151                                                    retrieveFullTableOfContents();
     152                                                });
     153                                            </xsl:text>
     154                                        </script>
     155                                    </xsl:when>
     156                                    <xsl:otherwise>
     157
     158                                        <div id="tableOfContents">
     159                                            <!-- if ed=1 or ec=1 then we have the complete section hierarchy in the page xml source, so we don't need an ajax call to get the table of contents, we just generate it from the list of nodes -->
     160                                            <xsl:attribute name="class"> <!-- do we ever need this ?? -->
     161                                                <xsl:choose>
     162                                                    <xsl:when test="count(//documentNode) > 1">visible</xsl:when>
     163                                                    <xsl:otherwise>hidden</xsl:otherwise>
     164                                                </xsl:choose>
     165                                            </xsl:attribute>
     166
     167                                            <xsl:for-each select="documentNode">
     168                                                <xsl:call-template name="documentNodeTOC"/>
     169                                            </xsl:for-each>
     170                                        </div>
     171                                    </xsl:otherwise>
     172                                </xsl:choose>
     173                            </div>
     174                        </td>
     175                    </tr>
     176                </table>
     177            </div>
     178        </xsl:if>
     179    </xsl:template>
     180
     181    <!-- This template is used to display the table of contents -->
     182    <xsl:template name="documentNodeTOC">
     183        <table>
     184            <tr>
     185                <!-- The expand/collapse button (not displayed for the top level node) -->
     186                <xsl:if test="util:hashToDepthClass(@nodeID) != 'sectionHeaderDepthTitle'">
     187                    <td>
     188                        <xsl:choose>
     189                            <xsl:when test="documentNode">
     190                                <img id="ttoggle{@nodeID}" onclick="toggleSection('{@nodeID}');" class="icon">
     191                                    <xsl:attribute name="src">
     192                                        <xsl:choose>
     193                                            <xsl:when test="/page/pageRequest/paramList/param[@name = 'ed']/@value = '1' or /page/pageResponse/document/@selectedNode = @nodeID">
     194                                                <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'collapse_image')"/>
     195                                            </xsl:when>
     196                                            <xsl:otherwise>
     197                                                <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'expand_image')"/>
     198                                            </xsl:otherwise>
     199                                        </xsl:choose>
     200                                    </xsl:attribute>
     201                                </img>
     202                            </xsl:when>
     203                            <xsl:otherwise>
     204                                <xsl:attribute name="class">emptyIcon</xsl:attribute>
     205
     206                                <!--
     207                                    Prevent the <td> element being self-closed, which would be invalid according to the HTML spec.
     208                                    This is also an identified issue in jQuery > 3.5.0
     209                                -->
     210                                <xsl:text> </xsl:text>
     211                            </xsl:otherwise>
     212                        </xsl:choose>
     213                    </td>
     214                </xsl:if>
     215
     216                <!-- The chapter/page icon -->
     217                <td>
     218                    <img>
     219                        <xsl:if test="not(documentNode)">
     220                            <xsl:attribute name="class">leafNode</xsl:attribute>
     221                        </xsl:if>
     222
     223                        <xsl:attribute name="src">
     224                            <xsl:choose>
     225                                <xsl:when test="not(documentNode)">
     226                                    <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'page_image')"/>
     227                                </xsl:when>
     228                                <xsl:otherwise>
     229                                    <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'chapter_image')"/>
     230                                </xsl:otherwise>
     231                            </xsl:choose>
     232                        </xsl:attribute>
     233                    </img>
     234                </td>
     235
     236                <!-- The section name, links to the section in the document -->
     237                <td class="tocTextCell">
     238                    <a id="toclink{@nodeID}" href="javascript:focusSection('{@nodeID}');">
     239                        <xsl:if test="util:hashToSectionId(@nodeID)">
     240                            <span class="tocSectionNumber">
     241                                <xsl:value-of select="util:hashToSectionId(@nodeID)"/><!--<xsl:text> </xsl:text>-->
     242                            </span>
     243                        </xsl:if>
     244                        <span class="tocSectionTitle">
     245                            <xsl:call-template name="sectionHeading"/>
     246                        </span>
     247                    </a>
     248                </td>
     249            </tr>
     250        </table>
     251
     252        <!-- display any child items -->
     253        <xsl:if test="documentNode">
     254            <div id="toc{@nodeID}">
     255                <xsl:attribute name="style">
     256                    <xsl:choose>
     257                        <xsl:when test="/page/pageRequest/paramList/param[@name = 'ed']/@value = '1' or /page/pageResponse/document/@selectedNode = @nodeID">
     258                            <xsl:text>display:block;</xsl:text>
     259                        </xsl:when>
     260                        <xsl:otherwise>
     261                            <xsl:text>display:none;</xsl:text>
     262                        </xsl:otherwise>
     263                    </xsl:choose>
     264                </xsl:attribute>
     265                <xsl:for-each select="documentNode">
     266                    <xsl:call-template name="documentNodeTOC"/>
     267                </xsl:for-each>
     268            </div>
     269        </xsl:if>
     270    </xsl:template>
     271
     272    <xsl:template name="viewOptions">
     273        <div id="viewAndZoomOptions" class="ui-state-default ui-corner-all">
     274            <ul id="viewOptions">
     275                <!-- Paged-image document options -->
     276                <xsl:if test="count(//documentNode/metadataList/metadata[@name = 'Screen']) > 0 or /page/pageResponse/document/@docType = 'paged' or /page/pageResponse/document/@docType = 'pagedhierarchy'">
     277                    <!-- view selection option -->
     278                    <xsl:if test="not(/page/pageResponse/format[@type='display']/gsf:option[@name='viewSelection']) or /page/pageResponse/format[@type='display']/gsf:option[@name='viewSelection']/@value='true'">
     279                        <li id="pagedImageOptions">
     280                            <select id="viewSelection" onchange="changeView();">
     281                                <xsl:choose>
     282                                    <xsl:when test="/page/pageRequest/paramList/param[@name = 'view']/@value = 'image'">
     283                                        <option>
     284                                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.default_view')"/>
     285                                        </option>
     286                                        <option selected="true">
     287                                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.image_view')"/>
     288                                        </option>
     289                                        <option>
     290                                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.text_view')"/>
     291                                        </option>
     292                                    </xsl:when>
     293                                    <xsl:when test="/page/pageRequest/paramList/param[@name = 'view']/@value = 'text'">
     294                                        <option>
     295                                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.default_view')"/>
     296                                        </option>
     297                                        <option>
     298                                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.image_view')"/>
     299                                        </option>
     300                                        <option selected="true">
     301                                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.text_view')"/>
     302                                        </option>
     303                                    </xsl:when>
     304                                    <xsl:otherwise>
     305                                        <option selected="true">
     306                                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.default_view')"/>
     307                                        </option>
     308                                        <option>
     309                                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.image_view')"/>
     310                                        </option>
     311                                        <option>
     312                                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.text_view')"/>
     313                                        </option>
     314                                    </xsl:otherwise>
     315                                </xsl:choose>
     316                            </select>
     317                        </li>
     318                    </xsl:if>
     319
     320                    <!-- Slide-show options -->
     321                    <xsl:if test="not(/page/pageResponse/format[@type='display']/gsf:option[@name='slideShow']) or /page/pageResponse/format[@type='display']/gsf:option[@name='slideShow']/@value='true'">
     322                        <li id="slideShowOptions">
     323                            <xsl:attribute name="title">
     324                                <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.slideshowTooltip')"/>
     325                            </xsl:attribute>
     326                            <img onclick="showSlideShow()">
     327                                <xsl:attribute name="src">
     328                                    <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'slideshow_image')"/>
     329                                </xsl:attribute>
     330                            </img>
     331                        </li>
     332                    </xsl:if>
     333                </xsl:if>
     334                <!-- Realistic books link -->
     335                <xsl:if test="/page/pageResponse/collection[@name = $collName]/metadataList/metadata[@name = 'tidyoption'] = 'tidy'">
     336                    <li>
     337                        <xsl:attribute name="title">
     338                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.realisticBooksTooltip')"/>
     339                        </xsl:attribute>
     340                        <img id="rbOptionImage" onclick="bookInit();">
     341                            <xsl:attribute name="src">
     342                                <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'realistic_books_image')"/>
     343                            </xsl:attribute>
     344                        </img>
     345                        <input id="rbOption" type="checkbox" onclick="bookInit();" class="optionCheckBox"/>
     346                    </li>
     347                </xsl:if>
     348
     349                <!-- Highlight on/off button -->
     350                <xsl:if test="util:contains(/page/pageRequest/paramList/param[@name = 'p.s']/@value, 'Query') and not(metadataList/metadata[@name='NoText']) and not(/page/pageResponse/format[@type='display']/gsf:option[@name='disableSearchTermHighlighting']/@value='true')">
     351                    <li>
     352                        <xsl:attribute name="title">
     353                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.highlightTooltip')"/>
     354                        </xsl:attribute>
     355                        <img onclick="swapHighlight(true);">
     356                            <xsl:attribute name="src">
     357                                <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'highlight_image')"/>
     358                            </xsl:attribute>
     359                        </img>
     360                        <input id="highlightOption" type="checkbox" class="optionCheckBox" onclick="swapHighlight(false);">
     361                            <xsl:if test="not(/page/pageRequest/paramList/param[@name = 'hl']/@value = 'off')">
     362                                <xsl:attribute name="checked">checked</xsl:attribute>
     363                            </xsl:if>
     364                        </input>
     365                    </li>
     366                </xsl:if>
     367                <xsl:text> </xsl:text>
     368
     369                <!-- Zoom on/off button -->
     370                <xsl:if test="not(/page/pageResponse/format[@type='display']/gsf:option[@name='disableZoom']) or /page/pageResponse/format[@type='display']/gsf:option[@name='disableZoom']/@value='false'">
     371                    <li id="zoomOptions" style="display:none;">
     372                        <xsl:attribute name="title">
     373                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.zoomTooltip')"/>
     374                        </xsl:attribute>
     375                        <img id="zoomToggleImage">
     376                            <xsl:attribute name="src">
     377                                <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'zoom_image')"/>
     378                            </xsl:attribute>
     379                        </img>
     380                        <input id="zoomToggle" type="checkbox"/>
     381                        <script type="text/javascript">
     382                            <xsl:text disable-output-escaping="yes">
     383                                $("#zoomToggle").change(function()
     384                                {
     385                                    _imageZoomEnabled = $("#zoomToggle").prop("checked");
     386                                });
     387                               
     388                                $("#zoomToggleImage").on("click", function()
     389                                {
     390                                    $("#zoomToggle").prop("checked", !$("#zoomToggle").prop("checked"));
     391                                    _imageZoomEnabled = $("#zoomToggle").prop("checked");
     392                                });
     393                            </xsl:text>
     394                        </script>
     395                    </li>
     396                </xsl:if>
     397
     398                <!-- Floating TOC on/off button -->
     399                <xsl:if test="count(//documentNode) > 0 and (not(/page/pageResponse/format[@type='display']/gsf:option[@name='TOC']) or /page/pageResponse/format[@type='display']/gsf:option[@name='TOC']/@value='true')">
     400                    <li id="floatingTOCOptions">
     401                        <xsl:attribute name="title">
     402                            <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'doc.floatingTooltip')"/>
     403                        </xsl:attribute>
     404                        <img id="floatTOCToggleImage">
     405                            <xsl:attribute name="src">
     406                                <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'float_toc_image')"/>
     407                            </xsl:attribute>
     408                        </img>
     409                        <input id="floatTOCToggle" type="checkbox"/>
     410                        <script type="text/javascript">
     411                            <xsl:text disable-output-escaping="yes">
     412                                $("#floatTOCToggle").prop("checked", false);
     413                                $("#floatTOCToggle").on("click", function()
     414                                {
     415                                    floatMenu($("#floatTOCToggle").prop("checked"));
     416                                });
     417                               
     418                                $("#floatTOCToggleImage").on("click", function()
     419                                {
     420                                    $("#floatTOCToggle").prop("checked", !$("#floatTOCToggle").prop("checked"))
     421                                    floatMenu($("#floatTOCToggle").prop("checked"));
     422                                });
     423                            </xsl:text>
     424                        </script>
     425                    </li>
     426                    <xsl:if test="/page/pageRequest/paramList/param[@name='ftoc']/@value = '1'">
     427                        <script type="text/javascript">
     428                            <xsl:text disable-output-escaping="yes">
     429                                $(window).on("load", function()
     430                                {
     431                                    $("#floatTOCToggle").prop("checked", true);
     432                                    floatMenu(true);
     433                                });
     434                            </xsl:text>
     435                        </script>
     436                    </xsl:if>
     437                </xsl:if>
     438            </ul>
     439            <div style="clear:both;">
     440                <xsl:text> </xsl:text>
     441            </div>
     442        </div>
     443    </xsl:template>
    365444</xsl:stylesheet>
  • main/trunk/greenstone3/web/interfaces/default_wip/transform/pages/authen.xsl

    r35821 r35822  
    120120                                                var </xsl:text><xsl:value-of select="$message-pos"/><xsl:text disable-output-escaping="yes"> = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.delete_warning')"/><xsl:text disable-output-escaping="yes">" + </xsl:text><xsl:value-of select="$user-pos"/><xsl:text disable-output-escaping="yes"> + "?";
    121121                                                var button = $("#delUser" + </xsl:text><xsl:value-of select="$user-pos"/><xsl:text disable-output-escaping="yes">);
    122                                                 button.click(function()
     122                                                button.on("click", function()
    123123                                                {
    124124                                                    if(confirm(</xsl:text><xsl:value-of select="$message-pos"/><xsl:text disable-output-escaping="yes">))
     
    472472        <script type="text/javascript">
    473473          <xsl:text disable-output-escaping="yes">
    474             $("#submitButton").click(function()
     474            $("#submitButton").on("click", function()
    475475            {
    476476              var passwordOne = $("#passwordOne");
  • main/trunk/greenstone3/web/interfaces/default_wip/transform/pages/classifier.xsl

    r35821 r35822  
    3131      <xsl:text></xsl:text>
    3232    </script>
    33     <script type="text/javascript">$(window).load(openStoredClassifiers);</script>
     33    <script type="text/javascript">$(window).on("load", openStoredClassifiers);</script>
    3434
    3535    <!--
  • main/trunk/greenstone3/web/interfaces/default_wip/transform/pages/document.xsl

    r35821 r35822  
    366366                <xsl:text disable-output-escaping="yes">
    367367
    368                     $(window).load(function()
     368                    $(window).on("load", function()
    369369                    {
    370370                        if(gs.cgiParams.docEdit == "1")
     
    518518                <script type="text/javascript">
    519519                    <xsl:text disable-output-escaping="yes">
    520                         $(window).load(function()
     520                        $(window).on("load", function()
    521521                        {
    522522                            var sectionID = gs.cgiParams.d;
     
    554554                <script type="text/javascript">
    555555                    <xsl:text disable-output-escaping="yes">
    556                         $(window).load(function()
     556                        $(window).on("load", function()
    557557                        {
    558558                            loadTopLevelPage(function()
  • main/trunk/greenstone3/web/interfaces/default_wip/transform/pages/pref.xsl

    r35821 r35822  
    106106           
    107107            YAHOO.util.Event.addListener(window, 'load', pageLoad);
    108             $(window).bind("beforeunload", unsavedChanges);
     108            $(window).on("beforeunload", unsavedChanges);
    109109        </xsl:text></script>
    110110    </xsl:template>
  • main/trunk/greenstone3/web/interfaces/default_wip/transform/pages/verify.xsl

    r35821 r35822  
    7272            type: 'POST',
    7373            data: $('#verifyform').serialize(),
    74             success: function(){
     74            done: function(){
    7575            window.location.href='</xsl:text><xsl:value-of select="$URL"/><xsl:text disable-output-escaping="yes">';
    7676            }
Note: See TracChangeset for help on using the changeset viewer.