Classes de widgets
==================


.. class:: Input(name, libelle, default, js, inline, _id, disabled, required, _type)

    :param name: name de l'input (clé du dico utilisé à la validation)               ( obligatoire )
    :param libelle: libellé                                                          ( facultatif )
    :param default_value: valeur par défaut                                         ( facultatif )
    :param js: script javascript éxécuté au changement de focus et à la validation   ( facultatif )
    :param inline: libelle et input en ligne                                         ( facultatif )
    :param _id: si on veut un id sur le select (inutil si on a un onblur)            ( facultatif )
    :param disabled: si on veut empecher l'edition                                   ( facultatif )
    :param required: entrée obligatoire                                              ( facultatif )
    :param _type: ip/netmask/number/required (rajoute un test)                       ( facultatif )


    .. method:: default(valeur)

        :param valeur: valeur par défaut de l'input

    .. method:: js(js)

        :param js: code javascript à éxécuter (à la validation ou au changement de focus)

    .. method:: disable()

        désactive la balise (ajout d'une clé disabled)

.. class:: Checkbox(name, libelle='', value=None, checked=False, inline=False, disabled=False, onchange=None)

    :param name: name de la balise (clé du dico utilisé à la validation)               ( obligatoire )
    :param libelle: libellé                                                          ( facultatif )
    :param checked: checker par défaut  ( facultatif )
    :param inline: libelle et input en ligne( facultatif )
    :param disabled: si on veut empecher l'edition                                   ( facultatif )
    :param onchange: javascript à éxécuter au changement de statut ( facultatif )

    .. method:: check()

        check la balise par défaut

    .. method:: js(js)

        javascript à éxécuter au onchange (écrase la valeur)

.. class:: Radio(name, libelle='', value=None, checked=False, inline=False, disabled=False, onchange=None)

    :param name: name de la balise (clé du dico utilisé à la validation)               ( obligatoire )
    :param libelle: libellé                                                          ( facultatif )
    :param checked: checker par défaut  ( facultatif )
    :param inline: libelle et input en ligne( facultatif )
    :param disabled: si on veut empecher l'edition                                   ( facultatif )
    :param onchange: javascript à éxécuter au changement de statut ( facultatif )

    .. method:: check()

        check la balise par défaut

    .. method:: js(js)

        :param js:javascript à éxécuter au onchange (écrase la valeur)

.. class:: Select(name, libelle=None, _id=None, onchange=None, inline=False, disabled=False, multi=False, size=None)

    :param name: id de la balise
    :param options: liste de groupe d"option de type : {"name":nom du groupe, "options":[{"name":id, "libelle": pour affichage, "default":si c"est la val par defaut}...]}
    :param multi: si oui on a des selections multiples
    :param onchange: fonction js pour si on change
    :param libelle: si on en veut un
    :param inline: en ligne si remplit
    :param id: si on veut un id sur le select (inutil si on a un onchange)
    :param size: si on veut definir lattribut size
    :param disabled: si on veut empecher l' edition

     .. method:: add_option(value, libelle='', default=None, group=None)

        rajoute une option à la balise select
        :param value: attribut value (clé du dico utilisé à la validation)
        :param libelle: libellé
        :param default: choisit par défaut ?
        :param group: utilisez les optiongroup des balises select

    .. method:: default(value, group="")

        met à défaut une option déjà ajoutée
        :param value: attribut value de l'option
        :param group: optiongroup de l'option

