User Actions and user interface
User interface and screen flow
The Requea platform provides user action flow to design, manage and extend user interfaces. Those user interface flows are called user actions or "actions" and are attached to entities.
User action define the flow of operation calls and screen that the user will see.
For example, the list user action is commonly defined with 2 steps:
- step 1: search the database, retrieve the records (entities) and return the result as a variable ("data")
- step 2: show the result (the "data" variable) as a list. The list may be a simple list, a multiple column table or a tree view for example.
For more information about user actions, you can view the following articles:
- User action flow in detail
describes the different action blocks and the action sequence
- User interface personalization for forms and entity detail view
how to change forms and entities detail view, add properties
- User interface personalisation for lists
how to change lists, add properties in multi-column tables
User action attributes
instance action
An "Instance" action is an action that is available on one entity. (the instance).
For example
- edit is an "instance" action: it work on one particular record
- list is not an "instance" action: it does not work on a particular record. It shows all the record
- new is not an "instance". It creates a new record, but does not start (work) on a particular record
- duplicate is an "instance" action. It copy an existing record (therefore, it works an a particular record).
Instance actions should be checked as "Instance".
Instance action:
- they are listed in a detail page, not listed on a list page
- the platform loads the instance and put it in the "data" variable. This is done automatically.
Visible Script
The visible script is used to hide / show actions for the user based on the context. The script is executed in the context of the instance object so the properties are accessed directly
Examples of "visible script":
myProp == true
myStatus == “Open”
rqUser != null && rqUser.sysId == System.UserId
System.User.hasAccess(“56647747477737733”);
System.User.hasListAccess(data.sysWrite);