Struct slack_blocks::elems::select::external::External [−][src]
pub struct External<'a> { /* fields omitted */ }
Expand description
Select menu with external data source
This select menu will load its options from an external data source, allowing for a dynamic list of options.
Setup
Slack API doc guide for setting up an external data source 🔗
Implementations
Build a new external select element
Examples
use std::convert::TryFrom; use slack_blocks::{blocks::{Actions, Block}, compose::Opt, elems::{select, BlockElement}, text}; let select = select::External::builder().placeholder("Choose your favorite city!") .action_id("fave_city") .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 user select agrees with Slack’s model requirements
Errors
- If
from_placeholder_and_action_id
was called withplaceholder
longer than 150 chars - If
from_placeholder_and_action_id
was called withaction_id
longer than 255 chars
Example
use slack_blocks::elems::select; let select = select::External::builder().placeholder( r#"Hey I really would appreciate it if you chose a channel relatively soon, so that we can figure out where we need to send this poll, ok? it's kind of important that you specify where this poll should be sent, in case we haven't made that super clear. If you understand, could you pick a channel, already??"#, ) .action_id("ABC123") .build(); assert!(matches!(select.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 External<'a>
impl<'a> UnwindSafe for External<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more