FormSettings

From GeoMedia Smart Client
Revision as of 12:10, 8 August 2013 by Sschuett (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

<br\> <br\>

The forms enable the user to inspect, create, or edit data. While the Workflow-XML mainly defines the logical structure of the HTML-Workflow, the Form-XML defines the user-interaction through the GUI-definition.

The validation of the user input is done on two sides. Validation of the user input in FormFields can be handled through client-side scripting (for example, JavaScript), which can be done for a certain FormField when focus is lost. But the user-input is also always validated at the server-side.

The definition of all forms occurs by using an XML-File, which should be stored at the following path:

  • Intergraph\GeoMedia SmartClient\Program\Workflows\FormSettings


Example:

  • MyNewProject.xml


Note: The file name and the Workflow-XML name must be identical.


Relation between the distinct hierarchical layers:

  • FormList: Root element of the Form-XML has to appear only once.
Parentelement Childelement Cardinality
FormList Include 0 .. n
Form 0 .. n
OfflineForm 0 .. n


  • Include: Container element for the inclusion of external Form-XML files.
  • Form: element used for the creation of a form.


Parentelement Childelement Cardinality
Form FormGeometry 0 .. 1
FormTab 1 .. n
FormFilter 0 .. n
FormAction 0 .. n


  • OfflineForm: element used for the creation of a offline form.
Parentelement Childelement Cardinality
OfflineForm FormGeometry 0 .. 1
FormTab 1 .. n
FormAction 0 .. n


  • FormFilter: Element used to specify the FormFilter for the List-Controller.
  • FormTab: Element used for the generation of a FormTabulator.


Parentelement Childelement Cardinality
FormTab
FormGroup 1 .. n
FormAction 0 .. n


  • FormGroup: Element used for the grouping of FormFields inside the form.
Parentelement Childelement Cardinality
FormGroup FormField 1 .. n
FormFile 0 .. n
FormSingleRow 0 .. n
FormTable 0 .. n
FormAction 0 .. n


  • FormSinglerow: Element used for the generation of several FormFields in one row.
Parentelement Childelement Cardinality
FormSingleRow FormField 1 .. n


  • FormField: Element used for the generation of FormFields.
  • FormTable: Element used for the generation of FormTables.
Parentelement Childelement Cardinality
FormTable FormAction 0 .. n
FormTableField 1 .. n


  • FormTableField: Element used for the design of FormTable fields.
  • FormAction: Element used for the integration of buttons inside a form.
Parentelement Childelement Cardinality
FormAction Param 0 .. n


  • Param: Element used for the definition of additional FormAction parameters.

Example: General structure of a Form.xml


  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FormList>
  3.  <Form name="RPI_PUBLISHORDER" table="RPI_PUBLISHORDER" idfield="ID" pagesize="20" order="PUBLISHSTARTDATE DESC">   
  4.    <FormTab name="RPI_PUBLISHORDER_Tab">
  5.      <FormGroup name="RPI_PUBLISHORDER_Group">
  6.         <FormField name="ID" label="Publishorder ID:" type="textfield" datatype="guidstring" required="false" visible="hidden"/>
  7.           <FormSingleRow name="NameSR" template="FormSingleRowMiddleTemplate">
  8.             <FormField name="NAME" label="Name:" type="textfield" datatype="string" required="false" visible="list,form,filter" maxlength="64" editable="false"
  9.               filter="SQL[UPPER(NAME) LIKE UPPER(dbo.STRINGJOIN('','%',{FILTER.NAME},'%',NULL)]"/>
  10.             <FormField name="OWNER" label="Owner:" type="textfield" datatype="string" required="false" visible="list,form,filter" editable="false"
  11.               filter="SQL[UPPER(OWNER) LIKE UPPER(dbo.STRINGJOIN('','%',{FILTER.OWNER},'%',NULL)]"/>
  12.           </FormSingleRow>
  13. ...
  14.      </FormGroup>
  15.      <FormGroup name="PublishFeature_Group" label="Select Features">
  16.        <FormTable name="FEATUREGRID" label=" " idfield="ID" multiselect="true" datatype="string" type="table" rowcount="5" required="false" persisted="false" 
  17.          lov="SQL[SELECT ID,NAME FROM RPI_FEATURE WHERE ID IN (SELECT FEATURE_ID FROM RPI_THEME_FEATURE WHERE THEME_ID={FORM.THEME_ID}) 
  18.          AND ID NOT IN (SELECT FEATURE_ID FROM RPI_PUBLISHORDER_FEATURE WHERE PUBLISHORDER_ID={FORM.ID}) ORDER BY UPPER(NAME)]" editable="SCRIPT[IG.hasValue('ALLOWEDIT')]">
  19.          <FormTableField name="NAME" label="Feature" width="400"/>
  20.          <FormAction name="TriggerPublishFeatures" label="Assign Feat." editable="SCRIPT[IG.hasValue('ALLOWEDIT')]" action="SCRIPT[IG.trigger
  21.                ({triggerName:'TriggerPublishFeatures',reloadFields:['PUBLISHFEATUREGRID','FEATUREGRID']})]" help="Assign selected Features to Publish-Order"/>                   
  22.        </FormTable>             
  23.      </FormGroup>                         
  24. ...
  25.    </FormTab>  
  26.    <FormAction name="NewPO" label="New Publish" action="SCRIPT[IG.navigate(10230)]" visible="list" />                                                                        
  27.  </Form>
  28. </FormList>

<br\> <br\> Pfeil new.png To the top Pfeil new.png

FormList

The element FormList is the root element of the Form.xml. It has no attributes, but it can have none or any number of child elements of the type Form, and it can have one or any number of child elements of the type Include.

<br\> <br\> Pfeil new.png To the top Pfeil new.png

Form

A Form is used as a root-element for the creation of (complex) forms. The general usage is:


  1. <Form name="ENTITYPOSITION" table="PR_ENTITYPOSITION" idfield="ID">
  2.  <FormTab name="Tab" label="Operation symbol" >
  3.    <FormGroup name="Group1" label="Details">
  4.      <FormField label="ID:" name="ID" type="textfield" datatype="number" required="false" visible="false" maxlength="50" editable="true"/>
  5.      <FormField label="Name:" name="NAME" type="textfield" datatype="string" required="false" maxlength="50" visible="form,list" />
  6.      <FormField label="Description:" name="DESCRIPTION" type="textfield" datatype="string" required="false" maxlength="50" visible="form" />
  7.      <FormField label="Operation:" name="OPERATION_ID" type="combobox" datatype="string" required="true" maxlength="50" lov="SQL[SELECT ID,NAME FROM PR_OPERATION]"/>
  8.      <FormField label="Editor:" name="EDITOR" type="textfield" datatype="string" required="false" maxlength="50" visible="form,list" />
  9.    </FormGroup>
  10.  </FormTab>
  11.  <FormAction name="SAVE" label="Save" action="save" />
  12. </Form>

