Ich benutze das FullCalendar-Plugin und versuche, es so zu machen, dass Sie ein neues Ereignis nicht löschen können, wenn es in etwas außerhalb der Geschäftszeiten gezogen wird. Ich habe es so, dass Sie nicht in ein beliebiges Datum vor dem aktuellen Datum ziehen können, aber nicht herausfinden können, wie verhindern Sie, dass das Wochenende dorthin gezogen wird.FullCalendar verhindern, dass das Ereignis außerhalb der Geschäftszeiten gelöscht wird
Ich möchte keine hartcodierte Lösung, wo ich eine if than-Anweisung speziell für das Wochenende tun muss, denn was, wenn ich Geschäftszeiten hinzufügen möchte, sagen Mittwoch an einer bestimmten Woche und nur zwischen 13:00 und 16:00 erlauben? Also brauche ich eine dynamische Lösung, die ich JSON wie die Ereignisse weitergeben kann: handles und die businessHours können auch damit umgehen.
$(document).ready(function() {
/* initialize the external events
-----------------------------------------------------------------*/
$('#external-events .fc-event').each(function() {
// store data so the calendar knows to render an event upon drop
$(this).data('event', {
title: $.trim($(this).text()), // use the element's text as the event title
stick: true // maintain when user navigates (see docs on the renderEvent method)
});
// make the event draggable using jQuery UI
$(this).draggable({
zIndex: 999,
revert: true, // will cause the event to go back to its
revertDuration: 0 // original position after the drag
});
});
/* initialize the calendar
-----------------------------------------------------------------*/
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
droppable: true, // this allows things to be dropped onto the calendar
drop: function() {
// is the "remove after drop" checkbox checked?
if ($('#drop-remove').is(':checked')) {
// if so, remove the element from the "Draggable Events" list
$(this).remove();
}
},
/* This constrains it to today or later */
eventConstraint: {
start: moment().format('YYYY-MM-DD'),
end: '2100-01-01' // hard coded must have
},
businessHours: {
start: moment().format('HH:mm'), /* Current Hour/Minute 24H format */
end: '17:00' // 5pm
}
});
});
hier ist eine Geige meines aktuelles Beispiel http://jsfiddle.net/htexjtg6/
Ich hatte in der Bounty erwähnt, dass ich das neue Ereignis immer noch auf das Datum ziehen könnte, selbst wenn es eine bestimmte Zeitbeschränkung hätte ... möglicherweise die Zeit bis zur frühesten, die während der Geschäftszeiten verfügbar ist Das ist unmöglich mit FullCalendar zu machen und kann nur Ereignisse zur täglichen Ansicht hinzufügen? – eqiz
@eqiz Das funktioniert in der Geige, wenn ich dich richtig verstehe . – VisualBean
Ich wollte den Hinweis erwähnen, dass ich es in der monatlichen Kopfgeldausgabe machen kann. Ich meinte, dass Teil ist, was Sie sagen, ist unmöglich, es kann nur mit einer wöchentlichen oder täglichen Ansicht mit dem Ziehen des Ereignisses und nicht ein monatliches getan werden? – eqiz