Я использую полную версию календаря 4 для вставки / обновления повторяющихся событий.Я успешно создал повторяющиеся события, вставив правило в мою базу данных, а затем используя плагин rule для fullcalendar для его отображения.
Когда загружаются события, они выглядят как пример JSON:
[{
allDay: false
color: "#2A2A2A"
date_created: "2019-05-17 12:09:46"
duration: "00:45:00"
end: ""
id: "23639"
resourceId: "1"
rrule: "DTSTART=20190514T111500Z;FREQ=DAILY;INTERVAL=1"
start: ""
textColor: "#FFFFFF"
title: "BLOCK"
},
{
allDay: false
color: "#2A2A2A"
date_created: "2019-05-17 12:09:46"
duration: null
end: "2019-05-15 11:45:00"
id: "23639"
resourceId: "1"
rrule: null
start: "2019-05-15 11:00:00"
textColor: "#FFFFFF"
title: "BLOCK2"
},
]
Повторяющиеся события отображаются правильно, если присутствует правило.
Сейчас я работаю над способом обновления / просмотра повторяющихся событий.Мне нужно отлавливать, например, события, которые повторяются при их перемещении / изменении размера для запуска.
Объекты событий НЕ имеют свойства rrule для проверки.Я пытался это:
eventClick: function(info) {
if (info.event.rrule) {
alert('this is a recurring event!');
}
}
... однако образец предупреждения не отображается при нажатии повторяющегося события.Свойства события НЕ имеют правила rrule (и их нет в info.event.extendedProps).
Как я могу перехватывать повторяющиеся события, чтобы манипулировать ими?
Мой следующий шаг - пойматьRRULE и преобразовать его в текст, чтобы пользователь мог прочитать, как устанавливается повторяющееся событие.Так что я немного озадачен тем, как его получить.
Из console.log информации, когда она нажимается, я вижу свойства повторяющегося события.RRULE не существует.Он также отсутствует в объекте extendedProps.
allDay: (...)
allow: (...)
backgroundColor: (...)
borderColor: (...)
classNames: (...)
constraint: (...)
durationEditable: (...)
end: (...)
extendedProps: (...)
groupId: (...)
id: (...)
overlap: (...)
rendering: (...)
source: (...)
start: (...)
startEditable: (...)
textColor: (...)
title: (...)
url: (...)