8
0
Prechádzať zdrojové kódy

Docs: observer abstract class.

Piotr Jasiun 10 rokov pred
rodič
commit
ba9fe41229

+ 2 - 0
packages/ckeditor5-engine/src/treeview/converter.js

@@ -11,6 +11,8 @@ import ViewElement from './element.js';
 // Converter is a class in the future it may take a configuration in the constructor (e.g. what should be inserted into empty elements).
 export default class Converter {
 	constructor() {
+		// Note that using WeakMap prevent memory leaks: when the coverter will be destroyed
+		// all referenced between View and DOM will be removed.
 		this._domToViewMapping = new WeakMap();
 		this._viewToDomMapping = new WeakMap();
 	}

+ 21 - 0
packages/ckeditor5-engine/src/treeview/observer/observer.js

@@ -5,16 +5,37 @@
 
 'use strict';
 
+/**
+ * Abstract base observer class. Observers are classes which observe changes on DOM elements, do the primary processing
+ * and fire events on the {@link treeView.TreeView} objects.
+ *
+ * @abstract
+ * @class treeView.Observer
+ */
 export default class Observer {
 	/**
+	 * Attach observers and linsters to DOM elements. This method is called when then observer is added to the
+	 * {@link treeView.TreeView} and after {@link treeView.TreeView#render rendering} to reattach observers and linsters.
+	 *
+	 * @see treeView.Observer#detach
+	 *
 	 * @method attach
 	 */
 
 	/**
+	 * Detach observers and linsters from the DOM elements. This method is called before
+	 * {@link treeView.TreeView#render rendering} to prevent fireing events during rendering and when the editor is
+	 * destroyed.
+	 *
+	 * @see treeView.Observer#attach
+	 *
 	 * @method detach
 	 */
 
 	/**
+	 * Init the observer class, cache all needed {@link treeView.TreeView} properties, create objects.
+	 * This method do not {@link treeView.Observer#attach attach} listeners to the DOM.
+	 *
 	 * @method init
 	 * @param {treeView.TreeView}
 	 */