aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortschilling2014-07-15 21:30:25 -0400
committertschilling2014-07-15 21:30:25 -0400
commitb80c9221b48784692a7f454ca173c4a267c9f4c0 (patch)
tree2f247da3aee1256c94ec7c4ed1020549819bb7c6
parentfbbbc1d49e5a8e8f50fb111b26ec481436c3a215 (diff)
downloaddjango-debug-toolbar-b80c9221b48784692a7f454ca173c4a267c9f4c0.tar.bz2
Making a basic javascript API for the toolbar.
-rw-r--r--debug_toolbar/static/debug_toolbar/js/toolbar.js10
-rw-r--r--docs/panels.rst49
2 files changed, 55 insertions, 4 deletions
diff --git a/debug_toolbar/static/debug_toolbar/js/toolbar.js b/debug_toolbar/static/debug_toolbar/js/toolbar.js
index 2a6df02..9f8523c 100644
--- a/debug_toolbar/static/debug_toolbar/js/toolbar.js
+++ b/debug_toolbar/static/debug_toolbar/js/toolbar.js
@@ -1,4 +1,4 @@
-(function ($) {
+(function ($, publicAPI) {
var djdt = {
handleDragged: false,
events: {
@@ -280,5 +280,11 @@
}
}
};
+ $.extend(publicAPI, {
+ show_toolbar: djdt.show_toolbar,
+ hide_toolbar: djdt.hide_toolbar,
+ close: djdt.close,
+ cookie: djdt.cookie
+ });
$(document).ready(djdt.init);
-})(djdt.jQuery);
+})(djdt.jQuery, djdt);
diff --git a/docs/panels.rst b/docs/panels.rst
index 8941ed2..c639644 100644
--- a/docs/panels.rst
+++ b/docs/panels.rst
@@ -240,8 +240,7 @@ according to the public API described below. Unless noted otherwise, all
methods are optional.
Panels can ship their own templates, static files and views. They're no public
-CSS or JavaScript API at this time, but they can assume jQuery is available in
-``djdt.jQuery``.
+CSS API at this time.
.. autoclass:: debug_toolbar.panels.Panel(*args, **kwargs)
@@ -272,3 +271,49 @@ CSS or JavaScript API at this time, but they can assume jQuery is available in
.. automethod:: debug_toolbar.panels.Panel.process_view
.. automethod:: debug_toolbar.panels.Panel.process_response
+
+JavaScript API
+~~~~~~~~~~~~~~
+
+Panel templates should include any JavaScript files they need. There are a few
+common methods available, as well as the toolbar's version of jQuery.
+
+
+.. js:function:: djdt.close
+
+ Triggers the event to close any active panels.
+
+.. js:function:: djdt.cookie.get
+
+ This is a helper function to fetch values stored in the cookies.
+
+ :param string key: The key for the value to be fetched.
+
+.. js:function:: djdt.cookie.set
+
+ This is the toolbar's version of jQuery.
+
+ :param string key: The key to be used.
+
+ :param string value: The value to be set.
+
+ :param Object options: The key for the value to be fetched. It should contain
+ the properties ``expires`` and ``path``.
+
+.. js:function:: djdt.hide_toolbar
+
+ Closes any panels and hides the toolbar.
+
+ :param boolean setCookie: Whether or not it should set the display cookie for
+ the toolbar.
+
+.. js:function:: djdt.jQuery
+
+ This is the toolbar's version of jQuery.
+
+.. js:function:: djdt.show_toolbar
+
+ Shows the toolbar.
+
+ :param boolean animate: Whether or not it should use an animation when calling
+ ``show`` on the toolbar.