UNPKG

ng-gantt-extended

Version:

Angular Gantt Editor (wrapper for [jsgantt-improved](https://github.com/jsGanttImproved/jsgantt-improved)). View/Edit Gantt file with formatting.

87 lines 11.4 kB
import { __assign } from "tslib"; import { Component, Input, ViewChild } from "@angular/core"; import * as JSGantt from "jsgantt-improved"; import { GanttEditorOptions } from "./gantt.editoroptions"; var GanttEditorComponent = /** @class */ (function () { function GanttEditorComponent() { this.id = "anggantteditor" + Math.floor(Math.random() * 1000000); this.optionsChanged = false; this.formats = ["Hour", "Day", "Week", "Month", "Quarter"]; this.showQueryBuilder = false; this.query = null; this.options = new GanttEditorOptions(); this.format = "week"; } Object.defineProperty(GanttEditorComponent.prototype, "data", { set: function (value) { this._data = value; if (this.editor) { this.destroy(); this.ngOnInit(); } }, enumerable: false, configurable: true }); GanttEditorComponent.prototype.ngOnInit = function () { var optionsBefore = this.options; if (!this.optionsChanged && this.editor) { optionsBefore = this.editor.options; } // document.getElementById('embedded-Gantt') var g = (this.editor = new JSGantt.GanttChart(this.ganttEditorContainer.nativeElement, this.format)); if (g.getDivId() != null) { // JSGantt.parseJSON('./fixes/data.json', g); g.setOptions(__assign({ vCaptionType: "Complete", vQuarterColWidth: 36, vDateTaskDisplayFormat: "day dd month yyyy", vDayMajorDateDisplayFormat: "mon yyyy - Week ww", vWeekMinorDateDisplayFormat: "dd mon", vShowTaskInfoLink: 1, vShowEndWeekDate: 0, vUseSingleCell: 10000, // Even with setUseSingleCell using Hour format on such a large chart can cause issues in some browsers vFormatArr: this.formats.slice(1) }, optionsBefore)); if (this._data && this._data.forEach) { this._data.forEach(function (row) { row.pGantt = g; g.AddTaskItemObject(row); }); } g.Draw(); } }; // public get(): JSON { // return this.editor.get(); // } GanttEditorComponent.prototype.setOptions = function (newOptions) { if (this.editor) { this.destroy(); } this.optionsChanged = true; this.options = newOptions; this.ngOnInit(); }; GanttEditorComponent.prototype.addLang = function (lang, option) { if (this.editor) { var g = this.editor; g.addLang(lang, option); } }; GanttEditorComponent.prototype.destroy = function () { // this.editor.destroy(); }; GanttEditorComponent.prototype.getEditor = function () { return this.editor; }; GanttEditorComponent.decorators = [ { type: Component, args: [{ // tslint:disable-next-line:component-selector selector: "ng-gantt", template: '<div [id]="id" #ganttEditorContainer></div>' },] } ]; GanttEditorComponent.ctorParameters = function () { return []; }; GanttEditorComponent.propDecorators = { ganttEditorContainer: [{ type: ViewChild, args: ["ganttEditorContainer", { static: true },] }], options: [{ type: Input }], format: [{ type: Input }], data: [{ type: Input, args: ["data",] }] }; return GanttEditorComponent; }()); export { GanttEditorComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZ2FudHQtZXh0ZW5kZWQvIiwic291cmNlcyI6WyJnYW50dC9nYW50dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTNEO0lBNkJFO1FBdEJPLE9BQUUsR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUM1RCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixZQUFPLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdEQscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLFVBQUssR0FBRyxJQUFJLENBQUM7UUFPWCxZQUFPLEdBQXVCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUN2RCxXQUFNLEdBQUcsTUFBTSxDQUFDO0lBVVYsQ0FBQztJQVRoQixzQkFDSSxzQ0FBSTthQURSLFVBQ1MsS0FBYTtZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNqQjtRQUNILENBQUM7OztPQUFBO0lBSUQsdUNBQVEsR0FBUjtRQUNFLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN2QyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDckM7UUFFRCw0Q0FBNEM7UUFDNUMsSUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQVUsT0FBUSxDQUFDLFVBQVUsQ0FDcEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsRUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDeEIsNkNBQTZDO1lBRTdDLENBQUMsQ0FBQyxVQUFVLFlBQ1YsWUFBWSxFQUFFLFVBQVUsRUFDeEIsZ0JBQWdCLEVBQUUsRUFBRSxFQUNwQixzQkFBc0IsRUFBRSxtQkFBbUIsRUFDM0MsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQ2hELDJCQUEyQixFQUFFLFFBQVEsRUFDckMsaUJBQWlCLEVBQUUsQ0FBQyxFQUNwQixnQkFBZ0IsRUFBRSxDQUFDLEVBQ25CLGNBQWMsRUFBRSxLQUFLO2dCQUNyQix1R0FBdUc7Z0JBQ3ZHLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFDOUIsYUFBYSxFQUNoQixDQUFDO1lBQ0gsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO2dCQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFDLEdBQUc7b0JBQ3JCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO29CQUNmLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUNELENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNWO0lBQ0gsQ0FBQztJQUVELHVCQUF1QjtJQUN2Qiw4QkFBOEI7SUFDOUIsSUFBSTtJQUVHLHlDQUFVLEdBQWpCLFVBQWtCLFVBQThCO1FBQzlDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoQjtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sc0NBQU8sR0FBZCxVQUFlLElBQUksRUFBRSxNQUFNO1FBQ3pCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU0sc0NBQU8sR0FBZDtRQUNFLHlCQUF5QjtJQUMzQixDQUFDO0lBRU0sd0NBQVMsR0FBaEI7UUFDRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQzs7Z0JBL0ZGLFNBQVMsU0FBQztvQkFDVCw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUUsNkNBQTZDO2lCQUN4RDs7Ozt1Q0FTRSxTQUFTLFNBQUMsc0JBQXNCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOzBCQUtsRCxLQUFLO3lCQUNMLEtBQUs7dUJBQ0wsS0FBSyxTQUFDLE1BQU07O0lBNEVmLDJCQUFDO0NBQUEsQUFoR0QsSUFnR0M7U0EzRlksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgKiBhcyBKU0dhbnR0IGZyb20gXCJqc2dhbnR0LWltcHJvdmVkXCI7XHJcbmltcG9ydCB7IEdhbnR0RWRpdG9yT3B0aW9ucyB9IGZyb20gXCIuL2dhbnR0LmVkaXRvcm9wdGlvbnNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogXCJuZy1nYW50dFwiLFxyXG4gIHRlbXBsYXRlOiAnPGRpdiBbaWRdPVwiaWRcIiAjZ2FudHRFZGl0b3JDb250YWluZXI+PC9kaXY+JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdhbnR0RWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcml2YXRlIGVkaXRvcjogYW55O1xyXG4gIHB1YmxpYyBpZCA9IFwiYW5nZ2FudHRlZGl0b3JcIiArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDApO1xyXG4gIHB1YmxpYyBvcHRpb25zQ2hhbmdlZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBmb3JtYXRzID0gW1wiSG91clwiLCBcIkRheVwiLCBcIldlZWtcIiwgXCJNb250aFwiLCBcIlF1YXJ0ZXJcIl07XHJcbiAgcHVibGljIHNob3dRdWVyeUJ1aWxkZXIgPSBmYWxzZTtcclxuICBwdWJsaWMgcXVlcnkgPSBudWxsO1xyXG5cclxuICBAVmlld0NoaWxkKFwiZ2FudHRFZGl0b3JDb250YWluZXJcIiwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBnYW50dEVkaXRvckNvbnRhaW5lcjogRWxlbWVudFJlZjtcclxuXHJcbiAgcHJpdmF0ZSBfZGF0YTtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uczogR2FudHRFZGl0b3JPcHRpb25zID0gbmV3IEdhbnR0RWRpdG9yT3B0aW9ucygpO1xyXG4gIEBJbnB1dCgpIGZvcm1hdCA9IFwid2Vla1wiO1xyXG4gIEBJbnB1dChcImRhdGFcIilcclxuICBzZXQgZGF0YSh2YWx1ZTogT2JqZWN0KSB7XHJcbiAgICB0aGlzLl9kYXRhID0gdmFsdWU7XHJcbiAgICBpZiAodGhpcy5lZGl0b3IpIHtcclxuICAgICAgdGhpcy5kZXN0cm95KCk7XHJcbiAgICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBsZXQgb3B0aW9uc0JlZm9yZSA9IHRoaXMub3B0aW9ucztcclxuICAgIGlmICghdGhpcy5vcHRpb25zQ2hhbmdlZCAmJiB0aGlzLmVkaXRvcikge1xyXG4gICAgICBvcHRpb25zQmVmb3JlID0gdGhpcy5lZGl0b3Iub3B0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICAvLyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZW1iZWRkZWQtR2FudHQnKVxyXG4gICAgY29uc3QgZyA9ICh0aGlzLmVkaXRvciA9IG5ldyAoPGFueT5KU0dhbnR0KS5HYW50dENoYXJ0KFxyXG4gICAgICB0aGlzLmdhbnR0RWRpdG9yQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgIHRoaXMuZm9ybWF0XHJcbiAgICApKTtcclxuXHJcbiAgICBpZiAoZy5nZXREaXZJZCgpICE9IG51bGwpIHtcclxuICAgICAgLy8gSlNHYW50dC5wYXJzZUpTT04oJy4vZml4ZXMvZGF0YS5qc29uJywgZyk7XHJcblxyXG4gICAgICBnLnNldE9wdGlvbnMoe1xyXG4gICAgICAgIHZDYXB0aW9uVHlwZTogXCJDb21wbGV0ZVwiLCAvLyBTZXQgdG8gU2hvdyBDYXB0aW9uIDogTm9uZSxDYXB0aW9uLFJlc291cmNlLER1cmF0aW9uLENvbXBsZXRlLFxyXG4gICAgICAgIHZRdWFydGVyQ29sV2lkdGg6IDM2LFxyXG4gICAgICAgIHZEYXRlVGFza0Rpc3BsYXlGb3JtYXQ6IFwiZGF5IGRkIG1vbnRoIHl5eXlcIiwgLy8gU2hvd24gaW4gdG9vbCB0aXAgYm94XHJcbiAgICAgICAgdkRheU1ham9yRGF0ZURpc3BsYXlGb3JtYXQ6IFwibW9uIHl5eXkgLSBXZWVrIHd3XCIsIC8vIFNldCBmb3JtYXQgdG8gZGlzcGxheSBkYXRlcyBpbiB0aGUgXCJNYWpvclwiIGhlYWRlciBvZiB0aGUgXCJEYXlcIiB2aWV3XHJcbiAgICAgICAgdldlZWtNaW5vckRhdGVEaXNwbGF5Rm9ybWF0OiBcImRkIG1vblwiLCAvLyBTZXQgZm9ybWF0IHRvIGRpc3BsYXkgZGF0ZXMgaW4gdGhlIFwiTWlub3JcIiBoZWFkZXIgb2YgdGhlIFwiV2Vla1wiIHZpZXdcclxuICAgICAgICB2U2hvd1Rhc2tJbmZvTGluazogMSwgLy8gU2hvdyBsaW5rIGluIHRvb2wgdGlwICgwLzEpXHJcbiAgICAgICAgdlNob3dFbmRXZWVrRGF0ZTogMCwgLy8gU2hvdy9IaWRlIHRoZSBkYXRlIGZvciB0aGUgbGFzdCBkYXkgb2YgdGhlIHdlZWsgaW4gaGVhZGVyIGZvclxyXG4gICAgICAgIHZVc2VTaW5nbGVDZWxsOiAxMDAwMCxcclxuICAgICAgICAvLyBFdmVuIHdpdGggc2V0VXNlU2luZ2xlQ2VsbCB1c2luZyBIb3VyIGZvcm1hdCBvbiBzdWNoIGEgbGFyZ2UgY2hhcnQgY2FuIGNhdXNlIGlzc3VlcyBpbiBzb21lIGJyb3dzZXJzXHJcbiAgICAgICAgdkZvcm1hdEFycjogdGhpcy5mb3JtYXRzLnNsaWNlKDEpLFxyXG4gICAgICAgIC4uLm9wdGlvbnNCZWZvcmUsXHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAodGhpcy5fZGF0YSAmJiB0aGlzLl9kYXRhLmZvckVhY2gpIHtcclxuICAgICAgICB0aGlzLl9kYXRhLmZvckVhY2goKHJvdykgPT4ge1xyXG4gICAgICAgICAgcm93LnBHYW50dCA9IGc7XHJcbiAgICAgICAgICBnLkFkZFRhc2tJdGVtT2JqZWN0KHJvdyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZy5EcmF3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgZ2V0KCk6IEpTT04ge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuZWRpdG9yLmdldCgpO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIHNldE9wdGlvbnMobmV3T3B0aW9uczogR2FudHRFZGl0b3JPcHRpb25zKSB7XHJcbiAgICBpZiAodGhpcy5lZGl0b3IpIHtcclxuICAgICAgdGhpcy5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9wdGlvbnNDaGFuZ2VkID0gdHJ1ZTtcclxuICAgIHRoaXMub3B0aW9ucyA9IG5ld09wdGlvbnM7XHJcbiAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkTGFuZyhsYW5nLCBvcHRpb24pIHtcclxuICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICBjb25zdCBnID0gdGhpcy5lZGl0b3I7XHJcbiAgICAgIGcuYWRkTGFuZyhsYW5nLCBvcHRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRlc3Ryb3koKSB7XHJcbiAgICAvLyB0aGlzLmVkaXRvci5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RWRpdG9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdG9yO1xyXG4gIH1cclxufVxyXG4iXX0=