This exercise is based around a parcel delivery service Apollo Parcels. When parcels cannot be delivered, customers can request redelivery on a certain date, and give a target redelivery time. |
...
- Open the configuration form for the Stream Apollo Deliveries
Go to the Actions tab
- Press to create a new action
- Give the action the following configuration:
- Name: Review Redelivery Slots
- Display Name: Review Redelivery Slots
- Open Post Dashboard: Apollo Delivery Slots
- Press
- Add context parameters to the action:
- Go to the Context Parameters tab
- Press
- Configure a context parameter with the settings:
- Name: DeliveryZone
- Expression: ApolloDeliveries.DeliveryZone
- Note that to reference the selected row, we use the Element Name of the view on the dashboard
- Press
- Configure another context parameter:
- Name: RedeliveryDate
- Expression: ApolloDeliveries.RedeliveryDate
- Press
- Press in the main Action configuration form
- To associate the action with the view:
- Open the configuration form for the view Apollo Deliveries
- Go to the Menu tab
- Press - Actions
- Select your action from the list and drag it into the list of actions associated with the view
- Press to apply your changes
- Open the configuration form for the view Apollo Deliveries
You have configured the action Review Redelivery Slots to pop up another dashboard when it runs - Apollo Delivery Slots. Now you will add a filter to Apollo Delivery Slots so that it only shows entries relevant for the customer's details (delivery zone and redelivery date):
- Open the view Apollo Delivery Slots from the Stream Apollo Delivery Slots (to see the data)
- Add a filter:
- Name: for Customer Details
- Conditions:
- Where ALL the following are true
- DeliveryZone equals _context.DeliveryZone
- Press the ABC button - this will now say fx
- DeliverySlotDate equals _context.RedeliveryDate
- Press the ABC button - this will now say fx
- Press
- All records in the view will disappear – this is because there is currently no context set
- Make this the default filter for the view:
- Open the configuration form for the view – remember that you can do this by right-clicking on any data record and selecting Show View (you will have to remove the filter you just added to do this)
- Go to the Advanced tab
- Set Default Filter to: for Customer Details
- Press
...
- Go to the Stream Apollo Deliveries
- Open the configuration form for the action Review Redelivery Slots
- Go to the Validate Action tab
- Enter the expression:
Code Block |
---|
if (ApolloDeliveries.DeliveryStatus != "REQ REDELIVERY", |
...
error("Not a redelivery request") |
...
) |
- Press
- Try running your action again – both on rows which are redelivery requests, and rows which are not - you should see the error appear when the row is not a redelivery request
...