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
JavaScript
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=