diff --git a/src/components/CalendarDay.vue b/src/components/CalendarDay.vue
index 58afa56..82e09ce 100644
--- a/src/components/CalendarDay.vue
+++ b/src/components/CalendarDay.vue
@@ -1,12 +1,14 @@
diff --git a/src/components/CalendarWeek.vue b/src/components/CalendarWeek.vue
index 21dedca..fd0cbe6 100644
--- a/src/components/CalendarWeek.vue
+++ b/src/components/CalendarWeek.vue
@@ -2,17 +2,13 @@
import CalendarDay from './CalendarDay.vue'
import EventOverlay from './EventOverlay.vue'
-const props = defineProps({
- week: Object,
-})
+const props = defineProps({ week: Object, dragging: { type: Boolean, default: false } })
const emit = defineEmits([
'day-mousedown',
'day-mouseenter',
'day-mouseup',
'day-touchstart',
- 'day-touchmove',
- 'day-touchend',
'event-click',
])
@@ -32,13 +28,7 @@ const handleDayTouchStart = (dateStr) => {
emit('day-touchstart', dateStr)
}
-const handleDayTouchMove = (dateStr) => {
- emit('day-touchmove', dateStr)
-}
-
-const handleDayTouchEnd = (dateStr) => {
- emit('day-touchend', dateStr)
-}
+// touchmove & touchend handled globally in CalendarView
const handleEventClick = (payload) => {
emit('event-click', payload)
@@ -53,12 +43,11 @@ const handleEventClick = (payload) => {
v-for="day in props.week.days"
:key="day.date"
:day="day"
+ :dragging="props.dragging"
@mousedown="handleDayMouseDown(day.date)"
@mouseenter="handleDayMouseEnter(day.date)"
@mouseup="handleDayMouseUp(day.date)"
@touchstart="handleDayTouchStart(day.date)"
- @touchmove="handleDayTouchMove(day.date)"
- @touchend="handleDayTouchEnd(day.date)"
/>
diff --git a/src/components/EventOverlay.vue b/src/components/EventOverlay.vue
index 7bb4b3b..82f5569 100644
--- a/src/components/EventOverlay.vue
+++ b/src/components/EventOverlay.vue
@@ -165,8 +165,10 @@ function startLocalDrag(init, evt) {
}
}
- // Prevent default to avoid text selection and other interference
- evt.preventDefault()
+ // Prevent default for mouse/pen to avoid text selection. For touch we skip so the user can still scroll.
+ if (!(evt.pointerType === 'touch')) {
+ evt.preventDefault()
+ }
window.addEventListener('pointermove', onDragPointerMove, { passive: false })
window.addEventListener('pointerup', onDragPointerUp, { passive: false })