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.
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.
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.
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)
}
}
}
}
}
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 |