Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Lexical based editor #5058

Merged
merged 107 commits into from
Sep 27, 2024
Merged

Lexical based editor #5058

merged 107 commits into from
Sep 27, 2024

Conversation

ssddanbrown
Copy link
Member

@ssddanbrown ssddanbrown commented Jun 6, 2024

Playing with the idea of using Lexical as a new editor, to eventually replace TinyMCE.
A lot of work though, not looking forward to tables 😱.
Switching direct from TinyMCE would be a hard landing, as the schema/structure imposed does is more strict than what TinyMCE would accept in our configuration, and there's bound to be many differences.
Would want to release in parallel, first as opt-in, then opt-out, then remove TinyMCE.

Related to #4908

Changed from using a decorator to using a helper that watches for image
selections to then display a resize helper.
Also changes resizer to use a ghost and apply changes on end instead of
continuosly during resize.
- Updated selection change detection to be more accurate
- Added UI refresh for extra actions
- Fixed remove link deleting contents
- Improved node resizer positioning to be more accurate
- Fixed drop handling not running within editor margin space
- Made media dom update smarter to reduce reloads
- Fixed media alignment, broken due to added wrapper
- Cleaned up dropdown lists to look integrated
- Added icons for color picker clear and menu list items
Also updated media to be an inline element to align with old editor
behaviour.
Needed a custom implementation due to hardcoded defaults for Lexical
default indenting.
Added list nesting support to allow li > ul style nesting which lexical
didn't do by default.
Adds tab handling for inset/outset controls.
Will be a range of edge-case bugs to squash during testing.
Kinda useless though due to Lexical reconciler :(
Imported at 0.17.1, Modified to work in-app.
Added & configured test dependancies.
Tests need to be altered to avoid using non-included deps including
react dependancies.
- Updated tests to consider changes
Also removed duplicated dir functionality that remained in core.
- Prevented ui shortcuts running in editor
- Added form modal closing on submit
- Fixed ability to escape lists via enter on empty last item
- Updated toolbar to match existing editor, including dynamic RTL/LTR
  controls.
- Updated text node handling to not include spans and extra classes when
  not needed. Added & update tests to cover.
@ssddanbrown ssddanbrown added this to the Next Feature Release milestone Sep 27, 2024
@ssddanbrown ssddanbrown merged commit b35b62d into development Sep 27, 2024
8 of 9 checks passed
@ssddanbrown ssddanbrown deleted the lexical branch November 8, 2024 13:37
# for free to join this conversation on GitHub. Already have an account? # to comment
Development

Successfully merging this pull request may close these issues.

1 participant