Skip to content
This repository was archived by the owner on Sep 5, 2024. It is now read-only.

fix(autocomplete): options panel flickers on hover after clicking input #11757

Merged
merged 1 commit into from
Jul 2, 2019

Conversation

Splaktar
Copy link
Contributor

@Splaktar Splaktar commented Jul 2, 2019

PR Checklist

Please check that your PR fulfills the following requirements:

  • The commit message follows our guidelines
  • Tests for the changes have been added or this is not a bug fix / enhancement
  • Docs have been added, updated, or were not required

PR Type

What kind of change does this PR introduce?

[x] Bugfix
[ ] Enhancement
[ ] Documentation content changes
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

After opening an autocomplete options panel by clicking the input with the mouse, when the mouse first moves over the edge of the panel, the panel flickers (hides and then reappears).

Issue Number:
Relates to #11625

What is the new behavior?

  • stop propagation of input's click events up to the document
    • similar to what we already do with the clear button (X)
  • Closure/JSDoc typing improvements

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

stop propagation of input's click events up to the document
- similar to what we already do with the clear button (X)
Closure/JSDoc typing improvements

Relates to #11625
@Splaktar Splaktar self-assigned this Jul 2, 2019
@googlebot googlebot added the cla: yes PR author has signed Google's CLA: https://opensource.google.com/docs/cla/ label Jul 2, 2019
@Splaktar Splaktar added P1: urgent Urgent issues that should be addressed in the next minor or patch release. severity: regression This issue is related to a regression type: bug and removed cla: yes PR author has signed Google's CLA: https://opensource.google.com/docs/cla/ labels Jul 2, 2019
@googlebot googlebot added the cla: yes PR author has signed Google's CLA: https://opensource.google.com/docs/cla/ label Jul 2, 2019
@Splaktar Splaktar added this to the 1.1.20 milestone Jul 2, 2019
@angular angular deleted a comment from googlebot Jul 2, 2019
@Splaktar Splaktar added g3: reported The issue was reported by an internal or external product team. g3: sync labels Jul 2, 2019
@Splaktar Splaktar added the pr: merge ready This PR is ready for a caretaker to review label Jul 2, 2019
@andrewseguin andrewseguin merged commit 8f14afd into master Jul 2, 2019
@Splaktar Splaktar deleted the autocomplete-panelFlickers branch July 2, 2019 23:40
Splaktar added a commit that referenced this pull request Jul 3, 2019
Splaktar added a commit that referenced this pull request Jul 3, 2019
andrewseguin pushed a commit that referenced this pull request Jul 3, 2019
Splaktar added a commit that referenced this pull request Aug 24, 2019
- open options pop-up on `touchstart`
  - since a `click` is often not sent on touch devices
  - this usually happens when the start/end point are not the same
- use `touchend` on the document to close the options panel on iOS
  - iOS mostly does not send `click` events for taps on the backdrop
  - call `doBlur()`` since iOS doesn't blur in this case
- combine some jQuery event handler calls
- combine duplicate `onMouseup()` and `focusInputElement()` functions
- don't let touchstart or touchend events bubble out of the component
- focus the input for `mousedown` events
  - this covers an edge case on touch pads where a `click` isn't sent
- move `isIos` and `isAndroid` logic out of gestures into `$mdUtil`
- add and correct JSDoc

Fixes #11778. Relates to #11625. Relates to #11757. Relates to #11758.
Splaktar added a commit that referenced this pull request Aug 26, 2019
- open options pop-up on `touchstart`
  - since a `click` is often not sent on touch devices
  - this usually happens when the start/end point are not the same
- use `touchend` on the document to close the options panel on iOS
  - iOS mostly does not send `click` events for taps on the backdrop
  - call `doBlur()`` since iOS doesn't blur in this case
- combine some jQuery event handler calls
- combine duplicate `onMouseup()` and `focusInputElement()` functions
- don't let touchstart or touchend events bubble out of the component
- focus the input for `mousedown` events
  - this covers an edge case on touch pads where a `click` isn't sent
- move `isIos` and `isAndroid` logic out of gestures into `$mdUtil`
- add and correct JSDoc

Fixes #11778. Relates to #11625. Relates to #11757. Relates to #11758.
jelbourn pushed a commit that referenced this pull request Aug 26, 2019
…11782)

- open options pop-up on `touchstart`
  - since a `click` is often not sent on touch devices
  - this usually happens when the start/end point are not the same
- use `touchend` on the document to close the options panel on iOS
  - iOS mostly does not send `click` events for taps on the backdrop
  - call `doBlur()`` since iOS doesn't blur in this case
- combine some jQuery event handler calls
- combine duplicate `onMouseup()` and `focusInputElement()` functions
- don't let touchstart or touchend events bubble out of the component
- focus the input for `mousedown` events
  - this covers an edge case on touch pads where a `click` isn't sent
- move `isIos` and `isAndroid` logic out of gestures into `$mdUtil`
- add and correct JSDoc

Fixes #11778. Relates to #11625. Relates to #11757. Relates to #11758.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla: yes PR author has signed Google's CLA: https://opensource.google.com/docs/cla/ g3: reported The issue was reported by an internal or external product team. P1: urgent Urgent issues that should be addressed in the next minor or patch release. pr: merge ready This PR is ready for a caretaker to review severity: regression This issue is related to a regression type: bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants