gantt-chart
generate an svg gantt chart in node and the browser
example
export some task data in chart.json
:
"wow":"dependencies": "amaze""duration": "1 week""amaze":"duration": "3 days""cool":"duration": "6 days""whatever":"duration": "1 day""dependencies": "wow""very":"duration": "2 days""dependencies": "amaze""great":"duration": "8 days""dependencies": "very"
then you can render the chart to a string for the server:
var str = ;var gantt = ;var g = ;console;
or to the dom in the browser:
var createElement = ;var gantt = ;var g = ;var elem = document;elem;
methods
var gantt =
var g = gantt(tasks={})
Create a gantt chart instance g
from some tasks
.
The tasks
object should map task names to t
objects with these properties:
t.duration
- a human-readable duration stringt.dependencies
- an array of string names that the current task depends on
g.add(name, t)
Add a task t
as name
.
If a task called name
already exists, the existing task will be overwritten.
g.remove(name)
Remove a task by its name
.
var tree = g.tree(opts)
Return a virtual-dom tree
.
Optionally set attributes on the svg primitives with:
opts.rect
opts.text
opts.arrow
var sorted = g.sort()
Return a topologically sorted list of
var coords = g.coords(sorted)
Return an object mapping names to arrays of [x0,y0,x1,y1]
coordinates.
install
With npm do:
npm install gantt-chart
to get the library or
npm install -g gantt-chart
to get the gantt-chart
command.
license
MIT