8
0
Maciej Gołaszewski 5 лет назад
Родитель
Сommit
74a777aeb4

+ 12 - 29
packages/ckeditor5-engine/src/conversion/downcastdispatcher.js

@@ -152,26 +152,17 @@ export default class DowncastDispatcher {
 					eventName = `${ type }:${ entry.name }`;
 				}
 
-				// @if CK_DEBUG // console.log( 'expected event', eventName );
-
 				if ( this._refreshEventMap.has( eventName ) ) {
 					const expectedElement = this._refreshEventMap.get( eventName );
 
 					const handledByParent = element.is( 'element', expectedElement ) ? element : element.findAncestor( expectedElement );
 
-					// @if CK_DEBUG // console.log( `return: ${ handledByParent.name }` );
-
 					if ( handledByParent ) {
 						mapRefreshedBy.set( element, handledByParent );
 					}
 
 					return handledByParent;
-				} else {
-					// @if CK_DEBUG // console.log( 'no event in map' );
 				}
-				// TODO: lacking API - handle inner change of given event. Either by:
-				// - a) differ API (mark change as invalid)
-				// - b) skip given event.
 			} )
 			.filter( element => !!element );
 
@@ -193,17 +184,15 @@ export default class DowncastDispatcher {
 
 		// Convert changes that happened on model tree.
 		for ( const entry of changes ) {
-			// @if CK_DEBUG // console.log( `ENTRY: ${ entry.type }` );
-			if ( entry.type == 'insert' ) {
+			if ( entry.type === 'insert' ) {
 				this.convertInsert( Range._createFromPositionAndShift( entry.position, entry.length ), writer );
-			} else if ( entry.type == 'remove' ) {
+			} else if ( entry.type === 'remove' ) {
 				this.convertRemove( entry.position, entry.length, entry.name, writer );
-			} else if ( entry.type == 'refresh' ) {
+			} else if ( entry.type === 'refresh' ) {
 				this.convertRefresh( Range._createFromPositionAndShift( entry.position, entry.length ), entry.name, writer );
-			} else if ( entry.type == 'attribute' ) {
-				this.convertAttribute( entry.range, entry.attributeKey, entry.attributeOldValue, entry.attributeNewValue, writer );
 			} else {
-				// todo warning
+				// Defaults to 'attribute' change.
+				this.convertAttribute( entry.range, entry.attributeKey, entry.attributeOldValue, entry.attributeNewValue, writer );
 			}
 		}
 
@@ -323,7 +312,6 @@ export default class DowncastDispatcher {
 
 	convertRefresh( range, name, writer ) {
 		this.conversionApi.writer = writer;
-		// @if CK_DEBUG // console.log( `\n ====> convert:: REFRESH:${ name }` );
 
 		// Create a list of things that can be consumed, consisting of nodes and their attributes.
 		this.conversionApi.consumable = this._createInsertConsumable( range );
@@ -341,17 +329,17 @@ export default class DowncastDispatcher {
 
 			const expectedEventName = getEventName( 'insert', data );
 
-			// Main element refresh
+			// Main element refresh - kinda ugly as we have all items in the range.
+			// TODO: Maybe, an inner range would be better (check children, etc).
 			if ( expectedEventName === 'insert:' + name ) {
-				// @if CK_DEBUG // console.log( '  converting refresh -> insert', item.name );
 				this._testAndFire( 'insert', data );
 			}
 
-			if ( this._refreshEventMap.has( expectedEventName ) ) {
-				// @if CK_DEBUG // console.log( '  >> skip', expectedEventName );
-			} else {
+			// If the map has given event it _must_ be converted by main "insert" converter.
+			if ( !this._refreshEventMap.has( expectedEventName ) ) {
 				// The below check if every node was converted before - if not it triggers the conversion again.
 				// Below optimal solution - todo refactor or introduce inner API for that.
+				// Other option is to use convertInsert() and skip range.
 				if ( value.type === 'text' ) {
 					const mappedPosition = this.conversionApi.mapper.toViewPosition( itemRange.start );
 
@@ -360,7 +348,7 @@ export default class DowncastDispatcher {
 					}
 				} else {
 					const viewElement = this.conversionApi.mapper.toViewElement( item );
-					// @if CK_DEBUG // console.log( '  >> check further', expectedEventName, !!viewElement );
+
 					if ( !viewElement ) {
 						this._testAndFire( 'insert', data );
 					}
@@ -585,16 +573,11 @@ export default class DowncastDispatcher {
 	 */
 	_testAndFire( type, data ) {
 		if ( !this.conversionApi.consumable.test( data.item, type ) ) {
-			// @if CK_DEBUG // console.log( ' > already consumed' );
 			// Do not fire event if the item was consumed.
 			return;
 		}
 
-		const eventName = getEventName( type, data );
-
-		// @if CK_DEBUG // console.log( 'Firing event', eventName );
-
-		this.fire( eventName, data, this.conversionApi );
+		this.fire( getEventName( type, data ), data, this.conversionApi );
 	}
 
 	/**

+ 0 - 4
packages/ckeditor5-engine/src/model/document.js

@@ -299,8 +299,6 @@ export default class Document {
 	 * @param {module:engine/model/writer~Writer} writer The writer on which post-fixers will be called.
 	 */
 	_handleChangeBlock( writer ) {
-		// @if CK_DEBUG // console.group( 'changeBlock' );
-
 		if ( this._hasDocumentChangedFromTheLastChangeBlock() ) {
 			this._callPostFixers( writer );
 
@@ -320,8 +318,6 @@ export default class Document {
 			this.differ.reset();
 		}
 
-		// @if CK_DEBUG // console.groupEnd();
-
 		this._hasSelectionChangedFromTheLastChangeBlock = false;
 	}