# -*- coding: utf-8 -*-
# © <YEAR(S)> <AUTHOR(S)>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
    "name": "Web widget boolean switch",
    "summary": "This module add widget to render boolean fields",
    "version": "7.0.1.0.0",
    "category": "web",
    "website": "https://odoo-community.org/",
    "author": "<pverkest@anybox>, Odoo Community Association (OCA)",
    "license": "AGPL-3",
    "application": False,
    "installable": True,
    "external_dependencies": {
        "python": [],
        "bin": [],
    },
    "depends": [
        "base",
        "web",
    ],
    "data": [
    ],
    "js": [
        'static/lib/bootstrap-switch/bootstrap-switch.js',
        'static/src/js/web_widget_boolean_switch.js',
    ],
    'test': [
        'static/test/web_widget_boolean_switch.js',
    ],
    "css": [
        'static/lib/bootstrap-switch/bootstrap-switch.css',
    ],
    'qweb': [
        'static/src/xml/web_widget_boolean_switch.xml',
    ],
    "demo": [
        'demo/res_users_view.xml',
    ],
    'description': """
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
   :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
   :alt: License: AGPL-3

=========================
Web widget boolean switch
=========================

This module add a widget ``boolean_switch`` to render boolean fields. One
of it's main features is to quick edit that field without enter in edit mode
from list view or form view.


Configuration
=============

In the view (test on tree view and form view), you can declare any boolean
field using this widget.

Example
-------

```
   <field name="active"
          widget="boolean_switch"
          attrs="{'readonly': [('login', '=', 'admin')]}"
          context="{'fake_parameter': 'foo'}"
          options="{'quick_edit': True, 'extra': {'onText': 'Yes',
                                                  'offText': 'No'}}"/>
```

Options
-------

quick_edit
~~~~~~~~~~

extra
~~~~~
``extra`` is used to set
`bootstrap-switch <http://www.bootstrap-switch.org/options.html>`_ options.

*Available options*:

   * **size**: The checkbox size - default: `null` - values: null, 'mini',
     'small', 'normal', 'large'
   * **animate**: Animate the switch - default: `true`
   * **indeterminate**: Indeterminate state - default: `false`
   * **inverse**: Inverse switch direction - default: `false`
   * **onColor**: Color of the left side of the switch - default: `"primary"` -
     values: 'primary', 'info', 'success', 'warning', 'danger', 'default'
   * **offColor**: Color of the right side of the switch - default: `default` -
     values: 'primary', 'info', 'success', 'warning', 'danger', 'default'
   * **onText**: Text of the left side of the switch - default: `"ON"`
   * **offText**: Text of the right side of the switch - default: `"OFF"`
   * **labelText**: Text of the center handle of the switch - default:
     `"&nbsp;"`,
   * **handleWidth**: Width of the left and right sides in pixels - default:
     `"auto"`,
   * **labelWidth**: Width of the center handle in pixels - default: `"auto"`
   * **baseClass**: Global class prefix - default: `"bootstrap-switch"`
   * **wrapperClass**: Container element class(es) - default: `"wrapper"`


.. warning::

    Those parameters are overwritten by this module or highly discouraged:

    * **radioAllOff**: Allow this radio button to be unchecked by the user -
      default: `false`
    * **state**: The checkbox state - default: `true`
    * **disabled**: Disable state - default: `false`
    * **readonly**: Readonly state - default: `false`
    * **onInit**: Callback function to execute on initialization - default:
      `function() {}`,
    * **onSwitchChange**: Callback function to execute on switch state change -
      default: `function() {}`

attrs
-----

This attribute is supported as expected!

context
-------

``context`` is sent to the ``write`` method of the field model in case of
special needs with the quick edition.


.. image:: https://odoo-community.org/website/image/ir.attachment/
           5784_f2813bd/datas
   :alt: Try me on Runbot
   :target: https://runbot.odoo-community.org/runbot/162/7.0

Known issues / Roadmap
======================

* Manage Null values
*

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and
welcomed feedback `here <https://github.com/OCA/web/issues/new?body=module:%20
web_widget_boolean_switch%0Aversion:%207.0%0A%0A**Steps%20to%20reproduce**%0A-
%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.


Credits
=======

Contributors
------------

* Pierre Verkest <pverkest@anybox.fr>

Maintainer
----------

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

To contribute to this module, please visit http://odoo-community.org.

    """,
}
