{"version":3,"file":"ag-charts-angular.mjs","sources":["../../../projects/ag-charts-angular/src/lib/ag-charts-base.ts","../../../projects/ag-charts-angular/src/lib/ag-charts.component.ts","../../../projects/ag-charts-angular/src/lib/ag-financial-charts.component.ts","../../../projects/ag-charts-angular/src/lib/ag-gauge.component.ts","../../../projects/ag-charts-angular/src/lib/ag-charts.module.ts","../../../projects/ag-charts-angular/src/ag-charts-angular.ts"],"sourcesContent":["import { AfterViewInit, Component, EventEmitter, NgZone, OnChanges, OnDestroy } from '@angular/core';\n\nimport { AgBaseChartListeners, AgChartInstance, AgChartLegendListeners, AgSeriesListeners } from 'ag-charts-community';\n\n@Component({\n    template: '',\n})\nexport abstract class AgChartsBase<Options extends {}> implements AfterViewInit, OnChanges, OnDestroy {\n    public chart?: AgChartInstance;\n    public abstract options: Options;\n    public abstract chartReady: EventEmitter<AgChartInstance>;\n\n    protected _nativeElement: any;\n    protected _initialised = false;\n    protected ngZone!: NgZone;\n\n    protected abstract createChart(options: Options): any;\n\n    ngAfterViewInit(): void {\n        const options = this.patchChartOptions(this.options);\n\n        this.chart = this.runOutsideAngular(() => this.createChart(options));\n        this._initialised = true;\n\n        (this.chart as any).chart.waitForUpdate().then(() => {\n            this.chartReady.emit(this.chart);\n        });\n    }\n\n    // noinspection JSUnusedGlobalSymbols,JSUnusedLocalSymbols\n    ngOnChanges(_changes: any): void {\n        this.runOutsideAngular(() => {\n            if (!this._initialised || !this.chart) {\n                return;\n            }\n            this.chart.update(this.patchChartOptions(this.options));\n        });\n    }\n\n    public ngOnDestroy(): void {\n        if (this._initialised && this.chart) {\n            this.chart.destroy();\n            this.chart = undefined;\n            this._initialised = false;\n        }\n    }\n\n    private patchChartOptions(propsOptions: any): any {\n        const patchListeners = (\n            listenerConfig: undefined | AgChartLegendListeners | AgSeriesListeners<any> | AgBaseChartListeners<any>\n        ) => {\n            const config = listenerConfig ?? ({} as any);\n            for (const listenerName of Object.keys(config)) {\n                const listener = config[listenerName];\n                if (typeof listener !== 'function') continue;\n\n                config[listenerName] = (...args: any) => {\n                    this.runInsideAngular(() => listener(...args));\n                };\n            }\n        };\n\n        patchListeners(propsOptions?.legend?.listeners);\n        patchListeners(propsOptions?.listeners);\n        if (propsOptions.series) {\n            for (const series of propsOptions.series) {\n                patchListeners(series.listeners);\n            }\n        }\n\n        if (propsOptions.container) {\n            return propsOptions;\n        }\n\n        return { ...propsOptions, container: this._nativeElement };\n    }\n\n    private runOutsideAngular<T>(callback: () => T): T {\n        return this.ngZone ? this.ngZone.runOutsideAngular(callback) : callback();\n    }\n\n    private runInsideAngular<T>(callback: () => T): T {\n        return this.ngZone ? this.ngZone.run(callback) : callback();\n    }\n}\n","import { Component, ElementRef, EventEmitter, Input, NgZone, Output, ViewEncapsulation } from '@angular/core';\n\nimport { AgChartInstance, AgChartOptions, AgCharts as AgChartsAPI } from 'ag-charts-community';\n\nimport { AgChartsBase } from './ag-charts-base';\n\n// noinspection AngularIncorrectTemplateDefinition\n@Component({\n    selector: 'ag-charts',\n    standalone: true,\n    template: '',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class AgCharts extends AgChartsBase<AgChartOptions> {\n    @Input()\n    public options: AgChartOptions = {};\n\n    @Output()\n    public chartReady: EventEmitter<AgChartInstance> = new EventEmitter();\n\n    constructor(\n        elementDef: ElementRef,\n        protected ngZone: NgZone\n    ) {\n        super();\n        this._nativeElement = elementDef.nativeElement;\n    }\n\n    protected createChart(options: AgChartOptions) {\n        return AgChartsAPI.create(options);\n    }\n}\n","import { Component, ElementRef, EventEmitter, Input, NgZone, Output, ViewEncapsulation } from '@angular/core';\n\nimport { AgChartInstance, AgCharts as AgChartsAPI, AgFinancialChartOptions } from 'ag-charts-community';\n\nimport { AgChartsBase } from './ag-charts-base';\n\n// noinspection AngularIncorrectTemplateDefinition\n@Component({\n    selector: 'ag-financial-charts',\n    standalone: true,\n    template: '',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class AgFinancialCharts extends AgChartsBase<AgFinancialChartOptions> {\n    @Input()\n    public options: AgFinancialChartOptions = {};\n\n    @Output()\n    public chartReady: EventEmitter<AgChartInstance> = new EventEmitter();\n\n    constructor(\n        elementDef: ElementRef,\n        protected ngZone: NgZone\n    ) {\n        super();\n        this._nativeElement = elementDef.nativeElement;\n    }\n\n    protected createChart(options: AgFinancialChartOptions) {\n        return AgChartsAPI.createFinancialChart(options);\n    }\n}\n","import { Component, ElementRef, EventEmitter, Input, NgZone, Output, ViewEncapsulation } from '@angular/core';\n\nimport { AgChartInstance, AgCharts as AgChartsAPI, AgGaugeOptions } from 'ag-charts-community';\n\nimport { AgChartsBase } from './ag-charts-base';\n\n// noinspection AngularIncorrectTemplateDefinition\n@Component({\n    selector: 'ag-gauge',\n    standalone: true,\n    template: '',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class AgGauge extends AgChartsBase<AgGaugeOptions> {\n    @Input()\n    public options: AgGaugeOptions = { type: 'radial-gauge', value: 0 };\n\n    @Output()\n    public chartReady: EventEmitter<AgChartInstance> = new EventEmitter();\n\n    constructor(\n        elementDef: ElementRef,\n        protected ngZone: NgZone\n    ) {\n        super();\n        this._nativeElement = elementDef.nativeElement;\n    }\n\n    protected createChart(options: AgGaugeOptions) {\n        return AgChartsAPI.createGauge(options);\n    }\n}\n","import { NgModule } from '@angular/core';\n\nimport { AgCharts } from './ag-charts.component';\nimport { AgFinancialCharts } from './ag-financial-charts.component';\nimport { AgGauge } from './ag-gauge.component';\n\n@NgModule({\n    declarations: [],\n    imports: [AgCharts, AgFinancialCharts, AgGauge],\n    exports: [AgCharts, AgFinancialCharts, AgGauge],\n})\nexport class AgChartsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["AgChartsAPI"],"mappings":"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"}