list/list/converters
@ckeditor/ckeditor5-list/src/list/converters
Filtering
Functions
-
cleanList( evt, data, conversionApi )
module:list/list/converters~cleanList
A view-to-model converter for the
<ul>
and<ol>
view elements that cleans the input view of garbage. This is mostly to clean whitespaces from between the<li>
view elements inside the view list element, however, also incorrect data can be cleared if the view was incorrect.Parameters
evt : EventInfo
An object containing information about the fired event.
data : Object
An object containing conversion input and a placeholder for conversion output and possibly other values.
conversionApi : UpcastConversionApi
Conversion interface to be used by the callback.
Related:
-
cleanListItem( evt, data, conversionApi )
module:list/list/converters~cleanListItem
A view-to-model converter for the
<li>
elements that cleans whitespace formatting from the input view.Parameters
evt : EventInfo
An object containing information about the fired event.
data : Object
An object containing conversion input and a placeholder for conversion output and possibly other values.
conversionApi : UpcastConversionApi
Conversion interface to be used by the callback.
Related:
-
modelChangePostFixer( model, writer ) → Boolean
module:list/list/converters~modelChangePostFixer
Post-fixer that reacts to changes on document and fixes incorrect model states.
In the example below, there is a correct list structure. Then the middle element is removed so the list structure will become incorrect:
<listItem listType="bulleted" listIndent=0>Item 1</listItem> <listItem listType="bulleted" listIndent=1>Item 2</listItem> <--- this is removed. <listItem listType="bulleted" listIndent=2>Item 3</listItem>
The list structure after the middle element is removed:
<listItem listType="bulleted" listIndent=0>Item 1</listItem> <listItem listType="bulleted" listIndent=2>Item 3</listItem>
Should become:
<listItem listType="bulleted" listIndent=0>Item 1</listItem> <listItem listType="bulleted" listIndent=1>Item 3</listItem> <--- note that indent got post-fixed.
Parameters
Returns
Boolean
true
if any change has been applied,false
otherwise.
-
modelIndentPasteFixer( evt, args )
module:list/list/converters~modelIndentPasteFixer
A fixer for pasted content that includes list items.
It fixes indentation of pasted list items so the pasted items match correctly to the context they are pasted into.
Example:
<listItem listType="bulleted" listIndent=0>A</listItem> <listItem listType="bulleted" listIndent=1>B^</listItem> // At ^ paste: <listItem listType="bulleted" listIndent=4>X</listItem> // <listItem listType="bulleted" listIndent=5>Y</listItem> <listItem listType="bulleted" listIndent=2>C</listItem>
Should become:
<listItem listType="bulleted" listIndent=0>A</listItem> <listItem listType="bulleted" listIndent=1>BX</listItem> <listItem listType="bulleted" listIndent=2>Y/listItem> <listItem listType="bulleted" listIndent=2>C</listItem>
Parameters
evt : EventInfo
An object containing information about the fired event.
args : Array
Arguments of
insertContent
.
-
modelToViewPosition( view ) → function
module:list/list/converters~modelToViewPosition
Returns a callback for model position to view position mapping for
Mapper
. The callback fixes positions between thelistItem
elements that would be incorrectly mapped because of how list items are represented in the model and in the view. -
modelViewChangeIndent( model ) → function
module:list/list/converters~modelViewChangeIndent
A model-to-view converter for the
listIndent
attribute change on thelistItem
model element. -
modelViewChangeType( evt, data, conversionApi )
module:list/list/converters~modelViewChangeType
A model-to-view converter for the
type
attribute change on thelistItem
model element.This change means that the
<li>
element parent changes from<ul>
to<ol>
(or vice versa). This is accomplished by breaking view elements and changing their name. The nextmodelViewMergeAfterChangeType
converter will attempt to merge split nodes.Splitting this conversion into 2 steps makes it possible to add an additional conversion in the middle. Check
modelViewChangeType
to see an example of it.Parameters
evt : EventInfo
An object containing information about the fired event.
data : Object
Additional information about the change.
conversionApi : DowncastConversionApi
Conversion interface.
Related:
-
modelViewInsertion( model ) → function
module:list/list/converters~modelViewInsertion
A model-to-view converter for the
listItem
model element insertion.It creates a
<ul><li></li><ul>
(or<ol>
) view structure out of alistItem
model element, inserts it at the correct position, and merges the list with surrounding lists (if available).Parameters
model : Model
Model instance.
Returns
function
Returns a conversion callback.
Related:
-
modelViewMergeAfter( evt, data, conversionApi )
module:list/list/converters~modelViewMergeAfter
A special model-to-view converter introduced by the list feature. This converter takes care of merging view lists after something is removed or moved from near them.
Example:
// Model: // View: <listItem>foo</listItem> <ul><li>foo</li></ul> <paragraph>xxx</paragraph> <p>xxx</p> <listItem>bar</listItem> <ul><li>bar</li></ul> // After change: // Correct view guaranteed by this converter: <listItem>foo</listItem> <ul> <listItem>bar</listItem> <li>foo</li> <li>bar</li> </ul>
Parameters
evt : EventInfo
An object containing information about the fired event.
data : Object
Additional information about the change.
conversionApi : DowncastConversionApi
Conversion interface.
Related:
-
modelViewMergeAfterChangeType( evt, data, conversionApi )
module:list/list/converters~modelViewMergeAfterChangeType
A model-to-view converter that attempts to merge nodes split by
modelViewChangeType
.Parameters
evt : EventInfo
An object containing information about the fired event.
data : Object
Additional information about the change.
conversionApi : DowncastConversionApi
Conversion interface.
Related:
-
modelViewRemove( model ) → function
module:list/list/converters~modelViewRemove
A model-to-view converter for the
listItem
model element removal. -
modelViewSplitOnInsert( evt, data, conversionApi )
module:list/list/converters~modelViewSplitOnInsert
A special model-to-view converter introduced by the list feature. This converter is fired for insert change of every model item, and should be fired before the actual converter. The converter checks whether the inserted model item is a non-
listItem
element. If it is, and it is inserted inside a view list, the converter breaks the list so the model element is inserted to the view parent element corresponding to its model parent element.The converter prevents such situations:
// Model: // View: <listItem>foo</listItem> <ul> <listItem>bar</listItem> <li>foo</li> <li>bar</li> </ul> // After change: // Correct view guaranteed by this converter: <listItem>foo</listItem> <ul><li>foo</li></ul><p>xxx</p><ul><li>bar</li></ul> <paragraph>xxx</paragraph> // Instead of this wrong view state: <listItem>bar</listItem> <ul><li>foo</li><p>xxx</p><li>bar</li></ul>
Parameters
evt : EventInfo
An object containing information about the fired event.
data : Object
Additional information about the change.
conversionApi : DowncastConversionApi
Conversion interface.
Related:
-
viewModelConverter( evt, data, conversionApi )
module:list/list/converters~viewModelConverter
A view-to-model converter that converts the
<li>
view elements into thelistItem
model elements.To set correct values of the
listType
andlistIndent
attributes the converter:- checks
<li>
's parent, - stores and increases the
conversionApi.store.indent
value when<li>
's sub-items are converted.
Parameters
evt : EventInfo
An object containing information about the fired event.
data : Object
An object containing conversion input and a placeholder for conversion output and possibly other values.
conversionApi : UpcastConversionApi
Conversion interface to be used by the callback.
Related:
- checks
-
viewToModelPosition( model ) → function
module:list/list/converters~viewToModelPosition
The callback for view position to model position mapping for
Mapper
. The callback fixes positions between the<li>
elements that would be incorrectly mapped because of how list items are represented in the model and in the view.
Every day, we work hard to keep our documentation complete. Have you spotted an outdated information? Is something missing? Please report it via our issue tracker.