[IMP] developer: add section on debug mode (js)
closes odoo/documentation#1250 Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
This commit is contained in:
parent
ce96d6c584
commit
f564487e56
@ -99,21 +99,24 @@ As an Owl application, the Odoo web client defines its own environment (componen
|
|||||||
can access it using ``this.env``). Here is a description of what Odoo adds to
|
can access it using ``this.env``). Here is a description of what Odoo adds to
|
||||||
the shared ``env`` object:
|
the shared ``env`` object:
|
||||||
|
|
||||||
+--------------+-------------------------------------------------------------------------------+
|
.. list-table::
|
||||||
| Key | Value |
|
:widths: 30 70
|
||||||
+==============+===============================================================================+
|
:header-rows: 1
|
||||||
| ``qweb`` | required by Owl (contains all templates) |
|
|
||||||
+--------------+-------------------------------------------------------------------------------+
|
* - Key
|
||||||
| ``bus`` | :ref:`main bus <javascript/bus>`, used to coordinate some generic events |
|
- Value
|
||||||
+--------------+-------------------------------------------------------------------------------+
|
* - `qweb`
|
||||||
| ``services`` | all deployed services (should usually be accessed with the `useService` hook) |
|
- required by Owl (contains all templates)
|
||||||
+--------------+-------------------------------------------------------------------------------+
|
* - `bus`
|
||||||
| ``debug`` | boolean. If true, the web client is in ``debug`` mode |
|
- :ref:`main bus <javascript/bus>`, used to coordinate some generic events
|
||||||
+--------------+-------------------------------------------------------------------------------+
|
* - `services`
|
||||||
| ``_t`` | translation function |
|
- all deployed services (should usually be accessed with the `useService` hook)
|
||||||
+--------------+-------------------------------------------------------------------------------+
|
* - `debug`
|
||||||
| ``isSmall`` | boolean. If true, the web client is currently in mobile mode |
|
- string. If non empty, the web client is in :ref:`debug mode<javascript/debug_mode>`
|
||||||
+--------------+-------------------------------------------------------------------------------+
|
* - `_t`
|
||||||
|
- translation function
|
||||||
|
* - `isSmall`
|
||||||
|
- boolean. If true, the web client is currently in mobile mode
|
||||||
|
|
||||||
|
|
||||||
So, for example, to translate a string in a component (note: templates are
|
So, for example, to translate a string in a component (note: templates are
|
||||||
@ -383,5 +386,77 @@ It is mostly interesting for testing purposes: all code using the browser object
|
|||||||
can be tested easily by mocking the relevant functions for the duration of the
|
can be tested easily by mocking the relevant functions for the duration of the
|
||||||
test.
|
test.
|
||||||
|
|
||||||
|
.. _javascript/debug_mode:
|
||||||
|
|
||||||
|
Debug mode
|
||||||
|
==========
|
||||||
|
|
||||||
|
Odoo can sometimes operate in a special mode called the `debug` mode. It is used
|
||||||
|
for two main purposes:
|
||||||
|
|
||||||
|
- display additional information/fields for some particular screens,
|
||||||
|
- provide some additional tools to help developer debug the Odoo interface.
|
||||||
|
|
||||||
|
The `debug` mode is described by a string. An empty string means that the `debug`
|
||||||
|
mode is not active. Otherwise, it is active. If the string contains `assets` or
|
||||||
|
`tests`, then the corresponding specific sub modes are activated (see below). Both
|
||||||
|
modes can be active at the same time, for example with the string `assets,tests`.
|
||||||
|
|
||||||
|
The `debug` mode current value can be read in the :ref:`environment<javascript/environment>`:
|
||||||
|
`env.debug`.
|
||||||
|
|
||||||
|
.. tip::
|
||||||
|
|
||||||
|
To show menus, fields or view elements only in debug mode, you should target
|
||||||
|
the group `base.group_no_one`:
|
||||||
|
|
||||||
|
.. code-block:: xml
|
||||||
|
|
||||||
|
<field name="fname" groups="base.group_no_one"/>
|
||||||
|
|
||||||
|
Toggling debug mode
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
The most common way to activate the debug mode is to edit the url: just add
|
||||||
|
`?debug=1` or `?debug=assets` before the `#` sign, then reload the page. This
|
||||||
|
will cause the server to mark the session as being in debug mode.
|
||||||
|
|
||||||
|
To deactivate the debug mode, one can then simply add `?debug=0` to explicitely
|
||||||
|
notify the server that we no longer want it.
|
||||||
|
|
||||||
|
An alternative way to toggle the debug mode is to use the command palette. First
|
||||||
|
step is to open it (ctrl+k), then type `debug`: a command will show up to
|
||||||
|
activate the debug mode.
|
||||||
|
|
||||||
|
Debug menu
|
||||||
|
----------
|
||||||
|
|
||||||
|
Once the debug mode is activated, an additional sub menu, called the `debug menu`,
|
||||||
|
is available in the systray (in the top bar), or in the title bar of some
|
||||||
|
dialogs. This menu contains additional tools that are useful to understand
|
||||||
|
or edit technical data, such as the views or the actions. It contains
|
||||||
|
some useful menu items such as:
|
||||||
|
|
||||||
|
- edit action
|
||||||
|
- manage filters
|
||||||
|
- edit the current view
|
||||||
|
- see the `fields view get`
|
||||||
|
- and much more.
|
||||||
|
|
||||||
|
Assets mode
|
||||||
|
-----------
|
||||||
|
|
||||||
|
The `debug=assets` sub mode is useful to debug javascript code: once activated,
|
||||||
|
the :ref:`assets<reference/assets>` bundles are no longer minified, and source-maps
|
||||||
|
are generated as well. This makes it useful to debug all kind of javascript code.
|
||||||
|
|
||||||
|
Tests mode
|
||||||
|
----------
|
||||||
|
|
||||||
|
There is a specific sub mode named `tests`: if enabled, the server injects the
|
||||||
|
bundle `web.assets_tests` in the page. This bundle contains mostly test tours
|
||||||
|
(tours whose purpose is to test a feature, not to show something interesting to
|
||||||
|
users). The `tests` mode is then useful to be able to run these tours.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- `Owl Repository <https://github.com/odoo/owl>`_
|
- `Owl Repository <https://github.com/odoo/owl>`_
|
Loading…
Reference in New Issue
Block a user