Bläddra i källkod

Fixed: The position of the floating toolbar should be updated after the editable has grown.

Aleksander Nowodzinski 8 år sedan
förälder
incheckning
32e2f95e0d

+ 9 - 4
packages/ckeditor5-editor-inline/src/inlineeditorui.js

@@ -44,13 +44,18 @@ export default class InlineEditorUI {
 		 */
 		 */
 		this.focusTracker = new FocusTracker();
 		this.focusTracker = new FocusTracker();
 
 
-		const { nw, sw, ne, se } = InlineEditorUI.defaultPositions;
-
 		// Set–up the view#panel.
 		// Set–up the view#panel.
-		view.panel.bind( 'isVisible' ).to( this.focusTracker, 'isFocused' );
-		view.panel.pin( {
+		const { nw, sw, ne, se } = InlineEditorUI.defaultPositions;
+		const panelOptions = {
 			target: view.editableElement,
 			target: view.editableElement,
 			positions: [ nw, sw, ne, se ]
 			positions: [ nw, sw, ne, se ]
+		};
+
+		view.panel.bind( 'isVisible' ).to( this.focusTracker, 'isFocused' );
+
+		// https://github.com/ckeditor/ckeditor5-editor-inline/issues/4
+		view.listenTo( editor.editing.view, 'render', () => {
+			view.panel.pin( panelOptions );
 		} );
 		} );
 
 
 		// Setup the editable.
 		// Setup the editable.

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

@@ -64,6 +64,15 @@ describe( 'InlineEditorUI', () => {
 				ui.focusTracker.isFocused = true;
 				ui.focusTracker.isFocused = true;
 				expect( view.panel.isVisible ).to.be.true;
 				expect( view.panel.isVisible ).to.be.true;
 			} );
 			} );
+
+			// https://github.com/ckeditor/ckeditor5-editor-inline/issues/4
+			it( 'pin() is called on editor.editable.view#render', () => {
+				const spy = sinon.spy( view.panel, 'pin' );
+
+				editor.editing.view.fire( 'render' );
+
+				sinon.assert.calledOnce( spy );
+			} );
 		} );
 		} );
 
 
 		describe( 'editable', () => {
 		describe( 'editable', () => {