pub struct External<'a> { /* private fields */ }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§
Source§impl<'a> External<'a>
impl<'a> External<'a>
Sourcepub fn builder() -> ExternalBuilderInit<'a>
pub fn builder() -> ExternalBuilderInit<'a>
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();Sourcepub fn validate(&self) -> Result<(), ValidationErrors>
Available on crate feature validation only.
pub fn validate(&self) -> Result<(), ValidationErrors>
validation only.Validate that this user select agrees with Slack’s model requirements
§Errors
- If
from_placeholder_and_action_idwas called withplaceholderlonger than 150 chars - If
from_placeholder_and_action_idwas called withaction_idlonger 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§
Source§impl<'de, 'a> Deserialize<'de> for External<'a>
impl<'de, 'a> Deserialize<'de> for External<'a>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'a> From<External<'a>> for BlockElement<'a>
impl<'a> From<External<'a>> for BlockElement<'a>
Source§impl<'a> From<External<'a>> for SupportedElement<'a>
impl<'a> From<External<'a>> for SupportedElement<'a>
Source§impl<'a> From<External<'a>> for SupportedElement<'a>
impl<'a> From<External<'a>> for SupportedElement<'a>
impl<'a> StructuralPartialEq for External<'a>
Auto Trait Implementations§
impl<'a> Freeze for External<'a>
impl<'a> RefUnwindSafe for External<'a>
impl<'a> Send for External<'a>
impl<'a> Sync for External<'a>
impl<'a> Unpin for External<'a>
impl<'a> UnwindSafe for External<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more