calendar

интерфейс для объекта рабочего календаря

object calendar;
Details

Для подробной информации о рабочих календарях смотрите статью Расчёт рабочего времени.

Объект calendar включает следующие методы и свойства:

Методы

  • setWorkTime (config): boolean - задаёт рабочие часы для диаграммы Ганта
    • config - (object) - объект конфигурации, описывающий временной интервал:
      • day? - (string | number) - необязательно, номер дня недели [0 (воскресенье) - 6 (суббота)]. Обратите внимание, что можно задать только один день за раз
      • date? - (Date) - необязательно, конкретная дата, которую нужно отметить как рабочую или нерабочую
      • hours? - (string[] | number[] | boolean) - необязательно, массив рабочих часов в виде пар 'от'-'до'. Значение 'false' отмечает день как выходной, 'true' (по умолчанию) применяет часы по умолчанию (["8:00-17:00"])
      • customWeeks? - (object) - необязательно, объект, определяющий разные правила рабочего времени для различных периодов. Содержит пары ключ:значение, где ключ — имя временного интервала, а значение — объект с атрибутами:
        • [timespan: string] - (object) - временной интервал с настройками рабочего времени. Имя ключа используется как имя временного интервала
          • from - (Date) - дата начала интервала
          • to - (Date) - дата окончания интервала
          • hours? - (string[] | number[]) - необязательно, массив рабочих часов в виде пар 'от'-'до'. 'false' отмечает день как выходной, 'true' (по умолчанию) применяет часы по умолчанию (["8:00-17:00"])
          • days? - (WorkDaysTuple | boolean) - необязательно, массив из 7 элементов, представляющих дни недели (0 - воскресенье, 6 - суббота), где 1/true означает рабочий день, а 0/false — выходной.
calendar.setWorkTime({ hours:["9:00-18:00"] });
  • unsetWorkTime (config): void - удаляет настройку рабочего времени из диаграммы Ганта
    • config - (object) - объект конфигурации, описывающий временной интервал:
      • day? - (string | number) - необязательно, номер дня недели [0 (воскресенье) - 6 (суббота)]. Можно задать только один день за раз
      • date? - (Date) - необязательно, конкретная дата, которую нужно отметить как рабочую или нерабочую
      • hours? - (string[] | number[] | boolean) - необязательно, массив рабочих часов в виде пар 'от'-'до'. 'false' отмечает день как выходной, 'true' (по умолчанию) применяет часы по умолчанию (["8:00-17:00"])
calendar.unsetWorkTime({ hours:["9:00-18:00"] });
  • isWorkTime (config, time_unit): boolean - определяет, является ли указанная дата рабочим временем
    • config - (Date | object) - либо объект Date для проверки, либо объект конфигурации, описывающий временной интервал:
      • date - (Date) - дата для проверки
      • unit? - (string) - необязательно, единица времени: "minute", "hour", "day", "week", "month", "year"
      • task? - (Task) - необязательно, объект задачи, длительность которой следует учитывать
    • time_unit? - (string) - необязательно, единица времени: "minute", "hour", "day", "week", "month", "year". Не требуется, если первый параметр — объект

var calendar = gantt.getTaskCalendar(task);
if (calendar.isWorkTime({date: date})){
    alert("worktime of task" + task.text);
}
  • getClosestWorkTime (config): Date - находит ближайшее рабочее время
    • config - (Date | object) - объект конфигурации:
      • date - (Date) - дата, для которой нужно найти ближайшее рабочее время
      • dir? - (string) - необязательно, направление поиска: "future" или "past"
      • unit? - (string) - необязательно, единица времени для поиска
      • task? - (Task) - необязательно, объект задачи, для которой используется календарь
calendar.getClosestWorkTime({
    date:new Date(2013,0,1), 
    dir:"future", 
    unit:"hour"
});
  • calculateEndDate (config, duration, unit): Date - вычисляет дату окончания задачи
    • config - (Date | object) - либо дата начала задачи, либо объект конфигурации, описывающий временной интервал:
      • start_date - (Date) - дата начала задачи
      • duration - (number) - длительность задачи
      • unit? - (string) - необязательно, единица времени длительности: "minute", "hour", "day", "week", "month", "year"
      • task? - (Task) - необязательно, объект задачи, длительность которой нужно вычислить
    • duration? - (number) - необязательно, длительность задачи. Не нужна, если первый параметр — объект
    • unit? - (string) - необязательно, единица времени длительности. Не нужна, если первый параметр — объект
var end_date = calendar.calculateEndDate({start_date:date, duration:duration});
  • calculateDuration (config, end): number - вычисляет длительность задачи
    • config - (Date | object) - либо дата начала задачи, либо объект конфигурации, описывающий временной интервал:
      • start_date - (Date) - дата начала задачи
      • end_date - (Date) - дата окончания задачи
      • task? - (Task) - необязательно, объект задачи, длительность которой нужно вычислить
    • end? - (Date) - дата окончания задачи. Не нужна, если первый параметр — объект
calendar.calculateDuration(new Date(2013,02,15), new Date(2013,02,25));

Свойства

  • id - (string | number) - идентификатор календаря задачи
See also
К началу