浏览代码

Merge pull request #425 from ckeditor/t/424

Fix: The `BlockToolbar` should add elements to the `FocusTracker` only after `uiReady` is fired to avoid errors. Closes #424.
Aleksander Nowodzinski 7 年之前
父节点
当前提交
ba3f70cd64

+ 6 - 2
packages/ckeditor5-ui/src/toolbar/balloon/balloontoolbar.js

@@ -59,8 +59,12 @@ export default class BalloonToolbar extends Plugin {
 		 * @type {module:utils:focustracker~FocusTracker}
 		 */
 		this.focusTracker = new FocusTracker();
-		this.focusTracker.add( editor.ui.view.editableElement );
-		this.focusTracker.add( this.toolbarView.element );
+
+		// Wait for the EditorUI#init. EditableElement is not available before.
+		editor.once( 'uiReady', () => {
+			this.focusTracker.add( editor.ui.view.editableElement );
+			this.focusTracker.add( this.toolbarView.element );
+		} );
 
 		/**
 		 * The contextual balloon plugin instance.

+ 2 - 2
packages/ckeditor5-ui/tests/manual/tickets/418/1.js

@@ -5,7 +5,7 @@
 
 /* globals window, document, console:false */
 
-import BalloonEditor from '@ckeditor/ckeditor5-editor-balloon/src/ballooneditor';
+import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
 import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials';
 import List from '@ckeditor/ckeditor5-list/src/list';
 import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
@@ -19,7 +19,7 @@ import Link from '@ckeditor/ckeditor5-link/src/link';
 import BlockToolbar from '../../../../src/toolbar/block/blocktoolbar';
 import BalloonToolbar from '../../../../src/toolbar/balloon/balloontoolbar';
 
-BalloonEditor
+ClassicEditor
 	.create( document.querySelector( '#editor' ), {
 		plugins: [
 			Essentials,