Defining a gICAPI web component in forms

When defining a gICAPI web component in a form specification file, you can also provide a sizing policy and define additional properties.

Adding a WEBCOMPONENT to the form file

To define an gICAPI web component field, add a form field with the WEBCOMPONENT item type and the COMPONENTTYPE attribute. The COMPONENTTYPE attribute is mandatory when defining a gICAPI web component; it defines the root HTML filename describing the gICAPI web component.

A web component field is typically defined with the FORMONLY prefix, as the data for the field is rarely stored in a database column.

Sizing policy for web component fields

Web components are usually complex widgets displaying detailed information, such as charts, graphs, or calendars, which are generally resizable. Use the appropriate form item attributes to get the expected layout and behavior. For more details, see Controlling the web component layout.

Defining gICAPI web component properties

Since web component field definitions are generic, you must use the PROPERTIES attribute to set specific parameters for the component.

The PROPERTIES attribute can define a list of:

  • simple properties ( name = value ),
  • array properties ( name = ( value1, value2, ... ) )
  • map/dictionary properties ( name=( name1=value1,name2=value2, ... ) )

where name is a simple identifier, and where values can be numeric or string literals.

Component properties defined in the PROPERTIES attribute are transmitted to the web component through the onProperty() method of the gICAPI object.

The name of a property defined in the PROPERTIES attribute is converted to lowercase by the form compiler. To avoid mistakes, a good programming pattern is to define properties in lowercase, in both the interface script and in the form definition file. Property names are not checked at compile time, so nonexistent or mistyped properties will be ignored at runtime.


[wc                       ]
[                         ]
[                         ]
[                         ]
[                         ]
         COMPONENTTYPE = "3DCharts",
         STRETCH = BOTH,
         PROPERTIES = ( type = "bars",
                        x_label = "Months",
                        y_label = "Sales" );