8
0
Pārlūkot izejas kodu

Enforce config.view for converters.

Maciej Gołaszewski 5 gadi atpakaļ
vecāks
revīzija
da02f5aeb5

+ 8 - 0
packages/ckeditor5-engine/src/conversion/upcasthelpers.js

@@ -575,6 +575,8 @@ function prepareToElementConverter( config ) {
 			return;
 		}
 
+		// ---- 4. Safely insert (should consume?)
+
 		// Find allowed parent for element that we are going to insert.
 		// If current parent does not allow to insert element but one of the ancestors does
 		// then split nodes to allowed parent.
@@ -588,12 +590,18 @@ function prepareToElementConverter( config ) {
 		// Insert element on allowed position.
 		conversionApi.writer.insert( modelElement, splitResult.position );
 
+		// ---- 5. Convert children
+
 		// Convert children and insert to element.
 		conversionApi.convertChildren( data.viewItem, modelElement );
 
+		// ---- 6. Consume
+
 		// Consume appropriate value from consumable values list.
 		conversionApi.consumable.consume( data.viewItem, match );
 
+		// ---- 7. Safe insert continued...
+
 		const parts = conversionApi.getSplitParts( modelElement );
 
 		// Set conversion result range.

+ 2 - 1
packages/ckeditor5-engine/tests/conversion/upcasthelpers.js

@@ -118,7 +118,8 @@ describe( 'UpcastHelpers', () => {
 			expectResult( new ViewContainerElement( viewDocument, 'p', { 'data-level': 2 } ), '' );
 		} );
 
-		it( 'config.view is not set - should fire conversion for every element', () => {
+		// TODO i/7336: - define behavior
+		it.skip( 'config.view is not set - should fire conversion for every element', () => {
 			upcastHelpers.elementToElement( {
 				model: 'paragraph'
 			} );

+ 1 - 0
packages/ckeditor5-paragraph/src/paragraph.js

@@ -67,6 +67,7 @@ export default class Paragraph extends Plugin {
 
 				return modelWriter.createElement( 'paragraph' );
 			},
+			view: /\S/, // TODO: i/7336 - better API.
 			converterPriority: 'low'
 		} );