use crate::element::{Element, HtmlElementConfig};
use super::field::{create_input, AsHtmlConfig, InputFieldConfig};
pub struct ButtonInputConfig {
pub value: Option<String>,
}
pub fn create_button_input(
input_configs: ButtonInputConfig,
html_configs: InputFieldConfig,
) -> Element {
create_input(html_configs, "button".to_string(), input_configs, None)
}
impl AsHtmlConfig for ButtonInputConfig {
fn set_html_configs(&self, mut configs: HtmlElementConfig) -> HtmlElementConfig {
if let Some(value) = &self.value {
configs = configs.set_attribute("value".to_string(), Some(value.clone()));
}
configs
}
}
impl Default for ButtonInputConfig {
fn default() -> Self {
Self { value: None }
}
}