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