doc/book/en/development/devweb/form.rst
changeset 4443 83ff2bb898a5
parent 2172 cf8f9180e63e
child 4465 18fb359f5c7a
equal deleted inserted replaced
4442:7bc0e4ed4109 4443:83ff2bb898a5
     1 Form construction
     1 Form construction
     2 ------------------
     2 ------------------
       
     3 CubicWeb provides usual form/field/widget/renderer abstraction to provde
       
     4 some generic building blocks which will greatly help you in building forms
       
     5 properly integrated with |cubicweb| (coherent display, error handling, etc...)
     3 
     6 
     4 Forms
     7 A form basically only hold a set of fields, and is bound to a renderer that is
     5 ~~~~~
     8 responsible to layout them. Each field is bound to a widget that will be used
     6 XXX feed me
     9 to fill in value(s) for that field.
     7 :Vocabulary control on relations:
       
     8 
    10 
     9   * `vocabulary(rtype, x='subject', limit=None)`, called by the
    11 The Field class and basic fields
    10     editing views, it returns a list of couples (label, eid) of entities
    12 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    11     that could be related to the entity by the relation `rtype`
       
    12   * `subject_relation_vocabulary(rtype, limit=None)`, called internally
       
    13     by  `vocabulary` in the case of a subject relation
       
    14   * `object_relation_vocabulary(rtype, limit=None)`, called internally
       
    15     by  `vocabulary` in the case of an object relation
       
    16   * `relation_vocabulary(rtype, targettype, x, limit=None)`, called
       
    17     internally by `subject_relation_vocabulary` and `object_relation_vocabulary`
       
    18 
    13 
    19 Fields
    14 .. autoclass: cubicweb.web.formfields.Field
    20 ~~~~~~
    15 
    21 XXX feed me
    16 
       
    17 Existing field types are:
       
    18 
       
    19 .. autoclass: cubicweb.web.formfields.StringField
       
    20 .. autoclass: cubicweb.web.formfields.PasswordField
       
    21 .. autoclass: cubicweb.web.formfields.RichTextField
       
    22 .. autoclass: cubicweb.web.formfields.FileField
       
    23 .. autoclass: cubicweb.web.formfields.EditableFileField
       
    24 .. autoclass: cubicweb.web.formfields.IntField
       
    25 .. autoclass: cubicweb.web.formfields.BooleanField
       
    26 .. autoclass: cubicweb.web.formfields.FloatField
       
    27 .. autoclass: cubicweb.web.formfields.DateField
       
    28 .. autoclass: cubicweb.web.formfields.DateTimeField
       
    29 .. autoclass: cubicweb.web.formfields.TimeField
       
    30 .. autoclass: cubicweb.web.formfields.RelationField
       
    31 .. XXX still necessary?
       
    32 .. autoclass: cubicweb.web.formfields.CompoundField
       
    33 
    22 
    34 
    23 Widgets
    35 Widgets
    24 ~~~~~~~
    36 ~~~~~~~
    25 XXX feed me
    37 Base class for widget is :class:cubicweb.web.formwidgets.FieldWidget class.
       
    38 
       
    39 Existing widget types are:
       
    40 .. autoclass: cubicweb.web.formwidgets.HiddenInput
       
    41 .. autoclass: cubicweb.web.formwidgets.TextInput
       
    42 .. autoclass: cubicweb.web.formwidgets.PasswordInput
       
    43 .. autoclass: cubicweb.web.formwidgets.PasswordSingleInput
       
    44 .. autoclass: cubicweb.web.formwidgets.FileInput
       
    45 .. autoclass: cubicweb.web.formwidgets.ButtonInput
       
    46 .. autoclass: cubicweb.web.formwidgets.TextArea
       
    47 .. autoclass: cubicweb.web.formwidgets.FCKEditor
       
    48 .. autoclass: cubicweb.web.formwidgets.Select
       
    49 .. autoclass: cubicweb.web.formwidgets.CheckBox
       
    50 .. autoclass: cubicweb.web.formwidgets.Radio
       
    51 .. autoclass: cubicweb.web.formwidgets.DateTimePicker
       
    52 .. autoclass: cubicweb.web.formwidgets.JQueryDateTimePicker
       
    53 .. autoclass: cubicweb.web.formwidgets.JQueryDatePicker
       
    54 .. autoclass: cubicweb.web.formwidgets.JQueryTimePicker
       
    55 .. autoclass: cubicweb.web.formwidgets.AjaxWidget
       
    56 .. autoclass: cubicweb.web.formwidgets.AutoCompletionWidget
       
    57 .. autoclass: cubicweb.web.formwidgets.EditableURLWidget
       
    58 
       
    59 .. XXX StaticFileAutoCompletionWidget, RestrictedAutoCompletionWidget, AddComboBoxWidget, IntervalWidget, HorizontalLayoutWidget
       
    60 
       
    61 The following classes may also be useful: Button, SubmitButton, ResetButton,
       
    62 ImgButton, which are not proper widget (they are not associated to field) but are
       
    63 used are form controls.
       
    64 
       
    65 
       
    66 Of course you can not use any widget with any field...
    26 
    67 
    27 Renderers
    68 Renderers
    28 ~~~~~~~~~
    69 ~~~~~~~~~
    29 XXX feed me
    70 XXX feed me