8
0
فهرست منبع

Fix: Clicking and dragging in a dropdown panel should not break the selection. Closes #228.

Aleksander Nowodzinski 8 سال پیش
والد
کامیت
20b5b36e30

+ 6 - 1
packages/ckeditor5-ui/src/dropdown/dropdownpanelview.js

@@ -51,7 +51,12 @@ export default class DropdownPanelView extends View {
 				]
 			},
 
-			children: this.children
+			children: this.children,
+
+			on: {
+				// https://github.com/ckeditor/ckeditor5-ui/issues/228
+				mousedown: bind.to( evt => evt.preventDefault() )
+			}
 		} );
 	}
 }

+ 15 - 0
packages/ckeditor5-ui/tests/dropdown/dropdownpanelview.js

@@ -3,6 +3,8 @@
  * For licensing, see LICENSE.md.
  */
 
+/* global Event */
+
 import ViewCollection from '../../src/viewcollection';
 import DropdownPanelView from '../../src/dropdown/dropdownpanelview';
 
@@ -45,6 +47,19 @@ describe( 'DropdownPanelView', () => {
 					expect( view.element.classList.contains( 'ck-dropdown__panel-visible' ) ).to.be.false;
 				} );
 			} );
+
+			describe( 'listeners', () => {
+				describe( 'mousedown', () => {
+					// https://github.com/ckeditor/ckeditor5-ui/issues/228
+					it( 'gets preventDefault called', () => {
+						const event = new Event( 'mousedown' );
+						const spy = sinon.spy( event, 'preventDefault' );
+
+						view.element.dispatchEvent( event );
+						sinon.assert.calledOnce( spy );
+					} );
+				} );
+			} );
 		} );
 	} );
 } );