diff --git a/examples/dyn_create_destroy_apps/Cargo.toml b/examples/dyn_create_destroy_apps/Cargo.toml index 9c4f7331f35..68b0d94979f 100644 --- a/examples/dyn_create_destroy_apps/Cargo.toml +++ b/examples/dyn_create_destroy_apps/Cargo.toml @@ -11,6 +11,7 @@ yew = { path = "../../packages/yew" } slab = "0.4.3" gloo = "0.3" wasm-bindgen = "0.2" +gloo-utils = "0.1" [dependencies.web-sys] version = "0.3.50" diff --git a/examples/dyn_create_destroy_apps/src/main.rs b/examples/dyn_create_destroy_apps/src/main.rs index f1f5173171a..622f8273db2 100644 --- a/examples/dyn_create_destroy_apps/src/main.rs +++ b/examples/dyn_create_destroy_apps/src/main.rs @@ -1,7 +1,7 @@ +use gloo_utils::document; use slab::Slab; use web_sys::Element; use yew::prelude::*; -use yew::utils::document; mod counter; diff --git a/examples/futures/Cargo.toml b/examples/futures/Cargo.toml index 4a57166fc1a..8202aa528a8 100644 --- a/examples/futures/Cargo.toml +++ b/examples/futures/Cargo.toml @@ -10,6 +10,7 @@ pulldown-cmark = { version = "0.8", default-features = false } wasm-bindgen = "0.2" wasm-bindgen-futures = "0.4" yew = { path = "../../packages/yew" } +gloo-utils = "0.1" [dependencies.web-sys] version = "0.3" diff --git a/examples/futures/src/main.rs b/examples/futures/src/main.rs index d257676e804..18c6d006f0b 100644 --- a/examples/futures/src/main.rs +++ b/examples/futures/src/main.rs @@ -50,7 +50,7 @@ async fn fetch_markdown(url: &'static str) -> Result { let request = Request::new_with_str_and_init(url, &opts)?; - let window = yew::utils::window(); + let window = gloo_utils::window(); let resp_value = JsFuture::from(window.fetch_with_request(&request)).await?; let resp: Response = resp_value.dyn_into().unwrap(); diff --git a/examples/inner_html/Cargo.toml b/examples/inner_html/Cargo.toml index 04773c7f3cb..a01639b3e6e 100644 --- a/examples/inner_html/Cargo.toml +++ b/examples/inner_html/Cargo.toml @@ -7,6 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] yew = { path = "../../packages/yew" } +gloo-utils = "0.1" [dependencies.web-sys] version = "0.3" diff --git a/examples/inner_html/src/main.rs b/examples/inner_html/src/main.rs index 8343f25efd4..9ab6992e3ee 100644 --- a/examples/inner_html/src/main.rs +++ b/examples/inner_html/src/main.rs @@ -16,7 +16,7 @@ impl Component for Model { } fn view(&self, _ctx: &Context) -> Html { - let div = yew::utils::document().create_element("div").unwrap(); + let div = gloo_utils::document().create_element("div").unwrap(); div.set_inner_html(HTML); // See console::log_1(&div); diff --git a/examples/mount_point/Cargo.toml b/examples/mount_point/Cargo.toml index cfcc0b58b7b..6c5024a4d4e 100644 --- a/examples/mount_point/Cargo.toml +++ b/examples/mount_point/Cargo.toml @@ -8,6 +8,7 @@ license = "MIT OR Apache-2.0" [dependencies] wasm-bindgen = "0.2" yew = { path = "../../packages/yew" } +gloo-utils = "0.1" [dependencies.web-sys] version = "0.3" diff --git a/examples/mount_point/src/main.rs b/examples/mount_point/src/main.rs index 631d440e59b..1eecb3d9fdc 100644 --- a/examples/mount_point/src/main.rs +++ b/examples/mount_point/src/main.rs @@ -60,7 +60,7 @@ fn create_canvas(document: &Document) -> HtmlCanvasElement { } fn main() { - let document = yew::utils::document(); + let document = gloo_utils::document(); let body = document.query_selector("body").unwrap().unwrap(); let canvas = create_canvas(&document); diff --git a/examples/two_apps/Cargo.toml b/examples/two_apps/Cargo.toml index 7fd73fa7c4e..bd1b29dfcc4 100644 --- a/examples/two_apps/Cargo.toml +++ b/examples/two_apps/Cargo.toml @@ -7,3 +7,4 @@ license = "MIT OR Apache-2.0" [dependencies] yew = { path = "../../packages/yew" } +gloo-utils = "0.1" diff --git a/examples/two_apps/src/main.rs b/examples/two_apps/src/main.rs index 9502471e25b..862bc76a324 100644 --- a/examples/two_apps/src/main.rs +++ b/examples/two_apps/src/main.rs @@ -70,7 +70,7 @@ impl Component for Model { } fn mount_app(selector: &'static str) -> AppHandle { - let document = yew::utils::document(); + let document = gloo_utils::document(); let element = document.query_selector(selector).unwrap().unwrap(); yew::start_app_in_element(element) } diff --git a/packages/website-test/Cargo.toml b/packages/website-test/Cargo.toml index 9e184ef34b6..2abcc028d41 100644 --- a/packages/website-test/Cargo.toml +++ b/packages/website-test/Cargo.toml @@ -12,6 +12,7 @@ yew-agent = { path = "../../packages/yew-agent/" } boolinator = "2.4" derive_more = "0.99" gloo-events = "0.1" +gloo-utils = "0.1" js-sys = "0.3" wasm-bindgen = "0.2" wasm-bindgen-futures = "0.4" diff --git a/packages/yew-agent/Cargo.toml b/packages/yew-agent/Cargo.toml index 823c383ae36..cd7fdc20db7 100644 --- a/packages/yew-agent/Cargo.toml +++ b/packages/yew-agent/Cargo.toml @@ -10,6 +10,7 @@ edition = "2018" anymap2 = "0.13" bincode = "1" gloo-console = "0.1" +gloo-utils = "0.1" js-sys = "0.3" serde = { version = "1", features = ["derive"] } slab = "0.4" diff --git a/packages/yew-agent/src/worker/mod.rs b/packages/yew-agent/src/worker/mod.rs index 297ba205c2b..7a932931300 100644 --- a/packages/yew-agent/src/worker/mod.rs +++ b/packages/yew-agent/src/worker/mod.rs @@ -8,7 +8,7 @@ pub use public::Public; use super::*; use js_sys::{Array, Reflect, Uint8Array}; use serde::{Deserialize, Serialize}; -use wasm_bindgen::{closure::Closure, JsCast, JsValue}; +use wasm_bindgen::{closure::Closure, JsCast, JsValue, UnwrapThrowExt}; use web_sys::{ Blob, BlobPropertyBag, DedicatedWorkerGlobalScope, MessageEvent, Url, Worker, WorkerOptions, }; @@ -71,7 +71,11 @@ where } fn worker_new(name_of_resource: &str, is_module: bool) -> Worker { - let origin = yew::utils::origin().unwrap(); + let origin = gloo_utils::document() + .location() + .unwrap_throw() + .origin() + .unwrap_throw(); let script_url = format!("{}/{}", origin, name_of_resource); let wasm_url = format!("{}/{}", origin, name_of_resource.replace(".js", "_bg.wasm")); let array = Array::new(); diff --git a/packages/yew-router/Cargo.toml b/packages/yew-router/Cargo.toml index 4c9e24eb3fc..0ff574d1498 100644 --- a/packages/yew-router/Cargo.toml +++ b/packages/yew-router/Cargo.toml @@ -16,6 +16,7 @@ wasm_test = [] [dependencies] yew = { path = "../yew", default-features= false } yew-router-macro = { path = "../yew-router-macro" } +gloo-utils = "0.1" wasm-bindgen = "0.2" js-sys = "0.3" diff --git a/packages/yew-router/src/history.rs b/packages/yew-router/src/history.rs index e75b7bc171b..fd4d0c9e970 100644 --- a/packages/yew-router/src/history.rs +++ b/packages/yew-router/src/history.rs @@ -5,12 +5,12 @@ use std::cell::RefCell; use std::rc::{Rc, Weak}; use gloo::events::EventListener; +use gloo_utils::window; use serde::de::DeserializeOwned; use serde::Serialize; use thiserror::Error; use wasm_bindgen::{JsValue, UnwrapThrowExt}; use yew::callback::Callback; -use yew::utils::window; use crate::utils::base_url; use crate::Routable; diff --git a/packages/yew-router/src/utils.rs b/packages/yew-router/src/utils.rs index e8db60032a3..bae8e68fa5d 100644 --- a/packages/yew-router/src/utils.rs +++ b/packages/yew-router/src/utils.rs @@ -22,7 +22,7 @@ pub fn base_url() -> Option { } pub fn fetch_base_url() -> Option { - match yew::utils::document().query_selector("base[href]") { + match gloo_utils::document().query_selector("base[href]") { Ok(Some(base)) => { let base = base.unchecked_into::().href(); @@ -43,8 +43,8 @@ pub fn fetch_base_url() -> Option { #[cfg(test)] mod tests { + use gloo_utils::document; use wasm_bindgen_test::wasm_bindgen_test as test; - use yew::utils::*; use yew_router::prelude::*; use yew_router::utils::*; diff --git a/packages/yew-router/tests/router.rs b/packages/yew-router/tests/router.rs index 494a0aaf26c..efee71f51c8 100644 --- a/packages/yew-router/tests/router.rs +++ b/packages/yew-router/tests/router.rs @@ -113,7 +113,7 @@ fn root() -> Html { // - 404 redirects #[test] fn router_works() { - yew::start_app_in_element::(yew::utils::document().get_element_by_id("output").unwrap()); + yew::start_app_in_element::(gloo_utils::document().get_element_by_id("output").unwrap()); assert_eq!("Home", obtain_result_by_id("result")); diff --git a/packages/yew-router/tests/utils.rs b/packages/yew-router/tests/utils.rs index 031c3815d10..03c60a86c1f 100644 --- a/packages/yew-router/tests/utils.rs +++ b/packages/yew-router/tests/utils.rs @@ -1,14 +1,14 @@ use wasm_bindgen::JsCast; pub fn obtain_result_by_id(id: &str) -> String { - yew::utils::document() + gloo_utils::document() .get_element_by_id(id) .expect("No result found. Most likely, the application crashed and burned") .inner_html() } pub fn click(selector: &str) { - yew::utils::document() + gloo_utils::document() .query_selector(selector) .unwrap() .unwrap() @@ -18,7 +18,7 @@ pub fn click(selector: &str) { } pub fn history_length() -> u32 { - yew::utils::window() + gloo_utils::window() .history() .expect("No history found") .length() diff --git a/packages/yew/Cargo.toml b/packages/yew/Cargo.toml index 1129976d585..d1e2ba4a22f 100644 --- a/packages/yew/Cargo.toml +++ b/packages/yew/Cargo.toml @@ -16,9 +16,9 @@ categories = ["gui", "wasm", "web-programming"] description = "A framework for making client-side single-page apps" [dependencies] -anyhow = "1" console_error_panic_hook = "0.1" gloo = "0.3" +gloo-utils = "0.1.0" indexmap = { version = "1", features = ["std"] } js-sys = "0.3" slab = "0.4" diff --git a/packages/yew/src/app_handle.rs b/packages/yew/src/app_handle.rs index 1b0feda4dd2..8ac8cfcc8f8 100644 --- a/packages/yew/src/app_handle.rs +++ b/packages/yew/src/app_handle.rs @@ -4,7 +4,7 @@ use std::ops::Deref; use crate::html::{Component, NodeRef, Scope, Scoped}; -use crate::utils::document; +use gloo_utils::document; use std::rc::Rc; use web_sys::Element; diff --git a/packages/yew/src/functional/hooks/use_effect.rs b/packages/yew/src/functional/hooks/use_effect.rs index 6e3c2580612..4ddacc1aad8 100644 --- a/packages/yew/src/functional/hooks/use_effect.rs +++ b/packages/yew/src/functional/hooks/use_effect.rs @@ -19,10 +19,10 @@ struct UseEffect { /// let counter_one = counter.clone(); /// use_effect(move || { /// // Make a call to DOM API after component is rendered -/// yew::utils::document().set_title(&format!("You clicked {} times", *counter_one)); +/// gloo_utils::document().set_title(&format!("You clicked {} times", *counter_one)); /// /// // Perform the cleanup -/// || yew::utils::document().set_title(&format!("You clicked 0 times")) +/// || gloo_utils::document().set_title(&format!("You clicked 0 times")) /// }); /// /// let onclick = { diff --git a/packages/yew/src/functional/hooks/use_ref.rs b/packages/yew/src/functional/hooks/use_ref.rs index 4ec1ee7cfff..12a7e6782a8 100644 --- a/packages/yew/src/functional/hooks/use_ref.rs +++ b/packages/yew/src/functional/hooks/use_ref.rs @@ -21,7 +21,7 @@ use std::{cell::RefCell, rc::Rc}; /// let message_count = use_ref(|| 0); /// /// let onclick = Callback::from(move |e| { -/// let window = yew::utils::window(); +/// let window = gloo_utils::window(); /// /// if *message_count.borrow_mut() > 3 { /// window.alert_with_message("Message limit reached"); diff --git a/packages/yew/src/html/component/lifecycle.rs b/packages/yew/src/html/component/lifecycle.rs index 86a4267ae2f..49931d551c2 100644 --- a/packages/yew/src/html/component/lifecycle.rs +++ b/packages/yew/src/html/component/lifecycle.rs @@ -322,7 +322,7 @@ mod tests { } fn test_lifecycle(props: Props, expected: &[&str]) { - let document = crate::utils::document(); + let document = gloo_utils::document(); let scope = Scope::::new(None); let el = document.create_element("div").unwrap(); let lifecycle = props.lifecycle.clone(); diff --git a/packages/yew/src/html/component/scope.rs b/packages/yew/src/html/component/scope.rs index c491640d43f..ef88d11ad1d 100644 --- a/packages/yew/src/html/component/scope.rs +++ b/packages/yew/src/html/component/scope.rs @@ -11,8 +11,8 @@ use crate::callback::Callback; use crate::context::{ContextHandle, ContextProvider}; use crate::html::NodeRef; use crate::scheduler::{self, Shared}; -use crate::utils::document; use crate::virtual_dom::{insert_node, VNode}; +use gloo_utils::document; use std::any::{Any, TypeId}; use std::cell::{Ref, RefCell}; use std::future::Future; diff --git a/packages/yew/src/html/mod.rs b/packages/yew/src/html/mod.rs index e3b93d1ec44..91caebda302 100644 --- a/packages/yew/src/html/mod.rs +++ b/packages/yew/src/html/mod.rs @@ -139,7 +139,7 @@ impl NodeRef { #[cfg(test)] mod tests { use super::*; - use crate::utils::document; + use gloo_utils::document; #[cfg(feature = "wasm_test")] use wasm_bindgen_test::{wasm_bindgen_test as test, wasm_bindgen_test_configure}; diff --git a/packages/yew/src/lib.rs b/packages/yew/src/lib.rs index 33cec405859..c74520153cb 100644 --- a/packages/yew/src/lib.rs +++ b/packages/yew/src/lib.rs @@ -352,7 +352,7 @@ where COMP: Component, { start_app_with_props_in_element( - crate::utils::document() + gloo_utils::document() .body() .expect("no body node found") .into(), diff --git a/packages/yew/src/utils/mod.rs b/packages/yew/src/utils/mod.rs index 15ae37684d7..29e9a8874f0 100644 --- a/packages/yew/src/utils/mod.rs +++ b/packages/yew/src/utils/mod.rs @@ -1,51 +1,8 @@ //! This module contains useful utilities to get information about the current document. use std::marker::PhantomData; - -use anyhow::{anyhow, Error}; -use web_sys::{Document, Window}; - use yew::html::ChildrenRenderer; -/// Returns the current window. This function will panic if there is no available window. -pub fn window() -> Window { - web_sys::window().expect("no window available") -} - -/// Returns the current document. -pub fn document() -> Document { - window().document().unwrap() -} - -/// Returns the `host` for the current document. Useful for connecting to the server which serves -/// the app. -pub fn host() -> Result { - let location = document() - .location() - .ok_or_else(|| anyhow!("can't get location"))?; - - let host = location.host().map_err(|e| { - anyhow!(e - .as_string() - .unwrap_or_else(|| String::from("error not recoverable")),) - })?; - - Ok(host) -} - -/// Returns the `origin` of the current window. -pub fn origin() -> Result { - let location = window().location(); - - let origin = location.origin().map_err(|e| { - anyhow!(e - .as_string() - .unwrap_or_else(|| String::from("error not recoverable")),) - })?; - - Ok(origin) -} - /// Map IntoIterator> to Iterator pub fn into_node_iter(it: IT) -> impl Iterator where diff --git a/packages/yew/src/virtual_dom/listeners.rs b/packages/yew/src/virtual_dom/listeners.rs index 3c13f369086..5b3099e9fb2 100644 --- a/packages/yew/src/virtual_dom/listeners.rs +++ b/packages/yew/src/virtual_dom/listeners.rs @@ -15,7 +15,7 @@ thread_local! { static LISTENER_ID_PROP: wasm_bindgen::JsValue = "__yew_listener_id".into(); /// Cached reference to the document body - static BODY: web_sys::HtmlElement = crate::utils::document().body().unwrap(); + static BODY: web_sys::HtmlElement = gloo_utils::document().body().unwrap(); } /// Bubble events during delegation @@ -526,7 +526,8 @@ mod tests { use web_sys::{Event, EventInit}; wasm_bindgen_test_configure!(run_in_browser); - use crate::{html, html::TargetCast, utils::document, AppHandle, Component, Context, Html}; + use crate::{html, html::TargetCast, AppHandle, Component, Context, Html}; + use gloo_utils::document; use wasm_bindgen::JsCast; use wasm_bindgen_futures::JsFuture; @@ -665,7 +666,7 @@ mod tests { async fn await_animation_frame() { JsFuture::from(js_sys::Promise::new(&mut |resolve, _| { - crate::utils::window() + gloo_utils::window() .request_animation_frame(&resolve) .unwrap(); })) diff --git a/packages/yew/src/virtual_dom/mod.rs b/packages/yew/src/virtual_dom/mod.rs index f68e7189b39..24de102ed4a 100644 --- a/packages/yew/src/virtual_dom/mod.rs +++ b/packages/yew/src/virtual_dom/mod.rs @@ -480,7 +480,7 @@ mod layout_tests { } pub(crate) fn diff_layouts(layouts: Vec>) { - let document = crate::utils::document(); + let document = gloo_utils::document(); let parent_scope: AnyScope = Scope::::new(None).into(); let parent_element = document.create_element("div").unwrap(); let parent_node: Node = parent_element.clone().into(); @@ -605,7 +605,7 @@ mod benchmarks { { let mut old = $old.clone(); let new = $new.clone(); - let el = crate::utils::document().create_element("div").unwrap(); + let el = gloo_utils::document().create_element("div").unwrap(); old.apply(&el); ( format!("{} -> {}", attr_variant(&old), attr_variant(&new)), diff --git a/packages/yew/src/virtual_dom/vcomp.rs b/packages/yew/src/virtual_dom/vcomp.rs index ae33995e4b7..df21da5111a 100644 --- a/packages/yew/src/virtual_dom/vcomp.rs +++ b/packages/yew/src/virtual_dom/vcomp.rs @@ -281,7 +281,8 @@ impl fmt::Debug for VChild { #[cfg(test)] mod tests { use super::*; - use crate::{html, utils::document, Children, Component, Context, Html, NodeRef, Properties}; + use crate::{html, Children, Component, Context, Html, NodeRef, Properties}; + use gloo_utils::document; use web_sys::Node; #[cfg(feature = "wasm_test")] @@ -319,7 +320,7 @@ mod tests { #[test] fn update_loop() { - let document = crate::utils::document(); + let document = gloo_utils::document(); let parent_scope: AnyScope = crate::html::Scope::::new(None).into(); let parent_element = document.create_element("div").unwrap(); diff --git a/packages/yew/src/virtual_dom/vlist.rs b/packages/yew/src/virtual_dom/vlist.rs index 6d43c02e6a4..001c42fde61 100644 --- a/packages/yew/src/virtual_dom/vlist.rs +++ b/packages/yew/src/virtual_dom/vlist.rs @@ -513,7 +513,7 @@ mod layout_tests_keys { fn diff() { let mut layouts = vec![]; - let vref_node: Node = crate::utils::document().create_element("i").unwrap().into(); + let vref_node: Node = gloo_utils::document().create_element("i").unwrap().into(); layouts.push(TestLayout { name: "All VNode types as children", node: html! { diff --git a/packages/yew/src/virtual_dom/vnode.rs b/packages/yew/src/virtual_dom/vnode.rs index 518b86a2760..bdcec4a2f87 100644 --- a/packages/yew/src/virtual_dom/vnode.rs +++ b/packages/yew/src/virtual_dom/vnode.rs @@ -256,7 +256,7 @@ mod layout_tests { #[test] fn diff() { - let document = crate::utils::document(); + let document = gloo_utils::document(); let vref_node_1 = VNode::VRef(document.create_element("i").unwrap().into()); let vref_node_2 = VNode::VRef(document.create_element("b").unwrap().into()); diff --git a/packages/yew/src/virtual_dom/vtag.rs b/packages/yew/src/virtual_dom/vtag.rs index af51cf1633a..ab1ce2a8d93 100644 --- a/packages/yew/src/virtual_dom/vtag.rs +++ b/packages/yew/src/virtual_dom/vtag.rs @@ -2,8 +2,8 @@ use super::{Apply, AttrValue, Attributes, Key, Listener, Listeners, VDiff, VList, VNode}; use crate::html::{AnyScope, IntoPropValue, NodeRef}; -use crate::utils::document; use gloo::console; +use gloo_utils::document; use std::borrow::Cow; use std::cmp::PartialEq; use std::hint::unreachable_unchecked; diff --git a/packages/yew/src/virtual_dom/vtext.rs b/packages/yew/src/virtual_dom/vtext.rs index 6848aaac418..c6f8aa658ab 100644 --- a/packages/yew/src/virtual_dom/vtext.rs +++ b/packages/yew/src/virtual_dom/vtext.rs @@ -2,8 +2,8 @@ use super::{AttrValue, VDiff, VNode}; use crate::html::{AnyScope, NodeRef}; -use crate::utils::document; use gloo::console; +use gloo_utils::document; use std::cmp::PartialEq; use web_sys::{Element, Text as TextNode}; diff --git a/packages/yew/tests/common/mod.rs b/packages/yew/tests/common/mod.rs index 0dc2efb2247..8da829ab7d3 100644 --- a/packages/yew/tests/common/mod.rs +++ b/packages/yew/tests/common/mod.rs @@ -1,14 +1,14 @@ #![allow(dead_code)] pub fn obtain_result() -> String { - yew::utils::document() + gloo_utils::document() .get_element_by_id("result") .expect("No result found. Most likely, the application crashed and burned") .inner_html() } pub fn obtain_result_by_id(id: &str) -> String { - yew::utils::document() + gloo_utils::document() .get_element_by_id(id) .expect("No result found. Most likely, the application crashed and burned") .inner_html() diff --git a/packages/yew/tests/mod.rs b/packages/yew/tests/mod.rs index 48e9b04a79d..ef98943a984 100644 --- a/packages/yew/tests/mod.rs +++ b/packages/yew/tests/mod.rs @@ -28,7 +28,7 @@ fn props_are_passed() { } type PropsComponent = FunctionComponent; yew::start_app_with_props_in_element::( - yew::utils::document().get_element_by_id("output").unwrap(), + gloo_utils::document().get_element_by_id("output").unwrap(), PropsPassedFunctionProps { value: "props".to_string(), }, diff --git a/packages/yew/tests/use_context.rs b/packages/yew/tests/use_context.rs index c00bf243deb..8d339f3b28d 100644 --- a/packages/yew/tests/use_context.rs +++ b/packages/yew/tests/use_context.rs @@ -73,7 +73,7 @@ fn use_context_scoping_works() { } yew::start_app_in_element::( - yew::utils::document().get_element_by_id("output").unwrap(), + gloo_utils::document().get_element_by_id("output").unwrap(), ); let result: String = obtain_result_by_id("result"); assert_eq!("correct", result); @@ -165,7 +165,7 @@ fn use_context_works_with_multiple_types() { type TestComponent = FunctionComponent; yew::start_app_in_element::( - yew::utils::document().get_element_by_id("output").unwrap(), + gloo_utils::document().get_element_by_id("output").unwrap(), ); } @@ -276,7 +276,7 @@ fn use_context_update_works() { type TestComponent = FunctionComponent; yew::start_app_in_element::( - yew::utils::document().get_element_by_id("output").unwrap(), + gloo_utils::document().get_element_by_id("output").unwrap(), ); // 1 initial render + 3 update steps diff --git a/packages/yew/tests/use_effect.rs b/packages/yew/tests/use_effect.rs index 244ba9bc502..2c655569b6d 100644 --- a/packages/yew/tests/use_effect.rs +++ b/packages/yew/tests/use_effect.rs @@ -72,7 +72,7 @@ fn use_effect_destroys_on_component_drop() { let destroy_counter = Rc::new(std::cell::RefCell::new(0)); let destroy_counter_c = destroy_counter.clone(); yew::start_app_with_props_in_element::( - yew::utils::document().get_element_by_id("output").unwrap(), + gloo_utils::document().get_element_by_id("output").unwrap(), WrapperProps { destroy_called: Rc::new(move || *destroy_counter_c.borrow_mut().deref_mut() += 1), }, @@ -112,7 +112,7 @@ fn use_effect_works_many_times() { type UseEffectComponent = FunctionComponent; yew::start_app_in_element::( - yew::utils::document().get_element_by_id("output").unwrap(), + gloo_utils::document().get_element_by_id("output").unwrap(), ); let result = obtain_result(); assert_eq!(result.as_str(), "4"); @@ -147,7 +147,7 @@ fn use_effect_works_once() { } type UseEffectComponent = FunctionComponent; yew::start_app_in_element::( - yew::utils::document().get_element_by_id("output").unwrap(), + gloo_utils::document().get_element_by_id("output").unwrap(), ); let result = obtain_result(); assert_eq!(result.as_str(), "1"); @@ -195,7 +195,7 @@ fn use_effect_refires_on_dependency_change() { } type UseEffectComponent = FunctionComponent; yew::start_app_in_element::( - yew::utils::document().get_element_by_id("output").unwrap(), + gloo_utils::document().get_element_by_id("output").unwrap(), ); let result: String = obtain_result(); diff --git a/packages/yew/tests/use_reducer.rs b/packages/yew/tests/use_reducer.rs index 3a948249ef5..50c0ab0241b 100644 --- a/packages/yew/tests/use_reducer.rs +++ b/packages/yew/tests/use_reducer.rs @@ -1,6 +1,7 @@ use std::collections::HashSet; use std::rc::Rc; +use gloo_utils::document; use wasm_bindgen::JsCast; use wasm_bindgen_test::*; use web_sys::HtmlElement; @@ -55,7 +56,7 @@ fn use_reducer_works() { } type UseReducerComponent = FunctionComponent; yew::start_app_in_element::( - yew::utils::document().get_element_by_id("output").unwrap(), + gloo_utils::document().get_element_by_id("output").unwrap(), ); let result = obtain_result(); @@ -116,13 +117,13 @@ fn use_reducer_eq_works() { } type UseReducerComponent = FunctionComponent; yew::start_app_in_element::( - yew::utils::document().get_element_by_id("output").unwrap(), + document().get_element_by_id("output").unwrap(), ); let result = obtain_result(); assert_eq!(result.as_str(), "1"); - yew::utils::document() + document() .get_element_by_id("add-a") .unwrap() .unchecked_into::() @@ -131,7 +132,7 @@ fn use_reducer_eq_works() { let result = obtain_result(); assert_eq!(result.as_str(), "2"); - yew::utils::document() + document() .get_element_by_id("add-a") .unwrap() .unchecked_into::() @@ -140,7 +141,7 @@ fn use_reducer_eq_works() { let result = obtain_result(); assert_eq!(result.as_str(), "2"); - yew::utils::document() + document() .get_element_by_id("add-b") .unwrap() .unchecked_into::() @@ -149,7 +150,7 @@ fn use_reducer_eq_works() { let result = obtain_result(); assert_eq!(result.as_str(), "3"); - yew::utils::document() + document() .get_element_by_id("add-b") .unwrap() .unchecked_into::() diff --git a/packages/yew/tests/use_ref.rs b/packages/yew/tests/use_ref.rs index 396e34764e8..6a14cd8309d 100644 --- a/packages/yew/tests/use_ref.rs +++ b/packages/yew/tests/use_ref.rs @@ -32,7 +32,7 @@ fn use_ref_works() { } type UseRefComponent = FunctionComponent; yew::start_app_in_element::( - yew::utils::document().get_element_by_id("output").unwrap(), + gloo_utils::document().get_element_by_id("output").unwrap(), ); let result = obtain_result(); diff --git a/packages/yew/tests/use_state.rs b/packages/yew/tests/use_state.rs index fb9e52ccdf8..5175700e63f 100644 --- a/packages/yew/tests/use_state.rs +++ b/packages/yew/tests/use_state.rs @@ -31,7 +31,7 @@ fn use_state_works() { } type UseComponent = FunctionComponent; yew::start_app_in_element::( - yew::utils::document().get_element_by_id("output").unwrap(), + gloo_utils::document().get_element_by_id("output").unwrap(), ); let result = obtain_result(); assert_eq!(result.as_str(), "5"); @@ -76,7 +76,7 @@ fn multiple_use_state_setters() { } type UseComponent = FunctionComponent; yew::start_app_in_element::( - yew::utils::document().get_element_by_id("output").unwrap(), + gloo_utils::document().get_element_by_id("output").unwrap(), ); let result = obtain_result(); assert_eq!(result.as_str(), "11"); @@ -110,7 +110,7 @@ fn use_state_eq_works() { } type UseComponent = FunctionComponent; yew::start_app_in_element::( - yew::utils::document().get_element_by_id("output").unwrap(), + gloo_utils::document().get_element_by_id("output").unwrap(), ); let result = obtain_result(); assert_eq!(result.as_str(), "1"); diff --git a/website/docs/concepts/function-components/pre-defined-hooks.md b/website/docs/concepts/function-components/pre-defined-hooks.md index e80da586f8c..92c32a699c5 100644 --- a/website/docs/concepts/function-components/pre-defined-hooks.md +++ b/website/docs/concepts/function-components/pre-defined-hooks.md @@ -87,7 +87,7 @@ fn ref_hook() -> Html { let message_count = use_ref(|| 0); let onclick = Callback::from(move |_| { - let window = yew::utils::window(); + let window = gloo_utils::window(); if *message_count.borrow_mut() > 3 { window.alert_with_message("Message limit reached").unwrap(); @@ -241,10 +241,10 @@ fn effect() -> Html { let counter = counter.clone(); use_effect(move || { // Make a call to DOM API after component is rendered - yew::utils::document().set_title(&format!("You clicked {} times", *counter)); + gloo_utils::document().set_title(&format!("You clicked {} times", *counter)); // Perform the cleanup - || yew::utils::document().set_title("You clicked 0 times") + || gloo_utils::document().set_title("You clicked 0 times") }); } let onclick = { diff --git a/website/docs/concepts/html/elements.md b/website/docs/concepts/html/elements.md index d1f84dad5bc..ab0a71e0daf 100644 --- a/website/docs/concepts/html/elements.md +++ b/website/docs/concepts/html/elements.md @@ -13,9 +13,8 @@ used as a `Html` value using `VRef`: ```rust use web_sys::{Element, Node}; -use yew::{ - Component, Context, html, Html, utils::document, -}; +use yew::{Component, Context, html, Html}; +use gloo_utils::document; struct Comp;