eventAllow
Exact programmatic control over where an event can be dropped.
function(dropInfo, draggedEvent)
After it has been determined that the eventOverlap and eventConstraint settings will allow the user to drop an event at a given position on the calendar, the eventAllow
callback will be called. It will be called for every new potential droppable position as the user is dragging.
If specified, it must return either true
or false
as to whether the calendar will allow the given event (draggedEvent
) to be dropped at the given location (dropInfo
).
eventAllow: function(dropInfo, draggedEvent) {
if (draggedEvent.id === '999') {
return dropInfo.start < new Date(2016, 0, 1); // a boolean
}
else {
return true;
}
}
The dropInfo
object has the following properties:
allDay |
|
---|---|
end |
Date. The end of where the draggable event was dropped. |
endStr |
The ISO8601 string representation of the end of where the draggable event was dropped. |
resource |
If the current view is a resource-view, the Resource Object the element was dropped on. This requires one of the resource plugins. |
start |
Date. The beginning of where the draggable event was dropped. |
startStr |
The ISO8601 string representation of the start of where the draggable event was dropped. |
In line with the discussion about the Event object, it is important to stress that the end
date property is exclusive.
Resources
In addition to receiving information about which date the user is attempting to drop the event upon, it will also receive information about the resource:
eventAllow: function(dropInfo, draggedEvent) {
return /^a/.test(dropInfo.resource.id); // starts with 'a' ?
}
Only available with the Scheduler plugin.