From 866483aa986540f4c2921c1ba193a7b53cb50bec Mon Sep 17 00:00:00 2001 From: Jeremy Wall Date: Fri, 11 Feb 2022 20:30:38 -0500 Subject: [PATCH] Link count of recipe to state in the service. --- web/src/components/shopping.rs | 3 +-- web/src/service.rs | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/web/src/components/shopping.rs b/web/src/components/shopping.rs index 2842548..2a608f7 100644 --- a/web/src/components/shopping.rs +++ b/web/src/components/shopping.rs @@ -30,9 +30,8 @@ fn recipe_check_box(props: RecipeCheckBoxProps) -> View { // the `view!` macro. let i = props.i; let id_as_str = Rc::new(format!("{}", i)); - let id_cloned = id_as_str.clone(); let id_cloned_2 = id_as_str.clone(); - let count = Signal::new(String::from("0")); + let count = Signal::new(format!("{}", app_service.get_recipe_count_by_index(i))); view! { input(type="number", min="0", bind:value=count.clone(), name="recipe_id", value=id_as_str.clone(), on:change=move |_| { let mut app_service = app_service.clone(); diff --git a/web/src/service.rs b/web/src/service.rs index b2feccc..86fe5fe 100644 --- a/web/src/service.rs +++ b/web/src/service.rs @@ -86,6 +86,10 @@ impl AppService { self.menu_list.set(v); } + pub fn get_recipe_count_by_index(&self, i: usize) -> usize { + self.menu_list.get().get(&i).map(|i| *i).unwrap_or_default() + } + pub fn get_recipes(&self) -> Signal> { self.recipes.clone() }