项目作者: d-band

项目描述 :
Gantt chart library using jsx support SVG, Canvas and SSR
高级语言: JavaScript
项目地址: git://github.com/d-band/gantt.git
创建时间: 2016-08-04T04:13:43Z
项目社区:https://github.com/d-band/gantt

开源协议:

下载


Gantt Chart

Gantt chart library using jsx support SVG, Canvas and SSR

NPM version
NPM downloads
Greenkeeper badge

Install

  1. $ npm install gantt --save

Usage

View demo online

  1. import { SVGGantt, CanvasGantt, StrGantt } from 'gantt';
  2. const data = [{
  3. id: 1,
  4. type: 'group',
  5. text: '1 Waterfall model',
  6. start: new Date('2018-10-10T09:24:24.319Z'),
  7. end: new Date('2018-12-12T09:32:51.245Z'),
  8. percent: 0.71,
  9. links: []
  10. }, {
  11. id: 11,
  12. parent: 1,
  13. text: '1.1 Requirements',
  14. start: new Date('2018-10-21T09:24:24.319Z'),
  15. end: new Date('2018-11-22T01:01:08.938Z'),
  16. percent: 0.29,
  17. links: [{
  18. target: 12,
  19. type: 'FS'
  20. }]
  21. }, {
  22. id: 12,
  23. parent: 1,
  24. text: '1.2 Design',
  25. start: new Date('2018-11-05T09:24:24.319Z'),
  26. end: new Date('2018-12-12T09:32:51.245Z'),
  27. percent: 0.78,
  28. }];
  29. new SVGGantt('#svg-root', data, {
  30. viewMode: 'week'
  31. });
  32. new CanvasGantt('#canvas-root', data, {
  33. viewMode: 'week'
  34. });
  35. const strGantt = new StrGantt(data, {
  36. viewMode: 'week'
  37. });
  38. this.body = strGantt.render();

image

API

  1. interface Link {
  2. target: number,
  3. type: 'FS' | 'FF' | 'SS' | 'SF'
  4. }
  5. interface Item {
  6. id: number,
  7. parent: number,
  8. text: string,
  9. start: Date,
  10. end: Date,
  11. percent: number,
  12. links: Array<Link>
  13. }
  14. type StyleOptions = {
  15. bgColor: string, // default: '#fff'
  16. lineColor: string, // default: '#eee'
  17. redLineColor: string, // default: '#f04134'
  18. groupBack: string, // default: '#3db9d3'
  19. groupFront: string, // default: '#299cb4'
  20. taskBack: string, // default: '#65c16f'
  21. taskFront: string, // default: '#46ad51'
  22. milestone: string, // default: '#d33daf'
  23. warning: string, // default: '#faad14'
  24. danger: string, // default: '#f5222d'
  25. link: string, // default: '#ffa011'
  26. textColor: string, // default: '#222'
  27. lightTextColor: string, // default: '#999'
  28. lineWidth: string, // default: '1px'
  29. thickLineWidth: string, // default: '1.4px'
  30. fontSize: string, // default: '14px'
  31. smallFontSize: string, // default: '12px'
  32. fontFamily: string, // default: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif'
  33. }
  34. type Options = {
  35. viewMode: 'day' | 'week' | 'month',
  36. onClick: (item: Item) => {},
  37. offsetY: number, // default: 60,
  38. rowHeight: number, // default: 40,
  39. barHeight: number, // default: 16,
  40. thickWidth: number, // default: 1.4,
  41. styleOptions: StyleOptions
  42. }
  43. declare class SVGGantt {
  44. constructor(element: string | HTMLElement, data: Array<Item>, options: Options);
  45. setData(data: Array<Item>): void; // set data and re-render
  46. setOptions(options: Options): void; // set options and re-render
  47. render(): void;
  48. }
  49. declare class CanvasGantt {
  50. constructor(element: string | HTMLElement, data: Array<Item>, options: Options);
  51. setData(data: Array<Item>): void; // set data and re-render
  52. setOptions(options: Options): void; // set options and re-render
  53. render(): void;
  54. }
  55. declare class StrGantt {
  56. constructor(data: Array<Item>, options: Options);
  57. setData(data: Array<Item>): void;
  58. setOptions(options: Options): void;
  59. render(): string;
  60. }

Report a issue

License

Gantt is available under the terms of the MIT License.