Struct slack_messaging::blocks::elements::SelectConversations
source · pub struct SelectConversations { /* private fields */ }Expand description
Select menu of conversations element representation.
Example
use slack_messaging::blocks::elements::SelectConversations;
use serde_json::json;
let menu = SelectConversations::new()
.set_action_id("text1234")
.placeholder("Select an item");
let expected = json!({
"type": "conversations_select",
"action_id": "text1234",
"placeholder": {
"type": "plain_text",
"text": "Select an item",
"emoji": true
}
});
let menu_json = serde_json::to_value(menu).unwrap();
assert_eq!(menu_json, expected);Implementations§
source§impl SelectConversations
impl SelectConversations
sourcepub fn new() -> Self
pub fn new() -> Self
Constructs a Select menu of conversations element with empty values.
use slack_messaging::blocks::elements::SelectConversations;
use serde_json::json;
let menu = SelectConversations::new();
let expected = json!({
"type": "conversations_select",
"action_id": ""
});
let menu_json = serde_json::to_value(menu).unwrap();
assert_eq!(menu_json, expected);sourcepub fn set_action_id<T: Into<String>>(self, action_id: T) -> Self
pub fn set_action_id<T: Into<String>>(self, action_id: T) -> Self
Sets action_id field.
use slack_messaging::blocks::elements::SelectConversations;
use serde_json::json;
let menu = SelectConversations::new().set_action_id("text1234");
let expected = json!({
"type": "conversations_select",
"action_id": "text1234"
});
let menu_json = serde_json::to_value(menu).unwrap();
assert_eq!(menu_json, expected);sourcepub fn set_initial_conversation<T: Into<String>>(self, value: T) -> Self
pub fn set_initial_conversation<T: Into<String>>(self, value: T) -> Self
Sets initial_conversation field.
use slack_messaging::blocks::elements::SelectConversations;
use serde_json::json;
let menu = SelectConversations::new()
.set_initial_conversation("conversation_000");
let expected = json!({
"type": "conversations_select",
"action_id": "",
"initial_conversation": "conversation_000"
});
let menu_json = serde_json::to_value(menu).unwrap();
assert_eq!(menu_json, expected);sourcepub fn set_default_to_current_conversation(
self,
current_conversation: bool
) -> Self
pub fn set_default_to_current_conversation( self, current_conversation: bool ) -> Self
Sets default_to_current_conversation field.
use slack_messaging::blocks::elements::SelectConversations;
use serde_json::json;
let menu = SelectConversations::new()
.set_default_to_current_conversation(true);
let expected = json!({
"type": "conversations_select",
"action_id": "",
"default_to_current_conversation": true
});
let menu_json = serde_json::to_value(menu).unwrap();
assert_eq!(menu_json, expected);sourcepub fn set_confirm(self, confirm: ConfirmationDialog) -> Self
pub fn set_confirm(self, confirm: ConfirmationDialog) -> Self
Sets confirm field with ConfirmationDialog object.
use slack_messaging::blocks::elements::{SelectConversations, ConfirmationDialog};
use serde_json::json;
let menu = SelectConversations::new()
.set_confirm(
ConfirmationDialog::new()
.set_title("Are you sure?")
.set_text("Wouldn't you prefer a good game of _chess_?")
.set_confirm("Do it")
.set_deny("Stop, I've changed my mind!")
);
let expected = json!({
"type": "conversations_select",
"action_id": "",
"confirm": {
"title": {
"type": "plain_text",
"text": "Are you sure?",
"emoji": true
},
"text": {
"type": "plain_text",
"text": "Wouldn't you prefer a good game of _chess_?",
"emoji": true
},
"confirm": {
"type": "plain_text",
"text": "Do it",
"emoji": true
},
"deny": {
"type": "plain_text",
"text": "Stop, I've changed my mind!",
"emoji": true
}
}
});
let menu_json = serde_json::to_value(menu).unwrap();
assert_eq!(menu_json, expected);sourcepub fn set_response_url_enabled(self, enabled: bool) -> Self
pub fn set_response_url_enabled(self, enabled: bool) -> Self
Sets response_url_enabled field.
use slack_messaging::blocks::elements::SelectConversations;
use serde_json::json;
let menu = SelectConversations::new().set_response_url_enabled(true);
let expected = json!({
"type": "conversations_select",
"action_id": "",
"response_url_enabled": true
});
let menu_json = serde_json::to_value(menu).unwrap();
assert_eq!(menu_json, expected);sourcepub fn response_url_enabled(self) -> Self
pub fn response_url_enabled(self) -> Self
Sets true to response_url_enabled field.
use slack_messaging::blocks::elements::SelectConversations;
use serde_json::json;
let menu = SelectConversations::new().response_url_enabled();
let expected = json!({
"type": "conversations_select",
"action_id": "",
"response_url_enabled": true
});
let menu_json = serde_json::to_value(menu).unwrap();
assert_eq!(menu_json, expected);sourcepub fn response_url_disabled(self) -> Self
pub fn response_url_disabled(self) -> Self
Sets false to response_url_enabled field.
use slack_messaging::blocks::elements::SelectConversations;
use serde_json::json;
let menu = SelectConversations::new().response_url_disabled();
let expected = json!({
"type": "conversations_select",
"action_id": "",
"response_url_enabled": false
});
let menu_json = serde_json::to_value(menu).unwrap();
assert_eq!(menu_json, expected);sourcepub fn set_filter(self, filter: Filter) -> Self
pub fn set_filter(self, filter: Filter) -> Self
Sets filter field with Filter object.
use slack_messaging::blocks::elements::{SelectConversations, Filter, Conversation};
use serde_json::json;
let menu = SelectConversations::new()
.set_filter(
Filter::new()
.include(Conversation::Public)
.include(Conversation::Mpim)
.exclude_bot_users()
);
let expected = json!({
"type": "conversations_select",
"action_id": "",
"filter": {
"include": [
"public",
"mpim"
],
"exclude_bot_users": true
}
});
let menu_json = serde_json::to_value(menu).unwrap();
assert_eq!(menu_json, expected);sourcepub fn set_focus_on_load(self, focus_on_load: bool) -> Self
pub fn set_focus_on_load(self, focus_on_load: bool) -> Self
Sets focus_on_load field.
use slack_messaging::blocks::elements::SelectConversations;
use serde_json::json;
let menu = SelectConversations::new().set_focus_on_load(true);
let expected = json!({
"type": "conversations_select",
"action_id": "",
"focus_on_load": true
});
let menu_json = serde_json::to_value(menu).unwrap();
assert_eq!(menu_json, expected);sourcepub fn set_placeholder(self, placeholder: Text) -> Self
pub fn set_placeholder(self, placeholder: Text) -> Self
Sets placeholder field.
use slack_messaging::blocks::elements::{SelectConversations, Text};
use serde_json::json;
let menu = SelectConversations::new()
.set_placeholder(Text::plain("Select an item"));
let expected = json!({
"type": "conversations_select",
"action_id": "",
"placeholder": {
"type": "plain_text",
"text": "Select an item",
"emoji": true
}
});
let menu_json = serde_json::to_value(menu).unwrap();
assert_eq!(menu_json, expected);sourcepub fn placeholder<T: Into<String>>(self, placeholder: T) -> Self
pub fn placeholder<T: Into<String>>(self, placeholder: T) -> Self
Sets placeholder field from string. This is a shorthand for set_placeholder method.
use slack_messaging::blocks::elements::SelectConversations;
use serde_json::json;
let menu = SelectConversations::new().placeholder("Select an item");
let expected = json!({
"type": "conversations_select",
"action_id": "",
"placeholder": {
"type": "plain_text",
"text": "Select an item",
"emoji": true
}
});
let menu_json = serde_json::to_value(menu).unwrap();
assert_eq!(menu_json, expected);Trait Implementations§
source§impl Clone for SelectConversations
impl Clone for SelectConversations
source§fn clone(&self) -> SelectConversations
fn clone(&self) -> SelectConversations
Returns a copy of the value. Read more
1.0.0 · 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 SelectConversations
impl Debug for SelectConversations
source§impl Default for SelectConversations
impl Default for SelectConversations
source§impl From<SelectConversations> for Accessory
impl From<SelectConversations> for Accessory
source§fn from(value: SelectConversations) -> Self
fn from(value: SelectConversations) -> Self
Converts to this type from the input type.
source§impl From<SelectConversations> for ActionsElement
impl From<SelectConversations> for ActionsElement
source§fn from(value: SelectConversations) -> Self
fn from(value: SelectConversations) -> Self
Converts to this type from the input type.
source§impl From<SelectConversations> for InputElement
impl From<SelectConversations> for InputElement
source§fn from(value: SelectConversations) -> Self
fn from(value: SelectConversations) -> Self
Converts to this type from the input type.