[Discover][Metrics] Fix chart panels rendering above push flyout in fullscreen#260127
Conversation
|
Pinging @elastic/obs-exploration-team (Team:obs-exploration) |
lucaslopezf
left a comment
There was a problem hiding this comment.
LGTM! Could we add a test to avoid regressions?
|
Pinging @elastic/obs-presentation-team (Team:obs-presentation) |
…llscreen EUI push flyouts render inline (no portal), so the flyout lives inside the fullscreen metrics grid stacking context. The presentation panel hover styles elevate `.embPanel` to `euiTheme.levels.menu`, which is higher than the flyout z-index within the same context. Reset chart panel z-index to `auto` in fullscreen to prevent this overlap.
The `.embPanel__hoverActions` toolbar is a sibling of `.embPanel` and gets its own z-index elevation on hover, causing it to render above the push flyout in the same stacking context.
Setting hover actions to z-index auto caused them to clip under charts in adjacent grid rows. Give them a z-index just below the push flyout level so they float above neighboring charts but stay behind the flyout.
…ce of this CSS and the associated test.
d03e747 to
3c1184d
Compare
ApprovabilityVerdict: Needs human review This PR bundles a small z-index bug fix with a substantial new feature (service badge navigation in APM waterfall). It also includes suspicious files: delete.json contains what appears to be API credentials, and ISSUE_ANALYSIS.md appears to be internal notes. The author does not own any of the changed files, which are owned by obs-presentation-team and obs-exploration-team who should review. You can customize Macroscope's approvability policy. Learn more. |
💚 Build Succeeded
Metrics [docs]Async chunks
History
|
…fullscreen (elastic#260127) ## Summary Fixes elastic#260087 In the fullscreen metrics view, hovering over a chart panel caused it to render on top of the metric insights flyout. This happened because: - The metric insights flyout uses `EuiFlyout` with `type="push"`, which renders inline (no portal), so the flyout lives inside the fullscreen metrics grid's stacking context - The presentation panel hover styles elevate `.embPanel` to `euiTheme.levels.menu`, which is higher than the flyout's z-index within that same stacking context The fix resets `.embPanel` z-index to `auto` inside the fullscreen grid class, preventing chart panels from stacking above the push flyout on hover. ## Test plan - Open Discover with a data view that has metric fields - Switch to the Metrics tab and enter fullscreen mode - Click "View details" on a chart to open the metric insights flyout - Hover over other chart panels and verify they do not render above the flyout - Verify chart hover actions (toolbar buttons) still appear correctly within the chart area - Exit fullscreen and verify normal chart hover behavior is unaffected ### Examples #### Before  #### After 
…fullscreen (elastic#260127) ## Summary Fixes elastic#260087 In the fullscreen metrics view, hovering over a chart panel caused it to render on top of the metric insights flyout. This happened because: - The metric insights flyout uses `EuiFlyout` with `type="push"`, which renders inline (no portal), so the flyout lives inside the fullscreen metrics grid's stacking context - The presentation panel hover styles elevate `.embPanel` to `euiTheme.levels.menu`, which is higher than the flyout's z-index within that same stacking context The fix resets `.embPanel` z-index to `auto` inside the fullscreen grid class, preventing chart panels from stacking above the push flyout on hover. ## Test plan - Open Discover with a data view that has metric fields - Switch to the Metrics tab and enter fullscreen mode - Click "View details" on a chart to open the metric insights flyout - Hover over other chart panels and verify they do not render above the flyout - Verify chart hover actions (toolbar buttons) still appear correctly within the chart area - Exit fullscreen and verify normal chart hover behavior is unaffected ### Examples #### Before  #### After 
Summary
Fixes #260087
In the fullscreen metrics view, hovering over a chart panel caused it to render on top of the metric insights flyout. This happened because:
EuiFlyoutwithtype="push", which renders inline (no portal), so the flyout lives inside the fullscreen metrics grid's stacking context.embPaneltoeuiTheme.levels.menu, which is higher than the flyout's z-index within that same stacking contextThe fix resets
.embPanelz-index toautoinside the fullscreen grid class, preventing chart panels from stacking above the push flyout on hover.Test plan
Examples
Before
After