Changeset 27153


Ignore:
Timestamp:
2013-04-03T16:50:16+13:00 (11 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 edited

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