简介
一个简单,互动,现代的甘特图图表库,可以拖动,调整大小,调整依赖关系和调整时间尺度。Github star 13K+,基于MIT协议,运行效果截图如下:
快速上手
安装
Bash
npm install frappe-gantt
用法
依赖momentjs和snapsvg
将其包含在您的HTML中
Bash
<script src="frappe-gantt.min.js" />
创建一个svg元素
Bash
<svg id="gantt"></svg>
初始化一个新的甘特对象
Bash
var tasks = [
{
id: 'Task 1',
name: 'Redesign website',
start: '2016-12-28',
end: '2016-12-31',
progress: 20,
dependencies: 'Task 2, Task 3'
},
...
]
var gantt = new Gantt("#gantt", tasks);
高级用法
添加事件侦听器
Bash
var gantt = new Gantt('#gantt', tasks, {
on_click: function (task) {
console.log(task);
},
on_date_change: function(task, start, end) {
console.log(task, start, end);
},
on_progress_change: function(task, progress) {
console.log(task, progress);
},
on_view_change: function(mode) {
console.log(mode);
}
});
弹出窗口中的自定义HTML
Bash
var gantt = new Gantt('#gantt', tasks, {
// can be a function that returns html
// or a simple html string
custom_popup_html: function(task) {
// the task object will contain the updated
// dates and progress value
const end_date = task._end.format('MMM D');
return `
<div class="details-container">
<h5>${task.name}</h5>
<p>Expected to finish by ${end_date}</p>
<p>${task.progress}% completed!</p>
</div>
`;
}
});
如下截图:
本文暂时没有评论,来添加一个吧(●'◡'●)