Difference: TWikiFormDotPm (3 vs. 4)

Revision 42007-01-16 - TWikiContributor

 

Package =TWiki::Form

Object representing a single form definition.

Changed:
<
<

ClassMethod new ($session,$web,$form)

>
>

ClassMethod new ($session,$web,$form,$def)

 
  • $web - default web to recover form from, if $form doesn't specify a web
  • $form - topic name to read form definition from
Added:
>
>
  • $def - optional. a reference to a list of field definitions. if present, these definitions will be used, rather than those in $form.
  May throw TWiki::OopsException

ObjectMethod renderForEdit ($web,$topic,$meta) -> $html

Added:
>
>
 
  • $web the web of the topic being rendered
  • $topic the topic being rendered
  • $meta the meta data for the form

Render the form fields for entry during an edit session, using data values from $meta

ObjectMethod *renderFieldForEdit ($fieldDef,$web,$topic,$value) -> $html

Added:
>
>
 
  • $fieldDef the field being rendered
  • $web the web of the topic being rendered
  • $topic the topic being rendered
  • $value the current value of the field

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 types

SMELL: this should be a method on a field class

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:
>
>
 
  • $query - the query
  • $metaObject - the meta object that is storing the form values

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:
<
<
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:
>
>
 
  • $name - name of a form field (value of the name attribute)
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:
>
>
 
  • $name - name of a form field (value of the name attribute)
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:
>
>
 
  • $templates ref to templates singleton
  • $meta - meta object containing the form to be rendered
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?

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.TWikiFormDotPm.