-
Notifications
You must be signed in to change notification settings - Fork 6.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(material/autocomplete): don't block default arrow keys when using modifiers #11987
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While debugging a test case failure, found you still need to have "this.panelOpen" in line 342.
* Skips handling arrow key events that have a modifier key. Previously we would prevent the default action which can get in the way of some of the native keyboard shortcuts (e.g. marking all of the text using shift + up arrow). This has come up before in angular#11987, however these changes expand it to the key manager. * Adds an API that allows consumers to opt into having the key manager handle some modifier keys. This is an exception for some of our components where we have custom functionality for shift + arrow key. * Fixes the `metaKey` always being set to true on our fake keyboard events. Fixes angular#13496.
* Skips handling arrow key events that have a modifier key. Previously we would prevent the default action which can get in the way of some of the native keyboard shortcuts (e.g. marking all of the text using shift + up arrow). This has come up before in angular#11987, however these changes expand it to the key manager. * Adds an API that allows consumers to opt into having the key manager handle some modifier keys. This is an exception for some of our components where we have custom functionality for shift + arrow key. * Fixes the `metaKey` always being set to true on our fake keyboard events. Fixes angular#13496.
* Skips handling arrow key events that have a modifier key. Previously we would prevent the default action which can get in the way of some of the native keyboard shortcuts (e.g. marking all of the text using shift + up arrow). This has come up before in angular#11987, however these changes expand it to the key manager. * Adds an API that allows consumers to opt into having the key manager handle some modifier keys. This is an exception for some of our components where we have custom functionality for shift + arrow key. * Fixes the `metaKey` always being set to true on our fake keyboard events. Fixes angular#13496.
* Skips handling arrow key events that have a modifier key. Previously we would prevent the default action which can get in the way of some of the native keyboard shortcuts (e.g. marking all of the text using shift + up arrow). This has come up before in angular#11987, however these changes expand it to the key manager. * Adds an API that allows consumers to opt into having the key manager handle some modifier keys. This is an exception for some of our components where we have custom functionality for shift + arrow key. * Fixes the `metaKey` always being set to true on our fake keyboard events. Fixes angular#13496.
…#13503) * Skips handling arrow key events that have a modifier key. Previously we would prevent the default action which can get in the way of some of the native keyboard shortcuts (e.g. marking all of the text using shift + up arrow). This has come up before in #11987, however these changes expand it to the key manager. * Adds an API that allows consumers to opt into having the key manager handle some modifier keys. This is an exception for some of our components where we have custom functionality for shift + arrow key. * Fixes the `metaKey` always being set to true on our fake keyboard events. Fixes #13496.
…#13503) * Skips handling arrow key events that have a modifier key. Previously we would prevent the default action which can get in the way of some of the native keyboard shortcuts (e.g. marking all of the text using shift + up arrow). This has come up before in #11987, however these changes expand it to the key manager. * Adds an API that allows consumers to opt into having the key manager handle some modifier keys. This is an exception for some of our components where we have custom functionality for shift + arrow key. * Fixes the `metaKey` always being set to true on our fake keyboard events. Fixes #13496.
976f41c
to
f3352bc
Compare
f3352bc
to
49fa9c8
Compare
… modifiers Currently we hijack all up/down arrow key events, however this interferes with keyboard shortcuts such as shift + up arrow for marking all of the text. These changes stop intercepting the arrow keys, if they're used with a modifier. These changes also fix an issue where all the mocked out key events had the `metaKey` set to `true` on some browsers.
49fa9c8
to
e28a458
Compare
… modifiers (#11987) Currently we hijack all up/down arrow key events, however this interferes with keyboard shortcuts such as shift + up arrow for marking all of the text. These changes stop intercepting the arrow keys, if they're used with a modifier. These changes also fix an issue where all the mocked out key events had the `metaKey` set to `true` on some browsers. (cherry picked from commit 5825faf)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@angular/cdk](https://github.com/angular/components) | dependencies | patch | [`13.2.4` -> `13.2.5`](https://renovatebot.com/diffs/npm/@angular%2fcdk/13.2.4/13.2.5) | | [@angular/material](https://github.com/angular/components) | dependencies | patch | [`13.2.4` -> `13.2.5`](https://renovatebot.com/diffs/npm/@angular%2fmaterial/13.2.4/13.2.5) | --- ### Release Notes <details> <summary>angular/components</summary> ### [`v13.2.5`](https://github.com/angular/components/blob/HEAD/CHANGELOG.md#​1325-satin-sash-2022-03-02) [Compare Source](angular/components@13.2.4...13.2.5) ##### cdk | Commit | Type | Description | | -- | -- | -- | | [9e34a0f69f](angular/components@9e34a0f) | fix | **drag-drop:** error if preview dimensions are accessed too early ([#​24498](angular/components#24498)) | | [9be3c46b01](angular/components@9be3c46) | fix | **testing:** TestElement sendKeys method should throw if no keys have been specified ([#​18271](angular/components#18271)) | | [8e57a89cba](angular/components@8e57a89) | perf | **overlay:** add event listeners for overlay dispatchers outside of zone ([#​24408](angular/components#24408)) | ##### material | Commit | Type | Description | | -- | -- | -- | | [ed2f516401](angular/components@ed2f516) | fix | **autocomplete:** auto-highlighted first option not display correctly if the floating label is disabled ([#​14507](angular/components#14507)) | | [502102116e](angular/components@5021021) | fix | **autocomplete:** don't block default arrow keys when using modifiers ([#​11987](angular/components#11987)) | | [f31fd3f066](angular/components@f31fd3f) | fix | **autocomplete:** reopen panel on input click ([#​16020](angular/components#16020)) | | [5a79042d7d](angular/components@5a79042) | fix | **button-toggle:** use solid border color ([#​14253](angular/components#14253)) | | [e2d4eecfcb](angular/components@e2d4eec) | fix | **checkbox:** inconsistent disabled color ([#​23083](angular/components#23083)) | | [005ec323de](angular/components@005ec32) | fix | **checkbox:** incorrect text color when placed inside an overlay with a dark theme ([#​19054](angular/components#19054)) | | [d7cbd1315f](angular/components@d7cbd13) | fix | **datepicker:** matDatepickerParse error not being added on first invalid value ([#​11524](angular/components#11524)) | | [046022f31d](angular/components@046022f) | fix | **datepicker:** use aria-live over cdkAriaLive on period button ([#​24398](angular/components#24398)) | | [37f69dbf7e](angular/components@37f69db) | fix | **dialog:** use passed in ComponentFactoryResolver to resolve dialog content ([#​17710](angular/components#17710)) | | [2e15f54a9f](angular/components@2e15f54) | fix | **menu:** focus lost if active item is removed ([#​14039](angular/components#14039)) | | [ea07fa8e64](angular/components@ea07fa8) | fix | **progress-spinner:** unable to change mode on spinner directive ([#​14514](angular/components#14514)) | | [1a498a6a81](angular/components@1a498a6) | fix | **sort:** remove role from header when disabled ([#​24477](angular/components#24477)) | | [72019531db](angular/components@7201953) | fix | **tooltip:** don't hide when pointer moves to tooltip ([#​24475](angular/components#24475)) | ##### material-experimental | Commit | Type | Description | | -- | -- | -- | | [7b85cc077c](angular/components@7b85cc0) | fix | **mdc-button:** density styles being overwritten by structural styles ([#​22736](angular/components#22736)) | | [aeb1426e4c](angular/components@aeb1426) | fix | **mdc-chips:** expose avatar harness ([#​24499](angular/components#24499)) | #### Special Thanks Andrew Seguin, Artur Androsovych, Jeri Peier, Kristiyan Kostadinov, Paul Gschwendtner, Yousaf Nawaz and Zach Arend <!-- CHANGELOG SPLIT MARKER --> </details> --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). Co-authored-by: cabr2-bot <[email protected]> Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1199 Reviewed-by: Epsilon_02 <[email protected]> Co-authored-by: Calciumdibromid Bot <[email protected]> Co-committed-by: Calciumdibromid Bot <[email protected]>
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
Currently we hijack all up/down arrow key events, however this interferes with keyboard shortcuts such as shift + up arrow for marking all of the text. These changes stop intercepting the arrow keys, if they're used with a modifier.
These changes also fix an issue where all the mocked out key events had the
metaKey
set totrue
on some browsers.