The possible Controller (for example: List, Form) which can be implemented is referenced in the Workflow-XML.


  • Form-Attributes
Attribute Mandatory Description
name yes Unique name of the form within the FormList (has to be written in UPPERCASE letters and must not contain any special characters).

<br\>

 <Form name="CHECKLIST" ... />
customscript no Definition of an external script source.

<br\>

 <Form ... customscript="pr/pr_unit.js" ... />
customstyle no Definition of an external style source.

<br\>

 <Form ... customstyle="css/custom/ig-event-icons.css" ... />
editable no Boolean value which defines if the form is editable.

<br\>

 <Form ... editable="false" ... />
 
 <Form ... editable="SCRIPT[...]" ... />
 
 <Form ... editable="SESSION[KeyExists ({SESSION.SELECTION})]" ... />
 
 <Form ... editable="SQL[SELECT CASE TYPE WHEN 'Normal' THEN 1 ELSE 0 END FROM TABLE1 WHERE ID={FORM.ID} ...]" ... />
 
 <Form ... editable="OBJECT[...]" ... />
filter no Indicates the WHERE-clause of the view.

<br\>

 <Form ... filter="SQL[INCIDENT_ID ={SESSION.INCIDENT1.RPI_ID}]" ... />
idfield no Defines the Primary Key column of the table used to reference the respective lines with (has to be written in UPPERCASE letters and must not contain any special characters).

<br\>

 <Form ... idfield="ID1" ... />
inherits no Defines that the form is derived from another one (has to be written in UPPERCASE letters and must not contain any special characters). This saves redundant work and should be used if similar forms are derived from a root-form.

<br\>

 <Form ... inherits="FORM_XY" ... />
isfilterareaopen no Defines if the filter area above a List-Controller should be initially open (default="false").

<br\>

 <Form ... isfilterareaopen="true" ... />
label no Label of the form.

<br\>

 <Form ... label="Form xy" ... />
order no Indicates the column to arrange the view, parameter ASC (ascending=default), and DESC (descending).

(See SQL command ORDER BY) <br\>

 <Form ... order="SQL[Order By TEXT ASC]" ... />
pagesize no Defines the number of list lines per form. If this attribute is set, four pagination buttons (first page, previous page, next page, last page) are added automatically to the List-Controller page.

<br\>

 <Form ... pagesize="15" ... />
table no Defines the table, which is the base for your FormFields. So the value for table has to be the same as in the database.

<br\>

 <Form ... table="PR_CHECKLIST" ... />

<br\> <br\> Pfeil new.png To the top Pfeil new.png

OfflineForm

Note: The OfflineForm is part of GMSC 2013 and will not work with older versions.

If your end users should be able to capture and edit attributive and spatial data while offline from the internet, you have to use the so called OfflineForm element. In principle, the OfflineForm can be defined as a limited version of the Form element. The limitation itself can be attributed to the fact that while the offline-mode, no connection to the server is available and therefore complex operations like the execution of Objects and SQL-Statements can't be processed. In addition, placeholders are not available in offline-mode.

The offline feature of GMSC Workflows only works in combination with GeoMedia SmartClient. It supports only data sets which contains also a geometry because attributive searches doesn't work while the offline-mode and the only way to inspect and edit an existing data set is to select a geometry in GeoMedia SmartClient and open the Offline-Workflow.

A detailed description how you this functionality needs to be configured, can be found here.

A typical Offline-Form looks like the following, which is nothing more than the a limited version of the previous Form example.

  1. <OfflineForm name="ENTITYPOSITION" table="PR_ENTITYPOSITION" idfield="ID">
  2.  <FormGeometry layer="Entity position" name="GEOMETRY">
  3.    <EditActions>
  4.       <GeometryAction name="GE_MODIFY" isstartonload="true" />
  5.    </EditActions>
  6.    <NewActions>
  7.       <GeometryAction name="GE_NEWPOINT" isstartonload="true" />
  8.    </NewActions>
  9.  </FormGeometry>
  10.  <FormTab name="Tab" label="Operation symbol" >
  11.    <FormGroup name="Group1" label="Details">
  12.      <FormField label="ID:" name="ID" type="textfield" datatype="number" required="false" visible="hidden" maxlength="50" />
  13.      <FormField label="Name:" name="NAME" type="textfield" datatype="string" required="false" maxlength="50" />
  14.      <FormField label="Description:" name="DESCRIPTION" type="textfield" datatype="string" required="false" maxlength="50" />
  15.      <FormField label="Operation:" name="OPERATION_ID" type="combobox" datatype="string" required="true" maxlength="50" lov="LIST[0=Operation1;1=Operation2;2=Operation3]"/>
  16.      <FormField label="Editor:" name="EDITOR" type="textfield" datatype="string" required="false" maxlength="50" />
  17.    </FormGroup>
  18.  </FormTab>
  19.  <FormAction name="Capture" label="Capture" action="SCRIPT[IG.captureOfflineGeometry()]" />
  20.  <FormAction name="Save" label="Save" action="save" visible="hidden[SCRIPT[IG.hasValue({FORM.ID})]]" />
  21.  <FormAction name="Delete" label="Delete" action="delete" visible="hidden[SCRIPT[IG.hasValue({FORM.ID})]]" />
  22. </Form>

<br\> <br\>

  • OfflineForm-Attributes

As already mentioned, the attributes of the OfflineForm element are mainly the same as for the Form element. Therefore this section informs you about the big differences and restrictions of the OfflineForm-Attributes. <br\> <br\>

  • Not supported attributes
Not supported attributes
filter
inherits
isfilterareaopen
order
pagesize

<br\> <br\>

  • Different behavior to the Form element.
Attribute Mandatory Description
editable no Doesn't support Placeholders, SQL-Statements and Objects.
help no Doesn't support Placeholders.
label no Doesn't support Placeholders.

<br\> <br\> Pfeil new.png To the top Pfeil new.png

FormGroup in Offline-Mode

  • Not supported elements
Not supported elements
FormFile
FormSingleRow
FormTable

<br\> <br\> Pfeil new.png To the top Pfeil new.png

FormField in Offline-Mode

  • Not supported attributes
Not supported attributes
filter
override
saveinsession
sqlselect

<br\> <br\>

  • Different behaviour to the FormField element.
Attribute Mandatory Description
editable no Doesn't support Placeholders, SQL-Statements and Objects.
help no Doesn't support Placeholders.
label no Doesn't support Placeholders.
lov no Doesn't support SQL-Statement and Objects.
required no Doesn't support Placeholders.
validation no Doesn't support SQL-Statement and Objects.
validationmessage no Doesn't support Placeholders.
visible no Doesn't support Placeholders, SQL-Statement and Objects.

<br\> <br\> Pfeil new.png To the top Pfeil new.png

FormAction in Offline-Mode

  • Not supported attributes
Not supported attributes
type

<br\> <br\>

  • Different behaviour to the FormAction element.
Attribute Mandatory Description
action no Supports Javascript and Default-Controllers (save, delete). Doesn't support CustomControllers.
editable no Doesn't support Placeholders, SQL-Statements and Objects.
help no Doesn't support Placeholders.
image no Doesn't support Placeholders.
label no Doesn't support Placeholders.
visible no Doesn't support Placeholders, SQL-Statement and Objects.

<br\> <br\>

  • Not supported elements
Not supported elements
Param

<br\> <br\> Pfeil new.png To the top Pfeil new.png

FormFilter

The FormFilter element is used to offer predefined filters as a combobox in the filter area of the List-Controller.

 ...
  <FormFilter name="LasVegas" label="Only Las Vegas Project" filter="SQL[PROJECT_ID='924f0dd9-e2b7-435c-a989-9d751cafb194']"/>
 ...

Filter definition


  • FormFilter-Attributes
Attribute Mandatory Description
name yes Unique name of the FormFilter within the form (has to be written in UPPERCASE letters and must not contain any special characters).

<br\>

  <FormFilter ... name="TODAYFILTER" ... />
filter no Represents the WHERE-clause which filters the List-Controller.

<br\>

 <FormFilter ... filter="SQL[TO_CHAR(DELIVERYDATE, 'dd.mm.yyyy')=TO_CHAR(SYSDATE, 'dd.mm.yyyy')]" ... />
isdefault no Boolean value; if set to "true", this filter will be set automatically when entering the List-Controller.

<br\>

 <FormFilter ... isdefault="true" ... />
label no Label for the form displayed in Workflow-Form.

<br\>

 <FormFilter ... label="General Data" ... />

<br\> <br\> Pfeil new.png To the top Pfeil new.png

Include

To avoid implementing recurring forms (for example, search forms) in every file or to get a better overview of the forms, you can define a form which can be reused in several files.

You can import further definition files with the key word Include.


  • Include:
Attribute Mandatory Description
file yes xml-filename with relative path

<br\>

 <Include file="Template.xml" />


Example: Import an additional Definition-File

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <FormList>
  3.  <Include file="Template.xml" />
  4.  <Form ....>
  5.  </Form>
  6.  ...
  7. </FormList>

After the import of the file "Template.xml", all forms of this file are available.

<br\> <br\> Pfeil new.png To the top Pfeil new.png

FormTab

The FormTab element is used for the definition of tab elements inside an HTML page. FormTabs group input forms with different aspects of a workflow so that the user can switch between these tabs to administer the data. Workflow-Actions (SAVE, DELETE, ...) are performed for all FormTabs together.


Formtab <br\> <br\> Form tabs.png

If there is only one FormTab defined in the FormSettings.xml it doesn't get rendered. So that is the difference between the two figures above. In the first one there are more than one FormTabs defined and in the second one only one FormTab is defined.

  • FormTab-Attributes
Attribute Mandatory Description
name yes Unique name of the form within the FormList (has to be written in UPPERCASE letters and must not contain any special characters).

<br\>

 <FormTab ... name="GENERAL" ... />
authorization no Only users with the appropriate Role/Claim are authorized to view/process the element.

<br\>

 <FormTab ... authorization="ROLE[ADMIN,EDITOR]" ... />
 <FormTab ... authorization="CLAIM[WF_ADMIN,WF_EDIT]" ... />
editable no Boolean value which defines, if the form is editable:
  • editable="true"
  • editable="hidden[SCRIPT[...]]"
  • editable="form[SESSION[KeyExists(...)]]"
  • editable="form[SQL[...]]"
  • editable="form[OBJECT[...]]"

<br\>

 <FormTab ... editable="false" ... />
 <FormTab ... editable="hidden[SCRIPT[...]]" ... />
 <FormTab ... editable="form[SESSION[KeyExists ({SESSION.SELECTION})]]" ... />
 <FormTab ... editable="form[SQL[SELECT CASE TYPE WHEN 'Normal' THEN 1 ELSE 0 END FROM TABLE1 WHERE ID={FORM.ID} ...]]" ... />
 <FormTab ... editable="form[OBJECT[...]]" ... />
label no Label for the form displayed in Workflow-Form.

<br\>

 <FormTab ... label="General Data" ... />
template no Defines the layout template for the FormTab-section.

<br\>

 <FormTab ... template="MyFormTabTemplate" ... />
visible no Defines the visibility of the FormTab; the result has to deliver true or false. The visibility can be defined in a few ways:
  • visible="true"
  • visible="SCRIPT[...]"
  • visible="SESSION[KeyExists(...)]"
  • visible="SQL[...]"
  • visible="OBJECT[...]"
Note: This should only be used if NO dependency exists between FormFields in different Tabs.

<br\>

 <FormTab ... visible="false" ... />
 <FormTab ... visible="SCRIPT[...]" ... />
 <FormTab ... visible="SESSION[KeyExists ({SESSION.SELECTION})]" ... />
 <FormTab ... visible="SQL[SELECT CASE TYPE WHEN 'Normal' THEN 1 ELSE 0 END FROM TABLE1 WHERE ID={FORM.ID} ...]" ... />
 <FormTab ... visible="OBJECT[...]" ... />

<br\> <br\> Pfeil new.png To the top Pfeil new.png

FormGroup

The FormGroup element is used for the visual grouping of FormFields inside a form. The area on the left displays the name of the FormGroup and is used for the definition of FormFields; the area on the right can be used for further help text.


FormGroup


  • FormGroup-Attributes
Attribute Mandatory Description
name yes Unique name of the FormGroup within the Form (has to be written in UPPERCASE letters and must not contain any special characters).

<br\>

 <FormGroup ... name="GENERAL" ... />
authorization no Only users with the appropriate Role/Claim are authorized to view/process the element.

<br\>

 <FormGroup ... authorization="ROLE[ADMIN,EDITOR]" ... />
 <FormGroup ... authorization="CLAIM[WF_ADMIN,WF_EDIT]" ... />
editable no Boolean value which defines, if the form is editable:
  • editable="true"
  • editable="SCRIPT[...]"
  • editable="SESSION[KeyExists(...)]"
  • editable="SQL[...]"
  • editable="OBJECT[...]"

