This repository has been archived by the owner on Feb 6, 2023. It is now read-only.
Use the same wrapper for both ordered and unordered list. Maintain bl… #752
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.
Summary
Adds support for nesting ordered & unordered lists within one another, preserving the block depth when toggling between the two. This fixes #443 in the process.
The enhancement is simple. Since DraftJS already uses classes in combination with the
::before
pseudo element to custom render ordered list numbering rather than depending on default browser functionality, there isn't actually any reason to render an<ol>
vs<ul>
. By giving both block types the same wrapper, we automatically gain support for nesting one within the other.To maintaining block depth with toggling between the two list types, we simply merge in the block's current depth rather than 0.
Test Plan
Open up the
rich.html
example and create an ordered list. Indent a list item and convert it to an unordered list. It will remain nested at the same depth. Play around further, adding ordered and unordered lists throughout the list tree. Ordered list numbering will remain correct, restarting at new levels of depth and continuing from the last ordered list item at the same depth.