Procházet zdrojové kódy

Merge pull request #7913 from ckeditor/i/7910

Docs: Framework guides updated to the latest conversion API changes. Closes #7910.

Tests: Updated manual tests to the latest conversion API changes.
Maciej před 5 roky
rodič
revize
baa9e206a0
20 změnil soubory, kde provedl 65 přidání a 65 odebrání
  1. 3 3
      docs/_snippets/framework/tutorials/block-widget.js
  2. 3 3
      docs/_snippets/framework/tutorials/inline-widget.js
  3. 3 3
      docs/_snippets/framework/tutorials/using-react-in-widget.js
  4. 6 6
      docs/framework/guides/tutorials/implementing-a-block-widget.md
  5. 6 6
      docs/framework/guides/tutorials/implementing-an-inline-widget.md
  6. 6 6
      docs/framework/guides/tutorials/using-react-in-a-widget.md
  7. 1 1
      packages/ckeditor5-engine/docs/_snippets/framework/extending-content-allow-div-attributes.js
  8. 1 1
      packages/ckeditor5-engine/docs/_snippets/framework/extending-content-allow-link-target.js
  9. 1 1
      packages/ckeditor5-engine/docs/_snippets/framework/extending-content-arbitrary-attribute-values.js
  10. 3 3
      packages/ckeditor5-engine/docs/framework/guides/deep-dive/conversion-preserving-custom-content.md
  11. 6 6
      packages/ckeditor5-engine/src/conversion/downcasthelpers.js
  12. 4 4
      packages/ckeditor5-engine/tests/manual/highlight.js
  13. 2 2
      packages/ckeditor5-engine/tests/manual/nestededitable.js
  14. 4 4
      packages/ckeditor5-engine/tests/manual/selection.js
  15. 2 2
      packages/ckeditor5-engine/tests/manual/tickets/475/1.js
  16. 2 2
      packages/ckeditor5-engine/tests/manual/tickets/ckeditor5-721/1.js
  17. 2 2
      packages/ckeditor5-mention/tests/manual/mention.js
  18. 2 2
      packages/ckeditor5-widget/tests/manual/inline-widget.js
  19. 4 4
      packages/ckeditor5-widget/tests/manual/keyboard.js
  20. 4 4
      packages/ckeditor5-widget/tests/widgettoolbarrepository.js

+ 3 - 3
docs/_snippets/framework/tutorials/block-widget.js

@@ -134,7 +134,7 @@ class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBox',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				const section = viewWriter.createContainerElement( 'section', { class: 'simple-box' } );
 
 				return toWidget( section, viewWriter, { label: 'simple box widget' } );
@@ -158,7 +158,7 @@ class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBoxTitle',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// Note: You use a more specialized createEditableElement() method here.
 				const h1 = viewWriter.createEditableElement( 'h1', { class: 'simple-box-title' } );
 
@@ -183,7 +183,7 @@ class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBoxDescription',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// Note: You use a more specialized createEditableElement() method here.
 				const div = viewWriter.createEditableElement( 'div', { class: 'simple-box-description' } );
 

+ 3 - 3
docs/_snippets/framework/tutorials/inline-widget.js

@@ -158,7 +158,7 @@ class PlaceholderEditing extends Plugin {
 				name: 'span',
 				classes: [ 'placeholder' ]
 			},
