Używam wtyczki FullCalendar i staram się, aby nie można było upuścić nowego wydarzenia, gdy jest ono przeciągane do czegoś, co jest poza godzinami pracy. Mam to, więc nie możesz przeciągnąć na żadną datę przed bieżącą datą, ale nie możesz się zorientować, jak zapobiegać, mówiąc, że należy przeciągnąć weekend.FullCalendar zapobiega utracie wydarzenia poza godzinami pracy
Nie chcę rozwiązania zakodowanego na sztywno, gdzie muszę zrobić wypowiedź, jeśli nie specjalnie na weekend, bo co, jeśli chcę dodać godziny pracy, powiedzmy w środę w konkretny tydzień i dopuszczam tylko między 13:00 a 16:00? Potrzebuję więc dynamicznego rozwiązania, które mógłbym przekazać niektórym JSONom, takim jak zdarzenia: uchwytami i firmami, które również mogą obsłużyć.
$(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
}
});
});
o to skrzypce z moim obecnym przykładzie http://jsfiddle.net/htexjtg6/
Wspomniałem w nagród, że nadal mogę przeciągać nowe wydarzenie do daty, nawet jeśli miało ono określone ograniczenie czasowe ... prawdopodobnie opóźniając czas do najwcześniejszego, które jest wymienione w godzinach pracy. nie można tego zrobić za pomocą FullCalendar i można dodawać zdarzenia tylko do widoku dnia? – eqiz
@eqiz To działa na skrzypcach, jeśli dobrze cię rozumiem . – VisualBean
Chciałem wspomnieć o tym, że mogę to robić w comiesięcznym widoku w nagrodę. Miałem na myśli to, że to, co mówisz, jest niemożliwe, można to zrobić tylko za pomocą widoku tygodniowego lub codziennego z przeciąganiem wydarzenia, a nie co miesiąc? – eqiz