Articles in this section
Category / Section

How to get started easily with HTML/JavaScript Gantt Chart

2 mins read

 

This article explains you the steps required to create a simple Essential JS 2 Gantt chart in a JavaScript application. The following are the dependencies required to run Gantt sample.

Dependencies

Following is the list of minimum dependencies required to use the Gantt.

 
|-- @syncfusion/ej2-gantt
    |-- @syncfusion/ej2-treegrid
    |-- @syncfusion/ej2-base
    |-- @syncfusion/ej2-data
    |-- @syncfusion/ej2-popups
    |-- @syncfusion/ej2-grids
 

Setup for local development

Clone the Essential JS 2 quickstart application project from GitHub and install the necessary npm packages using the following command line scripts.

 

git clone https://github.com/syncfusion/ej2-quickstart.git quickstart

cd quickstart

npm install

 

Adding CSS and Script reference

Combined CSS and script files are available in the Essential JS 2 package root folder. This can be referenced in your index.html using the following code.

 
Scripts: **(installed location)**\Syncfuion\Essential Studio\Javascript – EJ2\ {RELEASE_VERSION}\Web(Essential JS 2)\JavaScript\ej2\dist\ej2.min.js
 
Style: **(installed location)**\Syncfusion\Essential Studio\JavaScript – EJ2\ {RELEASE_VERSION}\Web (Essential JS 2)\JavaScript\ej2\material.css
 

The below hosted CDN links contains all Syncfusion JavaScript (ES) control resources in a single file.

 
Scripts: https://cdn.syncfusion.com/ej2/dist/ej2.min.js
Styles: https://cdn.syncfusion.com/ej2/material.css
 

Adding Gantt component

You can start adding Essential JS 2 Gantt component to the application. To get started, add the Gantt component HTML file using the following code.

Place the following Gantt code in the script section.

 
<script type="text/javascript">
var ganttChart = new ej.gantt.Gantt({
    dataSource: [
        {
            TaskID: 1,
            TaskName: 'Project Initiation',
            StartDate: new Date('04/02/2019'),
            EndDate: new Date('04/21/2019'),
            subtasks: [
                { TaskID: 2, TaskName: 'Identify Site location', StartDate: new Date('04/02/2019'), Duration: 0, Progress: 50 },
                { TaskID: 3, TaskName: 'Perform Soil test', StartDate: new Date('04/02/2019'), Duration: 4, Progress: 50, resources: [2, 3, 5]  },
                { TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 4,Predecessor:"2FS", Progress: 50 },
            ]
        },
        {
            TaskID: 5,
            TaskName: 'Project Estimation',
            StartDate: new Date('04/02/2019'),
            EndDate: new Date('04/21/2019'),
            subtasks: [
                { TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'), Duration: 3, Progress: 50, resources: [4] },
                { TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'), Duration: 3, Progress: 50, resources: [4, 8], },
                { TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'), Duration: 0,Predecessor:"6SS", Progress: 50, resources: [12, 5] }
            ]
        },
    ],
    height: '450px',
    taskFields: {
                id: 'TaskID',
                name: 'TaskName',
                startDate: 'StartDate',
                endDate: 'EndDate',
                progress: 'Progress',
                dependency: 'Predecessor',
                child: 'subtasks'
        }
    });
 
 gantt.appendTo('#Gantt');
  </script>
 

Now, add an HTML div element to act as the Gantt element using the following code.

 
<!DOCTYPE html>
<html lang="en">
 
<head>
    <title>Essential JS 2</title>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
    <meta name="description" content="Essential JS 2" />
    <meta name="author" content="Syncfusion" />
    <link rel="shortcut icon" href="resources/favicon.ico" />
    
    <!--style reference from app-->
    <link href="https://cdn.syncfusion.com/ej2/material.css" rel="stylesheet" />
 
    <!--system js reference and configuration-->
    
<script src="https://cdn.syncfusion.com/ej2/17.3.9-beta/dist/ej2.min.js" type="text/javascript"></script>
</head>
 
<body>
    <!--Element which will render as Gantt-->
    <div id="Gantt"></div>
</body>
 
</html>
 

Please refer the example from the following GitHub link.

Example – Getting Started with EJ2 Gantt

Please refer demos and UG documentation to know about Gantt Chart control.

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please  to leave a comment
Access denied
Access denied