fitzee opened a new pull request, #43632:
URL: https://github.com/apache/superset/pull/43632

   ### SUMMARY
   
   Fixes [SC-111114](https://app.shortcut.com/preset/story/111114), where the 
native-filter configuration surface and its time-range editor can be clipped 
when all of Superset is hosted in a constrained iframe.
   
   The reported screenshot and source inspection exposed two related layout 
assumptions:
   
   - the filter modal enforced an 880px minimum width and only relaxed it 
through a viewport media query;
   - its descendants independently sized themselves with `70vh` / `calc(100vh - 
...)`, so the sidebar and tab content did not derive their height from the 
modal;
   - the 600px time-range popover explicitly disabled `ControlPopover` overflow 
adjustment, allowing a corner placement to extend outside the iframe.
   
   This change repairs those constraints at their enforcement points without 
trying to detect an embedded context:
   
   - cap normal and expanded modal widths to their actual containing block, 
with a 16px gutter, instead of enforcing a hard minimum;
   - complete the modal/form flex height chain and let the sidebar and tabs 
consume that height rather than independently measuring the viewport;
   - cap the time-range editor to its popup container and restore 
`ControlPopover`'s built-in flip/shift behavior.
   
   Focused regression tests protect both the modal width/height constraints and 
the time-range popover width.
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   
   The customer-provided before screenshot is attached to 
[SC-111114](https://app.shortcut.com/preset/story/111114). A local Superset 
server was not available in this isolated worktree for an after screenshot; the 
responsive constraints are covered by the focused component tests below.
   
   ### TESTING INSTRUCTIONS
   
   Automated:
   
   ```bash
   cd superset-frontend
   npx jest --runInBand --silent \
     src/dashboard/components/nativeFilters/ConfigModal/SharedStyles.test.tsx \
     
src/explore/components/controls/DateFilterControl/tests/DateFilterLabel.test.tsx
   # 2 suites passed, 8 tests passed
   
   cd ..
   pre-commit run
   # all applicable hooks passed, including oxfmt, oxlint, custom rules,
   # stylelint, and targeted frontend type checking
   ```
   
   Manual verification:
   
   1. Host the full Superset application in an iframe narrower than the browser 
window.
   2. Open a dashboard, enter edit mode, and open **Add or edit display 
controls**.
   3. Create/edit a time-range filter, enable **Pre-filter available values**, 
then open the **Time range** editor.
   4. Verify the filter modal retains a gutter inside the iframe, its sidebar 
and configuration panes scroll within the modal, and the time-range editor 
flips/shifts without crossing the iframe edge.
   5. Repeat at a normal desktop width and verify the modal remains 880px wide 
and the time-range editor remains 600px wide.
   6. Expand the modal and verify it fills the available iframe width while 
retaining the gutter.
   
   ### ADDITIONAL INFORMATION
   
   - [x] Has associated issue: 
[SC-111114](https://app.shortcut.com/preset/story/111114)
   - [ ] Required feature flags:
   - [x] Changes UI
   - [ ] Includes DB Migration (follow approval process in 
[SIP-59](https://github.com/apache/superset/issues/13351))
     - [ ] Migration is atomic, supports rollback & is backwards-compatible
     - [ ] Confirm DB migration upgrade and downgrade tested
     - [ ] Runtime estimates and downtime expectations provided
   - [ ] Introduces new feature or API
   - [ ] Removes existing feature or API
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to