Этот раздел предоставляет инструменты для установки длительности задачи, выбирая ее дату начала и количество дней, которые она занимает.
gantt.config.lightbox.sections=[
{name:"description", height:70, map_to:"text", type:"textarea", focus:true},
{name:"time", height:72, map_to:"auto", type:"duration"} ];
Related sample: Basic initialization
По умолчанию в лайтбоксе включен один элемент управления duration. Если вы хотите добавить еще один, выполните следующие действия:
1) Добавьте новый раздел в конфигурацию лайтбокса:
gantt.config.lightbox.sections=[
{name:"description", height:70, map_to:"text", type:"textarea",focus:true},
{name:"time2", height:72, map_to:"auto", type:"duration"}, {name:"time", height:72, map_to:"auto", type:"duration"}
];
2) Назначьте метку новому разделу:
gantt.locale.labels.section_time2 = "Фактическая длительность";
Вот некоторые ключевые свойства, которые могут быть полезны при работе с элементом управления time. Для полного списка ознакомьтесь здесь:
Вы можете настроить селекторы в разделе "Период времени", используя свойство time_format. Узнайте больше в документации Спецификация Формата Даты.
Добавление селектора времени в раздел 'Период времени'
gantt.config.lightbox.sections = [
{name:"description", height:38, map_to:"text", type:"textarea", focus:true},
{name:"time",type:"duration",map_to:"auto",time_format:["%d","%m","%Y","%H:%i"]}];
Массив time_format поддерживает следующие элементы:
Вы можете изменить порядок и количество этих элементов в массиве, но формат данных должен оставаться неизменным. Например:
// время идет первым
time_format:["%H:%i", "%m", "%d", "%Y"]
// месяц идет первым
time_format:["%m","%d", "%Y", "%H:%i"]
// селектор года удален
time_format:["%H:%i", "%m", "%d"]
// неправильный пример
time_format:["%H:%i", "%M", "%d", "%Y"] //"%m" было неправильно заменено на "%M"
Обычно элементы управления временем и длительностью связаны с свойствами 'start_date' и 'end_date' по умолчанию, устанавливая map_to на "auto" (map_to:"auto").
Если вам нужно связать элементы управления с пользовательскими свойствами даты (вместо 'start_date' и 'end_date'), вы можете использовать объектную нотацию для свойства map_to:
gantt.config.lightbox.sections = [
{name: "description", height: 72, type: "textarea", map_to:"text", focus: true},
{name: "time", height: 72, type: "duration", map_to:"auto"},
{name: "baseline", height: 72, type: "duration", map_to:{start_date:"planned_start",end_date:"planned_end"}} ];
Related sample: Display baselines
Когда используется как объект, map_to включает три свойства:
Если свойство не указано, элемент управления будет использовать обязательное свойство даты по умолчанию.
Вы можете контролировать видимость раздела длительности, установив type:"duration_optional" и button: true при настройке раздела лайтбокса:
gantt.config.lightbox.sections = [
{name: "description", height: 70, map_to: "text", type: "textarea", focus: true},
{name: "time", map_to: "auto", button: true, type: "duration_optional"} ];
Дополнительно установите метки для двух состояний кнопки:
gantt.locale.labels.time_enable_button = 'Запланировать';
gantt.locale.labels.time_disable_button = 'Отменить планирование';
Рядом с разделом появится кнопка-переключатель, позволяющая показывать или скрывать его. Когда он виден, раздел ведет себя как type:"duration".
Если кнопка отключена, раздел исчезает без каких-либо немедленных изменений. При сохранении свойства задачи, связанные с элементом управления длительностью через map_to, будут установлены в null
.
gantt.getTask(1);
// возвращаемое значение
{
id: '1', text: 'Задача #1', unscheduled: true,
duration: 0, parent: '10',
end_date: null, start_date: null,
...
}
Эта функция полезна для пометки задач как незапланированных или для скрытия базовых линий определенных задач напрямую из интерфейса пользователя. Ознакомьтесь с соответствующими примерами:
Related sample: Незапланированные задачи
К началу