8
0
Просмотр исходного кода

Add documentation for view's classes.

Mateusz Samsel 6 лет назад
Родитель
Сommit
7ec75cef32

+ 7 - 0
packages/ckeditor5-engine/src/model/model.js

@@ -728,10 +728,17 @@ export default class Model {
 	 * There is also available `model:` prefix in each case, which gives more specific results.
 	 * It helps to distinguish model's classes from view's. Few examples how to use this method you can find below:
 	 *
+	 * 	const model = new Model();
 	 * 	model.is( 'model' ) // return true
+	 *
+	 * 	const range = new LiveRange( startPosition )
 	 * 	range.is( 'range' ) // return true
+	 * 	range.is( 'liveRange' ) // return true
 	 * 	range.is( 'model:range' ) // return true
+	 * 	range.is( 'model:liveRange' ) // return true
 	 * 	range.is( 'view:range' ) // return false
+	 *
+	 * 	const document = new Document();
 	 * 	document.is( 'model:document' ) // return true
 	 *
 	 * See also {@link module:engine/model/node~Node#is `Node#is()`} for some more details related to elements.

+ 2 - 0
packages/ckeditor5-engine/src/view/document.js

@@ -135,6 +135,8 @@ export default class Document {
 	/**
 	 * Checks whether given object is of `document` type.
 	 *
+	 * Read more at {@link module:engine/view/view~View#is `View#is()`}.
+	 *
 	 * @param {String} type
 	 * @returns {Boolean}
 	 */

+ 1 - 1
packages/ckeditor5-engine/src/view/documentfragment.js

@@ -96,7 +96,7 @@ export default class DocumentFragment {
 	/**
 	 * Checks whether given view tree object is of given type.
 	 *
-	 * Read more in {@link module:engine/view/node~Node#is}.
+	 * Read more in {@link module:engine/view/node~Node#is `Node#is()`} and {@link module:engine/view/view~View#is `View#is()`}.
 	 *
 	 * @param {String} type
 	 * @returns {Boolean}

+ 2 - 0
packages/ckeditor5-engine/src/view/documentselection.js

@@ -289,6 +289,8 @@ export default class DocumentSelection {
 	 *		selection.is( 'model:selection' ); // false
 	 *		selection.is( 'element' ); // false
 	 *
+	 * Read more at {@link module:engine/view/view~View#is `View#is()`}.
+	 *
 	 * @param {String} type
 	 * @returns {Boolean}
 	 */

+ 2 - 0
packages/ckeditor5-engine/src/view/domconverter.js

@@ -108,6 +108,8 @@ export default class DomConverter {
 	/**
 	 * Checks whether given object is of `domConverter` type.
 	 *
+	 * Read more at {@link module:engine/view/view~View#is `View#is()`}.
+	 *
 	 * @param {String} type
 	 * @returns {Boolean}
 	 */

+ 2 - 0
packages/ckeditor5-engine/src/view/downcastwriter.js

@@ -57,6 +57,8 @@ export default class DowncastWriter {
 	/**
 	 * Checks whether given object is of `downcastWriter` type.
 	 *
+	 * Read more at {@link module:engine/view/view~View#is `View#is()`}.
+	 *
 	 * @param {String} type
 	 * @returns {Boolean}
 	 */

+ 1 - 1
packages/ckeditor5-engine/src/view/element.js

@@ -155,7 +155,7 @@ export default class Element extends Node {
 	 *		obj.is( 'text' ); // false
 	 *		obj.is( 'element', 'img' ); // false
 	 *
-	 * Read more in {@link module:engine/view/node~Node#is `Node#is()`}.
+	 * Read more in {@link module:engine/view/node~Node#is `Node#is()`} and {@link module:engine/view/view~View#is `View#is()`}.
 	 *
 	 * @param {String} type
 	 * @param {String} [name] Element name.

+ 2 - 0
packages/ckeditor5-engine/src/view/matcher.js

@@ -178,6 +178,8 @@ export default class Matcher {
 	/**
 	 * Checks whether given object is of `matcher` type.
 	 *
+	 * Read more at {@link module:engine/view/view~View#is `View#is()`}.
+	 *
 	 * @param {String} type
 	 * @returns {Boolean}
 	 */

+ 9 - 2
packages/ckeditor5-engine/src/view/node.js

@@ -297,14 +297,21 @@ export default class Node {
 	 * that can be either text node or element. This method can be used to check what kind of object is returned.
 	 *
 	 *		obj.is( 'node' ); // true for any node, false for document fragment and text fragment
+	 *		obj.is( 'view:node' ); // true for any node, false for document fragment and text fragment
 	 *		obj.is( 'documentFragment' ); // true for document fragment, false for any node
+	 *		obj.is( 'view:documentFragment' ); // true for document fragment, false for any node
 	 *		obj.is( 'element' ); // true for any element, false for text node or document fragment
+	 *		obj.is( 'ciew:element' ); // true for any element, false for text node or document fragment
 	 *		obj.is( 'element', 'p' ); // true only for element which name is 'p'
+	 *		obj.is( 'view:element', 'p' ); // true only for element which name is 'p'
 	 *		obj.is( 'p' ); // shortcut for obj.is( 'element', 'p' )
+	 *		obj.is( 'view:p' ); // shortcut for obj.is( 'view:element', 'p' )
 	 *		obj.is( 'text' ); // true for text node, false for element and document fragment
+	 *		obj.is( 'view:text' ); // true for text node, false for element and document fragment
 	 *
-	 * @param {'element'|'containerElement'|'attributeElement'|'emptyElement'|'uiElement'|
-	 * 'rootElement'|'documentFragment'|'text'|'textProxy'} type
+	 * Read more at {@link module:engine/view/view~View#is `View#is()`}.
+	 *
+	 * @param {String} type
 	 * @returns {Boolean}
 	 */
 	is( type ) {

+ 2 - 0
packages/ckeditor5-engine/src/view/position.js

@@ -209,6 +209,8 @@ export default class Position {
 	/**
 	 * Checks whether given object is of `position` type.
 	 *
+	 * Read more at {@link module:engine/view/view~View#is `View#is()`}.
+	 *
 	 * @param {String} type
 	 * @returns {Boolean}
 	 */

+ 2 - 0
packages/ckeditor5-engine/src/view/range.js

@@ -397,6 +397,8 @@ export default class Range {
 	/**
 	 * Checks whether given object is of `range` type.
 	 *
+	 * Read more at {@link module:engine/view/view~View#is `View#is()`}.
+	 *
 	 * @param {String} type
 	 * @returns {Boolean}
 	 */

+ 2 - 0
packages/ckeditor5-engine/src/view/renderer.js

@@ -121,6 +121,8 @@ export default class Renderer {
 	/**
 	 * Checks whether given object is of `renderer` type.
 	 *
+	 * Read more at {@link module:engine/view/view~View#is `View#is()`}.
+	 *
 	 * @param {String} type
 	 * @returns {Boolean}
 	 */

+ 3 - 0
packages/ckeditor5-engine/src/view/selection.js

@@ -604,9 +604,12 @@ export default class Selection {
 	 *		const selection = new Selection( ... );
 	 *
 	 *		selection.is( 'selection' ); // true
+	 *		selection.is( 'view:selection' ); // true
 	 *		selection.is( 'node' ); // false
 	 *		selection.is( 'element' ); // false
 	 *
+	 * Read more at {@link module:engine/view/view~View#is `View#is()`}.
+	 *
 	 * @param {String} type
 	 * @returns {Boolean}
 	 */

+ 1 - 1
packages/ckeditor5-engine/src/view/textproxy.js

@@ -143,7 +143,7 @@ export default class TextProxy {
 	/**
 	 * Checks whether given view tree object is of given type.
 	 *
-	 * Read more in {@link module:engine/view/node~Node#is}.
+	 * Read more in {@link module:engine/view/node~Node#is `Node#is()`} and Read {@link module:engine/view/view~View#is `View#is()`}.
 	 *
 	 * @param {String} type
 	 * @returns {Boolean}

+ 2 - 0
packages/ckeditor5-engine/src/view/treewalker.js

@@ -147,6 +147,8 @@ export default class TreeWalker {
 	/**
 	 * Checks whether given object is of `treeWalker` type.
 	 *
+	 * Read more at {@link module:engine/view/view~View#is `View#is()`}.
+	 *
 	 * @param {String} type
 	 * @returns {Boolean}
 	 */

+ 2 - 0
packages/ckeditor5-engine/src/view/upcastwriter.js

@@ -38,6 +38,8 @@ export default class UpcastWriter {
 	/**
 	 * Checks whether given object is of `upcastWriter` type.
 	 *
+	 * Read more at {@link module:engine/view/view~View#is `View#is()`}.
+	 *
 	 * @param {String} type
 	 * @returns {Boolean}
 	 */

+ 21 - 0
packages/ckeditor5-engine/src/view/view.js

@@ -655,6 +655,27 @@ export default class View {
 	/**
 	 * Checks whether given object is of `view` type.
 	 *
+	 * All classes related to {@link module:engine/view/view~View} might contain `is` method,
+	 * which checks if given object belong to specific type. It might simplify your code for cases,
+	 * when you want to test unknown object for specific type.
+	 * Instead of using `instanceof` and importing entire class for testing,
+	 * there might be used `is` method which test for given name.
+	 * There is also available `view:` prefix in each case, which gives more specific results.
+	 * It helps to distinguish view's classes from model's. Few examples how to use this method you can find below:
+	 *
+	 * 	const view = new View()
+	 * 	view.is( 'view' ) // return true
+	 *
+	 * 	const range = new Range( startPosition )
+	 * 	range.is( 'range' ) // return true
+	 * 	range.is( 'view:range' ) // return true
+	 * 	range.is( 'model:range' ) // return false
+	 *
+	 * 	const document = new Document();
+	 * 	document.is( 'model:document' ) // return true
+	 *
+	 * See also {@link module:engine/view/node~Node#is `Node#is()`} for some more details related to elements.
+	 *
 	 * @param {String} type
 	 * @returns {Boolean}
 	 */