Перейти к основному содержимому

addCalendar

Description

Добавляет календарь в Gantt

addCalendar: (calendar: CalendarConfig) => string

Parameters

  • calendar - (required) CalendarConfig - объект с конфигурацией календаря

Returns

  • calendarId - (string) - идентификатор календаря

Example

// добавление ранее созданного календаря
const calendarId = gantt.addCalendar(calendar);

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

// добавление календаря с новой конфигурацией (свойство "days" задано как объект)
const calendarId = gantt.addCalendar({
id: "global", // идентификатор календаря необязателен
worktime: {
hours: ["8:00-12:00", "13:00-17:00"], // глобальные часы работы для будних дней
days: {
weekdays: [0, 1, 1, 1, 1, 1, 0],
dates: {
"2025-04-06": true, // переопределение часов работы для конкретной даты
"2025-04-08": false,
"2025-04-09": ["9:00-15:00"]
}
},
customWeeks: {
lastMonthOfTheYear: {
from: new Date(2025, 11, 1),
to: new Date(2026, 0, 1),
hours: ["9:00-13:00"],
days: {
weekdays: [0, 1, 1, 1, 1, 0, 0],
dates: {
"2025-12-08": true,
"2025-12-09": false,
"2025-12-10": ["9:00-15:00"]
}
}
}
}
}
});

const calendar = gantt.getCalendar(calendarId);

Details

The calendar configuration object can contain the following attributes:

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

Setting individual working hours for a day

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

const calendar = {
id: "calendar1", // optional
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 для четверга.

Setting worktime for different time intervals

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

gantt.addCalendar({
id: "global", // optional
worktime: {
hours: ["8:00-17:00"],
days: [1, 1, 1, 1, 1, 1, 1],
customWeeks: {
winter: {
from: new Date(2025, 11, 1), // 1 декабря 2025
to: new Date(2026, 2, 1), // 1 марта 2026
hours: ["9:00-13:00", "14:00-16:00"],
days: [1, 1, 1, 1, 0, 0, 0]
}
}
}
});

Setting worktime for certain dates

Вы также можете задать рабочие часы для конкретных дат, указав их в свойстве dates объекта days (как для атрибута worktime, так и для свойства customWeeks). Например:

const calendar = {
id: "calendar1", // optional
worktime: {
hours: ["8:00-17:00"],
days: {
dates: {
"2025-04-09": ["9:00-15:00"]
}
},
customWeeks: {
winter: {
from: new Date(2025, 11, 1), // December 1st, 2025
to: new Date(2026, 2, 1), // March 1st, 00:00, 2026
hours: ["9:00-13:00", "14:00-16:00"],
days: {
dates: {
"2026-01-02": ["9:00-15:00"]
}
}
}
}
}
}

Change log

  • возможность указать свойство days как object с рабочими днями недели и датами добавлена в версии v9.1
  • свойство customWeeks добавлено в версии v7.1;
  • добавлено в версии 4.2
Need help?
Got a question about the documentation? Reach out to our technical support team for help and guidance. For custom component solutions, visit the Services page.