leptos_leaflet/components/events/
move_events.rs1use crate::leaflet_event;
2use leaflet::Event;
3use std::cell::RefCell;
4use std::rc::Rc;
5
6#[derive(Clone, Default)]
7pub struct MoveEvents {
8 inner: Rc<RefCell<InnerMoveEvents>>,
9}
10
11#[derive(Default)]
12struct InnerMoveEvents {
13 on_move: Option<Box<dyn Fn(Event)>>,
14}
15
16impl MoveEvents {
17 pub fn new() -> Self {
18 Self::default()
19 }
20
21 pub fn setup(&self, evented: &impl leaflet::MoveEvents) {
22 if let Some(on_move) = self.inner.borrow_mut().on_move.take() {
23 evented.on_move(on_move);
24 }
25 }
26}
27
28leaflet_event!(MoveEvents, on_move, Event);