dialog

Overview

The dialog UI component appears as a blocking overlay that provides information or confirms destructive behavior. They often prompt users to make a decision.

circle-info

Version compatibility

dialog was introduced in version 4.58.0 of the JourneyApps Runtime.

circle-check
circle-exclamation

dialog use cases

There are 3 main use cases for dialog. These are described in more detail below.

  1. Simple dialogs

  2. Confirmation dialogs

  3. Composition dialogs

Simple

A simple dialog displays information to the user and does not require the user to make a decision, thus can be dismissed by selecting the primary button, hitting the Esc key or back button.

circle-info

Tip

Use simple dialogs sparingly as they are interruptive. Rather, less obtrusive notifications can be used.

Example

Confirmation

A confirmation dialog gives the user the ability to provide final confirmation of a decision before committing to it. If the user confirms a choice, it’s carried out. Otherwise, the user can dismiss the dialog by selecting the secondary button.

Example

Composition

A composition dialogs allows developers to embed other UI components inside it, therefore offering a wide range of input options.

To embed a UI component to the dialog, add it inside a body tag. Refer to the syntax for more detail.

Example:

Standard Attributes

id

Required

The id attribute is required to target a particular dialog to call show() or hide() on it.

See also:

idchevron-right

title

Optional

Type: string (static text, a format string or the return value of a JS/TS function)

Default: unset

A dialog's title communicates its purpose to the user.

Titles should:

  • Contain a brief, clear statement or question

  • Summarize the dialog's content

  • Avoid the following:

    • apologies (“Sorry for the interruption”)

    • alarm (“Warning!”)

    • ambiguity (“Are you sure?”)

Advanced Attributes

auto-hide

Optional

Type: boolean

Default: true

By default the dialog will automatically hide when the user selects any of its buttons. To override this behavior, specify auto-hide="false".

circle-check

on-cancel

Optional

Default: unset

Triggered when: The secondary button on a confirmation dialog is selected.

Event parameter: Empty by default. Can be a user-defined variable or field.

Return value: undefined, or the user-defined variable or field

on-cancel is an event that calls a JS/TS $:function or navigation. See more details:

JS/TS Eventschevron-right
circle-info

Specifying on-cancel will change the dialog to a confirmation dialog, with a secondary and primary button.

on-submit

Optional

Default: unset

Triggered when: The primary button (for simple dialogs) or submit button (for multi-button dialogs) on a dialog is selected.

Event parameter: Empty by default. Can be a user-defined variable or field.

Return value: undefined, or the user-defined variable or field.

on-submit is an event that calls a JS/TS $:function or navigation. See more details:

JS/TS Eventschevron-right

See example for on-cancel.

circle-info

on-submit will not trigger when a simple dialog is dismissable by selecting on the backdrop or the user pressing Esc key.

submit-text and cancel-text

Optional

Type: string

Default: The default submit (primary) button text is OK and for confirmation dialogs the default cancel button text is Cancel. These will be translated by default.

The submit-text and cancel-text attributes allows for changing the default text on the dialog.

circle-check

subtext

Optional

Type: string

Default: unset

Subtext provides more detail to the user about the purpose of the dialog. The subtext attribute can be a format string and it also supports newline characters.

Component Methods

The following component methods are available when an id is assigned to the component and component.dialog({id:'my-id'}) is called from JS/TS:

scrollIntoView

Programmatically scroll until the component is visible in the view.

Last updated