floem_reactive/
trigger.rs

1use crate::{signal::RwSignal, SignalUpdate, SignalWith};
2
3#[derive(Debug)]
4pub struct Trigger {
5    signal: RwSignal<()>,
6}
7
8impl Copy for Trigger {}
9
10impl Clone for Trigger {
11    fn clone(&self) -> Self {
12        *self
13    }
14}
15
16impl Trigger {
17    pub fn notify(&self) {
18        self.signal.set(());
19    }
20
21    pub fn track(&self) {
22        self.signal.with(|_| {});
23    }
24
25    #[allow(clippy::new_without_default)]
26    pub fn new() -> Self {
27        Trigger {
28            signal: RwSignal::new(()),
29        }
30    }
31}
32
33#[deprecated(
34    since = "0.2.0",
35    note = "Use Trigger::new instead; this will be removed in a future release"
36)]
37pub fn create_trigger() -> Trigger {
38    Trigger {
39        signal: RwSignal::new(()),
40    }
41}