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

Свойства задачи

На этой странице приведён полный список свойств, которые может включать объект задачи.

Эта статья описывает клиентский объект задачи времени выполнения, используемый внутри Gantt после загрузки данных. Сериализованную JSON-форму, используемую в gantt.parse(), gantt.load() и при обмене данными с бэкендом, см. в разделе Модель данных.

Полный список свойств объекта ссылки приведён в статье Свойства ссылки.

Структура времени выполнения вкратце

// Exported from @dhx/gantt as "Task"
interface Task {
id: string | number;
start_date?: Date;
end_date?: Date;
duration?: number;
text?: any;
parent?: string | number;
type?: string;
progress?: number;
open?: boolean;
baselines?: Baseline[];
resource?: string[];
readonly?: boolean;
editable?: boolean;
// ... plus computed $-prefixed fields (see Dynamic properties below)
[customProperty: string]: any;
}

Объекты задач времени выполнения внутри Gantt используют Date для полей дат. Они также включают динамические свойства $..., создаваемые на клиенте, которые перечислены далее в этой статье. Сериализованную (JSON-совместимую) форму см. в разделе Модель данных - SerializedTask.

Обязательные свойства

Эти свойства будут всегда определены на клиенте. Gantt ожидает, что свойства будут заданы в объекте задачи при загрузке данных, но если они не заданы, Gantt добавит их сам.
Если вы удалите одно из этих свойств у загруженных задач, Gantt начнёт выдавать ошибки.

ИмяТипОписание
idstring | numberИдентификатор задачи, автоматически генерируется, если не установлен
start_dateDateДата начала задачи. Data Loading Если не указана, Gantt рассчитает её на основе свойств end_date и duration. Свойство становится необязательным при установке unscheduled: true.
end_dateDateДата завершения задачи. Data Loading Если не указана, Gantt рассчитает её на основе свойств start_date и duration. Свойство становится необязательным при установке unscheduled: true.
durationnumberДлительность задачи. Data Loading Если не указана, Gantt рассчитает её на основе свойств start_date и end_date.

Необязательные свойства

Эти свойства могут быть определены, а могут и отсутствовать. По умолчанию Gantt будет использовать эти свойства, если они заданы.

ИмяТипОписание
auto_schedulingbooleanОпределяет, следует ли Gantt выполнять авто-планирование задачи (true или не указано) или нет (false)
bar_heightnumberУстанавливает высоту DOM-элемента задачи в области таймлайна
baselinesBaseline[]Массив базовых линий
calendar_idnumber | stringЗадает id пользовательского календаря, который будет присвоен задаче. Имя свойства зависит от значения параметра calendar_property
colorstringЗадает цвет задачи в области таймлайна (то есть устанавливает background-color для элемента gantt_task_line задачи)
constraint_dateDateДата ограничения задачи. Добавляется в объект задачи при включённом auto-scheduling with time constraints. Свойство не используется, если включено auto_scheduling_compatibility.
constraint_typestringТип ограничения задачи ("asap", "alap", "snet", "snlt", "fnet", "fnlt", "mso", "mfo"). Добавляется в объект задачи при включённом авто-планировании с временными ограничениями. Свойство не используется, если включено auto_scheduling_compatibility.
deadlineDateЗадает крайний срок выполнения задачи. В таймлайне отображается визуальный индикатор при установке этого свойства.
editablebooleanОпределяет, может ли задача быть редактируемой в режиме только для чтения Gantt. Имя свойства зависит от значения опции editable_property
group_idstring | numberИдентификатор группы. Добавляется к задачам, сгруппированным по некоторому критерию, если свойство, используемое для группировки задач (relation_property в методе groupBy()) задано как объект.
hide_barbooleanЗадаёт, следует ли скрывать задачу (type:"task") или веху (type:"milestone") в области таймлайна.
keystring | numberКлюч группы. Добавляется к задачам, сгруппированным по некоторому критерию, если свойство, используемое для группировки задач (relation_property в методе groupBy()), задано как массив. Также добавляется к задачам с названием группы (например, к задачам с названиями "High", "Normal", "Low", если вы группировали задачи по приоритету. Пример).
labelstringМетка группы. Добавляется к задачам с названием группы (например, если вы группировали задачи по приоритету, свойство будет добавлено к задачам с названиями "High", "Normal", "Low". Пример).
openbooleanЗадает, будет ли ветка задачи открыта по умолчанию (для показа дочерних задач). Чтобы закрыть/открыть ветку после инициализации Gantt, используйте соответствующие методы: close() и open()
parentnumber | stringИдентификатор родительской задачи. Если указанный родитель не существует, задача не будет отрисована в Gantt. Идентификатор корневой задачи задаётся конфигурацией root_id.
progressnumberПрогресс задачи (от 0 до 1)
progressColorstringЦвет прогресса задачи на таймлайне (то есть устанавливает background-color для элемента gantt_task_progress прогресса задачи)
readonlybooleanОпределяет, должна ли задача быть readonly в режиме только для чтения Gantt. Имя свойства зависит от значения опции readonly_property
renderstringОпределяет, как должны отображаться подпроекты задачи. Значения: "split" | "". Если установить "split", подпроекты будут отображаться в одной строке. Также, если включено свойство open_split_tasks, подпроекты будут отрисованы в одной строке только если задача свернута.
resourceArray <string>Массив ресурсов, назначенных задаче. Добавляется к объекту задачи при импорте данных из MS Project/Primavera
rollupbooleanУказывает, должна ли задача (type:"task") или веха (type:"milestone") «появляться» на родительских проектах should appear on the parent projects.
row_heightnumberУстанавливает высоту строки задачи
targetstringИдентификатор целевой задачи. Свойство отображает такое же значение, как и свойство $drop_target. Свойство добавляется к объекту задачи только если включён Data Processor, после обновления задачи и отправки данных на сервер.
textanyНазвание задачи. При необходимости можно использовать любое другое имя для этого свойства. Свойство используется в конфигурациях по умолчанию различных частей Gantt.
textColorstringЦвет текста задачи в области таймлайна (то есть устанавливает color для элемента gantt_task_line задачи)
typestringТип задачи. Доступные значения хранятся в объекте types:
  • "task" — обычная задача (по умолчанию).
  • "project" — задача, которая начинается, когда начинается её самая ранняя подпро/tasks, и заканчивается, когда заканчивается её самая поздняя подпроекта. Свойства start_date, end_date, duration игнорируются для таких задач.
  • "milestone" — задача нулевой продолжительности, используемая для пометки важных дат проекта. Свойства duration, progress, end_date игнорируются для таких задач.
