Sfoglia il codice sorgente

Fix: EnterObserver shouldnt respond to soft break key events.

Alex Eckermann 7 anni fa
parent
commit
f5d47679fa

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

@@ -23,7 +23,7 @@ export default class EnterObserver extends Observer {
 		const document = this.document;
 
 		document.on( 'keydown', ( evt, data ) => {
-			if ( this.isEnabled && data.keyCode == keyCodes.enter ) {
+			if ( this.isEnabled && data.keyCode == keyCodes.enter && !data.shiftKey ) {
 				// Save the event object to check later if it was stopped or not.
 				let event;
 				document.once( 'enter', evt => ( event = evt ), { priority: 'highest' } );

+ 13 - 0
packages/ckeditor5-enter/tests/enterobserver.js

@@ -53,6 +53,19 @@ describe( 'EnterObserver', () => {
 			expect( spy.calledOnce ).to.be.false;
 		} );
 
+		it( 'is not fired on keydown when shiftKey is truthy', () => {
+			const spy = sinon.spy();
+
+			viewDocument.on( 'enter', spy );
+
+			viewDocument.fire( 'keydown', new DomEventData( viewDocument, getDomEvent(), {
+				keyCode: getCode( 'enter' ),
+				shiftKey: true
+			} ) );
+
+			expect( spy.calledOnce ).to.be.false;
+		} );
+
 		it( 'should stop keydown event when enter event is stopped', () => {
 			const keydownSpy = sinon.spy();
 			viewDocument.on( 'keydown', keydownSpy );