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
impl<'a> Overflow<'a>
[src]
impl<'a> Overflow<'a>
[src]pub fn builder() -> OverflowBuilderInit<'a>
[src]
pub fn builder() -> OverflowBuilderInit<'a>
[src]pub fn validate(&self) -> Result<(), ValidationErrors>
[src]
pub fn validate(&self) -> Result<(), ValidationErrors>
[src]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
impl<'de, 'a> Deserialize<'de> for Overflow<'a>
[src]
impl<'de, 'a> Deserialize<'de> for Overflow<'a>
[src]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
impl<'a> From<Overflow<'a>> for BlockElement<'a>
[src]
impl<'a> From<Overflow<'a>> for BlockElement<'a>
[src]impl<'a> StructuralPartialEq for Overflow<'a>
[src]
Auto Trait Implementations
impl<'a> RefUnwindSafe for Overflow<'a>
impl<'a> Send for Overflow<'a>
impl<'a> Sync for Overflow<'a>
impl<'a> Unpin for Overflow<'a>
impl<'a> UnwindSafe for Overflow<'a>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,