ngx-frappe-chart
Version:
A simple and easy to use angular wrapper on top of frappe for generating awesome graphs.
81 lines • 6.21 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import { Directive, ElementRef, Input } from '@angular/core';
import { FrappeChartsConstants } from '../constants/frappe-charts.constants';
export class FrappeChartsPercentageDirective {
/**
* @param {?} el
*/
constructor(el) {
this.el = el;
}
/**
* @return {?}
*/
ngOnChanges() {
/** @type {?} */
const chart = new frappe.Chart(this.el.nativeElement, this.getPieInputs());
}
/**
* @return {?}
*/
getPieInputs() {
/** @type {?} */
const pieobject = {};
pieobject['colors'] = this.colors;
pieobject['type'] = this.type;
pieobject['title'] = this.title;
pieobject['data'] = this.data;
pieobject['height'] = this.height;
pieobject['maxSlices'] = this.maxSlices;
this.addBarOptions(pieobject);
return pieobject;
}
/**
* @param {?} pieobject
* @return {?}
*/
addBarOptions(pieobject) {
if (this.type === FrappeChartsConstants.chartType.percentage) {
pieobject['barOptions'] = this.barOptions;
}
}
}
FrappeChartsPercentageDirective.decorators = [
{ type: Directive, args: [{
selector: '[ngxFrappeChartsPercentage]'
},] },
];
FrappeChartsPercentageDirective.ctorParameters = () => [
{ type: ElementRef }
];
FrappeChartsPercentageDirective.propDecorators = {
title: [{ type: Input }],
data: [{ type: Input }],
colors: [{ type: Input }],
height: [{ type: Input }],
type: [{ type: Input }],
maxSlices: [{ type: Input }],
barOptions: [{ type: Input }]
};
if (false) {
/** @type {?} */
FrappeChartsPercentageDirective.prototype.title;
/** @type {?} */
FrappeChartsPercentageDirective.prototype.data;
/** @type {?} */
FrappeChartsPercentageDirective.prototype.colors;
/** @type {?} */
FrappeChartsPercentageDirective.prototype.height;
/** @type {?} */
FrappeChartsPercentageDirective.prototype.type;
/** @type {?} */
FrappeChartsPercentageDirective.prototype.maxSlices;
/** @type {?} */
FrappeChartsPercentageDirective.prototype.barOptions;
/** @type {?} */
FrappeChartsPercentageDirective.prototype.el;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhcHBlLWNoYXJ0cy1wZXJjZW50YWdlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1mcmFwcGUtY2hhcnQvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9mcmFwcGUtY2hhcnRzLXBlcmNlbnRhZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFTN0UsTUFBTTs7OztJQVNKLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUcsQ0FBQzs7OztJQUV0QyxXQUFXOztjQUNILEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVFLENBQUM7Ozs7SUFFRCxZQUFZOztjQUNKLFNBQVMsR0FBRyxFQUFFO1FBQ3BCLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ2xDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzlCLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2hDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzlCLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ2xDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUIsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUNuQixDQUFDOzs7OztJQUVELGFBQWEsQ0FBQyxTQUFTO1FBQ3JCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUsscUJBQXFCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDN0QsU0FBUyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7OztZQWxDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjthQUN4Qzs7O1lBVm1CLFVBQVU7OztvQkFZM0IsS0FBSzttQkFDTCxLQUFLO3FCQUNMLEtBQUs7cUJBQ0wsS0FBSzttQkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSzs7OztJQU5OLGdEQUF3Qjs7SUFDeEIsK0NBQThCOztJQUM5QixpREFBMkI7O0lBQzNCLGlEQUF5Qjs7SUFDekIsK0NBQXNCOztJQUN0QixvREFBNEI7O0lBQzVCLHFEQUFpQzs7SUFFckIsNkNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGcmFwcGVDaGFydHNDb25zdGFudHMgfSBmcm9tICcuLi9jb25zdGFudHMvZnJhcHBlLWNoYXJ0cy5jb25zdGFudHMnO1xuaW1wb3J0IHsgQmFyT3B0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMvcGVyY2VudGFnZS1iYXItb3B0aW9ucy5tb2RlbCc7XG5pbXBvcnQgeyBHcmFwaERhdGFNb2RlbCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZ3JhcGgtZGF0YS5tb2RlbCc7XG5cbmRlY2xhcmUgdmFyIGZyYXBwZTogYW55O1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmd4RnJhcHBlQ2hhcnRzUGVyY2VudGFnZV0nXG59KVxuZXhwb3J0IGNsYXNzIEZyYXBwZUNoYXJ0c1BlcmNlbnRhZ2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgZGF0YTogR3JhcGhEYXRhTW9kZWw7XG4gIEBJbnB1dCgpIGNvbG9ycz86IHN0cmluZ1tdO1xuICBASW5wdXQoKSBoZWlnaHQ/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZzsgLy8gcGllICwgcGVyY2VudGFnZVxuICBASW5wdXQoKSBtYXhTbGljZXM/OiBudW1iZXI7IC8vIHJlc3RyaWN0IG51bWJlciBvZiBzbGljZXNcbiAgQElucHV0KCkgYmFyT3B0aW9ucz86IEJhck9wdGlvbnM7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBjb25zdCBjaGFydCA9IG5ldyBmcmFwcGUuQ2hhcnQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLmdldFBpZUlucHV0cygpKTtcbiAgfVxuXG4gIGdldFBpZUlucHV0cygpOiBhbnkge1xuICAgIGNvbnN0IHBpZW9iamVjdCA9IHt9O1xuICAgIHBpZW9iamVjdFsnY29sb3JzJ10gPSB0aGlzLmNvbG9ycztcbiAgICBwaWVvYmplY3RbJ3R5cGUnXSA9IHRoaXMudHlwZTtcbiAgICBwaWVvYmplY3RbJ3RpdGxlJ10gPSB0aGlzLnRpdGxlO1xuICAgIHBpZW9iamVjdFsnZGF0YSddID0gdGhpcy5kYXRhO1xuICAgIHBpZW9iamVjdFsnaGVpZ2h0J10gPSB0aGlzLmhlaWdodDtcbiAgICBwaWVvYmplY3RbJ21heFNsaWNlcyddID0gdGhpcy5tYXhTbGljZXM7XG4gICAgdGhpcy5hZGRCYXJPcHRpb25zKHBpZW9iamVjdCk7XG4gICAgcmV0dXJuIHBpZW9iamVjdDtcbiAgfVxuXG4gIGFkZEJhck9wdGlvbnMocGllb2JqZWN0KSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gRnJhcHBlQ2hhcnRzQ29uc3RhbnRzLmNoYXJ0VHlwZS5wZXJjZW50YWdlKSB7XG4gICAgICBwaWVvYmplY3RbJ2Jhck9wdGlvbnMnXSA9IHRoaXMuYmFyT3B0aW9ucztcbiAgICB9XG4gIH1cbn1cbiJdfQ==