Struct slack_blocks::elems::overflow::Overflow [−][src]
pub struct Overflow<'a> { /* fields omitted */ }
Expand description
Overflow Menu
This is like a cross between a button and a select menu - when a user clicks on this overflow button, they will be presented with a list of options to choose from.
Unlike the select menu, there is no typeahead field, and the button always appears with an ellipsis (“…”), rather than customisable text.
Works in blocks 🔗: Section, Actions
Implementations
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
- length of
action_id
greater than 255 - length of
options
less than 2 or greater than 5 - one or more of
options
is invalid (TODO) confirm
is set and an invalidConfirm
Example
use slack_blocks::{compose::Opt, elems::Overflow}; fn repeat<T: Copy>(el: T, n: usize) -> impl Iterator<Item = T> { std::iter::repeat(el).take(n) } let long_string: String = repeat('a', 256).collect(); let opt = Opt::builder().text_plain("foo") .value("bar") .no_url() .build(); let opts: Vec<Opt<_, _>> = repeat(&opt, 6).map(|o| o.clone()).collect(); let input = Overflow::builder().action_id(long_string) // invalid .options(opts) // also invalid .build(); assert!(matches!(input.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 Overflow<'a>
impl<'a> UnwindSafe for Overflow<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more