Upgraded Leptos to 0.8. Fixes #1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+18
-13
@@ -1,5 +1,5 @@
|
||||
use crate::locales::trl;
|
||||
use leptos::*;
|
||||
use leptos::prelude::*;
|
||||
use crate::app::DialogHelper;
|
||||
use crate::validator::Validator;
|
||||
|
||||
@@ -11,15 +11,17 @@ pub struct DialogOpener {
|
||||
set_empty: WriteSignal<String>,
|
||||
not_checked: ReadSignal<Option<String>>,
|
||||
set_not_checked: WriteSignal<Option<String>>,
|
||||
show_err: RwSignal<bool>
|
||||
show_err: RwSignal<bool>,
|
||||
// Context is not available in event handlers, so the helper is looked up when the opener is created
|
||||
dlg_helper: Option<DialogHelper>
|
||||
}
|
||||
|
||||
impl DialogOpener {
|
||||
pub fn new() -> Self {
|
||||
let (visible, set_visible) = create_signal(false);
|
||||
let (empty, set_empty) = create_signal("".to_string());
|
||||
let (not_checked, set_not_checked) = create_signal(None);
|
||||
let show_err = create_rw_signal(false);
|
||||
let (visible, set_visible) = signal(false);
|
||||
let (empty, set_empty) = signal("".to_string());
|
||||
let (not_checked, set_not_checked) = signal(None);
|
||||
let show_err = RwSignal::new(false);
|
||||
DialogOpener {
|
||||
visible,
|
||||
set_visible,
|
||||
@@ -27,7 +29,8 @@ impl DialogOpener {
|
||||
set_empty,
|
||||
not_checked,
|
||||
set_not_checked,
|
||||
show_err
|
||||
show_err,
|
||||
dlg_helper: use_context::<DialogHelper>()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,15 +39,17 @@ impl DialogOpener {
|
||||
}
|
||||
|
||||
pub fn show(&self) {
|
||||
let dlg_helper = use_context::<DialogHelper>().expect("No dialog helper");
|
||||
dlg_helper.set_opened(true);
|
||||
self.set_visible.update(|state| *state = true);
|
||||
if let Some(dlg_helper) = self.dlg_helper {
|
||||
dlg_helper.set_opened(true);
|
||||
}
|
||||
self.set_visible.set(true);
|
||||
}
|
||||
|
||||
pub fn hide(&self) {
|
||||
let dlg_helper = use_context::<DialogHelper>().expect("No dialog helper");
|
||||
dlg_helper.set_opened(false);
|
||||
self.set_visible.update(|state| *state = false);
|
||||
if let Some(dlg_helper) = self.dlg_helper {
|
||||
dlg_helper.set_opened(false);
|
||||
}
|
||||
self.set_visible.set(false);
|
||||
self.set_empty.set("".to_string());
|
||||
self.set_not_checked.set(None);
|
||||
self.show_err.set(false);
|
||||
|
||||
Reference in New Issue
Block a user