8
0
Prechádzať zdrojové kódy

WIP - changing view.render() to view.forceRender().

Maciej Bukowski 6 rokov pred
rodič
commit
20d2c1c374

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

@@ -418,6 +418,11 @@ export default class View {
 		return callbackResult;
 	}
 
+	render() {
+		console.log( 'deprecated usage.' );
+		this.forceRender();
+	}
+
 	/**
 	 * Renders {@link module:engine/view/document~Document view document} to DOM. If any view changes are
 	 * currently in progress, rendering will start after all {@link #change change blocks} are processed.

+ 16 - 29
packages/ckeditor5-engine/tests/view/view/view.js

@@ -204,7 +204,7 @@ describe( 'view', () => {
 
 		it( 'should be disabled and re-enabled on render', () => {
 			const observerMock = view.addObserver( ObserverMock );
-			view.render( { force: true } );
+			view.forceRender();
 
 			sinon.assert.calledOnce( observerMock.disable );
 			sinon.assert.calledOnce( view._renderer.render );
@@ -327,7 +327,7 @@ describe( 'view', () => {
 
 		it( 'should focus editable with selection', () => {
 			const converterFocusSpy = testUtils.sinon.spy( view.domConverter, 'focus' );
-			const renderSpy = testUtils.sinon.spy( view, 'render' );
+			const renderSpy = testUtils.sinon.spy( view, 'forceRender' );
 
 			view.focus();
 
@@ -344,7 +344,7 @@ describe( 'view', () => {
 
 		it( 'should not focus if document is already focused', () => {
 			const converterFocusSpy = testUtils.sinon.spy( view.domConverter, 'focus' );
-			const renderSpy = testUtils.sinon.spy( view, 'render' );
+			const renderSpy = testUtils.sinon.spy( view, 'forceRender' );
 			viewDocument.isFocused = true;
 
 			view.focus();
@@ -377,37 +377,24 @@ describe( 'view', () => {
 		} );
 	} );
 
-	describe( 'render()', () => {
+	describe( 'forceRender()', () => {
 		it( 'disable observers, renders and enable observers', () => {
 			const observerMock = view.addObserver( ObserverMock );
 			const renderStub = sinon.stub( view._renderer, 'render' );
 
-			view.render( { force: true } );
+			view.forceRender();
 
 			sinon.assert.callOrder( observerMock.disable, renderStub, observerMock.enable );
 		} );
 
-		it( 'should not fire `render` and `layoutChanged` without the `force` flag if there were no changes', () => {
+		it( 'should fire `render` and `layoutChanged` even if there were no changes', () => {
 			const renderSpy = sinon.spy();
 			const layoutChangedSpy = sinon.spy();
 
 			view.on( 'render', renderSpy );
 			view.document.on( 'layoutChanged', layoutChangedSpy );
 
-			view.render();
-
-			sinon.assert.notCalled( renderSpy );
-			sinon.assert.notCalled( layoutChangedSpy );
-		} );
-
-		it( 'should fire `render` and `layoutChanged` if there were no changes but the `force` flag was set', () => {
-			const renderSpy = sinon.spy();
-			const layoutChangedSpy = sinon.spy();
-
-			view.on( 'render', renderSpy );
-			view.document.on( 'layoutChanged', layoutChangedSpy );
-
-			view.render( { force: true } );
+			view.forceRender();
 
 			sinon.assert.calledOnce( renderSpy );
 			sinon.assert.calledOnce( layoutChangedSpy );
@@ -421,7 +408,7 @@ describe( 'view', () => {
 			view.document.on( 'layoutChanged', layoutChangedSpy );
 
 			view.document.selection._setTo( null );
-			view.render();
+			view.forceRender();
 
 			sinon.assert.calledOnce( renderSpy );
 			sinon.assert.calledOnce( layoutChangedSpy );
@@ -440,7 +427,7 @@ describe( 'view', () => {
 
 			createViewRoot( viewDocument, 'div', 'main' );
 			view.attachDomRoot( domDiv );
-			view.render( { force: true } );
+			view.forceRender();
 
 			expect( domDiv.childNodes.length ).to.equal( 1 );
 			expect( isBlockFiller( domDiv.childNodes[ 0 ], BR_FILLER ) ).to.be.true;
@@ -458,7 +445,7 @@ describe( 'view', () => {
 			view.attachDomRoot( domDiv );
 
 			viewDocument.getRoot()._appendChild( new ViewElement( 'p' ) );
-			view.render();
+			view.forceRender();
 
 			expect( domDiv.childNodes.length ).to.equal( 1 );
 			expect( domDiv.childNodes[ 0 ].tagName ).to.equal( 'P' );
@@ -477,13 +464,13 @@ describe( 'view', () => {
 
 			const viewP = new ViewElement( 'p', { class: 'foo' } );
 			viewRoot._appendChild( viewP );
-			view.render();
+			view.forceRender();
 
 			expect( domRoot.childNodes.length ).to.equal( 1 );
 			expect( domRoot.childNodes[ 0 ].getAttribute( 'class' ) ).to.equal( 'foo' );
 
 			viewP._setAttribute( 'class', 'bar' );
-			view.render();
+			view.forceRender();
 
 			expect( domRoot.childNodes.length ).to.equal( 1 );
 			expect( domRoot.childNodes[ 0 ].getAttribute( 'class' ) ).to.equal( 'bar' );
@@ -529,7 +516,7 @@ describe( 'view', () => {
 				} ).to.throw( CKEditorError, /^cannot-change-view-tree/ );
 			} );
 
-			view.render();
+			view.forceRender();
 			domDiv.remove();
 		} );
 
@@ -581,12 +568,12 @@ describe( 'view', () => {
 			view.on( 'render', eventSpy );
 
 			view.change( () => {
-				view.render( { force: true } );
+				view.forceRender();
 				view.change( writer => {
 					writer.setSelection( null );
-					view.render( { force: true } );
+					view.forceRender();
 				} );
-				view.render( { force: true } );
+				view.forceRender();
 			} );
 
 			sinon.assert.calledOnce( renderSpy );