{"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 {\n    AgBaseChartListeners,\n    AgChartInstance,\n    AgChartLegendListeners,\n    AgContextMenuGetItemsCallback,\n    AgContextMenuItem,\n    AgContextMenuOptions,\n    AgSeriesListeners,\n} 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    // Returns a patched copy rather than mutating the consumer's options: event-style callbacks\n    // (listeners, context-menu actions) are wrapped to re-enter the Angular zone the chart runs outside.\n    private patchChartOptions(propsOptions: any): any {\n        const patched: any = { ...propsOptions };\n\n        if (propsOptions.listeners) {\n            patched.listeners = this.patchListeners(propsOptions.listeners);\n        }\n        if (propsOptions.legend?.listeners) {\n            patched.legend = { ...propsOptions.legend, listeners: this.patchListeners(propsOptions.legend.listeners) };\n        }\n        if (Array.isArray(propsOptions.series)) {\n            patched.series = propsOptions.series.map((series: any) =>\n                series?.listeners ? { ...series, listeners: this.patchListeners(series.listeners) } : series\n            );\n        }\n        if (propsOptions.contextMenu) {\n            patched.contextMenu = this.patchContextMenu(propsOptions.contextMenu);\n        }\n        patched.container ??= this._nativeElement;\n\n        return patched;\n    }\n\n    private patchListeners(\n        listenerConfig: AgChartLegendListeners | AgSeriesListeners<any> | AgBaseChartListeners<any>\n    ): any {\n        const config: any = listenerConfig;\n        const patched: any = {};\n        for (const listenerName of Object.keys(config)) {\n            const listener = config[listenerName];\n            patched[listenerName] =\n                typeof listener === 'function'\n                    ? (...args: any) => this.runInsideAngular(() => listener(...args))\n                    : listener;\n        }\n        return patched;\n    }\n\n    // Context-menu actions are dispatched from DOM listeners the chart registers outside the Angular\n    // zone; without re-entering the zone, options reassignments in actions never trigger change detection.\n    private patchContextMenu(contextMenu: AgContextMenuOptions): AgContextMenuOptions {\n        const patched: AgContextMenuOptions = { ...contextMenu };\n        if (typeof patched.getItems === 'function') {\n            patched.getItems = this.wrapGetItems(patched.getItems);\n        }\n        if (Array.isArray(patched.items)) {\n            patched.items = this.wrapContextMenuItems(patched.items);\n        }\n        return patched;\n    }\n\n    private wrapGetItems(getItems: AgContextMenuGetItemsCallback): AgContextMenuGetItemsCallback {\n        return (params) => {\n            const items = getItems(params);\n            return items ? this.wrapContextMenuItems(items) : undefined;\n        };\n    }\n\n    private wrapContextMenuItems(items: AgContextMenuItem[]): AgContextMenuItem[] {\n        return items.map((item) => {\n            if (typeof item === 'string') {\n                return item;\n            }\n            const copy = { ...item };\n            if (typeof copy.action === 'function') {\n                // The item variants declare incompatible `action` event types; wrapping preserves the runtime signature.\n                copy.action = this.wrapZoneAction(copy.action as (...args: any[]) => void) as typeof copy.action;\n            }\n            if (Array.isArray(copy.items)) {\n                copy.items = this.wrapContextMenuItems(copy.items);\n            }\n            return copy;\n        });\n    }\n\n    private wrapZoneAction<T extends (...args: any[]) => void>(action: T): T {\n        return ((...args: any[]) => this.runInsideAngular(() => action(...args))) as T;\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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"}