From 78b4b34830d4cdc93cce551d94e54fde0d0bcd5c Mon Sep 17 00:00:00 2001 From: Leon Liu Date: Tue, 31 Dec 2024 18:32:46 +0900 Subject: [PATCH] update --- src/app.rs | 6 +++--- src/components/filter.rs | 10 +++++----- src/components/filter_detail.rs | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/app.rs b/src/app.rs index fbabd04..75b9d01 100644 --- a/src/app.rs +++ b/src/app.rs @@ -25,7 +25,7 @@ extern "C" { #[derive(Store, Clone)] struct AppStore { root: Filter, - selected_filter: Option>, + selected_filter: Option>>, } #[component] @@ -48,7 +48,7 @@ fn Main() -> impl IntoView { let selected = store.selected_filter().get(); match selected { Some(selected) => { - if selected.id().get() == store.root().id().get() { + if selected[0].id().get() == store.root().id().get() { FilterRoot().into_any() } else { view! { }.into_any() @@ -73,7 +73,7 @@ fn Main() -> impl IntoView { log!("action"); if let components::filter::Action::Select(f) = action { log!("select"); - store.selected_filter().set(Some(f)); + store.selected_filter().set(Some(vec![f])); } } root=true diff --git a/src/components/filter.rs b/src/components/filter.rs index b0c3a0d..d6fb791 100644 --- a/src/components/filter.rs +++ b/src/components/filter.rs @@ -11,7 +11,7 @@ fn group( filter: Field, group: Field, on_action: Callback<(Action,)>, - selected: Field>>, + selected: Field>>>, root: bool, ) -> impl IntoView { let header = move || { @@ -51,7 +51,7 @@ fn group( } }; let active = move || match selected.get() { - Some(f) => filter.id().get() == f.id().get(), + Some(f) => filter.id().get() == f[0].id().get(), None => false, }; view! { @@ -144,7 +144,7 @@ fn leaf( filter: Field, leaf: Field, on_action: Callback<(Action,)>, - selected: Field>>, + selected: Field>>>, ) -> impl IntoView { let header = move || filter.id().get().to_string(); @@ -156,7 +156,7 @@ fn leaf( } }; let active = move || match selected.get() { - Some(f) => filter.id().get() == f.id().get(), + Some(f) => filter.id().get() == f[0].id().get(), None => false, }; view! { @@ -211,7 +211,7 @@ pub enum Action { pub fn Filter( #[prop(into)] filter: Field, #[prop(into)] on_action: Callback<(Action,)>, - #[prop(into)] selected: Field>>, + #[prop(into)] selected: Field>>>, #[prop(optional)] root: bool, ) -> impl IntoView { let remain = filter.remain(); diff --git a/src/components/filter_detail.rs b/src/components/filter_detail.rs index 94d47b2..8ee2f39 100644 --- a/src/components/filter_detail.rs +++ b/src/components/filter_detail.rs @@ -3,7 +3,7 @@ use reactive_stores::Field; use src_common::models::loot_filter::Filter; #[component] -pub fn FilterDetail(#[prop(into)] filter: Field) -> impl IntoView { +pub fn FilterDetail(#[prop(into)] filter: Vec>) -> impl IntoView { view! {

Filter details: