ngx-beautiful-charts
Version:
A library to create charts in Angular
110 lines • 10.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
// @Injectable({
// providedIn: BeautifulChartsModule
// })
export class MultiLineGraphService {
constructor() { }
/**
* @return {?}
*/
computeRectDimensions() {
this.rectHeight = this.height - this.yPadding * 4;
this.rectWidth = this.width * .6 - this.xPadding * 2;
}
/**
* @return {?}
*/
computeLegionDimensions() {
/** @type {?} */
const noOfLines = this.dataLength;
this.legionWidth = this.width * .4 - this.xPadding * 2;
this.legionHeight = 60 + 30 * noOfLines - 19;
}
/**
* @param {?} x
* @return {?}
*/
transformX(x) {
return this.rectWidth * x / (this.maxX - this.minX);
}
/**
* @param {?} y
* @return {?}
*/
transformY(y) {
return this.rectHeight * y / (this.maxY - this.minY);
}
/**
* @param {?} __0
* @return {?}
*/
setValues({ componentID: componentID, width: width, height: height, minX: minX, minY: minY, maxX: maxX, maxY: maxY, dataLength: dataLength, xPadding: xPadding, yPadding: yPadding }) {
this.componentID = componentID;
this.width = width;
this.height = height;
this.minX = minX;
this.minY = minY;
this.maxX = maxX;
this.maxY = maxY;
this.dataLength = dataLength;
this.xPadding = xPadding;
this.yPadding = yPadding;
// console.log('service color scheme: ' + this.colorScheme)
this.computeRectDimensions();
this.computeLegionDimensions();
// this.printAll();
}
/**
* @return {?}
*/
printAll() {
console.log('multi-line-graph-service');
console.log('component ID: ' + this.componentID);
console.log('width: ' + this.width);
console.log('height: ' + this.height);
console.log('minX: ' + this.minX);
console.log('minY: ' + this.minY);
console.log('maxX: ' + this.maxX);
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);
console.log('legionWidth: ' + this.legionWidth);
console.log('legionHeight: ' + this.legionHeight);
}
}
if (false) {
/** @type {?} */
MultiLineGraphService.prototype.width;
/** @type {?} */
MultiLineGraphService.prototype.height;
/** @type {?} */
MultiLineGraphService.prototype.minX;
/** @type {?} */
MultiLineGraphService.prototype.minY;
/** @type {?} */
MultiLineGraphService.prototype.maxX;
/** @type {?} */
MultiLineGraphService.prototype.maxY;
/** @type {?} */
MultiLineGraphService.prototype.xPadding;
/** @type {?} */
MultiLineGraphService.prototype.yPadding;
/** @type {?} */
MultiLineGraphService.prototype.dataLength;
/** @type {?} */
MultiLineGraphService.prototype.componentID;
/** @type {?} */
MultiLineGraphService.prototype.rectWidth;
/** @type {?} */
MultiLineGraphService.prototype.rectHeight;
/** @type {?} */
MultiLineGraphService.prototype.legionWidth;
/** @type {?} */
MultiLineGraphService.prototype.legionHeight;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktbGluZS1ncmFwaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWJlYXV0aWZ1bC1jaGFydHMvIiwic291cmNlcyI6WyJsaWIvbXVsdGktbGluZS1ncmFwaC9tdWx0aS1saW5lLWdyYXBoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQU9BLE1BQU0sT0FBTyxxQkFBcUI7SUFrQmhDLGdCQUFnQixDQUFDOzs7O0lBRWpCLHFCQUFxQjtRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDOzs7O0lBRUQsdUJBQXVCOztjQUNmLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVTtRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQy9DLENBQUM7Ozs7O0lBR0QsVUFBVSxDQUFDLENBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLENBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Ozs7O0lBRUQsU0FBUyxDQUFDLEVBQ1IsV0FBVyxFQUFFLFdBQVcsRUFDeEIsS0FBSyxFQUFFLEtBQUssRUFDWixNQUFNLEVBQUUsTUFBTSxFQUNkLElBQUksRUFBRSxJQUFJLEVBQ1YsSUFBSSxFQUFFLElBQUksRUFDVixJQUFJLEVBQUUsSUFBSSxFQUNWLElBQUksRUFBRSxJQUFJLEVBQ1YsVUFBVSxFQUFFLFVBQVUsRUFDdEIsUUFBUSxFQUFFLFFBQVEsRUFDbEIsUUFBUSxFQUFFLFFBQVEsRUFDbkI7UUFDQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QiwyREFBMkQ7UUFDM0QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDL0IsbUJBQW1CO0lBQ3JCLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGOzs7SUFsRkMsc0NBQWM7O0lBQ2QsdUNBQWU7O0lBQ2YscUNBQWE7O0lBQ2IscUNBQWE7O0lBQ2IscUNBQWE7O0lBQ2IscUNBQWE7O0lBQ2IseUNBQWlCOztJQUNqQix5Q0FBaUI7O0lBQ2pCLDJDQUFtQjs7SUFDbkIsNENBQW9COztJQUVwQiwwQ0FBa0I7O0lBQ2xCLDJDQUFtQjs7SUFDbkIsNENBQW9COztJQUNwQiw2Q0FBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWF1dGlmdWxDaGFydHNNb2R1bGUgfSBmcm9tICcuLi9iZWF1dGlmdWwtY2hhcnRzLm1vZHVsZSc7XG5pbXBvcnQgeyBjb2xvclNjaGVtZXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29sb3Itc2NoZW1lcyc7XG5cbi8vIEBJbmplY3RhYmxlKHtcbi8vICAgcHJvdmlkZWRJbjogQmVhdXRpZnVsQ2hhcnRzTW9kdWxlXG4vLyB9KVxuZXhwb3J0IGNsYXNzIE11bHRpTGluZUdyYXBoU2VydmljZSB7XG5cbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIG1pblg6IG51bWJlcjtcbiAgbWluWTogbnVtYmVyO1xuICBtYXhYOiBudW1iZXI7XG4gIG1heFk6IG51bWJlcjtcbiAgeFBhZGRpbmc6IG51bWJlcjtcbiAgeVBhZGRpbmc6IG51bWJlcjtcbiAgZGF0YUxlbmd0aDogbnVtYmVyO1xuICBjb21wb25lbnRJRDogbnVtYmVyO1xuXG4gIHJlY3RXaWR0aDogbnVtYmVyO1xuICByZWN0SGVpZ2h0OiBudW1iZXI7XG4gIGxlZ2lvbldpZHRoOiBudW1iZXI7XG4gIGxlZ2lvbkhlaWdodDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgY29tcHV0ZVJlY3REaW1lbnNpb25zKCkge1xuICAgIHRoaXMucmVjdEhlaWdodCA9IHRoaXMuaGVpZ2h0IC0gdGhpcy55UGFkZGluZyAqIDQ7XG4gICAgdGhpcy5yZWN0V2lkdGggPSB0aGlzLndpZHRoICogLjYgLSB0aGlzLnhQYWRkaW5nICogMjtcbiAgfVxuXG4gIGNvbXB1dGVMZWdpb25EaW1lbnNpb25zKCkge1xuICAgIGNvbnN0IG5vT2ZMaW5lcyA9IHRoaXMuZGF0YUxlbmd0aDtcbiAgICB0aGlzLmxlZ2lvbldpZHRoID0gdGhpcy53aWR0aCAqIC40IC0gdGhpcy54UGFkZGluZyAqIDI7XG4gICAgdGhpcy5sZWdpb25IZWlnaHQgPSA2MCArIDMwICogbm9PZkxpbmVzIC0gMTk7XG4gIH1cblxuXG4gIHRyYW5zZm9ybVgoeDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjdFdpZHRoICogeCAvICh0aGlzLm1heFggLSB0aGlzLm1pblgpO1xuICB9XG5cbiAgdHJhbnNmb3JtWSh5OiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5yZWN0SGVpZ2h0ICogeSAvICh0aGlzLm1heFkgLSB0aGlzLm1pblkpO1xuICB9XG5cbiAgc2V0VmFsdWVzKHtcbiAgICBjb21wb25lbnRJRDogY29tcG9uZW50SUQsXG4gICAgd2lkdGg6IHdpZHRoLFxuICAgIGhlaWdodDogaGVpZ2h0LFxuICAgIG1pblg6IG1pblgsXG4gICAgbWluWTogbWluWSxcbiAgICBtYXhYOiBtYXhYLFxuICAgIG1heFk6IG1heFksXG4gICAgZGF0YUxlbmd0aDogZGF0YUxlbmd0aCxcbiAgICB4UGFkZGluZzogeFBhZGRpbmcsXG4gICAgeVBhZGRpbmc6IHlQYWRkaW5nXG4gIH0pIHtcbiAgICB0aGlzLmNvbXBvbmVudElEID0gY29tcG9uZW50SUQ7XG4gICAgdGhpcy53aWR0aCA9IHdpZHRoO1xuICAgIHRoaXMuaGVpZ2h0ID0gaGVpZ2h0O1xuICAgIHRoaXMubWluWCA9IG1pblg7XG4gICAgdGhpcy5taW5ZID0gbWluWTtcbiAgICB0aGlzLm1heFggPSBtYXhYO1xuICAgIHRoaXMubWF4WSA9IG1heFk7XG4gICAgdGhpcy5kYXRhTGVuZ3RoID0gZGF0YUxlbmd0aDtcbiAgICB0aGlzLnhQYWRkaW5nID0geFBhZGRpbmc7XG4gICAgdGhpcy55UGFkZGluZyA9IHlQYWRkaW5nO1xuICAgIC8vIGNvbnNvbGUubG9nKCdzZXJ2aWNlIGNvbG9yIHNjaGVtZTogJyArIHRoaXMuY29sb3JTY2hlbWUpXG4gICAgdGhpcy5jb21wdXRlUmVjdERpbWVuc2lvbnMoKTtcbiAgICB0aGlzLmNvbXB1dGVMZWdpb25EaW1lbnNpb25zKCk7XG4gICAgLy8gdGhpcy5wcmludEFsbCgpO1xuICB9XG5cbiAgcHJpbnRBbGwoKSB7XG4gICAgY29uc29sZS5sb2coJ211bHRpLWxpbmUtZ3JhcGgtc2VydmljZScpO1xuICAgIGNvbnNvbGUubG9nKCdjb21wb25lbnQgSUQ6ICcgKyB0aGlzLmNvbXBvbmVudElEKTtcbiAgICBjb25zb2xlLmxvZygnd2lkdGg6ICcgKyB0aGlzLndpZHRoKTtcbiAgICBjb25zb2xlLmxvZygnaGVpZ2h0OiAnICsgdGhpcy5oZWlnaHQpO1xuICAgIGNvbnNvbGUubG9nKCdtaW5YOiAnICsgdGhpcy5taW5YKTtcbiAgICBjb25zb2xlLmxvZygnbWluWTogJyArIHRoaXMubWluWSk7XG4gICAgY29uc29sZS5sb2coJ21heFg6ICcgKyB0aGlzLm1heFgpO1xuICAgIGNvbnNvbGUubG9nKCdtYXhZOiAnICsgdGhpcy5tYXhZKTtcbiAgICBjb25zb2xlLmxvZygneFBhZGRpbmc6ICcgKyB0aGlzLnhQYWRkaW5nKTtcbiAgICBjb25zb2xlLmxvZygneVBhZGRpbmc6ICcgKyB0aGlzLnlQYWRkaW5nKTtcbiAgICBjb25zb2xlLmxvZygncmVjdFdpZHRoOiAnICsgdGhpcy5yZWN0V2lkdGgpO1xuICAgIGNvbnNvbGUubG9nKCdyZWN0SGVpZ2h0OiAnICsgdGhpcy5yZWN0SGVpZ2h0KTtcbiAgICBjb25zb2xlLmxvZygnbGVnaW9uV2lkdGg6ICcgKyB0aGlzLmxlZ2lvbldpZHRoKTtcbiAgICBjb25zb2xlLmxvZygnbGVnaW9uSGVpZ2h0OiAnICsgdGhpcy5sZWdpb25IZWlnaHQpO1xuICB9XG59XG4iXX0=