Struct demand::MultiSelect
source · pub struct MultiSelect<T: Display> {
pub title: String,
pub theme: Theme,
pub description: String,
pub options: Vec<DemandOption<T>>,
pub min: usize,
pub max: usize,
pub filterable: bool,
/* private fields */
}Expand description
Select multiple options from a list
Example
use demand::{DemandOption, MultiSelect};
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"));///
let toppings = ms.run().expect("error running multi select");Fields§
§title: StringThe title of the selector
theme: ThemeThe colors/style of the selector
description: StringA description to display above the selector
options: Vec<DemandOption<T>>The options which can be selected
min: usizeThe minimum number of options which must be selected
max: usizeThe maximum number of options which can be selected
filterable: boolWhether the selector can be filtered with a query
Implementations§
source§impl<T: Display> MultiSelect<T>
impl<T: Display> MultiSelect<T>
sourcepub fn new<S: Into<String>>(title: S) -> Self
pub fn new<S: Into<String>>(title: S) -> Self
Create a new multi select with the given title
Examples found in repository?
examples/multiselect.rs (line 4)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"));
ms.run().expect("error running multi select");
}More examples
examples/multiselect_huge.rs (line 4)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
fn main() {
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"))
.option(DemandOption::new("Peanut Butter"))
.option(DemandOption::new("Banana"))
.option(DemandOption::new("Strawberries"))
.option(DemandOption::new("Blueberries"))
.option(DemandOption::new("Pineapple"))
.option(DemandOption::new("Mango"))
.option(DemandOption::new("Kiwi"))
.option(DemandOption::new("Passion Fruit"))
.option(DemandOption::new("Peaches"))
.option(DemandOption::new("Raspberries"))
.option(DemandOption::new("Blackberries"))
.option(DemandOption::new("Mint"))
.option(DemandOption::new("Chocolate Chips"))
.option(DemandOption::new("Oreos"))
.option(DemandOption::new("Brownie Bites"))
.option(DemandOption::new("Cookie Dough"))
.option(DemandOption::new("Graham Cracker Crumbs"))
.option(DemandOption::new("M&Ms"))
.option(DemandOption::new("Reese's Pieces"))
.option(DemandOption::new("Butterfinger"))
.option(DemandOption::new("Heath Bar"))
.option(DemandOption::new("Kit Kat"))
.option(DemandOption::new("Snickers"))
.option(DemandOption::new("Twix"))
.option(DemandOption::new("Caramel"))
.option(DemandOption::new("Hot Fudge"))
.option(DemandOption::new("Marshmallow"))
.option(DemandOption::new("Whipped Cream"))
.option(DemandOption::new("Chocolate Syrup"))
.option(DemandOption::new("Caramel Syrup"))
.option(DemandOption::new("Strawberry Syrup"))
.option(DemandOption::new("Peanut Butter Syrup"))
.option(DemandOption::new("Nutella Syrup"))
.option(DemandOption::new("Honey"))
.option(DemandOption::new("Sprinkles"))
.option(DemandOption::new("Chocolate Sprinkles"))
.option(DemandOption::new("Coconut Flakes"))
.option(DemandOption::new("Almonds"))
.option(DemandOption::new("Peanuts"))
.option(DemandOption::new("Walnuts"))
.option(DemandOption::new("Pecans"))
.option(DemandOption::new("Cashews"))
.option(DemandOption::new("Pistachios"))
.option(DemandOption::new("Macadamia Nuts"))
.option(DemandOption::new("Hazelnuts"))
.option(DemandOption::new("Peanut Butter Cups"))
.option(DemandOption::new("Gummy Bears"))
.option(DemandOption::new("Sour Patch Kids"))
.option(DemandOption::new("Sour Gummy Worms"))
.option(DemandOption::new("Sour Skittles"))
.option(DemandOption::new("Skittles"))
.option(DemandOption::new("Starburst"))
.option(DemandOption::new("Twizzlers"))
.option(DemandOption::new("Milk Duds"));
ms.run().expect("error running multi select");
}sourcepub fn description(self, description: &str) -> Self
pub fn description(self, description: &str) -> Self
Set the description of the selector
Examples found in repository?
examples/multiselect.rs (line 5)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"));
ms.run().expect("error running multi select");
}More examples
examples/multiselect_huge.rs (line 5)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
fn main() {
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"))
.option(DemandOption::new("Peanut Butter"))
.option(DemandOption::new("Banana"))
.option(DemandOption::new("Strawberries"))
.option(DemandOption::new("Blueberries"))
.option(DemandOption::new("Pineapple"))
.option(DemandOption::new("Mango"))
.option(DemandOption::new("Kiwi"))
.option(DemandOption::new("Passion Fruit"))
.option(DemandOption::new("Peaches"))
.option(DemandOption::new("Raspberries"))
.option(DemandOption::new("Blackberries"))
.option(DemandOption::new("Mint"))
.option(DemandOption::new("Chocolate Chips"))
.option(DemandOption::new("Oreos"))
.option(DemandOption::new("Brownie Bites"))
.option(DemandOption::new("Cookie Dough"))
.option(DemandOption::new("Graham Cracker Crumbs"))
.option(DemandOption::new("M&Ms"))
.option(DemandOption::new("Reese's Pieces"))
.option(DemandOption::new("Butterfinger"))
.option(DemandOption::new("Heath Bar"))
.option(DemandOption::new("Kit Kat"))
.option(DemandOption::new("Snickers"))
.option(DemandOption::new("Twix"))
.option(DemandOption::new("Caramel"))
.option(DemandOption::new("Hot Fudge"))
.option(DemandOption::new("Marshmallow"))
.option(DemandOption::new("Whipped Cream"))
.option(DemandOption::new("Chocolate Syrup"))
.option(DemandOption::new("Caramel Syrup"))
.option(DemandOption::new("Strawberry Syrup"))
.option(DemandOption::new("Peanut Butter Syrup"))
.option(DemandOption::new("Nutella Syrup"))
.option(DemandOption::new("Honey"))
.option(DemandOption::new("Sprinkles"))
.option(DemandOption::new("Chocolate Sprinkles"))
.option(DemandOption::new("Coconut Flakes"))
.option(DemandOption::new("Almonds"))
.option(DemandOption::new("Peanuts"))
.option(DemandOption::new("Walnuts"))
.option(DemandOption::new("Pecans"))
.option(DemandOption::new("Cashews"))
.option(DemandOption::new("Pistachios"))
.option(DemandOption::new("Macadamia Nuts"))
.option(DemandOption::new("Hazelnuts"))
.option(DemandOption::new("Peanut Butter Cups"))
.option(DemandOption::new("Gummy Bears"))
.option(DemandOption::new("Sour Patch Kids"))
.option(DemandOption::new("Sour Gummy Worms"))
.option(DemandOption::new("Sour Skittles"))
.option(DemandOption::new("Skittles"))
.option(DemandOption::new("Starburst"))
.option(DemandOption::new("Twizzlers"))
.option(DemandOption::new("Milk Duds"));
ms.run().expect("error running multi select");
}sourcepub fn option(self, option: DemandOption<T>) -> Self
pub fn option(self, option: DemandOption<T>) -> Self
Add an option to the selector
Examples found in repository?
examples/multiselect.rs (line 9)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"));
ms.run().expect("error running multi select");
}More examples
examples/multiselect_huge.rs (line 9)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
fn main() {
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"))
.option(DemandOption::new("Peanut Butter"))
.option(DemandOption::new("Banana"))
.option(DemandOption::new("Strawberries"))
.option(DemandOption::new("Blueberries"))
.option(DemandOption::new("Pineapple"))
.option(DemandOption::new("Mango"))
.option(DemandOption::new("Kiwi"))
.option(DemandOption::new("Passion Fruit"))
.option(DemandOption::new("Peaches"))
.option(DemandOption::new("Raspberries"))
.option(DemandOption::new("Blackberries"))
.option(DemandOption::new("Mint"))
.option(DemandOption::new("Chocolate Chips"))
.option(DemandOption::new("Oreos"))
.option(DemandOption::new("Brownie Bites"))
.option(DemandOption::new("Cookie Dough"))
.option(DemandOption::new("Graham Cracker Crumbs"))
.option(DemandOption::new("M&Ms"))
.option(DemandOption::new("Reese's Pieces"))
.option(DemandOption::new("Butterfinger"))
.option(DemandOption::new("Heath Bar"))
.option(DemandOption::new("Kit Kat"))
.option(DemandOption::new("Snickers"))
.option(DemandOption::new("Twix"))
.option(DemandOption::new("Caramel"))
.option(DemandOption::new("Hot Fudge"))
.option(DemandOption::new("Marshmallow"))
.option(DemandOption::new("Whipped Cream"))
.option(DemandOption::new("Chocolate Syrup"))
.option(DemandOption::new("Caramel Syrup"))
.option(DemandOption::new("Strawberry Syrup"))
.option(DemandOption::new("Peanut Butter Syrup"))
.option(DemandOption::new("Nutella Syrup"))
.option(DemandOption::new("Honey"))
.option(DemandOption::new("Sprinkles"))
.option(DemandOption::new("Chocolate Sprinkles"))
.option(DemandOption::new("Coconut Flakes"))
.option(DemandOption::new("Almonds"))
.option(DemandOption::new("Peanuts"))
.option(DemandOption::new("Walnuts"))
.option(DemandOption::new("Pecans"))
.option(DemandOption::new("Cashews"))
.option(DemandOption::new("Pistachios"))
.option(DemandOption::new("Macadamia Nuts"))
.option(DemandOption::new("Hazelnuts"))
.option(DemandOption::new("Peanut Butter Cups"))
.option(DemandOption::new("Gummy Bears"))
.option(DemandOption::new("Sour Patch Kids"))
.option(DemandOption::new("Sour Gummy Worms"))
.option(DemandOption::new("Sour Skittles"))
.option(DemandOption::new("Skittles"))
.option(DemandOption::new("Starburst"))
.option(DemandOption::new("Twizzlers"))
.option(DemandOption::new("Milk Duds"));
ms.run().expect("error running multi select");
}sourcepub fn min(self, min: usize) -> Self
pub fn min(self, min: usize) -> Self
Set the minimum number of options which must be selected
Examples found in repository?
examples/multiselect.rs (line 6)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"));
ms.run().expect("error running multi select");
}More examples
examples/multiselect_huge.rs (line 6)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
fn main() {
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"))
.option(DemandOption::new("Peanut Butter"))
.option(DemandOption::new("Banana"))
.option(DemandOption::new("Strawberries"))
.option(DemandOption::new("Blueberries"))
.option(DemandOption::new("Pineapple"))
.option(DemandOption::new("Mango"))
.option(DemandOption::new("Kiwi"))
.option(DemandOption::new("Passion Fruit"))
.option(DemandOption::new("Peaches"))
.option(DemandOption::new("Raspberries"))
.option(DemandOption::new("Blackberries"))
.option(DemandOption::new("Mint"))
.option(DemandOption::new("Chocolate Chips"))
.option(DemandOption::new("Oreos"))
.option(DemandOption::new("Brownie Bites"))
.option(DemandOption::new("Cookie Dough"))
.option(DemandOption::new("Graham Cracker Crumbs"))
.option(DemandOption::new("M&Ms"))
.option(DemandOption::new("Reese's Pieces"))
.option(DemandOption::new("Butterfinger"))
.option(DemandOption::new("Heath Bar"))
.option(DemandOption::new("Kit Kat"))
.option(DemandOption::new("Snickers"))
.option(DemandOption::new("Twix"))
.option(DemandOption::new("Caramel"))
.option(DemandOption::new("Hot Fudge"))
.option(DemandOption::new("Marshmallow"))
.option(DemandOption::new("Whipped Cream"))
.option(DemandOption::new("Chocolate Syrup"))
.option(DemandOption::new("Caramel Syrup"))
.option(DemandOption::new("Strawberry Syrup"))
.option(DemandOption::new("Peanut Butter Syrup"))
.option(DemandOption::new("Nutella Syrup"))
.option(DemandOption::new("Honey"))
.option(DemandOption::new("Sprinkles"))
.option(DemandOption::new("Chocolate Sprinkles"))
.option(DemandOption::new("Coconut Flakes"))
.option(DemandOption::new("Almonds"))
.option(DemandOption::new("Peanuts"))
.option(DemandOption::new("Walnuts"))
.option(DemandOption::new("Pecans"))
.option(DemandOption::new("Cashews"))
.option(DemandOption::new("Pistachios"))
.option(DemandOption::new("Macadamia Nuts"))
.option(DemandOption::new("Hazelnuts"))
.option(DemandOption::new("Peanut Butter Cups"))
.option(DemandOption::new("Gummy Bears"))
.option(DemandOption::new("Sour Patch Kids"))
.option(DemandOption::new("Sour Gummy Worms"))
.option(DemandOption::new("Sour Skittles"))
.option(DemandOption::new("Skittles"))
.option(DemandOption::new("Starburst"))
.option(DemandOption::new("Twizzlers"))
.option(DemandOption::new("Milk Duds"));
ms.run().expect("error running multi select");
}sourcepub fn max(self, max: usize) -> Self
pub fn max(self, max: usize) -> Self
Set the maximum number of options which can be selected
Examples found in repository?
examples/multiselect.rs (line 7)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"));
ms.run().expect("error running multi select");
}More examples
examples/multiselect_huge.rs (line 7)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
fn main() {
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"))
.option(DemandOption::new("Peanut Butter"))
.option(DemandOption::new("Banana"))
.option(DemandOption::new("Strawberries"))
.option(DemandOption::new("Blueberries"))
.option(DemandOption::new("Pineapple"))
.option(DemandOption::new("Mango"))
.option(DemandOption::new("Kiwi"))
.option(DemandOption::new("Passion Fruit"))
.option(DemandOption::new("Peaches"))
.option(DemandOption::new("Raspberries"))
.option(DemandOption::new("Blackberries"))
.option(DemandOption::new("Mint"))
.option(DemandOption::new("Chocolate Chips"))
.option(DemandOption::new("Oreos"))
.option(DemandOption::new("Brownie Bites"))
.option(DemandOption::new("Cookie Dough"))
.option(DemandOption::new("Graham Cracker Crumbs"))
.option(DemandOption::new("M&Ms"))
.option(DemandOption::new("Reese's Pieces"))
.option(DemandOption::new("Butterfinger"))
.option(DemandOption::new("Heath Bar"))
.option(DemandOption::new("Kit Kat"))
.option(DemandOption::new("Snickers"))
.option(DemandOption::new("Twix"))
.option(DemandOption::new("Caramel"))
.option(DemandOption::new("Hot Fudge"))
.option(DemandOption::new("Marshmallow"))
.option(DemandOption::new("Whipped Cream"))
.option(DemandOption::new("Chocolate Syrup"))
.option(DemandOption::new("Caramel Syrup"))
.option(DemandOption::new("Strawberry Syrup"))
.option(DemandOption::new("Peanut Butter Syrup"))
.option(DemandOption::new("Nutella Syrup"))
.option(DemandOption::new("Honey"))
.option(DemandOption::new("Sprinkles"))
.option(DemandOption::new("Chocolate Sprinkles"))
.option(DemandOption::new("Coconut Flakes"))
.option(DemandOption::new("Almonds"))
.option(DemandOption::new("Peanuts"))
.option(DemandOption::new("Walnuts"))
.option(DemandOption::new("Pecans"))
.option(DemandOption::new("Cashews"))
.option(DemandOption::new("Pistachios"))
.option(DemandOption::new("Macadamia Nuts"))
.option(DemandOption::new("Hazelnuts"))
.option(DemandOption::new("Peanut Butter Cups"))
.option(DemandOption::new("Gummy Bears"))
.option(DemandOption::new("Sour Patch Kids"))
.option(DemandOption::new("Sour Gummy Worms"))
.option(DemandOption::new("Sour Skittles"))
.option(DemandOption::new("Skittles"))
.option(DemandOption::new("Starburst"))
.option(DemandOption::new("Twizzlers"))
.option(DemandOption::new("Milk Duds"));
ms.run().expect("error running multi select");
}sourcepub fn filterable(self, filterable: bool) -> Self
pub fn filterable(self, filterable: bool) -> Self
Set whether the selector can be filtered with a query
Examples found in repository?
examples/multiselect.rs (line 8)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"));
ms.run().expect("error running multi select");
}More examples
examples/multiselect_huge.rs (line 8)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
fn main() {
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"))
.option(DemandOption::new("Peanut Butter"))
.option(DemandOption::new("Banana"))
.option(DemandOption::new("Strawberries"))
.option(DemandOption::new("Blueberries"))
.option(DemandOption::new("Pineapple"))
.option(DemandOption::new("Mango"))
.option(DemandOption::new("Kiwi"))
.option(DemandOption::new("Passion Fruit"))
.option(DemandOption::new("Peaches"))
.option(DemandOption::new("Raspberries"))
.option(DemandOption::new("Blackberries"))
.option(DemandOption::new("Mint"))
.option(DemandOption::new("Chocolate Chips"))
.option(DemandOption::new("Oreos"))
.option(DemandOption::new("Brownie Bites"))
.option(DemandOption::new("Cookie Dough"))
.option(DemandOption::new("Graham Cracker Crumbs"))
.option(DemandOption::new("M&Ms"))
.option(DemandOption::new("Reese's Pieces"))
.option(DemandOption::new("Butterfinger"))
.option(DemandOption::new("Heath Bar"))
.option(DemandOption::new("Kit Kat"))
.option(DemandOption::new("Snickers"))
.option(DemandOption::new("Twix"))
.option(DemandOption::new("Caramel"))
.option(DemandOption::new("Hot Fudge"))
.option(DemandOption::new("Marshmallow"))
.option(DemandOption::new("Whipped Cream"))
.option(DemandOption::new("Chocolate Syrup"))
.option(DemandOption::new("Caramel Syrup"))
.option(DemandOption::new("Strawberry Syrup"))
.option(DemandOption::new("Peanut Butter Syrup"))
.option(DemandOption::new("Nutella Syrup"))
.option(DemandOption::new("Honey"))
.option(DemandOption::new("Sprinkles"))
.option(DemandOption::new("Chocolate Sprinkles"))
.option(DemandOption::new("Coconut Flakes"))
.option(DemandOption::new("Almonds"))
.option(DemandOption::new("Peanuts"))
.option(DemandOption::new("Walnuts"))
.option(DemandOption::new("Pecans"))
.option(DemandOption::new("Cashews"))
.option(DemandOption::new("Pistachios"))
.option(DemandOption::new("Macadamia Nuts"))
.option(DemandOption::new("Hazelnuts"))
.option(DemandOption::new("Peanut Butter Cups"))
.option(DemandOption::new("Gummy Bears"))
.option(DemandOption::new("Sour Patch Kids"))
.option(DemandOption::new("Sour Gummy Worms"))
.option(DemandOption::new("Sour Skittles"))
.option(DemandOption::new("Skittles"))
.option(DemandOption::new("Starburst"))
.option(DemandOption::new("Twizzlers"))
.option(DemandOption::new("Milk Duds"));
ms.run().expect("error running multi select");
}sourcepub fn run(self) -> Result<Vec<T>>
pub fn run(self) -> Result<Vec<T>>
Displays the selector to the user and returns their selected options
Examples found in repository?
examples/multiselect.rs (line 16)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fn main() {
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"));
ms.run().expect("error running multi select");
}More examples
examples/multiselect_huge.rs (line 70)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
fn main() {
let ms = MultiSelect::new("Toppings")
.description("Select your toppings")
.min(1)
.max(4)
.filterable(true)
.option(DemandOption::new("Lettuce").selected(true))
.option(DemandOption::new("Tomatoes").selected(true))
.option(DemandOption::new("Charm Sauce"))
.option(DemandOption::new("Jalapenos").label("Jalapeños"))
.option(DemandOption::new("Cheese"))
.option(DemandOption::new("Vegan Cheese"))
.option(DemandOption::new("Nutella"))
.option(DemandOption::new("Peanut Butter"))
.option(DemandOption::new("Banana"))
.option(DemandOption::new("Strawberries"))
.option(DemandOption::new("Blueberries"))
.option(DemandOption::new("Pineapple"))
.option(DemandOption::new("Mango"))
.option(DemandOption::new("Kiwi"))
.option(DemandOption::new("Passion Fruit"))
.option(DemandOption::new("Peaches"))
.option(DemandOption::new("Raspberries"))
.option(DemandOption::new("Blackberries"))
.option(DemandOption::new("Mint"))
.option(DemandOption::new("Chocolate Chips"))
.option(DemandOption::new("Oreos"))
.option(DemandOption::new("Brownie Bites"))
.option(DemandOption::new("Cookie Dough"))
.option(DemandOption::new("Graham Cracker Crumbs"))
.option(DemandOption::new("M&Ms"))
.option(DemandOption::new("Reese's Pieces"))
.option(DemandOption::new("Butterfinger"))
.option(DemandOption::new("Heath Bar"))
.option(DemandOption::new("Kit Kat"))
.option(DemandOption::new("Snickers"))
.option(DemandOption::new("Twix"))
.option(DemandOption::new("Caramel"))
.option(DemandOption::new("Hot Fudge"))
.option(DemandOption::new("Marshmallow"))
.option(DemandOption::new("Whipped Cream"))
.option(DemandOption::new("Chocolate Syrup"))
.option(DemandOption::new("Caramel Syrup"))
.option(DemandOption::new("Strawberry Syrup"))
.option(DemandOption::new("Peanut Butter Syrup"))
.option(DemandOption::new("Nutella Syrup"))
.option(DemandOption::new("Honey"))
.option(DemandOption::new("Sprinkles"))
.option(DemandOption::new("Chocolate Sprinkles"))
.option(DemandOption::new("Coconut Flakes"))
.option(DemandOption::new("Almonds"))
.option(DemandOption::new("Peanuts"))
.option(DemandOption::new("Walnuts"))
.option(DemandOption::new("Pecans"))
.option(DemandOption::new("Cashews"))
.option(DemandOption::new("Pistachios"))
.option(DemandOption::new("Macadamia Nuts"))
.option(DemandOption::new("Hazelnuts"))
.option(DemandOption::new("Peanut Butter Cups"))
.option(DemandOption::new("Gummy Bears"))
.option(DemandOption::new("Sour Patch Kids"))
.option(DemandOption::new("Sour Gummy Worms"))
.option(DemandOption::new("Sour Skittles"))
.option(DemandOption::new("Skittles"))
.option(DemandOption::new("Starburst"))
.option(DemandOption::new("Twizzlers"))
.option(DemandOption::new("Milk Duds"));
ms.run().expect("error running multi select");
}Auto Trait Implementations§
impl<T> RefUnwindSafe for MultiSelect<T>where
T: RefUnwindSafe,
impl<T> Send for MultiSelect<T>where
T: Send,
impl<T> Sync for MultiSelect<T>where
T: Sync,
impl<T> Unpin for MultiSelect<T>where
T: Unpin,
impl<T> UnwindSafe for MultiSelect<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more