Часы работы Mutliple в полном календаре с двумя сменами каждый день


Я интегрировал полный календарь в свой веб-сайт. Одно из моих требований-чтобы рабочие часы извлекались из базы данных и отображались в календаре. Поэтому в основном каждый день имеет две смены (утреннюю и вечернюю). Мне нужно иметь возможность создавать массив рабочих часов со значениями, заполняемыми из базы данных. Из коробки я могу использовать приведенный ниже код для отображения общих рабочих часов.

businessHours:
  {
    start: '10:00:00',
    end: '16:00:00',
    dow: [0,1,2,3,4,5,6]
  },

Я хочу добиться чего-то вроде этого:

businessHours:[
{
  start: '10:00:00',
  end: '13:00:00',
  dow: [0]
},
{
  start: '14:00:00',
  end: '19:00:00',
  dow: [0]
},
{
  start: '09:00:00',
  end: '12:00:00',
  dow: [1]
},
{
  start: '12:30:00',
  end: '18:00:00',
  dow: [1]
},
]

Если это не так возможно ли с существующими свойствами полного календаря, есть ли другие для достижения этого ? Заранее спасибо.

2 4

2 ответа:

Мне также нужна была та же функция. Я раздвоенный репозитория в

Https://github.com/dtmonterrey/fullcalendar

И реализовал решение, которое работает для меня. Он работает с одним определением businessHours или с массивом определений businessHours (как пример, который вы пробовали).

Пример:

    businessHours:[ 
        {
            start: '09:00',
            end: '13:00',
            dow: [1, 2]
        },
        {
            start: '14:00',
            end: '16:00',
            dow: [1, 2]
        },
        {
            start: '10:00',
            end: '19:00',
            dow: [4]
        },
        {
            start: '06:00',
            end: '10:30',
            dow: [6]
        },
        {
            start: '13:00',
            end: '17:00',
            dow: [6]
        },
        {
            start: '20:00',
            end: '23:00',
            dow: [6]
        }
    ]

Я создал запрос на вытягивание. Предложения приветствуются.

Пример и демонстрация

Я не смог заставить jsfiddle работать, поэтому демо для

Http://jsfiddle.net/t7aczbdt/

Здесь

Http://eo14.com/static/fullcalendar/

Вы можете попробовать это на вашем компьютере: распакуйте это http://eo14.com/static/fullcalendar.zip и откройте с помощью браузера.

Мы можем добавить каждый из наших business hours как events со следующими options - это стандартные опции, с которыми fullcalendar работает для заполнения опции businessHours: -

{
  ...
  events: [
    // business hours 1
    {
        className: 'fc-nonbusiness',
        start: '09:00',
        end: '17:00',
        dow: [1, 2, 3, 4], // monday - thursday
        rendering: 'inverse-background'
    },
    // business hours 2
    {
        className: 'fc-nonbusiness',
        start: '10:00',
        end: '15:00',
        dow: [6], // saturday
        rendering: 'inverse-background'
    }],
 ...
}

Примечание магия выполняется с помощью className : fc-nonbusiness, который является контринтутивным; однако, это отменяется опцией rendering:'inverse-background, и все работает хорошо.

Удачи.