<br\>

 <FormGroup ... editable="false" ... />
 <FormGroup ... editable="SCRIPT[...]" ... />
 <FormGroup ... editable="SESSION[KeyExists ({SESSION.SELECTION})]" ... />
 <FormGroup ... editable="SQL[SELECT CASE TYPE WHEN 'Normal' THEN 1 ELSE 0 END FROM TABLE1 WHERE ID={FORM.ID} ...]" ... />
 <FormGroup ... editable="SCRIPT[...]" ... />
help no Help text for the FormGroup.

<br\>

 <FormGroup ... help="Use this FormGroup..." ... />
label no Label for the form displayed in Workflow-Form.

<br\>

 <FormGroup ... label="General Data" ... />
template no Defines the layout template for the FormGroup section. The default template (not to be defined) is the template with the FormField section on the left and a Help section to the right (see the screenshot above).

The template="FormGroupNoHelpTemplate" extends the FormField section over the whole width of the Workflow-Template. <br\>

 <FormGroup ... template="FormGroupNoHelpTemplate" ... />
visible no Defines the visibility of the FormTab; the result has to deliver true or false. The visibility can be defined in a few ways:
  • visible="false"
  • visible="SESSION[KeyExists(...)]"
  • visible="SCRIPT[...]"
  • visible="SQL[...]"
  • visible="hidden"
  • visible="OBJECT[...]"

<br\>

 <FormGroup ... visible="false" ... />
 <FormGroup ... visible="SESSION[KeyExists({SESSION.SELECTION})]" ... />
 <FormGroup ... visible="SCRIPT[classname.methodname(variable1, variable2, ...)]" ... />

<br\> <br\> Pfeil new.png To the top Pfeil new.png

FormSingleRow

The FormSingleRow element is used for the generation of several (usually two) FormFields in a single row. The default length of a FormField inside a FormSingleRow is half the length of the FormField (not enclosed in a FormSingleRow). To render the enclosed FormFields correctly, the maximum length of the shorter FormField has to be set to maxlength="10" (or smaller); the longer FormField has to be set to maxlength="40" (or smaller).


The default configuration of two FormFields in a FormSingleRow has three different layouts regarding the length of the FormFields (Length of the FormField in brackets):

  • long (40) - short (10)
  • short (10) - long (40)
  • medium (25) - medium (25)


  • FormSingleRow-Attributes
Attribute Mandatory Description
name yes Unique name of the form within the FormList.

<br\>

 <FormSingleRow ... name="AddressSR" ... />
authorization no Only users with the appropriate Role/Claim are authorized to view/process the element.

<br\>

 <FormSingleRow ... authorization="ROLE[ADMIN,EDITOR]" ... />
 <FormSingleRow ... authorization="CLAIM[WF_ADMIN,WF_EDIT]" ... />
editable no Boolean value which defines, if the form is editable:
  • editable="true"
  • editable="SCRIPT[...]"
  • editable="SESSION[KeyExists(...)]"
  • editable="SQL[...]"
  • editable="OBJECT[...]"

<br\>

 <FormSingleRow ... editable="false" ... />
 <FormSingleRow ... editable="SCRIPT[...]" ... />
 <FormSingleRow ... editable="SESSION[KeyExists ({SESSION.SELECTION})]" ... />
 <FormSingleRow ... editable="SQL[SELECT CASE TYPE WHEN 'Normal' THEN 1 ELSE 0 END FROM TABLE1 WHERE ID={FORM.ID} ...]" ... />
 <FormSingleRow ... editable="OBJECT[...]" ... />
template no Template used for the layout of the SingleRow. If no template is declared, the width of the FormFields will be defined automatically according to the value of their maxlength attribute.

Templates to be used are:

  • FormSingleRowMiddleTemplate: space is divided evenly between two FormFields
  • FormSingleRowFloatingTemplate: space is divided according to the available place
  • FormSingleRow3FieldsTemplate: space is divided evenly among three FormFields

<br\>

 <FormSingleRow ... template="FormSingleRowMiddleTemplate" ... />
visible no Defines the visibility of the FormSingleRow; the result has to deliver true or false. The visibility can be defined in a few ways:
  • visible="false"
  • visible="SESSION[KeyExists(...)]"
  • visible="SCRIPT[...]"
  • visible="hidden"
  • visible="OBJECT[...]"

<br\>

 <FormSingleRow ... visible="false" ... />
 <FormSingleRow ... visible="SESSION[KeyExists({SESSION.SELECTION})]" ... />
 <FormSingleRow ... visible="SCRIPT[classname.methodname(variable1, variable2, ...)]" ... />

<br\> <br\> Pfeil new.png To the top Pfeil new.png

FormField

The FormField element is a central element of HTML-Workflows and is used for the input of user data.


  • FormField-Attributes
Attribute Mandatory Description
name yes Unique name (inside the form) of the FormField which corresponds to the column-name of the table.
 <FormField ... name="DESCRIPTION" .../>
authorization no Only users with the appropriate Role/Claim are authorized to view/process the element.

<br\>

 <FormField ... authorization="ROLE[ADMIN,EDITOR]" ... />
 <FormField ... authorization="CLAIM[WF_ADMIN,WF_EDIT]" ... />
datatype no
  • date
  • datetime
  • guid
  • guidstring
  • number
  • string
  • timestamp
  • createtimestamp
  • createtimestampstring

<br\>

 
 <FormField ... datatype="string" ... />
defaultvalue no Attribute can be used to set a value for:

a) a non-persisted FormField or b) to define a standard value for a FormField This attribute can be generated in several ways:

  • defaultvalue="SQL[...]"
  • defaultvalue="OBJECT[...]"
  • defaultvalue="SCRIPT[...]"
  • defaultvalue="text"
  • defaultvalue="{PLACEHOLDER}"

<br\> ad a)

 <FormField ... defaultvalue="SQL[SELECT NAME FROM PERSON WHERE ID={FORM.PERSON_ID}" ... />

<br\> ad b)

 <FormField ... defaultvalue="SQL[SELECT SYSDATE FROM DUAL]" ... />
 <FormField ... defaultvalue="OBJECT[classname.methodname({SESSION.SELECTION})]" ... />
 <FormField ... defaultvalue="SCRIPT[classname.methodname(variable1, variable2, ...)]" ... />
 <FormField ... defaultvalue="Austria"... />

<br\> PLACEHOLDER:

 <FormField ... defaultvalue="{FORM.AGENCY_ID}" ... />
 <FormField ... defaultvalue="{RESSOURCE.BLUBB}" ... />
