Struct slack_blocks::compose::opt::Opt [−][src]
Expand description
Option Object
An object that represents a single selectable item in a
Implementations
impl<'a> Opt<'a>[src]
impl<'a> Opt<'a>[src]pub fn builder() -> OptBuilderInit<'a>[src]
pub fn builder() -> OptBuilderInit<'a>[src]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();
impl<'a, T, U> Opt<'a, T, U>[src]
impl<'a, T, U> Opt<'a, T, U>[src]pub fn validate(&self) -> Result<(), ValidationErrors>[src]
pub fn validate(&self) -> Result<(), ValidationErrors>[src]Validate that this Option composition object agrees with Slack’s model requirements
Errors
- If
textlonger than 75 chars - If
valuelonger than 75 chars - If
urllonger than 3000 chars - If
descriptionlonger 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
xml only.type Output = StaticBuilder<'a, Multi, Placeholder, ActionId, Set<(options, StaticOpt<'a>)>>
type Output = StaticBuilder<'a, Multi, Placeholder, ActionId, Set<(options, StaticOpt<'a>)>>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
impl<'de, 'a, T, U> Deserialize<'de> for Opt<'a, T, U>[src]
impl<'de, 'a, T, U> Deserialize<'de> for Opt<'a, T, U>[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<Opt<'a, T, U>> for OptOrOptGroup<'a, T, U>[src]
impl<'a, T, U> From<Opt<'a, T, U>> for OptOrOptGroup<'a, T, U>[src]impl<'a, T, U> Validate for Opt<'a, T, U>[src]
impl<'a, T, U> Validate for Opt<'a, T, U>[src]fn validate(&self) -> Result<(), ValidationErrors>[src]
impl<'a, T, U> StructuralPartialEq for Opt<'a, T, U>[src]
Auto Trait Implementations
impl<'a, T, U> RefUnwindSafe for Opt<'a, T, U> where
T: RefUnwindSafe,
U: RefUnwindSafe,
T: RefUnwindSafe,
U: RefUnwindSafe,
impl<'a, T, U> Send for Opt<'a, T, U> where
T: Send,
U: Send,
T: Send,
U: Send,
impl<'a, T, U> Sync for Opt<'a, T, U> where
T: Sync,
U: Sync,
T: Sync,
U: Sync,
impl<'a, T, U> Unpin for Opt<'a, T, U> where
T: Unpin,
U: Unpin,
T: Unpin,
U: Unpin,
impl<'a, T, U> UnwindSafe for Opt<'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 = TThe 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>,