fix(ui5-popover): set fallback placement when no place to popup #1467
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
When the opener element is taking full width and the placement is set to "Right" (same for "Left"), the popover tried to open on the opposite side, but both sides are not possible and the popover remains cut off with only its arrow visible.
Solution
Now, it checks "Bottom" and "Top" sides as well.
Note1: The fallback is applied before the allow-target-overlap to be taken into account, which means that Popover with placement "Right" or "Left", will try to open on all sides, before overlapping its target.
Note2: The fallback is used currently for "Left" and "Right' only for two reasons: (1) it fixes the issue that was originally reported by the MDK colleagues and (2) all the components, that use popover internally (f.e DatePicker) have placement="Bottom" and the change would have bigger impact, that I would avoid before release.
Note3:
The full solution is to have this fallback for all sides + placement type "Auto" that should be the default value and would try to open on "Right" first.
Fixes: #1395