The JavaScript Gantt Chart is a project planning and management tool that provides a Microsoft Project-like interface to display and manage hierarchical tasks with timeline details. Its intuitive user interface lets you visually manage tasks, resources, and task relationships in a project.
Bind data seamlessly with various local and remote data sources such as JSON, RESTful services, OData services, and WCF services. The JavaScript Gantt Chart uses the data manager for binding the data source.
The JavaScript Gantt Chart has a highly responsive layout and a fine touch-interactions support for desktops, touch screens, and smart phones.
User-friendly touch gestures and an interactive UI design help produce the best user experience. All Gantt Chart features work on touch devices with zero configuration.
The responsive feature allows the JavaScript Gantt Chart layout to be viewed on various devices. It is also possible to hide specific columns for particular screen sizes using column-based media query support.
The JavaScript Gantt Chart supports different configurable timeline views such as hour, day, week, month, and year.
Users can easily plan and schedule tasks in both auto and manual mode to track their projects. Create relationships between different tasks in project management. When a project is complex and contains many tasks that depend on the completion of others, task dependencies enable you to decide when a task can be started or finished using finish-to-start, start-to-finish, start-to-start, and finish-to-finish task link types.
Visualize the list of tasks assigned to each resource in a hierarchical manner. Multiple tasks assigned to each resource can be visualized in a row when the records are in a collapsed state.
Rows in Gantt Chart represents each tasks or data object information from the data source. It supports expanding / collapsing child rows, reordering of rows, indent / outdent rows to change its hierarchy levels and much more features.
Columns define the schema of a data source in HTML5 Gantt Charts. They support formatting, column definitions, column chooser, column menu, column reorder, and other important features.
The JavaScript Gantt Chart allows user to sort a column in either ascending or descending order by simply clicking on the header. A Ctrl + header click performs multi-sorting.
Data across all columns can be filtered using the filter option in each column and search option in the toolbar. It supports two filter types, Excel-like filter and menu filter. The JavaScript Gantt Chart filter allows users to choose appropriate filter types, define their own custom filtering logic, and customize the filtering UI based on their application needs. Filtering with related parent or child records can be defined.
JavaScript Gantt Chart allows users to select rows or cells by simply clicking on them. One or more rows or cells can be selected by holding the Ctrl or Shift key, or programmatically.
The Gantt Chart provides full support to create, read, update, and delete (CRUD) operations. In addition to built-in editor controls to edit a particular column value, using template support users can create custom editor controls that suit their application needs. Users can also edit the tasks fields directly in their respective cells using a dialog or interactively using taskbars.
Virtual scroll in JS Gantt Chart allows you to load large amounts of data without performance degradation. In row virtualization mode, all tasks are fetched initially from the datasource and rendered in the DOM within a compact viewport area.
Using templates, users can create custom UI. It provides various template options to create custom headers, custom taskbars, custom cell contents, custom tooltip, toolbars, and custom editors for edit action.
Focus on the tasks that are not visible but scheduled later along the timeline by selecting their rows in the grid section.
The tooltip displays task information while the mouse hovers over the task and editing actions for the taskbar and connector lines.
Highlight important days or events in a project using event markers.
Display events for a specific task that can be placed on the timeline on any given date.
Use toolbar options for editing, searching, expanding, collapsing, and deleting selected tasks along with an option for adding a new task.
Compare the current task’s progress with the planned timeline using baselines.
Display nonworking days using the holidays feature.
Allocate multiple resources like staff, equipment, and materials to each task.
Row height is a major factor when displaying records in the view port and it can be customized effortlessly based on the application’s UI requirement. The height of child taskbars and parent taskbars can be customized using the taskbarHeight property.
The context menu improves user action with JavaScript Gantt Chart component using a pop-up menu. It appears when a cell or header is right clicked. In addition to built-in default menu items, it allows you to add custom context menu items.
Easily export the JavaScript Gantt Chart component in file formats such as Excel or CSV.
Several built-in SASS-based themes are available such as Fluent, Tailwind CSS, Bootstrap 5, Bootstrap 4, Bootstrap, Material, Fabric, and High Contrast. Simplify theme customization either by overriding the existing SASS styling or creating custom themes by using the Theme Studio application.
The HTML5 JavaScript Gantt Chart ensures that every cell is keyboard accessible. Major features like sorting, selection, and editing can be performed using keyboard commands alone; no mouse interaction required. This helps in creating highly accessible applications using this component.
The JavaScript Gantt Chart has complete WAI-ARIA accessibility support. The Gantt Chart UI includes high-contrast visual elements, helping visually impaired people have the best viewing experience. Also, valid UI descriptions are easily accessible through assistive technologies such as screen readers.
Gantt Chart enables users from different locales to format date, currency, and numbering to suit their language preferences. It uses the internalization (i18n) library to handle value formatting.
Users can localize all the strings used in the user interface of JavaScript Gantt Chart control. It uses the localization (l10n) library to localize UI strings.
The HTML5 JavaScript Gantt Chart works well with all modern web browsers such as Chrome, Firefox, Edge, Safari, and IE11.
Developers can have full control over the UI and behavior of the events in Gantt Chart through its built-in, developer-friendly APIs. The simple and extensible APIs allow you to customize even complex Gantt Chart functionalities with ease.
The Gantt Chart component is also available in Blazor, React, Angular, and Vue frameworks. Check out the different Gantt Chart platforms from the links below,
Easily get started with the JavaScript Gantt Chart using a few simple lines of HTML and TS code example as demonstrated below. Also explore our JavaScript Gantt Chart Example that shows you how to render and configure a Gantt Chart in JavaScript.
<div class="control-section">
<div class="content-wrapper">
<div id="DefaultFunctionalities">
</div>
</div>
</div>
import { loadCultureFiles } from '../common/culture-loader';
import { Gantt, Selection } from '@syncfusion/ej2-gantt';
import { projectNewData } from './data-source';
/**
* Default Gantt sample
*/
Gantt.Inject(Selection);
loadCultureFiles();
let gantt: Gantt = new Gantt(
{
dataSource: projectNewData,
height: '450px',
taskFields: {
id: 'TaskID',
name: 'TaskName',
startDate: 'StartDate',
endDate: 'EndDate',
duration: 'Duration',
progress: 'Progress',
dependency: 'Predecessor',
child: 'subtasks'
},
labelSettings: {
leftLabel: 'TaskName'
},
projectStartDate: new Date('03/24/2019'),
projectEndDate: new Date('07/06/2019')
});
gantt.appendTo('#DefaultFunctionalities');
You can find our JavaScript Gantt Chart demo here.
No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
A good place to start would be our comprehensive getting started documentation.
Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.