-			model: ( viewElement, modelWriter ) => {
+			model: ( viewElement, { writer: modelWriter } ) => {
 				// Extract the "name" from "{name}".
 				const name = viewElement.getChild( 0 ).data.slice( 1, -1 );
 
@@ -168,7 +168,7 @@ class PlaceholderEditing extends Plugin {
 
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'placeholder',
-			view: ( modelItem, viewWriter ) => {
+			view: ( modelItem, { writer: viewWriter } ) => {
 				const widgetElement = createPlaceholderView( modelItem, viewWriter );
 
 				// Enable widget handling on a placeholder element inside the editing view.
@@ -178,7 +178,7 @@ class PlaceholderEditing extends Plugin {
 
 		conversion.for( 'dataDowncast' ).elementToElement( {
 			model: 'placeholder',
-			view: createPlaceholderView
+			view: ( modelItem, { writer: viewWriter } ) => createPlaceholderView( modelItem, viewWriter )
 		} );
 
 		// Helper method for both downcast converters.

+ 3 - 3
docs/_snippets/framework/tutorials/using-react-in-widget.js

@@ -71,7 +71,7 @@ class ProductPreviewEditing extends Plugin {
 				name: 'section',
 				classes: 'product'
 			},
-			model: ( viewElement, modelWriter ) => {
+			model: ( viewElement, { writer: modelWriter } ) => {
 				// Read the "data-id" attribute from the view and set it as the "id" in the model.
 				return modelWriter.createElement( 'productPreview', {
 					id: parseInt( viewElement.getAttribute( 'data-id' ) )
@@ -82,7 +82,7 @@ class ProductPreviewEditing extends Plugin {
 		// <productPreview> converters (model → data view)
 		conversion.for( 'dataDowncast' ).elementToElement( {
 			model: 'productPreview',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// In the data view, the model <productPreview> corresponds to:
 				//
 				// <section class="product" data-id="..."></section>
@@ -96,7 +96,7 @@ class ProductPreviewEditing extends Plugin {
 		// <productPreview> converters (model → editing view)
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'productPreview',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// In the editing view, the model <productPreview> corresponds to:
 				//
 				// <section class="product" data-id="...">

+ 6 - 6
docs/framework/guides/tutorials/implementing-a-block-widget.md

@@ -646,7 +646,7 @@ export default class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBox',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				const section = viewWriter.createContainerElement( 'section', { class: 'simple-box' } );
 
 				return toWidget( section, viewWriter, { label: 'simple box widget' } );
@@ -670,7 +670,7 @@ export default class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBoxTitle',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// Note: You use a more specialized createEditableElement() method here.
 				const h1 = viewWriter.createEditableElement( 'h1', { class: 'simple-box-title' } );
 
@@ -695,7 +695,7 @@ export default class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBoxDescription',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// Note: You use a more specialized createEditableElement() method here.
 				const div = viewWriter.createEditableElement( 'div', { class: 'simple-box-description' } );
 
@@ -1111,7 +1111,7 @@ class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBox',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				const section = viewWriter.createContainerElement( 'section', { class: 'simple-box' } );
 
 				return toWidget( section, viewWriter, { label: 'simple box widget' } );
@@ -1135,7 +1135,7 @@ class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBoxTitle',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// Note: You use a more specialized createEditableElement() method here.
 				const h1 = viewWriter.createEditableElement( 'h1', { class: 'simple-box-title' } );
 
@@ -1160,7 +1160,7 @@ class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBoxDescription',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// Note: You use a more specialized createEditableElement() method here.
 				const div = viewWriter.createEditableElement( 'div', { class: 'simple-box-description' } );
 

+ 6 - 6
docs/framework/guides/tutorials/implementing-an-inline-widget.md

@@ -325,7 +325,7 @@ export default class PlaceholderEditing extends Plugin {
 				name: 'span',
 				classes: [ 'placeholder' ]
 			},
-			model: ( viewElement, modelWriter ) => {
+			model: ( viewElement, { writer: modelWriter } ) => {
 				// Extract the "name" from "{name}".
 				const name = viewElement.getChild( 0 ).data.slice( 1, -1 );
 
@@ -335,7 +335,7 @@ export default class PlaceholderEditing extends Plugin {
 
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'placeholder',
-			view: ( modelItem, viewWriter ) => {
+			view: ( modelItem, { writer: viewWriter } ) => {
 				const widgetElement = createPlaceholderView( modelItem, viewWriter );
 
 				// Enable widget handling on a placeholder element inside the editing view.
@@ -345,7 +345,7 @@ export default class PlaceholderEditing extends Plugin {
 
 		conversion.for( 'dataDowncast' ).elementToElement( {
 			model: 'placeholder',
-			view: createPlaceholderView
+			view: ( modelItem, { writer: viewWriter } ) => createPlaceholderView( modelItem, viewWriter )
 		} );
 
 		// Helper method for both downcast converters.
@@ -895,7 +895,7 @@ class PlaceholderEditing extends Plugin {
 				name: 'span',
 				classes: [ 'placeholder' ]
 			},
-			model: ( viewElement, modelWriter ) => {
+			model: ( viewElement, { writer: modelWriter } ) => {
 				// Extract the "name" from "{name}".
 				const name = viewElement.getChild( 0 ).data.slice( 1, -1 );
 
@@ -905,7 +905,7 @@ class PlaceholderEditing extends Plugin {
 
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'placeholder',
-			view: ( modelItem, viewWriter ) => {
+			view: ( modelItem, { writer: viewWriter } ) => {
 				const widgetElement = createPlaceholderView( modelItem, viewWriter );
 
 				// Enable widget handling on a placeholder element inside the editing view.
@@ -915,7 +915,7 @@ class PlaceholderEditing extends Plugin {
 
 		conversion.for( 'dataDowncast' ).elementToElement( {
 			model: 'placeholder',
-			view: createPlaceholderView
+			view: ( modelItem, { writer: viewWriter } ) => createPlaceholderView( modelItem, viewWriter )
 		} );
 
 		// Helper method for both downcast converters.

+ 6 - 6
docs/framework/guides/tutorials/using-react-in-a-widget.md

@@ -322,7 +322,7 @@ export default class ProductPreviewEditing extends Plugin {
 				name: 'section',
 				classes: 'product'
 			},
-			model: ( viewElement, modelWriter ) => {
+			model: ( viewElement, { writer: modelWriter } ) => {
 				// Read the "data-id" attribute from the view and set it as the "id" in the model.
 				return modelWriter.createElement( 'productPreview', {
 					id: parseInt( viewElement.getAttribute( 'data-id' ) )
@@ -333,7 +333,7 @@ export default class ProductPreviewEditing extends Plugin {
 		// <productPreview> converters (model → data view)
 		conversion.for( 'dataDowncast' ).elementToElement( {
 			model: 'productPreview',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// In the data view, the model <productPreview> corresponds to:
 				//
 				// <section class="product" data-id="..."></section>
@@ -347,7 +347,7 @@ export default class ProductPreviewEditing extends Plugin {
 		// <productPreview> converters (model → editing view)
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'productPreview',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// In the editing view, the model <productPreview> corresponds to:
 				//
 				// <section class="product" data-id="...">
@@ -1137,7 +1137,7 @@ export default class ProductPreviewEditing extends Plugin {
 				name: 'section',
 				classes: 'product'
 			},
-			model: ( viewElement, modelWriter ) => {
+			model: ( viewElement, { writer: modelWriter } ) => {
 				// Read the "data-id" attribute from the view and set it as the "id" in the model.
 				return modelWriter.createElement( 'productPreview', {
 					id: parseInt( viewElement.getAttribute( 'data-id' ) )
@@ -1148,7 +1148,7 @@ export default class ProductPreviewEditing extends Plugin {
 		// <productPreview> converters (model → data view)
 		conversion.for( 'dataDowncast' ).elementToElement( {
 			model: 'productPreview',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// In the data view, the model <productPreview> corresponds to:
 				//
 				// <section class="product" data-id="..."></section>
@@ -1162,7 +1162,7 @@ export default class ProductPreviewEditing extends Plugin {
 		// <productPreview> converters (model → editing view)
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'productPreview',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// In the editing view, the model <productPreview> corresponds to:
 				//
 				// <section class="product" data-id="...">

+ 1 - 1
packages/ckeditor5-engine/docs/_snippets/framework/extending-content-allow-div-attributes.js

@@ -24,7 +24,7 @@ function ConvertDivAttributes( editor ) {
 	// View-to-model converter converting a view <div> with all its attributes to the model.
 	editor.conversion.for( 'upcast' ).elementToElement( {
 		view: 'div',
-		model: ( viewElement, modelWriter ) => {
+		model: ( viewElement, { writer: modelWriter } ) => {
 			return modelWriter.createElement( 'div', viewElement.getAttributes() );
 		}
 	} );

+ 1 - 1
packages/ckeditor5-engine/docs/_snippets/framework/extending-content-allow-link-target.js

@@ -12,7 +12,7 @@ function AllowLinkTarget( editor ) {
 
 	editor.conversion.for( 'downcast' ).attributeToElement( {
 		model: 'linkTarget',
-		view: ( attributeValue, writer ) => {
+		view: ( attributeValue, { writer } ) => {
 			const linkElement = writer.createAttributeElement( 'a', { target: attributeValue }, { priority: 5 } );
 			writer.setCustomProperty( 'link', true, linkElement );
 

+ 1 - 1
packages/ckeditor5-engine/docs/_snippets/framework/extending-content-arbitrary-attribute-values.js

@@ -39,7 +39,7 @@ function HandleFontSizeValue( editor ) {
 		model: {
 			key: 'fontSize'
 		},
-		view: ( modelValue, viewWriter ) => {
+		view: ( modelValue, { writer: viewWriter } ) => {
 			return viewWriter.createAttributeElement( 'span', {
 				style: `font-size:${ modelValue }px`
 			} );

+ 3 - 3
packages/ckeditor5-engine/docs/framework/guides/deep-dive/conversion-preserving-custom-content.md

@@ -64,7 +64,7 @@ function AllowLinkTarget( editor ) {
 	// Tell the editor that the model "linkTarget" attribute converts into <a target="..."></a>
 	editor.conversion.for( 'downcast' ).attributeToElement( {
 		model: 'linkTarget',
-		view: ( attributeValue, writer ) => {
+		view: ( attributeValue, { writer } ) => {
 			const linkElement = writer.createAttributeElement( 'a', { target: attributeValue }, { priority: 5 } );
 			writer.setCustomProperty( 'link', true, linkElement );
 
@@ -152,7 +152,7 @@ function ConvertDivAttributes( editor ) {
 	// The view-to-model converter converting a view <div> with all its attributes to the model.
 	editor.conversion.for( 'upcast' ).elementToElement( {
 		view: 'div',
-		model: ( viewElement, modelWriter ) => {
+		model: ( viewElement, { writer: modelWriter } ) => {
 			return modelWriter.createElement( 'div', viewElement.getAttributes() );
 		}
 	} );
@@ -246,7 +246,7 @@ function HandleFontSizeValue( editor ) {
 		model: {
 			key: 'fontSize'
 		},
-		view: ( modelValue, viewWriter ) => {
+		view: ( modelValue, { writer: viewWriter } ) => {
 			return viewWriter.createAttributeElement( 'span', {
 				style: `font-size:${ modelValue }px`
 			} );

+ 6 - 6
packages/ckeditor5-engine/src/conversion/downcasthelpers.js

@@ -710,8 +710,8 @@ export function clearAttributes() {
  * The converter automatically consumes the corresponding value from the consumables list and stops the event (see
  * {@link module:engine/conversion/downcastdispatcher~DowncastDispatcher}).
  *
- *		modelDispatcher.on( 'attribute:bold', wrap( ( modelAttributeValue, viewWriter ) => {
- *			return viewWriter.createAttributeElement( 'strong' );
+ *		modelDispatcher.on( 'attribute:bold', wrap( ( modelAttributeValue, { writer } ) => {
+ *			return writer.createAttributeElement( 'strong' );
  *		} );
  *
  * @protected
@@ -769,9 +769,9 @@ export function wrap( elementCreator ) {
  *
  *		downcastDispatcher.on(
  *			'insert:myElem',
- *			insertElement( ( modelItem, viewWriter ) => {
- *				const text = viewWriter.createText( 'myText' );
- *				const myElem = viewWriter.createElement( 'myElem', { myAttr: 'my-' + modelItem.getAttribute( 'myAttr' ) }, text );
+ *			insertElement( ( modelItem, { writer } ) => {
+ *				const text = writer.createText( 'myText' );
+ *				const myElem = writer.createElement( 'myElem', { myAttr: 'my-' + modelItem.getAttribute( 'myAttr' ) }, text );
  *
  *				// Do something fancy with `myElem` using `modelItem` or other parameters.
  *
@@ -1098,7 +1098,7 @@ function changeAttribute( attributeCreator ) {
 			 *				key: 'attribute-name',
 			 *				name: '$text'
 			 *			},
-			 *			view: ( value, writer ) => {
+			 *			view: ( value, { writer } ) => {
 			 *				return writer.createAttributeElement( 'span', { 'attribute-name': value } );
 			 *			},
 			 *			converterPriority: 'high'

+ 4 - 4
packages/ckeditor5-engine/tests/manual/highlight.js

@@ -38,11 +38,11 @@ class FancyWidget extends Plugin {
 
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'fancywidget',
-			view: ( modelItem, viewWriter ) => {
-				const widgetElement = viewWriter.createContainerElement( 'figure', { class: 'fancy-widget' } );
-				viewWriter.insert( viewWriter.createPositionAt( widgetElement, 0 ), viewWriter.createText( 'widget' ) );
+			view: ( modelItem, { writer } ) => {
+				const widgetElement = writer.createContainerElement( 'figure', { class: 'fancy-widget' } );
+				writer.insert( writer.createPositionAt( widgetElement, 0 ), writer.createText( 'widget' ) );
 
-				return toWidget( widgetElement, viewWriter );
+				return toWidget( widgetElement, writer );
 			}
 		} );
 

+ 2 - 2
packages/ckeditor5-engine/tests/manual/nestededitable.js

@@ -50,8 +50,8 @@ class NestedEditable extends Plugin {
 
 		editor.conversion.for( 'downcast' ).elementToElement( {
 			model: 'figcaption',
-			view: ( modelItem, viewWriter ) => {
-				const element = viewWriter.createEditableElement( 'figcaption', { contenteditable: 'true' } );
+			view: ( modelItem, { writer } ) => {
+				const element = writer.createEditableElement( 'figcaption', { contenteditable: 'true' } );
 
 				element.on( 'change:isFocused', ( evt, property, is ) => {
 					if ( is ) {

+ 4 - 4
packages/ckeditor5-engine/tests/manual/selection.js

@@ -47,16 +47,16 @@ class SelectionTest extends Plugin {
 
 		editor.conversion.for( 'downcast' ).elementToElement( {
 			model: 'table',
-			view: ( modelItem, viewWriter ) => {
-				return toWidget( viewWriter.createContainerElement( 'table' ), viewWriter );
+			view: ( modelItem, { writer } ) => {
+				return toWidget( writer.createContainerElement( 'table' ), writer );
 			}
 		} );
 		editor.conversion.for( 'downcast' ).elementToElement( { model: 'tableRow', view: 'tr' } );
 
 		editor.conversion.for( 'downcast' ).elementToElement( {
 			model: 'tableCell',
-			view: ( modelItem, viewWriter ) => {
-				return toWidgetEditable( viewWriter.createEditableElement( 'td' ), viewWriter );
+			view: ( modelItem, { writer } ) => {
+				return toWidgetEditable( writer.createEditableElement( 'td' ), writer );
 			}
 		} );
 	}

+ 2 - 2
packages/ckeditor5-engine/tests/manual/tickets/475/1.js

@@ -25,8 +25,8 @@ class Link extends Plugin {
 
 		editor.conversion.for( 'downcast' ).attributeToElement( {
 			model: 'link',
-			view: ( modelAttributeValue, viewWriter ) => {
-				return viewWriter.createAttributeElement( 'a', { href: modelAttributeValue } );
+			view: ( modelAttributeValue, { writer } ) => {
+				return writer.createAttributeElement( 'a', { href: modelAttributeValue } );
 			}
 		} );
 

+ 2 - 2
packages/ckeditor5-engine/tests/manual/tickets/ckeditor5-721/1.js

@@ -42,7 +42,7 @@ ClassicEditor
 		editor.conversion.for( 'downcast' )
 			.elementToElement( {
 				model: 'widget',
-				view: ( modelItem, writer ) => {
+				view: ( modelItem, { writer } ) => {
 					const b = writer.createAttributeElement( 'b' );
 					const div = writer.createContainerElement( 'div' );
 
@@ -53,7 +53,7 @@ ClassicEditor
 			} )
 			.elementToElement( {
 				model: 'nested',
-				view: ( item, writer ) => writer.createEditableElement( 'figcaption', { contenteditable: true } )
+				view: ( item, { writer } ) => writer.createEditableElement( 'figcaption', { contenteditable: true } )
 			} );
 
 		setData( editor.model,

+ 2 - 2
packages/ckeditor5-mention/tests/manual/mention.js

@@ -44,7 +44,7 @@ class InlineWidget extends Plugin {
 
 		editor.conversion.for( 'upcast' ).elementToElement( {
 			view: 'placeholder',
-			model: ( viewElement, modelWriter ) => {
+			model: ( viewElement, { writer } ) => {
 				let type = 'general';
 
 				if ( viewElement.childCount ) {
@@ -55,7 +55,7 @@ class InlineWidget extends Plugin {
 					}
 				}
 
-				return modelWriter.createElement( 'placeholder', { type } );
+				return writer.createElement( 'placeholder', { type } );
 			}
 		} );
 

+ 2 - 2
packages/ckeditor5-widget/tests/manual/inline-widget.js

@@ -50,7 +50,7 @@ class InlineWidget extends Plugin {
 
 		editor.conversion.for( 'upcast' ).elementToElement( {
 			view: 'placeholder',
-			model: ( viewElement, modelWriter ) => {
+			model: ( viewElement, { writer } ) => {
 				let type = 'general';
 
 				if ( viewElement.childCount ) {
@@ -61,7 +61,7 @@ class InlineWidget extends Plugin {
 					}
 				}
 
-				return modelWriter.createElement( 'placeholder', { type } );
+				return writer.createElement( 'placeholder', { type } );
 			}
 		} );
 

+ 4 - 4
packages/ckeditor5-widget/tests/manual/keyboard.js

@@ -56,13 +56,13 @@ function BlockWidgetWithNestedEditable( editor ) {
 	editor.conversion.for( 'dataDowncast' )
 		.elementToElement( {
 			model: 'widget',
-			view: ( modelItem, writer ) => {
+			view: ( modelItem, { writer } ) => {
 				return writer.createContainerElement( 'figure' );
 			}
 		} )
 		.elementToElement( {
 			model: 'nested',
-			view: ( modelItem, writer ) => {
+			view: ( modelItem, { writer } ) => {
 				return writer.createContainerElement( 'figcaption' );
 			}
 		} );
@@ -70,7 +70,7 @@ function BlockWidgetWithNestedEditable( editor ) {
 	editor.conversion.for( 'editingDowncast' )
 		.elementToElement( {
 			model: 'widget',
-			view: ( modelItem, writer ) => {
+			view: ( modelItem, { writer } ) => {
 				const div = writer.createContainerElement( 'figure' );
 
 				return toWidget( div, writer, { label: 'widget label' } );
@@ -78,7 +78,7 @@ function BlockWidgetWithNestedEditable( editor ) {
 		} )
 		.elementToElement( {
 			model: 'nested',
-			view: ( modelItem, writer ) => {
+			view: ( modelItem, { writer } ) => {
 				const nested = writer.createEditableElement( 'figcaption' );
 
 				return toWidgetEditable( nested, writer );

+ 4 - 4
packages/ckeditor5-widget/tests/widgettoolbarrepository.js

@@ -761,8 +761,8 @@ class FakeWidget extends Plugin {
 			view: {
 				name: 'div'
 			},
-			model: ( view, modelWriter ) => {
-				return modelWriter.createElement( 'fake-widget' );
+			model: ( view, { writer } ) => {
+				return writer.createElement( 'fake-widget' );
 			}
 		} );
 	}
@@ -813,8 +813,8 @@ class FakeChildWidget extends Plugin {
 			view: {
 				name: 'div'
 			},
-			model: ( view, modelWriter ) => {
-				return modelWriter.createElement( 'fake-child-widget' );
+			model: ( view, { writer } ) => {
+				return writer.createElement( 'fake-child-widget' );
 			}
 		} );
 	}