As Halloween draws near, our daily routines take on a bit of mystery, and even project management could use a hint of the eerie spirit of the season. Imagine managing your pre Halloween party tasks on a Gantt chart that feels like stepping into a haunted house — where each deadline is a lurking shadow and each milestone a point of light through the fog. Are you excited? Let’s make a dream come true!
In this tutorial, we’ll walk you through creating a Halloween-inspired task manager using our lightweight, open-source Svelte Gantt Chart. Our goal is to help you to create and stylise a task management tool with a spooky twist, adding both flair and functionality to planning your projects, be they big or small. While we’re using this fun theme for this demo, the same principles can be applied to create professional project management solutions in your Svelte apps.
Online Demo: see the Halloween-styled Gantt chart demo
Demo Package: download the demo package
Get Started Guide: see the docs
Prerequisites: Svelte framework and a Vite-based toolchain.
Including Sources
We start from installing SVAR Gantt Chart source files as described here. For npm it will be as follows:
Adding Gantt Chart on a Page
Import SVAR Gantt and the desired theme. The task manager comes with the light and dark skins: Willow and WillowDark. In our tutorial we are going to use the dark one. After all, it’s Halloween, right?
Gantt.svelte
Add the Gantt on page and define a theme for it:
Gantt.svelte
Filling Gantt Chart with Initial Data
To bring our Halloween task manager to life, we need to provide the initial data for tasks and their links that form the project’s structure at the initialization stage. Tasks represent key activities, while links define the dependencies between them.
data.js
Since we keep our data on client side in a separate file, we need to import them from the file and pass the corresponding data items to the Gantt constructor as props:
Gantt.svelte
For more information about preparing and loading data, refer to the following documentation section: Loading data.
Making Task Tree More Compact
The Gantt widget includes a left-hand panel that displays a task tree, providing users with an overview of project details. By default, this tree features four columns: Task Name, Start Date, Duration, and Action. While this layout provides detailed insights, it can also take up extra screen space, which is especially valuable in busy project views.
To create a more streamlined interface, we can adjust the task tree structure using the columns property. If we exclude the default Duration column, we can free up space on the screen, allowing for a cleaner view that keeps the focus on the most critical information.
Adding Custom Editor
The default editor of the Gantt chart provides a straightforward way for users to edit tasks and save changes directly on the chart. However, for our Halloween-themed project tracker, we’ll enhance the standard editor by adding a custom field to assign responsibilities to each task.
Gantt.svelte
For more information about configuring the task editor, refer to the following documentation section: Configuring the editor.
Adding Custom Context Menu
The Gantt widget includes a default context menu packed with a wide range of options for managing tasks: editing, deleting, creating subtasks, and much more. While this full menu offers extensive functionality, our Halloween Gantt app requires a more compact, streamlined set of options to keep the interface clean and focused.
Let’s customize the default context menu and select only the essential options that suit our app’s needs.
Gantt.svelte
Please note, that to activate the context menu features, you need to access Gantt API and pass the bound API to the <ContextMenu {api}></ContextMenu>
constructor. In this case we use the bind directive.
For more information on how to configure the context menu, refer to the following documentation section: Configuring the context menu.
Adding Custom Tooltip
By default, the SVAR Gantt chart doesn’t show tooltips. But we can easily activate this feature. All we just need is to import the Tooltip constructor and wrap our
This simple setup will allow users to hover the pointer over a task or project and see a tooltip with the task’s info.
Gantt.svelte
For our Halloween-themed app, though, a simple title won’t capture the full story. To make task details more accessible and engaging, we’ll create a custom tooltip that displays the task description and assigned user.
First of all, we need to create a custom template for a tooltip. For convenience, we can put it in a separate file.
CustomTooltip.svelte
After the tooltip template is ready, we can import and apply it via the Tooltip content property.
Gantt.svelte
For more information about configuring tooltips, refer to the following documentation section: Adding tooltips.
Tuning Look and Feel
When initializing the project, we applied the WillowDark skin, which provides a clean and elegant design. However, to truly capture the essence of Halloween, we need to go beyond the basics and incorporate custom styles that resonate with the season’s spirit.
To change the default theme settings, we can create a separate CSS class, change values of the required CSS variables and apply it to our Halloween Gantt app.
You can find the complete list of rules in the related demo.
Conclusion
As you can see, creating a Svelte task manager is as easy as pumpkin pie if you are using the SVAR Gantt Chart. Of course, you still will need to build client-server relationships for CRUD operations but the frontend Svelte part is explained above.
We invite you to try our open-source SVAR Svelte Gantt Chart and share your feedback by email or on our community forum. We’ll be happy to hear from you!