浏览代码

Got rid of *EditableUIView#enableEditingRootListeners(). Moved to render() because view document root rendering is postponed now.

Aleksander Nowodzinski 6 年之前
父节点
当前提交
a4f93e4895

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

@@ -55,8 +55,6 @@ export default class EditableUIView extends View {
 		 */
 		this._editableElement = editableElement;
 
-		this.viewRoot = null;
-
 		/**
 		 * Whether an external {@link #_editableElement} was passed into the constructor, which also means
 		 * the view will not render its {@link #template}.
@@ -79,13 +77,11 @@ export default class EditableUIView extends View {
 		} else {
 			this._editableElement = this.element;
 		}
-	}
-
-	enableEditingRootListeners() {
-		const viewRoot = this.viewRoot = this.editingView.domConverter.domToView( this.element );
 
 		const updateFocusClasses = () => {
 			this.editingView.change( writer => {
+				const viewRoot = this.editingView.document.getRoot( this.name );
+
 				writer.addClass( this.isFocused ? 'ck-focused' : 'ck-blurred', viewRoot );
 				writer.removeClass( this.isFocused ? 'ck-blurred' : 'ck-focused', viewRoot );
 			} );

+ 6 - 4
packages/ckeditor5-ui/src/editableui/inline/inlineeditableuiview.js

@@ -42,16 +42,18 @@ export default class InlineEditableUIView extends EditableUIView {
 		} );
 	}
 
-	enableEditingRootListeners() {
-		super.enableEditingRootListeners();
+	render() {
+		super.render();
 
 		const t = this.t;
 		const updateAriaLabelAttribute = () => {
 			this.editingView.change( writer => {
+				const viewRoot = this.editingView.document.getRoot( this.name );
+
 				if ( this.name ) {
-					writer.setAttribute( 'aria-label', t( 'Rich Text Editor, %0', [ this.name ] ), this.viewRoot );
+					writer.setAttribute( 'aria-label', t( 'Rich Text Editor, %0', [ this.name ] ), viewRoot );
 				} else {
-					writer.removeAttribute( 'aria-label', this.viewRoot );
+					writer.removeAttribute( 'aria-label', viewRoot );
 				}
 			} );
 		};