Explorar el Código

Merge branch t/ckeditor5-engine/1555

Internal: Use built-in factories of range, position and selection classes. Avoid importing things from the engine. See ckeditor/ckeditor5-engine#1555.
Piotrek Koszuliński hace 7 años
padre
commit
2f79cdb2e6

+ 2 - 3
packages/ckeditor5-table/src/commands/inserttablecommand.js

@@ -8,7 +8,6 @@
  */
 
 import Command from '@ckeditor/ckeditor5-core/src/command';
-import Position from '@ckeditor/ckeditor5-engine/src/model/position';
 import { findOptimalInsertionPosition } from '@ckeditor/ckeditor5-widget/src/utils';
 import TableUtils from '../tableutils';
 
@@ -55,14 +54,14 @@ export default class InsertTableCommand extends Command {
 		const rows = parseInt( options.rows ) || 2;
 		const columns = parseInt( options.columns ) || 2;
 
-		const insertPosition = findOptimalInsertionPosition( selection );
+		const insertPosition = findOptimalInsertionPosition( selection, model );
 
 		model.change( writer => {
 			const table = tableUtils.createTable( writer, rows, columns );
 
 			model.insertContent( table, insertPosition );
 
-			writer.setSelection( Position.createAt( table.getNodeByPath( [ 0, 0, 0 ] ), 0 ) );
+			writer.setSelection( writer.createPositionAt( table.getNodeByPath( [ 0, 0, 0 ] ), 0 ) );
 		} );
 	}
 }

+ 3 - 5
packages/ckeditor5-table/src/commands/mergecellcommand.js

@@ -8,8 +8,6 @@
  */
 
 import Command from '@ckeditor/ckeditor5-core/src/command';
-import Position from '@ckeditor/ckeditor5-engine/src/model/position';
-import Range from '@ckeditor/ckeditor5-engine/src/model/range';
 import TableWalker from '../tablewalker';
 import { findAncestor, updateNumericAttribute } from './utils';
 import TableUtils from '../tableutils';
