UNPKG

jetsum_dhtmlx_gantt

Version:

An open source JavaScript Gantt chart that helps you illustrate a project schedule in a nice-looking chart.

112 lines (99 loc) 4.21 kB
<!DOCTYPE html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title>Resizable rows in grid</title> <script src="../../codebase/dhtmlxgantt.js?v=7.1.9"></script> <link rel="stylesheet" href="../../codebase/dhtmlxgantt.css?v=7.1.9"> <script src="../common/testdata.js?v=7.1.9"></script> <style> html, body { height: 100%; padding: 0px; margin: 0px; overflow: hidden; } .gantt_row_project{ font-weight: bold; } </style> </head> <body> <div id="gantt_here" style='width:100%; height:100%;'></div> <script> gantt.message({ text:[ "You can increase the height of any row of the gantt by resizing it in the grid.", "The height if an individual row can be set using the <b>row_height</b> and <b>bar_height</b> properties of the task object." ].join("<br><br>"), expire: -1 }); gantt.config.resize_rows = true; // return false to discard the resize gantt.attachEvent("onBeforeRowResize", function (item) { gantt.message("Start resizing <b>" + item.text + "</b>"); return true; }); var message = null; gantt.attachEvent("onRowResize", function (id, item, currentHeight) { if (!message) { message = gantt.message({ expire: -1, text: "<b>" + item.text + "</b> is now <b id='height_placeholder'></b><b>px</b> height" }); } document.getElementById("height_placeholder").innerText = currentHeight; }); // return false to discard the resize gantt.attachEvent("onBeforeRowResizeEnd", function (id, item, newHeight) { gantt.message.hide(message); message = null; gantt.message("<b>" + item.text + "</b> is now <b>" + newHeight + "px</b> height"); return true; }); gantt.attachEvent("onAfterRowResize", function (id, item, oldHeight, newHeight) { gantt.message.hide(message); message = null; gantt.message("<b>" + item.text + "</b> was <b>" + oldHeight + "px</b> height. <br><b>" + item.text + "</b> is now <b>" + newHeight + "px</b> height"); }); // keep height of bars when rows resized function fixBarHeight(task){ task.bar_height = 30; return true; } gantt.attachEvent("onTaskLoading", fixBarHeight); gantt.attachEvent("onTaskCreated", fixBarHeight); gantt.init("gantt_here"); gantt.parse({ data:[ {id:11, text:"Project #1", type:"project", progress: 0.6, open: true}, {id:12, text:"Task #1", start_date:"03-04-2018", duration:"5", parent:"11", progress: 1, open: true}, {id:13, text:"Task #2", start_date:"03-04-2018", type:"project", parent:"11", progress: 0.5, open: true}, {id:14, text:"Task #3", start_date:"02-04-2018", duration:"6", parent:"11", progress: 0.8, open: true}, {id:15, text:"Task #4", type:"project", parent:"11", progress: 0.2, open: true}, {id:16, text:"Final milestone", start_date:"15-04-2018", type:"milestone", parent:"11", progress: 0, open: true}, {id:17, text:"Task #2.1", start_date:"03-04-2018", duration:"2", parent:"13", progress: 1, open: true}, {id:18, text:"Task #2.2", start_date:"06-04-2018", duration:"3", parent:"13", progress: 0.8, open: true}, {id:19, text:"Task #2.3", start_date:"10-04-2018", duration:"4", parent:"13", progress: 0.2, open: true}, {id:20, text:"Task #2.4", start_date:"10-04-2018", duration:"4", parent:"13", progress: 0, open: true}, {id:21, text:"Task #4.1", start_date:"03-04-2018", duration:"4", parent:"15", progress: 0.5, open: true}, {id:22, text:"Task #4.2", start_date:"03-04-2018", duration:"4", parent:"15", progress: 0.1, open: true}, {id:23, text:"Mediate milestone", start_date:"13-04-2018", type:"milestone", 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:"23",target:"16",type:"0"}, {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:"0"} ] }); </script> </body>