Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
What is an Actionflow?
An Actionflow is a diagram that represents a sequence of actions and data flows within an application. It controls the interactions users have with an application and its data, e.g. opening a new screen to edit data.
Actionflows are composed of individual actions nodes that each perform a specific task, e.g. opening a screen or saving data, and have input and output connections to screens, buttons, tables or other Actionflows.
Actionflows belong to an application or package, and are represented by the icon.
Example Actionflow
For this example Actionflow, the user clicks a button to trigger the Actionflow that saves a new record containing the text "New".
Tip |
---|
All images in this course can be clicked on to make them larger. |
Why are Actionflows used in PhixFlow?
Actionflows make PhixFlow applications interactive. They convert a static screen into a user interface by combining individual actions into advanced functionality. This enables an application user to interact with the screens and data.
Actionflows are composable and reusable across an application but with different inputs connected, making Actionflows "data agnostic" and flexible, and ultimately saving time and effort.
Actionflow Simplified Overview
The following diagram illustrates a simplified view of an Actionflow that is being used by two different applications.
The Actionflow is set up to take in a value, Area Code, and return an value, Normalised Area Code, in the form of an Output value. The Contact App maps a Postcode onto the Area Code, this is then processed by the Actionflow to produce a Normalised Area Code, and the Actionflow returns a normalised version of the Postcode. The Logistics App also uses the Actionflow, which is a different instance, and this time a Zip Code is mapped in.
The returned Output can be used by the applications, for example, mapping the output onto a form field on a screen to display it.
Overview
When creating an application, you can configure Actionflows to respond to different events, such as a mouse click, double click or enter key press.
HTML Comment | ||
---|---|---|
| ||
I want to mention somewhere that there are many different ways to create actionflows, i.e. from a button a screen or from an event handler on an area on a screen. Actionflows can be created from the main actionflows page but this is not the easiest way. Can an actionflow even be created this way? How do you add an input? |
Event Handlers & Action Settings
An Event Handler is an action that responds to a specific event, such as a mouse click, double click or enter key press. The Event Handler defines how the application behaves when the event is triggered, such as running an
. Insert excerpt _actionflow _actionflow nopanel true
Multiple event handlers can be set on the same component or field. For example, you may wish for a validation Actionflow to be triggered On Enter and On Blur.
Set Events/Actions on: | |||
Event/Action | Description | Component | Data Field |
---|---|---|---|
On Click | The user mouse clicks in an area. | Area | - |
On Change | A toggle field changes state or the user mouse-clicks out of a data field in which they have changed data. Note: This event is not triggered by the user typing into a field. | - | Boolean Date Datetime Number String |
On Enter | The user presses the Enter key in a data field. | - | |
On Blur | The user mouse-clicks out of a data field. Note: This event is triggered whether or not the data in the field has been changed. | - | |
Double Click | The user double clicks in a grid. | View | |
Auto Save | The user changes data in a grid, then clicks out of the cell. | View | |
Drag Types & Drop Targets | User drags an item from one part of a screen, and dropping on another part. | View Kanban Area | |
Task Plan | The user starts a task plan or a task plan auto-starts according to its schedule. | ||
On Startup | The user loads the application. |
Tip |
---|
On Click events are automatically set on button components. |
Adding an Event Handler
- From a screen, click on a component or field to open its
Insert excerpt _property_tabs _property_tabs nopanel true - Click on the
and in the Event Handler section, click theInsert excerpt _property_tabs _property_tabs name action nopanel true
icon to create a new event handlerInsert excerpt _addIcon _addIcon nopanel true In the New Event Handler
, select an Event TypeInsert excerpt _property_settings _property_settings nopanel true Tip Only events available for this type of component will show - see Event Types table above.
- For Action Method, select Actionflow, then click the
icon to create a new Actionflow or click theInsert excerpt _add_icon _add_icon nopanel true
icon to display a list of available ActionflowsInsert excerpt _actionflow_icon _actionflow_icon nopanel true
Adding Action Settings
- From a screen, right-click on a grid and press
Insert excerpt _view_show_config _view_show_config nopanel true On the View's
, click on theInsert excerpt _property_settings _property_settings nopanel true Insert excerpt _property_tabs _property_tabs name action nopanel true - In the Action Settings section, under Double Click Action, select Actionflow
- Click the
icon to create a new Actionflow or click theInsert excerpt _add_icon _add_icon nopanel true
icon to display a list of available ActionflowsInsert excerpt _actionflow_icon _actionflow_icon nopanel true
Worked Examples
Here are worked examples using the Retail Data (available from the Learning Centre).
In this example, we are using:
- A Shop Stock screen containing a grid of the Shop Stock data, a pie chart of the Shop Stock data and a grid of the Shop Departments data - this screen was created using the Multi-Tile template
- A Shop Statistics screen containing 4 tiles with charts and graphs of the Shop Stock data - this screen was created using the Tile no Buttons template
- A Shop Customer Form screen containing form fields and associated with Shop Customers data by a background filter - this screen was created using the Edit Form template
Tip |
---|
If you are completing this chapter as part of the Actionflow course and using a training instance, the data and screens have already been pre-loaded into the Actionflow Intermediate Application. For this example, we'll be working on configuring events on:
|
Example 1: Configuring an On Click Event
In this example, we'll set up an Actionflow to open a screen when an area is clicked.
On the screen where the Actionflow will be initiated from, Shop Stock, find the area, Split Area Top (use the search in the
)Insert excerpt _layers _layers nopanel true Click on the area to open its properties
- On the
, in the Event Handler section, click theInsert excerpt _property_tabs _property_tabs name action nopanel true
to create a new event handler:Insert excerpt _addIcon _addIcon nopanel true - Event Type: select On Click
- Action Method: choose Actionflow
- Click
Insert excerpt _save _save nopanel true - Click the
icon to create a new ActionflowInsert excerpt _addIcon _addIcon nopanel true - Name:
Open Shop Stock Statistics
- Name:
- Click
on the Split Area Top area propertiesInsert excerpt _save _save nopanel true - On the Actionflow, select Click to Connect and choose an input of On Click
- Create an Open Screen Actionflow that opens the Shop Stock Statistics screen
See 1.07 Open Screen Action Configuration
Expand title Checkpoint
- Close the Actionflow and
the new event handler propertiesInsert excerpt _finish _finish nopanel true
- On the Split Area Top area properties, click the
Insert excerpt _property_tabs _property_tabs name style nopanel true - In the Style Settings section, tick Cursor and set this to Pointer (hand pointing)
- This indicates to your application users that this area is clickable
the area propertiesInsert excerpt _finish _finish nopanel true
the screen and click the area to see the Actionflow in actionInsert excerpt _lock _lock nopanel true
HTML Comment | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example 2: Configuring a Double-Click EventConfigure a double-click action on a grid to open a screen where the selected record can be edited.
|
Example 2: Configuring an On Change Event
In this example, we'll set up an Actionflow to display a dynamic text string when a boolean field's state is changed (from false to true).
On the screen where the Actionflow will be initiated from, Shop Customer Form, find the True/False Field, mailingList (use the
)Insert excerpt _layers _layers nopanel true Click the field to open its properties
- On the
, in the Event Handler section, click theInsert excerpt _property_tabs _property_tabs name action nopanel true
to create a new event handler:Insert excerpt _addIcon _addIcon nopanel true - Event Type: select On Change
- Action Method: choose Actionflow
- Click
Insert excerpt _save _save nopanel true - Click the
icon to create a new ActionflowInsert excerpt _addIcon _addIcon nopanel true
- On the Actionflow, select Click to Connect and choose an input of On Change
Using a
Action, create an Output Attribute containing the following string:Insert excerpt _action_calculate _action_calculate nopanel true Code Block theme Emacs "Inform the customer that they will receive weekly emails with news and offers."
- Create an Output Connection Point back to the Shop Customer Form screen
- Drag the
node onto the Calculate actionInsert excerpt _input _input nopanel true - Drag the
node onto the Calculate actionInsert excerpt _output _output nopanel true - Map your new Output Attribute onto the dynamic text component, checkEmailText
Remember to map this both on the output connector on the canvas, and on the output connection point under Connections
Expand title Checkpoint
- Close the Actionflow and
the new event handler propertiesInsert excerpt _finish _finish nopanel true
the True/False Field propertiesInsert excerpt _finish _finish nopanel true - To test the Actionflow, close and reopen the screen, ensuring it is
edInsert excerpt _lock _lock nopanel true - Populate the First Name and Last Name fields as these are mandatory fields and will show an error message if not populated
- Click the 'Would the customer like to join the mailing list?' toggle to see the Actionflow in action