-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
Balloon panel sticks out of the limiter element while scrolling #5328
Comments
And what is the limiter here? |
Editable element. |
https://github.com/ckeditor/ckeditor5-ui/issues/173 should resolve it. Precisely:
|
Problem is not with configuration. The question is what should we do with panel element when target element is out of the visible part of the limiter? |
Should we hide it or keep inside limiter bounds? |
That's exactly what I quoted ;-)
|
+1 |
For the record, this issue is actually more complex than https://github.com/ckeditor/ckeditor5-utils/issues/148 and not covered by the fix. It is complex because:
|
For the future reference – I tried moving the toolbar/balloon to the element which has overflow:hidden and fixed height. It doesn't solve the problem automatically because the balloon is positioned absolutely, which negates the We'd need to rewrite positioning of the balloon using relative of fixed positions (uuueeee...) AFAIR. |
Besides, there's one more important problem – the scrolling is captured and blocked by the balloon which makes for a terrible UX. I don't think that it's easy to workaround. |
Some examples? Because I don't quite get what you had in mind. |
I showed it to you live ;) If you keep the mouse over the balloon the page won't scroll. This was, actually, quite surprising because I didn't know that you could capture scroll (we have similar issues with dropdowns, but we'd like there to capture the scroll). |
…ut-of-the-limiter-generic-approach Fix (ui,utils): A balloon panel should hide when its target (anchor) becomes invisible due to scrolling or cropping. Closes #5328. MINOR BREAKING CHANGE (utils): The `getOptimalPosition()` helper will now return `null` (previously first available position) if the positioning criteria cannot be met, for instance, if the `target` is off the visible viewport.
During final testing phase turned out there's some new regressions:
We don't want to merge the improvement with this regression and the fix requires extra effort and time to think this out. Thus we're delaying this fix to the next release. |
Problems that we have today
Possible solutions
|
@mlewand What we need here is a complete understanding of all use cases that we have to address. These two only prove that we're missing the big picture. There could be more. There are two options used in Let's aggregate all user stories somewhere first (Figma?). That will help us understand and rethink the concepts of limiters and fitting in the viewport. My gut tells me they don't mean the same thing when we start making sure balloons get hidden when their target gets out of sight. |
Yet another related issue #7388 (comment) |
Follow-up of: #5320
The text was updated successfully, but these errors were encountered: