From 5430b3d42cdacbee21204eca8de99df8ca8f71e5 Mon Sep 17 00:00:00 2001 From: Emilia Date: Sat, 10 Feb 2024 16:47:32 -0500 Subject: [PATCH] hotfix --- .../callbacks/new_plate_dialog_callbacks.rs | 2 +- src/components/callbacks/transfer_menu_callbacks.rs | 3 --- src/components/callbacks/tree_callbacks.rs | 12 +++++++----- src/components/new_plate_dialog.rs | 4 +--- src/components/transfer_menu.rs | 5 +---- src/components/tree.rs | 4 +++- 6 files changed, 13 insertions(+), 17 deletions(-) diff --git a/src/components/callbacks/new_plate_dialog_callbacks.rs b/src/components/callbacks/new_plate_dialog_callbacks.rs index 3aa4609..71cb8ec 100644 --- a/src/components/callbacks/new_plate_dialog_callbacks.rs +++ b/src/components/callbacks/new_plate_dialog_callbacks.rs @@ -2,7 +2,7 @@ use yew::prelude::*; use yewdux::prelude::*; use wasm_bindgen::JsCast; -use web_sys::{EventTarget, FormData, HtmlDialogElement, HtmlFormElement}; +use web_sys::{EventTarget, FormData, HtmlFormElement}; use crate::components::states::MainState; use crate::data::plate::*; diff --git a/src/components/callbacks/transfer_menu_callbacks.rs b/src/components/callbacks/transfer_menu_callbacks.rs index 885ee22..2803ac1 100644 --- a/src/components/callbacks/transfer_menu_callbacks.rs +++ b/src/components/callbacks/transfer_menu_callbacks.rs @@ -1,6 +1,3 @@ -use lazy_static::lazy_static; -use regex::Regex; -use serde::{Deserialize, Serialize}; use std::rc::Rc; use uuid::Uuid; use wasm_bindgen::JsCast; diff --git a/src/components/callbacks/tree_callbacks.rs b/src/components/callbacks/tree_callbacks.rs index 68db2e4..0bb32ce 100644 --- a/src/components/callbacks/tree_callbacks.rs +++ b/src/components/callbacks/tree_callbacks.rs @@ -8,6 +8,8 @@ use yewdux::prelude::*; use crate::components::states::{CurrentTransfer, MainState}; use crate::data::transfer_region::Region; +type NoParamsCallback = Box ()>; + pub fn open_plate_info_callback( plate_menu_id: UseStateHandle>, ) -> Callback { @@ -24,8 +26,8 @@ pub fn open_plate_info_callback( pub fn plate_info_close_callback( plate_menu_id: UseStateHandle>, -) -> Callback { - Callback::from(move |_| { +) -> NoParamsCallback { + Box::new(move |_| { plate_menu_id.set(None); }) } @@ -33,8 +35,8 @@ pub fn plate_info_close_callback( pub fn plate_info_delete_callback( main_dispatch: Dispatch, plate_menu_id: UseStateHandle>, -) -> Callback { - Callback::from(move |_| { +) -> NoParamsCallback { + Box::new(move |_| { if let Some(id) = *plate_menu_id { main_dispatch.reduce_mut(|state| { state.del_plate(id); @@ -87,7 +89,7 @@ pub fn destination_plate_select_callback( }) } -pub fn transfer_select_callback(main_state: Rc) -> Callback { +pub fn transfer_select_callback(main_state: Rc, main_dispatch: Dispatch, ct_dispatch: Dispatch) -> Callback { Callback::from(move |e: MouseEvent| { let target: Option = e.target(); let li = target.and_then(|t| t.dyn_into::().ok()); diff --git a/src/components/new_plate_dialog.rs b/src/components/new_plate_dialog.rs index 6451000..31fee6c 100644 --- a/src/components/new_plate_dialog.rs +++ b/src/components/new_plate_dialog.rs @@ -1,11 +1,9 @@ use yew::prelude::*; use yewdux::prelude::*; -use wasm_bindgen::JsCast; -use web_sys::{EventTarget, FormData, HtmlDialogElement, HtmlFormElement}; +use web_sys::HtmlDialogElement; use crate::components::states::MainState; -use crate::data::plate::*; use crate::data::plate_instances::PlateInstance; use crate::components::callbacks::new_plate_dialog_callbacks; diff --git a/src/components/transfer_menu.rs b/src/components/transfer_menu.rs index 052f53f..28d355e 100644 --- a/src/components/transfer_menu.rs +++ b/src/components/transfer_menu.rs @@ -3,14 +3,11 @@ use lazy_static::lazy_static; use regex::Regex; use serde::{Deserialize, Serialize}; -use uuid::Uuid; -use wasm_bindgen::JsCast; -use web_sys::{EventTarget, HtmlInputElement}; use yew::prelude::*; use yewdux::prelude::*; use crate::components::callbacks::transfer_menu_callbacks; -use crate::data::{transfer::Transfer, transfer_region::Region}; +use crate::data::transfer_region::Region; use super::states::{CurrentTransfer, MainState}; diff --git a/src/components/tree.rs b/src/components/tree.rs index 90359c5..82e3766 100644 --- a/src/components/tree.rs +++ b/src/components/tree.rs @@ -46,7 +46,9 @@ pub fn Tree(props: &TreeProps) -> Html { let transfer_select_callback = { let main_state = main_state.clone(); - tree_callbacks::transfer_select_callback(main_state) + let main_dispatch = main_dispatch.clone(); + let ct_dispatch = ct_dispatch.clone(); + tree_callbacks::transfer_select_callback(main_state, main_dispatch, ct_dispatch) }; let source_plates = main_state