Changeset 27153

Show
Ignore:
Timestamp:
03.04.2013 16:50:16 (7 years ago)
Author:
sjm84
Message:

Some usability changes as well as a few bug fixes

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

Legend:

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

    r27130 r27153  
    1414    var _itemSelected = false; //Used to prevent multiple elements from being highlighted 
    1515    var _editModeText = false; 
     16    var _fromSelection = false; 
    1617    var _selectedTemplate; 
     18    var _selectedInfoContainers = new Array(); 
    1719 
    1820    //Page elements 
     
    2729    var _editor; 
    2830    var _editingDiv; 
    29     var _selectNewElementButton; 
     31    var _enableSelectorButton; 
    3032    var _closeEditorButton; 
    3133    var _xmlStatusBar; 
     
    98100    { 
    99101        //Used to enable the selector to get the templates of a particular area of the page 
    100         var enableSelectorButton = $("<button>Enable selector</button>"); 
    101         enableSelectorButton.click(function() 
    102         { 
    103             if(!_debugOn) 
    104             { 
    105                 enableSelectorButton.button("option", "label", "Disable selector"); 
    106                 $("a").click(function(e) 
    107                 { 
    108                     e.preventDefault(); 
    109                 }); 
    110                 _debugOn = true; 
    111             } 
    112             else 
    113             { 
    114                 enableSelectorButton.button("option", "label", "Enable selector"); 
    115                 $("a").off("click"); 
    116                 clearAll(); 
    117                 _selectNewElementButton.button("option", "disabled", true); 
    118                 _pauseSelector = false; 
    119                 _debugOn = false; 
    120             } 
    121         }); 
    122         _styleFunctions.push(function(){enableSelectorButton.button({icons:{primary:"ui-icon-power"}})}); 
    123  
    124         //Used to change what is currently selected 
    125         _selectNewElementButton = $("<button>Select new element</button>"); 
    126         _selectNewElementButton.click(function() 
    127         { 
    128             if(_pauseSelector) 
    129             { 
    130                 _pauseSelector = false; 
    131                 _selectNewElementButton.button("option", "disabled", true); 
    132             } 
    133         }); 
    134         _styleFunctions.push(function(){_selectNewElementButton.button({icons:{primary:"ui-icon-pencil"}, disabled:true})}); 
     102        _enableSelectorButton = $("<button>Select an element</button>"); 
     103        _enableSelectorButton.click(function() 
     104        { 
     105            _enableSelectorButton.button("option", "label", "Select new element"); 
     106            $("a").click(function(e) 
     107            { 
     108                e.preventDefault(); 
     109            }); 
     110            _debugOn = true; 
     111            _pauseSelector = false; 
     112            _enableSelectorButton.button("option", "disabled", true); 
     113        }); 
     114        _styleFunctions.push(function(){_enableSelectorButton.button({icons:{primary:"ui-icon-power"}})}); 
    135115 
    136116        //Used to minimise/restore the editor 
     
    172152                try 
    173153                { 
    174                     var xml = $.parseXML('<testContainer xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:java="http://xml.apache.org/xslt/java" xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil" xmlns:gslib="http://www.greenstone.org/skinning" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat">' + xmlString + "</testContainer>"); 
     154                    var xml = $.parseXML('<testContainer xmlns:xslt="http://www.w3.org/1999/XSL/Transform" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:java="http://xml.apache.org/xslt/java" xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil" xmlns:gslib="http://www.greenstone.org/skinning" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat">' + xmlString + "</testContainer>"); 
    175155                } 
    176156                catch(error) 
     
    276256        _styleFunctions.push(function(){undoButton.button({icons:{primary:"ui-icon-arrowreturnthick-1-w"}})}); 
    277257 
    278         buttonDiv.append(enableSelectorButton); 
    279         buttonDiv.append(_selectNewElementButton); 
     258        buttonDiv.append(_enableSelectorButton); 
    280259        buttonDiv.append(_closeEditorButton); 
    281260        buttonDiv.append(_saveButton); 
     
    368347            _fileSelector.append("<span>Files: </span>"); 
    369348            _fileSelector.append(selectBox); 
     349             
     350            var currentSelectionOption = $("<option>[Current selection]</option>"); 
     351            currentSelectionOption.val("currentSelection"); 
     352            selectBox.append(currentSelectionOption); 
     353             
    370354            for(var i = 0; i < list.length; i++) 
    371355            { 
     
    380364                var selectedItem = selectBox.find(":selected"); 
    381365 
     366                if(selectedItem.val() == "currentSelection") 
     367                { 
     368                    _templateSelector.children("select").empty(); 
     369                    for(var i = 0; i < _selectedInfoContainers.length; i++) 
     370                    { 
     371                        var currentContainer = _selectedInfoContainers[i]; 
     372                        _templateSelector.children("select").append(currentContainer); 
     373                    } 
     374                    _templateSelector.children("select").children().first().trigger("change"); 
     375                    return; 
     376                } 
     377                 
    382378                if(!selectedItem.data("fileItem")) 
    383379                { 
     
    394390                    var templateList = eval(templateListString); 
    395391 
    396                     clearAll(); 
    397  
    398392                    _templateSelector.children("select").empty(); 
    399393                    if(templateList.length == 0) 
    400394                    { 
    401395                        _templateSelector.children("select").append("<option>-- No templates --</option>"); 
    402                     } 
    403                     else 
    404                     { 
    405                         _templateSelector.children("select").append("<option>-- Select a template --</option>"); 
    406396                    } 
    407397 
     
    441431                        _templateSelector.children("select").append(infoContainer); 
    442432                    } 
     433 
     434                    _templateSelector.children("select").trigger("change"); 
    443435                }); 
    444436            }); 
     
    617609    var addMouseEventsToDebugElements = function(debugElems) 
    618610    { 
    619         debugElems.click(function() 
     611        debugElems.click(function(e) 
    620612        { 
    621613            if(_debugOn) 
    622614            { 
     615                $("a").off("click"); 
     616                _debugOn = false; 
    623617                _pauseSelector = true; 
    624                 _selectNewElementButton.button("option", "disabled", false); 
     618                _enableSelectorButton.button("option", "disabled", false); 
     619                _templateSelector.children("select").trigger("change"); 
     620                _fileSelector.children("select").val("currentSelection"); 
     621                e.stopPropagation(); 
    625622            } 
    626623        }); 
     
    709706                        infoContainer.text(match); 
    710707                    } 
     708                     
     709                    _selectedInfoContainers.push(infoContainer.clone(true)); 
    711710 
    712711                    _templateSelector.children("select").append(infoContainer); 
     
    727726                clearAll(); 
    728727                _templateSelector.children("select").empty(); 
    729                 _templateSelector.children("select").append("<option>-- Select a template --</option>"); 
     728                _selectedInfoContainers = new Array(); 
    730729            } 
    731730        }); 
  • main/trunk/greenstone3/web/interfaces/default/js/visual-xml-editor.js

    r27130 r27153  
    271271            endIndex = response.search("</templateList>"); 
    272272 
     273            if(startIndex == "<templateList>".length - 1) 
     274            { 
     275                console.log("Error retrieving GSLIB templates"); 
     276                return; 
     277            } 
     278 
    273279            var listString = response.substring(startIndex, endIndex); 
    274280            var list = eval(listString.replace(/&quot;/g, "\"")); 
     
    578584        try 
    579585        { 
    580             _xml = $.parseXML('<testContainer xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:java="http://xml.apache.org/xslt/java" xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil" xmlns:gslib="http://www.greenstone.org/skinning" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat">' + xmlString + "</testContainer>"); 
     586            _xml = $.parseXML('<testContainer xmlns:xslt="http://www.w3.org/1999/XSL/Transform" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:java="http://xml.apache.org/xslt/java" xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil" xmlns:gslib="http://www.greenstone.org/skinning" xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat">' + xmlString + "</testContainer>"); 
    581587            constructDivsRecursive(_editorDiv, _xml.firstChild); 
    582588        }