editable no Boolean value which defines if the form is editable:
  • editable="true"
  • editable="SCRIPT[...]"
  • editable="SESSION[KeyExists(...)]"
  • editable="SQL[...]"
  • editable="OBJECT[...]"

<br\>

 <FormField ... editable="false" ... />
filter no If no filter="..." operator is set, the default operator filter="ISEQUALTO" is used.

<br\> <br\>

 <FormField ... filter="ISEQUALTO" ... />
 <FormField ... filter="ISNOTEQUALTO" ... />
 <FormField ... filter="ISLESSTHAN" ... />
 <FormField ... filter="ISGREATERTHAN" ... />
 <FormField ... filter="ISLESSTHANOREQUALTO" ... />
 <FormField ... filter="ISGREATERTHANOREQUALTO" ... />
 <FormField ... filter="ISLIKESTART" ... />
 <FormField ... filter="ISLIKEEND" ... />
 <FormField ... filter="ISLIKE" ... />
 <FormField ... filter="ISBETWEEN" ... />

<br\> For further information about filtering, refer to List-Controller Filters.

help no Help text for the FormField.

<br\>

 <FormField ... help="Do not use special characters here!" ... />
label no Label for the FormField displayed in Workflow-Form.

<br\>

 <FormField ... label="Emergency Organisation:" ... />
lov no Element for List-of-Values which should be used in the FormField. The LOV can be generated in several ways (makes sense only in context with certain types, like type="combobox"):
  • lov="SQL[...]"
  • lov="LIST[name1=value1;name2=value2;...]"
  • lov="OBJECT[...]"

<br\>

 <FormField ... lov="SQL[SELECT MODEL FROM VEHICLE_LOOKUP WHERE MAKE={FORM.MAKE} ORDER BY MODEL]" ... />
 <FormField ... lov="LIST[black=schwarz;blue=blau;red=rot]" ... />
 <FormField ... lov="OBJECT[...]" ... />
...
maxlength no Defines the maximum input length for a FormField. The size of the FormField depends on the defined maxlength.

<br\>

 <FormField ... maxlength="10" ... />
override no Boolean value. If it is set true the defaultvalue always be overriding the value of the database.

<br\>

<FormField ... override="true" />
persisted no Boolean value which defines if the FormField can be stored inside the actual table.

<br\>

 <FormField ... persisted="false" ... />
required no Boolean value which defines if the FormField may contain NULL values or not. The attribute can be generated in several ways:
  • required="true"
  • required="SESSION[...]"

<br\>

 <FormField ... required="false" ... />
saveinsession no Attribute to persist (after a submit) the actual FormField value in a session variable which can be referenced later (for example, from another Form), for example,:

saveinsession="FORMNAME.FORMFIELDNAME" or set saveinsession="true". This variable will be stored in the SEC_SESSION table. <br\>

 <FormField ... saveinsession="ACTIVE_TASK.STATUS_ID" ... />
sqlselect no The attribute sqlselect should be used if the FormField is a non-persisted field and therefore not filled from the form table. While sqlselect is used to fill the FormField in the List-Controller, the defaultvalue is the corresponding statement in the Form-Controller.

SQL-statements (as well as parts of SQL-statements) can be used. There are several possibilities:

  • sqlselect="SQL[Select - statement]"
  • sqlselect="SQL[Column as XY]"
  • sqlselect="SQL[CASE-Statements]"
  • sqlselect="SQL[DECODE-Statements]"

<br\>

 <FormField ... sqlselect="SQL[Select (DESCRIPTION <nowiki>||' '||</nowiki> SUBDESCRIPTION) 
as TYPE FROM INCIDENTTYPE WHERE INCIDENTTYPE.ID = INCIDENT1.TYPE_ID]" ... />
 <FormField ... sqlselect="SQL[NAME as FIRSTNAME]" ... />
 <FormField ... sqlselect="SQL[CASE {FORM.COUNTRY} WHEN 'Germany' THEN 'de' 
WHEN 'Great Britain' THEN 'en' ELSE 'N/A']" ... />
 <FormField ... sqlselect="SQL[DECODE({FORM.COUNTRY},'Austria',1,0)]" ... />
template no Defines which template should be used for the FormField representation.

<br\>

 <FormField ... template="MyTextFieldTemplate" ... />
type no A FormField can receive the following types:
  • autocomplete: database-driven element to generate a list of values after user input
  • checkbox: elements to check or uncheck
  • combobox: convertible list of values
  • datepicker: defines a graphical selection of dates
  • filepicker: elements to save files at the server
  • hyperlink
  • image: element showing an image
  • label: element showing a label
  • textarea: multi-line input field
  • textfield: single-line input field

<br\>

 <FormField ... type="combobox" ... />
validation no The validation of user input can be done at runtime using the following methods:
  • validation="SCRIPT[...]"
  • validation="OBJECT[...]"
  • validation="SQL[...]"

As a result, either of these methods must deliver true or false (1/0). <br\>

 <FormField ... validation="SCRIPT[...]" ... />
 <FormField ... validation="OBJECT[classname.methodname({SESSION.SELECTION})]" ... />
 <FormField ... validation="SQL[SELECT DECODE(COUNT(*),0,1,0) FROM PR_UNIT WHERE PR_ID={FORM.PR_ID}]" ... />
validationmessage no You can define your own error message and has to be defined if there is an server side validation.
visible no Sets the visibility of the FormField and defines in which workflow elements the FormField should be used/visible:
  • visible="false"
  • visible="SESSION[KeyExists(...)]"
  • visible="SCRIPT[...]"
  • visible="list,form,filter"
  • visible="filter"
  • visible="hidden"
  • visible="OBJECT[...]"
Note: Multiple visible="filter" definitions of various FormFields are concatenated with "AND".

<br\>

 <FormField ... visible="false" ... />

the visible="filter" setting can be used according to the OGC-compliant definition: visible="form[SCRIPT[IG.hasValue('ISDEFAULT')]]"


Note: The datatype="autocomplete" references itself and needs a LOV (= "List of Values") containing a dependency on its own; at least three keyboard entries have to be done for the autocomplete function to execute.


<FormField name="FBGROUP" label="Firebrigade-Group:" type="autocomplete" datatype="string" lov="SQL[SELECT ... FROM ... WHERE S_NAME LIKE {FORM.FBGROUP} + '%']" persisted="false" maxlength="20" required="false"/>


With a LoV, you can select data or specify fixed values, for example, from a database. You can use a LoV for all list elements (FormField type="combobox ", FormTable type="table"). The following definitions are possible for a LoV:

  • Fixed values: The values will be defined fixed in the form.
  • Methods of Objects: The values will be defined by the method of an object.
  • SQL-Statement: The values will be selected from a table.


