Struct slack_blocks::compose::OptGroup [−][src]
Expand description
Option Group
Provides a way to group options in a select menu 🔗 or multi-select menu 🔗.
Implementations
impl<'a> OptGroup<'a>
[src]
impl<'a> OptGroup<'a>
[src]pub fn builder() -> OptGroupBuilderInit<'a>
[src]
pub fn builder() -> OptGroupBuilderInit<'a>
[src]pub fn from_label_and_opts<T, U>(
label: impl Into<Plain>,
options: impl IntoIterator<Item = Opt<'a, T, U>>
) -> OptGroup<'a, T, U>
[src]
👎 Deprecated since 0.15.0: Use OptGroup::builder instead
pub fn from_label_and_opts<T, U>(
label: impl Into<Plain>,
options: impl IntoIterator<Item = Opt<'a, T, U>>
) -> OptGroup<'a, T, U>
[src]👎 Deprecated since 0.15.0:
Use OptGroup::builder instead
Construct an Option Group from a label and collection of options in the group
Arguments
label
- Aplain_text
only text object 🔗 that defines the label shown above this group of options. Maximum length for thetext
in this field is 75 characters.opts
- An array of option objects 🔗 that belong to this specific group. Maximum of 100 items.
Example
use slack_blocks::blocks::Block; use slack_blocks::blocks::section::Section; use slack_blocks::blocks::Actions; use slack_blocks::text::{Mrkdwn}; use slack_blocks::compose::{OptGroup, Opt}; let prompt = "Choose your favorite city from each state!"; let blocks: Vec<Block> = vec![ Section::from_text(Mrkdwn::from(prompt)).into(), // TODO: insert option group once block elements are in place Actions::from_action_elements(vec![]).into(), ]; let groups: Vec<OptGroup<_>> = vec![ OptGroup::from_label_and_opts( "Arizona", vec![ Opt::from_mrkdwn_and_value("Phoenix", "az_phx"), // etc... ] ), OptGroup::from_label_and_opts( "California", vec![ Opt::from_mrkdwn_and_value("San Diego", "ca_sd"), // etc... ] ), ];
impl<'a, T, U> OptGroup<'a, T, U>
[src]
impl<'a, T, U> OptGroup<'a, T, U>
[src]pub fn validate(&self) -> Result<(), ValidationErrors>
[src]
pub fn validate(&self) -> Result<(), ValidationErrors>
[src]Validate that this Option Group object agrees with Slack’s model requirements
Errors
- If
from_label_and_opts
was called withlabel
longer than 75 chars - If
from_label_and_opts
was called with more than 100 options
Example
use std::iter::repeat; use slack_blocks::compose::{Opt, OptGroup}; let long_string: String = repeat(' ').take(76).collect(); let opt = Opt::from_mrkdwn_and_value("San Diego", "ca_sd"); let grp = OptGroup::from_label_and_opts(long_string, vec![opt]); assert_eq!(true, matches!(grp.validate(), Err(_)));
Trait Implementations
impl<'de, 'a, T, U> Deserialize<'de> for OptGroup<'a, T, U> where
T: Deserialize<'de>,
U: Deserialize<'de>,
[src]
impl<'de, 'a, T, U> Deserialize<'de> for OptGroup<'a, T, U> where
T: Deserialize<'de>,
U: Deserialize<'de>,
[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, T, U> From<OptGroup<'a, T, U>> for OptOrOptGroup<'a, T, U>
[src]
impl<'a, T, U> From<OptGroup<'a, T, U>> for OptOrOptGroup<'a, T, U>
[src]impl<'a, T, U> Validate for OptGroup<'a, T, U>
[src]
impl<'a, T, U> Validate for OptGroup<'a, T, U>
[src]fn validate(&self) -> Result<(), ValidationErrors>
[src]
impl<'a, T, U> StructuralPartialEq for OptGroup<'a, T, U>
[src]
Auto Trait Implementations
impl<'a, T, U> RefUnwindSafe for OptGroup<'a, T, U> where
T: RefUnwindSafe,
U: RefUnwindSafe,
T: RefUnwindSafe,
U: RefUnwindSafe,
impl<'a, T, U> Send for OptGroup<'a, T, U> where
T: Send,
U: Send,
T: Send,
U: Send,
impl<'a, T, U> Sync for OptGroup<'a, T, U> where
T: Sync,
U: Sync,
T: Sync,
U: Sync,
impl<'a, T, U> Unpin for OptGroup<'a, T, U> where
T: Unpin,
U: Unpin,
T: Unpin,
U: Unpin,
impl<'a, T, U> UnwindSafe for OptGroup<'a, T, U> where
T: UnwindSafe,
U: UnwindSafe,
T: UnwindSafe,
U: UnwindSafe,
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>,