File tree Expand file tree Collapse file tree 2 files changed +15
-8
lines changed Expand file tree Collapse file tree 2 files changed +15
-8
lines changed Original file line number Diff line number Diff line change @@ -30,7 +30,7 @@ const EVENT_HIDDEN = `hidden${EVENT_KEY}`
30
30
const EVENT_SHOW = `show${ EVENT_KEY } `
31
31
const EVENT_SHOWN = `shown${ EVENT_KEY } `
32
32
const EVENT_RESIZE = `resize${ EVENT_KEY } `
33
- const EVENT_CLICK_DISMISS = `click .dismiss${ EVENT_KEY } `
33
+ const EVENT_MOUSEDOWN_DISMISS = `mousedown .dismiss${ EVENT_KEY } `
34
34
const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${ EVENT_KEY } `
35
35
const EVENT_CLICK_DATA_API = `click${ EVENT_KEY } ${ DATA_API_KEY } `
36
36
@@ -221,7 +221,7 @@ class Modal extends BaseComponent {
221
221
}
222
222
} )
223
223
224
- EventHandler . on ( this . _element , EVENT_CLICK_DISMISS , event => {
224
+ EventHandler . on ( this . _element , EVENT_MOUSEDOWN_DISMISS , event => {
225
225
if ( event . target !== event . currentTarget ) { // click is inside modal-dialog
226
226
return
227
227
}
Original file line number Diff line number Diff line change @@ -641,9 +641,10 @@ describe('Modal', () => {
641
641
642
642
modalEl . addEventListener ( 'shown.bs.modal' , ( ) => {
643
643
const spy = spyOn ( modal , '_queueCallback' ) . and . callThrough ( )
644
+ const mouseDown = createEvent ( 'mousedown' )
644
645
645
- modalEl . click ( )
646
- modalEl . click ( )
646
+ modalEl . dispatchEvent ( mouseDown )
647
+ modalEl . dispatchEvent ( mouseDown )
647
648
648
649
setTimeout ( ( ) => {
649
650
expect ( spy ) . toHaveBeenCalledTimes ( 1 )
@@ -709,13 +710,19 @@ describe('Modal', () => {
709
710
fixtureEl . innerHTML = '<div class="modal"><div class="modal-dialog"></div></div>'
710
711
711
712
const modalEl = fixtureEl . querySelector ( '.modal' )
713
+ const dialogEl = modalEl . querySelector ( '.modal-dialog' )
712
714
const modal = new Modal ( modalEl )
715
+
716
+ spyOn ( modal , 'hide' )
717
+
713
718
modalEl . addEventListener ( 'shown.bs.modal' , ( ) => {
714
- modalEl . click ( )
715
- } )
719
+ const mouseDown = createEvent ( 'mousedown' )
716
720
717
- modalEl . addEventListener ( 'hidden.bs.modal' , ( ) => {
718
- expect ( document . querySelector ( '.modal-backdrop' ) ) . toBeNull ( )
721
+ dialogEl . dispatchEvent ( mouseDown )
722
+ expect ( modal . hide ) . not . toHaveBeenCalled ( )
723
+
724
+ modalEl . dispatchEvent ( mouseDown )
725
+ expect ( modal . hide ) . toHaveBeenCalled ( )
719
726
resolve ( )
720
727
} )
721
728
You can’t perform that action at this time.
0 commit comments