8
0
Просмотр исходного кода

Changed: listItem elements are unbound when moved to ensure proper move conversion.

Szymon Cofalik 8 лет назад
Родитель
Сommit
94b93916d7
1 измененных файлов с 12 добавлено и 0 удалено
  1. 12 0
      packages/ckeditor5-list/src/listengine.js

+ 12 - 0
packages/ckeditor5-list/src/listengine.js

@@ -55,6 +55,18 @@ export default class ListEngine extends Plugin {
 
 		this.editor.document.on( 'change', modelChangePostFixer( this.editor.document ), { priority: 'high' } );
 
+		// Unbind all moved model elements before conversion happens. This is important for converters.
+		// TODO: fix this when changes are converted on `changesDone`.
+		this.editor.document.on( 'change', ( evt, type, changes ) => {
+			if ( type == 'move' ) {
+				for ( let item of changes.range.getItems() ) {
+					if ( item.is( 'listItem' ) ) {
+						editing.mapper.unbindModelElement( item );
+					}
+				}
+			}
+		}, { priority: 'high' } );
+
 		editing.mapper.registerViewToModelLength( 'li', getViewListItemLength );
 		data.mapper.registerViewToModelLength( 'li', getViewListItemLength );