UNPKG

@ngx-performance-ui/ui

Version:
133 lines 11.6 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ElementRef, Input, ViewChild, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, } from '@angular/core'; import { take } from 'rxjs/operators'; import { LazyLoadScriptService } from '@ngx-performance-ui/core'; // https://developers.google.com/chart/interactive/docs/ var GoogleChartComponent = /** @class */ (function () { function GoogleChartComponent(lazyLoadScriptService) { var _this = this; this.lazyLoadScriptService = lazyLoadScriptService; this.chartType = 'AreaChart'; this.style = { width: '100%', height: 'auto' }; this.containerClasses = ''; this.drawFn = (/** * @param {?} _ * @return {?} */ function (_) { if (_this.dataTable && _this.dataTable.length) { _this.data = google.visualization.arrayToDataTable(_this.dataTable); } else if (_this.columns && _this.columns.length && _this.rows && _this.rows.length) { _this.data = new google.visualization.DataTable(); _this.columns.forEach((/** * @param {?} column * @return {?} */ function (column) { return _this.data.addColumn(column.type, column.label); })); _this.data.addRows(_this.rows); } else { console.error('Must set datatable or columns and rows inputs'); return; } _this.chart = new google.visualization[_this.chartType](_this.chartContainer.nativeElement); _this.chart.draw(_this.data, _this.options); _this.ready.emit(); }); this.ready = new EventEmitter(); } Object.defineProperty(GoogleChartComponent.prototype, "packages", { get: /** * @return {?} */ function () { if (this.chartType === 'AnnotationChart') return [this.chartType.toLowerCase()]; return ['corechart']; }, enumerable: true, configurable: true }); /** * @return {?} */ GoogleChartComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { var _this = this; this.lazyLoadScriptService .loadScript('https://www.gstatic.com/charts/loader.js') .pipe(take(1)) .subscribe((/** * @param {?} _ * @return {?} */ function (_) { google.charts.load('current', { packages: _this.packages }); google.charts.setOnLoadCallback(_this.drawFn); })); }; GoogleChartComponent.decorators = [ { type: Component, args: [{ selector: 'p-google-chart', template: "\n <div #chartContainer class=\"{{ containerClasses }}\" [ngStyle]=\"style\"></div>\n ", changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None }] } ]; /** @nocollapse */ GoogleChartComponent.ctorParameters = function () { return [ { type: LazyLoadScriptService } ]; }; GoogleChartComponent.propDecorators = { chartType: [{ type: Input }], dataTable: [{ type: Input }], columns: [{ type: Input }], rows: [{ type: Input }], options: [{ type: Input }], style: [{ type: Input }], containerClasses: [{ type: Input }], drawFn: [{ type: Input }], ready: [{ type: Output }], chartContainer: [{ type: ViewChild, args: ['chartContainer',] }] }; return GoogleChartComponent; }()); export { GoogleChartComponent }; if (false) { /** @type {?} */ GoogleChartComponent.prototype.chartType; /** @type {?} */ GoogleChartComponent.prototype.dataTable; /** @type {?} */ GoogleChartComponent.prototype.columns; /** @type {?} */ GoogleChartComponent.prototype.rows; /** @type {?} */ GoogleChartComponent.prototype.options; /** @type {?} */ GoogleChartComponent.prototype.style; /** @type {?} */ GoogleChartComponent.prototype.containerClasses; /** @type {?} */ GoogleChartComponent.prototype.drawFn; /** @type {?} */ GoogleChartComponent.prototype.ready; /** @type {?} */ GoogleChartComponent.prototype.chartContainer; /** @type {?} */ GoogleChartComponent.prototype.chart; /** @type {?} */ GoogleChartComponent.prototype.data; /** * @type {?} * @private */ GoogleChartComponent.prototype.lazyLoadScriptService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3gtcGVyZm9ybWFuY2UtdWkvdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9nb29nbGUtY2hhcnQvZ29vZ2xlLWNoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixFQUN2QixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUtqRTtJQWdFRSw4QkFBb0IscUJBQTRDO1FBQWhFLGlCQUFvRTtRQUFoRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBdERoRSxjQUFTLEdBQW9DLFdBQVcsQ0FBQztRQWV6RCxVQUFLLEdBQXVDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFHOUUscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBRzlCLFdBQU07Ozs7UUFBRyxVQUFBLENBQUM7WUFDUixJQUFJLEtBQUksQ0FBQyxTQUFTLElBQUksS0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7Z0JBQzNDLEtBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDbkU7aUJBQU0sSUFBSSxLQUFJLENBQUMsT0FBTyxJQUFJLEtBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLEtBQUksQ0FBQyxJQUFJLElBQUksS0FBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQy9FLEtBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqRCxLQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87Ozs7Z0JBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxLQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBOUMsQ0FBOEMsRUFBQyxDQUFDO2dCQUMvRSxLQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDOUI7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO2dCQUMvRCxPQUFPO2FBQ1I7WUFFRCxLQUFJLENBQUMsS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6RixLQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsSUFBSSxFQUFFLEtBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUV6QyxLQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLENBQUMsRUFBQztRQUdGLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBY2tDLENBQUM7SUFOcEUsc0JBQUksMENBQVE7Ozs7UUFBWjtZQUNFLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxpQkFBaUI7Z0JBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUVoRixPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkIsQ0FBQzs7O09BQUE7Ozs7SUFJRCw4Q0FBZTs7O0lBQWY7UUFBQSxpQkFRQztRQVBDLElBQUksQ0FBQyxxQkFBcUI7YUFDdkIsVUFBVSxDQUFDLDBDQUEwQyxDQUFDO2FBQ3RELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTOzs7O1FBQUMsVUFBQSxDQUFDO1lBQ1YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzNELE1BQU0sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0JBMUVGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsNEZBRVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs7OztnQkFaUSxxQkFBcUI7Ozs0QkFjM0IsS0FBSzs0QkFHTCxLQUFLOzBCQUdMLEtBQUs7dUJBR0wsS0FBSzswQkFHTCxLQUFLO3dCQUdMLEtBQUs7bUNBR0wsS0FBSzt5QkFHTCxLQUFLO3dCQW1CTCxNQUFNO2lDQUdOLFNBQVMsU0FBQyxnQkFBZ0I7O0lBdUI3QiwyQkFBQztDQUFBLEFBM0VELElBMkVDO1NBbkVZLG9CQUFvQjs7O0lBQy9CLHlDQUN5RDs7SUFFekQseUNBQ2lCOztJQUVqQix1Q0FDOEI7O0lBRTlCLG9DQUNtQjs7SUFFbkIsdUNBQ3NDOztJQUV0QyxxQ0FDOEU7O0lBRTlFLGdEQUM4Qjs7SUFFOUIsc0NBaUJFOztJQUVGLHFDQUNpQzs7SUFFakMsOENBQXdEOztJQUV4RCxxQ0FBa0I7O0lBRWxCLG9DQUFpQjs7Ozs7SUFRTCxxREFBb0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdvb2dsZUNoYXJ0IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IExhenlMb2FkU2NyaXB0U2VydmljZSB9IGZyb20gJ0BuZ3gtcGVyZm9ybWFuY2UtdWkvY29yZSc7XG5cbmRlY2xhcmUgdmFyIGdvb2dsZTtcblxuLy8gaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vY2hhcnQvaW50ZXJhY3RpdmUvZG9jcy9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZ29vZ2xlLWNoYXJ0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2ICNjaGFydENvbnRhaW5lciBjbGFzcz1cInt7IGNvbnRhaW5lckNsYXNzZXMgfX1cIiBbbmdTdHlsZV09XCJzdHlsZVwiPjwvZGl2PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgR29vZ2xlQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KClcbiAgY2hhcnRUeXBlOiAnQW5ub3RhdGlvbkNoYXJ0JyB8ICdBcmVhQ2hhcnQnID0gJ0FyZWFDaGFydCc7XG5cbiAgQElucHV0KClcbiAgZGF0YVRhYmxlOiBhbnlbXTtcblxuICBASW5wdXQoKVxuICBjb2x1bW5zOiBHb29nbGVDaGFydC5Db2x1bW5bXTtcblxuICBASW5wdXQoKVxuICByb3dzOiBBcnJheTxhbnlbXT47XG5cbiAgQElucHV0KClcbiAgb3B0aW9uczogR29vZ2xlQ2hhcnQuQW5ub3RhdGlvbk9wdGlvbjtcblxuICBASW5wdXQoKVxuICBzdHlsZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfSA9IHsgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnYXV0bycgfTtcblxuICBASW5wdXQoKVxuICBjb250YWluZXJDbGFzc2VzOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKVxuICBkcmF3Rm4gPSBfID0+IHtcbiAgICBpZiAodGhpcy5kYXRhVGFibGUgJiYgdGhpcy5kYXRhVGFibGUubGVuZ3RoKSB7XG4gICAgICB0aGlzLmRhdGEgPSBnb29nbGUudmlzdWFsaXphdGlvbi5hcnJheVRvRGF0YVRhYmxlKHRoaXMuZGF0YVRhYmxlKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29sdW1ucyAmJiB0aGlzLmNvbHVtbnMubGVuZ3RoICYmIHRoaXMucm93cyAmJiB0aGlzLnJvd3MubGVuZ3RoKSB7XG4gICAgICB0aGlzLmRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7XG4gICAgICB0aGlzLmNvbHVtbnMuZm9yRWFjaChjb2x1bW4gPT4gdGhpcy5kYXRhLmFkZENvbHVtbihjb2x1bW4udHlwZSwgY29sdW1uLmxhYmVsKSk7XG4gICAgICB0aGlzLmRhdGEuYWRkUm93cyh0aGlzLnJvd3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdNdXN0IHNldCBkYXRhdGFibGUgb3IgY29sdW1ucyBhbmQgcm93cyBpbnB1dHMnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uW3RoaXMuY2hhcnRUeXBlXSh0aGlzLmNoYXJ0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMuY2hhcnQuZHJhdyh0aGlzLmRhdGEsIHRoaXMub3B0aW9ucyk7XG5cbiAgICB0aGlzLnJlYWR5LmVtaXQoKTtcbiAgfTtcblxuICBAT3V0cHV0KClcbiAgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnY2hhcnRDb250YWluZXInKSBjaGFydENvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICBwdWJsaWMgY2hhcnQ6IGFueTtcblxuICBwdWJsaWMgZGF0YTogYW55O1xuXG4gIGdldCBwYWNrYWdlcygpOiBzdHJpbmdbXSB7XG4gICAgaWYgKHRoaXMuY2hhcnRUeXBlID09PSAnQW5ub3RhdGlvbkNoYXJ0JykgcmV0dXJuIFt0aGlzLmNoYXJ0VHlwZS50b0xvd2VyQ2FzZSgpXTtcblxuICAgIHJldHVybiBbJ2NvcmVjaGFydCddO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYXp5TG9hZFNjcmlwdFNlcnZpY2U6IExhenlMb2FkU2NyaXB0U2VydmljZSkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5sYXp5TG9hZFNjcmlwdFNlcnZpY2VcbiAgICAgIC5sb2FkU2NyaXB0KCdodHRwczovL3d3dy5nc3RhdGljLmNvbS9jaGFydHMvbG9hZGVyLmpzJylcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICBnb29nbGUuY2hhcnRzLmxvYWQoJ2N1cnJlbnQnLCB7IHBhY2thZ2VzOiB0aGlzLnBhY2thZ2VzIH0pO1xuICAgICAgICBnb29nbGUuY2hhcnRzLnNldE9uTG9hZENhbGxiYWNrKHRoaXMuZHJhd0ZuKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=