UNPKG

ngx-beautiful-charts

Version:
128 lines 11.2 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ // @Injectable({ // providedIn: BeautifulChartsModule // }) export class BarChartService { constructor() { } /** * @return {?} */ computeRectDimensions() { this.rectHeight = this.height - this.yPadding * 4; this.rectWidth = this.width - this.xPadding * 2; } /** * @param {?} y * @return {?} */ transformY(y) { return this.rectHeight * y / (this.maxY - this.minY); } /** * @param {?} factor * @param {?} num * @return {?} */ closestMultipleLessThanEqualTo(factor, num) { if (num % factor === 0) return num; else return this.closestMultipleLessThanEqualTo(factor, num - 1); } /** * @param {?} factor * @param {?} num * @return {?} */ closestMultipleMoreThanEqualTo(factor, num) { if (num % factor === 0) return num; else return this.closestMultipleMoreThanEqualTo(factor, num + 1); } /** * @param {?} __0 * @return {?} */ setValues({ componentID: componentID, width: width, height: height, xPadding: xPadding, yPadding: yPadding, data: data }) { this.componentID = componentID; this.width = width; this.height = height; this.xPadding = xPadding; this.yPadding = yPadding; this.data = data; // console.log('service color scheme: ' + this.colorScheme) /** @type {?} */ const minVal = Math.min(...this.data.map((/** * @param {?} oneData * @return {?} */ oneData => oneData.value))); /** @type {?} */ const maxVal = Math.max(...this.data.map((/** * @param {?} oneData * @return {?} */ oneData => oneData.value))); /** @type {?} */ const range = maxVal - minVal; /** @type {?} */ const limInc = 10; /** @type {?} */ let lim = 10; this.diff = 1; while (range > lim) { this.diff++; lim += limInc; } this.minY = this.closestMultipleLessThanEqualTo(this.diff, minVal); this.minY = this.minY - this.diff * 2; this.maxY = this.closestMultipleMoreThanEqualTo(this.diff, maxVal); this.maxY = this.maxY + this.diff * 2; this.computeRectDimensions(); // this.printAll(); } /** * @return {?} */ printAll() { console.log('line-graph-service'); console.log('component ID: ' + this.componentID); console.log('width: ' + this.width); console.log('height: ' + this.height); console.log('minY: ' + this.minY); console.log('maxY: ' + this.maxY); console.log('xPadding: ' + this.xPadding); console.log('yPadding: ' + this.yPadding); console.log('rectWidth: ' + this.rectWidth); console.log('rectHeight: ' + this.rectHeight); } } if (false) { /** @type {?} */ BarChartService.prototype.width; /** @type {?} */ BarChartService.prototype.height; /** @type {?} */ BarChartService.prototype.minY; /** @type {?} */ BarChartService.prototype.maxY; /** @type {?} */ BarChartService.prototype.xPadding; /** @type {?} */ BarChartService.prototype.yPadding; /** @type {?} */ BarChartService.prototype.componentID; /** @type {?} */ BarChartService.prototype.data; /** @type {?} */ BarChartService.prototype.rectWidth; /** @type {?} */ BarChartService.prototype.rectHeight; /** @type {?} */ BarChartService.prototype.diff; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyLWNoYXJ0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYmVhdXRpZnVsLWNoYXJ0cy8iLCJzb3VyY2VzIjpbImxpYi9iYXItY2hhcnQvYmFyLWNoYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQU9BLE1BQU0sT0FBTyxlQUFlO0lBZTFCLGdCQUFnQixDQUFDOzs7O0lBRWpCLHFCQUFxQjtRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLENBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Ozs7OztJQUVELDhCQUE4QixDQUFDLE1BQU0sRUFBRSxHQUFHO1FBQ3hDLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxHQUFHLENBQUM7O1lBQzlCLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7Ozs7O0lBRUQsOEJBQThCLENBQUMsTUFBTSxFQUFFLEdBQUc7UUFDeEMsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLEdBQUcsQ0FBQzs7WUFDOUIsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDOzs7OztJQUVELFNBQVMsQ0FBQyxFQUNSLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLEtB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YTs7SUFDYixtQ0FBaUI7O0lBQ2pCLG1DQUFpQjs7SUFDakIsc0NBQW9COztJQUNwQiwrQkFBdUM7O0lBRXZDLG9DQUFrQjs7SUFDbEIscUNBQW1COztJQUNuQiwrQkFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlYXV0aWZ1bENoYXJ0c01vZHVsZSB9IGZyb20gJy4uL2JlYXV0aWZ1bC1jaGFydHMubW9kdWxlJztcbmltcG9ydCB7IGNvbG9yU2NoZW1lcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb2xvci1zY2hlbWVzJztcblxuLy8gQEluamVjdGFibGUoe1xuLy8gICBwcm92aWRlZEluOiBCZWF1dGlmdWxDaGFydHNNb2R1bGVcbi8vIH0pXG5leHBvcnQgY2xhc3MgQmFyQ2hhcnRTZXJ2aWNlIHtcblxuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgbWluWTogbnVtYmVyO1xuICBtYXhZOiBudW1iZXI7XG4gIHhQYWRkaW5nOiBudW1iZXI7XG4gIHlQYWRkaW5nOiBudW1iZXI7XG4gIGNvbXBvbmVudElEOiBudW1iZXI7XG4gIGRhdGE6IFt7bmFtZTogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH1dO1xuXG4gIHJlY3RXaWR0aDogbnVtYmVyO1xuICByZWN0SGVpZ2h0OiBudW1iZXI7XG4gIGRpZmY6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIGNvbXB1dGVSZWN0RGltZW5zaW9ucygpIHtcbiAgICB0aGlzLnJlY3RIZWlnaHQgPSB0aGlzLmhlaWdodCAtIHRoaXMueVBhZGRpbmcgKiA0O1xuICAgIHRoaXMucmVjdFdpZHRoID0gdGhpcy53aWR0aCAtIHRoaXMueFBhZGRpbmcgKiAyO1xuICB9XG5cbiAgdHJhbnNmb3JtWSh5OiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5yZWN0SGVpZ2h0ICogeSAvICh0aGlzLm1heFkgLSB0aGlzLm1pblkpO1xuICB9XG5cbiAgY2xvc2VzdE11bHRpcGxlTGVzc1RoYW5FcXVhbFRvKGZhY3RvciwgbnVtKSB7XG4gICAgaWYgKG51bSAlIGZhY3RvciA9PT0gMCkgcmV0dXJuIG51bTtcbiAgICBlbHNlIHJldHVybiB0aGlzLmNsb3Nlc3RNdWx0aXBsZUxlc3NUaGFuRXF1YWxUbyhmYWN0b3IsIG51bSAtIDEpO1xuICB9XG5cbiAgY2xvc2VzdE11bHRpcGxlTW9yZVRoYW5FcXVhbFRvKGZhY3RvciwgbnVtKSB7XG4gICAgaWYgKG51bSAlIGZhY3RvciA9PT0gMCkgcmV0dXJuIG51bTtcbiAgICBlbHNlIHJldHVybiB0aGlzLmNsb3Nlc3RNdWx0aXBsZU1vcmVUaGFuRXF1YWxUbyhmYWN0b3IsIG51bSArIDEpO1xuICB9XG5cbiAgc2V0VmFsdWVzKHtcbiAgICBjb21wb25lbnRJRDogY29tcG9uZW50SUQsXG4gICAgd2lkdGg6IHdpZHRoLFxuICAgIGhlaWdodDogaGVpZ2h0LFxuICAgIHhQYWRkaW5nOiB4UGFkZGluZyxcbiAgICB5UGFkZGluZzogeVBhZGRpbmcsXG4gICAgZGF0YTogZGF0YVxuICB9KSB7XG4gICAgdGhpcy5jb21wb25lbnRJRCA9IGNvbXBvbmVudElEO1xuICAgIHRoaXMud2lkdGggPSB3aWR0aDtcbiAgICB0aGlzLmhlaWdodCA9IGhlaWdodDtcbiAgICB0aGlzLnhQYWRkaW5nID0geFBhZGRpbmc7XG4gICAgdGhpcy55UGFkZGluZyA9IHlQYWRkaW5nO1xuICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgLy8gY29uc29sZS5sb2coJ3NlcnZpY2UgY29sb3Igc2NoZW1lOiAnICsgdGhpcy5jb2xvclNjaGVtZSlcblxuICAgIGNvbnN0IG1pblZhbCA9IE1hdGgubWluKC4uLnRoaXMuZGF0YS5tYXAob25lRGF0YSA9PiBvbmVEYXRhLnZhbHVlKSk7XG4gICAgY29uc3QgbWF4VmFsID0gTWF0aC5tYXgoLi4udGhpcy5kYXRhLm1hcChvbmVEYXRhID0+IG9uZURhdGEudmFsdWUpKTtcbiAgICBjb25zdCByYW5nZSA9IG1heFZhbCAtIG1pblZhbDtcblxuICAgIGNvbnN0IGxpbUluYyA9IDEwO1xuICAgIGxldCBsaW0gPSAxMDtcbiAgICB0aGlzLmRpZmYgPSAxO1xuICAgIHdoaWxlIChyYW5nZSA+IGxpbSkge1xuICAgICAgdGhpcy5kaWZmKys7XG4gICAgICBsaW0gKz0gbGltSW5jO1xuICAgIH1cbiAgICB0aGlzLm1pblkgPSB0aGlzLmNsb3Nlc3RNdWx0aXBsZUxlc3NUaGFuRXF1YWxUbyh0aGlzLmRpZmYsIG1pblZhbCk7XG4gICAgdGhpcy5taW5ZID0gdGhpcy5taW5ZIC0gdGhpcy5kaWZmICogMjtcbiAgICB0aGlzLm1heFkgPSB0aGlzLmNsb3Nlc3RNdWx0aXBsZU1vcmVUaGFuRXF1YWxUbyh0aGlzLmRpZmYsIG1heFZhbCk7XG4gICAgdGhpcy5tYXhZID0gdGhpcy5tYXhZICsgdGhpcy5kaWZmICogMjtcblxuICAgIHRoaXMuY29tcHV0ZVJlY3REaW1lbnNpb25zKCk7XG4gICAgLy8gdGhpcy5wcmludEFsbCgpO1xuICB9XG5cbiAgcHJpbnRBbGwoKSB7XG4gICAgY29uc29sZS5sb2coJ2xpbmUtZ3JhcGgtc2VydmljZScpO1xuICAgIGNvbnNvbGUubG9nKCdjb21wb25lbnQgSUQ6ICcgKyB0aGlzLmNvbXBvbmVudElEKTtcbiAgICBjb25zb2xlLmxvZygnd2lkdGg6ICcgKyB0aGlzLndpZHRoKTtcbiAgICBjb25zb2xlLmxvZygnaGVpZ2h0OiAnICsgdGhpcy5oZWlnaHQpO1xuICAgIGNvbnNvbGUubG9nKCdtaW5ZOiAnICsgdGhpcy5taW5ZKTtcbiAgICBjb25zb2xlLmxvZygnbWF4WTogJyArIHRoaXMubWF4WSk7XG4gICAgY29uc29sZS5sb2coJ3hQYWRkaW5nOiAnICsgdGhpcy54UGFkZGluZyk7XG4gICAgY29uc29sZS5sb2coJ3lQYWRkaW5nOiAnICsgdGhpcy55UGFkZGluZyk7XG4gICAgY29uc29sZS5sb2coJ3JlY3RXaWR0aDogJyArIHRoaXMucmVjdFdpZHRoKTtcbiAgICBjb25zb2xlLmxvZygncmVjdEhlaWdodDogJyArIHRoaXMucmVjdEhlaWdodCk7XG4gIH1cbn1cbiJdfQ==