go-to
This action redirects you to another jig. The go-to action can be used with elements like swipeable and rightElement or combined with another action. When paired with another action, it is triggered after the main action to navigate to a specified screen, for example, saving a date in a form and then opening a list of customers. go-to helps configure navigation, ensuring a seamless app flow. See Navigation for more information.
Configuration option
A go-to action can be set up in various ways:
As a separate action or in the action list.
As an associated action in the action list.
As a
swipeableaction in the left or right direction.As
rightElementin the list.Use the
go-toto open a jig as a modal using theisModalproperty set totrue. Set tofalseopens navigates to the specified jig.Use the
behaviourproperty to determine if you want to push the jig into the history of navigation, by using thenewvalue, or reuse the one you already have in history by using theexistingvalue.When you navigate to a jig using the
action.go-toor open it as a bottom modal (by settingisModal: true), you can access the outputs from that jig by referencing itsinstanceIdin your context expressions. In the originating jig, use the syntax[email protected].[isntance-id-of-the-jig].outputs.[key-of-output]to retrieve specific output values. See the Accessing jig outputs from a modal example.
Considerations
Current known limitations when using the
isModalproperty include:Unable to send a value from the jig modal to the parent jig.
Depending on the device used different behavior can be expected, such as the jig will slide from the bottom to top, but the entire screen will be covered. This applies to:
On any Android device (phones and tablets).
On an iPad in landscape mode:
When the drawer is open, it will only open in the jig panel.
When the drawer is closed, it will cover the entire screen, but it will not display as a modal.
Examples and code snippets
go-to as an action

actions:
- children:
- type: action.go-to
options:
title: Go to
linkTo: default-employee-detailgo-to swipeable left/right

This example uses the go-to action as a swipeable property. We can choose the swipe direction left or right. After pressing the button, it will redirect to the details of the person.
Examples left: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Examples right: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected]
leftElement:
element: avatar
text: " "
uri: [email protected]
rightElement:
element: button
title: Go to
onPress:
type: action.go-to
options:
linkTo: default-employee-detailitem:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected]
leftElement:
element: avatar
text: " "
uri: [email protected]
swipeable:
right:
- label: Go to
color: primary
onPress:
type: action.go-to
options:
linkTo: default-employee-detailgo-to right button element

item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected]
leftElement:
element: avatar
text: " "
uri: [email protected]
rightElement:
element: button
title: Go to
onPress:
type: action.go-to
options:
linkTo: default-employee-detailgo-to onSuccess

In this example, the go-back action is associated with the submit-form action. After we enter the signature and press the "Sign" button, the submit-form action is performed and then the go-to action redirects us to the next page.
Examples: See the full example using dynamic data in GitHub.
actions:
- children:
- type: action.action-list
options:
title: Sign and go to detail
isSequential: true
actions:
- type: action.execute-entity
options:
provider: DATA_PROVIDER_DYNAMIC
entity: default/form
method: create
data:
signature: [email protected]
onSuccess:
title: Succesfully signed
actions:
- type: action.go-to
options:
title: Go to employee detail
linkTo: default-employee-detail
- type: action.go-backgo-to open a jig as a modal
In this example, we use the go-to action as the rightElement in the list-item component. There is a button for each item. When tapped the go-to will open the jig as a modal when the isModal property is set to true.
Examples: See the full example using dynamic data in GitHub.

title: Go To action
type: jig.list
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected]
leftElement:
element: avatar
text: " "
uri: [email protected]
rightElement:
element: button
title: Go to
onPress:
type: action.go-to
options:
# When navigating to the jig, the jig opens as a modal,
# specifying false will open as a normal jig.
isModal: true
linkTo: default-employee-detailtitle: Employee detail
type: jig.default
children:
- type: component.avatar
options:
title: ""
uri: https://images.unsplash.com/photo-1591084728795-1149f32d9866?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=928&q=80
size: large
align: center
- type: component.entity
options:
children:
- type: component.section
options:
title: Personal information
children:
- type: component.field-row
options:
children:
- type: component.entity-field
options:
label: Birth date
value: "12.02.1993"
- type: component.entity-field
options:
label: Gender
value: Male
- type: component.field-row
options:
children:
- type: component.entity-field
options:
label: Email
value: [email protected]
contentType: email
- type: component.entity-field
options:
label: Phone
value: "+61 392 482 323"
contentType: phone
- type: component.section
options:
title: Address
children:
- type: component.field-row
options:
children:
- type: component.entity-field
options:
label: Street
value: 14 Argyle Street
- type: component.entity-field
options:
label: City
value: Titaatee Creek
- type: component.field-row
options:
children:
- type: component.entity-field
options:
label: State
value: New South Wales
- type: component.entity-field
options:
label: Country
value: Australia
- type: component.list
options:
data: [email protected]
isHorizontal: true
item:
type: component.pie-chart
options:
chart:
title:
text: [email protected]
verticalAlign: center
subtitle:
text: [email protected]
verticalAlign: center
width: 140
height: 140
isAnimated: true
legend:
isHidden: true
series:
- data: [email protected]type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/employees
query: |
SELECT
id,
'$.firstname',
'$.lastname',
'$.picture',
'$.modify',
'$.date_from',
'$.date_to',
'$.email',
'$.phone',
'$.percentage',
'$.category',
'$.photo',
'$.time'
FROM [default/employees]
WHERE '$.category' = "employees" ORDER BY '$.firstname' ASCtype: datasource.static
options:
data:
- title: 91%
subtitle: Q1/2022
data:
- y: 91
color: positive
- y: 9
color: transparent
- title: 99%
subtitle: Q2/2022
data:
- y: 99
color: positive
- y: 1
color: transparent
- title: 10%
subtitle: Q3/2022
data:
- y: 10
color: positive
- y: 90
color: transparent
- title: 0%
subtitle: Q4/2022
data:
- y: 0
color: positive
- y: 100
color: transparentgo-to using new & existing behaviour
In this example, three jigs are configured to create a stack of data for each guest, including their Name, Age, and Address. Each jig's go-to action is set with the behaviour property as new, enabling new guest details to be pushed into the app history. In the final jig, a secondary go-to action is added. This action introduces a button to review each guest's data by setting the behaviour property to existing and linking to the first jig in the stack via the linkTo property. The review process will cycle through each guest's details in the stack before completing.


