* [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 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
* 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
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.