Этот контрол предоставляет два селектора для установки длительности задачи путём задания её даты начала и окончания.
gantt.config.lightbox.sections=[
{name:"description", height:70, map_to:"text", type:"textarea", focus:true},
{name:"time", height:72, map_to:"auto", type:"time"} ];
Чтобы добавить контрол time в lightbox, выполните следующие действия:
1) Добавьте секцию в конфигурацию lightbox:
gantt.config.lightbox.sections=[
{name:"description", height:70, map_to:"text", type:"textarea",focus:true},
{name:"period", height:72, map_to:"auto", type:"time"}, ];
2) Задайте метку для секции:
gantt.locale.labels.section_period = "Time period";
Ниже приведены основные свойства, часто используемые с контролом 'time' (полный список смотрите здесь):
Чтобы настроить селекторы в секции "duration" или "time", используйте свойство time_format (см. Спецификация формата даты):
Добавление селектора времени в секцию 'Time period'
gantt.config.lightbox.sections = [
{name:"description", height:38, map_to:"text", type:"textarea", focus:true},
{name:"time",type:"time", 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: "deadline", height: 72, type: "time", map_to:{start_date:"planned_start",end_date:"planned_end"}} ];
Related sample: Displaying deadlines
Объектная форма map_to поддерживает:
Если свойство не указано, контрол использует соответствующее обязательное свойство даты.
Вы можете управлять видимостью секции времени, установив type:"time_optional" и button: true в конфигурации секции lightbox:
gantt.config.lightbox.sections = [
{name: "description", height: 70, map_to: "text", type: "textarea", focus: true},
{name: "time", map_to: "auto", button: true, type: "time_optional"} ];
Также задайте метки для состояний кнопки-переключателя:
gantt.locale.labels.time_enable_button = 'Schedule';
gantt.locale.labels.time_disable_button = 'Unschedule';
Рядом с секцией появится кнопка-переключатель, позволяющая показывать или скрывать её. При отображении она ведёт себя как type:"time".
Если кнопка отключена, секция скрывается, но никаких изменений сразу не происходит. После нажатия "Save" свойства задачи, связанные с контролом времени через map_to, будут установлены в null
.
gantt.getTask(1);
// возвращаемое значение
{
id: '1', text: 'Task #1', unscheduled: true,
duration: 0, parent: '10',
end_date: null, start_date: null,
...
}
Эта возможность полезна для пометки задач как незапланированных. Смотрите соответствующий пример:
Related sample: Unscheduled tasks
К началу