all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [yew-devel] [PATCH yew-widget-toolkit 1/2] dom: add convenience functions to get often used elements
@ 2025-05-02 12:49 Dominik Csapak
  2025-05-02 12:49 ` [yew-devel] [PATCH yew-widget-toolkit 2/2] tree wide: use get_window/document/body Dominik Csapak
  2025-05-05  8:13 ` [yew-devel] [PATCH yew-widget-toolkit 1/2] dom: add convenience functions to get often used elements Dietmar Maurer
  0 siblings, 2 replies; 5+ messages in thread
From: Dominik Csapak @ 2025-05-02 12:49 UTC (permalink / raw)
  To: yew-devel

Namely window/document/body. We use them throughout our codebase with
inline unwraps, instead we can use these helpers instead.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
 src/dom/mod.rs | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/src/dom/mod.rs b/src/dom/mod.rs
index f61dd21..679fab7 100644
--- a/src/dom/mod.rs
+++ b/src/dom/mod.rs
@@ -13,7 +13,7 @@ pub use dom_size_observer::{DomSizeObserver, IntoSizeCallback, SizeCallback};
 mod dom_visibility_observer;
 pub use dom_visibility_observer::DomVisibilityObserver;
 
-use web_sys::Node;
+use web_sys::{window, Document, HtmlElement, Node, Window};
 use yew::prelude::*;
 
 /// A Trait to convert structs into HtmlElement when possible
@@ -77,3 +77,21 @@ pub fn get_system_prefer_dark_mode() -> bool {
         false
     }
 }
+
+/// Convenience function to get the [`Window`] object.
+/// Panics if not in a browser context
+pub fn get_window() -> Window {
+    window().unwrap()
+}
+
+/// Convenience function to get the [`Document`] object.
+/// Panics if not in a browser context
+pub fn get_document() -> Document {
+    get_window().document().unwrap()
+}
+
+/// Convenience function to get the a reference to the <body> tag as [`HtmlElement`].
+/// Panics if not in a browser context
+pub fn get_body() -> HtmlElement {
+    get_document().body().unwrap()
+}
-- 
2.39.5



_______________________________________________
yew-devel mailing list
yew-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-05-05  8:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-05-02 12:49 [yew-devel] [PATCH yew-widget-toolkit 1/2] dom: add convenience functions to get often used elements Dominik Csapak
2025-05-02 12:49 ` [yew-devel] [PATCH yew-widget-toolkit 2/2] tree wide: use get_window/document/body Dominik Csapak
2025-05-05  8:13 ` [yew-devel] [PATCH yew-widget-toolkit 1/2] dom: add convenience functions to get often used elements Dietmar Maurer
2025-05-05  8:27   ` Shannon Sterz
2025-05-05  8:36     ` Dominik Csapak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal