Synchronous prevent default (#2792)
* add prevent default methods to the event * sync prevent default almost working * sync prevent default working * Move event handling into the runtime * update core tests * restore desktop file dialog * implement prevent default on web * add a hint about the new prevent default method * fix web prevent default * Fix CTRL+click on links * fix values memorize in place test * Fix a few more tests * Add a playwright test for sync prevent default * Fix core doc tests * create a deprecated VirtualDom::handle_event * fix macos imports in desktop * Fix onmounted event * Fix liveview support * switch to RefCell for metadata * Remove println * remove prevent default attribute * remove web specific link behavior * Fix liveview links * more liveview fixes for link * Fix merge conflicts * Fix clippy * use the new prevent default in the file upload example
This commit is contained in:
1 parent
8b62b71e2d
commit
cab573eefd
54 files changed
+940
-729
No files matched your search
@@ -317,6 +317,9 @@ pub(crate) trait AnyHistoryProvider {
|
||||
|
||||
#[allow(unused_variables)]
|
||||
fn updater(&mut self, callback: Arc<dyn Fn() + Send + Sync>) {}
|
||||
|
||||
#[cfg(feature = "liveview")]
|
||||
fn is_liveview(&self) -> bool;
|
||||
}
|
||||
|
||||
pub(crate) struct AnyHistoryProviderImplWrapper<R, H> {
|
||||
@@ -339,7 +342,7 @@ impl<R, H: Default> Default for AnyHistoryProviderImplWrapper<R, H> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<R, H> AnyHistoryProvider for AnyHistoryProviderImplWrapper<R, H>
|
||||
impl<R, H: 'static> AnyHistoryProvider for AnyHistoryProviderImplWrapper<R, H>
|
||||
where
|
||||
R: Routable,
|
||||
<R as std::str::FromStr>::Err: std::fmt::Display,
|
||||
@@ -389,4 +392,11 @@ where
|
||||
fn updater(&mut self, callback: Arc<dyn Fn() + Send + Sync>) {
|
||||
self.inner.updater(callback)
|
||||
}
|
||||
|
||||
#[cfg(feature = "liveview")]
|
||||
fn is_liveview(&self) -> bool {
|
||||
use std::any::TypeId;
|
||||
|
||||
TypeId::of::<H>() == TypeId::of::<LiveviewHistory<R>>()
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user