aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Hudson2008-09-16 22:55:43 -0700
committerRob Hudson2008-09-16 22:55:43 -0700
commit816889b61cdd8bd1380009cfc755f9f655406e5c (patch)
treec3bc4bad6c86db8135488b7c98b0ee768227b8a5
parent455aacf49b03e9d4c5edd8e3843999cfafada563 (diff)
downloaddjango-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.js57
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();
});