Skip to main content

Templates

The javascriptgantt Library provides various configuration. The Templates option in the javascriptgantt library provides a customizable way to initialize various elements and behaviors within the Gantt chart. By using the templates, users can define templates for tooltips, taskbar text, task dragging, grid elements, and more. This allows for tailored presentations and interactions suited to specific project needs. The feature ensures flexibility and personalization, enhancing the user experience by allowing detailed customization of the Gantt chart's appearance and functionality.

tooltip_text

It is a function template which return the html for the tooltip

tooltip_text
javascriptgantt.templates.tooltip_text = function (start, end, task) {
return `<b>${task.parent === 0 ? "User" : "Task"}:</b>
${task.parent === 0 ? task.text : task.subject}
<br/><b>Start date:</b>${start}
<br/><b>End date:</b>${end}
<br/>
<b>Duration:</b> ${task.duration} ${
task.duration > 1 ? "Days" : "Day"
}`;
};

taskbar_text

It returns the html for the taskbars

taskbar_text
javascriptgantt.templates.taskbar_text = function (start, end, task) {
if (task.parent == 0) {
return `User : ${task.text}`;
} else {
return `Task : ${task.subject}`;
}
};

task_drag

It returns true or false, for allowing the task draging for spcific tasks.

task_drag
javascriptgantt.templates.task_drag = function (start, end, task) {
if (task.parent == 0) {
return `User : ${task.text}`;
} else {
return `Task : ${task.subject}`;
}
};

grid_folder

It returns the grid folder html

grid_folder
javascriptgantt.templates.grid_folder = (task) => {
return `<div class="folder-class">Folder</div>`;
};

grid_file

It returns the grid file html

grid_file
javascriptgantt.templates.grid_file = (task) => {
return `<div class="file-class">File</div>`;
};

grid_blank

It returns the grid blank html

grid_blank
javascriptgantt.templates.grid_blank = (task) => {
return `<span>Blank</span>`;
};

grid_header_class

It returns the class for the sidebar header You can add multiple classes by separating them with space.

grid_header_class
javascriptgantt.templates.grid_header_class = (columns, index) => {
return "my-header-class header-class";
};

grid_row_class

It returns the class for the row of sidebar grid You can add multiple classes by separating them with space.

grid_row_class
javascriptgantt.templates.grid_row_class = (start, end, task) => {
return "my-grid-row-class";
};

task_class

It returns classes for task

task_class
javascriptgantt.templates.task_class = (start, end, task) => {
return "my-task-class";
};

task_row_class

It returns classes for the task row

task_row_class
javascriptgantt.templates.task_row_class = (start, end, task) => {
return "my-task-row-class";
};

scale_cell_class

It returns classes for the timeline scales

scale_cell_class
javascriptgantt.templates.scale_cell_class = (ate, scale, scaleIndex) => {
return "my-scale-class";
};

grid_cell_class

It returns classes for the sidebar grid cell

grid_cell_class
javascriptgantt.templates.grid_cell_class = (col, task) => {
return "my-grid-cell-class";
};

timeline_cell_class

It returns classes for the sidebar grid cell

timeline_cell_class
javascriptgantt.templates.timeline_cell_class = (task, date) => {
return "my-task-cell-class";
};

showLightBox

It returns the html for the popup modal open on dblclick

showLightBox
javascriptgantt.templates.showLightBox = (task) => {
return `<form action="/action_page.php">
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname" value="John"><br>
<label for="lname">Last name:</label><br>
<input type="text" id="lname" name="lname" value="Doe"><br><br>
<input type="submit" value="Submit">
</form>`;
};
Hide the lightbox
gantt.templates.showLightBox = false;