diff options
Diffstat (limited to 'debug_toolbar')
| -rw-r--r-- | debug_toolbar/media/toolbar.js | 57 |
1 files changed, 41 insertions, 16 deletions
diff --git a/debug_toolbar/media/toolbar.js b/debug_toolbar/media/toolbar.js index 7e974d2..e4e1ab3 100644 --- a/debug_toolbar/media/toolbar.js +++ b/debug_toolbar/media/toolbar.js @@ -1,19 +1,44 @@ jQuery.noConflict(); +(function(jQuery) { + jQuery.djDebug = function(data, klass) { + jQuery.djDebug.init(); + } + jQuery.extend(jQuery.djDebug, { + init: function() { + var current = null; + jQuery('#djDebugPanelList li a').click(function() { + current = jQuery('#djDebug #' + this.className); + if (current.is(':visible')) { + jQuery(document).trigger('close.djDebug'); + } else { + jQuery('.panelContent').hide(); + current.show(); + jQuery.djDebug.open(); + } + return false; + }); + jQuery('#djDebug a.close').click(function() { + jQuery(document).trigger('close.djDebug'); + return false; + }); + }, + open: function() { + jQuery(document).bind('keydown.djDebug', function(e) { + if (e.keyCode == 27) { + jQuery.djDebug.close(); + } + }); + }, + close: function() { + jQuery(document).trigger('close.djDebug'); + return false; + } + }); + jQuery(document).bind('close.djDebug', function() { + jQuery(document).unbind('keydown.djDebug'); + jQuery('.panelContent').hide(); + }); +})(jQuery); jQuery(document).ready(function() { - var current = null; - jQuery('#djDebugPanelList li a').click(function() { - if (current) { - current.hide(); - current = null; - return false; - } - current = jQuery('#djDebug #' + this.className); - current.show(); - return false; - }); - jQuery('#djDebug a.close').click(function() { - if (current) { current.hide(); } - current = null; - return false; - }) + jQuery.djDebug(); }); |
