web_tools/optimistic/
html_form_element.rs

1/// Support working with [`web_sys::HtmlFormElement`]
2pub trait OptimisticHtmlFormElement {
3    /// [`web_sys::HtmlFormElement::submit`] if the element is an [`web_sys::HtmlFormElement`].
4    fn submit(&self);
5}
6
7impl OptimisticHtmlFormElement for web_sys::HtmlFormElement {
8    fn submit(&self) {
9        let _ = self.submit();
10    }
11}
12
13impl OptimisticHtmlFormElement for Option<web_sys::HtmlFormElement> {
14    fn submit(&self) {
15        if let Some(form) = self {
16            let _ = form.submit();
17        }
18    }
19}
20
21#[cfg(feature = "yew")]
22impl OptimisticHtmlFormElement for yew::prelude::NodeRef {
23    fn submit(&self) {
24        if let Some(form) = self.cast::<web_sys::HtmlFormElement>() {
25            let _ = form.submit();
26        }
27    }
28}