Skip to content

Popover placement issues if popover control is moved after the popover is already open #13224

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
mikerodonnell89 opened this issue Apr 22, 2025 · 0 comments

Comments

@mikerodonnell89
Copy link
Member

If a popover is opened, and something above the popover is suddenly displayed, causing the control to move down a bit, the popover body does not reposition itself. This is even happening with the scroll reposition strategy, but I suppose it's not actually scrolling. As a workaround, the developer can call the refreshPopover() method of the popover component, but apparently it has to be in a setTimeout as I have commented out in this stackblitz (or presumably by manually triggering change detection). The workaround is possible for many components which publicly expose their child popover (for example fd-combobox), I am sure there are some components that use popover that do not expose the popover component, making the workaround impossible.

We need to investigate if this is coming from our library, or if it is inherent in the angular cdk. If our library can provide a solution, we'll need to handle it internally. If this is an inherent angular cdk issue, and our library can't provide a fix, we need to make sure that any component using a child popover has that popover child exposed as a public property, so the application developer can be able to implement a workaround.

Screen.Recording.2025-04-22.at.11.22.47.AM.mov

https://stackblitz.com/edit/ld62zmtm?file=src%2Fapp%2Fpopover-closing-example.component.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant