Sfoglia il codice sorgente

Aligned EditableUIView to the View#render API.

Aleksander Nowodzinski 8 anni fa
parent
commit
424e0a55e1

+ 6 - 7
packages/ckeditor5-ui/src/editableui/editableuiview.js

@@ -8,7 +8,6 @@
  */
 
 import View from '../view';
-import Template from '../template';
 
 /**
  * The editable UI view class.
@@ -32,7 +31,7 @@ export default class EditableUIView extends View {
 			this.element = this.editableElement = editableElement;
 		}
 
-		this.template = new Template( {
+		this.setTemplate( {
 			tag: 'div',
 			attributes: {
 				class: [
@@ -77,17 +76,17 @@ export default class EditableUIView extends View {
 	}
 
 	/**
-	 * Initializes the view by either applying the {@link #template} to the existing
+	 * Renders the view by either applying the {@link #template} to the existing
 	 * {@link #editableElement} or assigning {@link #element} as {@link #editableElement}.
 	 */
-	init() {
+	render() {
+		super.render();
+
 		if ( this.externalElement ) {
-			this.template.apply( this.externalElement );
+			this.template.apply( this.element = this.externalElement );
 		} else {
 			this.editableElement = this.element;
 		}
-
-		super.init();
 	}
 
 	/**

+ 8 - 5
packages/ckeditor5-ui/tests/editableui/editableuiview.js

@@ -19,7 +19,8 @@ describe( 'EditableUIView', () => {
 		locale = new Locale( 'en' );
 		editableElement = document.createElement( 'div' );
 
-		return ( view = new EditableUIView( locale ) ).init();
+		view = new EditableUIView( locale );
+		view.render();
 	} );
 
 	describe( 'constructor()', () => {
@@ -32,22 +33,24 @@ describe( 'EditableUIView', () => {
 		it( 'renders element from template when no editableElement', () => {
 			view = new EditableUIView( locale );
 
-			view.init();
+			view.render();
 			expect( view.element ).to.equal( view.editableElement );
 			expect( view.element.classList.contains( 'ck-editor__editable' ) ).to.be.true;
 			expect( view.element.classList.contains( 'ck-rounded-corners' ) ).to.be.true;
 			expect( view.externalElement ).to.be.undefined;
+			expect( view.isRendered ).to.be.true;
 		} );
 
 		it( 'accepts editableElement as an argument', () => {
 			view = new EditableUIView( locale, editableElement );
 
-			view.init();
+			view.render();
 			expect( view.element ).to.equal( editableElement );
 			expect( view.element ).to.equal( view.editableElement );
 			expect( view.element.classList.contains( 'ck-editor__editable' ) ).to.be.true;
 			expect( view.element.classList.contains( 'ck-rounded-corners' ) ).to.be.true;
 			expect( view.externalElement ).to.equal( editableElement );
+			expect( view.isRendered ).to.be.true;
 		} );
 	} );
 
@@ -98,7 +101,7 @@ describe( 'EditableUIView', () => {
 
 				view = new EditableUIView( locale, editableElement );
 
-				view.init();
+				view.render();
 				expect( editableElement.contentEditable ).to.equal( 'true' );
 				view.destroy();
 				expect( editableElement.contentEditable ).to.equal( 'false' );
@@ -110,7 +113,7 @@ describe( 'EditableUIView', () => {
 
 				view = new EditableUIView( locale, editableElement );
 
-				view.init();
+				view.render();
 				expect( editableElement.contentEditable ).to.equal( 'true' );
 				view.destroy();
 				expect( editableElement.contentEditable ).to.equal( 'true' );