Expose APIs for clearing focus and selecting item#39
Closed
muan wants to merge 1 commit intoinput-supportfrom
Closed
Expose APIs for clearing focus and selecting item#39muan wants to merge 1 commit intoinput-supportfrom
muan wants to merge 1 commit intoinput-supportfrom
Conversation
These two functions are useful when there are 3rd party script behaviors that alters menu items. This allows those behaviors to interact with details-menu without getting into the implementation details of details-menu. For example, - A filtering behavior would want to clear focus after filter. With this change, it will be able to call detailsMenu.clearFocus() instead of 1. duplicating details-menu's logic for querying menu items 2. clearing focus states based on details-menu's implementation - A filtering input would want to trigger an implicit selection for the the first filtered result. With this change, it will be able to invoke detailsMenu.selectFocusOrFirst() instead of 1. duplicating details-menu's logic for querying menu items 2. simulate a click() on the item
keithamus
approved these changes
Oct 25, 2019
| } | ||
|
|
||
| clearFocus() { | ||
| clearFocus(this) |
Contributor
There was a problem hiding this comment.
A follow up commit (in this PR or a new one) to inline clearFocus would be good for readability.
Contributor
Author
|
We're no longer pursuing this. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is dependent on #38, as #38 introduced a new focus state that doesn't go away on its own. I figured this could be worth a separate discussion.
These two functions are useful when there are scripted behaviors that alter menu items. This allows those behaviors to interact with
<details-menu>easily, instead of getting into the implementation details of<details-menu>.For example,
A filtering behavior would want to clear focus after filtering. With this change, it will be able to call
detailsMenu.clearFocus()instead ofA filtering input would want to trigger an implicit selection for the first filtered result on Enter. With this change, it will be able to invoke
detailsMenu.selectFocusOrFirst()instead ofExample:
Note: In this use case the current focus check in
selectFocusOrFirstis redundant, since the input would have focus. "Focus or first" is mostly an explicit name for an implicit default.