пометить перекрывающиеся события в fullcalender цветом фона ячейки

Я использую fullcalendar, чтобы показать разные даты разных туров как событие. В какой-то момент у людей есть выбор присоединиться к другому туру, потому что место проведения мероприятия перекрывается в течение нескольких дней. Это означает, например, два события в один и тот же день

Можно ли изменить цвет фона ячейки, чтобы указать на это?

Например, 13-14. Октябрьские события накладываются друг на друга. Поэтому другой цвет фона, например желтый, сделал бы его четким.


person Alexandra    schedule 02.05.2011    source источник


Ответы (1)


Вам нужно добавить строку в fullcalendar.css

.fc-state-intersect
{
    background: green;
    display:none;
}

Затем вам нужно будет программно добавить этот класс в свой ответ JSON, чтобы он выглядел примерно так.

... {"title":"Intersect",
     "start":"2011-05-04T00:00:00",
     "end":"2011-05-04T00:00:00",
     "allDay":true,
      "className":".fc-state-intersect" <-- 
...

Как обсуждалось в наших комментариях, вам придется создать отдельный канал или, возможно, даже добавить в ваши существующие каналы эти события в расчетные пересекающиеся даты.

Отображение: нет, так что фактическое событие не отображается - мы используем только это, поэтому он применяет цвет к ячейкам, которые он накладывает.

Добавление этих событий должно быть довольно простым. Но тяжелая работа должна быть сделана на стороне сервера, чтобы вычислить, куда вставить эти скрытые события.

В FullCalendar нет встроенной функции для этого.

person Piotr Kula    schedule 03.05.2011
comment
Спасибо за ваш ответ! Ну, мне не нужно выделять событие, мне нужно выделить цвет фона ячейки таблицы, где отображаются события. Два события: одно событие имеет красный цвет, другое событие имеет зеленый цвет. Поскольку они происходят в один и тот же день, я хочу выделить фон ячейки желтым, чтобы указать, что эти события пересекаются и люди могут совершать определенные действия. ура александра - person ; 03.05.2011
comment
Верно! Я попытался показать вам пример, и я понял, в чем проблема. ЕСЛИ у вас есть длинное событие, которое пересекается, вы хотите, чтобы отображался пересекающийся день (конец события 1 и начало события 2) или, возможно, все пересекающиеся дни..... Я дал вам код, чтобы выделить всю продолжительность обоих событий, возможно в 2 разных цветах. Итак... Это все меняет... Действительно хороший вопрос. Мне придется подумать об этом. Это похоже на плагин. - person Piotr Kula; 03.05.2011
comment
Единственный другой способ - использовать jQuery. И в голове я знаю, как это сделать.. но мне нужно записать это и поэкспериментировать. Надеюсь, мои старания окупятся ;) - person Piotr Kula; 03.05.2011
comment
Как насчет добавления события во все соответствующие пересекающиеся дни (не все пересекающиеся дни могут иметь значение для выделения), чтобы отметить дни, к которым следует применить специальный цвет фона ячейки. Само событие может быть прозрачным и невидимым. Возможно, всплывет только всплывающая подсказка... - person ; 04.05.2011
comment
Да, вы тоже можете это сделать, но тогда вам нужно вычислить на стороне сервера, когда эти даты наступят, и импортировать их как дополнительный канал, что выполнимо. Я подозреваю, что вам придется применить display:none; фон: зеленый; к этому событию, поэтому он отмечает местоположение. - person Piotr Kula; 04.05.2011
comment
PS Если вы найдете мои сообщения полезными, пожалуйста, проголосуйте за меня (нажмите кнопку вверх) в сообщении или комментарии. Это большая награда для меня, особенно потому, что я единственный, кто пытается помочь вам здесь. Вы можете/но не обязаны давать правильный ответ, когда считаете это уместным. Спасибо - person Piotr Kula; 04.05.2011
comment
Эй, большое спасибо за ваши усилия! Добавление дополнительных каналов для пересекающихся дней должно быть возможным, но я до сих пор не знаю, как это изменит цвет фона ячейки таблицы для этих событий. Нашел кое-что интересное в коде Google: триггер dayRender для изменения дня выглядит многообещающе... - person Alexandra; 05.05.2011