unscheduledbooleanОпределяет, должна ли задача быть unscheduled. По умолчанию несвоевременная задача не отображается в области таймлайна, в гриде вместо дат начала и конца отображаются пустые значения.

Динамические свойства

Динамические свойства создаются на клиенте и представляют текущее состояние задачи или ссылки. Их не следует сохранять в базе данных, Gantt игнорирует эти свойства, если они указаны в вашем JSON/XML.

ИмяТипОписание
[resource_property]string | Array <any>resource_property Свойство может иметь любое другое имя. Это свойство хранит идентификатор ресурса, связанный с resourceGrid/Timeline/Histogram/Calendar.
$auto_end_dateDateВычисляемая дата окончания проекта из его подпроектов. Добавляется и обновляется, когда auto_scheduling отключено.
$auto_start_dateDateВычисляемая дата начала проекта из его подпроектов. Добавляется и обновляется, когда auto_scheduling отключено.
$calculate_durationbooleanСистемное свойство, которое используется во внутренних расчётах.
$custom_dataobjectОбъект, содержащий пользовательские свойства задачи, определённые в методах importFromMSProject() и importFromPrimaveraP6()
$dataprocessor_classstringСистемное свойство, которое определяет, была ли задача обновлена. Добавляется к объекту задачи при включённом Data Processor. Если значение свойства равно "updated", текст задачи будет жирным в гриде, но можно задать свои стили через CSS.
$drop_targetstringИдентификатор целевой задачи. Временное свойство, которое добавляется к объекту задачи при вертикальном перетаскивании задачи.
$effective_calendarstringИдентификатор календаря (или календаря ресурса), назначенного задаче. Системное свойство, используемое в внутренних расчётах.
$expanded_branchbooleanСистемное свойство, показывающее, видима ли задача в зависимости от того, раскрыты ли её родительские элементы. Если хотя бы один родитель свернут, задача не будет видима. Исключение составляют только разделённые задачи (subtasks).
$has_childbooleanЗадает, должен ли Gantt отправлять запрос на сервер для загрузки задач первого уровня дочерних. Свойство используется, когда включено свойство branch_loading. Имя свойства зависит от значения опции branch_loading_property.
$indexnumberГлобальная вертикальная позиция задачи. Связывается с задачей и меняется, если открыты или закрыты задачи ниже или выше. Если родитель задачи свернут, свойство не показывает фактическую позицию задачи.
$levelnumberУровень задачи в иерархии задач (ноль-базовая нумерация)
$local_indexnumberВертикальная позиция задачи в ветке (под родителем). Это свойство не привязано к задаче и не меняется, если задачи ниже или выше открыты или закрыты как внутри ветки, так и глобально. Если родитель задачи свернут, свойство не показывает фактическую позицию задачи.
$newbooleanДобавляется к новой задаче при создании через метод createTask или через кнопку "+". Свойство добавляется к объекту задачи, когда вы открываете лайтбокс, и удаляется после сохранения задачи.
$no_endbooleanОбязательно, системное свойство, которое добавляется в объект задачи. True, если свойство end_date не могло быть рассчитано (когда загружено свойство start_date, но нет duration или end_date). В таком случае переместить или изменить размер задачи невозможно. Свойство end_date будет зависеть от даты окончания её подпроектов (если они есть). Свойство start_date будет зафиксировано и не изменится. Автопланирование не работает для такой задачи. Если включено свойство $no_start, задача полностью будет зависеть от дат её подпроектов или от даты первого задания.
$no_startbooleanОбязательно, системное свойство, которое добавляется в объект задачи. True, если свойство start_date не может быть рассчитано (когда загружено end_date, но нет duration или start_date). Свойство start_date будет зависеть от start_date подпроектов (если таковые имеются) или от даты начала первого задания. Свойство end_date будет зафиксировано и будет меняться только если дата начала подпроектов/первого задания больше даты окончания задачи. Автопланирование не работает для такой задачи. Если включено свойство $no_end, задача полностью будет зависеть от дат её подпроектов или от даты первого задания.
$openbooleanСистемное свойство, которое задаёт, открыта ли задача в данный момент (true). Если изменить значение свойства и перерасчёть Gantt, задача откроется или закроется. Чтобы изменить состояние задачи, можно также применить методы open или close.
$rawobjectОбъект с оригинальными именами свойств задачи, которые были импортированы из MS Project / Primavera в модуль экспорта (export сервер). Свойства появляются в объекте $raw во время конвертации файла в формат JSON, но до того, как они будут преобразованы в имена и формат, ожидаемые Gantt.
$rendered_atstring | numberИдентификатор строки, на которой отрисован элемент rollup / задача split. Это временное свойство, которое появляется в объекте задачи-роллапа/разделённой задачи только тогда, когда она отрисовывается на странице.
$rendered_parentnumber | stringИдентификатор родителя, под которым задача отрисована (не идентификатор реального родителя задачи). Свойство используется во внутренних расчётах и при группировке задач.
$rendered_typestringТип отрисованной задачи (временное свойство).
$resourceAssignmentsArray <any>Массив идентификаторов ресурсов, назначенных задаче (временное свойство). Но фактические данные чаще всего хранятся в хранилище назначений ресурсов, а не в этом свойстве.
$rollupArray <string | number>Массив идентификаторов задач и вех, которые appeared on the current task
$sourceArray <string | number>Required, массив с id всех связей, выходящих из задачи
$split_subtaskbooleanПоявляется, если задача является подпроектом разделённой задачи (то есть расположена в одной строке с другими подпроектами)
$targetArray <string | number>Required, массив с id связей, входящих в задачу
$transparentbooleanВременное свойство, добавляемое к объекту задачи при вертикальном перетаскивании. Задача выглядит немного полупрозрачной в гриде при вертикальном перетаскивании из-за этого свойства.
$virtualbooleanОно добавляется к задачам, сгруппированным по какому-либо критерию. После сброса группировки задачи с $virtual: true удаляются
$wbsstringКод WBS задачи (временное свойство). Он добавляется к объекту задачи после применения метода getWBSCode. Если значение кода изменилось (родитель или положение задачи поменялось), нужно снова вызвать метод getWBSCode для получения обновленного значения кода.

Пример

const data = {
tasks: [
{ id: 1, text: "Project #1", start_date: "01-04-2025", duration: 18 },
{ id: 2, text: "Task #1", start_date: "02-04-2025", duration: 8, parent: 1 },
{ id: 3, text: "Task #2", start_date: "11-04-2025", duration: 8, parent: 1 }
],
links: []
};
Need help?
Got a question about the documentation? Reach out to our technical support team for help and guidance. For custom component solutions, visit the Services page.