Example 1: Definition of a LoV with fixed values (key and displayed value are identical). In the following definition, the key (value which will be registered in the database) and the displayed value are identical.

 <FormField name="COUNTRY" label="Country:" type="combobox" datatype="string" lov="LIST[Austria;Germany;Switzerland]" />

<br\> <br\> Example 2: Definition of a LoV with fixed values (key and displayed value are different.) In the following definition, the key and the displayed value are different. In this way, the value 1 will be registered for Austria, value 2 for Germany, and so on, in the database.

 <FormField name="COUNTRY" label="Country:" type="combobox" datatype="string" lov="LIST[1=Austria;2=Germany;3=Switzerland]" />

<br\> <br\> Example 3: Definition of a LoV using SQL-Statements In the following definition, a LoV value is needed to store the form (required="true"); the column "COUNTRY" is part of the table "COUNTRY_TABLE", which is used in the superior form (therefore the ID-column is part of the lov-query).

 <FormField name="COUNTRY" label="Country:" type="combobox" datatype="string" lov="SQL[SELECT ID, NAME FROM COUNTRY_TABLE]" />

<br\> <br\> Example 4: Usage of datatype "datetime" and a "Now"-functionality: The datatype "datetime" is used for Oracle-DATE datatypes in combination with the fieldtype "datepicker", which enables the user to select a date out of a date-widget (the time has to be entered manually). If the datetime should be set semi-automatically, a "NOW"-button can be defined:

 <FormField label="Start:" name="STARTTIME" datatype="datetime" required="false" type="datepicker" visible="form,list">
        <FormAction name="NOW" label="Jetzt" action="SCRIPT[IG.setDateTimeToNow('STARTTIME')]" image="ig-icon-time" />
 </FormField>

<br\> <br\> Pfeil new.png To the top Pfeil new.png

FormFile

  • FormFile-Attributes
Attribute Mandatory Description
name yes Unique name (inside the form) of the FormFile which corresponds to the column-name of the table.

<br\>

 <FormFile ... name="FILEPATH" ... />
authorization no Only users with the appropriate Role/Claim are authorized to view/process the element.

<br\>

 <FormFile ... authorization="ROLE[ADMIN,EDITOR]" ... />
 <FormFile ... authorization="CLAIM[WF_ADMIN,WF_EDIT]" ... />
editable no Boolean value which defines if the form is editable:
  • editable="true"
  • editable="SCRIPT[...]"
  • editable="SESSION[KeyExists(...)]"
  • editable="SQL[...]"
  • editable="OBJECT[...]"

<br\>

 <FormFile ... editable="false" ... />
help no Help text for the FormFile.

<br\>

 <FormFile ... help="Do not use special characters here!" ... />
label no Label for the FormFile displayed in Workflow-Form.

<br\>

 <FormFile ... label="Symbology:" ... />
persisted no Boolean value which defines if the FormFile can be stored inside the actual table.

<br\>

 <FormFile ... persisted="false" ... />
required no Boolean value which defines if the FormFile may contain NULL values or not. The attribute can be generated in several ways:
  • required="true"
  • required="SCRIPT[...]"
  • required="{FORM.FIELDNAME}"
  • required="{SESSION.SELECTION}"

<br\>

 <FormFile ... required="false" ... />
saveinsession no Attribute to persist (after a submit) the actual FormFile value in a session variable which can be referenced later (for example, from another Form), for example,:

saveinsession="FORMNAME.FORMFILENAME" This variable will be stored in the SEC_SESSION table. <br\>

 <FormFile ... saveinsession="FORMNAME.FORMFILENAME" ... />
validation no The validation of user input can be done at runtime using the following methods:
  • validation="SCRIPT[...]"
  • validation="OBJECT[...]"
  • validation="SQL[...]"

As a result, either of these methods must deliver true or false (1/0). <br\>

 <FormFile ... validation="SCRIPT[...]" ... />
 <FormFile ... validation="OBJECT[classname.methodname({SESSION.SELECTION})]" ... />
 <FormFile ... validation="SQL[SELECT DECODE(COUNT(*),0,1,0) FROM PR_UNIT WHERE PR_ID={FORM.PR_ID}]" ... />
visible no Sets the visibility of the FormFile and defines in which workflow elements the FormFile should be used/visible:
  • visible="false"
  • visible="SESSION[KeyExists(...)]"
  • visible="SCRIPT[...]"
  • visible="list,form"
  • visible="hidden"
  • visible="OBJECT[...]"

<br\>

 <FormFile ... visible="false" ... />
uploaddir no Absolute path to upload directory.

<br\>

 <FormFile ... uploaddir="C:\UploadedFiles" ... />
multiple no Boolean value which defines if multiple files can be uploaded.

<br\>

 <FormFile ... multiple="false" ... />
filenamefield no Persist file name of the uploaded file in the specified column.

<br\>

 <FormFile ... filenamefield="FileName" ... />
contenttypefield no Persist content type of the uploaded file in the specified column.

<br\>

 <FormFile ... contenttypefield="ContentType" ... />
useuniquename no If useuniquename is true, uploaded file will be prefixed with an unique id.

<br\>

 <FormFile ... useuniquename="true" ... />
fileextension no Comma-separated list of allowed file extensions.

<br\>

 <FormFile ... fileextension="png,jpg,jpeg" ... />


Example 1: Definition of a simple file upload. File is uploaded in "C:\Temp\Upload" directory and the full file path is persisted in "FilePath" column.

 <FormFile name="FilePath" datatype="file" uploaddir="C:\Temp\Upload" multiple="false" />

<br\> <br\>

Example 2: Definition of a simple binary file upload. File is only as binary persisted in "FileData" column.

 <FormFile name="FileData" datatype="binary" multiple="false" />

<br\> <br\> Example 3: Like Example 1, but additional file name and content type are stored in the "FileName" and "ContentType" columns.

 <FormFile name="FilePath" datatype="file" uploaddir="C:\Temp\Upload" multiple="false" filenamefield="FileName" contenttypefield="ContentType" />

<br\> <br\>

Example 4: Like Example 2, but additional file name and content type are stored in the "FileName" and "ContentType" columns.

 <FormFile name="FileData" datatype="binary" multiple="false" filenamefield="FileName" contenttypefield="ContentType" />

<br\> <br\> Pfeil new.png To the top Pfeil new.png

FormTable/FormTableField

Example

