FullCalendar - новые события JSON не обновляются в календаре
введите описание изображения здесь. Мы используем функциональность FullCalendar в компонентах Salesforce Lightning. Я динамически выбираю события и передаю их. но самое первое событие, заполняющее календарь, но новые события не обновляются в календаре.
loadCalendar :function(component,data){
console.log(":::"+JSON.stringify(data));
var m = moment();
var d = new Date();
var month = d.getMonth()+1;
var day = d.getDate();
var currentDate = d.getFullYear() + '/' +
(month<10 ? '0' : '') + month + '/' +
(day<10 ? '0' : '') + day;
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
viewRender: function(view) {
var minDate = moment();
var maxDate = moment().add(5, 'weeks');
minDate.format();
var navigationContainer = view.el.parent().prev();
var cantGoBefore = view.start <= minDate;
var cantGoAfter = view.end >= maxDate;
$('input[id$=calendarmode]').prop('value', view.name);
$('input[id$=currentdate]').prop('value', view.start.format("YYYY-MM-DD"));
$(".fc-prev-button", navigationContainer).prop('disabled', cantGoBefore);
$(".fc-prev-button", navigationContainer).toggleClass('fc-state-disabled', cantGoBefore);
$(".fc-next-button", navigationContainer).prop('disabled', cantGoAfter);
$(".fc-next-button", navigationContainer).toggleClass('fc-state-disabled', cantGoAfter);
},
minTime : '07:00:00',
maxTime : '20:00:00',
height : 'auto',
defaultDate: m.format(),
//defaultDate: currentDate,
defaultView: 'agendaWeek',
selectable : true,
editable: true,
navLinks: true, // can click day/week names to navigate views
weekNumbers: true,
weekNumbersWithinDays: true,
weekNumberCalculation: 'ISO',
//editable: true,
eventLimit: true,
dragScroll : true,
events:data,
});
$('#calendar').fullCalendar('refetchEvents');
События доступны в списке:
"eventList":[{"name":null,"id":"00U0D0000017l7nUAA","currencyIsoCode":null,"createdDate":null,"vehicleId":null,"subject":"Essai véhicule - CLIO IV | Diesel - ADRIEN LACOUR","startDateTime":"2018-11-13T07:30:00.000Z","ownerID":null,"endDateTime":"2018-11-13T08:00:00.000Z"}]
Я перебираю эти события и помещаю их в массив событий.
getResponse: function(component,event) {
var result=component.get("v.events");
var eventArr = [];
for(var i = 0;i < result.length;i++){
eventArr.push({
'title':result[i].subject,
'start':result[i].startDateTime,
'end':result[i].endDateTime,
'id':result[i].id
});
}
console.log(component, '##getResponse', eventArr);
this.loadCalendar(component,eventArr);
component.set("v.Objectlist",eventArr);
},
Привет @Adyson, пожалуйста, найдите код выше:
я могу видеть следующую информацию в журнале
##getResponse"
{title: "Call", start: "2018-11-12T10:30:00.000Z", end: "2018-11-12T11:00:00.000Z", id: "00U0D0000017pSIUAY"}
Но жестко запрограммированные события выводятся в календаре. жестко закодированные события:
[
{
title: 'All Day Event',
start: '2018-11-12'
},
{
title: 'Long Event',
start: '2018-11-12',
end: '2018-11-12'
},
{
id: 999,
title: 'Repeating Event',
start: '2018-11-15T16:00:00'
},
{
id: 999,
title: 'Repeating Event',
start: '2018-11-16T16:00:00'
},
{
title: 'Birthday Party',
start: '2018-11-14T07:00:00'
},
{
title: 'Click for Google',
url: 'http://google.com/',
start: '2018-11-13'
}
],
:::::::::: Объект "##getResponse": длина массива 1 {title: "Call", начало: "2018-11-12T10:30:00.000Z", конец: "2018-11-12T11:00:00.000Z", id: "00U0D0000017pSIUAY"}
в результате: Результат JSON [{"name":null,"id":"00U0D0000017l7nUAA","currencyIsoCode":null,"creatDate":null,"vehicleId":null,"subject":"Essai véhicule - CLIO IV | Дизель - ADRIEN LACOUR","startDateTime":"2018-11-13T07:30:00.000Z","ownerID":null,"endDateTime":"2018-11-13T08:00:00.000Z"}]