We use the Scheduler widget like the following:
We need to have custom drag-and-drop handlers, but moveStart/move/moveEnd work unstable, sometimes it's impossible to drop the event (it sticks to mouse cursor) and exceptions are thrown from inside Kendo code after several D&D actions. We tried to block drag-and-drop operations (by calling preventDefault event methods, as you can see in the code above), but this does not help: if aggressively try to drag an event, exception appears again - but expected behavior is nothing should happen since the beginning of drag operation is prevented.
The question is how to properly implement the moveStart/move/moveEnd handlers to have stable working in both cases (with custom logic and just to block the D&D feature)?
Thank you very much in advance!
<div id=
"scheduler"
style=
"height:500px"
></div>
$(
"#scheduler"
).kendoScheduler({
editable: {
confirmation:
false
},
resources: ko.observable([
{
field:
"displayMode"
,
dataSource: [
{ text:
"Regular-Other-Future"
, value: 111, color:
"#93D095"
},
...
]
}
]),
add:
function
(e) {
e.preventDefault();
// Custom adding implementation
},
edit:
function
(e) {
e.preventDefault();
// Custom editing implementation
},
remove:
function
(e) {
e.preventDefault();
// Custom removing implementation
},
moveStart:
function
(e) {
e.preventDefault();
// Prevent drag-and-drop
},
move:
function
(e) {
e.preventDefault();
// Prevent drag-and-drop
},
moveEnd:
function
(e) {
e.preventDefault();
// Prevent drag-and-drop
},
views: [{ type:
"day"
, showWorkHours:
true
}, { type:
"week"
, showWorkHours:
true
, selected:
true
},
"month"
,
"agenda"
],
timezone:
"Etc/UTC"
,
date:
new
Date(),
dataSource: self.dataSource
// self.dataSource is KO observable, which is assigned later with kendo.data.SchedulerDataSource()
});
We need to have custom drag-and-drop handlers, but moveStart/move/moveEnd work unstable, sometimes it's impossible to drop the event (it sticks to mouse cursor) and exceptions are thrown from inside Kendo code after several D&D actions. We tried to block drag-and-drop operations (by calling preventDefault event methods, as you can see in the code above), but this does not help: if aggressively try to drag an event, exception appears again - but expected behavior is nothing should happen since the beginning of drag operation is prevented.
The question is how to properly implement the moveStart/move/moveEnd handlers to have stable working in both cases (with custom logic and just to block the D&D feature)?
Thank you very much in advance!