title: Name
type: jig.default
onFocus:
type: action.reset-state
options:
state: [email protected]
header:
type: component.jig-header
options:
height: medium
children:
type: component.image
options:
source:
uri: https://images.unsplash.com/photo-1521336575822-6da63fb45455?w=800&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTB8fGFkdmVudHVyZXxlbnwwfHwwfHx8MA%3D%3D
children:
- type: component.form
instanceId: form-a
options:
isDiscardChangesAlertEnabled: false
children:
- type: component.text-field
instanceId: fullName
options:
label: Name
actions:
- children:
- type: action.action-list
options:
title: NEXT
isSequential: true
actions:
- type: action.execute-entity
options:
provider: DATA_PROVIDER_LOCAL
entity: guests
method: save
data:
fullName: [email protected]
# The go-to action is configured to open the next jig in the stack.
- type: action.go-to
options:
# Set the parameters to use the value held in the state,
# this will be used as an input throughout the stack.
inputs:
fullName: [email protected]
# Select new to push the jig into the app history,
# this allows you to capture the next jig's data in the stack.
behaviour: new
# Configure which jig must open next.
linkTo: jig-btitle: Age
type: jig.default
# Use inputs from the first jig in the stack.
inputs:
fullName:
type: string
required: true
header:
type: component.jig-header
options:
height: medium
children:
type: component.image
options:
source:
uri: https://images.unsplash.com/photo-1471400974796-1c823d00a96f?w=800&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8M3x8YWR2ZW50dXJlfGVufDB8fDB8fHww
children:
- type: component.form
instanceId: form-a
options:
isDiscardChangesAlertEnabled: false
children:
- type: component.number-field
instanceId: age
options:
label: age
actions:
- children:
- type: action.action-list
options:
title: NEXT
isSequential: true
actions:
- type: action.execute-entity
options:
provider: DATA_PROVIDER_LOCAL
entity: guests
method: save
data:
age: [email protected]
# Select new to push the jig into the app history,
# this allows you to capture the next jig's data in the stack.
- type: action.go-to
options:
# Set the parameters to use the input value passed from the
# first jig in the stack.
inputs:
fullName: [email protected]
# Select new to push the jig into the app history,
# this allows you to capture the next jig's data in the stack.
behaviour: new
# Configure which jig must open next in the stack.
linkTo: jig-ctitle: Address
type: jig.default
# Use inputs from the first jig in the stack.
inputs:
fullName:
type: string
required: true
header:
type: component.jig-header
options:
height: medium
children:
type: component.image
options:
source:
uri: https://images.unsplash.com/photo-1563013544-824ae1b704d3?w=800&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTB8fG9ubGluZSUyMGNhcnR8ZW58MHx8MHx8fDA%3D
children:
- type: component.form
instanceId: form-a
options:
isDiscardChangesAlertEnabled: false
children:
- type: component.text-field
instanceId: address
options:
isMultiline: true
label: Address
actions:
- children:
- type: action.go-to
options:
inputs:
fullName: [email protected]
# In this go-to action we go back to start capturing the next stack
# in the data set.
title: Add another guest
# Select new to push the jig into the app history,
# this allows you to capture the next set of data for a new stack.
behaviour: new
# Open the first jig in the stack to start capturing the new stack
# of data.
linkTo: jig-a
# Add a second go-to action that will create a secondary button,
# allowing you to review the existing data set in the stack.
# Add existing to behaviour which will cycle through all the jigs in
# the history, showing the jig with the data for each jig.
# Note the jigs will cycle through the screens for each capture,
# meaning if you captured 3 sets in the stack, all 3 stacks are shown.
- type: action.go-to
options:
title: Review details
# Select existing to return and display the jig data
# that is held in the app history.
behaviour: existing
# Open the first jig in the stack to start cycling through the data
# for each stack captured.
linkTo: jig-aAccessing jig outputs from a modal
When you navigate to a jig using the action.go-to or open it as a bottom modal (by setting isModal: true), you can access the outputs from that jig by referencing its instanceId in your context expressions. In the originating jig, use the syntax [email protected].[isntance-id-of-the-jig].outputs.[key-of-output] to retrieve specific output values. The instanceId must match the one specified in the instanceId field of your navigation action, and the key corresponds to the specific output field you want to access from the target jig. This allows for seamless data flow between jigs, whether they're opened as full-screen navigations or modal overlays, enabling you to capture user interactions and form submissions from the modal jig and use them in the parent jig's logic or display.

title: My Details
type: jig.default
children:
- type: component.number-field
instanceId: myNumber
options:
label: Provide a contact number
- type: component.date-picker
instanceId: myBirth
options:
label: Provide a contact number
# Specify the outputs that will be passed and displayed in Jig A
outputs:
phone: [email protected]
DOB: [email protected]Last updated
Was this helpful?