Skip to content

Commit 299330c

Browse files
authored
fix(VCalendar): forward all bound events to internal elements (#15592)
1 parent 1e0a4ad commit 299330c

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

packages/vuetify/src/components/VCalendar/mixins/__tests__/mouse.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ describe('mouse.ts', () => {
3535
const noop = e => e
3636
const wrapper = mount(Mock, {
3737
listeners: {
38-
click: noop,
38+
'click:foo': noop,
3939
},
4040
})
4141

42-
expect(typeof wrapper.vm.getDefaultMouseEventHandlers('', noop).click).toBe('function')
42+
expect(typeof wrapper.vm.getDefaultMouseEventHandlers(':foo', noop).click).toBe('function')
4343
expect(Object.keys(typeof wrapper.vm.getDefaultMouseEventHandlers('', noop))).toHaveLength(6)
4444
})
4545

packages/vuetify/src/components/VCalendar/mixins/mouse.ts

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,16 @@ export default Vue.extend({
2424

2525
methods: {
2626
getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {
27+
const listeners = Object.keys(this.$listeners)
28+
.filter(key => key.endsWith(suffix))
29+
.reduce((acc, key) => {
30+
acc[key] = { event: key.slice(0, -suffix.length) }
31+
return acc
32+
}, {} as MouseEvents)
33+
2734
return this.getMouseEventHandlers({
28-
['click' + suffix]: { event: 'click' },
35+
...listeners,
2936
['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },
30-
['mousedown' + suffix]: { event: 'mousedown' },
31-
['mousemove' + suffix]: { event: 'mousemove' },
32-
['mouseup' + suffix]: { event: 'mouseup' },
33-
['mouseenter' + suffix]: { event: 'mouseenter' },
34-
['mouseleave' + suffix]: { event: 'mouseleave' },
35-
['touchstart' + suffix]: { event: 'touchstart' },
36-
['touchmove' + suffix]: { event: 'touchmove' },
37-
['touchend' + suffix]: { event: 'touchend' },
3837
}, getEvent)
3938
},
4039
getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {

0 commit comments

Comments
 (0)