diff options
| author | Rob Hudson | 2008-09-16 22:55:43 -0700 |
|---|---|---|
| committer | Rob Hudson | 2008-09-16 22:55:43 -0700 |
| commit | 816889b61cdd8bd1380009cfc755f9f655406e5c (patch) | |
| tree | c3bc4bad6c86db8135488b7c98b0ee768227b8a5 | |
| parent | 455aacf49b03e9d4c5edd8e3843999cfafada563 (diff) | |
| download | django-debug-toolbar-816889b61cdd8bd1380009cfc755f9f655406e5c.tar.bz2 | |
We now have a jQuery.djDebug object to extend. This might be overkill but it
fixes a few issues with open/closing panels and adds a keybinding on the ESC
key to close any panels that are open.
| -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(); }); |