Grid


  1. ...
  2. <FormTable name="PROJECTVIEWGRID" label="Bookmarks of the Project" datatype="string" type="table" rowcount="3" editable="true"
  3.  required="false" idfield="ID" persisted="false" 
  4. lov="SQL[SELECT ID,NAME,CENTERX,CENTERY,dbo.STRINGJOIN('','1:',SCALE,NULL,NULL) AS SCALE FROM RPI_PROJECTVIEW
  5.     WHERE PROJECT_ID={FORM.ID} ORDER BY UPPER(NAME)]">
  6.  <FormTableField name="NAME" label="Bookmarkname" />
  7.  <FormTableField name="SCALE" label="Scale" />
  8.  <FormTableField name="CENTERX" label="Center(East)" />
  9.  <FormTableField name="CENTERY" label="Center(North)" />
  10.  <FormAction name="EditBookmark" label="Edit" action="SCRIPT[IG.openModalForm({nodeid:10061,id:{FORM.PROJECTVIEWGRID}})]"
  11.   type="row" image="ig-icon-edit" help="Open ModalForm and edit bookmark"/>                                   
  12.  <FormAction name="DeleteBookmark" label="Delete Bookmark"
  13.   action="SCRIPT[IG.openModalForm({nodeid:10062,id:{FORM.PROJECTVIEWGRID}})]" type="row" 
  14.   image="ig-icon-delete" help="Open ModalForm and Confirm deletion of bookmark"/>                         
  15. </FormTable> 
  16. ...

<br\> <br\>

  • FormTable - Attributes
Attribute Mandatory Description
name yes Unique name (inside the form) of the FormTable.

<br\>

 <FormTable ... name="PERSON_EMPLOYER_GRID" ... />
authorization no Only users with the appropriate Role/Claim are authorized to view/process the element.

<br\>

 <FormTable ... authorization="ROLE[ADMIN,EDITOR]" ... />
 <FormTable ... authorization="CLAIM[WF_ADMIN,WF_EDIT]" ... />
datatype no
  • date
  • datetime
  • guid
  • guidstring
  • number
  • string
  • timestamp
  • createtimestamp
  • createtimestampstring

<br\>

 
 <FormTable ... datatype="string" ... />
defaultvalue no Attribute can be used to set a value for:

a) a non-persisted FormField or b) to define a standard value for a FormField This attribute can be generated in several ways:

  • defaultvalue="SQL[...]"
  • defaultvalue="OBJECT[...]"
  • defaultvalue="SCRIPT[...]"
  • defaultvalue="text"
  • defaultvalue="{PLACEHOLDER}"

<br\> ad a)

 <FormTable ... defaultvalue="SQL[SELECT NAME FROM PERSON WHERE ID={FORM.PERSON_ID}" ... />

<br\> ad b)

 <FormTable ... defaultvalue="SQL[SELECT SYSDATE FROM DUAL]" ... />
 <FormTable ... defaultvalue="OBJECT[classname.methodname({SESSION.SELECTION})]" ... />
 <FormTable ... defaultvalue="SCRIPT[classname.methodname(variable1, variable2, ...)]" ... />
 <FormTable ... defaultvalue="Austria"... />

<br\> PLACEHOLDER:

 <FormTable ... defaultvalue="{FORM.AGENCY_ID}" ... />
 <FormTable ... defaultvalue="{RESSOURCE.BLUBB}" ... />
editable no Boolean value which defines if the form is editable:
  • editable="true"
  • editable="SCRIPT[...]"
  • editable="SESSION[KeyExists(...)]"
  • editable="SQL[...]"
  • editable="OBJECT[...]"

<br\>

 <FormTable ... editable="false" ... />
idfield no Definition of the Primary Key in the LoV statement.

<br\>

 <FormTable ... idfield="ID" ... />
label no Label for the FormField displayed in Workflow-Form.

<br\>

 <FormTable ... label="Emergency Organisation:" ... />
lov no Element for List-of-Values which should be used in the FormField. The LoV can be generated in several ways (makes sense only in context with certain types, like type="combobox"):
  • lov="SQL[...]"
  • lov="LIST[name1=value1;name2=value2;...]"
  • lov="OBJECT[...]"

<br\>

 <FormTable ... lov="SQL[SELECT MODEL FROM VEHICLE_LOOKUP WHERE MAKE={FORM.MAKE} ORDER BY MODEL]" ... /> 
 <FormTable ... lov="LIST[black=schwarz;blue=blau;red=rot]" ... />
...
maxlength no Defines the maximum input length for a FormTable.

<br\>

 <FormTable ... maxlength="10" ... />
override no Boolean value. If it is set true the defaultvalue always be overriding the value of the database.

<br\>

<FormTable ... override="true" />
persisted no Boolean value which defines if the FormTable can be stored inside the actual table. If persisted="true" (default), the ID-values of the Grid will be stored as a coma-separated string in the Table-Field.

<br\>

 <FormTable ... persisted="false" .../>
required no Boolean value which defines if the FormField may contain NULL values or not. The attribute can be generated in several ways:
  • required="true"
  • required="SCRIPT[...]"
  • required="{FORM.FIELDNAME}"
  • required="{SESSION.SELECTION}"

<br\>

 <FormTable ... required="false" ... />
rowcount no Defines the number of lines which are shown in the table. If the number of records exceeds the rowcount, a pagination is added to the FormTable automatically.

<br\>

 <FormTable ... rowcount="5" ... />
saveinsession no Attribute to persist (after a submit) the actual FormField-value in a session variable, which can be referenced later (for example, from another Form), for example:
saveinsession="FORMNAME.FORMFIELDNAME"

This variable will be stored in the SEC_SESSION table. <br\>

 <FormTable ... saveinsession="ACTIVE_TASK.STATUS_ID" ... />
selectionmode no Defines how many items may be selected in a formTable. Possible values are:
  • none: no row may be selected (default value)
  • single: one row may be selected
  • multiple: many rows may be selected

<br\>

 <FormTable ... selectionmode="single" ... />
sqlselect no The attribute sqlselect should be used if the FormTable is a non-persisted field and therefore not filled from the form table. While sqlselect is used to fill the FormField in the List-Controller, the defaultvalue is the corresponding statement in the Form-Controller.

SQL-statements (as well as parts of SQL-statements) can be used. There are several possibilities:

  • sqlselect="SQL[Select - statement]"
  • sqlselect="SQL[Column as XY]"
  • sqlselect="SQL[CASE-Statements]"
  • sqlselect="SQL[DECODE-Statements]"

<br\>

 <FormTable ... sqlselect="SQL[Select (DESCRIPTION <nowiki>||' '||</nowiki> SUBDESCRIPTION) 
as TYPE FROM INCIDENTTYPE WHERE INCIDENTTYPE.ID = INCIDENT1.TYPE_ID]" ... />
 <FormTable ... sqlselect="SQL[NAME as FIRSTNAME]" ... />
 <FormTable ... sqlselect="SQL[CASE {FORM.COUNTRY} WHEN 'Germany' THEN 'de' 
