UNPKG

angular-google-charts

Version:

A wrapper for the Google Charts library written with Angular

36 lines 4.74 kB
/// <reference path="./chart-editor.ts" /> import { Subject } from 'rxjs'; export class ChartEditorRef { constructor(editor) { this.editor = editor; this.doneSubject = new Subject(); this.addEventListeners(); } /** * Gets an observable that is notified when the dialog is saved. * Emits either the result if the dialog was saved or `null` if editing was cancelled. */ afterClosed() { return this.doneSubject.asObservable(); } /** * Stops editing the chart and closes the dialog. */ cancel() { this.editor.closeDialog(); } addEventListeners() { google.visualization.events.addOneTimeListener(this.editor, 'ok', () => { google.visualization.events.removeAllListeners(this.editor); const updatedChartWrapper = this.editor.getChartWrapper(); this.doneSubject.next(updatedChartWrapper); this.doneSubject.complete(); }); google.visualization.events.addOneTimeListener(this.editor, 'cancel', () => { google.visualization.events.removeAllListeners(this.editor); this.doneSubject.next(null); this.doneSubject.complete(); }); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtZWRpdG9yLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZ29vZ2xlLWNoYXJ0cy9zcmMvbGliL2NvbXBvbmVudHMvY2hhcnQtZWRpdG9yL2NoYXJ0LWVkaXRvci1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMENBQTBDO0FBRTFDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJM0MsTUFBTSxPQUFPLGNBQWM7SUFHekIsWUFBNkIsTUFBd0M7UUFBeEMsV0FBTSxHQUFOLE1BQU0sQ0FBa0M7UUFGcEQsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztRQUc1RCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7WUFDckUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTVELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUUxRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDekUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9jaGFydC1lZGl0b3IudHNcIiAvPlxuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEVkaXRDaGFydFJlc3VsdCA9IGdvb2dsZS52aXN1YWxpemF0aW9uLkNoYXJ0V3JhcHBlciB8IG51bGw7XG5cbmV4cG9ydCBjbGFzcyBDaGFydEVkaXRvclJlZiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9uZVN1YmplY3QgPSBuZXcgU3ViamVjdDxFZGl0Q2hhcnRSZXN1bHQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlZGl0b3I6IGdvb2dsZS52aXN1YWxpemF0aW9uLkNoYXJ0RWRpdG9yKSB7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVycygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYW4gb2JzZXJ2YWJsZSB0aGF0IGlzIG5vdGlmaWVkIHdoZW4gdGhlIGRpYWxvZyBpcyBzYXZlZC5cbiAgICogRW1pdHMgZWl0aGVyIHRoZSByZXN1bHQgaWYgdGhlIGRpYWxvZyB3YXMgc2F2ZWQgb3IgYG51bGxgIGlmIGVkaXRpbmcgd2FzIGNhbmNlbGxlZC5cbiAgICovXG4gIHB1YmxpYyBhZnRlckNsb3NlZCgpOiBPYnNlcnZhYmxlPEVkaXRDaGFydFJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLmRvbmVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3BzIGVkaXRpbmcgdGhlIGNoYXJ0IGFuZCBjbG9zZXMgdGhlIGRpYWxvZy5cbiAgICovXG4gIHB1YmxpYyBjYW5jZWwoKSB7XG4gICAgdGhpcy5lZGl0b3IuY2xvc2VEaWFsb2coKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRXZlbnRMaXN0ZW5lcnMoKSB7XG4gICAgZ29vZ2xlLnZpc3VhbGl6YXRpb24uZXZlbnRzLmFkZE9uZVRpbWVMaXN0ZW5lcih0aGlzLmVkaXRvciwgJ29rJywgKCkgPT4ge1xuICAgICAgZ29vZ2xlLnZpc3VhbGl6YXRpb24uZXZlbnRzLnJlbW92ZUFsbExpc3RlbmVycyh0aGlzLmVkaXRvcik7XG5cbiAgICAgIGNvbnN0IHVwZGF0ZWRDaGFydFdyYXBwZXIgPSB0aGlzLmVkaXRvci5nZXRDaGFydFdyYXBwZXIoKTtcblxuICAgICAgdGhpcy5kb25lU3ViamVjdC5uZXh0KHVwZGF0ZWRDaGFydFdyYXBwZXIpO1xuICAgICAgdGhpcy5kb25lU3ViamVjdC5jb21wbGV0ZSgpO1xuICAgIH0pO1xuXG4gICAgZ29vZ2xlLnZpc3VhbGl6YXRpb24uZXZlbnRzLmFkZE9uZVRpbWVMaXN0ZW5lcih0aGlzLmVkaXRvciwgJ2NhbmNlbCcsICgpID0+IHtcbiAgICAgIGdvb2dsZS52aXN1YWxpemF0aW9uLmV2ZW50cy5yZW1vdmVBbGxMaXN0ZW5lcnModGhpcy5lZGl0b3IpO1xuXG4gICAgICB0aGlzLmRvbmVTdWJqZWN0Lm5leHQobnVsbCk7XG4gICAgICB0aGlzLmRvbmVTdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==