Struct slack_blocks::elems::overflow::build::OverflowBuilder [−][src]
pub struct OverflowBuilder<'a, A, O> { /* fields omitted */ }
Expand description
Overflow Menu Builder
Allows you to construct safely, with compile-time checks on required setter methods.
Required Methods
OverflowBuilder::build()
is only available if these methods have been called:
action_id
options
Example
use slack_blocks::{elems::Overflow, compose::Opt}; Overflow::builder() .action_id("foo") .options(vec![ Opt::builder() .text_plain("Open in browser") .value("open_ext") .url("https://foo.org") .build(), Opt::builder() .text_plain("Do stuff") .value("do_stuff") .no_url() .build(), ]);
Implementations
impl<'a, A, O> OverflowBuilder<'a, A, O>
[src]
impl<'a, A, O> OverflowBuilder<'a, A, O>
[src]pub fn action_id<T>(
self,
action_id: T
) -> OverflowBuilder<'a, Set<action_id>, O> where
T: Into<Cow<'a, str>>,
[src]
pub fn action_id<T>(
self,
action_id: T
) -> OverflowBuilder<'a, Set<action_id>, O> where
T: Into<Cow<'a, str>>,
[src]Set action_id
(Required)
An identifier for the action triggered when a menu option is selected.
You can use this when you receive an interaction payload to identify the source of the action 🔗.
Should be unique among all other action_id
s in the containing block.
Maximum length for this field is 255 characters.
pub fn options<T>(self, options: T) -> OverflowBuilder<'a, A, Set<options>> where
T: Into<Cow<'a, [Opt<'a, Plain, AllowUrl>]>>,
[src]
pub fn options<T>(self, options: T) -> OverflowBuilder<'a, A, Set<options>> where
T: Into<Cow<'a, [Opt<'a, Plain, AllowUrl>]>>,
[src]Set options
(Required)
An array of option objects 🔗 to display in the menu.
Maximum number of options is 5, minimum is 2.
pub fn confirm(self, confirm: Confirm) -> Self
[src]
pub fn confirm(self, confirm: Confirm) -> Self
[src]Set confirm
(Optional)
A confirm object 🔗 that defines an optional confirmation dialog that appears after a menu item is selected.
impl<'a> OverflowBuilder<'a, Set<action_id>, Set<options>>
[src]
impl<'a> OverflowBuilder<'a, Set<action_id>, Set<options>>
[src]pub fn build(self) -> Overflow<'a>
[src]
pub fn build(self) -> Overflow<'a>
[src]All done building, now give me a darn overflow menu!
no method name 'build' found for struct 'OverflowBuilder<...>'
? Make sure all required setter methods have been called. See docs forOverflowBuilder
.
use slack_blocks::elems::Overflow; let foo = Overflow::builder().build(); // Won't compile!
use slack_blocks::{compose::Opt, elems::Overflow}; let foo = Overflow::builder().action_id("bar") .options(vec![Opt::builder().text_plain("foo") .value("bar") .no_url() .build()]) .build();
Trait Implementations
Auto Trait Implementations
impl<'a, A, O> RefUnwindSafe for OverflowBuilder<'a, A, O> where
A: RefUnwindSafe,
O: RefUnwindSafe,
A: RefUnwindSafe,
O: RefUnwindSafe,
impl<'a, A, O> Send for OverflowBuilder<'a, A, O> where
A: Send,
O: Send,
A: Send,
O: Send,
impl<'a, A, O> Sync for OverflowBuilder<'a, A, O> where
A: Sync,
O: Sync,
A: Sync,
O: Sync,
impl<'a, A, O> Unpin for OverflowBuilder<'a, A, O> where
A: Unpin,
O: Unpin,
A: Unpin,
O: Unpin,
impl<'a, A, O> UnwindSafe for OverflowBuilder<'a, A, O> where
A: UnwindSafe,
O: UnwindSafe,
A: UnwindSafe,
O: UnwindSafe,