HomePhabricator

Activate "jx-toggle-class" on click to fix broken mobile behavior

Description

Activate "jx-toggle-class" on click to fix broken mobile behavior

Summary:
See downstream https://phabricator.wikimedia.org/T201480. Searching for things on mobile is a significant challenge because clicking the "Magnifying Glass" icon shows and then immediately hides the menu. I believe some aspect of iOS event handling has changed since this was originally written.

At some point, I'd like to rewrite this to work more cleanly and get rid of jx-toggle-class. In particular, it isn't smart enough to know that it should be modal with other menus, so you can get states like this by clicking multiple things:

Screen Shot 2019-03-28 at 4.51.07 PM.png (250×472 px, 46 KB)

This would also probably just look and work better if it was an inline element that showed up under the header instead of a floating dropdown element.

However, I'm having a hard time getting the Safari debugger to actually connect to the iOS simulator, so take a small step toward this bright future and fix the immediate problem for now: toggle on click instead of mousedown/touchstart.

This means the menu opens ~100ms later, but actually works. Big improvement!

I'd like to move away from "jx-toggle-class" anyway (it usually isn't sophisticated enough to fully describe a behavior) so reducing complexity here seems good. It isn't used in too many places so this is unlikely to have any negative effects, I hope.

Test Plan: On iOS simulator, clicked the magnifying glass icon in the main menu to get a search input. Before: got a search input for a microsecond. After: actually got a search input.

Reviewers: amckinley

Reviewed By: amckinley

Differential Revision: https://secure.phabricator.com/D20343

Details

Provenance
epriestleyAuthored on Mar 28 2019, 11:49 PM
epriestleyPushed on Mar 29 2019, 12:29 AM
Reviewer
amckinley
Differential Revision
D20343: Activate "jx-toggle-class" on click to fix broken mobile behavior
Parents
rP953a449305bb: Hide "Availability" and "Calendar" on user profiles for disabled users
Branches
Unknown
Tags
Unknown
Build Status
Buildable 22426
Build 30687: Run Core Tests