gICAPI.Action()
The gICAPI.Action()
function is used to perform an action in the current
dialog.
Purpose of gICAPI.Action()
Use the gICAPI.Action("action-name")
function in order to
execute an action in the context of the current dialog.
This function takes the name of the action as parameter. The corresponding ON
ACTION
handler will be called.
gICAPI.action()
matches the action
name in lowercase letters. If the named action is not available (if it does not exist, or if it is disabled), the
gICAPI.Action()
function has no effect.
After calling gICAPI.Action("action-name")
, the gICAPI
framework will perform a gICAPI.onFlushData()
callback (if defined), to let you
provide the web component field value with gICAPI.setData()
.
However, if you do not use the gICAPI.onFlushData()
callback, it is also
possible to provide the value with gICAPI.setData()
, just before calling with
gICAPI.Action()
.
Example 1: Using gICAPI.SetData() directly before gICAPI.Action()
The following code executes the "color_selected" action, after setting the value of the
WEBCOMPONENT
field with gICAPI.SetData()
:
var selectColor = function(c) {
gICAPI.SetData(c);
gICAPI.Action("color_selected");
}
// In the HTML code, an element defines the onclick handler as follows:
... onclick="selectColor('#FFFFCC')" ...
Example 2: Using gICAPI.Action() and gICAPI.onFlushData()
The following code executes the "color_selected" action, and sets the value of the
WEBCOMPONENT
field with gICAPI.SetData()
in the
gICAPI.onFlushData()
callback:
var color = null;
var selectColor = function(c) {
color = c;
gICAPI.Action("color_selected");
}
gICAPI.onFlushData = function() {
gICAPI.SetData(color);
}
// In the HTML code, an element defines the onclick handler as follows:
... onclick="selectColor('#FFFFCC')" ...
Action handler in program code
ON
ACTION
block in a dialog instruction, to execute code when the corresponding web
component action is fired.WEBCOMPONENT
actions are not known by the
front-end. A default action view will be created for each ON ACTION
handler.
Consider using the DEFAULTVIEW=NO
action attribute, in order to avoid default action views
being displayed for your web component actions.
ON ACTION color_selected ATTRIBUTES( DEFAULTVIEW=NO )
IF rec.webcomp == "#000000" THEN
LET rec.webcomp = rec.pgcolor
LET rec.info = NULL
ERROR "Black color is denied!"
ELSE
LET rec.pgcolor = rec.webcomp
LET rec.info = "Color selected:", rec.pgcolor
END IF