use super::*;
pub(crate) fn use_data_demo_state() -> DataDemoState {
DataDemoState {
selected: App::use_signal(String::new),
message_count: App::use_signal(|| 0),
notification_count: App::use_signal(|| 0),
}
}
pub(crate) fn data_push_message(count: Signal<usize>) -> Option<Rc<dyn Fn(Event)>> {
Some(Rc::new(move |_event: Event| {
let current: usize = count.get();
count.set(current + 1);
}))
}
pub(crate) fn data_pop_message(count: Signal<usize>) -> Option<Rc<dyn Fn(Event)>> {
Some(Rc::new(move |_event: Event| {
let current: usize = count.get();
count.set(current.saturating_sub(1));
}))
}
pub(crate) fn data_push_notification(count: Signal<usize>) -> Option<Rc<dyn Fn(Event)>> {
Some(Rc::new(move |_event: Event| {
let current: usize = count.get();
count.set(current + 1);
}))
}
pub(crate) fn data_pop_notification(count: Signal<usize>) -> Option<Rc<dyn Fn(Event)>> {
Some(Rc::new(move |_event: Event| {
let current: usize = count.get();
count.set(current.saturating_sub(1));
}))
}
pub(crate) fn data_on_tree_select(selected: Signal<String>) -> Option<Rc<dyn Fn(&'static str)>> {
Some(Rc::new(move |value: &'static str| {
selected.set(String::from(value));
}))
}
pub(crate) fn data_on_popconfirm_ok() -> Option<Rc<dyn Fn()>> {
Some(Rc::new(move || {
Console::log(DATA_POPCONFIRM_OK_LOG);
}))
}
pub(crate) fn data_on_popconfirm_cancel() -> Option<Rc<dyn Fn()>> {
Some(Rc::new(move || {
Console::log(DATA_POPCONFIRM_CANCEL_LOG);
}))
}
pub(crate) fn data_on_message_action() -> Option<Rc<dyn Fn()>> {
Some(Rc::new(move || {
Console::log(DATA_MESSAGE_ACTION_LOG);
}))
}
pub(crate) fn data_on_message_close(count: Signal<usize>) -> Option<Rc<dyn Fn()>> {
Some(Rc::new(move || {
let current: usize = count.get();
count.set(current.saturating_sub(1));
Console::log(DATA_MESSAGE_CLOSE_LOG);
}))
}
pub(crate) fn data_on_notification_close(count: Signal<usize>) -> Option<Rc<dyn Fn()>> {
Some(Rc::new(move || {
let current: usize = count.get();
count.set(current.saturating_sub(1));
Console::log(DATA_NOTIFICATION_CLOSE_LOG);
}))
}