calendar

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

object calendar;
Details

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

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

Методы

  • setWorkTime (config): boolean - устанавливает рабочее время для Gantt диаграммы
    • config - (object) - объект конфигурации временного интервала:
      • day? - (string | number) - опционально, номер дня недели [0 (воскресенье) - 6 (суббота)]. Учтите, что можно установить только 1 день за раз
      • 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 - отменяет рабочее время в Gantt диаграмме
    • config - (object) - объект конфигурации временного интервала:
      • day? - (string | number) - опционально, номер дня недели [0 (воскресенье) - 6 (суббота)]. Учтите, что можно установить только 1 день за раз
      • 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) - дата для проверки
      • 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
К началу