Changeset 27008

Show
Ignore:
Timestamp:
05.03.2013 15:10:10 (7 years ago)
Author:
sjm84
Message:

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

Files:
1 modified

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);