UNPKG

ng2-google-charts

Version:
54 lines 7.94 kB
import { __awaiter } from "tslib"; import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "./google-charts-loader.service"; function isComponent(chart) { return chart.wrapper !== undefined; } export class GoogleChartEditor { constructor(loaderService) { this.loaderService = loaderService; } createEditor() { return __awaiter(this, void 0, void 0, function* () { if (this.chartEditor !== undefined) { return; } yield this.loaderService.load({ packages: ['charteditor'] }); this.chartEditor = new google.visualization.ChartEditor(); google.visualization.events.addListener(this.chartEditor, 'ok', () => { const wrapper = this.chartEditor.getChartWrapper(); this.comp.wrapper = wrapper; this.comp.data.chartType = wrapper.getChartType(); if (this.comp.data.options !== undefined || Object.isExtensible(this.comp.data)) { this.comp.data.options = wrapper.getOptions(); } this.comp.wrapper.draw(); }); }); } openDialog(chart, options) { return __awaiter(this, void 0, void 0, function* () { yield this.createEditor(); return new Promise((resolve, reject) => { this.comp = isComponent(chart) ? chart : chart.component; google.visualization.events.addListener(this.chartEditor, 'ok', () => { resolve(this.comp.wrapper); }); google.visualization.events.addListener(this.chartEditor, 'cancel', () => { reject(); }); this.chartEditor.openDialog(this.comp.wrapper, options); }); }); } } GoogleChartEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: GoogleChartEditor, deps: [{ token: i1.GoogleChartsLoaderService }], target: i0.ɵɵFactoryTarget.Injectable }); GoogleChartEditor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: GoogleChartEditor, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: GoogleChartEditor, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: i1.GoogleChartsLoaderService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWNoYXJ0LWVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nMi1nb29nbGUtY2hhcnRzL3NyYy9saWIvZ29vZ2xlLWNoYXJ0LWVkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTTNDLFNBQVMsV0FBVyxDQUFDLEtBQWtEO0lBQ3JFLE9BQVEsS0FBOEIsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDO0FBQy9ELENBQUM7QUFXRCxNQUFNLE9BQU8saUJBQWlCO0lBTTVCLFlBQTJCLGFBQXdDO1FBQXhDLGtCQUFhLEdBQWIsYUFBYSxDQUEyQjtJQUFFLENBQUM7SUFFeEQsWUFBWTs7WUFDeEIsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRTtnQkFDbEMsT0FBTzthQUNSO1lBQ0QsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxRCxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNuRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNuRCxJQUFJLENBQUMsSUFBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxJQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ25ELElBQUksSUFBSSxDQUFDLElBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ2pGLElBQUksQ0FBQyxJQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7aUJBQ2hEO2dCQUNELElBQUksQ0FBQyxJQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksVUFBVSxDQUFDLEtBQWtELEVBQUUsT0FBa0M7O1lBQzVHLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBRTFCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFVLENBQUM7Z0JBQzFELE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7b0JBQ25FLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM5QixDQUFDLENBQUMsQ0FBQztnQkFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMzRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTs7K0dBdENVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgR29vZ2xlQ2hhcnRzTG9hZGVyU2VydmljZSB9IGZyb20gJy4vZ29vZ2xlLWNoYXJ0cy1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHb29nbGVDaGFydENvbXBvbmVudCwgR29vZ2xlQ2hhcnRJbnRlcmZhY2UgfSBmcm9tICcuL2dvb2dsZS1jaGFydC9nb29nbGUtY2hhcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEdvb2dsZUNoYXJ0V3JhcHBlciB9IGZyb20gJy4vZ29vZ2xlLWNoYXJ0cy1pbnRlcmZhY2VzJztcblxuZnVuY3Rpb24gaXNDb21wb25lbnQoY2hhcnQ6IEdvb2dsZUNoYXJ0Q29tcG9uZW50IHwgR29vZ2xlQ2hhcnRJbnRlcmZhY2UpOiBjaGFydCBpcyBHb29nbGVDaGFydENvbXBvbmVudCB7XG4gIHJldHVybiAoY2hhcnQgYXMgR29vZ2xlQ2hhcnRDb21wb25lbnQpLndyYXBwZXIgIT09IHVuZGVmaW5lZDtcbn1cblxuZGVjbGFyZSB2YXIgZ29vZ2xlOiBhbnk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR29vZ2xlQ2hhcnRFZGl0b3JPcHRpb25zIHtcbiAgZGF0YVNvdXJjZUlucHV0PzogYW55O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBHb29nbGVDaGFydEVkaXRvciB7XG5cbiAgY2hhcnRFZGl0b3I6IGFueTtcblxuICBwcml2YXRlIGNvbXAhOiBHb29nbGVDaGFydENvbXBvbmVudDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBsb2FkZXJTZXJ2aWNlOiBHb29nbGVDaGFydHNMb2FkZXJTZXJ2aWNlKXt9XG5cbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVFZGl0b3IoKSB7XG4gICAgaWYgKHRoaXMuY2hhcnRFZGl0b3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLmxvYWRlclNlcnZpY2UubG9hZCh7IHBhY2thZ2VzOiBbJ2NoYXJ0ZWRpdG9yJ10gfSk7XG4gICAgdGhpcy5jaGFydEVkaXRvciA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5DaGFydEVkaXRvcigpO1xuICAgIGdvb2dsZS52aXN1YWxpemF0aW9uLmV2ZW50cy5hZGRMaXN0ZW5lcih0aGlzLmNoYXJ0RWRpdG9yLCAnb2snLCAoKSA9PiB7XG4gICAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5jaGFydEVkaXRvci5nZXRDaGFydFdyYXBwZXIoKTtcbiAgICAgIHRoaXMuY29tcCEud3JhcHBlciA9IHdyYXBwZXI7XG4gICAgICB0aGlzLmNvbXAhLmRhdGEuY2hhcnRUeXBlID0gd3JhcHBlci5nZXRDaGFydFR5cGUoKTtcbiAgICAgIGlmICh0aGlzLmNvbXAhLmRhdGEub3B0aW9ucyAhPT0gdW5kZWZpbmVkIHx8IE9iamVjdC5pc0V4dGVuc2libGUodGhpcy5jb21wIS5kYXRhKSkge1xuICAgICAgICB0aGlzLmNvbXAhLmRhdGEub3B0aW9ucyA9IHdyYXBwZXIuZ2V0T3B0aW9ucygpO1xuICAgICAgfVxuICAgICAgdGhpcy5jb21wIS53cmFwcGVyLmRyYXcoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBvcGVuRGlhbG9nKGNoYXJ0OiBHb29nbGVDaGFydENvbXBvbmVudCB8IEdvb2dsZUNoYXJ0SW50ZXJmYWNlLCBvcHRpb25zPzogR29vZ2xlQ2hhcnRFZGl0b3JPcHRpb25zKTogUHJvbWlzZTxHb29nbGVDaGFydFdyYXBwZXIgfCBhbnk+IHtcbiAgICBhd2FpdCB0aGlzLmNyZWF0ZUVkaXRvcigpO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuY29tcCA9IGlzQ29tcG9uZW50KGNoYXJ0KSA/IGNoYXJ0IDogY2hhcnQuY29tcG9uZW50ITtcbiAgICAgIGdvb2dsZS52aXN1YWxpemF0aW9uLmV2ZW50cy5hZGRMaXN0ZW5lcih0aGlzLmNoYXJ0RWRpdG9yLCAnb2snLCAoKSA9PiB7XG4gICAgICAgIHJlc29sdmUodGhpcy5jb21wIS53cmFwcGVyKTtcbiAgICAgIH0pO1xuICAgICAgZ29vZ2xlLnZpc3VhbGl6YXRpb24uZXZlbnRzLmFkZExpc3RlbmVyKHRoaXMuY2hhcnRFZGl0b3IsICdjYW5jZWwnLCAoKSA9PiB7XG4gICAgICAgIHJlamVjdCgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmNoYXJ0RWRpdG9yLm9wZW5EaWFsb2codGhpcy5jb21wIS53cmFwcGVyLCBvcHRpb25zKTtcbiAgICB9KTtcbiAgfVxuXG59XG4iXX0=