[Breaking Change][lexical][lexical-link] Bug Fix: Collapse through inline elements in deleteCharacter #7180
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.
Breaking Change
ElementNode.collapseAtStart(range)
would previously only be called on the direct parent of the anchor's node, so the presence of anything like a LinkNode would prevent a ListItemNode from collapsing. Now it will also be called on parents under certain conditions.Description
Previously the collapse algorithm looked only at the direct parent of the anchor. If the anchor is inside an inline node (e.g. a TextNode in a LinkNode) then the expected behavior will not happen (such as a LinkItemNode being replaced with a ParagraphNode).
Now the algorithm works like this:
Closes #7150
Test plan
e2e tests for new behavior
Before
Pressing delete at the beginning of a ListItemNode would not collapse the node if the anchor was inside of an inline element (such as a LinkNode)
After
Pressing delete at the beginning of a ListItemNode collapses through inline element node(s) as expected