bardelman-dhtmlx-gantt-redux
Version:
An open source JavaScript Gantt chart that helps you illustrate a project schedule in a nice-looking chart.
83 lines (69 loc) • 3.07 kB
HTML
<!DOCTYPE html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Project duration</title>
<script src="../../codebase/dhtmlxgantt.js?v=9.0.10"></script>
<link rel="stylesheet" href="../../codebase/dhtmlxgantt.css?v=9.0.10">
<script src="../common/testdata.js?v=9.0.10"></script>
<style>
html, body {
height: 100%;
padding: 0px;
margin: 0px;
overflow: hidden;
}
.gantt_task_line.gantt_dependent_task {
--dhx-gantt-task-background: #65c16f;
}
</style>
</head>
<body>
<div id="gantt_here" style='width:100%; height:100%;'></div>
<script>
gantt.config.lightbox.sections = [
{name: "description", height: 70, map_to: "text", type: "textarea", focus: true},
{name: "time", type: "duration", map_to: "auto"}
];
gantt.config.scale_height = 50;
gantt.config.scales = [
{unit: "month", format: "%F, %Y"},
{unit: "day", step: 1, format: "%j, %D"}
];
gantt.init("gantt_here");
gantt.parse({
data: [
{id: 11, text: "Project #1", progress: 0.6, open: true},
{id:12, text:"Task #1", start_date:"03-04-2023", duration:"5", parent:11, progress: 1, open: true},
{id:13, text:"Task #2", parent:11, progress: 0.5, open: true},
{id:14, text:"Task #3", start_date:"02-04-2023", duration:"6", parent:11, progress: 0.8, open: true},
{id:15, text:"Task #4", parent:11, progress: 0.2, open: true},
{id:16, text:"Task #5", start_date:"02-04-2023", duration:"7", parent:11, progress: 0, open: true},
{id:17, text:"Task #2.1", start_date:"03-04-2023", duration:"2", parent:13, progress: 1, open: true},
{id:18, text:"Task #2.2", start_date:"06-04-2023", duration:"3", parent:13, progress: 0.8, open: true},
{id:19, text:"Task #2.3", start_date:"10-04-2023", duration:"4", parent:13, progress: 0.2, open: true},
{id:20, text:"Task #2.4", start_date:"10-04-2023", duration:"4", parent:13, progress: 0, open: true},
{id:21, text:"Task #4.1", start_date:"03-04-2023", duration:"4", parent:15, progress: 0.5, open: true},
{id:22, text:"Task #4.2", start_date:"03-04-2023", duration:"4", parent:15, progress: 0.1, open: true},
{id:23, text:"Task #4.3", start_date:"03-04-2023", duration:"5", parent:15, progress: 0, open: true}
],
links:[
{id:"10",source:"11",target:"12",type:"1"},
{id:"11",source:"11",target:"13",type:"1"},
{id:"12",source:"11",target:"14",type:"1"},
{id:"13",source:"11",target:"15",type:"1"},
{id:"14",source:"11",target:"16",type:"1"},
{id:"15",source:"13",target:"17",type:"1"},
{id:"16",source:"17",target:"18",type:"0"},
{id:"17",source:"18",target:"19",type:"0"},
{id:"18",source:"19",target:"20",type:"0"},
{id:"19",source:"15",target:"21",type:"2"},
{id:"20",source:"15",target:"22",type:"2"},
{id:"21",source:"15",target:"23",type:"2"}
]
});
gantt.message(`
The tasks with the 'project' type ignore the date parameters ('start_date', 'end_date', and 'duration')
and obtain them from their children. So, when the tasks are loaded, the project tasks will have the dates.
`)
</script>
</body>