WHEN 'Great Britain' THEN 'en' ELSE 'N/A']" ... />
 <FormTable ... sqlselect="SQL[DECODE({FORM.COUNTRY},'Austria',1,0)]" ... />
template no Defines which template should be used for the FormTable representation. Currently the template="TableBigTemplate" is supported for the type="table". When using this template, the enclosing FormGroup must use the template="FormGroupNoHelpTemplate".

<br\>

 <FormTable ... template="TableBigTemplate" ... />
validation no The validation of user input can be done at runtime using the following methods:
  • validation="SCRIPT[...]"
  • validation="OBJECT[...]"
  • validation="SQL[...]"

As a result, either of these methods must deliver true or false (1/0). <br\>

 <FormTable ... validation="SCRIPT[...]" ... />
 <FormTable ... validation="OBJECT[classname.methodname({SESSION.SELECTION})]" ... />
 <FormTable ... validation="SQL[SELECT DECODE(COUNT(*),0,1,0) FROM PR_UNIT WHERE PR_ID={FORM.PR_ID}]" ... />
validationmessage no You can define your own error message and has to be defined if there is an server side validation.
visible no Sets the visibility of the FormField and defines in which workflow-elements the FormField should be used/should be visible:
  • visible="false"
  • visible="SESSION[KeyExists(...)]"
  • visible="SCRIPT[...]"
  • visible="form"
  • visible="hidden"
  • visible="OBJECT[...]"
Note: Multiple visible="filter" definitions of various FormFields are concatenated with "AND".

<br\>

 <FormTable ... visible="false" ... />
 <FormTable ... visible="form[SCRIPT[IG.hasValue('ISDEFAULT')]]" ... />

If selectionmode="multiple", then saveinsession will store a coma separated string of the ID values; otherwise, the actual ID value will be persisted in the SEC_SESSION table. The FormTableField element is used to define the width of the FormTable column and to define a column-alias. <br\> <br\>

  • FormTableField - Attributes
Attribute Mandatory Description
name yes Unique name (inside the form) of the FormTable.

<br\>

 <FormTableField ... name="PERSON_EMPLOYER_GRID" ... />
label no Label for the FormField displayed in Workflow-Form.

<br\>

 <FormTableField ... label="Emergency Organisation:" ... />

<br\> <br\> Pfeil new.png To the top Pfeil new.png

FormAction/Param

The FormAction element is used for the integration of buttons inside a form.

FormAction


  • FormAction - Attributes
Attribute Mandatory Description
name yes The name of the FormAction. If no label is defined, the name will be displayed.

<br\>

 <FormAction ... name="Delete" ... />
action no There is a set of predefined actions:

DefaultController

  • Form/Save (save)
  • Form/Delete (delete)
  • Form/Index (Form)
  • List/Index (List)
  • List/Select
  • Workflow/Index

CustomController: Any controller defined and programmatically implemented by the customer.

JavaScript:

DefaultJavaScript:

  • SCRIPT[IG.trigger({...})]
  • SCRIPT[IG.openModalForm({...})]

CustomJavaScript: Any JavaScript defined and programmatically implemented by the customer. <br\>

 <FormAction ... action="redirect" ... />
 <FormAction ... action="SCRIPT[IG.trigger({triggerName:'DoThisAndThatTrigger',...
  ...reloadFields:['FIELD1', 'FIELD2'], validateFields:['FIELD1', 'FIELD2']})]" ... />

<br\>

  • reloadFields: defines FormFields, which should be reloaded after a trigger event
  • validateFields: defines FormFields, which must not be empty for the trigger action
authorization no Only users with the appropriate Role/Claim are authorized to view/process the element.

<br\>

 <FormAction ... authorization="ROLE[ADMIN,EDITOR]" ... />
 <FormAction ... authorization="CLAIM[WF_ADMIN,WF_EDIT]" ... />
editable no Boolean value which defines if the form is editable:
  • editable="true"
  • editable="SCRIPT[...]"
  • editable="SESSION[KeyExists(...)]"
  • editable="SQL[...]"
  • editable="OBJECT[...]"

<br\>

 <FormAction ... editable="false" ... />
help no Help text for the button.

<br\>

 <FormAction ... help="Press this button for ..." ... />
image no Defines an image for the FormAction.

<br\>

 <FormAction ... image="ig-icon-add" ... />
label no Label text for the FormAction.

<br\>

 <FormAction ... label="Delete Data" ... />
submit no Submit-Parameter for the FormAction; if not set explicitly, the defaultvalue is submit="false", which references a HTTP-GET Request. If submit="true", the HTTP-POST Request is used.

<br\>

 <FormAction ... submit="true" ... />
type no Defines the display-type of the FormAction, possible values:
  • field
  • form
  • row

<br\>

 <FormAction ... type="row" ... />
visible no Defines where the FormAction-element will be visible. Possible values:
  • visible="list" - the button will be visible in the list-page (preceding the form-page).
  • visible="list" type="row" - an edit button will be visible in each row of the list-page (preceding the form-page).
  • visible="form"
  • visible="hidden"

<br\>

 <FormAction ... visible="form" .../>


The image below contains a FormAction:

 <FormAction name="DeleteProject" label="Delete Project" action="edit" visible="list" type="row" image="ig-icon-delete"/>

<br\> <br\> which enables the user to use the row-edit function; it will be displayed like this:

0412 button list row.png

Scrolling through several pages inside a List-Controller is done via "First", "Previous", "Next", and "Last" icon-buttons (see image below). The buttons are generated automatically and the attribute pagesize=... is responsible for the number of lines in the list.


0412 prev next.png

After pressing the delete button, a modal form will open on top of the list, and the user can assign the data deletion.


0412 button list row modal.png


The Param element is used for the definition of additional FormAction-parameters. It consists of name-value pairs, and both are mandatory.

  • Param - Attributes
Attribute Mandatory Description
name yes as name / value can adopt a wide range of different values; no explicit name:value-pairs will be given here.
value yes see above

Examples:

The first example shows the use in context with the redirect-action where a nodeid and its value are assigned:

 <FormAction name="REDIRECT" label="Neue Aktion" action="SCRIPT[IG.navigate(10)" visible="list" />

<br\> <br\>

In the second example, a NodeID, a follownode, and a form are defined.

 <FormAction name="REDIRECTPARAM" label="Neuer Parameter" action="Form/Index" visible="form">
  <Param name="nodeid" value="4041" />
 </FormAction>

<br\> <br\>

Language: English