Przeglądaj źródła

Using writer to remove custom properties from view element.

Szymon Kupś 7 lat temu
rodzic
commit
d85a2591cc

+ 11 - 10
packages/ckeditor5-engine/src/view/element.js

@@ -521,16 +521,6 @@ export default class Element extends Node {
 	}
 
 	/**
-	 * Removes the custom property stored under the given key.
-	 *
-	 * @param {String|Symbol} key
-	 * @returns {Boolean} Returns true if property was removed.
-	 */
-	removeCustomProperty( key ) {
-		return this._customProperties.delete( key );
-	}
-
-	/**
 	 * Returns an iterator which iterates over this element's custom properties.
 	 * Iterator provides `[ key, value ]` pairs for each stored property.
 	 *
@@ -724,6 +714,17 @@ export default class Element extends Node {
 	}
 
 	/**
+	 * Removes the custom property stored under the given key.
+	 *
+	 * @protected
+	 * @param {String|Symbol} key
+	 * @returns {Boolean} Returns true if property was removed.
+	 */
+	_removeCustomProperty( key ) {
+		return this._customProperties.delete( key );
+	}
+
+	/**
 	 * Returns block {@link module:engine/view/filler filler} offset or `null` if block filler is not needed.
 	 *
 	 * @abstract

+ 4 - 0
packages/ckeditor5-engine/src/view/writer.js

@@ -210,6 +210,10 @@ export default class Writer {
 		element._setCustomProperty( key, value );
 	}
 
+	removeCustomProperty( key, element ) {
+		element._removeCustomProperty( key );
+	}
+
 	/**
 	 * Breaks attribute nodes at provided position or at boundaries of provided range. It breaks attribute elements inside
 	 * up to a container element.

+ 2 - 2
packages/ckeditor5-engine/tests/view/element.js

@@ -986,8 +986,8 @@ describe( 'Element', () => {
 			expect( el.getCustomProperty( 'bar' ) ).to.equal( 'baz' );
 			expect( el.getCustomProperty( symbol ) ).to.equal( 'test' );
 
-			el.removeCustomProperty( 'bar' );
-			el.removeCustomProperty( symbol );
+			el._removeCustomProperty( 'bar' );
+			el._removeCustomProperty( symbol );
 
 			expect( el.getCustomProperty( 'bar' ) ).to.be.undefined;
 			expect( el.getCustomProperty( symbol ) ).to.be.undefined;