UNPKG

gantt-chart-angular

Version:

This library is used to generate gantt chart in angular application

94 lines (87 loc) 3.27 kB
import { __decorate } from 'tslib'; import { ɵɵdefineInjectable, Injectable, EventEmitter, ViewChild, Input, Output, Component, NgModule } from '@angular/core'; let GanttChartAngularService = class GanttChartAngularService { constructor() { } }; GanttChartAngularService.ɵprov = ɵɵdefineInjectable({ factory: function GanttChartAngularService_Factory() { return new GanttChartAngularService(); }, token: GanttChartAngularService, providedIn: "root" }); GanttChartAngularService = __decorate([ Injectable({ providedIn: 'root' }) ], GanttChartAngularService); let GanttChartAngularComponent = class GanttChartAngularComponent { constructor() { this.config = {}; this.onClick = new EventEmitter(); } ngOnInit() { setTimeout(() => { this.generateChart(); }, 1000); } /** * generate chart */ generateChart() { google.charts.load('current', { 'packages': ['gantt'] }); google.charts.setOnLoadCallback(() => { const data = new google.visualization.DataTable(); if (this.config && this.config.columns && this.config.columns.length) { this.config.columns.forEach(col => { data.addColumn(col.type, col.name); }); } const temp = []; if (this.config && this.config.data && this.config.data.length) { this.config.data.forEach(rowData => { const rowsData = []; this.config.columns.forEach(col => { rowsData.push(rowData[col.field]); }); temp.push(rowsData); }); data.addRows(temp); } const options = this.config.options; const chart = new google.visualization.Gantt(this.chartContainer.nativeElement); chart.draw(data, options); google.visualization.events.addListener(chart, 'select', () => { const selection = chart.getSelection(); this.onClick.emit({ selectedRow: selection[0] }); }); }); } }; __decorate([ ViewChild("chartContainer") ], GanttChartAngularComponent.prototype, "chartContainer", void 0); __decorate([ Input() ], GanttChartAngularComponent.prototype, "config", void 0); __decorate([ Output() ], GanttChartAngularComponent.prototype, "onClick", void 0); GanttChartAngularComponent = __decorate([ Component({ selector: 'gantt-chart-angular', template: "<div #chartContainer></div>\r\n", styles: [""] }) ], GanttChartAngularComponent); let GanttChartAngularModule = class GanttChartAngularModule { }; GanttChartAngularModule = __decorate([ NgModule({ declarations: [GanttChartAngularComponent], imports: [], exports: [GanttChartAngularComponent] }) ], GanttChartAngularModule); /* * Public API Surface of gantt-chart-angular */ /** * Generated bundle index. Do not edit. */ export { GanttChartAngularComponent, GanttChartAngularModule, GanttChartAngularService }; //# sourceMappingURL=gantt-chart-angular.js.map