Upgrade to Blitz 0.1.0-alpha.2 (#4227)
* Update to use latest Blitz net traits * Pass url to flush_style_attribute * Add system-fonts feature to dioxus-native * Native: cleanup log output * Make dioxus-native work with Blitz simplified Document and Renderer traits * Native: upgrade to event refactor * Upgrade to blitz 0.1.0-alpha.2 * Add typo exception Signed-off-by: Nico Burns <nico@nicoburns.com> * Ensure root_id is set to <main> element --------- Signed-off-by: Nico Burns <nico@nicoburns.com>
This commit is contained in:
1 parent
e1bd06bda5
commit
51d7affc54
10 files changed
+654
-1222
No files matched your search
@@ -1,24 +1,18 @@
|
||||
use blitz_shell::BlitzShellNetCallback;
|
||||
use std::sync::Arc;
|
||||
|
||||
use blitz_dom::{
|
||||
net::{CssHandler, ImageHandler, Resource},
|
||||
util::ImageType,
|
||||
BaseDocument,
|
||||
};
|
||||
use blitz_dom::net::Resource;
|
||||
use blitz_shell::BlitzShellEvent;
|
||||
use blitz_traits::net::{NetCallback, NetProvider};
|
||||
use winit::event_loop::EventLoopProxy;
|
||||
|
||||
use crate::NodeId;
|
||||
|
||||
pub struct DioxusNativeNetProvider {
|
||||
callback: Arc<dyn NetCallback<Data = Resource> + 'static>,
|
||||
inner_net_provider: Arc<dyn NetProvider<Data = Resource> + 'static>,
|
||||
callback: Arc<dyn NetCallback<Resource> + 'static>,
|
||||
inner_net_provider: Arc<dyn NetProvider<Resource> + 'static>,
|
||||
}
|
||||
impl DioxusNativeNetProvider {
|
||||
pub fn shared(proxy: EventLoopProxy<BlitzShellEvent>) -> Arc<dyn NetProvider<Data = Resource>> {
|
||||
Arc::new(Self::new(proxy)) as Arc<dyn NetProvider<Data = Resource>>
|
||||
pub fn shared(proxy: EventLoopProxy<BlitzShellEvent>) -> Arc<dyn NetProvider<Resource>> {
|
||||
Arc::new(Self::new(proxy)) as Arc<dyn NetProvider<Resource>>
|
||||
}
|
||||
|
||||
pub fn new(proxy: EventLoopProxy<BlitzShellEvent>) -> Self {
|
||||
@@ -31,14 +25,12 @@ impl DioxusNativeNetProvider {
|
||||
}
|
||||
}
|
||||
|
||||
impl NetProvider for DioxusNativeNetProvider {
|
||||
type Data = Resource;
|
||||
|
||||
impl NetProvider<Resource> for DioxusNativeNetProvider {
|
||||
fn fetch(
|
||||
&self,
|
||||
doc_id: usize,
|
||||
request: blitz_traits::net::Request,
|
||||
handler: blitz_traits::net::BoxedHandler<Self::Data>,
|
||||
handler: blitz_traits::net::BoxedHandler<Resource>,
|
||||
) {
|
||||
if request.url.scheme() == "dioxus" {
|
||||
match dioxus_asset_resolver::serve_asset_from_raw_path(request.url.path()) {
|
||||
@@ -55,26 +47,3 @@ impl NetProvider for DioxusNativeNetProvider {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn fetch_linked_stylesheet(doc: &BaseDocument, node_id: NodeId, queued_url: String) {
|
||||
let url = doc.resolve_url(&queued_url);
|
||||
doc.net_provider.fetch(
|
||||
doc.id(),
|
||||
blitz_traits::net::Request::get(url.clone()),
|
||||
Box::new(CssHandler {
|
||||
node: node_id,
|
||||
source_url: url,
|
||||
guard: doc.guard.clone(),
|
||||
provider: doc.net_provider.clone(),
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
pub fn fetch_image(doc: &BaseDocument, node_id: usize, queued_image: String) {
|
||||
let src = doc.resolve_url(&queued_image);
|
||||
doc.net_provider.fetch(
|
||||
doc.id(),
|
||||
blitz_traits::net::Request::get(src),
|
||||
Box::new(ImageHandler::new(node_id, ImageType::Image)),
|
||||
);
|
||||
}
|
||||
Reference in new issue
Block a user