std:ui:choose
This template renders a simple list of option for the user to choose from. Each option is rendered as a large type link with optional smaller explanatory text below. Each choice has a large click target.
Use this when you want a user to choose from two or more options, and clicking through does not perform any actions. For choices where an action is taken, the std:ui:confirm template may be more appropriate as the actions use POST requests.
Obtain a Template object with P.template("std:ui:choose"), or use the template:std:ui:choose() template function.
View
key options
An array of options, each of which is rendered as a form button. It has keys:
action |
The URL for the href attribute of the link. |
label |
The main text for this choice. |
notes |
(Optional) A longer line of explanatory text for this option. |
highlight |
(Optional) If true, the choice is highlighted. |
indicator |
(Optional) What kind of indicator to display next to the item (see below). |
Indicators
The "indicator" key may have one of these values:
"standard" |
Simple indicator with no particular meaning. |
"primary" |
Primary or expected action |
"secondary" |
Secondary action |
"terminal" |
Action which terminates a process |
"forward" |
Forward arrow |
"back" |
Back arrow |
"primary-forward" |
Primary with forward arrow |
"secondary-forward" |
Secondary with forward arrow |
"primary-back" |
Primary with back arrow |
"secondary-back" |
Secondary with back arrow |
Example
P.respond("GET", "/do/example/choose", [
], function(E) {
E.render({
pageTitle: "What kind of fruit do you prefer?",
options: [
{
action: "/do/example/choose?fruit=apples",
label: "Apples",
indicator: "primary"
notes: "All our apples are locally grown."
},
{
action: "/do/example/choose?fruit=oranges",
label: "Oranges",
indicator: "secondary"
}
]
}, "std:ui:choose");
});