Struct slack_messaging::blocks::elements::CheckboxGroup
source · pub struct CheckboxGroup { /* private fields */ }Expand description
Checkbox group representation.
Example
use slack_messaging::blocks::elements::{CheckboxGroup, Opt};
use serde_json::json;
let checkboxes = CheckboxGroup::new()
.set_action_id("group-0")
.push_option(
Opt::plain("option-0").set_value("value-0")
)
.push_option(
Opt::plain("option-1").set_value("value-1")
);
let expected = json!({
"type": "checkboxes",
"action_id": "group-0",
"options": [
{
"value": "value-0",
"text": {
"type": "plain_text",
"text": "option-0",
"emoji": true
}
},
{
"value": "value-1",
"text": {
"type": "plain_text",
"text": "option-1",
"emoji": true
}
},
]
});
let checkboxes_json = serde_json::to_value(checkboxes).unwrap();
assert_eq!(checkboxes_json, expected);Implementations§
source§impl CheckboxGroup
impl CheckboxGroup
sourcepub fn new() -> Self
pub fn new() -> Self
Constructs a Checkbox group with empty values.
use slack_messaging::blocks::elements::CheckboxGroup;
use serde_json::json;
let checkboxes = CheckboxGroup::new();
let expected = json!({
"type": "checkboxes",
"action_id": "",
"options": []
});
let checkboxes_json = serde_json::to_value(checkboxes).unwrap();
assert_eq!(checkboxes_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::CheckboxGroup;
use serde_json::json;
let checkboxes = CheckboxGroup::new().set_action_id("group-0");
let expected = json!({
"type": "checkboxes",
"action_id": "group-0",
"options": []
});
let checkboxes_json = serde_json::to_value(checkboxes).unwrap();
assert_eq!(checkboxes_json, expected);sourcepub fn set_options(self, options: Vec<Opt>) -> Self
pub fn set_options(self, options: Vec<Opt>) -> Self
Sets options field directly.
use slack_messaging::blocks::elements::{CheckboxGroup, Opt};
use serde_json::json;
let checkboxes = CheckboxGroup::new()
.set_options(
vec![
Opt::plain("option-0").set_value("value-0"),
Opt::plain("option-1").set_value("value-1"),
]
);
let expected = json!({
"type": "checkboxes",
"action_id": "",
"options": [
{
"value": "value-0",
"text": {
"type": "plain_text",
"text": "option-0",
"emoji": true
}
},
{
"value": "value-1",
"text": {
"type": "plain_text",
"text": "option-1",
"emoji": true
}
}
]
});
let checkboxes_json = serde_json::to_value(checkboxes).unwrap();
assert_eq!(checkboxes_json, expected);sourcepub fn push_option(self, option: Opt) -> Self
pub fn push_option(self, option: Opt) -> Self
Adds Opt object to options field.
use slack_messaging::blocks::elements::{CheckboxGroup, Opt};
use serde_json::json;
let checkboxes = CheckboxGroup::new()
.push_option(
Opt::plain("option-0").set_value("value-0")
);
let expected = json!({
"type": "checkboxes",
"action_id": "",
"options": [
{
"value": "value-0",
"text": {
"type": "plain_text",
"text": "option-0",
"emoji": true
}
}
]
});
let checkboxes_json = serde_json::to_value(checkboxes).unwrap();
assert_eq!(checkboxes_json, expected);sourcepub fn set_initial_options(self, initial_options: Vec<Opt>) -> Self
pub fn set_initial_options(self, initial_options: Vec<Opt>) -> Self
Sets initial_options field directly.
use slack_messaging::blocks::elements::{CheckboxGroup, Opt};
use serde_json::json;
let checkboxes = CheckboxGroup::new()
.set_initial_options(
vec![
Opt::plain("option-0").set_value("value-0"),
Opt::plain("option-1").set_value("value-1"),
]
);
let expected = json!({
"type": "checkboxes",
"action_id": "",
"options": [],
"initial_options": [
{
"value": "value-0",
"text": {
"type": "plain_text",
"text": "option-0",
"emoji": true
}
},
{
"value": "value-1",
"text": {
"type": "plain_text",
"text": "option-1",
"emoji": true
}
}
]
});
let checkboxes_json = serde_json::to_value(checkboxes).unwrap();
assert_eq!(checkboxes_json, expected);sourcepub fn push_initial_option(self, initial_option: Opt) -> Self
pub fn push_initial_option(self, initial_option: Opt) -> Self
Adds Opt object to initial_options field.
use slack_messaging::blocks::elements::{CheckboxGroup, Opt};
use serde_json::json;
let checkboxes = CheckboxGroup::new()
.push_initial_option(
Opt::plain("option-0").set_value("value-0"),
);
let expected = json!({
"type": "checkboxes",
"action_id": "",
"options": [],
"initial_options": [
{
"value": "value-0",
"text": {
"type": "plain_text",
"text": "option-0",
"emoji": true
}
}
]
});
let checkboxes_json = serde_json::to_value(checkboxes).unwrap();
assert_eq!(checkboxes_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::{CheckboxGroup, ConfirmationDialog};
use serde_json::json;
let checkboxes = CheckboxGroup::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": "checkboxes",
"action_id": "",
"options": [],
"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 checkboxes_json = serde_json::to_value(checkboxes).unwrap();
assert_eq!(checkboxes_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::{CheckboxGroup, Opt};
use serde_json::json;
let checkboxes = CheckboxGroup::new().set_focus_on_load(true);
let expected = json!({
"type": "checkboxes",
"action_id": "",
"options": [],
"focus_on_load": true
});
let checkboxes_json = serde_json::to_value(checkboxes).unwrap();
assert_eq!(checkboxes_json, expected);Trait Implementations§
source§impl Clone for CheckboxGroup
impl Clone for CheckboxGroup
source§fn clone(&self) -> CheckboxGroup
fn clone(&self) -> CheckboxGroup
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 CheckboxGroup
impl Debug for CheckboxGroup
source§impl Default for CheckboxGroup
impl Default for CheckboxGroup
source§impl From<CheckboxGroup> for Accessory
impl From<CheckboxGroup> for Accessory
source§fn from(value: CheckboxGroup) -> Self
fn from(value: CheckboxGroup) -> Self
Converts to this type from the input type.
source§impl From<CheckboxGroup> for ActionsElement
impl From<CheckboxGroup> for ActionsElement
source§fn from(value: CheckboxGroup) -> Self
fn from(value: CheckboxGroup) -> Self
Converts to this type from the input type.
source§impl From<CheckboxGroup> for InputElement
impl From<CheckboxGroup> for InputElement
source§fn from(value: CheckboxGroup) -> Self
fn from(value: CheckboxGroup) -> Self
Converts to this type from the input type.