arwa/html/
html_option_element.rs1use std::convert::TryFrom;
2
3use delegate::delegate;
4use wasm_bindgen::JsCast;
5
6use crate::html::{GenericHtmlElement, HtmlElement, HtmlFormElement};
7use crate::{Element, GenericElement, GenericNode, GlobalEventHandlers, InvalidCast, Node};
8
9#[derive(Clone)]
10pub struct HtmlOptionElement {
11 inner: web_sys::HtmlOptionElement,
12}
13
14impl HtmlOptionElement {
15 delegate! {
16 target self.inner {
17 pub fn disabled(&self) -> bool;
18
19 pub fn set_disabled(&self, disabled: bool);
20
21 pub fn label(&self) -> String;
22
23 pub fn set_label(&self, label: &str);
24
25 pub fn default_selected(&self) -> bool;
26
27 pub fn set_default_selected(&self, default_selected: bool);
28
29 pub fn selected(&self) -> bool;
30
31 pub fn set_selected(&self, selected: bool);
32
33 pub fn value(&self) -> String;
34
35 pub fn set_value(&self, value: &str);
36
37 pub fn text(&self) -> String;
38
39 pub fn set_text(&self, text: &str);
40 }
41 }
42
43 pub fn form(&self) -> Option<HtmlFormElement> {
44 self.inner.form().map(|form| form.into())
45 }
46
47 pub fn index(&self) -> usize {
48 self.inner.index() as usize
49 }
50}
51
52impl_html_common_traits!(HtmlOptionElement);