gICAPI.onFocus()
The gICAPI.onFocus() function is used to detect if the
WEBCOMPONENT field lost or acquired focus.
Purpose of gICAPI.onFocus()
The gICAPI.onFocus() function is called when the runtime system gives/grabs the
focus to/from the WEBCOMPONENT field.
gICAPI.onFocus() function is mandatory to implement a gICAPI web
component.gICAPI.onFocus() function:- When the runtime system gives the focus to the
WEBCOMPONENTfield, the polarity parameter istrue. - When the runtime system grabs the focus from the
WEBCOMPONENTfield, the polarity parameter isfalse.
When polarity is true and HTML elements of the web component
can get the focus, the gICAPI.onFocus() function must set the focus to the expected
element inside the web component.
This function can also be used to handle an internal flag, to know if the web component has got
the focus. If the web component has the focus, you can call the gICAPI.SetData()
function to provide the current value of the WEBCOMPONENT field.
When is gICAPI.onFocus() called?
gICAPI.onFocus(polarity) function is called with
polarity=true in the following cases:- If the current dialog selects the
WEBCOMPONENTfield, as a normal tabbing candidate, - If the user code executes an explicit
NEXT FIELDinstruction (or equivalent dialog instruction) to the web component, - If the web component JavaScript code asked to get the focus with
gICAPI.SetFocus(), and the program has accepted to give the focus to theWEBCOMPONENTfield.
gICAPI.onFocus(polarity) function is called with
polarity=false in the following cases:- If the current dialog gives the focus to another field, as a normal tabbing candidate,
- If the user code executes an explicit
NEXT FIELDinstruction (or equivalent dialog instruction) to move to another field,
gICAPI.onFocus() function will not be called with
polarity=false, if the web component JavaScript code asked the focus with
gICAPI.SetFocus(), and the program refused to give the focus.Example
The following code example defines the gICAPI.onFocus() function to set an
internal flag and give the focus to the textarea:
var has_focus = false;
var onICHostReady = function(version) {
...
gICAPI.onFocus = function(polarity) {
has_focus = polarity;
if (has_focus) {
var field1 = document.getElementById("field1");
field1.focus();
}
};
...
};