Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
This is a new feature in Joget DX 8.
Component Events enables interactions between page components with event triggering and event listening using AJAX, a technology that allows web pages to communicate with a server behind the scenes. This means that specific parts of a web page can update or exchange data without requiring the entire page to reload, making the user experience more seamless and responsive.
When a user clicks on the "Edit" button, a "Edit Meeting Details" form appears below the table without reloading the entire webpage.
Figure 1: The expected outcome through the proper implementation of a component event.
You may learn more about Component Events by visiting the Joget DX Showcase application in the App Center, then clicking on New In DX 8 > Component Events.
Figure 2: How to get to the Component Events showcase in the Joget DX Showcase application.
Note
The Joget DX Showcase app is a default app that can be found in every fresh installation of Joget DX 8.
No. | Component | Name | Image (For Reference) |
---|---|---|---|
1 | Form | Calendar - Meeting | Figure 3: The Form component relevant to the Meeting Date Management example from the App Composer. Figure 4: The Form component relevant to the Meeting Date Management example from the Form Builder. |
2 | List | List - Calendar - Meeting | Figure 5: The List component relevant to the Meeting Date Management example from the App Composer. Figure 6: The List component relevant to the Meeting Date Management example from the List Builder. |
3 | UI | Joget DX 8 Showcase | Figure 7: The UI component relevant to the Meeting Date Management example from the App Composer. Figure 8: The UI component relevant to the Meeting Date Management example from the UI Builder. |
Under Configure CRUD:
Form Label | Value |
---|---|
Label * | Manage Meeting |
List * | List - Calendar - Meeting |
Form (Edit) | Calendar - Meeting |
Figure 11: The required configuration in the Configure CRUD property.
Under AJAX & Events:
Form Label | Value | ||||||||
---|---|---|---|---|---|---|---|---|---|
Handle Component with AJAX? | (Checked) - Checking this label will enable the following sub-properties. | ||||||||
Event Listening | |||||||||
Row 1 | Component Object | Form | |||||||
Event Name * | reload_table | ||||||||
Matched Action | Show and Reload Component | ||||||||
Explanation The application listens for a 'reload_table' event. When the event is triggered, it shows and reloads the Form component object. | |||||||||
Event Triggering | |||||||||
Row 1 | Event Name * | load_form | |||||||
Trigger Method * | Link Clicked | ||||||||
Parameters Changed Rules
These parameters are required to trigger the "Link Clicked" Trigger Method. For instance, in this context, when the parameter name "_mode" is equals to "edit", then the "Link Clicked" Trigger Method is triggered. | |||||||||
When Not Match Trigger Event Name | hide_form | ||||||||
Explanation When the "Link Clicked" trigger method is activated, it initiates the "load_form" event. |
Figure 12: The required configuration in the AJAX & Events property.
Under Configure Form:
Form Label | Value |
---|---|
Label * | Form |
Form * | Calendar - Meeting |
Display Field as Label When Readonly? | (unchecked) |
Figure 15: The required configuration in the Configure Form property.
Under Redirection:
Form Label | Value |
---|---|
URL Redirect on Cancellation | ?close=true |
Figure 16: The required configuration in the Redirection property.
Under AJAX & Events:
Form Label | Value | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Handle Component with AJAX? | (Checked) - Checking this label will enable the following sub-properties. | |||||||||||||||
Event Listening | ||||||||||||||||
Row 1 | Component Object | Manage Meeting | ||||||||||||||
Event Name * | hide_form | |||||||||||||||
Matched Action | Hide Component | |||||||||||||||
Explanation The application listens for a 'hide_form' event. When the event is triggered, it hides the "Manage Meeting" component object. | ||||||||||||||||
Row 2 | Component Object | Manage Meeting | ||||||||||||||
Event Name * | load_form | |||||||||||||||
Matched Action | Show and Change Component URL Parameters | |||||||||||||||
Parameters *
| ||||||||||||||||
Explanation The application listens for a 'load_form' event. When the event is triggered, it shows and changes the component URL parameters in the "Manage Meeting" component object. | ||||||||||||||||
Row 3 | Component Object | Main Menu Component | ||||||||||||||
Event Name * | page_loaded | |||||||||||||||
Matched Action | Hide Component | |||||||||||||||
Explanation The application listens for a 'page_loaded' event. When the event is triggered, it hides the Main Menu Component component object. | ||||||||||||||||
Row 4 | Component Object | Form | ||||||||||||||
Event Name * | hide_form | |||||||||||||||
Matched Action | Hide Component | |||||||||||||||
Explanation The application listens for a 'hide_form' event. When the event is triggered, it hides the Form component object. | ||||||||||||||||
Event Triggering | ||||||||||||||||
Row 1 | Event Name * | hide_form | ||||||||||||||
Trigger Method * | GET Request | |||||||||||||||
Parameters Changed Rules
Note These parameters are required to trigger the "GET Request" Trigger Method. For instance, in this context, when the parameter name "close" is equals to "true", then the "GET Request" Trigger Method is triggered. | ||||||||||||||||
Explanation When the "GET Request" trigger method is activated, it initiates the "hide_form" event. | ||||||||||||||||
Row 2 | Event Name * | reload_table | ||||||||||||||
Trigger Method * | POST Request | |||||||||||||||
Explanation When the "Link Clicked" trigger method is activated, it initiates the "reload_table" event. |
Figure 17: The required configuration in the AJAX & Events property (partial).
Figure 18: The required configuration in the AJAX & Events property (partial).
Figure 19: The required configuration in the AJAX & Events property (partial).