浏览代码

Fixed: Don't pin if the panel is not already visible.

Aleksander Nowodzinski 8 年之前
父节点
当前提交
1f69f6a124

+ 5 - 1
packages/ckeditor5-editor-inline/src/inlineeditorui.js

@@ -55,7 +55,11 @@ export default class InlineEditorUI {
 
 		// https://github.com/ckeditor/ckeditor5-editor-inline/issues/4
 		view.listenTo( editor.editing.view, 'render', () => {
-			view.panel.pin( panelOptions );
+			// Don't pin if the panel is not already visible. It prevents the panel
+			// showing up when there's no focus in the UI.
+			if ( view.panel.isVisible ) {
+				view.panel.pin( panelOptions );
+			}
 		} );
 
 		// Setup the editable.

+ 6 - 0
packages/ckeditor5-editor-inline/tests/inlineeditorui.js

@@ -69,8 +69,14 @@ describe( 'InlineEditorUI', () => {
 			it( 'pin() is called on editor.editable.view#render', () => {
 				const spy = sinon.spy( view.panel, 'pin' );
 
+				view.panel.hide();
+
 				editor.editing.view.fire( 'render' );
+				sinon.assert.notCalled( spy );
+
+				view.panel.show();
 
+				editor.editing.view.fire( 'render' );
 				sinon.assert.calledOnce( spy );
 			} );
 		} );