* [PATCH yew-widget-toolkit 1/2] widget: search dropdown: enable hovering style @ 2026-06-18 14:44 Dominik Csapak 2026-06-18 14:44 ` [PATCH yew-widget-toolkit 2/2] widget: selector: don't autoselect or set to default more than once Dominik Csapak 2026-06-19 4:59 ` applied: [PATCH yew-widget-toolkit 1/2] widget: search dropdown: enable hovering style Dietmar Maurer 0 siblings, 2 replies; 4+ messages in thread From: Dominik Csapak @ 2026-06-18 14:44 UTC (permalink / raw) To: yew-devel otherwise it's harder to see which element is under the cursor Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> --- src/widget/search_dropdown.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/widget/search_dropdown.rs b/src/widget/search_dropdown.rs index 71ce1ab..264e4e1 100644 --- a/src/widget/search_dropdown.rs +++ b/src/widget/search_dropdown.rs @@ -145,6 +145,7 @@ impl<S: DataStore + 'static> SearchDropdown<S> { DataTable::new(columns, args.store.clone()) .max_height(CssLength::Em(20.0)) .show_header(false) + .hover(true) .on_row_click({ let args = args.clone(); move |event: &mut DataTableMouseEvent| { @@ -179,6 +180,7 @@ impl<S: DataStore + 'static> SearchDropdown<S> { DataTable::new(columns.clone(), args.store.clone()) .max_height(CssLength::Em(20.0)) .header_focusable(false) + .hover(true) .on_row_click({ let args = args.clone(); move |event: &mut DataTableMouseEvent| { -- 2.47.3 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH yew-widget-toolkit 2/2] widget: selector: don't autoselect or set to default more than once 2026-06-18 14:44 [PATCH yew-widget-toolkit 1/2] widget: search dropdown: enable hovering style Dominik Csapak @ 2026-06-18 14:44 ` Dominik Csapak 2026-06-19 4:59 ` applied: " Dietmar Maurer 2026-06-19 4:59 ` applied: [PATCH yew-widget-toolkit 1/2] widget: search dropdown: enable hovering style Dietmar Maurer 1 sibling, 1 reply; 4+ messages in thread From: Dominik Csapak @ 2026-06-18 14:44 UTC (permalink / raw) To: yew-devel Autoselect or setting the default should only happen once, otherwise clearing e.g. a combobox and trying to open the picker (which sets a filter+sorter, which triggers a DataChange event) sets it back to the default instead of opening it. Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> --- src/widget/form/selector.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/widget/form/selector.rs b/src/widget/form/selector.rs index 018d34f..1878a89 100644 --- a/src/widget/form/selector.rs +++ b/src/widget/form/selector.rs @@ -165,6 +165,7 @@ pub enum Msg<S: DataStore> { pub struct SelectorField<S: DataStore> { state: ManagedFieldState, selection: Selection, + value_set: bool, load_error: Option<String>, _store_observer: S::Observer, abort_load_guard: Option<AsyncAbortGuard>, @@ -278,6 +279,7 @@ impl<S: DataStore + 'static> ManagedField for SelectorField<S> { let mut me = Self { state: ManagedFieldState::new(value, default), selection, + value_set: false, load_error: None, _store_observer, abort_load_guard: None, @@ -329,7 +331,7 @@ impl<S: DataStore + 'static> ManagedField for SelectorField<S> { Msg::DataChange => { let value = self.value.as_str().unwrap_or("").to_owned(); - if self.load_error.is_none() && value.is_empty() { + if self.load_error.is_none() && value.is_empty() && !self.value_set { let mut default = props.default.clone(); if default.is_none() && props.autoselect { @@ -341,6 +343,7 @@ impl<S: DataStore + 'static> ManagedField for SelectorField<S> { if let Some(default) = default { ctx.link().update_value(default.to_string()); ctx.link().update_default(default.to_string()); + self.value_set = true; } } ctx.link().validate(); // re-evaluate -- 2.47.3 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* applied: [PATCH yew-widget-toolkit 2/2] widget: selector: don't autoselect or set to default more than once 2026-06-18 14:44 ` [PATCH yew-widget-toolkit 2/2] widget: selector: don't autoselect or set to default more than once Dominik Csapak @ 2026-06-19 4:59 ` Dietmar Maurer 0 siblings, 0 replies; 4+ messages in thread From: Dietmar Maurer @ 2026-06-19 4:59 UTC (permalink / raw) To: Dominik Csapak, yew-devel applied ^ permalink raw reply [flat|nested] 4+ messages in thread
* applied: [PATCH yew-widget-toolkit 1/2] widget: search dropdown: enable hovering style 2026-06-18 14:44 [PATCH yew-widget-toolkit 1/2] widget: search dropdown: enable hovering style Dominik Csapak 2026-06-18 14:44 ` [PATCH yew-widget-toolkit 2/2] widget: selector: don't autoselect or set to default more than once Dominik Csapak @ 2026-06-19 4:59 ` Dietmar Maurer 1 sibling, 0 replies; 4+ messages in thread From: Dietmar Maurer @ 2026-06-19 4:59 UTC (permalink / raw) To: Dominik Csapak, yew-devel applied ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-06-19 5:00 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-06-18 14:44 [PATCH yew-widget-toolkit 1/2] widget: search dropdown: enable hovering style Dominik Csapak 2026-06-18 14:44 ` [PATCH yew-widget-toolkit 2/2] widget: selector: don't autoselect or set to default more than once Dominik Csapak 2026-06-19 4:59 ` applied: " Dietmar Maurer 2026-06-19 4:59 ` applied: [PATCH yew-widget-toolkit 1/2] widget: search dropdown: enable hovering style Dietmar Maurer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox