Состояния документации FullCalendar (FC)
Нестандартные поля В дополнение к вышеприведенным полям вы также можете включать свои собственные нестандартные поля в каждый объект события.FullCalendar не будет изменять или удалять эти поля.Например, разработчики часто включают поле описания для использования в обратных вызовах, таких как eventRender.[Источник: Объект события]
и для источников событий Календаря Google
Дополнительно: расширенные свойства API Календаря Google позволяетвам указать расширенные свойства для ваших событий.Расширенные свойства будут доступны в виде хеша extendedProperties, который прикреплен к каждому объекту события.[Источник: события из Календаря Google]
Однако не очень ясно, какие свойства GCal eventSource классифицируются как стандартные, а какие нестандартные.
Предполагая, что свойства, перечисленные в первом документе объекта события, также применимы в качестве стандартных свойств для GCal, EventSources означает, что все остальное может быть нестандартным полем, верно?
Если я хочу запросить поля создателя для заданных событий FC, например, creator.displayName или creator.email в соответствии с документом Google API для документов для событий #extendedProperties , который появляется в нижней части всплывающего окна события, т.е. "Создано: ..." (в календаре Google, а не в FC), но я не уверен, как это сделать.
Я не могу найти полный список стандартных и нестандартных полей для FullCalendar (v3) GCal eventSources, не обращайте внимания на Документы / примеры о том, какполучить доступ к этим свойствам.
В любом случае попытался сделать следующее:
console.log(event.extendedProperties.creator.displayName);
console.log(event.extendedProperties.creator.email);
только что произвел
jquery-3.3.1.min.js: 2 jQuery.Deferred исключение : невозможно прочитать свойство 'displayName' с неопределенным TypeError: невозможно прочитать свойство 'displayName' с неопределенным
И, конечно же, event.extendedProperties.creator выдал undefined.Однако затем я попытался:
console.log(event.extendedProperties);
console.dir(event.extendedProperties);
, который не выдает ошибку, но вместо этого выглядит как пустой объект
Снимок экрана console.dir (event.extendedProperties)
Так что, если он вернулся ни с чем (т. Е. С пустым объектом), было бы справедливо предположить, что нет расширенных свойств для заданных событий, которые я запрашиваю, и также разумно предположить, что, возможно, создатель поля: creator.displayName и creator.email не являются нестандартными полями после всех или, по крайней мере, не относятся к типу расширенных свойств.
Подождите, это означает, что в списках нестандартных полей, с которыми мы имеем дело, может быть два типа, или я слишком долго смотрел на этот экран?10
Наконец я попытался дважды проверить, чтобы убедиться, что они уже не являются частью объекта события.
console.log(event.creator.displayName);
console.log(event.creator.email);
, ноопять это привело к
Uncaught TypeError : невозможно прочитать свойство 'displayName' из неопределенного
Я в полной растерянности.Как я могу получить поля, которые нигде не упомянуты на веб-сайте FullCalendar и не являются расширенными свойствами?
Я что-то пропустил или, возможно, существует список стандартных / нестандартных полейчто мне каким-то образом удалось пропустить?
Любые идеи о том, как получить эти поля создатель , будут высоко оценены.
Я не понимаю, как здесь может быть полезен какой-либо пример кода, но, как мне недавно сказали" Код почти всегда требуетНастроен на Stack Overflow", так что для обеспечения соответствия вот мой пример кода ...
<div id='calendar'></div>
<script>
$(function() {
$('#calendar').fullCalendar({
googleCalendarApiKey: '%googleCalendarApiKey%',
events: {
googleCalendarId: 'lph029pf163sce67stdgfcdpfg@group.calendar.google.com' //imdb UK
},
defaultView: 'month',
eventRender: function(event, element) {
element.popover({
animation:true,
delay: 300,
title: event.title,
content: event.description, // + req << creator.displayName/email >> e.g."Created by: imdbreleases@gmail.com"
placement: 'auto',
trigger: 'hover'
});
}
});
});
</script>
PS Не создавал CodePen, как советовали не делиться GoogleAPIKey