Bixby Developer Center

References

confirmation-view

optional

Determines the confirmation prompt being created, namely through what dialog and content are displayed to the user and how to handle confirm or abort responses. There must be a corresponding action asking for confirmation with the confirm key. For more information, see Confirmation Views in Building Bixby Views.

If you are using mode (Transactional), you must have a corresponding transactional action. Also, if you have a transactional confirmation, you can change the color of the confirmation view's action button in the capsule-info.bxb file using the action-fg-color and the action-bg-color keys.

Note

If the message key is missing, Bixby shows no confirmation dialog by default.

This key and its child keys must be defined in a *.view.bxb file. This file must be in an appropriate locale-specific resources folder or the base folder.

Note

Be aware of which components you are adding to your layouts and layout macros, because different components are available under different views. If you call a layout or layout macro in a view and that layout specifies a component that the view does not support, Bixby Developer Studio will throw an error. Similarly, you should consider which layout macros are being called within a layout itself. The same layout macro invoked in one component might not be valid if used within a different component, as the list of supported child components could differ.

You can read the Designing with Bixby Views Design Guide and the Building Bixby Views (UI) Developers' Guide to check if your layout is using the correct components for that moment and that view.

Examples

confirmation-view {
match {
core.Confirmation {
confirming {
CommitTransfer (action) {
from-input {
Transfer (this) {
min (Required)
}
}
}
}
}
}

message {
macro (ConfirmDetails)
}

confirm-options {
label ("Confirm transfer")
}

mode (Transactional)

render {
layout {
section {
content {
input-cell {
label {
macro (SendFromLabel)
}
value {
template ("#{value(this.fromAccount.accountType)}")
}
on-click {
intent {
subplan {
goal {FromAccount }
subplan {
goal: FindAccount
value-set { AccountType {}}
}
}
goal { @context (Continuation) CommitTransfer }
}
}
}
input-cell {
label {
macro (SendToLabel)
}
value {
template ("#{value(this.toAccount.accountType)}")
}
on-click {
intent {
subplan {
goal { ToAccount }
subplan {
goal: FindAccount
value-set { AccountType {}}
}
}
goal { @context (Continuation) CommitTransfer }
}
}
}
input-cell {
label {
macro (AmountLabel)
}
value {
template ("#{value(this.transferAmount)}")
}
on-click {
intent {
value-set { @prompt-behavior(AlwaysElicitation) TransferAmount {$expr(this.transferAmount)} }
goal { @context (Continuation) CommitTransfer }
}
}
}
input-cell {
label {
macro (MemoLabel)
}
value {
if (exists(this.note)) {
template ("[#{value(this.note)}]")
} else {
macro (NoMemoLabel)
}
}
on-click {
intent {
value-set { @prompt-behavior(AlwaysElicitation) Note {$expr(this.note)} }
goal { @context (Continuation) CommitTransfer }
}
}
}
}
}
}
}
}
confirmation-view {
match {
core.Confirmation {
confirming {
CommitOrder (action)
}
}
}

message ("Are you sure you want to buy this?")

mode (Transactional)

render {
layout {
macro (CommitOrder_Section) {
param (commitOrder) {
expression (action)
}
}
}
}
}

View master on GitHub

Child Keys

match
required
The match pattern evaluated to decide which action is being confirmed
abort-options
optional
Container for the abort options, which determines what happens if a user aborts a choice
confirm-options
optional
Container for the confirmation options, which determines what happens if a user confirms a choice
conversation-drivers
optional
Provides convenient shortcuts to related actions
message
optional
Message to display to users
modal-prompt[deprecated]
optional
This key is deprecated
mode
optional
The mode in which to render the confirmation decision
no-response-message
optional
This key is for internal use only
overrides
optional
Specifies overrides for certain behaviors on a per-view basis
refresh
optional
Allows for the results to be periodically refreshed, as long as the UI remains open
render
optional
Renders the specified view for users