search envelope-o feed check
Home Unanswered Active Tags New Question
user comment-o

Scheduler: How to disable event move on touch devices?

Asked by Hendrik
7 months ago.

I'm using angular scheduler. Here is my config:

$scope.schedulerConfig = {
allowEventOverlap: false,
eventResizeHandling: "Disabled",
eventMoveHandling: "Disabled",
visible: true,
scale: "Minute",
cellWidthSpec: "Auto",
rowMinHeight: 80,
eventHeight: 80,
days: 1,
startDate: new DayPilot.Date().firstDayOfMonth(),
theme: "daypilottheme",
timeHeaders: [
{ groupBy: "Hour", format: "HH:mm" }
],
rowHeaderColumns: [],
onTimeRangeSelected: function(args) {
doThing1();
},
onEventClick: function(args) {
doThing2();
}
};

As you can see, I have eventMoveHandeling and eventResizeHandling disabled. This works fine when using a mouse, but I can still move the event on touch devices by touching and moving.

I also tried this suggestion but it didn't work:

https://forums.daypilot.org/Topic.aspx/2316/how-to-prevent-event-dragging-and-resizing

The issue that I'm having with touch enabled is: Some users hold their finger to long on the screen and onEventClick is not triggered because of this. Instead onEventMove is triggered, but only if you actually move the event.

A dirty fix is to raise tapAndHoldTimeout, but this also affects onTimeRangeSelected.

So what is the solution to this problemen?

This question is more than 6 months old and has been closed. Please create a new question if you have anything to add.