瀏覽代碼

Inline is() checks in view and model elements.

Maciej Gołaszewski 5 年之前
父節點
當前提交
67d8201f33

+ 2 - 4
packages/ckeditor5-engine/src/model/element.js

@@ -116,12 +116,10 @@ export default class Element extends Node {
 	 * @returns {Boolean}
 	 */
 	is( type, name = null ) {
-		const cutType = type.replace( /^model:/, '' );
-
 		if ( !name ) {
-			return cutType == 'element' || cutType == this.name || super.is( type );
+			return type == 'element' || type == this.name || type == 'node';
 		} else {
-			return cutType == 'element' && name == this.name;
+			return type == 'element' && name == this.name;
 		}
 	}
 

+ 1 - 1
packages/ckeditor5-engine/src/model/liveposition.js

@@ -80,7 +80,7 @@ export default class LivePosition extends Position {
 	 * @returns {Boolean}
 	 */
 	is( type ) {
-		return type == 'livePosition' || type == 'model:livePosition' || super.is( type );
+		return type == 'livePosition' || type == 'model:livePosition' || type == 'position' || type == 'model:position';
 	}
 
 	/**

+ 1 - 1
packages/ckeditor5-engine/src/model/liverange.js

@@ -57,7 +57,7 @@ export default class LiveRange extends Range {
 	 * @returns {Boolean}
 	 */
 	is( type ) {
-		return type == 'liveRange' || type == 'model:liveRange' || super.is( type );
+		return type == 'liveRange' || type == 'model:liveRange' || type == 'range' || type == 'model:range';
 	}
 
 	/**

+ 1 - 1
packages/ckeditor5-engine/src/model/text.js

@@ -82,7 +82,7 @@ export default class Text extends Node {
 	 * @returns {Boolean}
 	 */
 	is( type ) {
-		return type == 'text' || type == 'model:text' || super.is( type );
+		return type == 'text' || type == 'node';
 	}
 
 	/**

+ 2 - 4
packages/ckeditor5-engine/src/view/attributeelement.js

@@ -157,12 +157,10 @@ export default class AttributeElement extends Element {
 	 * @returns {Boolean}
 	 */
 	is( type, name = null ) {
-		const cutType = type && type.replace( /^view:/, '' );
-
 		if ( !name ) {
-			return cutType == 'attributeElement' || super.is( type );
+			return type == 'attributeElement' || type == 'element' || type == this.name || type == 'node';
 		} else {
-			return ( cutType == 'attributeElement' && name == this.name ) || super.is( type, name );
+			return ( type == 'attributeElement' && name == this.name ) || ( type == 'element' && name == this.name );
 		}
 	}
 

+ 2 - 3
packages/ckeditor5-engine/src/view/containerelement.js

@@ -83,11 +83,10 @@ export default class ContainerElement extends Element {
 	 * @returns {Boolean}
 	 */
 	is( type, name = null ) {
-		const cutType = type && type.replace( /^view:/, '' );
 		if ( !name ) {
-			return cutType == 'containerElement' || super.is( type );
+			return type == 'containerElement' || type == 'element' || type == this.name || type == 'node';
 		} else {
-			return ( cutType == 'containerElement' && name == this.name ) || super.is( type, name );
+			return ( type == 'containerElement' && name == this.name ) || ( type == 'element' && name == this.name );
 		}
 	}
 }

+ 2 - 3
packages/ckeditor5-engine/src/view/editableelement.js

@@ -95,11 +95,10 @@ export default class EditableElement extends ContainerElement {
 	 * @returns {Boolean}
 	 */
 	is( type, name = null ) {
-		const cutType = type && type.replace( /^view:/, '' );
 		if ( !name ) {
-			return cutType == 'editableElement' || super.is( type );
+			return type == 'editableElement' || type == 'containerElement' || type == 'element' || type == this.name || type == 'node';
 		} else {
-			return ( cutType == 'editableElement' && name == this.name ) || super.is( type, name );
+			return name == this.name && ( type == 'editableElement' || type == 'containerElement' || type == 'element' );
 		}
 	}
 

+ 2 - 3
packages/ckeditor5-engine/src/view/element.js

@@ -176,11 +176,10 @@ export default class Element extends Node {
 	 * @returns {Boolean}
 	 */
 	is( type, name = null ) {
-		const cutType = type.replace( /^view:/, '' );
 		if ( !name ) {
-			return cutType == 'element' || cutType == this.name || super.is( type );
+			return type == 'element' || type == this.name || type == 'node' || type == 'view:node';
 		} else {
-			return cutType == 'element' && name == this.name;
+			return type == 'element' && name == this.name;
 		}
 	}
 

+ 2 - 3
packages/ckeditor5-engine/src/view/emptyelement.js

@@ -74,11 +74,10 @@ export default class EmptyElement extends Element {
 	 * @returns {Boolean}
 	 */
 	is( type, name = null ) {
-		const cutType = type.replace( /^view:/, '' );
 		if ( !name ) {
-			return cutType == 'emptyElement' || super.is( type );
+			return type == 'emptyElement' || type == 'element' || type == this.name || type == 'node';
 		} else {
-			return ( cutType == 'emptyElement' && name == this.name ) || super.is( type, name );
+			return ( type == 'emptyElement' && name == this.name ) || ( type == 'element' && name == this.name );
 		}
 	}
 

+ 4 - 3
packages/ckeditor5-engine/src/view/rooteditableelement.js

@@ -68,11 +68,12 @@ export default class RootEditableElement extends EditableElement {
 	 * @returns {Boolean}
 	 */
 	is( type, name = null ) {
-		const cutType = type.replace( /^view:/, '' );
 		if ( !name ) {
-			return cutType == 'rootElement' || super.is( type );
+			return type == 'rootElement' || type == 'editableElement' || type == 'containerElement' || type == 'element' ||
+				type == this.name || type == 'node';
 		} else {
-			return ( cutType == 'rootElement' && name == this.name ) || super.is( type, name );
+			return name == this.name &&
+				( type == 'rootElement' || type == 'editableElement' || type == 'containerElement' || type == 'element' );
 		}
 	}
 

+ 2 - 3
packages/ckeditor5-engine/src/view/uielement.js

@@ -87,11 +87,10 @@ export default class UIElement extends Element {
 	 * @returns {Boolean}
 	 */
 	is( type, name = null ) {
-		const cutType = type.replace( /^view:/, '' );
 		if ( !name ) {
-			return cutType == 'uiElement' || super.is( type );
+			return type == 'uiElement' || type == 'element' || type == this.name || type == 'node';
 		} else {
-			return ( cutType == 'uiElement' && name == this.name ) || super.is( type, name );
+			return ( type == 'uiElement' && name == this.name ) || ( type == 'element' && name == this.name );
 		}
 	}