addCalendar

вставляет календарь в Gantt chart

string addCalendar(CalendarConfig calendar);
calendarCalendarConfigобъект, содержащий конфигурацию календаря
stringидентификатор календаря

Example

// добавление существующего календаря
var calendarId = gantt.addCalendar(calendar);
 
// добавление календаря с новой конфигурацией
var calendarId = gantt.addCalendar({
    id:"custom", // необязательно
    worktime: {
        hours: ["8:00-17:00"],
        days: [ 1, 1, 1, 1, 1, 1 ,1]
    }
});
 
var calendar = gantt.getCalendar(calendarId);

Related samples

Details

Объект конфигурации календаря может включать следующие свойства:

  • id? - (string | number) - необязательный идентификатор календаря
  • worktime? - (object) - определяет рабочие дни и часы. Может содержать:
    • hours? - (string[] | number[] | boolean) - необязательно, массив, задающий глобальные рабочие часы, определяющие время начала и окончания задач
    • days? - (WorkDaysTuple) - необязательно, массив из 7 элементов, представляющих дни недели (0 - воскресенье до 6 - суббота), где 1/true означает рабочий день, а 0/false — выходной
    • customWeeks? - (object) - необязательно, объект, задающий различные правила рабочего времени для разных периодов. Состоит из пар ключ:значение, где ключ — название временного интервала, а значение — объект с его атрибутами.
      • [timespan: string] - (object) - временной интервал с настройками рабочего времени. Ключ служит именем интервала.
        • from - (Date) - дата начала интервала
        • to - (Date) - дата окончания интервала
        • hours? - (Array<string | number>) - необязательно, массив интервалов рабочих часов в формате 'от'-'до'. Значение 'false' обозначает выходной, а 'true' (по умолчанию) применяет стандартные часы (["8:00-17:00"])
        • days? - (WorkDaysTuple | boolean) - необязательно, массив из 7 элементов, представляющих дни недели (0 - воскресенье до 6 - суббота), где 1/true — рабочий день, 0/false — выходной.

Установка пользовательских рабочих часов для конкретного дня

Вместо простого указания номера дня недели можно задать индивидуальные рабочие часы для этого дня.
Например:

var calendar = {
    id:"calendar1", // необязательно
    worktime: {
        hours: ["8:00-17:00"],
        days: [ 0, 1, 1, 1, ["12:00-17:00"], 1, 0]
    }
}

Здесь ["12:00-17:00"] задаёт рабочие часы с 12:00 до 17:00 для четверга.

Определение рабочего времени для разных периодов

Можно задать различные правила рабочего времени для разных периодов с помощью свойства customWeeks:

// добавление календаря с новой конфигурацией
gantt.addCalendar({
    id:"default", // необязательно
    worktime: {
        hours: ["8:00-17:00"],
        days: [ 1, 1, 1, 1, 1, 1 ,1],
        customWeeks: {
            winter: {
                from: new Date(2020, 11, 1),// 1 декабря 2020
                to: new Date(2021, 2, 1),// 1 марта 2021 00:00
                hours: ["9:00-13:00", "14:00-16:00"],
                days: [ 1, 1, 1, 1, 0, 0, 0]
            }
        }
    }
});
See also
Change log
  • свойство customWeeks было добавлено в версии v7.1;
  • добавлено в версии 4.2
К началу