doc/book/en/development/devweb/form.rst
brancholdstable
changeset 5422 0865e1e90674
parent 4985 02b52bf9f5f8
parent 5421 8167de96c523
child 5424 8ecbcbff9777
equal deleted inserted replaced
4985:02b52bf9f5f8 5422:0865e1e90674
     1 Form construction
       
     2 ------------------
       
     3 
       
     4 CubicWeb provides usual form/field/widget/renderer abstraction to
       
     5 provde some generic building blocks which will greatly help you in
       
     6 building forms properly integrated with CubicWeb (coherent display,
       
     7 error handling, etc...).
       
     8 
       
     9 A form basically only holds a set of fields, and has te be bound to a
       
    10 renderer which is responsible to layout them. Each field is bound to a
       
    11 widget that will be used to fill in value(s) for that field (at form
       
    12 generation time) and 'decode' (fetch and give a proper Python type to)
       
    13 values sent back by the browser.
       
    14 
       
    15 The Field class and basic fields
       
    16 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       
    17 
       
    18 .. autoclass:: cubicweb.web.formfields.Field
       
    19 
       
    20 Existing field types are:
       
    21 
       
    22 .. autoclass:: cubicweb.web.formfields.StringField
       
    23 .. autoclass:: cubicweb.web.formfields.PasswordField
       
    24 .. autoclass:: cubicweb.web.formfields.RichTextField
       
    25 .. autoclass:: cubicweb.web.formfields.FileField
       
    26 .. autoclass:: cubicweb.web.formfields.EditableFileField
       
    27 .. autoclass:: cubicweb.web.formfields.IntField
       
    28 .. autoclass:: cubicweb.web.formfields.BooleanField
       
    29 .. autoclass:: cubicweb.web.formfields.FloatField
       
    30 .. autoclass:: cubicweb.web.formfields.DateField
       
    31 .. autoclass:: cubicweb.web.formfields.DateTimeField
       
    32 .. autoclass:: cubicweb.web.formfields.TimeField
       
    33 .. autoclass:: cubicweb.web.formfields.RelationField
       
    34 .. autoclass:: cubicweb.web.formfields.CompoundField
       
    35 
       
    36 
       
    37 Widgets
       
    38 ~~~~~~~
       
    39 Base class for widget is :class:cubicweb.web.formwidgets.FieldWidget class.
       
    40 
       
    41 Existing widget types are:
       
    42 
       
    43 .. autoclass:: cubicweb.web.formwidgets.HiddenInput
       
    44 .. autoclass:: cubicweb.web.formwidgets.TextInput
       
    45 .. autoclass:: cubicweb.web.formwidgets.PasswordInput
       
    46 .. autoclass:: cubicweb.web.formwidgets.PasswordSingleInput
       
    47 .. autoclass:: cubicweb.web.formwidgets.FileInput
       
    48 .. autoclass:: cubicweb.web.formwidgets.ButtonInput
       
    49 .. autoclass:: cubicweb.web.formwidgets.TextArea
       
    50 .. autoclass:: cubicweb.web.formwidgets.FCKEditor
       
    51 .. autoclass:: cubicweb.web.formwidgets.Select
       
    52 .. autoclass:: cubicweb.web.formwidgets.CheckBox
       
    53 .. autoclass:: cubicweb.web.formwidgets.Radio
       
    54 .. autoclass:: cubicweb.web.formwidgets.DateTimePicker
       
    55 .. autoclass:: cubicweb.web.formwidgets.JQueryDateTimePicker
       
    56 .. autoclass:: cubicweb.web.formwidgets.JQueryDatePicker
       
    57 .. autoclass:: cubicweb.web.formwidgets.JQueryTimePicker
       
    58 .. autoclass:: cubicweb.web.formwidgets.AjaxWidget
       
    59 .. autoclass:: cubicweb.web.formwidgets.AutoCompletionWidget
       
    60 .. autoclass:: cubicweb.web.formwidgets.EditableURLWidget
       
    61 
       
    62 Other classes in this module, which are not proper widget (they are not associated to
       
    63 field) but are used as form controls, may also be useful: Button, SubmitButton,
       
    64 ResetButton, ImgButton,
       
    65 
       
    66 
       
    67 Of course you can not use any widget with any field...
       
    68 
       
    69 Renderers
       
    70 ~~~~~~~~~
       
    71 
       
    72 .. autoclass:: cubicweb.web.views.formrenderers.BaseFormRenderer
       
    73 .. autoclass:: cubicweb.web.views.formrenderers.HTableFormRenderer
       
    74 .. autoclass:: cubicweb.web.views.formrenderers.EntityCompositeFormRenderer
       
    75 .. autoclass:: cubicweb.web.views.formrenderers.EntityFormRenderer
       
    76 .. autoclass:: cubicweb.web.views.formrenderers.EntityInlinedFormRenderer
       
    77