Package =TWiki::FormObject representing a single form definition. Form definitions are mainly used to control rendering of a form for editing, though there is some application login there that handles transferring values between edits and saves. A form definition consists of a TWiki::Form object, which has a list of field definitions. Each field definition is an object of a type derived from TWiki::Form::FieldDefinition. These objects are responsible for the actual syntax and semantics of the field type. Form definitions are parsed from TWiki tables, and the types are mapped by name to a class declared in TWiki::Form::* - for example, thetext type is mapped
to TWiki::Form::Text and the checkbox type to TWiki::Form::Checkbox .
The TWiki::Form::FieldDefinition class declares default behaviours for
types that accept a single value in their definitions. The
TWiki::Form::ListFieldDefinition extends this for types that have lists
of possible values.
On this page:
ClassMethod new ($session,$web,$form,$def)Looks up a form in the session object or, if it hasn't been read yet, reads it frm the form definition topic on disc.
| ||||||||
Added: | ||||||||
> > |
| |||||||
May throw TWiki::OopsException
ObjectMethod finish ()Break circular references.StaticMethod getListOfForms ($session,$web) -> @topicsReturn a list of TWiki Form Templates found in a web. The name of Form Template topics ends in Form, and topics must contain a table heading like this:
StaticMethod *fieldTitle2FieldName ($title) -> $nameChop out all except A-Za-z0-9_. from a field name to create a valid "name" for storing in meta-dataObjectMethod renderForEdit ($web,$topic,$meta) -> $html
ObjectMethod renderHidden ($meta) -> $htmlRender form fields found in the meta as hidden inputs, so they pass through edits untouched.ObjectMethod *getFieldValuesFromQuery ($query,$metaObject) -> ($seen,\@missing)Extract new values for form fields from a query.
ObjectMethod *isTextMergeable ($name) -> $boolean
ObjectMethod getField ($name) -> $fieldDefinition
TWiki::Form::FieldDefinition , or undef if the form does not
define the field.
ObjectMethod getFields () -> \@fieldsReturn a list containing references to field name/value pairs. Each entry in the list has a {name} field and a {value} field. It may have other fields as well, which caller should ignore. The returned list should be treated as read only (must not be written to). |
Package =TWiki::FormObject representing a single form definition. Form definitions are mainly used to control rendering of a form for editing, though there is some application login there that handles transferring values between edits and saves. A form definition consists of a TWiki::Form object, which has a list of field definitions. Each field definition is an object of a type derived from TWiki::Form::FieldDefinition. These objects are responsible for the actual syntax and semantics of the field type. Form definitions are parsed from TWiki tables, and the types are mapped by name to a class declared in TWiki::Form::* - for example, thetext type is mapped
to TWiki::Form::Text and the checkbox type to TWiki::Form::Checkbox .
The TWiki::Form::FieldDefinition class declares default behaviours for
types that accept a single value in their definitions. The
TWiki::Form::ListFieldDefinition extends this for types that have lists
of possible values.
On this page:
ClassMethod new ($session,$web,$form,$def)Looks up a form in the session object or, if it hasn't been read yet, reads it frm the form definition topic on disc.
ObjectMethod finish ()Break circular references. | ||||||||
Added: | ||||||||
> > | StaticMethod getListOfForms ($session,$web) -> @topicsReturn a list of TWiki Form Templates found in a web. The name of Form Template topics ends in Form, and topics must contain a table heading like this:
| |||||||
StaticMethod *fieldTitle2FieldName ($title) -> $nameChop out all except A-Za-z0-9_. from a field name to create a valid "name" for storing in meta-dataObjectMethod renderForEdit ($web,$topic,$meta) -> $html
ObjectMethod renderHidden ($meta) -> $htmlRender form fields found in the meta as hidden inputs, so they pass through edits untouched.ObjectMethod *getFieldValuesFromQuery ($query,$metaObject) -> ($seen,\@missing)Extract new values for form fields from a query.
ObjectMethod *isTextMergeable ($name) -> $boolean
ObjectMethod getField ($name) -> $fieldDefinition
TWiki::Form::FieldDefinition , or undef if the form does not
define the field.
ObjectMethod getFields () -> \@fieldsReturn a list containing references to field name/value pairs. Each entry in the list has a {name} field and a {value} field. It may have other fields as well, which caller should ignore. The returned list should be treated as read only (must not be written to). |
Package =TWiki::FormObject representing a single form definition. | ||||||||
Added: | ||||||||
> > | Form definitions are mainly used to control rendering of a form for editing, though there is some application login there that handles transferring values between edits and saves. | |||||||
Added: | ||||||||
> > | A form definition consists of a TWiki::Form object, which has a list
of field definitions. Each field definition is an object of a type
derived from TWiki::Form::FieldDefinition. These objects are responsible
for the actual syntax and semantics of the field type. Form definitions
are parsed from TWiki tables, and the types are mapped by name to a
class declared in TWiki::Form::* - for example, the text type is mapped
to TWiki::Form::Text and the checkbox type to TWiki::Form::Checkbox .
The TWiki::Form::FieldDefinition class declares default behaviours for
types that accept a single value in their definitions. The
TWiki::Form::ListFieldDefinition extends this for types that have lists
of possible values. | |||||||
On this page:
ClassMethod new ($session,$web,$form,$def) | ||||||||
Added: | ||||||||
> > | Looks up a form in the session object or, if it hasn't been read yet, reads it frm the form definition topic on disc. | |||||||
| ||||||||
Changed: | ||||||||
< < | ObjectMethod renderForEdit ($web,$topic,$meta) -> $html | |||||||
> > | ObjectMethod finish () | |||||||
Added: | ||||||||
> > | Break circular references. | |||||||
Deleted: | ||||||||
< < |
| |||||||
Deleted: | ||||||||
< < | Render the form fields for entry during an edit session, using data values from $meta | |||||||
Added: | ||||||||
> > | StaticMethod *fieldTitle2FieldName ($title) -> $nameChop out all except A-Za-z0-9_. from a field name to create a valid "name" for storing in meta-data | |||||||
Deleted: | ||||||||
< < | ObjectMethod *renderFieldForEdit ($fieldDef,$web,$topic,$value) -> $html | |||||||
Changed: | ||||||||
< < |
| |||||||
> > | ObjectMethod renderForEdit ($web,$topic,$meta) -> $html | |||||||
Added: | ||||||||
> > | ||||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Changed: | ||||||||
< < | Render a single form field for entry during an edit session, using data values from $meta. Plugins can provide a handler that extends the set of supported | |||||||
> > | Render the form fields for entry during an edit session, using data values from $meta | |||||||
Deleted: | ||||||||
< < | types | |||||||
Deleted: | ||||||||
< < | SMELL: this should be a method on a field class | |||||||
Deleted: | ||||||||
< < | ||||||||
ObjectMethod renderHidden ($meta) -> $htmlRender form fields found in the meta as hidden inputs, so they pass through edits untouched. | ||||||||
Deleted: | ||||||||
< < | ObjectMethod cgiName ($field) -> $stringGenerate the 'name' of the CGI parameter used to represent a field. | |||||||
ObjectMethod *getFieldValuesFromQuery ($query,$metaObject) -> ($seen,\@missing)Extract new values for form fields from a query.
| ||||||||
Changed: | ||||||||
< < | Returns the number of fields which had values provided by the query, and a references to an array of the names of mandatory fields that were | |||||||
> > | Returns the number of fields which had values provided by the query, and a references to an array of the names of mandatory fields that were | |||||||
missing from the query.
ObjectMethod *isTextMergeable ($name) -> $boolean
| ||||||||
Changed: | ||||||||
< < | ObjectMethod getField ($name) -> \%row | |||||||
> > | ObjectMethod getField ($name) -> $fieldDefinition | |||||||
| ||||||||
Changed: | ||||||||
< < | Returns the field, or undef if the form does not define the field. | |||||||
> > | Returns a TWiki::Form::FieldDefinition , or undef if the form does not | |||||||
Added: | ||||||||
> > | define the field. | |||||||
ObjectMethod getFields () -> \@fieldsReturn a list containing references to field name/value pairs. Each entry in the list has a {name} field and a {value} field. It may have other fields as well, which caller should ignore. The returned list should be treated as read only (must not be written to). | ||||||||
Deleted: | ||||||||
< < |
StaticMethod *renderForDisplay ($templates,$meta)
| |||||||
Package =TWiki::FormObject representing a single form definition.On this page:
| ||||||||
Changed: | ||||||||
< < | ClassMethod new ($session,$web,$form) | |||||||
> > | ClassMethod new ($session,$web,$form,$def) | |||||||
| ||||||||
Added: | ||||||||
> > |
| |||||||
May throw TWiki::OopsException
ObjectMethod renderForEdit ($web,$topic,$meta) -> $html | ||||||||
Added: | ||||||||
> > | ||||||||
ObjectMethod *renderFieldForEdit ($fieldDef,$web,$topic,$value) -> $html | ||||||||
Added: | ||||||||
> > | ||||||||
| ||||||||
Deleted: | ||||||||
< < | SMELL: JSCalendarContrib ought to provide a 'date' handler. | |||||||
ObjectMethod renderHidden ($meta) -> $html | ||||||||
Added: | ||||||||
> > | ||||||||
Render form fields found in the meta as hidden inputs, so they pass
through edits untouched.
ObjectMethod cgiName ($field) -> $string | ||||||||
Added: | ||||||||
> > | ||||||||
Generate the 'name' of the CGI parameter used to represent a field.
ObjectMethod *getFieldValuesFromQuery ($query,$metaObject) -> ($seen,\@missing) | ||||||||
Added: | ||||||||
> > | ||||||||
Extract new values for form fields from a query. | ||||||||
Added: | ||||||||
> > | ||||||||
| ||||||||
Changed: | ||||||||
< < | Returns the number of fields which had values provided by the query, and a references to an array of the names of mandatory fields that were missing from the query. | |||||||
> > | Returns the number of fields which had values provided by the query, | |||||||
Added: | ||||||||
> > | and a references to an array of the names of mandatory fields that were missing from the query. | |||||||
ObjectMethod *isTextMergeable ($name) -> $boolean | ||||||||
Added: | ||||||||
> > | ||||||||
| ||||||||
Added: | ||||||||
> > | ||||||||
Returns true if the type of the named field allows it to be text-merged.
If the form does not define the field, it is assumed to be mergeable.
ObjectMethod getField ($name) -> \%row | ||||||||
Added: | ||||||||
> > | ||||||||
| ||||||||
Added: | ||||||||
> > | ||||||||
Returns the field, or undef if the form does not define the field.
ObjectMethod getFields () -> \@fields | ||||||||
Added: | ||||||||
> > | ||||||||
Return a list containing references to field name/value pairs.
Each entry in the list has a {name} field and a {value} field. It may
have other fields as well, which caller should ignore. The
returned list should be treated as read only (must not be written to).
StaticMethod *renderForDisplay ($templates,$meta) | ||||||||
Added: | ||||||||
> > | ||||||||
| ||||||||
Added: | ||||||||
> > | ||||||||
Static because we want to be able to do this without a form definition. SMELL: Why? Is reading the form topic such a big burden? |
Package =TWiki::FormObject representing a single form definition.On this page:
ClassMethod new ($session,$web,$form)
| ||||||||
Changed: | ||||||||
< < | ObjectMethod renderForEdit ($web,$topic,$meta,$useDefaults) -> $html | |||||||
> > | ObjectMethod renderForEdit ($web,$topic,$meta) -> $html | |||||||
| ||||||||
Deleted: | ||||||||
< < |
| |||||||
Render the form fields for entry during an edit session, using data values
from $meta
ObjectMethod *renderFieldForEdit ($fieldDef,$web,$topic,$value) -> $html
| ||||||||
Changed: | ||||||||
< < | ObjectMethod renderHidden ($meta,$useDefaults) -> $html | |||||||
> > | ObjectMethod renderHidden ($meta) -> $html | |||||||
Deleted: | ||||||||
< < |
| |||||||
Render form fields found in the meta as hidden inputs, so they pass
through edits untouched.
ObjectMethod cgiName ($field) -> $stringGenerate the 'name' of the CGI parameter used to represent a field. | ||||||||
Changed: | ||||||||
< < | ObjectMethod *getFieldValuesFromQuery ($query,$metaObject,$initialiseMissing) -> ($seen,\@missing) | |||||||
> > | ObjectMethod *getFieldValuesFromQuery ($query,$metaObject) -> ($seen,\@missing) | |||||||
Extract new values for form fields from a query.
| ||||||||
Deleted: | ||||||||
< < |
| |||||||
For each field, if there is a value in the query, use it.
Otherwise if there is already entry for the field in the meta, keep it.
Returns the number of fields which had values provided by the query, and a references to an array of the names of mandatory fields that were missing from the query.
ObjectMethod *isTextMergeable ($name) -> $boolean
ObjectMethod getField ($name) -> \%row
| ||||||||
Added: | ||||||||
> > |
ObjectMethod getFields () -> \@fieldsReturn a list containing references to field name/value pairs. Each entry in the list has a {name} field and a {value} field. It may have other fields as well, which caller should ignore. The returned list should be treated as read only (must not be written to). | |||||||
StaticMethod *renderForDisplay ($templates,$meta)
|
Package =TWiki::FormObject representing a single form definition.On this page:
ClassMethod new ($session,$web,$form)
ObjectMethod renderForEdit ($web,$topic,$meta,$useDefaults) -> $html
ObjectMethod *renderFieldForEdit ($fieldDef,$web,$topic,$value) -> $html
ObjectMethod renderHidden ($meta,$useDefaults) -> $html
ObjectMethod cgiName ($field) -> $stringGenerate the 'name' of the CGI parameter used to represent a field. | ||||||||
Changed: | ||||||||
< < | ObjectMethod *getFieldValuesFromQuery ($query,$metaObject,$handleMandatory) -> $metaObject | |||||||
> > | ObjectMethod *getFieldValuesFromQuery ($query,$metaObject,$initialiseMissing) -> ($seen,\@missing) | |||||||
Extract new values for form fields from a query.
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
For each field, if there is a value in the query, use it. Otherwise if there is already entry for the field in the meta, keep it. | ||||||||
Changed: | ||||||||
< < | Otherwise, if $handleMandatory, initialise the field to '' and set it in the meta. | |||||||
> > | ||||||||
Added: | ||||||||
> > | Returns the number of fields which had values provided by the query, and a references to an array of the names of mandatory fields that were missing from the query. | |||||||
ObjectMethod *isTextMergeable ($name) -> $boolean
ObjectMethod getField ($name) -> \%row
StaticMethod *renderForDisplay ($templates,$meta)
|
Package =TWiki::FormObject representing a single form definition.On this page:
ClassMethod new ($session,$web,$form)
ObjectMethod renderForEdit ($web,$topic,$meta,$useDefaults) -> $html
ObjectMethod *renderFieldForEdit ($fieldDef,$web,$topic,$value) -> $html
ObjectMethod renderHidden ($meta,$useDefaults) -> $html
ObjectMethod cgiName ($field) -> $stringGenerate the 'name' of the CGI parameter used to represent a field.ObjectMethod *getFieldValuesFromQuery ($query,$metaObject,$handleMandatory) -> $metaObjectExtract new values for form fields from a query.
ObjectMethod *isTextMergeable ($name) -> $boolean
ObjectMethod getField ($name) -> \%row
StaticMethod *renderForDisplay ($templates,$meta)
|