pub struct ContextActions { /* private fields */ }Expand description
Context actions block representation.
§Fields and Validations
For more details, see the official documentation.
| Field | Type | Required | Validation |
|---|---|---|---|
| elements | Vec<ContextActionsElement> | Yes | Maximum 5 items |
| block_id | String | No | Maximum 255 characters |
§Example
The following is reproduction of the sample context actions block.
§Context actions block with feedback buttons.
use slack_messaging::plain_text;
use slack_messaging::blocks::ContextActions;
use slack_messaging::blocks::elements::{types::FeedbackButton, FeedbackButtons};
let actions = ContextActions::builder()
.element(
FeedbackButtons::builder()
.action_id("feedback_buttons_1")
.positive_button(
FeedbackButton::builder()
.text(plain_text!("👍")?)
.value("positive_feedback")
.build()?
)
.negative_button(
FeedbackButton::builder()
.text(plain_text!("👎")?)
.value("negative_feedback")
.build()?
)
.build()?
)
.build()?;
let expected = serde_json::json!({
"type": "context_actions",
"elements": [
{
"type": "feedback_buttons",
"action_id": "feedback_buttons_1",
"positive_button": {
"text": {
"type": "plain_text",
"text": "👍"
},
"value": "positive_feedback"
},
"negative_button": {
"text": {
"type": "plain_text",
"text": "👎"
},
"value": "negative_feedback"
}
}
]
});
let json = serde_json::to_value(actions).unwrap();
assert_eq!(json, expected);§Context actions block with an icon button.
use slack_messaging::plain_text;
use slack_messaging::blocks::ContextActions;
use slack_messaging::blocks::elements::{IconButton, types::Icon};
let actions = ContextActions::builder()
.element(
IconButton::builder()
.icon(Icon::Trash)
.text(plain_text!("Delete")?)
.action_id("delete_button_1")
.value("delete_item")
.build()?
)
.build()?;
let expected = serde_json::json!({
"type": "context_actions",
"elements": [
{
"type": "icon_button",
"icon": "trash",
"text": {
"type": "plain_text",
"text": "Delete"
},
"action_id": "delete_button_1",
"value": "delete_item"
}
]
});
let json = serde_json::to_value(actions).unwrap();
assert_eq!(json, expected);Implementations§
Source§impl ContextActions
impl ContextActions
Sourcepub fn builder() -> ContextActionsBuilder
pub fn builder() -> ContextActionsBuilder
constract ContextActionsBuilder object.
Trait Implementations§
Source§impl Clone for ContextActions
impl Clone for ContextActions
Source§fn clone(&self) -> ContextActions
fn clone(&self) -> ContextActions
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ContextActions
impl Debug for ContextActions
Source§impl From<ContextActions> for Block
impl From<ContextActions> for Block
Source§fn from(value: ContextActions) -> Self
fn from(value: ContextActions) -> Self
Converts to this type from the input type.
Source§impl PartialEq for ContextActions
impl PartialEq for ContextActions
Source§fn eq(&self, other: &ContextActions) -> bool
fn eq(&self, other: &ContextActions) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for ContextActions
impl Serialize for ContextActions
impl StructuralPartialEq for ContextActions
Auto Trait Implementations§
impl Freeze for ContextActions
impl RefUnwindSafe for ContextActions
impl Send for ContextActions
impl Sync for ContextActions
impl Unpin for ContextActions
impl UnsafeUnpin for ContextActions
impl UnwindSafe for ContextActions
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