DHTMLX Gantt — это JavaScript-библиотека для создания интерактивных диаграмм Ганта в веб-приложениях. Она предназначена для визуализации планов проектов, управления задачами, отображения временных интервалов и зависимостей между элементами расписания. Библиотека обеспечивает рендеринг шкалы времени, иерархию задач, а также базовые инструменты для навигации и масштабирования представления проекта.
Разработка DHTMLX Gantt ориентирована на интеграцию с фронтенд-частью веб-приложений и взаимодействие со сторонними сервисами через API. В составе типичного набора возможностей присутствуют поддержка связей между задачами (зависимостей), перетаскивание и изменение размеров задач с обновлением дат, а также механизмы экспорта и расширяемости через события и пользовательские обработчики. Исторические данные о происхождении и развитии библиотеки широко доступны в публичных источниках; если конкретные хронологические детали неизвестны, то можно отметить, что библиотека эволюционировала в сторону улучшения интерактивности и интеграции с современными стеками веб-технологий.
- Визуализация задач: отображение задач в виде полос на временной шкале с поддержкой иерархии и сворачивания ветвей.
- Зависимости между задачами: создание и редактирование связей (например, завершение‑начало, начало‑начало) с автоматическим пересчётом дат.
- Перетаскивание и редактирование: интерактивное изменение положения и длительности задач с поддержкой drag-and-drop и inline-редактирования полей.
- Масштабирование и навигация: переключение уровня детализации времени (часы, дни, недели, месяцы), прокрутка и центрирование на выбранных элементах.
- Экспорт данных: экспорт представления и данных проекта в распространённые форматы для обмена и печати.
- API и события: расширяемый программный интерфейс для доступа к данным, подписки на события и внедрения пользовательской логики.
- Кастомизация отображения: возможность настройки стилей, шаблонов строк и столбцов, колонок с дополнительными полями задачи.
- Серверная синхронизация: примеры и механизмы интеграции для обмена данными с серверной частью через AJAX/REST.
- Производительность: оптимизации для работы с большими наборами задач, ленивой подгрузкой и виртуализацией отображения.
- Локализация и форматы: поддержка различных локалей, форматов дат и настроек отображения в соответствии с региональными требованиями.