Я пытаюсь изменить цвет фона события (в режиме просмотра дня) в fullcalendar v4. Я часами пытался реализовать eventRender, но безрезультатно. Это привело меня к поиску других обходных путей, но теперь я вычеркиваю!
Я пытаюсь выяснить решение, объясненное здесь: [ Fullcalendar - изменить цвет события на основе значения ..
Но каждый раз, когда поиск слова «да» имеет значение ИСТИНА, я получаю сообщение об ошибке в консоли Chrome, в котором говорится «Ошибка анализа JSON». Если я изменю поисковый запрос на что-то, что создаст «ложь», я не получу эту ошибку. Для меня это означает, что поиск работает, но функция рендеринга событий как-то не работает.
мой код:
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
plugins: [ 'interaction', 'resourceDayGrid', 'resourceTimeGrid' ],
defaultView: 'resourceTimeGridDay',
defaultDate: '<?php echo $startdate?>',
validRange: {
start: '<?php echo $startdate?>',
end: '<?php echo $maxdaycal?>'
},
height: 700,
...
...
eventSources: [
{
url: 'getevents2.php?festid=<?php echo $festid?>&room=<?php echo $roomabv?>',
cache: false,
},
{
url: 'getbreaks2.php?festid=<?php echo $festid?>&room=<?php echo $roomabv?>',
cache: false,
color: 'grey',
editable: false,
}
],
eventRender: function(info) {
if(info.event.extendedProps.desc == "yes") {
element.style.css('background-color', '#000');
}
},
....
});
calendar.render();
});
Моя цель: найдите слово «Accomp» в названии элемента (вероятно, в info.event.title) .. и измените цвет фона на другой, например, красный ... или что-то в этом роде.
Я также пытался показать значок в этом поле, если присутствует слово Accomp, но - мне пришлось показать его модально, потому что я не смог заставить eventrender показать html.
Я думаю, что это из-за различий в FC v4 ... но я не уверен.
Я также пытался: [ Можно ли назначить цвет фона события FullCalendar на основе его заголовка? .. но я также не смог разобраться с этим.
ОБНОВЛЕНИЕ : функция поиска работает, как я вижу это в журнале консоли, но всякий раз, когда я пытаюсь установить css, календарь не отображается.
eventRender: function(info) {
console.log(info.event.title);
if(-1 != info.event.title.indexOf("Accomp")) {
console.log(info.event.title);
fc-title.css('background-color', '#000');
}
},