Client-side Events in Smart Devices

Client events allow developers to add behavior and logic to the application mixing the execution between the client-side and server-side. As mentioned in Category :Smart Device Events?, Start, Refresh and Load are server events executed completely on the server, which means that they cannot use any of the resources of the device. In client events, we can mix the power of the server and the resources of our device.

Client-side events must use Composite command when trying to concatenate more than one action.

ClientStart event is the first event executed on the device, even before executing Start event (server-side), without user interaction. Allows the developer to initialize the entry screen, e.g. UI, variables, etc.

Navigation.Start event is executed immediately after ClientStart event, and allows the developer to initialize aspect related to navigation style (e.g. call the main panel when the application has Slide navigation).

These events are the programmatic response of the application to user interaction. These forms of interaction are called actions and can be seen in on-screen buttons, images, or other controls that when , long tapped, etc., will execute the event associated to the action. Also, exists other predefined events that are executed in special cases or without any user interaction.

Mainly we have two types of events: user and control events. Both are associated with controls. The slight difference is while the former has a name given by the developer and then associated to the controls themselves (with the tap gesture as the way to trigger them); the latter are automatically predefined, depending on control type, having, in the case of touch control events, the event itself as the way to trigger them (e.g. control.LongTap event). Other kinds of control events are, for example, control.PageChanged event (when control is a grid of certain control type), or control.ControlValueChanged event (when control is a readOnly attribute or variable).

What happens when the end user triggers an action? The associated code is executed on the client-side (i.e. in the device) unless a roundtrip to the server is required; for example, when a procedure must be invoked. In any case, system events are not executed (unless they are explicitly required by the Refresh command).

Call a Panel for Web by means of the Component Domain.
This action displays a web page by the web navigator, loading the web panel without showing navigator's frame. That can be recovered if the user wishes to do so.

Control properties assignments depending on the control.
When the developer enters the control name followed by a dot ("."), an intellitip is opened showing all possibilities for this control.
For example,

Use If-Else-EndIf, Do-Case and Do-While code blocks.
Cannot use complex expressions on the conditions such as calling Procedures or External Objects methods; only simple conditions are allowed using variables, attributes or SDT members, and involving operators and standard functions.