eframe web fix: `save()` on "blur" event
This commit is contained in:
parent
051b90bfc7
commit
f3a0ac1d1b
|
|
@ -191,7 +191,7 @@ impl AppRunner {
|
|||
pub fn update_focus(&mut self) {
|
||||
let has_focus = self.has_focus();
|
||||
if self.input.raw.focused != has_focus {
|
||||
// log::debug!("{} Focus changed to {has_focus}", self.canvas().id());
|
||||
log::trace!("{} Focus changed to {has_focus}", self.canvas().id());
|
||||
self.input.set_focus(has_focus);
|
||||
|
||||
if !has_focus {
|
||||
|
|
|
|||
|
|
@ -103,8 +103,13 @@ fn install_blur_focus(runner_ref: &WebRunner, target: &EventTarget) -> Result<()
|
|||
// so we also poll the focus state each frame in `AppRunner::logic`.
|
||||
for event_name in ["blur", "focus"] {
|
||||
let closure = move |_event: web_sys::MouseEvent, runner: &mut AppRunner| {
|
||||
// log::debug!("{} {event_name:?}", runner.canvas().id());
|
||||
log::trace!("{} {event_name:?}", runner.canvas().id());
|
||||
runner.update_focus();
|
||||
|
||||
if event_name == "blur" {
|
||||
// This might be a good time to save the state
|
||||
runner.save();
|
||||
}
|
||||
};
|
||||
|
||||
runner_ref.add_event_listener(target, event_name, closure)?;
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ impl TextAgent {
|
|||
return;
|
||||
}
|
||||
|
||||
// log::debug!("Focusing text agent");
|
||||
log::trace!("Focusing text agent");
|
||||
|
||||
if let Err(err) = self.input.focus() {
|
||||
log::error!("failed to set focus: {}", super::string_from_js_value(&err));
|
||||
|
|
@ -160,7 +160,7 @@ impl TextAgent {
|
|||
return;
|
||||
}
|
||||
|
||||
// log::debug!("Blurring text agent");
|
||||
log::trace!("Blurring text agent");
|
||||
|
||||
if let Err(err) = self.input.blur() {
|
||||
log::error!("failed to set focus: {}", super::string_from_js_value(&err));
|
||||
|
|
|
|||
Loading…
Reference in New Issue