0
私はFullCalendar.jsを使用して、ユーザーが入力したタスクを表示しています。このために、イベントの基本的な詳細と再発の詳細を取るためのポップアップを作成しました。イベントは、毎日、毎週、28日、31日、30日周期で繰り返すことができます。私は毎日と毎週のケースでイベントをレンダリングすることができましたが、28/30/31日間にイベントの発生をどのようにレンダリングするかについて考えることはできません。次のようにFullCalendar.jsで28日間のサイクルでイベントを追加
カレンダーのための私のコードは次のとおりです。私はすべての28日後に発生するタスクをレンダリングするために支援が必要な
{
title: "My repeating event",
id: 1,
start: '10:00', // a start time (10am in this example)
end: '14:00', // an end time (6pm in this example)
dow: [1, 2, 3, 4, 5], // Repeat monday and thursday
ranges: [{
start: moment().startOf('month').subtract(1, 'month'),
end: moment().startOf('month').subtract(1, 'month').add(7, 'd'),
}, {
start: moment('2016-12-15', 'YYYY-MM-DD'), //all of february
//end: moment('2016-11-01', 'YYYY-MM-DD').endOf('month'),
}
:
イベント用$('#calendar').fullCalendar({
//height: 420,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
defaultDate: moment(),
defaultView: 'month',
eventRender: function (event, element, view) {
console.log(event.start.format());
if (event.ranges == undefined)
return true;
else {
return (event.ranges.filter(function (range) {
if (range.end == undefined)//Check if only start is given
return (event.end.isAfter(range.start))
else
return (event.start.isBefore(range.end) &&//If both start and end date is given
event.end.isAfter(range.start));
}).length) > 0;
}
},
events: function (start, end, timezone, callback) {
var events = getEvents(start, end); //This should be a JSON request
callback(events);
},
eventClick: function (calEvent, jsEvent, view) {
alert('Event: ' + calEvent.title);
//$('#btnOpenPopUp').click();
}
});
とJSONはそうのようなものです。助言がありますか?