I'm working on a calendar which is currenly located at http://klanten.jebble.nl/nodots/fleskens/agenda.html
I've hooked an eventRender to the dayClick function which renders an event that is 1.5 hours and is draggable only on free timeslots and within businessHours.
HOWEVER if you click outside businessHours of on another event it DOES overlap where it should not.
Hopefully someone can tell me what parameter or function to use so that when I click outside business hours or overlapping a current event it wont render or will automatically render at a free timeslot.
$(document).ready(function() {
$('#calendar').fullCalendar({
/* Text and data config */
lang: 'nl',
defaultView: 'agendaWeek',
titleFormat: 'MMMM',
columnFormat: 'dd D',
header: {
left: 'prev',
center: 'title',
right: 'next'
},
buttonText: {
prev: 'vorige week',
next: 'volgende week'
},
/* Available hours and date stuff */
weekends: false,
businessHours: {
start: '09:00', /* API Data */
end: '18:00', /* API Data*/
dow: [1,2] /* API Data */
},
eventConstraint: {
start: '09:00', /* API Data */
end: '18:00', /* API Data*/
dow: [1,2] /* API Data */
},
minTime: '09:00',
maxTime: '18:00',
allDaySlot: false,
monthNames: ['Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'],
/* Styling */
eventBackgroundColor: '#dff0f7',
eventBorderColor: '#dff0f7',
eventTextColor: '#35a0da',
contentHeight: 'auto',
eventOverlap: false,
slotEventOverlap: false,
selectOverlap: false,
/*View Render (disable past weeks) */
viewRender: function(currentView) {
var minDate = moment()
// Past
if (minDate >= currentView.start && minDate <= currentView.end) {
$(".fc-prev-button").prop('disabled', true);
$(".fc-prev-button").addClass('fc-state-disabled');
}
else {
$(".fc-prev-button").removeClass('fc-state-disabled');
$(".fc-prev-button").prop('disabled', false);
}
},
dayClick: function(date, jsEvent, view) {
start = date.format();
start = moment(start);
var tmp = moment(start);
var end = tmp.add(1.5, 'hours');
$('#calendar').fullCalendar('removeEvents', 1)
var newEvent = {
id: 1,
title: 'Ketelonderhoud',
start: start,
end: end,
backgroundColor: '#7db927',
borderColor: '#7db927',
textColor: '#fff',
editable: true,
durationEditable: false,
};
$('#calendar').fullCalendar('renderEvent', newEvent);
},
events: [
{
id: 10,
title: 'bezet',
start: '2015-04-14T13:00:00',
end: '2015-04-14T14:30:00',
}
]
});