Custom Forms: Difference between revisions
(Created page with 'Provide a means to design forms from the web interface. * Define a form class with: **the class that it extends (Defaults to I2CE_Form) **the fields it contains: ***what is the ...') |
No edit summary |
||
Line 1: | Line 1: | ||
Provide a means to design forms from the web interface. | Provide a means to design forms from the [[Swiwss Magic Data Editor|web interface]]. | ||
==Form Classes Swiss Magic Data Editor== | |||
Define and edit the form Classes available in the system. | |||
===I2CE_Swiss_FormClasses=== | |||
This is the root swiss node for the form classes interface and will be associated (via the I2CE_Page_SwissMagic) to the /modules/forms/formClasses magic data node. | |||
* | Functionality: | ||
**the class that it extends (Defaults to I2CE_Form) | *lists all the available form classes | ||
** These are keys of the sub magic data nodes of /modules/forms/formClasses and can be determeined as getStorage()->getKeys() | |||
*allow the creation of a new form class by specifying: | |||
**the class name | |||
**the class that it extends (Defaults to I2CE_Form). should be a drop down list of the available classess | |||
All of this children have type I2CE_Swiss_FormClass | |||
===I2CE_Swiss_FormClass=== | |||
This is the the swiss node associated to each of the subclasses of I2CE_Form | |||
If has the following functionality: | |||
*links to the [[#I2Ce_Swiss_FormClass_Fields|fields]] menu | |||
The child 'fields' has type [[#I2CE_Swiss_FormClass_Fields|FormClass_Fields]] | |||
===I2CE_Swiss_FormClasss_Fields=== | |||
Container swiss node to hold all of the fields. | |||
Functionality: | |||
*lists all the fields in this class | |||
*allow you to add a new field to this class by specifying | |||
**a short name for the field | |||
**the subclass of I2CE_FormField which implements this field | |||
**A default header (this will be passed to the I2CE_Swiss_FormClass_Field_Headers) | |||
Each child of this node has type FormClass_Field | |||
===I2CE_Swiss_FormClass_Field== | |||
This is the swiss node responsible for defining the field in a form class. | |||
Corresponds to the magic data node /modules/forms/formClasses/$class/fields/$field. | |||
Functionality: | |||
*links to the field headers menu | |||
*if the field | |||
===I2CE_Swiss_FormClass_Field_Headers=== | |||
Specifies the headers for a form field. | |||
Corresponds to the magic data node /modules/forms/formClasses/$class/fields/$field/headers. | |||
Functionality: | |||
*specify the 'default' header. | |||
*specify any other named headers. | |||
**the fields it contains: | **the fields it contains: | ||
===I2CE_Swiss_FormClass_Field== | |||
==DO NOT READ THIS SECTION== | |||
***if a mapped field, what are the forms it can take values in | ***if a mapped field, what are the forms it can take values in | ||
***if a mapped field, what is the (default) displayed fields for tiered lists (e.g. county, district, region country) this should be done in a nice drop-down interface to choose the form/linked field. | ***if a mapped field, what is the (default) displayed fields for tiered lists (e.g. county, district, region country) this should be done in a nice drop-down interface to choose the form/linked field. |
Revision as of 13:12, 4 September 2009
Provide a means to design forms from the web interface.
Form Classes Swiss Magic Data Editor
Define and edit the form Classes available in the system.
I2CE_Swiss_FormClasses
This is the root swiss node for the form classes interface and will be associated (via the I2CE_Page_SwissMagic) to the /modules/forms/formClasses magic data node.
Functionality:
- lists all the available form classes
- These are keys of the sub magic data nodes of /modules/forms/formClasses and can be determeined as getStorage()->getKeys()
- allow the creation of a new form class by specifying:
- the class name
- the class that it extends (Defaults to I2CE_Form). should be a drop down list of the available classess
All of this children have type I2CE_Swiss_FormClass
I2CE_Swiss_FormClass
This is the the swiss node associated to each of the subclasses of I2CE_Form If has the following functionality:
- links to the fields menu
The child 'fields' has type FormClass_Fields
I2CE_Swiss_FormClasss_Fields
Container swiss node to hold all of the fields. Functionality:
- lists all the fields in this class
- allow you to add a new field to this class by specifying
- a short name for the field
- the subclass of I2CE_FormField which implements this field
- A default header (this will be passed to the I2CE_Swiss_FormClass_Field_Headers)
Each child of this node has type FormClass_Field
=I2CE_Swiss_FormClass_Field
This is the swiss node responsible for defining the field in a form class. Corresponds to the magic data node /modules/forms/formClasses/$class/fields/$field. Functionality:
- links to the field headers menu
- if the field
I2CE_Swiss_FormClass_Field_Headers
Specifies the headers for a form field. Corresponds to the magic data node /modules/forms/formClasses/$class/fields/$field/headers. Functionality:
- specify the 'default' header.
- specify any other named headers.
- the fields it contains:
=I2CE_Swiss_FormClass_Field
DO NOT READ THIS SECTION
- if a mapped field, what are the forms it can take values in
- if a mapped field, what is the (default) displayed fields for tiered lists (e.g. county, district, region country) this should be done in a nice drop-down interface to choose the form/linked field.
- if if it is a list form, what are the primary and secondary display fields:
- need to move the code for defining primary/secondary display fields out of the class constants and into magic data and adjust the hooked method into the class autoloader to allow for constants or move the display fields
- Define a form
- choose the form class
- choose a short name
- give a description
- set the data storage mechanism