Move the document trait into a separate crate (#3035)

* add a default head method through eval
* remove the old document trait
* implement document for each platform
* pull out document into a dedicated crate to cut down on shared dependencies
---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
This commit is contained in:
Evan AlmloffandJonathan Kelley authored and GitHub committed 2024-10-14 10:33:37 -07:00
1 parent 2b219c826c
commit 519ec9d294
91 files changed
+1113 -1044

No files matched your search

+3 -7
View File
@@ -1,4 +1,4 @@
use dioxus_html::document::{Document, EvalError, Evaluator};
use dioxus_document::{Document, Eval, EvalError, Evaluator};
use generational_box::{AnyStorage, GenerationalBox, UnsyncStorage};
use crate::{query::Query, DesktopContext};
@@ -18,17 +18,13 @@ impl DesktopDocument {
}
impl Document for DesktopDocument {
fn new_evaluator(&self, js: String) -> GenerationalBox<Box<dyn Evaluator>> {
DesktopEvaluator::create(self.desktop_ctx.clone(), js)
fn eval(&self, js: String) -> Eval {
Eval::new(DesktopEvaluator::create(self.desktop_ctx.clone(), js))
}
fn set_title(&self, title: String) {
self.desktop_ctx.window.set_title(&title);
}
fn as_any(&self) -> &dyn std::any::Any {
self
}
}
/// Represents a desktop-target's JavaScript evaluator.