Insert excerpt |
---|
| _Banners |
---|
| _Banners |
---|
name | actionflow |
---|
nopanel | true |
---|
|
What is a Lookup?
Image Modified
Lookups are denoted by a dotted double-ended connector transferring data into and out of a Insert excerpt |
---|
| _action_view |
---|
| _action_view |
---|
nopanel | true |
---|
|
Action, and are used to lookup and retrieve records in other recordsets. Lookup views require:
- Incoming Mappings: the attributes being passed into the View Action via the lookup connector
- Output Attributes: the attributes being used by the View Action to filter the results
- Outgoing Mappings: the attributes being passed out of the View Action via the lookup connector
Expand |
---|
|
Insert excerpt |
---|
| 1.15 View Action Configuration |
---|
| 1.15 View Action Configuration |
---|
name | LookupVsView |
---|
nopanel | true |
---|
|
|
Creating Lookups
Iframe |
---|
allowfullscreen | true |
---|
src | https://www.youtube.com/embed/2gwSPS8exxA?si=o14CBebFWw42bSIG?&rel=0&ytp-pause-overlay |
---|
width | 680 |
---|
align | middle |
---|
height | 400 |
---|
|
- Hover over an action node, e.g. a Calculate Action, on the canvas and select Image Modified
- Enter a name for the Lookup Connector
- Click onto a
Insert excerpt |
---|
| _action_view |
---|
| _action_view |
---|
nopanel | true |
---|
|
action on the canvas - Alternatively, click onto any empty space on the canvas to create a new
Insert excerpt |
---|
| _action_view |
---|
| _action_view |
---|
nopanel | true |
---|
|
Action
HTML Comment |
---|
hidden | true
Worked Example
Here's a worked example using the School Data (available from the Learning Centre).
In this example, we are using:
- A Classroom Management screen - this screen was created using the Tile with Buttons template, and contains:
- A basic card container of the Classroom data
- A basic card container of the Courses data
- An empty string field, FilterField
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 Foundation Application. For this example, we'll be working on the Classroom Management screen. |
Lookup to Classroom Courses
In this example, we want to see the courses held in each classroom when each classroom is clicked. To do this, we will use the classroom data to lookup and retrieve the associated courses data, then output that data back to the screen where it can be used to filter the courses data.
Image RemovedImage Added
To do this it we will:
- Lookup the courses using the Classroom ID, which is found on both the Classroom and Course tables
- Write those courses' Course ID(s) back to the screen onto a string field
- Setup a background filter to only show courses in a Courses card container that match the Course ID in the field
Event Handler Setup
Event handlers facilitate actions occurring in response to a user action. For this example, we want a user clicking on a classroom card to run an Actionflow that populates a string field that we will later to use to filter the information that can be seen on screen
- Click on the top card on the Classroom Management screen to open the
Insert excerpt |
---|
| _property_settings |
---|
| _property_settings |
---|
nopanel | true |
---|
|
for the area, Card - Click on the
Insert excerpt |
---|
| _property_tabs |
---|
| _property_tabs |
---|
name | action |
---|
nopanel | true |
---|
|
- Click the
Insert excerpt |
---|
| _add_icon |
---|
| _add_icon |
---|
nopanel | true |
---|
|
icon in the Event Handler section - In the New Card (On Click) Event Handler tab, click
- Enter a name for the Actionflow:
- Name:
Filter Courses
Image Modified
Create Calculate Action and Lookup
- Select Click to Connect and for the input, choose the Classrooms Card Component, then select Connect Input
- In the Mappings window that opens, drag the ClassroomID attribute from the left to the right
- Select Save
- Click and drag the
Insert excerpt |
---|
| _action_calculate |
---|
| _action_calculate |
---|
nopanel | true |
---|
|
icon from the toolbar onto the canvas - In the Create Calculate Action window enter:
- Name:
GetCourses
Select Create Action
Note |
---|
For the input data, the attributes pass through the Calculate action without being processed. For the output data, the Calculate action processes the data into an array. |
- Click and drag the
Insert excerpt |
---|
| _driving_interface_connection_point |
---|
| _driving_interface_connection_point |
---|
name | icon |
---|
nopanel | true |
---|
|
icon onto the Insert excerpt |
---|
| _action_calculate |
---|
| _action_calculate |
---|
nopanel | true |
---|
|
action node - Right-click on the in connector and choose
Insert excerpt |
---|
| _open_mappings |
---|
| _open_mappings |
---|
nopanel | true |
---|
|
- Drag the ClassroomID attribute on the left onto the Drag and Drop area on the right
- Select Save
- To look up to the School_Courses table, hover over the
Insert excerpt |
---|
| _action_calculate |
---|
| _action_calculate |
---|
nopanel | true |
---|
|
action node and choose, Add Lookup- On the Add Connection Point window, name the lookup:
luc
- We recommend choosing a name to indicate the action taking place, e.g. "luc" for look up courses
- Click Confirm
- With the red arrow attached to your mouse, click anywhere on the canvas
- In the Create View Action window enter:
- Name:
Courses
- Primary Table: choose School_Course
Select Create Action
- The Output Attribute Selection window will open automatically
- Click the tick box next to CourseID
- Click Next
- The Incoming Mappings window will open automatically
- Drag the ClassroomID attribute from the left (Calculate Action) into the Drag and Drop area on the right to create a corresponding attribute in the
Insert excerpt |
---|
| _action_view |
---|
| _action_view |
---|
nopanel | true |
---|
|
action - Select Next
- The Outgoing Mappings window will open automatically
- Drag the CourseID attribute from the left (View Action) to the Drag and Drop area on the right to map a corresponding attribute back to the
Insert excerpt |
---|
| _action_calculate |
---|
| _action_calculate |
---|
nopanel | true |
---|
|
action- Image Modified
- Click Confirm and Create Filter
- We need to filter the data coming out of the lookup
- Name:
ByClassroomID
- Click abc to tell PhixFlow to interpret the field as an expression
- Filter Conditions: Image Modified
- In this filter, the top CourseID is from the Courses data, and the bottom CourseID is from the Classroom data
- Select Finish
Expand |
---|
|
Image Modified |
- Click on the
Insert excerpt |
---|
| _action_calculate |
---|
| _action_calculate |
---|
nopanel | true |
---|
|
action on the canvas to open its Insert excerpt |
---|
| _property_tabs |
---|
| _property_tabs |
---|
nopanel | true |
---|
|
- In the Output Attributes section, click the
Insert excerpt |
---|
| _addIcon |
---|
| _addIcon |
---|
nopanel | true |
---|
|
icon to create a new attribute:- Name:
CourseIDArray
- Type: Choose
Structured Data
This will return the results as an array
- Expression:
Click
Insert excerpt |
---|
| _finish |
---|
| _finish |
---|
nopanel | true |
---|
|
Under Connections on the left, select
Insert excerpt |
---|
| _addIcon |
---|
| _addIcon |
---|
nopanel | true |
---|
|
AddAdd an Output Connection Point:
- Name:
output
Type: choose Output
- Click Create Connection Point
- In the Connect Output window, choose the ClassroomAvailabilityManagement , then Connect Output
- Close the Mappings window that opens as we don't have any attributes to map to this yet
- Hover your mouse over the
Insert excerpt |
---|
| _action_calculate |
---|
| _action_calculate |
---|
nopanel | true |
---|
|
action on the canvas and click out - When the red arrow shows, click on the
Insert excerpt |
---|
| _output |
---|
| _output |
---|
name | icon |
---|
nopanel | true |
---|
|
node under Connections- On the Mappings window, drag across the CourseIDArray attribute from the Calculate action into the Drag and Drop area on the right to create a corresponding attribute on the output
- Click Save
- Click the output connection point, under Connections
- On the Mappings window, drag the CourseIDArray attribute from the output to the string field, FilterField
- Click Save
- The Actionflow is now built
Expand |
---|
|
Image Modified |
Setting up a Background Filter
The Event Handler and Actionflow will now populate the string field, FilterField, by clicking each classroom card, but the Courses card container needs a background filter setting so it can be filtered by the values in the string field.
Expand |
---|
|
Anchor |
---|
| troubleshooting |
---|
| troubleshooting |
---|
|
Note |
---|
If at any point your screen does not display the expected results, such as clicking on the classroom card does not populate FilterField, or after creating the below filter the Courses cards do not filter, always try closing and reopening the screen first. |
|
- Return to the Classroom Management screen
Click on the Courses card container to open the Card Component
Insert excerpt |
---|
| _property_settings |
---|
| _property_settings |
---|
nopanel | true |
---|
|
- Ensure you click on the white space underneath the top contact card to open the Card Component
On the
Insert excerpt |
---|
| _property_tabs |
---|
| _property_tabs |
---|
nopanel | true |
---|
|
, in the Background Filter Rules section, click Insert excerpt |
---|
| _addIcon |
---|
| _addIcon |
---|
nopanel | true |
---|
|
- Enter the Rule Expression:
true
- Create a new filter by pressing
Insert excerpt |
---|
| _addIcon |
---|
| _addIcon |
---|
nopanel | true |
---|
|
next to Filter:- Name:
ByFilterField
- In the Filter Details section, click Select an option and choose the CourseID in the Table Attributes
- Filter Details: Image Modified
- Click
Insert excerpt |
---|
| _finish |
---|
| _finish |
---|
nopanel | true |
---|
|
on both the Filter and Filter Rule Insert excerpt |
---|
| _property_settings |
---|
| _property_settings |
---|
nopanel | true |
---|
|
- the screen and click a classroom card to see the Actionflow working
Having trouble? See Troubleshooting above.
Tip |
---|
Once you have verified the Actionflow is working, the FilterField string field can be hidden in the Insert excerpt |
---|
| _property_tabs |
---|
| _property_tabs |
---|
name | style |
---|
nopanel | true |
---|
| or |
Insert excerpt |
---|
_layers | _layers | nopanel | true |
to tidy up the screen.Worked Example
Here's a worked example using the School Data (available from the Learning Centre).
In this example, we are using:
- A Course Management screen containing - this screen was created using the Tile with Buttons template, and contains:
- A grid of the School Courses data
- A contacts card container of the School Students data
- An empty string field, StudentIDFromAttendees
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 Foundation Application. For this example, we'll be working on the expandable tile on the Course Management screen. |
Lookup to Retrieve Course Attendees
In this example, we want to see the students enrolled on each course. To do this, we will use the course data to lookup and retrieve the associated attendees data, then output the attendee data back to the screen where it can be used to filter the students data.
Image Removed
To do this it we will:
Lookup using the Course ID, which is found on both the Course and Attendees tablesUse the Course ID on the Attendees table to find the corresponding Student ID(s) of the student(s) attending that courseScreen Setup
Write those Student ID(s) back to the screen onto a string fieldSetup a background filter to only show students in a Students contacts card container that match the Student ID in the field_locklocknopanel | true |
your screen to expand the Students contacts card container on the right, shown by the tile with chevron Insert excerpt |
---|
_unlock | _unlock | nopanel | true |
your screen and click Insert excerpt |
---|
_palette | _palette | nopanel | true |
in the toolbar to open the Serene Grey palette Expand Buttons - Secondary and add a custom button to the Tile - Footer area beneath the School Courses grid- Name:
Enrolled Students
Using the Insert excerpt |
_nopanel | true |
, hold down shift to move the button into the area, RightImage Removed
Create Calculate Action and View Action
Right-click on the Enrolled Students button and choose Insert excerpt |
---|
_actionflow_add | _actionflow_add | nopanel | true |
Enter a name for the Actionflow:- Name:
Find Students
- Select Confirm
Select Click to Connect and for the input, choose the School Course Insert excerpt |
---|
_grid | _grid | nopanel | true |
View Component, then select Connect InputIn the Mappings window that opens, drag the CourseID attribute from the left to the right- Select Save
Click and drag the Insert excerpt |
---|
_action_calculate | _action_calculate | nopanel | true |
icon from the toolbar onto the canvasIn the Create Calculate Action window enter:Name: FindStudents
Select Create Action
Note |
---|
For the input data, the attributes pass through the Calculate action without being processed. For the output data, the Calculate action processes the data into an array. |
Click and drag the Insert excerpt |
---|
_driving_interface_connection_point | _driving_interface_connection_point | name | icon |
---|
nopanel | true |
icon onto the Insert excerpt |
---|
_action_calculate | _action_calculate | nopanel | true |
action nodeRight-click on the in connector and choose Insert excerpt |
---|
_open_mappings | _open_mappings | nopanel | true |
---|
- Drag the CourseID attribute on the left onto the Drag and Drop area on the right
- Select Save
To look up to the Course Attendees table, we need to create a Insert excerpt |
---|
_action_view | _action_view | nopanel | true |
ActionClick and drag the Insert excerpt |
---|
_action_view | _action_view | nopanel | true |
icon from the toolbar onto the canvasIn the Create View Action window enter:- Name:
GetStudentID
- Primary Table: choose Course Attendees
Select Create Action
Expand |
---|
|
Image Removed |
Hover over the Insert excerpt |
---|
_action_calculate | _action_calculate | nopanel | true |
Action and select Image RemovedEnter a name for the Lookup Connector:Name: lu
Select ConfirmWhen the red arrow shows, click on the Insert excerpt |
---|
_action_view | _action_view | nopanel | true |
action on the canvasSelect the Insert excerpt |
---|
_action_view | _action_view | nopanel | true |
action on the canvas to open its Insert excerpt |
---|
_property_settings | _property_settings | nopanel | true |
In the Output Attributes section, click on the Insert excerpt |
---|
_attributes_icon | _attributes_icon | nopanel | true |
icon In the Available Attributes window, drag StudentID into the Output Attributes section of the Insert excerpt |
---|
_property_settings | _property_settings | nopanel | true |
Click OKSelect the lu connector to map the incoming and outgoing dataFor the Incoming Mappings:Drag the CourseID attribute from the left (Calculate Action) into the Drag and Drop area on the right to create a corresponding attribute in the Insert excerpt |
---|
_action_view | _action_view | nopanel | true |
actionSelect NextFor the Outgoing Mappings:Drag the StudentID attribute from the left (View Action) to the Drag and Drop area on the right to map a corresponding attribute back to the Insert excerpt |
---|
_action_calculate | _action_calculate | nopanel | true |
action- Image Removed
Right-click on the StudentID attribute you just created and select Insert excerpt |
---|
_edit | _edit | nopanel | true |
Rename the attribute: StudentIDFound
- Image Removed
Click ConfirmWe need to filter the data coming out of the lookup Click on the Insert excerpt |
---|
_action_view | _action_view | nopanel | true |
action to open its PropertiesIn the Data Retrieval Options section, click the Insert excerpt |
---|
_addIcon | _addIcon | nopanel | true |
icon next to FilterName: ByCourseID
Filter Details: Image Removed- Click abc to tell PhixFlow to interpret the field as an expression
Insert excerpt |
---|
_finish | _finish | nopanel | true |
the Filter tab Insert excerpt |
---|
_save | _save | nopanel | true |
the View Action tab Expand |
---|
|
Image Removed |
Click on the Insert excerpt |
---|
_action_calculate | _action_calculate | nopanel | true |
action on the canvas to open its Insert excerpt |
---|
_property_tabs | _property_tabs | nopanel | true |
In the Output Attributes section, click the Insert excerpt |
---|
_addIcon | _addIcon | nopanel | true |
icon to create a new attribute:Name: CourseStudentIDs
Type: Choose Structured Data
- This will return the results as an array
Expression:
Code Block |
---|
|
lu.StudentIDFound |
Click Insert excerpt |
---|
_finish | _finish | nopanel | true |
Under Connections on the left, select Insert excerpt |
---|
_addIcon | _addIcon | nopanel | true |
AddAdd an Output Connection Point:- Name:
out
- Type: choose Output
- Click Create Connection Point
Select Click to Connect and choose the CourseManagement Insert excerpt |
---|
_form | _form | nopanel | true |
, then Connect Output- Close the Mappings window that opens
Hover your mouse over the Insert excerpt |
---|
_action_calculate | _action_calculate | nopanel | true |
action on the canvas and click outWhen the red arrow shows, click on the Insert excerpt |
---|
_output | _output | name | icon |
---|
nopanel | true |
node under ConnectionsOn the Mappings window, drag across the CourseStudentIDs output attribute from the Calculate action into the Drag and Drop area on the right to create a corresponding attribute in the output- Click Save
Click the out connection point, under ConnectionsOn the Mappings window, drag the CourseStudentIDs output attribute from the output to the string field, StudentIDFromAttendees- Click Save
The Actionflow is now built Expand |
---|
|
Image Removed |
Setup Background Filter
The Actionflow will populate the string field, StudentIDFromAttendees, but the values in this field need to be linked to the Students contact cards using a background filter in order to only see the students for the selected course only.
Return to the Course Management screen Click on the Students contact card container to open the Card Component Insert excerpt |
---|
_property_settings | _property_settings | nopanel | true |
- Ensure you click on the white space underneath the top contact card to open the Card Component
On the Insert excerpt |
---|
_property_tabs | _property_tabs | nopanel | true |
, in the Background Filter Rules section, click Insert excerpt |
---|
_addIcon | _addIcon | nopanel | true |
Enter the Rule Expression: true
Create a new filter by pressing Insert excerpt |
---|
_addIcon | _addIcon | nopanel | true |
next to Filter:- Name:
ByStudentID
- Filter Details: Image Removed
Click Insert excerpt |
---|
_finish | _finish | nopanel | true |
on both the Filter and Filter Rule Insert excerpt |
---|
_property_settings | _property_settings | nopanel | true |
---|
Insert excerpt |
---|
_lock | _lock | nopanel | true |
the screen and press the Enrolled Students button to see the Actionflow working Tip |
Once you have verified the Actionflow is working, the StudentIDFromAttendees string field can be hidden in the Insert excerpt |
---|
_property_tabs | _property_tabs | name | style