Skip to main content

Getting started

This page describes how to start with the SVAR React Gantt component in your React application.

Step 1. Install the package

Open-source edition (MIT)

The open-source edition is free to use under the MIT license.

npm install @svar-ui/react-gantt

NOTE: The package migrated from @svar-react/gantt to @svar-ui/react-gantt. We continue publishing @svar-react/gantt until the React SVAR 3.0 update

PRO edition (commercial)

SVAR React Gantt PRO is a commercial version with advanced features. Request a free trial to explore the full PRO functionality.

If you have already purchased a license, refer to Install PRO edition for the detailed installation instructions.

Working with older React versions

If you want to use the library with an older version of the React toolkit, you can do so by using the 1.x version of the widget and @svar-react/gantt package.

npm install @svar-react/gantt@1.2.0

Step 2. Create and initialize the Gantt chart

Import the Gantt component to your project:

import { Gantt } from "@svar-ui/react-gantt";

Initialize Gantt. tasks, links, scales, columns are the main Gantt elements but they are not required for the initialization stage. The example below will create an empty chart with the timescale and the area for tasks tree:

import { Gantt } from "@svar-ui/react-gantt";

export default function App() {
return <Gantt />;
}

The next example shows how to create a simple chart with one summary task and one task in it, and two separate tasks and one dependency link between them. The minimum scales unit is "day". You do not need to add the columns array for the grid area, four columns will be displayed by default: "Task name", "Start Date", "Duration", and the action button for adding tasks.

import { Gantt } from "@svar-ui/react-gantt";

export default function App() {
const tasks = [
{
id: 20,
text: "New Task",
start: new Date(2024, 5, 11),
end: new Date(2024, 6, 12),
duration: 1,
progress: 2,
type: "task",
lazy: false,
},
{
id: 47,
text: "[1] Master project",
start: new Date(2024, 5, 12),
end: new Date(2024, 7, 12),
duration: 8,
progress: 0,
parent: 0,
type: "summary",
},
{
id: 22,
text: "Task",
start: new Date(2024, 7, 11),
end: new Date(2024, 8, 12),
duration: 8,
progress: 0,
parent: 47,
type: "task",
},
{
id: 21,
text: "New Task 2",
start: new Date(2024, 7, 10),
end: new Date(2024, 8, 12),
duration: 3,
progress: 0,
type: "task",
lazy: false,
},
];

const links = [{ id: 1, source: 20, target: 21, type: "e2e" }];

const scales = [
{ unit: "month", step: 1, format: "MMMM yyy" },
{ unit: "day", step: 1, format: "d" },
];

return <Gantt tasks={tasks} links={links} scales={scales} />;
}

More instructions about loading data you can see here Loading data.

Step 3. Apply a theme

To add look and feel to the application, import one of the predefined themes, which will also make all elements display correctly:

  • Willow
  • WillowDark

Apply the desired theme by wrapping Gantt into the required theme tag:

import { getData } from "./common/data";
import { Gantt, Willow } from "@svar-ui/react-gantt";

export default function App() {
const data = getData();

return (
<Willow>
<Gantt tasks={data.tasks} />
</Willow>
);
}

What's next

Now you can dive deeper into the Gantt API and get down to configuring it to your needs:

  • Guides pages provide instructions about installation, loading data, styling, and other helpful tips to go smoothly with the Gantt configuration
  • Gantt API reference gives description of the Gantt functionality
  • Helpers pages describe the ready-made helpers that will make the process of working with the widget easy and enjoyable; the Gantt widget provides even a ready-to-use independent service for working with backend.