Struct slack_blocks::compose::Opt [−][src]
Expand description
Option Object
An object that represents a single selectable item in a
Implementations
Build a new option composition object
Examples
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 Option composition object agrees with Slack’s model requirements
Errors
- If
text
longer than 75 chars - If
value
longer than 75 chars - If
url
longer than 3000 chars - If
description
longer than 75 chars
Example
use std::iter::repeat; use slack_blocks::compose::Opt; let long_string: String = repeat(' ').take(76).collect(); let opt = Opt::builder().text_plain("My Option") .value(long_string) .build(); assert_eq!(true, matches!(opt.validate(), Err(_)));
Trait Implementations
impl<'a, Multi, Placeholder, ActionId> AppendOptOrOptGroup<'a, Multi, Placeholder, ActionId> for Opt<'a, Plain, NoUrl>
[src]
impl<'a, Multi, Placeholder, ActionId> AppendOptOrOptGroup<'a, Multi, Placeholder, ActionId> for Opt<'a, Plain, NoUrl>
[src]This is supported on crate feature
blox
only.The builder state after adding the opt / opt group
fn add_to(
self,
builder: StaticBuilder<'a, Multi, Placeholder, ActionId, RequiredMethodNotCalled<options>>
) -> Self::Output
[src]
fn add_to(
self,
builder: StaticBuilder<'a, Multi, Placeholder, ActionId, RequiredMethodNotCalled<options>>
) -> Self::Output
[src]Add this opt / opt group to the builder
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, T, U> RefUnwindSafe for Opt<'a, T, U> where
T: RefUnwindSafe,
U: RefUnwindSafe,
impl<'a, T, U> UnwindSafe for Opt<'a, T, U> where
T: UnwindSafe,
U: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more