Changeset 27008


Ignore:
Timestamp:
2013-03-05T15:10:10+13:00 (11 years ago)
Author:
sjm84
Message:

Now using nicer buttons and saving will now only reload the necessary parts of the page

File:
1 edited

Legend:

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

    r26966 r27008  
    3636    var _isVisualEditor = true;
    3737   
     38    var partialPageReload = function()
     39    {
     40        $.ajax(document.URL)
     41        .success(function(response)
     42        {
     43            //Get the body text from the response
     44            var bodyStartIndex = response.indexOf("<body");
     45            var bodyEndIndex = response.indexOf("</body>");
     46            var bodyText = response.substring(bodyStartIndex, bodyEndIndex + 7);
     47           
     48            //Get the current top area and container
     49            var topLevelTopArea = $("#topArea");
     50            var topLevelContainer = $("#container");
     51           
     52            //Create a temporary div and put the html into it
     53            var tempDiv = $("<div>");
     54            tempDiv.html(bodyText);
     55           
     56            //Replace the contents of the old elements with the new elements
     57            var topArea = tempDiv.find("#topArea");
     58            var container = tempDiv.find("#container");
     59            topLevelTopArea.html(topArea.html());
     60            topLevelContainer.html(container.html());
     61           
     62            //Update the events for the debug elements that currently don't have events associated with them
     63            var debugElems = $('debug, [debug="true"]').filter(function(){return (!($.data(this, "events"))) ? true : false});
     64            addMouseEventsToDebugElements(debugElems);
     65        })
     66        .error(function()
     67        {
     68            alert("There was an error reloading the page, please reload manually.");
     69        });
     70    }
     71   
    3872    var createDebugDiv = function()
    3973    {
     
    6397
    6498        var pickElementButton = $("<input type=\"button\" value=\"Enable debugging\">");
    65         pickElementButton.click(function()
     99        pickElementButton.button().click(function()
    66100        {
    67101            if(!_debugOn)
     
    80114                clearAll();
    81115                _unpauseButton.attr("disabled", "disabled");
     116                _unpauseButton.addClass("ui-state-disabled");
    82117                _pauseSelector = false;
    83118                _debugOn = false;
     
    85120        });
    86121
    87         _unpauseButton = $("<input type=\"button\" value=\"Select new element\" disabled=\"disabled\">");
    88         _unpauseButton.click(function()
     122        _unpauseButton = $("<input type=\"button\" value=\"Select new element\">");
     123        _unpauseButton.button().click(function()
    89124        {
    90125            if(_pauseSelector)
     
    92127                _pauseSelector = false;
    93128                $(this).attr("disabled", "disabled");
    94             }
    95         });
    96        
    97         _closeEditorButton = $("<input type=\"button\" value=\"Close editor\" disabled=\"disabled\">");
    98         _closeEditorButton.click(function()
     129                $(this).addClass("ui-state-disabled");
     130            }
     131        });
     132        _unpauseButton.attr("disabled", "disabled");
     133        _unpauseButton.addClass("ui-state-disabled");
     134       
     135        _closeEditorButton = $("<input type=\"button\" value=\"Close editor\">");
     136        _closeEditorButton.button().click(function()
    99137        {
    100138            if($(this).val() == "Close editor")
     
    109147            }
    110148        });
     149        _closeEditorButton.attr("disabled", "disabled");
     150        _closeEditorButton.addClass("ui-state-disabled");
    111151       
    112152        _xmlStatusBar = $("<span>");
    113153        _xmlStatusBar.css("padding", "5px");
     154        _xmlStatusBar.addClass("ui-corner-all");
    114155       
    115156        //Check the XML for errors every 2 seconds
     
    127168                    console.log(error);
    128169                    _xmlStatusBar.text("XML ERROR! (Mouse over for details)");
    129                     _xmlStatusBar.css({"color":"white", "background":"red"});
     170                    _xmlStatusBar.addClass("ui-state-error");
     171                    _xmlStatusBar.removeClass("ui-state-active");
    130172                    _xmlStatusBar.attr("title", error);
    131173                    _saveButton.attr("disabled", "disabled");
     174                    _saveButton.addClass("ui-state-disabled");
    132175                    _swapEditorButton.attr("disabled", "disabled");
     176                    _swapEditorButton.addClass("ui-state-disabled");
    133177                    return;
    134178                }
    135179               
    136180                _xmlStatusBar.text("XML OK!");
    137                 _xmlStatusBar.css({"color":"white", "background": "green"});
     181                _xmlStatusBar.addClass("ui-state-active");
     182                _xmlStatusBar.removeClass("ui-state-error");
    138183                _xmlStatusBar.removeAttr("title");
    139184                if(_saveButton.val() == "Save changes")
    140185                {
    141186                    _saveButton.removeAttr("disabled");
     187                    _saveButton.removeClass("ui-state-disabled");
    142188                }
    143189                if(_swapEditorButton.val() == "Switch to Visual Editor")
    144190                {
    145191                    _swapEditorButton.removeAttr("disabled");
     192                    _swapEditorButton.removeClass("ui-state-disabled");
    146193                }
    147194            }
     
    149196        }, 2000);
    150197       
    151         _saveButton = $("<input type=\"button\" value=\"Save changes\" disabled=\"disabled\">");
    152         _saveButton.click(function()
     198        _saveButton = $("<input type=\"button\" value=\"Save changes\">");
     199        _saveButton.button().click(function()
    153200        {
    154201            if(_editor)
     
    183230                _saveButton.val("Saving...");
    184231                _saveButton.attr("disabled", "disabled");
     232                _saveButton.addClass("ui-state-default");
    185233
    186234                $.post(url, parameters)
     
    200248                        _saveButton.val("Save changes");
    201249                        _saveButton.removeAttr("disabled");
     250                        _saveButton.removeClass("ui-state-default");
     251                        partialPageReload();
    202252                    });
    203253                })
     
    208258            }
    209259        });
     260        _saveButton.attr("disabled", "disabled");
     261        _saveButton.addClass("ui-state-disabled");
    210262       
    211263        _swapEditorButton = $("<input type=\"button\" value=\"Switch to XML Editor\">");
    212         _swapEditorButton.click(function()
     264        _swapEditorButton.button().click(function()
    213265        {
    214266            if(_vEditor && _textEditor)
     
    250302       
    251303        undoButton = $("<input type=\"button\" value=\"Undo\">");
    252         undoButton.click(function()
     304        undoButton.button().click(function()
    253305        {
    254306            if(_isVisualEditor)
     
    269321        buttonDiv.append(_unpauseButton);
    270322        buttonDiv.append(_closeEditorButton);
    271         buttonDiv.append(_xmlStatusBar);
    272323        buttonDiv.append(_saveButton);
    273324        buttonDiv.append(_swapEditorButton);
    274325        buttonDiv.append(undoButton);
     326        buttonDiv.append(_xmlStatusBar);
    275327
    276328        _mainDiv.append(toolBarDiv);
     
    384436               
    385437                _closeEditorButton.removeAttr("disabled");
     438                _closeEditorButton.removeClass("ui-state-disabled");
    386439            })
    387440            .error(function()
     
    409462                _pauseSelector = true;
    410463                _unpauseButton.removeAttr("disabled");
     464                _unpauseButton.removeClass("ui-state-disabled");
    411465            }
    412466        });
     
    547601        createDebugDiv();
    548602        $("body").append(_mainDiv);
     603       
     604        $(".ui-button").css({"padding":"0.2em", "margin-right":"0.5em"});
    549605
    550606        addMouseEventsToDebugElements(debugElems);
Note: See TracChangeset for help on using the changeset viewer.