8
0
Просмотр исходного кода

Scroll the editing document to the selection after the EnterCommand gets executed.

Aleksander Nowodzinski 8 лет назад
Родитель
Сommit
8594f0c9cc
2 измененных файлов с 13 добавлено и 0 удалено
  1. 1 0
      packages/ckeditor5-enter/src/enter.js
  2. 12 0
      packages/ckeditor5-enter/tests/enter.js

+ 1 - 0
packages/ckeditor5-enter/src/enter.js

@@ -36,6 +36,7 @@ export default class Enter extends Plugin {
 		this.listenTo( editingView, 'enter', ( evt, data ) => {
 			editor.execute( 'enter' );
 			data.preventDefault();
+			editingView.scrollToTheSelection();
 		}, { priority: 'low' } );
 	}
 }

+ 12 - 0
packages/ckeditor5-enter/tests/enter.js

@@ -38,6 +38,18 @@ describe( 'Enter feature', () => {
 		expect( domEvt.preventDefault.calledOnce ).to.be.true;
 	} );
 
+	it( 'scrolls the editing document to the selection after executing the command', () => {
+		const view = editor.editing.view;
+		const domEvt = getDomEvent();
+		const executeSpy = editor.execute = sinon.spy();
+		const scrollSpy = sinon.stub( view, 'scrollToTheSelection', () => {} );
+
+		view.fire( 'enter', new DomEventData( editingView, domEvt ) );
+
+		sinon.assert.calledOnce( scrollSpy );
+		sinon.assert.callOrder( executeSpy, scrollSpy );
+	} );
+
 	function getDomEvent() {
 		return {
 			preventDefault: sinon.spy()