Bladeren bron

Added focusing editable when ImageTextAlternative balloon has been removed by an external change.

Oskar Wróbel 8 jaren geleden
bovenliggende
commit
8cbb0d3ce6

+ 1 - 1
packages/ckeditor5-image/src/imagetextalternative.js

@@ -123,7 +123,7 @@ export default class ImageTextAlternative extends Plugin {
 		// Reposition the balloon or hide the form if an image widget is no longer selected.
 		this.listenTo( editingView, 'render', () => {
 			if ( !isImageWidgetSelected( editingView.selection ) ) {
-				this._hideForm();
+				this._hideForm( true );
 			} else if ( this._isVisible ) {
 				repositionContextualBalloon( editor );
 			}

+ 6 - 4
packages/ckeditor5-image/tests/imagetextalternative.js

@@ -169,18 +169,20 @@ describe( 'ImageTextAlternative', () => {
 				sinon.assert.calledOnce( spy );
 			} );
 
-			it( 'should hide the form when image widget has been removed by external change', () => {
+			it( 'should hide the form and focus editable when image widget has been removed by external change', () => {
 				setData( doc, '[<image src=""></image>]' );
 				button.fire( 'execute' );
 
-				const spy = sinon.spy( balloon, 'remove' );
+				const remveSpy = sinon.spy( balloon, 'remove' );
+				const focusSpy = sinon.spy( editor.editing.view, 'focus' );
 
-				// EnqueueChanges automatically calls #render event.
+				// EnqueueChanges automatically fires #render event.
 				doc.enqueueChanges( () => {
 					doc.batch( 'transparent' ).remove( doc.selection.getFirstRange() );
 				} );
 
-				sinon.assert.calledWithExactly( spy, form );
+				sinon.assert.calledWithExactly( remveSpy, form );
+				sinon.assert.calledOnce( focusSpy );
 			} );
 		} );