Przeglądaj źródła

Fixed markers manual test, unified data in marker conversion and selection marker conversion.

Szymon Kupś 8 lat temu
rodzic
commit
46f2fc54ba

+ 3 - 3
packages/ckeditor5-engine/src/conversion/buildmodelconverter.js

@@ -297,7 +297,7 @@ class ModelConverterBuilder {
 	 * Also, descriptor creator function can be provided:
 	 *
 	 *		buildModelConverter.for( dispatcher ).fromMarker( 'search:blue' ).toVirtualSelection( data => {
-	 *			const color = data.name.split( ':' )[ 1 ];
+	 *			const color = data.markerName.split( ':' )[ 1 ];
 	 *
 	 *			return { class: 'search-' + color };
 	 *		} );
@@ -423,8 +423,8 @@ export default function buildModelConverter() {
 /**
  * @typedef MarkerViewElementCreatorData
  * @param {Object} data Additional information about the change.
- * @param {String} data.name Marker name.
- * @param {module:engine/model/range~Range} data.range Marker range.
+ * @param {String} data.markerName Marker name.
+ * @param {module:engine/model/range~Range} data.markerRange Marker range.
  * @param {Boolean} data.isOpening Defines if currently converted element is a beginning or end of the marker range.
  * @param {module:engine/conversion/modelconsumable~ModelConsumable} consumable Values to consume.
  * @param {Object} conversionApi Conversion interface to be used by callback, passed in `ModelConversionDispatcher` constructor.

+ 1 - 1
packages/ckeditor5-engine/src/conversion/model-selection-to-view-converters.js

@@ -177,7 +177,7 @@ export function convertSelectionMarker( selectionDescriptor ) {
 		}
 
 		const viewElement = virtualSelectionDescriptorToAttributeElement( descriptor );
-		const consumableName = 'selectionMarker:' + data.name;
+		const consumableName = 'selectionMarker:' + data.markerName;
 
 		wrapCollapsedSelectionPosition( data.selection, conversionApi.viewSelection, viewElement, consumable, consumableName );
 	};

+ 2 - 1
packages/ckeditor5-engine/src/conversion/modelconversiondispatcher.js

@@ -359,7 +359,8 @@ export default class ModelConversionDispatcher {
 		for ( const marker of markers ) {
 			const data = {
 				selection,
-				name: marker.name
+				markerName: marker.name,
+				markerRange: marker.getRange()
 			};
 
 			if ( consumable.test( selection, 'selectionMarker:' + marker.name ) ) {

+ 1 - 1
packages/ckeditor5-engine/tests/conversion/model-selection-to-view-converters.js

@@ -269,7 +269,7 @@ describe( 'model-selection-to-view-converters', () => {
 
 			it( 'in marker - using virtual selection descriptor creator', () => {
 				dispatcher.on( 'selectionMarker:marker2', convertSelectionMarker(
-					data => ( { 'class': data.name } )
+					data => ( { 'class': data.markerName } )
 				) );
 
 				setModelData( modelDoc, 'foobar' );

+ 48 - 48
packages/ckeditor5-engine/tests/manual/markers.js

@@ -27,63 +27,63 @@ ClassicEditor.create( document.querySelector( '#editor' ), {
 	plugins: [ Enter, Typing, Paragraph, Bold, Italic, List, Heading, Undo ],
 	toolbar: [ 'headings', 'bold', 'italic', 'bulletedList', 'numberedList', 'undo', 'redo' ]
 } )
-.then( editor => {
-	window.editor = editor;
-	model = window.editor.editing.model;
-
-	buildModelConverter().for( editor.editing.modelToView )
-		.fromMarker( 'highlight' )
-		.toVirtualSelection( data => {
-			const color = data.name.split( ':' )[ 1 ];
-
-			return {
-				class: 'h-' + color,
-				priority: 1
-			};
+	.then( editor => {
+		window.editor = editor;
+		model = window.editor.editing.model;
+
+		buildModelConverter().for( editor.editing.modelToView )
+			.fromMarker( 'highlight' )
+			.toVirtualSelection( data => {
+				const color = data.markerName.split( ':' )[ 1 ];
+
+				return {
+					class: 'h-' + color,
+					priority: 1
+				};
+			} );
+
+		window.document.getElementById( 'add-yellow' ).addEventListener( 'mousedown', e => {
+			e.preventDefault();
+			addHighlight( 'yellow' );
 		} );
 
-	window.document.getElementById( 'add-yellow' ).addEventListener( 'mousedown', e => {
-		e.preventDefault();
-		addHighlight( 'yellow' );
-	} );
-
-	window.document.getElementById( 'add-red' ).addEventListener( 'mousedown', e => {
-		e.preventDefault();
-		addHighlight( 'red' );
-	} );
+		window.document.getElementById( 'add-red' ).addEventListener( 'mousedown', e => {
+			e.preventDefault();
+			addHighlight( 'red' );
+		} );
 
-	window.document.getElementById( 'remove-marker' ).addEventListener( 'mousedown', e => {
-		e.preventDefault();
-		removeHighlight();
-	} );
+		window.document.getElementById( 'remove-marker' ).addEventListener( 'mousedown', e => {
+			e.preventDefault();
+			removeHighlight();
+		} );
 
-	window.document.getElementById( 'move-to-start' ).addEventListener( 'mousedown', e => {
-		e.preventDefault();
-		moveSelectionToStart();
-	} );
+		window.document.getElementById( 'move-to-start' ).addEventListener( 'mousedown', e => {
+			e.preventDefault();
+			moveSelectionToStart();
+		} );
 
-	window.document.getElementById( 'move-left' ).addEventListener( 'mousedown', e => {
-		e.preventDefault();
-		moveSelectionByOffset( -1 );
-	} );
+		window.document.getElementById( 'move-left' ).addEventListener( 'mousedown', e => {
+			e.preventDefault();
+			moveSelectionByOffset( -1 );
+		} );
 
-	window.document.getElementById( 'move-right' ).addEventListener( 'mousedown', e => {
-		e.preventDefault();
-		moveSelectionByOffset( 1 );
-	} );
+		window.document.getElementById( 'move-right' ).addEventListener( 'mousedown', e => {
+			e.preventDefault();
+			moveSelectionByOffset( 1 );
+		} );
 
-	model.enqueueChanges( () => {
-		const root = model.getRoot();
-		const range = new Range( new Position( root, [ 0, 10 ] ), new Position( root, [ 1, 5 ] ) );
-		const name = 'highlight:yellow:' + uid();
+		model.enqueueChanges( () => {
+			const root = model.getRoot();
+			const range = new Range( new Position( root, [ 0, 10 ] ), new Position( root, [ 1, 5 ] ) );
+			const name = 'highlight:yellow:' + uid();
 
-		markerNames.push( name );
-		model.markers.set( name, range );
+			markerNames.push( name );
+			model.markers.set( name, range );
+		} );
+	} )
+	.catch( err => {
+		console.error( err.stack );
 	} );
-} )
-.catch( err => {
-	console.error( err.stack );
-} );
 
 function uid() {
 	return _uid++;