core2-jvm (latest)
core2-jvm (latest)core-jvm
  • Home
  • Features
  • Spec
  • Guides
  • Sandbox
  • Step Studio
  • Step
    • Action
    • External
    • Help
    • Link Handler
    • Navigation
    • Persist Async
    • Polling
    • Refresh On Change
    • Schema On Change
    • Step Error
    • Suggestions
    • Summary
    • Toolbar
    • Upload
    • Validate Async
    • Schema
    • All Of Schema
    • Array Schema
    • Blob Schema
    • Boolean Schema
    • Const Schema
    • Integer Schema
    • Number Schema
    • Object Schema
    • One Of Schema
    • String Schema
    • Layout
    • Alert Layout
    • Box Layout
    • Button Layout
    • Columns Layout
    • Decision Layout
    • Divider Layout
    • Form Layout
    • Heading Layout
    • Image Layout
    • Instructions Layout
    • List Layout
    • Loading Indicator Layout
    • Markdown Layout
    • Media Layout
    • Modal Layout
    • Paragraph Layout
    • Progress Layout
    • Review Layout
    • Search Layout
    • Section Layout
    • Status List Layout
    • Tabs Layout
    • Upsell Layout
    • Behavior
    • Action Behavior
    • Copy Behavior
    • Dismiss Behavior
    • Link Behavior
    • Modal Behavior
    • Refresh Behavior
    • Subflow Behavior
    • Subflow
    • Dynamic Launch Config
    • Launch Config
    • Modal Presentation
    • Native Launch Config
    • Presentation
    • Push Presentation
    • Action Response Body
    • Error Response Body
    • Flow Response
    • Modal Response Body
    • No Op Response Body
    • Search Initial Layout Config
    • Search Initial Results Config
    • Search Initial State
    • Search Layout Response Body
    • Search Response
    • Search Response Body
    • Search Result
    • Search Results Response Body
    • Subflow Response Body
    • Additional Info
    • Align
    • Autocapitalization Type
    • Autocomplete Token
    • Context
    • Icon
    • Image
    • Inline Alert
    • Media
    • Native Capabilities
    • Request
    • Size
    • Supporting Values
    • Control
    • Tag

Navigation

Android - 8.38.0 iOS - 8.35 Web - 2.5.0

Allows configuration of how navigating between steps should happen.

For example, it can be used to control what happens when the user navigates back from a step.

Properties

PropertyTypeRequiredDescription
backNavigation.BackBehaviorNoConfigure custom back behavior which overrides any native back behavior of the client.

stackBehavior

Navigation.StackBehavior

No

Configure the behavior of the navigation stack when this step is presented.

Android - 8.59.0 iOS - 8.51.1 Web - 4.37.0

Related Types

Back Behavior

Describes how back navigation should be handled. If omitted, clients will handle back navigation natively. This means they will return to the previous step if possible, or exit the flow.

navigation {
    back {
        title = "Back"
        action {
            url = "/payment-method-selection"
        }
    }
}

When to use

  • When navigating back requires a new step from the server, e.g. if the content is invalid and needs to be regenerated.

When not to use

  • If the step the user just navigated from is still valid, and is a logical place to go back to, then this property should be omitted so the native behavior is left intact.

Properties

PropertyTypeRequiredDescription
actionActionYesThe Action triggered when the user navigates back. Note that this action will not validate the model against the schema before submitting.
titleStringNoA title describing the back action.

Stack Behavior

Describes the behavior of the navigation stack when the step is presented.

When to use

  • When an intermediate step (e.g. a step that displays a loader) which should not be kept on the stack, a remove-previous stack behaviour could be used.
  • When returning to previous steps is invalid, for example on a success screen after an operation has been completed, it might make sense to completely clear the stack with a remove-all stack behavior.
  • When the current step is being replaced, to give the appearance of refreshing, a replace-current stack behavior could be used.

Values

ValueDescription
defaultThe step is pushed onto the navigation stack.
remove-allThe step is pushed onto the navigation stack and all previous steps are removed. If there are no previous steps, then this behaves the same as default.
remove-previousThe step is pushed onto the navigation stack and the previous step is removed. If there is no previous step, then this behaves the same as default.
replace-currentThe step replaces the current step on the navigation stack, acting as an update to the current step. If there is no current step, then this behaves the same as default.