UNPKG

angular-google-charts

Version:

A wrapper for the Google Charts library written with Angular

38 lines 4.54 kB
import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; export class DataTableService { create(data, columns, formatters) { if (data == null) { return undefined; } let firstRowIsData = true; if (columns != null) { firstRowIsData = false; } const dataTable = google.visualization.arrayToDataTable(this.getDataAsTable(data, columns), firstRowIsData); if (formatters) { this.applyFormatters(dataTable, formatters); } return dataTable; } getDataAsTable(data, columns) { if (columns) { return [columns, ...data]; } else { return data; } } applyFormatters(dataTable, formatters) { for (const val of formatters) { val.formatter.format(dataTable, val.colIndex); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataTableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataTableService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataTableService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1nb29nbGUtY2hhcnRzL3NyYy9saWIvc2VydmljZXMvZGF0YS10YWJsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsTUFBTSxDQUNYLElBQXVCLEVBQ3ZCLE9BQWtCLEVBQ2xCLFVBQXdCO1FBRXhCLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNoQixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELElBQUksY0FBYyxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLE9BQU8sSUFBSSxJQUFJLEVBQUU7WUFDbkIsY0FBYyxHQUFHLEtBQUssQ0FBQztTQUN4QjtRQUVELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDNUcsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUM3QztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBVyxFQUFFLE9BQTZCO1FBQy9ELElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQzNCO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVPLGVBQWUsQ0FBQyxTQUF5QyxFQUFFLFVBQXVCO1FBQ3hGLEtBQUssTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFO1lBQzVCLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDOytHQW5DVSxnQkFBZ0I7bUhBQWhCLGdCQUFnQixjQURILE1BQU07OzRGQUNuQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb2x1bW4sIFJvdyB9IGZyb20gJy4uL2NvbXBvbmVudHMvY2hhcnQtYmFzZS9jaGFydC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtYXR0ZXIgfSBmcm9tICcuLi90eXBlcy9mb3JtYXR0ZXInO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZVNlcnZpY2Uge1xuICBwdWJsaWMgY3JlYXRlKFxuICAgIGRhdGE6IFJvd1tdIHwgdW5kZWZpbmVkLFxuICAgIGNvbHVtbnM/OiBDb2x1bW5bXSxcbiAgICBmb3JtYXR0ZXJzPzogRm9ybWF0dGVyW11cbiAgKTogZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZGF0YSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGxldCBmaXJzdFJvd0lzRGF0YSA9IHRydWU7XG4gICAgaWYgKGNvbHVtbnMgIT0gbnVsbCkge1xuICAgICAgZmlyc3RSb3dJc0RhdGEgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRhVGFibGUgPSBnb29nbGUudmlzdWFsaXphdGlvbi5hcnJheVRvRGF0YVRhYmxlKHRoaXMuZ2V0RGF0YUFzVGFibGUoZGF0YSwgY29sdW1ucyksIGZpcnN0Um93SXNEYXRhKTtcbiAgICBpZiAoZm9ybWF0dGVycykge1xuICAgICAgdGhpcy5hcHBseUZvcm1hdHRlcnMoZGF0YVRhYmxlLCBmb3JtYXR0ZXJzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YVRhYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREYXRhQXNUYWJsZShkYXRhOiBSb3dbXSwgY29sdW1uczogQ29sdW1uW10gfCB1bmRlZmluZWQpOiAoUm93IHwgQ29sdW1uW10pW10ge1xuICAgIGlmIChjb2x1bW5zKSB7XG4gICAgICByZXR1cm4gW2NvbHVtbnMsIC4uLmRhdGFdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Rm9ybWF0dGVycyhkYXRhVGFibGU6IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSwgZm9ybWF0dGVyczogRm9ybWF0dGVyW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHZhbCBvZiBmb3JtYXR0ZXJzKSB7XG4gICAgICB2YWwuZm9ybWF0dGVyLmZvcm1hdChkYXRhVGFibGUsIHZhbC5jb2xJbmRleCk7XG4gICAgfVxuICB9XG59XG4iXX0=