diff options
| author | Aymeric Augustin | 2014-07-18 08:13:39 +0200 |
|---|---|---|
| committer | Aymeric Augustin | 2014-07-18 08:13:39 +0200 |
| commit | e49340d2e763b04d0fd1f1505394de835992a4d0 (patch) | |
| tree | 0d3b2521482140d117c9e7606b384e13c46ecd36 | |
| parent | fbbbc1d49e5a8e8f50fb111b26ec481436c3a215 (diff) | |
| parent | 4b960709e15455af09d5632f84b463dee268d8a8 (diff) | |
| download | django-debug-toolbar-e49340d2e763b04d0fd1f1505394de835992a4d0.tar.bz2 | |
Merge pull request #619 from tim-schilling/javascript-api-484
Add a JavaScript API. Fix #484.
| -rw-r--r-- | debug_toolbar/static/debug_toolbar/js/toolbar.js | 10 | ||||
| -rw-r--r-- | docs/panels.rst | 42 |
2 files changed, 48 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..de6f16a 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,42 @@ 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 a helper function to set a value stored in the cookies. + + :param string key: The key to be used. + + :param string value: The value to be set. + + :param Object options: The options for the value to be set. It should contain + the properties ``expires`` and ``path``. + +.. js:function:: djdt.hide_toolbar + + Closes any panels and hides the toolbar. + +.. js:function:: djdt.jQuery + + This is the toolbar's version of jQuery. + +.. js:function:: djdt.show_toolbar + + Shows the toolbar. |
