- Fixed errors with selection and range handling due to captions
existing.
- Updated TableNode change handling to update existing DOM instead of
re-creating, which avoids breaking an attached selection helper.
- To support, Added function to handle node change detection and apply
relevant dom updates for common properties.
Avoids misuse of selectPrevious/Next as per prior commit which was then
causing problems elsewhere, and is probably best to avoid creation in
those select methods anyway.
Updated up/down handling to create where a selection candidate does not
exist, to apply to a wider scenario via the selectPrevious/Next methods.
Updated DOM selection change handling to identify single selections
within decorated nodes to select them in full, instead of losing
selection due to partial selection of their contents.
Updated table selection handling so that our colgroups are ignored for
internal selection focus handling.
Now toolbars stay open on mouse-out, and close on other toolbar open,
outside click or an accepted action.
To support:
- Added new system to track and manage open dropdowns.
- Added way for buttons to optionally emit events upon actions.
- Added way to listen for events.
- Used the above to control when dropdowns should hide on action, since
some dont (like overflow containers and split dropdown buttons).
- Added handling to not include parent of top-most list range selection
so that it's not also changed while not visually part of the
selection range.
- Fixed issue where list items could be left over after unnesting, due
to empty checks/removals occuring before all child handling.
- Added node sorting, applied to list items during nest operations so
that selection range remains reliable.
Code in lists could throw error on parse due to inner <code> tag being
parsed but not actually used within a <pre>, so this updates the
importDOM to disregard childdren for code blocks.
This also improves the invariant implementation to not be so
dev/debugger based, and to include vars in the output.
Only actuall added YT in the end.
Google had changed URL scheme, and Vimeo seems to just be something else
now, can't really browse video pages like before.
Re-used existing route and moved tinymce help to its own different
route. Added test to cover.
Added new external-content block to support in editor UI.
Sibling/child items will now remain at the same visual level during
nesting/un-nested, so only the selected item level is visually altered.
Also added new model-based editor content matching system for tests.
- Makes enter on empty nested list item un-nest instead of just creating
new list items.
- Also updated existing lists tests to use newer helper setup.
Also:
- Added svg loading support (dummy stub) for jest.
- Updated headless test case due to node changes.
- Split out editor change detected to where appropriate.
- Added functions to help with testing, like mocking our context.
To provide more control of the summary as part of details.
To support, added a way to ignore elements during import DOM, allowing
up to read summaries when parsing details without duplicate nodes
involved.
Adds dynamic and fixed (out of DOM order) positioning with location
adjustment depending on space.
Also adds smarter hiding to prevent disappearing when mouse leaves but
within the same space as the toggle.
- Fixed new code block insertion to remove selection area instead of
just adding after.
- Added default table column widths to not be collapsed
- Updated table dom export to not duplicate colgroups.
- 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.