Installation and initialization
SVAR Gantt is an open-source library distributed under the GPLv3 license. A commercial version of SVAR Svelte Gantt with extended feature set is also available.
Installing Gantt
Open-source (GPLv3) edition
To install the open-source version, you should run the following command:
//npm
npm install @svar-ui/svelte-gantt
//yarn
yarn add @svar-ui/svelte-gantt
NOTE: The package migrated from wx-svelte-gantt to @svar-ui/svelte-gantt. We continue publishing wx-svelte-gantt until the Svelte SVAR 3.0 update
PRO (Commercial) edition
To try the full PRO edition, request a free trial here: https://svar.dev/svelte/gantt/pricing/#signup
If you have purchased the license, you must first configure access to the private SVAR NPM registry.
- Add the registry:
npm config set @svar:registry https://npm.svar.dev
- Log in to the private registry:
npm login --registry=https://npm.svar.dev --scope=@svar --auth-type=legacy
After this command, you will be prompted to enter the username and password that were provided to you after purchasing the PRO license.
- Now you can install the package:
//npm
npm install @svar/svelte-gantt
//yarn
yarn add @svar/svelte-gantt
Working with Svelte 4.x
If you want to use the library with an older version of the Svelte toolkit, you can do so by using the 1.x version of the widget
npm install @svar-ui/svelte-gantt@1.2.0
Initializing
Import the Gantt component.
<script>
import { Gantt } from "@svar-ui/svelte-gantt";
</script>
<Gantt />
Initialize Gantt. Such properties as tasks, links, scales, columns are core elements of the Gantt chart 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:
<script>
import { Gantt } from "@svar-ui/svelte-gantt";
</script>
<Gantt />
The next example shows how to create a simple chart one summary task and one task in it, and two separate tasks and one dependency link between them. The minimum scales unit is "day".
<script>
import { Gantt } from "@svar-ui/svelte-gantt";
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" },
];
</script>
<Gantt {tasks} {links} {scales} />
Now you can move forward and load data. See Loading data.