Browse Source

Moved isOpening parameter to data object.

Oskar Wróbel 8 years ago
parent
commit
866adf8912

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

@@ -273,13 +273,13 @@ class ModelConverterBuilder {
 	 *			.fromMarker( 'search' )
 	 *			.fromMarker( 'search' )
 	 *			.toStamp( ( data ) => new UIElement( 'span', { 'data-name': data.marker.getName() ) );
 	 *			.toStamp( ( data ) => new UIElement( 'span', { 'data-name': data.marker.getName() ) );
 	 *
 	 *
-	 * Creator function provides parameter `isOpening` which defined if currently converted element is a beginning or end of
-	 * the marker range. This makes possible to create different opening and closing stamp.
+	 * Creator function provides additional `data.isOpening` parameter which defined if currently converted element is
+	 * a beginning or end of the marker range. This makes possible to create different opening and closing stamp.
 	 *
 	 *
 	 *		buildModelConverter().for( dispatcher )
 	 *		buildModelConverter().for( dispatcher )
 	 *			.fromMarker( 'search' )
 	 *			.fromMarker( 'search' )
-	 *			.toStamp( ( data, isOpening ) => {
-	 *				if ( isOpening ) {
+	 *			.toStamp( ( data ) => {
+	 *				if ( data.isOpening ) {
 	 *					return new UIElement( 'span', { 'data-name': data.marker.getName(), 'data-start': true ) );
 	 *					return new UIElement( 'span', { 'data-name': data.marker.getName(), 'data-start': true ) );
 	 *				}
 	 *				}
 	 *
 	 *
@@ -408,7 +408,7 @@ export default function buildModelConverter() {
  * @param {Object} data Additional information about the change.
  * @param {Object} data Additional information about the change.
  * @param {String} data.name Marker name.
  * @param {String} data.name Marker name.
  * @param {module:engine/model/range~Range} data.range Marker range.
  * @param {module:engine/model/range~Range} data.range Marker range.
- * @param {Boolean} isOpening Defines if currently converted element is a beginning or end of the 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 {module:engine/conversion/modelconsumable~ModelConsumable} consumable Values to consume.
  * @param {Object} conversionApi Conversion interface to be used by callback, passed in `ModelConversionDispatcher` constructor.
  * @param {Object} conversionApi Conversion interface to be used by callback, passed in `ModelConversionDispatcher` constructor.
  */
  */

+ 10 - 6
packages/ckeditor5-engine/src/conversion/model-to-view-converters.js

@@ -109,9 +109,11 @@ export function insertUIElement( elementCreator ) {
 			viewStartElement = elementCreator.clone( true );
 			viewStartElement = elementCreator.clone( true );
 			viewEndElement = elementCreator.clone( true );
 			viewEndElement = elementCreator.clone( true );
 		} else {
 		} else {
-			const isOpening = true;
-			viewStartElement = elementCreator( data, isOpening, consumable, conversionApi );
-			viewEndElement = elementCreator( data, !isOpening, consumable, conversionApi );
+			data.isOpening = true;
+			viewStartElement = elementCreator( data, consumable, conversionApi );
+
+			data.isOpening = false;
+			viewEndElement = elementCreator( data, consumable, conversionApi );
 		}
 		}
 
 
 		if ( !viewStartElement || !viewEndElement ) {
 		if ( !viewStartElement || !viewEndElement ) {
@@ -458,9 +460,11 @@ export function removeUIElement( elementCreator ) {
 			viewStartElement = elementCreator.clone( true );
 			viewStartElement = elementCreator.clone( true );
 			viewEndElement = elementCreator.clone( true );
 			viewEndElement = elementCreator.clone( true );
 		} else {
 		} else {
-			const isOpening = true;
-			viewStartElement = elementCreator( data, isOpening, consumable, conversionApi );
-			viewEndElement = elementCreator( data, !isOpening, consumable, conversionApi );
+			data.isOpening = true;
+			viewStartElement = elementCreator( data, consumable, conversionApi );
+
+			data.isOpening = false;
+			viewEndElement = elementCreator( data, consumable, conversionApi );
 		}
 		}
 
 
 		if ( !viewStartElement || !viewEndElement ) {
 		if ( !viewStartElement || !viewEndElement ) {

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

@@ -879,8 +879,8 @@ describe( 'model-to-view-converters', () => {
 			} );
 			} );
 
 
 			it( 'should insert and remove different opening and ending element', () => {
 			it( 'should insert and remove different opening and ending element', () => {
-				function creator( data, isOpening ) {
-					if ( isOpening ) {
+				function creator( data ) {
+					if ( data.isOpening ) {
 						return new ViewUIElement( 'span', { 'class': data.name, 'data-start': true } );
 						return new ViewUIElement( 'span', { 'class': data.name, 'data-start': true } );
 					}
 					}