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

end_date

Description

Определяет конечную точку временной шкалы

end_date: Date | undefined

Example

gantt.config.start_date = new Date(2018, 08, 10);
gantt.config.end_date = new Date(2018, 08, 20);

gantt.init("gantt_here");

Details

заметка

Опция end_date должна использоваться вместе с опцией start_date для вступления в силу.

  • Когда заданы обе опции start_date и end_date, задачи, выходящие за пределы этого диапазона, не будут отображаться на диаграмме.
  • Начальные значения для start_date и end_date можно передать через необязательные параметры метода init.
  • Настройки в start_date и end_date имеют приоритет над fit_tasks. Чтобы комбинировать эти конфигурации, необходимо программно управлять временной шкалой.

Вот пример динамического расширения временного диапазона:

gantt.attachEvent("onLightboxSave", function(id, task, is_new){
const taskStart = task.start_date;
const taskEnd = task.end_date;
const scaleStart = gantt.config.start_date;
const scaleEnd = gantt.config.end_date;

// если задача выходит за текущий диапазон
if(scaleStart > taskEnd || scaleEnd < taskStart ){
// корректируем границы временной шкалы
gantt.config.end_date=new Date(Math.max(taskEnd.valueOf(), scaleEnd.valueOf()));
gantt.config.start_date=new Date(Math.min(taskStart.valueOf(),scaleStart.valueOf()));
gantt.render();
}
return true;
});

В качестве альтернативы, можно добавить проверку, чтобы запретить сохранение задач вне диапазона:

gantt.attachEvent("onLightboxSave", function(id, task, is_new){
const taskStart = task.start_date;
const taskEnd = task.end_date;
const scaleStart = gantt.config.start_date;
const scaleEnd = gantt.config.end_date;

// проверяем, находится ли задача вне допустимого диапазона
if(scaleStart > taskEnd || scaleEnd < taskStart ){
gantt.message({
type:"warning",
text:"Внимание! Задача находится вне диапазона дат!",
expire:5000
});
return false;
}
return true;
});