CKEDITOR.plugins.pastefromword.heuristics
Filtering
Methods
-
assignListLevels( editor, item ) → Object | nullprivate
Assigns list levels to the
itemand 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 | nullnullif 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 : elementThe 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 | nullprivate
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 | nullA number or
nullif emptyindentationswas given.
-
isDegenerateListItem( editor, item ) → Booleanprivate
Checks whether an element is a degenerate list item.
-
isEdgeListItem( editor, item ) → Booleanprivate
Decides if an
itemlooks like a list item in Microsoft Edge. -
isShifted( element ) → Booleanprivate
Determines if the list is malformed in a manner that its items are one level deeper than they should be.