Skip to content

Commit c500513

Browse files
committed
refactor: avoid using stop event modifiers #111
1 parent facad84 commit c500513

File tree

6 files changed

+28
-17
lines changed

6 files changed

+28
-17
lines changed

dist/VueFinalModal.esm.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/VueFinalModal.esm.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/VueFinalModal.umd.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/VueFinalModal.umd.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/VueFinalModal.vue

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,18 @@
4040
role="dialog"
4141
aria-modal="true"
4242
tabindex="-1"
43-
@mouseup.self.stop="onMouseupContainer"
44-
@touchend.self.stop="onMouseupContainer"
45-
@mousedown.self.stop="onMousedown"
46-
@touchstart.self.stop="onMousedown"
43+
@mouseup.self="onMouseupContainer"
44+
@touchend.self="onMouseupContainer"
45+
@mousedown.self="onMousedown"
46+
@touchstart.self="onMousedown"
4747
>
4848
<div
4949
ref="vfmContent"
5050
class="vfm__content"
5151
:class="[contentClass, { 'vfm--prevent-auto': preventClick }]"
5252
:style="bindContentStyle"
53-
@mousedown.self.stop="onMousedown"
54-
@touchstart.self.stop="onMousedown"
53+
@mousedown="onMousedown(null)"
54+
@touchstart="onMousedown(null)"
5555
>
5656
<slot :params="params" :close="() => $emit('input', false)" />
5757
<div
@@ -437,11 +437,11 @@ export default {
437437
this.params = {}
438438
},
439439
onMousedown(e) {
440-
this.lastMousedownEl = e.target
440+
this.lastMousedownEl = e?.target
441441
},
442-
onMouseupContainer(e) {
443-
// skip when the mousedown didn't start on the container el
444-
if (this.lastMousedownEl !== e.target) return
442+
onMouseupContainer() {
443+
// skip when the lastMousedownEl didn't equal $refs.vfmContainer
444+
if (this.lastMousedownEl !== this.$refs.vfmContainer) return
445445
// skip when state equal 'resize:move'
446446
if (this.state === 'resize:move') return
447447
this.$emit('click-outside', this.createModalEvent({ type: 'click-outside' }))

tests/unit/VueFinalModal.spec.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,16 @@ describe('VueFinalModal.vue', () => {
2323
})
2424
it('clickToClose: true', async () => {
2525
const { wrapper } = await createOpenedModal()
26-
wrapper.find('.vfm__container').trigger('click')
26+
wrapper.find('.vfm__container').trigger('mousedown')
27+
wrapper.find('.vfm__content').trigger('mouseup')
28+
await afterTransition()
29+
expect(wrapper.find('.vfm').isVisible()).toBe(true)
30+
wrapper.find('.vfm__content').trigger('mousedown')
31+
wrapper.find('.vfm__container').trigger('mouseup')
32+
await afterTransition()
33+
expect(wrapper.find('.vfm').isVisible()).toBe(true)
34+
wrapper.find('.vfm__container').trigger('mousedown')
35+
wrapper.find('.vfm__container').trigger('mouseup')
2736
await afterTransition()
2837
expect(wrapper.find('.vfm').isVisible()).toBe(false)
2938
})
@@ -129,7 +138,8 @@ describe('VueFinalModal.vue', () => {
129138
const { wrapper } = await createOpenedModal({
130139
clickToClose: false
131140
})
132-
wrapper.find('.vfm__container').trigger('click')
141+
wrapper.find('.vfm__container').trigger('mousedown')
142+
wrapper.find('.vfm__container').trigger('mouseup')
133143
await afterTransition()
134144
expect(wrapper.find('.vfm').isVisible()).toBe(true)
135145
})
@@ -429,7 +439,8 @@ describe('VueFinalModal.vue', () => {
429439
}
430440
}
431441
)
432-
wrapper.find('.vfm__container').trigger('click')
442+
wrapper.find('.vfm__container').trigger('mousedown')
443+
wrapper.find('.vfm__container').trigger('mouseup')
433444
await afterTransition()
434445
expect(clickOutside).toHaveBeenCalled()
435446
expect(beforeOpen).toHaveBeenCalled()

0 commit comments

Comments
 (0)