* [yew-devel] [PATCH yew-widget-toolkit v2] widget: dropdown: update picker placement after showing
@ 2024-12-20 10:31 Dominik Csapak
2024-12-20 10:42 ` Dominik Csapak
2024-12-20 15:03 ` [yew-devel] applied: " Thomas Lamprecht
0 siblings, 2 replies; 4+ messages in thread
From: Dominik Csapak @ 2024-12-20 10:31 UTC (permalink / raw)
To: yew-devel
It seems that under certain circumstances (e.g. a dropdown in a dialog)
updating the position of the picker before it's opened (it's a
popover) does not work properly in safari/webkit/epiphany.
When trying to open such a dropdown, it (or some parts of it) would
be rendered with a height of 0px, even though the elements have
a height set explicitly.
To fix this, update the picker placement after opening it. What exactly
is the cause (e.g. if it's a browser bug or our css/aligning) is yet to
be determined.
This fixes an issue on webkit (tested with epiphany) that opening
dropdowns in a dialog did not show the dropdown properly.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
src/widget/dropdown.rs | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/widget/dropdown.rs b/src/widget/dropdown.rs
index f9b49f1..a125bf6 100644
--- a/src/widget/dropdown.rs
+++ b/src/widget/dropdown.rs
@@ -510,12 +510,6 @@ impl Component for PwtDropdown {
}
}
- if let Some(placer) = &self.picker_placer {
- if let Err(err) = placer.update() {
- log::error!("error updating placement: {}", err.to_string());
- }
- }
-
if self.show != self.last_show {
self.last_show = self.show;
if let Some(popover_node) = self.picker_ref.get() {
@@ -533,6 +527,14 @@ impl Component for PwtDropdown {
}
}
}
+
+ // update picker placement after we opened/closed it
+ if let Some(placer) = &self.picker_placer {
+ if let Err(err) = placer.update() {
+ log::error!("error updating placement: {}", err.to_string());
+ }
+ }
+
self.focus_on_field = false;
}
}
--
2.39.5
_______________________________________________
yew-devel mailing list
yew-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [yew-devel] [PATCH yew-widget-toolkit v2] widget: dropdown: update picker placement after showing
2024-12-20 10:31 [yew-devel] [PATCH yew-widget-toolkit v2] widget: dropdown: update picker placement after showing Dominik Csapak
@ 2024-12-20 10:42 ` Dominik Csapak
2024-12-20 10:45 ` Maximiliano Sandoval
2024-12-20 15:03 ` [yew-devel] applied: " Thomas Lamprecht
1 sibling, 1 reply; 4+ messages in thread
From: Dominik Csapak @ 2024-12-20 10:42 UTC (permalink / raw)
To: yew-devel
argh sry, forgot to add the changelog (a trivial one, but still), so here it is:
changes from v1:
* changed commit message to include more details
* add comment to moved code block to make the intent of the position clear
_______________________________________________
yew-devel mailing list
yew-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [yew-devel] [PATCH yew-widget-toolkit v2] widget: dropdown: update picker placement after showing
2024-12-20 10:42 ` Dominik Csapak
@ 2024-12-20 10:45 ` Maximiliano Sandoval
0 siblings, 0 replies; 4+ messages in thread
From: Maximiliano Sandoval @ 2024-12-20 10:45 UTC (permalink / raw)
To: Yew framework devel list at Proxmox
This patch fixes the Theme selector dropdown not being visible in Epiphany 47.2.
Tested-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
Dominik Csapak <d.csapak@proxmox.com> writes:
> argh sry, forgot to add the changelog (a trivial one, but still), so here it is:
>
> changes from v1:
> * changed commit message to include more details
> * add comment to moved code block to make the intent of the position clear
>
>
> _______________________________________________
> yew-devel mailing list
> yew-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel
_______________________________________________
yew-devel mailing list
yew-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
* [yew-devel] applied: [PATCH yew-widget-toolkit v2] widget: dropdown: update picker placement after showing
2024-12-20 10:31 [yew-devel] [PATCH yew-widget-toolkit v2] widget: dropdown: update picker placement after showing Dominik Csapak
2024-12-20 10:42 ` Dominik Csapak
@ 2024-12-20 15:03 ` Thomas Lamprecht
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Lamprecht @ 2024-12-20 15:03 UTC (permalink / raw)
To: Yew framework devel list at Proxmox, Dominik Csapak
On 20/12/2024 11:31, Dominik Csapak wrote:
> It seems that under certain circumstances (e.g. a dropdown in a dialog)
> updating the position of the picker before it's opened (it's a
> popover) does not work properly in safari/webkit/epiphany.
>
> When trying to open such a dropdown, it (or some parts of it) would
> be rendered with a height of 0px, even though the elements have
> a height set explicitly.
>
> To fix this, update the picker placement after opening it. What exactly
> is the cause (e.g. if it's a browser bug or our css/aligning) is yet to
> be determined.
>
> This fixes an issue on webkit (tested with epiphany) that opening
> dropdowns in a dialog did not show the dropdown properly.
>
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> ---
> src/widget/dropdown.rs | 14 ++++++++------
> 1 file changed, 8 insertions(+), 6 deletions(-)
>
>
applied, with Maximiliano's T-b and also the comment slightly extend for
why this is done, thanks!
_______________________________________________
yew-devel mailing list
yew-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/yew-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-12-20 15:04 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-20 10:31 [yew-devel] [PATCH yew-widget-toolkit v2] widget: dropdown: update picker placement after showing Dominik Csapak
2024-12-20 10:42 ` Dominik Csapak
2024-12-20 10:45 ` Maximiliano Sandoval
2024-12-20 15:03 ` [yew-devel] applied: " Thomas Lamprecht
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox