8
0
Piotr Jasiun 7 лет назад
Родитель
Сommit
b38750a823

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

@@ -116,7 +116,7 @@ export default class Document {
 	 * instance connected with the executed changes block.
 	 *
 	 * Note that registering a post-fixer won't re-render the editor's view. If the view should change after registering the post-fixer then
-	 * it should be done manually calling `view.render( { force: true } );`.
+	 * it should be done manually calling `view.forceRender();`.
 	 *
 	 * @param {Function} postFixer
 	 */

+ 2 - 2
packages/ckeditor5-engine/src/view/observer/focusobserver.js

@@ -37,7 +37,7 @@ export default class FocusObserver extends DomEventObserver {
 			// overwrite new DOM selection with selection from the view.
 			// See https://github.com/ckeditor/ckeditor5-engine/issues/795 for more details.
 			// Long timeout is needed to solve #676 and https://github.com/ckeditor/ckeditor5-engine/issues/1157 issues.
-			this._renderTimeoutId = setTimeout( () => view.render( { force: true } ), 50 );
+			this._renderTimeoutId = setTimeout( () => view.forceRender(), 50 );
 		} );
 
 		document.on( 'blur', ( evt, data ) => {
@@ -47,7 +47,7 @@ export default class FocusObserver extends DomEventObserver {
 				document.isFocused = false;
 
 				// Re-render the document to update view elements.
-				view.render( { force: true } );
+				view.forceRender();
 			}
 		} );
 

+ 1 - 1
packages/ckeditor5-engine/src/view/observer/mutationobserver.js

@@ -248,7 +248,7 @@ export default class MutationObserver extends Observer {
 
 		// If nothing changes on `mutations` event, at this point we have "dirty DOM" (changed) and de-synched
 		// view (which has not been changed). In order to "reset DOM" we render the view again.
-		this.view.render( { force: true } );
+		this.view.forceRender();
 
 		function sameNodes( child1, child2 ) {
 			// First level of comparison (array of children vs array of children) – use the Lodash's default behavior.

+ 1 - 1
packages/ckeditor5-engine/src/view/observer/selectionobserver.js

@@ -166,7 +166,7 @@ export default class SelectionObserver extends Observer {
 		if ( this.selection.isSimilar( newViewSelection ) ) {
 			// If selection was equal and we are at this point of algorithm, it means that it was incorrect.
 			// Just re-render it, no need to fire any events, etc.
-			this.view.render( { force: true } );
+			this.view.forceRender();
 		} else {
 			const data = {
 				oldSelection: this.selection,

+ 12 - 7
packages/ckeditor5-engine/src/view/view.js

@@ -183,6 +183,14 @@ export default class View {
 		} );
 	}
 
+	_disablRendering( flag ) {
+		this._renderingDisabled = flag;
+
+		if ( flag == false ) {
+			this.change( () => {} );
+		}
+	}
+
 	/**
 	 * Attaches DOM root element to the view element and enable all observers on that element.
 	 * Also {@link module:engine/view/renderer~Renderer#markToSync mark element} to be synchronized with the view
@@ -314,7 +322,7 @@ export default class View {
 
 			if ( editable ) {
 				this.domConverter.focus( editable );
-				this.render( { force: true } );
+				this.forceRender();
 			} else {
 				/**
 				 * Before focusing view document, selection should be placed inside one of the view's editables.
@@ -413,12 +421,9 @@ export default class View {
 	 * @param {Object} [options] Rendering options
 	 * @param {Boolean} [options.force=false] A flag ensures that the view will re-render even when nothing has changed.
 	 */
-	render( options = {} ) {
-		if ( options.force ) {
-			this._hasChangedSinceTheLastRendering = true;
-		}
-
-		this.change( () => { } );
+	forceRender() {
+		this._hasChangedSinceTheLastRendering = true;
+		this.change( () => {} );
 	}
 
 	/**