Use previous selection when focus origins from key event#137
Open
jnystad wants to merge 1 commit intoProseMirror:masterfrom
Open
Use previous selection when focus origins from key event#137jnystad wants to merge 1 commit intoProseMirror:masterfrom
jnystad wants to merge 1 commit intoProseMirror:masterfrom
Conversation
Selection should be restored to its previous state when using tab to navigate a page with ProseMirror and other focusable elements with selection (inputs). This is similar to how textareas work.
marijnh
added a commit
that referenced
this pull request
Aug 12, 2022
FIX: Make sure that when the editor receives focus via tab or calling `.focus()` on its DOM element, the existing selection is restored. Issue #137
Member
|
This patch seems somewhat scary, because it's hard to know that it won't incorrectly ignore selections in situations where they they are actual user actions that we somehow didn't predict. Does attached patch work for you? |
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.
Selection should be restored to its previous state when using tab to navigate
a page with ProseMirror and other focusable elements with selection (inputs).
This is similar to how textareas work.
Note: While it's possible to create a workaround outside of prosemirror-view by saving the selection and restoring it before/after focus, it does not seem to be a way to avoid scroll jumps when the selection is further down in the document.
The input focus handler restores the previous selection (and DOM selection) already, so ignoring focus when origin is unknown (originated outside of the editor and not via pointer click) makes it restore the previous selection correctly without causing scroll jumps.