Struct slack_blocks::elems::select::static_::Static [−][src]
pub struct Static<'a> { /* fields omitted */ }
Expand description
Select menu with static options
This is the simplest form of select menu, with a static list of options passed in when defining the element.
Implementations
Build a new static select element
Examples
use std::convert::TryFrom; use slack_blocks::{blocks::{Actions, Block}, compose::Opt, elems::{select::Static, BlockElement}, text}; struct City { name: String, short_code: String, } impl City { pub fn new(name: impl ToString, short_code: impl ToString) -> Self { Self { name: name.to_string(), short_code: short_code.to_string() } } } let cities = vec![City::new("Seattle", "SEA"), City::new("Portland", "PDX"), City::new("Phoenix", "PHX")]; let options = cities.iter().map(|City { name, short_code }| { Opt::builder().text_plain(name).value(short_code).build() }); let select = Static::builder().placeholder("Choose your favorite city!") .action_id("fave_city") .options(options) .build(); let block: Block = Actions::builder().element(select).build().into();
This is supported on crate feature validation
only.
This is supported on crate feature
validation
only.Validate that this select element agrees with Slack’s model requirements
Errors
- If
from_placeholder_and_action_id
was called withplaceholder
longer than 150 chars - If
from_placeholder_and_action_id
was called withaction_id
longer than 255 chars
Example
use slack_blocks::elems::select; let placeholder = r#"Hey I really would appreciate it if you chose a channel relatively soon, so that we can figure out where we need to send this poll, ok? it's kind of important that you specify where this poll should be sent, in case we haven't made that super clear. If you understand, could you pick a channel, already??"#; let select = select::Static::builder().placeholder(placeholder) .action_id("abc123") .options(std::iter::empty()) .build(); assert!(matches!(select.validate(), Err(_)))
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl<'a> RefUnwindSafe for Static<'a>
impl<'a> UnwindSafe for Static<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more