Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Ck/epic/2973 document lists #11503

Merged
merged 441 commits into from
Apr 4, 2022
Merged

Ck/epic/2973 document lists #11503

merged 441 commits into from
Apr 4, 2022

Conversation

niegowski
Copy link
Contributor

Suggested merge commit message (convention)

Feature (list): Introducing the document list editing feature. Closes #10812.

Other (engine): The isAllowedInsideAttributeElement option was removed, from now on AttrubuteElements are allowed to wrap any view element.

Fix (link): The link decorators should be converted on the block images only once (should not wrap block image with an additional link).

Other (engine): The Schema is extended by the new generic type: $container. Container elements can contain $block or $container elements. 

Other (engine): The DowncastHelpers are passing an additional parameter to the creator functions (the data that provides more context to the element creator callback.

Other (engine): The ConversionApi provided by the UpcastDispatcher is extended with an additional method keepEmptyElement that marks an element that was created during splitting some model element that should not get removed on conversion even if it's empty. 

Other (engine): The Differ change entries for insert and remove types are extended with a map of attributes that were set while inserting an element or that were on an element while it got removed.

MINOR BREAKING CHANGE (engine): The isAllowedInsideAttributeElement option is removed so AttributeElements can wrap any view element (according to positions). Make sure that you are not wrapping any ContainerElement by an accident by not checking the target in the converter. Those would previously get wrapped by an AttributeElement that immediately would be removed by the ContainerElement within it so there would not be any visual effect.

Feature (list): Introducing the document list properties feature. Closes #11065.

Internal (engine): Added option for the DomConverter to transparently render only the content of the element in the data pipeline.


Additional information

This is an epic PR (switched from the old feature branch #11010).

niegowski and others added 30 commits January 20, 2022 17:16
# Conflicts:
#	packages/ckeditor5-code-block/package.json
#	packages/ckeditor5-engine/src/conversion/downcasthelpers.js
#	packages/ckeditor5-list/package.json
niegowski and others added 26 commits March 22, 2022 16:12
# Conflicts:
#	packages/ckeditor5-list/package.json
Feature (html-support): Adds support for document list in GHS. Closes #11454. Closes #11359. Closes #11358.
…tor/ckeditor5 into ck/11198-make-sure-list-isnt-split
…list-item

Internal (list): Deleting a widget which is a document list item should be possible. Closes #11346.
…split

Feature (engine): Added a new `insertObject()` method to the `Model` for inserting elements defined as objects by schema into a model (see #11198).

Feature (engine): Added a new `setAllowedAttributes()` method to the `Schema` that validates attributes if they are allowed on given element before setting them (see #11198).

Feature (engine): Added a new `getAttributesWithProperty()` method to the `Schema` that retrieves attributes from a node which have given property (see #11198).

Other (media-embed): Added an optional `findOptimalPosition` parameter to `insertMedia()` function that allows for inserting `media` element without breaking content (see #11198).

Feature (paragraph): Added an optional `options.attributes` parameter to `InsertParagraph` command that allows setting attributes on created paragraph (see #11198).

Internal (list): Document list items should not get split by inserting block objects (widgets). Closes #11198.

Internal (engine): The `findOptimalPosition()` helper is now available in the ckeditor5-engine package for internal use (see #11198).

Internal (table, page-break, horizontal-line, media-embed, html-embed, image): `table`, `pageBreak`, `horizontalLine`, `media`, `imageBlock`,`imageInline` elements are now inserted with `insertObject()` function instead of `insertContent()` (see #11198).
@oleq oleq merged commit b53d2a4 into master Apr 4, 2022
@oleq oleq deleted the ck/epic/2973-document-lists branch April 4, 2022 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
6 participants