Как получить пересечение фоновых событий в fullcalendar V3?

#fullcalendar #fullcalendar-3

#fullcalendar #fullcalendar-3

Вопрос:

Я хочу создавать фоновые события в full calendar V3, которые отображают только те части, которые пересекаются, в представлении agendaWeek

 $('#calendar').fullCalendar({
            defaultView: 'agendaWeek',
            allDaySlot: false,
            slotDuration: '00:15:00',
            scrollTime: bStart,
            minTime: '06:00:00',
            maxTime: '18:00:00',
            slotLabelInterval: '01:00',
            defaultDate: moment().format(),
            eventLimit: false,
            navLinks: true,
            dragScroll: false, 

            header: {
                left: '',
                center: 'title',
                right: 'prev,next today',
            },

            views: {
                week: { // name of view
                    titleFormat: 'LL',
                    columnHeaderFormat: 'Do MMM, dddd' 
                    // other view-specific options here
                }
            },

//example with 2 events there can be more
events: [
    {
        start: "2019-04-18 08:00",
        end: "2019-04-18 11:00",
        color: 'red',
        rendering: 'background',

      },
      {
        start: "2019-04-18 09:00",
        end: "2019-04-18 10:00",
        color: 'red',
        rendering: 'background',
      },

    ]
//.......
});
  

Я получаю, что от 9 до 10 слотов темно-красные, а от 8 до 11 слотов светлые.
Я просто хочу, чтобы пересечение событий было видно в календаре, т.е. с 9 по 10

Я буду передавать большой набор событий, мы можем взять пример e1 — с 9 до 10 утра 2019-04-18, e2 — с 9:30 до 10:30 утра 2019-04-18 (и так далее ..), Я хотел найти способ найти пересечение событий, т.Е. С 9:30 до10 утра, должно отображаться в календаре.

Комментарии:

1. Не уверен, что я понимаю смысл этого … если вы хотите, чтобы в календаре отображалось только от 9 до 10, не указывайте другое событие …. или, может быть, я пропустил суть. Можете ли вы привести пример с другими данными, который усиливает то, чего вы пытаетесь достичь?

2. Я буду передавать большой набор событий, мы можем взять пример e1 — с 9 до 10 утра 2019-04-18, e2 — с 9:30 до 10:30 утра 2019-04-18 (и так далее ..), Я хотел найти способ найти пересечение событий, т.Е. С 9:30 до10 утра, должно отображаться в календаре.

3. Я предлагаю вам сделать это на стороне сервера и передать только результаты вычисления в FullCalendar. FullCalendar любит просто отображать все, что вы ему даете. Предоставление ему событий, которые вы затем собираетесь снова удалить, когда они не пересекаются, немного бессмысленно