CKEDITOR.plugins.pastefromword.heuristics
Filtering
Methods
-
assignListLevels( editor, item ) → Object | null
private
Assigns list levels to the
item
and all directly subsequent nodes for which isEdgeListItem returnstrue
.The algorithm determines list item level based on the lowest common non-zero difference in indentation of two or more subsequent list-like elements.
Parameters
Returns
Object | null
null
if list levels were already applied, or an object used to verify results in tests.Propertiesindents : Number[]
levels : Number[]
diffs : Number[]
-
cleanupEdgeListItem( item )
since 4.7.0 private
Cleans up a given list
item
. It is needed to remove Edge pre-marker indentation, since Edge pastes list items as plain paragraphs with multiple
s before the list marker.Parameters
item : element
The pre-processed list-like item, like a paragraph.
-
correctLevelShift( element )
private
Shifts lists that were deformed during pasting one level down so that the list structure matches the content copied from Word.
Parameters
element : element
-
guessIndentationStep( indentations ) → Number | null
private
Given an array of list indentations, this method tries to guess what the indentation difference per list level is. E.g. assuming that you have something like:
* foo (indentation 30px) * bar (indentation 90px) * baz (indentation 90px) * baz (indentation 115px) * baz (indentation 60px)
The method will return
30
.Parameters
indentations : Number[]
An array of indentation sizes.
Returns
Number | null
A number or
null
if emptyindentations
was given.
-
isDegenerateListItem( editor, item ) → Boolean
private
-
isEdgeListItem( editor, item ) → Boolean
private
-
isShifted( element ) → Boolean
private
Determines if the list is malformed in a manner that its items are one level deeper than they should be.