ng-apexcharts
Version:
An angular implementation of ApexCharts
1 lines • 19.7 kB
Source Map (JSON)
{"version":3,"file":"ng-apexcharts.mjs","sources":["../../../projects/ng-apexcharts/src/lib/chart/chart.component.ts","../../../projects/ng-apexcharts/src/lib/ng-apexcharts.module.ts","../../../projects/ng-apexcharts/src/public_api.ts","../../../projects/ng-apexcharts/src/ng-apexcharts.ts"],"sourcesContent":["import { isPlatformBrowser } from \"@angular/common\";\nimport {\n afterEveryRender,\n afterNextRender,\n AfterRenderRef,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n Injector,\n input,\n NgZone,\n OnChanges,\n OnDestroy,\n output,\n PLATFORM_ID,\n signal,\n SimpleChanges,\n viewChild,\n} from \"@angular/core\";\nimport {\n ApexAnnotations,\n ApexAxisChartSeries,\n ApexChart,\n ApexDataLabels,\n ApexFill,\n ApexForecastDataPoints,\n ApexGrid,\n ApexLegend,\n ApexMarkers,\n ApexNoData,\n ApexParsing,\n ApexNonAxisChartSeries,\n ApexPlotOptions,\n ApexResponsive,\n ApexStates,\n ApexStroke,\n ApexTheme,\n ApexTitleSubtitle,\n ApexTooltip,\n ApexXAxis,\n ApexYAxis,\n} from \"../model/apex-types\";\n\ntype ApexCharts = import(\"apexcharts\");\n\ndeclare global {\n interface Window {\n ApexCharts: typeof ApexCharts;\n }\n}\n\n@Component({\n selector: \"apx-chart\",\n template: `<div #chart></div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class ChartComponent implements OnChanges, OnDestroy {\n readonly chart = input<ApexChart>();\n readonly annotations = input<ApexAnnotations>();\n readonly colors = input<any[]>();\n readonly dataLabels = input<ApexDataLabels>();\n readonly series = input<ApexAxisChartSeries | ApexNonAxisChartSeries>();\n readonly stroke = input<ApexStroke>();\n readonly labels = input<string[]>();\n readonly legend = input<ApexLegend>();\n readonly markers = input<ApexMarkers>();\n readonly noData = input<ApexNoData>();\n readonly parsing = input<ApexParsing>();\n readonly fill = input<ApexFill>();\n readonly tooltip = input<ApexTooltip>();\n readonly plotOptions = input<ApexPlotOptions>();\n readonly responsive = input<ApexResponsive[]>();\n readonly xaxis = input<ApexXAxis>();\n readonly yaxis = input<ApexYAxis | ApexYAxis[]>();\n readonly forecastDataPoints = input<ApexForecastDataPoints>();\n readonly grid = input<ApexGrid>();\n readonly states = input<ApexStates>();\n readonly title = input<ApexTitleSubtitle>();\n readonly subtitle = input<ApexTitleSubtitle>();\n readonly theme = input<ApexTheme>();\n\n readonly autoUpdateSeries = input(true);\n\n readonly chartReady = output<{ chartObj: ApexCharts }>();\n\n // If consumers need to capture the `chartInstance` for use, consumers\n // can access the component instance through `viewChild` and use `computed`\n // or `effect` on `component.chartInstance()` to monitor its changes and\n // recompute effects or computations whenever `chartInstance` is updated.\n readonly chartInstance = signal<ApexCharts | null>(null);\n\n private readonly chartElement =\n viewChild.required<ElementRef<HTMLElement>>(\"chart\");\n\n private ngZone = inject(NgZone);\n private isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n private _destroyed = false;\n private readonly _injector = inject(Injector);\n private waitingForConnectedRef: AfterRenderRef | null = null;\n\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!this.isBrowser) return;\n\n this.hydrate(changes);\n }\n\n ngOnDestroy() {\n this.destroy();\n this._destroyed = true;\n }\n\n /** Determine if the host element is connected to the document */\n private get isConnected() {\n return this.chartElement()?.nativeElement.isConnected;\n }\n\n private hydrate(changes: SimpleChanges): void {\n if (this.waitingForConnectedRef) {\n return;\n }\n\n const shouldUpdateSeries =\n this.chartInstance() &&\n this.autoUpdateSeries() &&\n Object.keys(changes).filter((c) => c !== \"series\").length === 0;\n\n if (shouldUpdateSeries) {\n this.updateSeries(this.series(), true);\n return;\n }\n\n // Create the chart after the layout is finalized and ready to be measured.\n afterNextRender({\n read: () => this.createElement(),\n }, { injector: this._injector });\n }\n\n private async createElement() {\n const { default: ApexCharts } = await import(\"apexcharts\");\n window.ApexCharts ||= ApexCharts;\n\n if (this._destroyed) return;\n if (!this.isConnected) {\n this.waitForConnected();\n return;\n }\n\n const options: any = {};\n\n const properties = [\n \"annotations\",\n \"chart\",\n \"colors\",\n \"dataLabels\",\n \"series\",\n \"stroke\",\n \"labels\",\n \"legend\",\n \"fill\",\n \"tooltip\",\n \"plotOptions\",\n \"responsive\",\n \"markers\",\n \"noData\",\n \"parsing\",\n \"xaxis\",\n \"yaxis\",\n \"forecastDataPoints\",\n \"grid\",\n \"states\",\n \"title\",\n \"subtitle\",\n \"theme\",\n ] as const;\n\n properties.forEach((property) => {\n const value = this[property]();\n if (value) {\n options[property] = value;\n }\n });\n\n this.destroy();\n\n const chartInstance = this.ngZone.runOutsideAngular(\n () => new ApexCharts(this.chartElement().nativeElement, options)\n );\n\n this.chartInstance.set(chartInstance);\n\n this.render();\n this.chartReady.emit({ chartObj: chartInstance });\n }\n\n public render() {\n if (this.isConnected) {\n return this.ngZone.runOutsideAngular(() => this.chartInstance()?.render());\n } else {\n this.waitForConnected();\n }\n }\n\n public updateOptions(\n options: any,\n redrawPaths?: boolean,\n animate?: boolean,\n updateSyncedCharts?: boolean\n ) {\n return this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.updateOptions(\n options,\n redrawPaths,\n animate,\n updateSyncedCharts\n )\n );\n }\n\n public updateSeries(\n newSeries: ApexAxisChartSeries | ApexNonAxisChartSeries,\n animate?: boolean\n ) {\n return this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.updateSeries(newSeries as any, animate)\n );\n }\n\n public appendSeries(\n newSeries: ApexAxisChartSeries | ApexNonAxisChartSeries,\n animate?: boolean\n ) {\n this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.appendSeries(newSeries as any, animate)\n );\n }\n\n public appendData(newData: any[]) {\n this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.appendData(newData)\n );\n }\n\n public highlightSeries(seriesName: string): any {\n return this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.highlightSeries(seriesName)\n );\n }\n\n public toggleSeries(seriesName: string): any {\n return this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.toggleSeries(seriesName)\n );\n }\n\n public showSeries(seriesName: string) {\n this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.showSeries(seriesName)\n );\n }\n\n public hideSeries(seriesName: string) {\n this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.hideSeries(seriesName)\n );\n }\n\n public resetSeries() {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.resetSeries());\n }\n\n public zoomX(min: number, max: number) {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.zoomX(min, max));\n }\n\n public toggleDataPointSelection(\n seriesIndex: number,\n dataPointIndex?: number\n ) {\n this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.toggleDataPointSelection(\n seriesIndex,\n dataPointIndex\n )\n );\n }\n\n public destroy() {\n this.chartInstance()?.destroy();\n this.chartInstance.set(null);\n }\n\n public setLocale(localeName: string) {\n this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.setLocale(localeName)\n );\n }\n\n public paper() {\n this.ngZone.runOutsideAngular(() => this.chartInstance()?.paper());\n }\n\n public addXaxisAnnotation(\n options: any,\n pushToMemory?: boolean,\n context?: any\n ) {\n this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.addXaxisAnnotation(options, pushToMemory, context)\n );\n }\n\n public addYaxisAnnotation(\n options: any,\n pushToMemory?: boolean,\n context?: any\n ) {\n this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.addYaxisAnnotation(options, pushToMemory, context)\n );\n }\n\n public addPointAnnotation(\n options: any,\n pushToMemory?: boolean,\n context?: any\n ) {\n this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.addPointAnnotation(options, pushToMemory, context)\n );\n }\n\n public removeAnnotation(id: string, options?: any) {\n this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.removeAnnotation(id, options)\n );\n }\n\n public clearAnnotations(options?: any) {\n this.ngZone.runOutsideAngular(() =>\n this.chartInstance()?.clearAnnotations(options)\n );\n }\n\n public dataURI(options?: any) {\n return this.chartInstance()?.dataURI(options);\n }\n\n private waitForConnected() {\n if (this.waitingForConnectedRef) {\n return;\n }\n\n this.waitingForConnectedRef = afterEveryRender({\n read: () => {\n if (this.isConnected) {\n this.waitingForConnectedRef.destroy();\n this.waitingForConnectedRef = null;\n this.createElement();\n }\n },\n }, { injector: this._injector });\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { ChartComponent } from \"./chart/chart.component\";\n\nconst declarations = [ChartComponent];\n\n@NgModule({\n imports: [declarations],\n exports: [declarations],\n})\nexport class NgApexchartsModule {}\n","/*\n * Public API Surface of ng-apexcharts\n */\n\nexport * from './lib/ng-apexcharts.module';\nexport * from './lib/chart/chart.component';\nexport * from './lib/model/apex-types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}