in below/view/src/stats_view.rs [131:158]
fn wrap_on_event(&mut self, ch: Event) -> EventResult {
// Refresh event will be handled at root
if ch == Event::Refresh {
return EventResult::Ignored;
}
// if stats view is in cmd mode, pass all event to cmd_palette
let cmd_mode = self.get_cmd_palette().is_cmd_mode();
if cmd_mode {
return self.get_cmd_palette().on_event(ch);
}
let controller = self
.event_controllers
.borrow()
.get(&ch)
.unwrap_or(&Controllers::Unknown)
.clone();
// Unmapped event goes to the parent view.
if controller == Controllers::Unknown {
self.with_view_mut(|v| v.on_event(ch))
.unwrap_or(EventResult::Ignored)
} else {
controller.handle(self, &[]);
EventResult::with_cb(move |c| controller.callback::<V>(c, &[]))
}
}