Adding Events
As per the requirement of your program, you can add different events by going to the properties panel and then click New in the Events tab.

Then Event tab shall be displayed, which has different labels among which some of them must be filled with correct values in order for the event to occur and some of them could extend your event functionality. Based on the requirement, one of these event types can be selected while adding an event to a program or a widget.

Table below explains what each label represents.
Label | Description |
---|---|
File (Widget-level) | If the event is set at widget level, then the name of the table to which the widget is associated with, is entered in this field. For local widgets, you do not need to set this field. |
Widget (Widget-level) | Name of the field for which the event is defined is entered in this field. |
Event | Select desired event from the combo. |
Sequence | Represents the sequence of the event. If an event needs to be run for a program/widget more than once, then a sequence no. needs to be specified so that it is clear which event runs first and which runs last. |
Procedure | Name of the procedure where the custom logic can be placed. |
Appserver | Select the required AppServer, if the event needs to be run in the AppServer, otherwise select NO-APP. For X/E GUI, it was used to segregate events which run on the client side and those which run on the server side. But in HTML5, since every event is run on the server side, you need not choose any AppServer in this field. However, you can select an AppServer which is hosted most probably on a different server and which also has the X/E files and the event logic file in its propath. These are mostly the cases when the logic needs to be run in a different set of databases.The Appserver connection parameters are maintained through the programX/E-Files>Master Files>Appservers For the frontend events for which you write the logic in .js (javascript) file, choose X-HTML5. |
Frontend | Select on which frontend the event runs. If ‘*’ then the event runs on all the frontend.You can also specify particular frontend. i.e., Z for Javra IDE and X for X/E GUI |
All values | If checked, it stores the screen-value of all the widget in a string when the event occurs. These values could be later used using function f-getvalue in the custom logic program. When the screen-value of all the widget is not required it is better not to check this option, as this will include some overhead, instead, use p-value which stores the value of widget whose event is being triggered. |
The Appserver dropdown field contains the following options as shown in the figure below. One of these options can be selected while adding an event to a program or widget.

Backend Events
Every event can be used as a front end or a node event or a backend event, however the same event cannot be used for different interfaces. For example, AFTER-DISPLAY event cannot be used as a frontend event, or a node event, if it is already used once as a backend event.