Button Events
Button has the following events associated with it:
doLayout Event
This event is used to set the layout properties of child widgets in the relation to self and peer widgets whose layout is not yet performed.
Syntax
doLayout()
Read/Write
Read + Write
Remarks
This event is invoked for every widget when the widget position and dimensions are computed. This event is invoked for all the widgets placed inside flex containers. This event is invoked in the order in which the widgets are added to the widget hierarchy and expect the frame property of the widget is calculated and available for use within this event.
The number of times this event invoked may vary per platform. It is not recommended to write business logic assuming that this function is invoked only once when there is a change in positional or dimensional properties. This event will not trigger when transformations are applied though widget is moved or scaled or rotated from its original location.
Example
//Sample code to set doLayout event callback to a button widget.
/*This code changes the top property of button2 and makes it appear below button1.*/
myForm.button1.doLayout=doLayoutButton1;
function doLayoutButton1(){
myForm.button2.top = myForm.button1.frame.height;
}
Platform Availability
- iOS
- Android
- Windows
- SPA
onClick Event
An event callback is invoked by the platform when the user performs a click action on the button.
Syntax
onClick ()
Optional Parameters
rowIndex
Optional. Index of the row that contains the button. It is not available if the button is placed in a section header.
sectionIndex
Index of the section row that contains the button.
widgetInfo
Handle to the widget instance that contains the button.
Read/Write
Read + Write
Remarks
The onClick event callback accepts additional parameters when a button is placed in a segment row or section template.
Example
//Sample code to set onClick event callback to Button widget.
frmButton.myButton.onClick=onClickCallBck;
function onClickCallBck(button){
//Write your code here.
}
Platform Availability
- Available in the IDE
- Available on all platforms
onFocus Event
An event that accepts a callback function as an input and executes the functionality defined in the callback function when the widget is in focus.
Syntax
onFocus()
Input Parameters
Callback function
A function that contains the logic to be implemented when the widget is in focus.
The callback function of the onFocus Event contains a new parameter, activeElement. The activeElement parameter specifies the widget that is currently in focus.
Read/Write
Read + Write
Remarks
Assign a null value to the onFocus event of a widget to remove focus from the widget.
Example
//This is a generic event that is applicable for various widgets.
/*Here, we have shown how to use the onFocus event for a Button widget. You need to make a corresponding use of the onFocus event for other applicable widgets.*/
frmButton.myButton.onFocus = onFocusCallBack;
function onFocusCallBack(widget, activeElement) {
console.log('onFocus event triggered');
}
Platform Availability
- Available in the IDE
- Available on the Responsive Web platform
onScrollWidgetPosition Event
This event callback is invoked by the platform when the widget location position gets changed on scrolling. The onScrollWidgetPosition event returns the positional coordinates of the widget's location with respect to the screen (screenX and screenY) and the parent container (frameX and frameY). This event is invoked asynchronously, and is not available for FlexForm widget.
Syntax
onScrollWidgetPosition()
Read/Write
Read + Write
Example
var LabelWdg = new voltmx.ui.Label(basicConf, layoutConf, pspConf);
form.add(LabelWdg);
LabelWdg.onScrollWidgetPosition = onScrollWidgetPositionCallBack;
function onScrollWidgetPositionCallBack(wdg, screenX, screenY, frameX, frameY) { //wdg : Widget that is registered for onScrollWidgetPosition.
/*screenX : Position of widget with respect to
the screen's X - coordinates (after downsizing the navigation bar and status bar).*/
/*screenY : Position of widget with respect to the screen's Y -
coordinates (after downsizing the navigation bar and status bar).*/
//frameX : Position of widget with respect to parent container's X- coordinates.
//frameY : Position of widget with respect to parent container's Y- coordinates.
}
Platform Availability
- Not Accessible from IDE
- Android, iOS, SPA, and Windows
onTouchEnd Event
An event callback is invoked by the platform when the user touch is released from the touch surface.
Syntax
onTouchEnd ()
Optional Parameters
source
Handle to the widget reference on which the user touch has ended.
x
Specifies the x-coordinate with in the widget with respect to widget's co-ordinate system. It is a number indicating device independent pixel.
y
Specifies the y- coordinate with in the widget with respect to widget's co-ordinate system. It is a number indicating device independent pixel.
contextInfo
On devices that support 3D Touch, specifies a key-value pair where the value specifies the force of the touch. The value 1.0 represents the force of an average touch, as determined by the system.
Note: 3D Touch is available only on iOS 9.0 and later.
Read/Write
Read + Write
Remarks
This event is invoked asynchronously.
Example
function onTouchEndCallback(source, x, y, contextInfo) {
if (contextInfo) {
var force = contextInfo[“force”];
voltmx.print(“value of force is” + force)
}
}
Form1.widget1.onTouchEnd = onTouchEndCallback;
Platform Availability
- iOS, Android, Windows, and SPA
onTouchMove Event
An event callback is invoked by the platform when the touch moves on the touch surface continuously until movement ends.
Syntax
onTouchMove ()
Optional Parameters
source
Handle to the widget reference on which touch moves.
x
Specifies the x-coordinate with in the widget with respect to widget's co-ordinate system. It is a number indicating device independent pixel.
y
Specifies the y- coordinate with in the widget with respect to widget's co-ordinate system. It is a number indicating device independent pixel.
contextInfo
On devices that support 3D Touch, specifies a key-value pair where the value specifies the force of the touch. The value 1.0 represents the force of an average touch, as determined by the system.
Note: 3D Touch is available only on iOS 9.0 and later.
Read/Write
Read + Write
Remarks
This event is invoked asynchronously.
Example
function onTouchMoveCallback(source, x, y, contextInfo) {
if (contextInfo) {
var force = contextInfo[“force”];
voltmx.print(“value of force is” + force)
}
Form1.widget1.onTouchMove = onTouchMoveCallback;
Platform Availability
- iOS, Android, Windows, and SPA
onTouchStart Event
An event callback is invoked by the platform when the user touches the touch surface.
Syntax
onTouchStart ()
Optional Parameters
source
Handle to the widget reference on which the user touches.
x
Specifies the X co-ordinate with in the widget with respect to widget's co-ordinate system. It is a number indicating device independent pixel.
y
Specifies the Y co-ordinate with in the widget with respect to widget's co-ordinate system. It is a number indicating device independent pixel.
contextInfo
On devices that support 3D Touch, specifies a key-value pair where the value specifies the force of the touch. The value 1.0 represents the force of an average touch, as determined by the system.
Note: 3D Touch is available only on iOS 9.0 and later.
Read/Write
Read + Write
Remarks
This event is invoked asynchronously.
Example
function onTouchStartCallback(source, x, y, contextInfo) {
if (contextInfo) {
var force = contextInfo[“force”];
voltmx.print(“value of force is” + force)
}
}
Form1.widget1.onTouchStart = onTouchStartCallback;
Platform Availability
- iOS, Android, Windows, and SPA
postOnclickJS Event
This event allows the developer to execute custom JavaScript function after the onClick callback of the widget is invoked.
Syntax
postOnclickJS()
Read/Write
Read + Write
Remarks
This is applicable only for Mobile Web channel. The function must exist in a JavaScript file under project>module>js folder.
Example
//Sample code to set postOnclickJS event callback to Button widget.
frmButton.myButton.postOnclickJS=postOnclickJSCallBck;
function postOnclickJSCallBck(button){
//Write your code here.
}
Platform Availability
- Available in the IDE
- Available on Server side Mobile Web (Advanced) platform only
preOnclickJS Event
This event allows the developer to execute custom JavaScript function before the onClick callback of the widget is invoked.
Syntax
preOnclickJS()
Read/Write
Read + Write
Remarks
This is applicable only for Mobile Web channel. The function must exist in a JavaScript file under the project>module>js folder.
In for the preOnclickJS and postOnclickJS events , you will not be able to access application model or APIs, as these functions are executed in browser, whereas the remaining JS modules are executed in server. For these events you can access browser objects to change UI or perform some validation before server event. Only if the event preOnclickJS returns true, the request is sent to server for subsequent action.
You have to specify the modules to be loaded in browser using import JS tab; only then these files get included in HTML script tag, otherwise you will not be able to access the objects defined in those modules.
Example
//Sample code to set preOnclickJS event callback to Button widget.
frmButton.myButton.preOnclickJS=preOnclickJSCallBck;
function preOnclickJSCallBck(button){
//Write your code here.
}
Platform Availability
- Available in the IDE
- Available on Server side Mobile Web (BJS and Advanced) platform only