floem_reactive/
trigger.rs1use 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}