Struct slack_messaging::blocks::elements::NumberInput
source · pub struct NumberInput { /* private fields */ }Expand description
Number input element representation.
Example
use slack_messaging::blocks::elements::NumberInput;
use serde_json::json;
let num = NumberInput::new()
.set_action_id("input_number")
.decimal_allowed();
let expected = json!({
"type": "number_input",
"action_id": "input_number",
"is_decimal_allowed": true
});
let num_json = serde_json::to_value(num).unwrap();
assert_eq!(num_json, expected);Implementations§
source§impl NumberInput
impl NumberInput
sourcepub fn new() -> Self
pub fn new() -> Self
Constructs a Number input element with empty values.
use slack_messaging::blocks::elements::NumberInput;
use serde_json::json;
let num = NumberInput::new();
let expected = json!({
"type": "number_input",
"is_decimal_allowed": false
});
let num_json = serde_json::to_value(num).unwrap();
assert_eq!(num_json, expected);sourcepub fn set_is_decimal_allowed(self, is_decimal_allowed: bool) -> Self
pub fn set_is_decimal_allowed(self, is_decimal_allowed: bool) -> Self
Sets is_decimal_allowed field.
use slack_messaging::blocks::elements::NumberInput;
use serde_json::json;
let num = NumberInput::new().set_is_decimal_allowed(true);
let expected = json!({
"type": "number_input",
"is_decimal_allowed": true
});
let num_json = serde_json::to_value(num).unwrap();
assert_eq!(num_json, expected);sourcepub fn decimal_allowed(self) -> Self
pub fn decimal_allowed(self) -> Self
Sets true to is_decimal_allowed field.
use slack_messaging::blocks::elements::NumberInput;
use serde_json::json;
let num = NumberInput::new().decimal_allowed();
let expected = json!({
"type": "number_input",
"is_decimal_allowed": true
});
let num_json = serde_json::to_value(num).unwrap();
assert_eq!(num_json, expected);sourcepub fn decimal_disallowed(self) -> Self
pub fn decimal_disallowed(self) -> Self
Sets false to is_decimal_allowed field.
use slack_messaging::blocks::elements::NumberInput;
use serde_json::json;
let num = NumberInput::new().decimal_disallowed();
let expected = json!({
"type": "number_input",
"is_decimal_allowed": false
});
let num_json = serde_json::to_value(num).unwrap();
assert_eq!(num_json, expected);sourcepub fn set_action_id<T: Into<String>>(self, value: T) -> Self
pub fn set_action_id<T: Into<String>>(self, value: T) -> Self
Sets action_id field.
use slack_messaging::blocks::elements::NumberInput;
use serde_json::json;
let num = NumberInput::new().set_action_id("input_number");
let expected = json!({
"type": "number_input",
"action_id": "input_number",
"is_decimal_allowed": false
});
let num_json = serde_json::to_value(num).unwrap();
assert_eq!(num_json, expected);sourcepub fn set_initial_value<T: Into<String>>(self, value: T) -> Self
pub fn set_initial_value<T: Into<String>>(self, value: T) -> Self
Sets initial_value field.
use slack_messaging::blocks::elements::NumberInput;
use serde_json::json;
let num = NumberInput::new().set_initial_value("7");
let expected = json!({
"type": "number_input",
"is_decimal_allowed": false,
"initial_value": "7"
});
let num_json = serde_json::to_value(num).unwrap();
assert_eq!(num_json, expected);sourcepub fn set_min_value<T: Into<String>>(self, value: T) -> Self
pub fn set_min_value<T: Into<String>>(self, value: T) -> Self
Sets min_value field.
use slack_messaging::blocks::elements::NumberInput;
use serde_json::json;
let num = NumberInput::new().set_min_value("5");
let expected = json!({
"type": "number_input",
"is_decimal_allowed": false,
"min_value": "5"
});
let num_json = serde_json::to_value(num).unwrap();
assert_eq!(num_json, expected);sourcepub fn set_max_value<T: Into<String>>(self, value: T) -> Self
pub fn set_max_value<T: Into<String>>(self, value: T) -> Self
Sets max_value field.
use slack_messaging::blocks::elements::NumberInput;
use serde_json::json;
let num = NumberInput::new().set_max_value("10");
let expected = json!({
"type": "number_input",
"is_decimal_allowed": false,
"max_value": "10"
});
let num_json = serde_json::to_value(num).unwrap();
assert_eq!(num_json, expected);sourcepub fn set_dispatch_action_config(
self,
config: DispatchActionConfiguration
) -> Self
pub fn set_dispatch_action_config( self, config: DispatchActionConfiguration ) -> Self
Sets dispatch_action_config field.
use slack_messaging::blocks::elements::{NumberInput, DispatchActionConfiguration,
TriggerAction};
use serde_json::json;
let num = NumberInput::new()
.set_dispatch_action_config(
DispatchActionConfiguration::new()
.push_trigger_action(TriggerAction::OnCharacterEntered)
.push_trigger_action(TriggerAction::OnEnterPressed)
);
let expected = json!({
"type": "number_input",
"is_decimal_allowed": false,
"dispatch_action_config": {
"trigger_actions_on": ["on_character_entered", "on_enter_pressed"]
}
});
let num_json = serde_json::to_value(num).unwrap();
assert_eq!(num_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::NumberInput;
use serde_json::json;
let num = NumberInput::new().set_focus_on_load(true);
let expected = json!({
"type": "number_input",
"is_decimal_allowed": false,
"focus_on_load": true
});
let num_json = serde_json::to_value(num).unwrap();
assert_eq!(num_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::{NumberInput, Text};
use serde_json::json;
let num = NumberInput::new().set_placeholder(Text::plain("How old are you?"));
let expected = json!({
"type": "number_input",
"is_decimal_allowed": false,
"placeholder": {
"type": "plain_text",
"text": "How old are you?",
"emoji": true
}
});
let num_json = serde_json::to_value(num).unwrap();
assert_eq!(num_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::NumberInput;
use serde_json::json;
let num = NumberInput::new().placeholder("How old are you?");
let expected = json!({
"type": "number_input",
"is_decimal_allowed": false,
"placeholder": {
"type": "plain_text",
"text": "How old are you?",
"emoji": true
}
});
let num_json = serde_json::to_value(num).unwrap();
assert_eq!(num_json, expected);Trait Implementations§
source§impl Clone for NumberInput
impl Clone for NumberInput
source§fn clone(&self) -> NumberInput
fn clone(&self) -> NumberInput
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 NumberInput
impl Debug for NumberInput
source§impl Default for NumberInput
impl Default for NumberInput
source§impl From<NumberInput> for InputElement
impl From<NumberInput> for InputElement
source§fn from(value: NumberInput) -> Self
fn from(value: NumberInput) -> Self
Converts to this type from the input type.