@@ -105,7 +103,7 @@ export default class MergeCellCommand extends Command {
 
 			// Update table cell span attribute and merge set selection on merged contents.
 			writer.setAttribute( spanAttribute, cellSpan + cellToMergeSpan, cellToExpand );
-			writer.setSelection( Range.createIn( cellToExpand ) );
+			writer.setSelection( writer.createRangeIn( cellToExpand ) );
 
 			// Remove empty row after merging.
 			if ( !removedTableCellRow.childCount ) {
@@ -263,10 +261,10 @@ function removeEmptyRow( removedTableCellRow, writer ) {
 function mergeTableCells( cellToRemove, cellToExpand, writer ) {
 	if ( !isEmpty( cellToRemove ) ) {
 		if ( isEmpty( cellToExpand ) ) {
-			writer.remove( Range.createIn( cellToExpand ) );
+			writer.remove( writer.createRangeIn( cellToExpand ) );
 		}
 
-		writer.move( Range.createIn( cellToRemove ), Position.createAt( cellToExpand, 'end' ) );
+		writer.move( writer.createRangeIn( cellToRemove ), writer.createPositionAt( cellToExpand, 'end' ) );
 	}
 
 	// Remove merged table cell.

+ 3 - 6
packages/ckeditor5-table/src/commands/removerowcommand.js

@@ -8,8 +8,6 @@
  */
 
 import Command from '@ckeditor/ckeditor5-core/src/command';
-import Position from '@ckeditor/ckeditor5-engine/src/model/position';
-import Range from '@ckeditor/ckeditor5-engine/src/model/range';
 
 import TableWalker from '../tablewalker';
 import { findAncestor, updateNumericAttribute } from './utils';
@@ -81,12 +79,11 @@ export default class RemoveRowCommand extends Command {
 			for ( const { row, column, cell } of [ ...tableWalker ] ) {
 				if ( cellsToMove.has( column ) ) {
 					const { cell: cellToMove, rowspanToSet } = cellsToMove.get( column );
-
 					const targetPosition = previousCell ?
-						Position.createAfter( previousCell ) :
-						Position.createAt( table.getChild( row ), 0 );
+						writer.createPositionAfter( previousCell ) :
+						writer.createPositionAt( table.getChild( row ), 0 );
 
-					writer.move( Range.createOn( cellToMove ), targetPosition );
+					writer.move( writer.createRangeOn( cellToMove ), targetPosition );
 					updateNumericAttribute( 'rowspan', rowspanToSet, cellToMove, writer );
 
 					previousCell = cellToMove;

+ 1 - 2
packages/ckeditor5-table/src/commands/setheaderrowcommand.js

@@ -8,7 +8,6 @@
  */
 
 import Command from '@ckeditor/ckeditor5-core/src/command';
-import Position from '@ckeditor/ckeditor5-engine/src/model/position';
 
 import { createEmptyTableCell, findAncestor, updateNumericAttribute } from './utils';
 import TableWalker from '../tablewalker';
@@ -169,7 +168,7 @@ function splitHorizontally( tableCell, headingRows, writer ) {
 
 		if ( columnIndex !== undefined && columnIndex === column && row === endRow ) {
 			const tableRow = table.getChild( row );
-			const tableCellPosition = Position.createFromParentAndOffset( tableRow, cellIndex );
+			const tableCellPosition = writer.createPositionAt( tableRow, cellIndex );
 
 			createEmptyTableCell( writer, tableCellPosition, attributes );
 		}

+ 29 - 23
packages/ckeditor5-table/src/converters/downcast.js

@@ -7,8 +7,6 @@
  * @module table/converters/downcast
  */
 
-import ViewPosition from '@ckeditor/ckeditor5-engine/src/view/position';
-import ViewRange from '@ckeditor/ckeditor5-engine/src/view/range';
 import TableWalker from './../tablewalker';
 import { toWidgetEditable } from '@ckeditor/ckeditor5-widget/src/utils';
 import { toTableWidget } from '../utils';
@@ -38,7 +36,7 @@ export function downcastInsertTable( options = {} ) {
 
 		const figureElement = conversionApi.writer.createContainerElement( 'figure', { class: 'table' } );
 		const tableElement = conversionApi.writer.createContainerElement( 'table' );
-		conversionApi.writer.insert( ViewPosition.createAt( figureElement, 0 ), tableElement );
+		conversionApi.writer.insert( conversionApi.writer.createPositionAt( figureElement, 0 ), tableElement );
 
 		let tableWidget;
 
@@ -65,7 +63,7 @@ export function downcastInsertTable( options = {} ) {
 			// Consume table cell - it will be always consumed as we convert whole table at once.
 			conversionApi.consumable.consume( cell, 'insert' );
 
-			const insertPosition = ViewPosition.createAt( trElement, 'end' );
+			const insertPosition = conversionApi.writer.createPositionAt( trElement, 'end' );
 
 			createViewTableCellElement( tableWalkerValue, tableAttributes, insertPosition, conversionApi, options );
 		}
@@ -113,7 +111,7 @@ export function downcastInsertRow( options = {} ) {
 			// Consume table cell - it will be always consumed as we convert whole row at once.
 			conversionApi.consumable.consume( tableWalkerValue.cell, 'insert' );
 
-			const insertPosition = ViewPosition.createAt( trElement, 'end' );
+			const insertPosition = conversionApi.writer.createPositionAt( trElement, 'end' );
 
 			createViewTableCellElement( tableWalkerValue, tableAttributes, insertPosition, conversionApi, options );
 		}
@@ -151,7 +149,7 @@ export function downcastInsertCell( options = {} ) {
 		for ( const tableWalkerValue of tableWalker ) {
 			if ( tableWalkerValue.cell === tableCell ) {
 				const trElement = conversionApi.mapper.toViewElement( tableRow );
-				const insertPosition = ViewPosition.createAt( trElement, tableRow.getChildIndex( tableCell ) );
+				const insertPosition = conversionApi.writer.createPositionAt( trElement, tableRow.getChildIndex( tableCell ) );
 
 				createViewTableCellElement( tableWalkerValue, tableAttributes, insertPosition, conversionApi, options );
 
@@ -286,23 +284,25 @@ export function downcastRemoveRow() {
 	return dispatcher => dispatcher.on( 'remove:tableRow', ( evt, data, conversionApi ) => {
 		// Prevent default remove converter.
 		evt.stop();
+		const viewWriter = conversionApi.writer;
+		const mapper = conversionApi.mapper;
 
-		const viewStart = conversionApi.mapper.toViewPosition( data.position ).getLastMatchingPosition( value => !value.item.is( 'tr' ) );
+		const viewStart = mapper.toViewPosition( data.position ).getLastMatchingPosition( value => !value.item.is( 'tr' ) );
 		const viewItem = viewStart.nodeAfter;
 		const tableSection = viewItem.parent;
 
 		// Remove associated <tr> from the view.
-		const removeRange = ViewRange.createOn( viewItem );
-		const removed = conversionApi.writer.remove( removeRange );
+		const removeRange = viewWriter.createRangeOn( viewItem );
+		const removed = viewWriter.remove( removeRange );
 
-		for ( const child of ViewRange.createIn( removed ).getItems() ) {
-			conversionApi.mapper.unbindViewElement( child );
+		for ( const child of viewWriter.createRangeIn( removed ).getItems() ) {
+			mapper.unbindViewElement( child );
 		}
 
 		// Check if table section has any children left - if not remove it from the view.
 		if ( !tableSection.childCount ) {
 			// No need to unbind anything as table section is not represented in the model.
-			conversionApi.writer.remove( ViewRange.createOn( tableSection ) );
+			viewWriter.remove( viewWriter.createRangeOn( tableSection ) );
 		}
 	}, { priority: 'higher' } );
 }
@@ -316,6 +316,7 @@ export function downcastRemoveRow() {
 // @param {Object} conversionApi
 // @param {Boolean} asWidget
 function renameViewTableCell( tableCell, desiredCellElementName, conversionApi, asWidget ) {
+	const viewWriter = conversionApi.writer;
 	const viewCell = conversionApi.mapper.toViewElement( tableCell );
 
 	// View cell might be not yet converted - skip it as it will be properly created by cell converter later on.
@@ -326,14 +327,14 @@ function renameViewTableCell( tableCell, desiredCellElementName, conversionApi,
 	let renamedCell;
 
 	if ( asWidget ) {
-		const editable = conversionApi.writer.createEditableElement( desiredCellElementName, viewCell.getAttributes() );
-		renamedCell = toWidgetEditable( editable, conversionApi.writer );
+		const editable = viewWriter.createEditableElement( desiredCellElementName, viewCell.getAttributes() );
+		renamedCell = toWidgetEditable( editable, viewWriter );
 
-		conversionApi.writer.insert( ViewPosition.createAfter( viewCell ), renamedCell );
-		conversionApi.writer.move( ViewRange.createIn( viewCell ), ViewPosition.createAt( renamedCell, 0 ) );
-		conversionApi.writer.remove( ViewRange.createOn( viewCell ) );
+		viewWriter.insert( viewWriter.createPositionAfter( viewCell ), renamedCell );
+		viewWriter.move( viewWriter.createRangeIn( viewCell ), viewWriter.createPositionAt( renamedCell, 0 ) );
+		viewWriter.remove( viewWriter.createRangeOn( viewCell ) );
 	} else {
-		renamedCell = conversionApi.writer.rename( desiredCellElementName, viewCell );
+		renamedCell = viewWriter.rename( desiredCellElementName, viewCell );
 	}
 
 	conversionApi.mapper.bindElements( tableCell, renamedCell );
@@ -381,7 +382,7 @@ function createViewTableCellElement( tableWalkerValue, tableAttributes, insertPo
 
 	if ( isSingleParagraph ) {
 		const innerParagraph = tableCell.getChild( 0 );
-		const paragraphInsertPosition = ViewPosition.createAt( cellElement, 'end' );
+		const paragraphInsertPosition = conversionApi.writer.createPositionAt( cellElement, 'end' );
 
 		conversionApi.consumable.consume( innerParagraph, 'insert' );
 
@@ -423,7 +424,7 @@ function getOrCreateTr( tableRow, rowIndex, tableSection, conversionApi ) {
 		const headingRows = tableRow.parent.getAttribute( 'headingRows' ) || 0;
 		const offset = headingRows > 0 && rowIndex >= headingRows ? rowIndex - headingRows : rowIndex;
 
-		const position = ViewPosition.createAt( tableSection, offset );
+		const position = conversionApi.writer.createPositionAt( tableSection, offset );
 		conversionApi.writer.insert( position, trElement );
 	}
 
@@ -497,7 +498,9 @@ function getExistingTableSectionElement( sectionName, tableElement ) {
 function createTableSection( sectionName, tableElement, conversionApi ) {
 	const tableChildElement = conversionApi.writer.createContainerElement( sectionName );
 
-	conversionApi.writer.insert( ViewPosition.createAt( tableElement, sectionName == 'tbody' ? 'end' : 0 ), tableChildElement );
+	const insertPosition = conversionApi.writer.createPositionAt( tableElement, sectionName == 'tbody' ? 'end' : 0 );
+
+	conversionApi.writer.insert( insertPosition, tableChildElement );
 
 	return tableChildElement;
 }
@@ -511,7 +514,7 @@ function removeTableSectionIfEmpty( sectionName, tableElement, conversionApi ) {
 	const tableSection = getExistingTableSectionElement( sectionName, tableElement );
 
 	if ( tableSection && tableSection.childCount === 0 ) {
-		conversionApi.writer.remove( ViewRange.createOn( tableSection ) );
+		conversionApi.writer.remove( conversionApi.writer.createRangeOn( tableSection ) );
 	}
 }
 
@@ -529,7 +532,10 @@ function moveViewRowsToTableSection( rowsToMove, viewTableSection, conversionApi
 
 		// View table row might be not yet converted - skip it as it will be properly created by cell converter later on.
 		if ( viewTableRow ) {
-			conversionApi.writer.move( ViewRange.createOn( viewTableRow ), ViewPosition.createAt( viewTableSection, offset ) );
+			conversionApi.writer.move(
+				conversionApi.writer.createRangeOn( viewTableRow ),
+				conversionApi.writer.createPositionAt( viewTableSection, offset )
+			);
 		}
 	}
 }

+ 1 - 2
packages/ckeditor5-table/src/converters/table-layout-post-fixer.js

@@ -7,7 +7,6 @@
  * @module table/converters/table-layout-post-fixer
  */
 
-import Position from '@ckeditor/ckeditor5-engine/src/model/position';
 import { createEmptyTableCell, findAncestor, updateNumericAttribute } from './../commands/utils';
 import TableWalker from './../tablewalker';
 
@@ -303,7 +302,7 @@ function fixTableRowsSizes( table, writer ) {
 
 			if ( columnsToInsert ) {
 				for ( let i = 0; i < columnsToInsert; i++ ) {
-					createEmptyTableCell( writer, Position.createAt( table.getChild( rowIndex ), 'end' ) );
+					createEmptyTableCell( writer, writer.createPositionAt( table.getChild( rowIndex ), 'end' ) );
 				}
 
 				wasFixed = true;

+ 11 - 13
packages/ckeditor5-table/src/converters/upcasttable.js

@@ -7,8 +7,6 @@
  * @module table/converters/upcasttable
  */
 
-import ModelRange from '@ckeditor/ckeditor5-engine/src/model/range';
-import ModelPosition from '@ckeditor/ckeditor5-engine/src/model/position';
 import { createEmptyTableCell } from '../commands/utils';
 
 /**
@@ -56,24 +54,24 @@ export default function upcastTable() {
 
 			if ( rows.length ) {
 				// Upcast table rows in proper order (heading rows first).
-				rows.forEach( row => conversionApi.convertItem( row, ModelPosition.createAt( table, 'end' ) ) );
+				rows.forEach( row => conversionApi.convertItem( row, conversionApi.writer.createPositionAt( table, 'end' ) ) );
 			} else {
 				// Create one row and one table cell for empty table.
 				const row = conversionApi.writer.createElement( 'tableRow' );
-				conversionApi.writer.insert( row, ModelPosition.createAt( table, 'end' ) );
+				conversionApi.writer.insert( row, conversionApi.writer.createPositionAt( table, 'end' ) );
 
-				createEmptyTableCell( conversionApi.writer, ModelPosition.createAt( row, 'end' ) );
+				createEmptyTableCell( conversionApi.writer, conversionApi.writer.createPositionAt( row, 'end' ) );
 			}
 
 			// Set conversion result range.
-			data.modelRange = new ModelRange(
+			data.modelRange = conversionApi.writer.createRange(
 				// Range should start before inserted element
-				ModelPosition.createBefore( table ),
+				conversionApi.writer.createPositionBefore( table ),
 				// Should end after but we need to take into consideration that children could split our
 				// element, so we need to move range after parent of the last converted child.
 				// before: <allowed>[]</allowed>
 				// after: <allowed>[<converted><child></child></converted><child></child><converted>]</converted></allowed>
-				ModelPosition.createAfter( table )
+				conversionApi.writer.createPositionAfter( table )
 			);
 
 			// Now we need to check where the modelCursor should be.
@@ -82,7 +80,7 @@ export default function upcastTable() {
 			// before: <allowed><notAllowed>[]</notAllowed></allowed>
 			// after:  <allowed><notAllowed></notAllowed><converted></converted><notAllowed>[]</notAllowed></allowed>
 			if ( splitResult.cursorParent ) {
-				data.modelCursor = ModelPosition.createAt( splitResult.cursorParent, 0 );
+				data.modelCursor = conversionApi.writer.createPositionAt( splitResult.cursorParent, 0 );
 
 				// Otherwise just continue after inserted element.
 			} else {
@@ -115,7 +113,7 @@ export function upcastTableCell( elementName ) {
 			conversionApi.writer.insert( tableCell, splitResult.position );
 			conversionApi.consumable.consume( viewTableCell, { name: true } );
 
-			const modelCursor = ModelPosition.createAt( tableCell, 0 );
+			const modelCursor = conversionApi.writer.createPositionAt( tableCell, 0 );
 			conversionApi.convertChildren( viewTableCell, modelCursor );
 
 			// Ensure a paragraph in the model for empty table cells.
@@ -124,14 +122,14 @@ export function upcastTableCell( elementName ) {
 			}
 
 			// Set conversion result range.
-			data.modelRange = new ModelRange(
+			data.modelRange = conversionApi.writer.createRange(
 				// Range should start before inserted element
-				ModelPosition.createBefore( tableCell ),
+				conversionApi.writer.createPositionBefore( tableCell ),
 				// Should end after but we need to take into consideration that children could split our
 				// element, so we need to move range after parent of the last converted child.
 				// before: <allowed>[]</allowed>
 				// after: <allowed>[<converted><child></child></converted><child></child><converted>]</converted></allowed>
-				ModelPosition.createAfter( tableCell )
+				conversionApi.writer.createPositionAfter( tableCell )
 			);
 
 			// Continue after inserted element.

+ 2 - 3
packages/ckeditor5-table/src/tableediting.js

@@ -9,7 +9,6 @@
 
 import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
 import { upcastElementToElement } from '@ckeditor/ckeditor5-engine/src/conversion/upcast-converters';
-import Range from '@ckeditor/ckeditor5-engine/src/model/range';
 
 import upcastTable, { upcastTableCell } from './converters/upcasttable';
 import {
@@ -184,7 +183,7 @@ export default class TableEditing extends Plugin {
 			cancel();
 
 			editor.model.change( writer => {
-				writer.setSelection( Range.createIn( selectedElement.getChild( 0 ).getChild( 0 ) ) );
+				writer.setSelection( writer.createRangeIn( selectedElement.getChild( 0 ).getChild( 0 ) ) );
 			} );
 		}
 	}
@@ -252,7 +251,7 @@ export default class TableEditing extends Plugin {
 			}
 
 			editor.model.change( writer => {
-				writer.setSelection( Range.createIn( cellToFocus ) );
+				writer.setSelection( writer.createRangeIn( cellToFocus ) );
 			} );
 		};
 	}

+ 6 - 7
packages/ckeditor5-table/src/tableutils.js

@@ -8,7 +8,6 @@
  */
 
 import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
-import Position from '@ckeditor/ckeditor5-engine/src/model/position';
 
 import TableWalker from './tablewalker';
 import { createEmptyTableCell, updateNumericAttribute } from './commands/utils';
@@ -212,7 +211,7 @@ export default class TableUtils extends Plugin {
 			// Inserting at the end and at the beginning of a table doesn't require to calculate anything special.
 			if ( insertAt === 0 || tableColumns === insertAt ) {
 				for ( const tableRow of table.getChildren() ) {
-					createCells( columnsToInsert, writer, Position.createAt( tableRow, insertAt ? 'end' : 0 ) );
+					createCells( columnsToInsert, writer, writer.createPositionAt( tableRow, insertAt ? 'end' : 0 ) );
 				}
 
 				return;
@@ -243,7 +242,7 @@ export default class TableUtils extends Plugin {
 				} else {
 					// It's either cell at this column index or spanned cell by a rowspanned cell from row above.
 					// In table above it's cell "e" and a spanned position from row below (empty cell between cells "g" and "h")
-					const insertPosition = Position.createFromParentAndOffset( table.getChild( row ), cellIndex );
+					const insertPosition = writer.createPositionAt( table.getChild( row ), cellIndex );
 
 					createCells( columnsToInsert, writer, insertPosition );
 				}
@@ -325,7 +324,7 @@ export default class TableUtils extends Plugin {
 				}
 
 				const cellsToInsert = colspan > numberOfCells ? numberOfCells - 1 : colspan - 1;
-				createCells( cellsToInsert, writer, Position.createAfter( tableCell ), newCellsAttributes );
+				createCells( cellsToInsert, writer, writer.createPositionAfter( tableCell ), newCellsAttributes );
 			}
 
 			// Second check - the cell has colspan of 1 or we need to create more cells then the currently one spans over.
@@ -363,7 +362,7 @@ export default class TableUtils extends Plugin {
 					newCellsAttributes.rowspan = rowspan;
 				}
 
-				createCells( cellsToInsert, writer, Position.createAfter( tableCell ), newCellsAttributes );
+				createCells( cellsToInsert, writer, writer.createPositionAfter( tableCell ), newCellsAttributes );
 
 				const headingColumns = table.getAttribute( 'headingColumns' ) || 0;
 
@@ -483,7 +482,7 @@ export default class TableUtils extends Plugin {
 					const isInEvenlySplitRow = ( row + splitCellRow + updatedSpan ) % newCellsSpan === 0;
 
 					if ( isAfterSplitCell && isOnSameColumn && isInEvenlySplitRow ) {
-						const position = Position.createFromParentAndOffset( table.getChild( row ), cellIndex );
+						const position = writer.createPositionAt( table.getChild( row ), cellIndex );
 
 						createCells( 1, writer, position, newCellsAttributes );
 					}
@@ -563,7 +562,7 @@ function createEmptyRows( writer, table, insertAt, rows, tableCellToInsert, attr
 
 		writer.insert( tableRow, table, insertAt );
 
-		createCells( tableCellToInsert, writer, Position.createAt( tableRow, 'end' ), attributes );
+		createCells( tableCellToInsert, writer, writer.createPositionAt( tableRow, 'end' ), attributes );
 	}
 }
 

+ 4 - 6
packages/ckeditor5-table/tests/converters/table-cell-content-post-fixer.js

@@ -3,8 +3,6 @@
  * For licensing, see LICENSE.md.
  */
 
-import Range from '@ckeditor/ckeditor5-engine/src/model/range';
-import Position from '@ckeditor/ckeditor5-engine/src/model/position';
 import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
 import VirtualTestEditor from '@ckeditor/ckeditor5-core/tests/_utils/virtualtesteditor';
 import { getData as getModelData, setData as setModelData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model';
@@ -61,8 +59,8 @@ describe( 'Table cell content post-fixer', () => {
 
 		// Insert table row with one table cell
 		model.change( writer => {
-			writer.insertElement( 'tableRow', Position.createAfter( root.getNodeByPath( [ 0, 0 ] ) ) );
-			writer.insertElement( 'tableCell', Position.createAt( root.getNodeByPath( [ 0, 1 ] ), 0 ) );
+			writer.insertElement( 'tableRow', writer.createPositionAfter( root.getNodeByPath( [ 0, 0 ] ) ) );
+			writer.insertElement( 'tableCell', writer.createPositionAt( root.getNodeByPath( [ 0, 1 ] ), 0 ) );
 		} );
 
 		expect( formatTable( getModelData( model, { withoutSelection: true } ) ) ).to.equal( formatTable(
@@ -88,7 +86,7 @@ describe( 'Table cell content post-fixer', () => {
 
 		// Insert table row with one table cell
 		model.change( writer => {
-			writer.insertElement( 'tableCell', Position.createAt( root.getNodeByPath( [ 0, 0 ] ), 'end' ) );
+			writer.insertElement( 'tableCell', writer.createPositionAt( root.getNodeByPath( [ 0, 0 ] ), 'end' ) );
 		} );
 
 		expect( formatTable( getModelData( model, { withoutSelection: true } ) ) ).to.equal( formatTable(
@@ -112,7 +110,7 @@ describe( 'Table cell content post-fixer', () => {
 
 		// Remove paragraph from table cell.
 		model.change( writer => {
-			writer.remove( Range.createIn( root.getNodeByPath( [ 0, 0, 0 ] ) ) );
+			writer.remove( writer.createRangeIn( root.getNodeByPath( [ 0, 0, 0 ] ) ) );
 		} );
 
 		expect( formatTable( getModelData( model, { withoutSelection: true } ) ) ).to.equal( formatTable(

+ 7 - 8
packages/ckeditor5-table/tests/converters/table-layout-post-fixer.js

@@ -3,7 +3,6 @@
  * For licensing, see LICENSE.md.
  */
 
-import Range from '@ckeditor/ckeditor5-engine/src/model/range';
 import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
 import VirtualTestEditor from '@ckeditor/ckeditor5-core/tests/_utils/virtualtesteditor';
 import { getData as getModelData, parse, setData as setModelData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model';
@@ -40,7 +39,7 @@ describe( 'Table layout post-fixer', () => {
 			] ), model.schema );
 
 			model.change( writer => {
-				writer.remove( Range.createIn( root ) );
+				writer.remove( writer.createRangeIn( root ) );
 				writer.insert( parsed, root );
 			} );
 
@@ -59,7 +58,7 @@ describe( 'Table layout post-fixer', () => {
 			] ), model.schema );
 
 			model.change( writer => {
-				writer.remove( Range.createIn( root ) );
+				writer.remove( writer.createRangeIn( root ) );
 				writer.insert( parsed, root );
 			} );
 
@@ -78,7 +77,7 @@ describe( 'Table layout post-fixer', () => {
 			] ), model.schema );
 
 			model.change( writer => {
-				writer.remove( Range.createIn( root ) );
+				writer.remove( writer.createRangeIn( root ) );
 				writer.insert( parsed, root );
 			} );
 
@@ -97,7 +96,7 @@ describe( 'Table layout post-fixer', () => {
 			], { headingRows: 2 } ), model.schema );
 
 			model.change( writer => {
-				writer.remove( Range.createIn( root ) );
+				writer.remove( writer.createRangeIn( root ) );
 				writer.insert( parsed, root );
 			} );
 
@@ -116,7 +115,7 @@ describe( 'Table layout post-fixer', () => {
 			], { headingRows: 1 } ), model.schema );
 
 			model.change( writer => {
-				writer.remove( Range.createIn( root ) );
+				writer.remove( writer.createRangeIn( root ) );
 				writer.insert( parsed, root );
 			} );
 
@@ -144,7 +143,7 @@ describe( 'Table layout post-fixer', () => {
 			const parsed = parse( tableA + tableB + tableC, model.schema );
 
 			model.change( writer => {
-				writer.remove( Range.createIn( root ) );
+				writer.remove( writer.createRangeIn( root ) );
 				writer.insert( parsed, root );
 			} );
 
@@ -173,7 +172,7 @@ describe( 'Table layout post-fixer', () => {
 
 			expect( () => {
 				model.change( writer => {
-					writer.remove( Range.createIn( root ) );
+					writer.remove( writer.createRangeIn( root ) );
 				} );
 			} ).to.not.throw();
 

+ 5 - 7
packages/ckeditor5-table/tests/converters/tablecell-post-fixer.js

@@ -9,11 +9,9 @@ import { getData as getViewData } from '@ckeditor/ckeditor5-engine/src/dev-utils
 
 import { defaultConversion, defaultSchema, formatTable, formattedViewTable, viewTable } from '../_utils/utils';
 import injectTableCellPostFixer from '../../src/converters/tablecell-post-fixer';
-import Range from '@ckeditor/ckeditor5-engine/src/model/range';
 
 import env from '@ckeditor/ckeditor5-utils/src/env';
 import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils';
-import Position from '@ckeditor/ckeditor5-engine/src/model/position';
 import ClassicTestEditor from '@ckeditor/ckeditor5-core/tests/_utils/classictesteditor';
 
 describe( 'TableCell post-fixer', () => {
@@ -227,8 +225,8 @@ describe( 'TableCell post-fixer', () => {
 			model.change( writer => {
 				const tableCell = table.getNodeByPath( [ 0, 0 ] );
 
-				writer.insertElement( 'paragraph', null, Position.createAt( tableCell, 'end' ) );
-				writer.setSelection( Range.createIn( tableCell ) );
+				writer.insertElement( 'paragraph', null, writer.createPositionAt( tableCell, 'end' ) );
+				writer.setSelection( writer.createRangeIn( tableCell ) );
 
 				// Do some change in the view while inside model change.
 				editor.editing.view.change( writer => {
@@ -248,7 +246,7 @@ describe( 'TableCell post-fixer', () => {
 		const table = root.getChild( 0 );
 
 		model.change( writer => {
-			writer.remove( Range.createOn( table.getNodeByPath( [ 0, 0, 1 ] ) ) );
+			writer.remove( writer.createRangeOn( table.getNodeByPath( [ 0, 0, 1 ] ) ) );
 		} );
 
 		expect( formatTable( getViewData( view, { withoutSelection: true } ) ) ).to.equal( formattedViewTable( [
@@ -263,11 +261,11 @@ describe( 'TableCell post-fixer', () => {
 
 		// Replace table cell contents with paragraph - as model.deleteContent() does.
 		model.change( writer => {
-			writer.remove( Range.createIn( tableCell ) );
+			writer.remove( writer.createRangeIn( tableCell ) );
 
 			const paragraph = writer.createElement( 'paragraph' );
 
-			writer.insert( paragraph, Position.createAt( tableCell, 0 ) );
+			writer.insert( paragraph, writer.createPositionAt( tableCell, 0 ) );
 
 			// Set selection to newly created paragraph.
 			writer.setSelection( paragraph, 0 );

+ 2 - 3
packages/ckeditor5-table/tests/tabletoolbar.js

@@ -12,7 +12,6 @@ import global from '@ckeditor/ckeditor5-utils/src/dom/global';
 import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
 import ButtonView from '@ckeditor/ckeditor5-ui/src/button/buttonview';
 import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
-import Range from '@ckeditor/ckeditor5-engine/src/model/range';
 import View from '@ckeditor/ckeditor5-ui/src/view';
 import { setData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model';
 import WidgetToolbarRepository from '@ckeditor/ckeditor5-widget/src/widgettoolbarrepository';
@@ -143,7 +142,7 @@ describe( 'TableToolbar', () => {
 				model.change( writer => {
 					// Select the <tableCell>[bar]</tableCell>
 					writer.setSelection(
-						Range.createOn( doc.getRoot().getChild( 1 ).getChild( 0 ).getChild( 0 ).getChild( 0 ) )
+						writer.createRangeOn( doc.getRoot().getNodeByPath( [ 1, 0, 0, 0 ] ) )
 					);
 				} );
 
@@ -189,7 +188,7 @@ describe( 'TableToolbar', () => {
 				model.change( writer => {
 					// Select the <paragraph>[...]</paragraph>
 					writer.setSelection(
-						Range.createIn( doc.getRoot().getChild( 0 ) )
+						writer.createRangeIn( doc.getRoot().getChild( 0 ) )
 					);
 				} );