Răsfoiți Sursa

Fix: Moving calls to render child views out of the constructor and into the views own render function

Alex Eckermann 7 ani în urmă
părinte
comite
367582a77c

+ 7 - 0
packages/ckeditor5-editor-balloon/src/ballooneditoruiview.js

@@ -33,7 +33,14 @@ export default class BalloonEditorUIView extends EditorUIView {
 		 * @member {module:ui/editableui/inline/inlineeditableuiview~InlineEditableUIView}
 		 */
 		this.editable = new InlineEditableUIView( locale, editableElement );
+	}
 
+	/**
+	 * @inheritDoc
+	 */
+	render() {
+		super.render();
+		
 		this.registerChild( this.editable );
 	}
 

+ 12 - 6
packages/ckeditor5-editor-balloon/tests/ballooneditoruiview.js

@@ -25,15 +25,21 @@ describe( 'BalloonEditorUIView', () => {
 				expect( view.editable.locale ).to.equal( locale );
 			} );
 
-			it( 'is registered as a child', () => {
-				const spy = sinon.spy( view.editable, 'destroy' );
-
-				view.render();
-				view.destroy();
-				sinon.assert.calledOnce( spy );
+			it( 'is not rendered', () => {
+				expect( view.editable.isRendered ).to.be.false;
 			} );
 		} );
 	} );
+	
+	describe( 'render()', () => {
+		it( 'editable is registered as a child', () => {
+			const spy = sinon.spy( view.editable, 'destroy' );
+
+			view.render();
+			view.destroy();
+			sinon.assert.calledOnce( spy );
+		} );
+	} );
 
 	describe( 'editableElement', () => {
 		it( 'returns editable\'s view element', () => {