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

   ### SUMMARY
   With `MOBILE_CONSUMPTION_MODE` on, the dashboard filters open in a left-side 
`Drawer` (DashboardBuilder). The drawer has a mask, so antd turns on its focus 
trap: any focus that lands outside the drawer gets pulled back in. Since #40032 
the select filter renders its dropdown into `document.body` on dashboards. In 
the mobile drawer that puts the dropdown outside the trapped area, so it opens, 
loses focus and closes right away, and you can't pick a value.
   
   `getSelectPopupContainer` now checks whether the select sits inside a drawer 
body and, if so, renders the dropdown there. Everywhere else it still uses 
`document.body`, so the desktop filter bar and the #40032 fix are unchanged. I 
used the drawer body rather than the trigger's parent node so the dropdown 
alignment from #40032 still holds inside the drawer.
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   Still to be added. The recording in the issue shows the before state.
   
   ### TESTING INSTRUCTIONS
   1. Enable the `MOBILE_CONSUMPTION_MODE` feature flag.
   2. Open a dashboard with a select (value) native filter on a phone, or in 
Chrome devtools device emulation with a width under 768px.
   3. Open the filters drawer and tap the select filter.
   4. The dropdown should stay open, and tapping a value should select it.
   5. On a desktop-width window, check the filter bar dropdown still opens 
below the input as before.
   
   Unit test: `npm run test -- 
src/filters/components/Select/SelectFilterPlugin.test.tsx`
   
   ### ADDITIONAL INFORMATION
   - [x] Has associated issue: Fixes #45597
   - [x] Required feature flags: `MOBILE_CONSUMPTION_MODE`
   - [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