ngx-beautiful-charts
Version:
A library to create charts in Angular
65 lines • 5.57 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component } from '@angular/core';
import { PieChartService } from '../pie-chart.service';
export class PieChartBaseComponent {
/**
* @param {?} pieChartService
*/
constructor(pieChartService) {
this.pieChartService = pieChartService;
}
/**
* @return {?}
*/
computeLegionXs() {
this.x1 = this.pieChartService.rectWidth + 2 * this.pieChartService.xPadding + this.pieChartService.legionWidth / 4 * .2;
this.x2 = this.pieChartService.rectHeight + 2 * this.pieChartService.xPadding + this.pieChartService.legionWidth / 4 * .8;
}
/**
* @param {?} i
* @return {?}
*/
computeLegionPath(i) {
/** @type {?} */
let path = 'M ';
/** @type {?} */
const y = this.pieChartService.yPadding + 25 + 30 * i;
path = path + this.x1 + ' ' + y + ' ' + this.x2 + ' ' + y;
return path;
}
/**
* @return {?}
*/
ngOnInit() {
this.computeLegionXs();
}
/**
* @return {?}
*/
ngOnChanges() {
this.computeLegionXs();
}
}
PieChartBaseComponent.decorators = [
{ type: Component, args: [{
selector: 'g[ngx-pie-chart-base]',
template: "<!-- Legion -->\n<svg:rect [attr.x]=\"2*pieChartService.xPadding + pieChartService.rectWidth\" \n[attr.y]=\"pieChartService.yPadding\" \n[attr.width]=\"pieChartService.legionWidth\" \n[attr.height]=\"pieChartService.legionHeight\" \nfill=\"#f1f1f1\" />\n\n\n<svg:g *ngFor=\"let x of pieChartService.data; index as i\">\n <svg:path class=\"legion-line\" [attr.d]=\"computeLegionPath(i)\" fill=\"none\" [attr.stroke]=\"x.color\" />\n <svg:text class=\"axis-text\" \n [attr.x]=\"pieChartService.rectWidth + 2*pieChartService.xPadding + pieChartService.legionWidth / 4\" \n [attr.y]=\"pieChartService.yPadding+30+30*i\" class=\"small\"> {{ x.name }} </svg:text>\n</svg:g>\n",
styles: [".legion-line{stroke-width:5}"]
}] }
];
/** @nocollapse */
PieChartBaseComponent.ctorParameters = () => [
{ type: PieChartService }
];
if (false) {
/** @type {?} */
PieChartBaseComponent.prototype.x1;
/** @type {?} */
PieChartBaseComponent.prototype.x2;
/** @type {?} */
PieChartBaseComponent.prototype.pieChartService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0LWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWJlYXV0aWZ1bC1jaGFydHMvIiwic291cmNlcyI6WyJsaWIvcGllLWNoYXJ0L3BpZS1jaGFydC1iYXNlL3BpZS1jaGFydC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBT3ZELE1BQU0sT0FBTyxxQkFBcUI7Ozs7SUFpQmhDLFlBQW1CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFJLENBQUM7Ozs7SUFaeEQsZUFBZTtRQUNiLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDekgsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM1SCxDQUFDOzs7OztJQUVELGlCQUFpQixDQUFDLENBQVM7O1lBQ3JCLElBQUksR0FBRyxJQUFJOztjQUNULENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDckQsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7SUFJRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7OztZQTlCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMscXJCQUE4Qzs7YUFFL0M7Ozs7WUFOUSxlQUFlOzs7O0lBU3RCLG1DQUFXOztJQUNYLG1DQUFXOztJQWNDLGdEQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaWVDaGFydFNlcnZpY2UgfSBmcm9tICcuLi9waWUtY2hhcnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dbbmd4LXBpZS1jaGFydC1iYXNlXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9waWUtY2hhcnQtYmFzZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BpZS1jaGFydC1iYXNlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUGllQ2hhcnRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIHgxOiBudW1iZXI7XG4gIHgyOiBudW1iZXI7XG5cbiAgY29tcHV0ZUxlZ2lvblhzKCkge1xuICAgIHRoaXMueDEgPSB0aGlzLnBpZUNoYXJ0U2VydmljZS5yZWN0V2lkdGggKyAyICogdGhpcy5waWVDaGFydFNlcnZpY2UueFBhZGRpbmcgKyB0aGlzLnBpZUNoYXJ0U2VydmljZS5sZWdpb25XaWR0aCAvIDQgKiAuMjtcbiAgICB0aGlzLngyID0gdGhpcy5waWVDaGFydFNlcnZpY2UucmVjdEhlaWdodCArIDIgKiB0aGlzLnBpZUNoYXJ0U2VydmljZS54UGFkZGluZyArIHRoaXMucGllQ2hhcnRTZXJ2aWNlLmxlZ2lvbldpZHRoIC8gNCAqIC44O1xuICB9XG5cbiAgY29tcHV0ZUxlZ2lvblBhdGgoaTogbnVtYmVyKSB7XG4gICAgbGV0IHBhdGggPSAnTSAnO1xuICAgIGNvbnN0IHkgPSB0aGlzLnBpZUNoYXJ0U2VydmljZS55UGFkZGluZyArIDI1ICsgMzAgKiBpO1xuICAgIHBhdGggPSBwYXRoICsgdGhpcy54MSArICcgJyArIHkgKyAnICcgKyB0aGlzLngyICsgJyAnICsgeTtcbiAgICByZXR1cm4gcGF0aDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwaWVDaGFydFNlcnZpY2U6IFBpZUNoYXJ0U2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb21wdXRlTGVnaW9uWHMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuY29tcHV0ZUxlZ2lvblhzKCk7XG4gIH1cblxufVxuIl19