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.
Changes Overview
This PR is currently only a draft and is meant to keep a discussion on the ongoing development of the Decorations API.
Implementation Approach
The Decoration API implements a new DecorationManager as well as adding new options to the ExtendableConfig of Extensions (Node, Mark and Extension classes) that allow developers to add decorations without touching the underlying Prosemirror APIs making it easier and more integrated.
Difficulties
ReactRenderer
works fine but since Decorations are often recreated, leads to performance drops when adding to many decorations and then editing / shifting content around requiring recreations of said React components.Testing Done
N/A
Verification Steps
N/A
Additional Notes
You can check out the status of this PR in the
/src/Experiments/DecorationsAPI/React/
demo.Checklist