Fullcalendar 4, как увидеть, если событие повторяется из Rrule
Я использую полную версию календаря 4 для вставки / обновления повторяющихся событий. Я успешно создал повторяющиеся события, вставив rrule в мою базу данных, а затем используя плагин rrule для 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!');
}
}
... однако образец предупреждения не отображается при нажатии на повторяющееся событие. Свойства события НЕ имеют правила (и они не находятся в 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: (...)
0 ответов
Вы можете добраться до объекта Rrule: info.event._def.recurringDef
Этот объект имеет свойства duration
, typeData
а также typeId
typeData
свойство содержит фактический объект RRule