{"version":3,"sources":["node_modules/ngx-echarts/fesm2022/ngx-echarts.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { InjectionToken, EventEmitter, Directive, Inject, Input, Output, NgModule } from '@angular/core';\nimport { ReplaySubject, Subscription, Subject, asyncScheduler, Observable } from 'rxjs';\nimport { throttleTime, switchMap } from 'rxjs/operators';\nclass ChangeFilterV2 {\n constructor() {\n this.subject = new ReplaySubject(1);\n this.subscriptions = new Subscription();\n }\n doFilter(changes) {\n this.subject.next(changes);\n }\n dispose() {\n this.subscriptions.unsubscribe();\n }\n notEmpty(key, handler) {\n this.subscriptions.add(this.subject.subscribe(changes => {\n if (changes[key]) {\n const value = changes[key].currentValue;\n if (value !== undefined && value !== null) {\n handler(value);\n }\n }\n }));\n }\n has(key, handler) {\n this.subscriptions.add(this.subject.subscribe(changes => {\n if (changes[key]) {\n const value = changes[key].currentValue;\n handler(value);\n }\n }));\n }\n notFirst(key, handler) {\n this.subscriptions.add(this.subject.subscribe(changes => {\n if (changes[key] && !changes[key].isFirstChange()) {\n const value = changes[key].currentValue;\n handler(value);\n }\n }));\n }\n notFirstAndEmpty(key, handler) {\n this.subscriptions.add(this.subject.subscribe(changes => {\n if (changes[key] && !changes[key].isFirstChange()) {\n const value = changes[key].currentValue;\n if (value !== undefined && value !== null) {\n handler(value);\n }\n }\n }));\n }\n}\nconst NGX_ECHARTS_CONFIG = new InjectionToken('NGX_ECHARTS_CONFIG');\nclass NgxEchartsDirective {\n constructor(config, el, ngZone) {\n this.el = el;\n this.ngZone = ngZone;\n this.options = null;\n this.theme = null;\n this.initOpts = null;\n this.merge = null;\n this.autoResize = true;\n this.loading = false;\n this.loadingType = 'default';\n this.loadingOpts = null;\n // ngx-echarts events\n this.chartInit = new EventEmitter();\n this.optionsError = new EventEmitter();\n // echarts mouse events\n this.chartClick = this.createLazyEvent('click');\n this.chartDblClick = this.createLazyEvent('dblclick');\n this.chartMouseDown = this.createLazyEvent('mousedown');\n this.chartMouseMove = this.createLazyEvent('mousemove');\n this.chartMouseUp = this.createLazyEvent('mouseup');\n this.chartMouseOver = this.createLazyEvent('mouseover');\n this.chartMouseOut = this.createLazyEvent('mouseout');\n this.chartGlobalOut = this.createLazyEvent('globalout');\n this.chartContextMenu = this.createLazyEvent('contextmenu');\n // echarts events\n this.chartHighlight = this.createLazyEvent('highlight');\n this.chartDownplay = this.createLazyEvent('downplay');\n this.chartSelectChanged = this.createLazyEvent('selectchanged');\n this.chartLegendSelectChanged = this.createLazyEvent('legendselectchanged');\n this.chartLegendSelected = this.createLazyEvent('legendselected');\n this.chartLegendUnselected = this.createLazyEvent('legendunselected');\n this.chartLegendLegendSelectAll = this.createLazyEvent('legendselectall');\n this.chartLegendLegendInverseSelect = this.createLazyEvent('legendinverseselect');\n this.chartLegendScroll = this.createLazyEvent('legendscroll');\n this.chartDataZoom = this.createLazyEvent('datazoom');\n this.chartDataRangeSelected = this.createLazyEvent('datarangeselected');\n this.chartGraphRoam = this.createLazyEvent('graphroam');\n this.chartGeoRoam = this.createLazyEvent('georoam');\n this.chartTreeRoam = this.createLazyEvent('treeroam');\n this.chartTimelineChanged = this.createLazyEvent('timelinechanged');\n this.chartTimelinePlayChanged = this.createLazyEvent('timelineplaychanged');\n this.chartRestore = this.createLazyEvent('restore');\n this.chartDataViewChanged = this.createLazyEvent('dataviewchanged');\n this.chartMagicTypeChanged = this.createLazyEvent('magictypechanged');\n this.chartGeoSelectChanged = this.createLazyEvent('geoselectchanged');\n this.chartGeoSelected = this.createLazyEvent('geoselected');\n this.chartGeoUnselected = this.createLazyEvent('geounselected');\n this.chartAxisAreaSelected = this.createLazyEvent('axisareaselected');\n this.chartBrush = this.createLazyEvent('brush');\n this.chartBrushEnd = this.createLazyEvent('brushend');\n this.chartBrushSelected = this.createLazyEvent('brushselected');\n this.chartGlobalCursorTaken = this.createLazyEvent('globalcursortaken');\n this.chartRendered = this.createLazyEvent('rendered');\n this.chartFinished = this.createLazyEvent('finished');\n this.animationFrameID = null;\n this.chart$ = new ReplaySubject(1);\n this.resize$ = new Subject();\n this.changeFilter = new ChangeFilterV2();\n this.resizeObFired = false;\n this.echarts = config.echarts;\n this.theme = config.theme || null;\n }\n ngOnChanges(changes) {\n this.changeFilter.doFilter(changes);\n }\n ngOnInit() {\n if (!window.ResizeObserver) {\n throw new Error('please install a polyfill for ResizeObserver');\n }\n this.resizeSub = this.resize$.pipe(throttleTime(100, asyncScheduler, {\n leading: false,\n trailing: true\n })).subscribe(() => this.resize());\n if (this.autoResize) {\n // https://github.com/xieziyu/ngx-echarts/issues/413\n this.resizeOb = this.ngZone.runOutsideAngular(() => new window.ResizeObserver(entries => {\n for (const entry of entries) {\n if (entry.target === this.el.nativeElement) {\n // Ignore first fire on insertion, no resize actually happened\n if (!this.resizeObFired) {\n this.resizeObFired = true;\n } else {\n this.animationFrameID = window.requestAnimationFrame(() => {\n this.resize$.next();\n });\n }\n }\n }\n }));\n this.resizeOb.observe(this.el.nativeElement);\n }\n this.changeFilter.notFirstAndEmpty('options', opt => this.onOptionsChange(opt));\n this.changeFilter.notFirstAndEmpty('merge', opt => this.setOption(opt));\n this.changeFilter.has('loading', v => this.toggleLoading(!!v));\n this.changeFilter.notFirst('theme', () => this.refreshChart());\n }\n ngOnDestroy() {\n window.clearTimeout(this.initChartTimer);\n if (this.resizeSub) {\n this.resizeSub.unsubscribe();\n }\n if (this.animationFrameID) {\n window.cancelAnimationFrame(this.animationFrameID);\n }\n if (this.resizeOb) {\n this.resizeOb.unobserve(this.el.nativeElement);\n }\n if (this.loadingSub) {\n this.loadingSub.unsubscribe();\n }\n this.changeFilter.dispose();\n this.dispose();\n }\n ngAfterViewInit() {\n this.initChartTimer = window.setTimeout(() => this.initChart());\n }\n dispose() {\n if (this.chart) {\n if (!this.chart.isDisposed()) {\n this.chart.dispose();\n }\n this.chart = null;\n }\n }\n /**\n * resize chart\n */\n resize() {\n if (this.chart) {\n this.chart.resize();\n }\n }\n toggleLoading(loading) {\n if (this.chart) {\n loading ? this.chart.showLoading(this.loadingType, this.loadingOpts) : this.chart.hideLoading();\n } else {\n this.loadingSub = this.chart$.subscribe(chart => loading ? chart.showLoading(this.loadingType, this.loadingOpts) : chart.hideLoading());\n }\n }\n setOption(option, opts) {\n if (this.chart) {\n try {\n this.chart.setOption(option, opts);\n } catch (e) {\n console.error(e);\n this.optionsError.emit(e);\n }\n }\n }\n /**\n * dispose old chart and create a new one.\n */\n async refreshChart() {\n this.dispose();\n await this.initChart();\n }\n createChart() {\n const dom = this.el.nativeElement;\n if (window && window.getComputedStyle) {\n const prop = window.getComputedStyle(dom, null).getPropertyValue('height');\n if ((!prop || prop === '0px') && (!dom.style.height || dom.style.height === '0px')) {\n dom.style.height = '400px';\n }\n }\n // here a bit tricky: we check if the echarts module is provided as function returning native import('...') then use the promise\n // otherwise create the function that imitates behaviour above with a provided as is module\n return this.ngZone.runOutsideAngular(() => {\n const load = typeof this.echarts === 'function' ? this.echarts : () => Promise.resolve(this.echarts);\n return load().then(({\n init\n }) => init(dom, this.theme, this.initOpts));\n });\n }\n async initChart() {\n await this.onOptionsChange(this.options);\n if (this.merge && this.chart) {\n this.setOption(this.merge);\n }\n }\n async onOptionsChange(opt) {\n if (!opt) {\n return;\n }\n if (this.chart) {\n this.setOption(this.options, true);\n } else {\n this.chart = await this.createChart();\n this.chart$.next(this.chart);\n this.chartInit.emit(this.chart);\n this.setOption(this.options, true);\n }\n }\n // allows to lazily bind to only those events that are requested through the `@Output` by parent components\n // see https://stackoverflow.com/questions/51787972/optimal-reentering-the-ngzone-from-eventemitter-event for more info\n createLazyEvent(eventName) {\n return this.chartInit.pipe(switchMap(chart => new Observable(observer => {\n chart.on(eventName, data => this.ngZone.run(() => observer.next(data)));\n return () => {\n if (this.chart) {\n if (!this.chart.isDisposed()) {\n chart.off(eventName);\n }\n }\n };\n })));\n }\n static {\n this.ɵfac = function NgxEchartsDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NgxEchartsDirective)(i0.ɵɵdirectiveInject(NGX_ECHARTS_CONFIG), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NgxEchartsDirective,\n selectors: [[\"echarts\"], [\"\", \"echarts\", \"\"]],\n inputs: {\n options: \"options\",\n theme: \"theme\",\n initOpts: \"initOpts\",\n merge: \"merge\",\n autoResize: \"autoResize\",\n loading: \"loading\",\n loadingType: \"loadingType\",\n loadingOpts: \"loadingOpts\"\n },\n outputs: {\n chartInit: \"chartInit\",\n optionsError: \"optionsError\",\n chartClick: \"chartClick\",\n chartDblClick: \"chartDblClick\",\n chartMouseDown: \"chartMouseDown\",\n chartMouseMove: \"chartMouseMove\",\n chartMouseUp: \"chartMouseUp\",\n chartMouseOver: \"chartMouseOver\",\n chartMouseOut: \"chartMouseOut\",\n chartGlobalOut: \"chartGlobalOut\",\n chartContextMenu: \"chartContextMenu\",\n chartHighlight: \"chartHighlight\",\n chartDownplay: \"chartDownplay\",\n chartSelectChanged: \"chartSelectChanged\",\n chartLegendSelectChanged: \"chartLegendSelectChanged\",\n chartLegendSelected: \"chartLegendSelected\",\n chartLegendUnselected: \"chartLegendUnselected\",\n chartLegendLegendSelectAll: \"chartLegendLegendSelectAll\",\n chartLegendLegendInverseSelect: \"chartLegendLegendInverseSelect\",\n chartLegendScroll: \"chartLegendScroll\",\n chartDataZoom: \"chartDataZoom\",\n chartDataRangeSelected: \"chartDataRangeSelected\",\n chartGraphRoam: \"chartGraphRoam\",\n chartGeoRoam: \"chartGeoRoam\",\n chartTreeRoam: \"chartTreeRoam\",\n chartTimelineChanged: \"chartTimelineChanged\",\n chartTimelinePlayChanged: \"chartTimelinePlayChanged\",\n chartRestore: \"chartRestore\",\n chartDataViewChanged: \"chartDataViewChanged\",\n chartMagicTypeChanged: \"chartMagicTypeChanged\",\n chartGeoSelectChanged: \"chartGeoSelectChanged\",\n chartGeoSelected: \"chartGeoSelected\",\n chartGeoUnselected: \"chartGeoUnselected\",\n chartAxisAreaSelected: \"chartAxisAreaSelected\",\n chartBrush: \"chartBrush\",\n chartBrushEnd: \"chartBrushEnd\",\n chartBrushSelected: \"chartBrushSelected\",\n chartGlobalCursorTaken: \"chartGlobalCursorTaken\",\n chartRendered: \"chartRendered\",\n chartFinished: \"chartFinished\"\n },\n exportAs: [\"echarts\"],\n features: [i0.ɵɵNgOnChangesFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NgxEchartsDirective, [{\n type: Directive,\n args: [{\n standalone: true,\n selector: 'echarts, [echarts]',\n exportAs: 'echarts'\n }]\n }], () => [{\n type: undefined,\n decorators: [{\n type: Inject,\n args: [NGX_ECHARTS_CONFIG]\n }]\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }], {\n options: [{\n type: Input\n }],\n theme: [{\n type: Input\n }],\n initOpts: [{\n type: Input\n }],\n merge: [{\n type: Input\n }],\n autoResize: [{\n type: Input\n }],\n loading: [{\n type: Input\n }],\n loadingType: [{\n type: Input\n }],\n loadingOpts: [{\n type: Input\n }],\n chartInit: [{\n type: Output\n }],\n optionsError: [{\n type: Output\n }],\n chartClick: [{\n type: Output\n }],\n chartDblClick: [{\n type: Output\n }],\n chartMouseDown: [{\n type: Output\n }],\n chartMouseMove: [{\n type: Output\n }],\n chartMouseUp: [{\n type: Output\n }],\n chartMouseOver: [{\n type: Output\n }],\n chartMouseOut: [{\n type: Output\n }],\n chartGlobalOut: [{\n type: Output\n }],\n chartContextMenu: [{\n type: Output\n }],\n chartHighlight: [{\n type: Output\n }],\n chartDownplay: [{\n type: Output\n }],\n chartSelectChanged: [{\n type: Output\n }],\n chartLegendSelectChanged: [{\n type: Output\n }],\n chartLegendSelected: [{\n type: Output\n }],\n chartLegendUnselected: [{\n type: Output\n }],\n chartLegendLegendSelectAll: [{\n type: Output\n }],\n chartLegendLegendInverseSelect: [{\n type: Output\n }],\n chartLegendScroll: [{\n type: Output\n }],\n chartDataZoom: [{\n type: Output\n }],\n chartDataRangeSelected: [{\n type: Output\n }],\n chartGraphRoam: [{\n type: Output\n }],\n chartGeoRoam: [{\n type: Output\n }],\n chartTreeRoam: [{\n type: Output\n }],\n chartTimelineChanged: [{\n type: Output\n }],\n chartTimelinePlayChanged: [{\n type: Output\n }],\n chartRestore: [{\n type: Output\n }],\n chartDataViewChanged: [{\n type: Output\n }],\n chartMagicTypeChanged: [{\n type: Output\n }],\n chartGeoSelectChanged: [{\n type: Output\n }],\n chartGeoSelected: [{\n type: Output\n }],\n chartGeoUnselected: [{\n type: Output\n }],\n chartAxisAreaSelected: [{\n type: Output\n }],\n chartBrush: [{\n type: Output\n }],\n chartBrushEnd: [{\n type: Output\n }],\n chartBrushSelected: [{\n type: Output\n }],\n chartGlobalCursorTaken: [{\n type: Output\n }],\n chartRendered: [{\n type: Output\n }],\n chartFinished: [{\n type: Output\n }]\n });\n})();\nconst provideEchartsCore = config => {\n return {\n provide: NGX_ECHARTS_CONFIG,\n useValue: config\n };\n};\nclass NgxEchartsModule {\n static forRoot(config) {\n return {\n ngModule: NgxEchartsModule,\n providers: [provideEchartsCore(config)]\n };\n }\n static forChild() {\n return {\n ngModule: NgxEchartsModule\n };\n }\n static {\n this.ɵfac = function NgxEchartsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NgxEchartsModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NgxEchartsModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NgxEchartsModule, [{\n type: NgModule,\n args: [{\n imports: [NgxEchartsDirective],\n exports: [NgxEchartsDirective]\n }]\n }], null, null);\n})();\n\n/*\n * Public API Surface of ngx-echarts\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NGX_ECHARTS_CONFIG, NgxEchartsDirective, NgxEchartsModule, provideEchartsCore };\n"],"mappings":"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","names":[],"x_google_ignoreList":[0]}