UNPKG

@yelon/chart

Version:

Cache the dictionary, city data etc.

1 lines 15.4 kB
{"version":3,"file":"chart-echarts.mjs","sources":["../../../../packages/chart/chart-echarts/echarts.service.ts","../../../../packages/chart/chart-echarts/echarts.component.ts","../../../../packages/chart/chart-echarts/echarts.module.ts","../../../../packages/chart/chart-echarts/chart-echarts.ts"],"sourcesContent":["import { Injectable, OnDestroy, inject } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { YunzaiChartConfig, YunzaiConfigService } from '@yelon/util/config';\nimport { LazyService } from '@yelon/util/other';\n\n@Injectable({ providedIn: 'root' })\nexport class ChartEChartsService implements OnDestroy {\n private readonly cogSrv = inject(YunzaiConfigService);\n private readonly lazySrv = inject(LazyService);\n private _cog!: YunzaiChartConfig;\n private loading = false;\n private loaded = false;\n private notify$ = new Subject<void>();\n\n get cog(): YunzaiChartConfig {\n return this._cog;\n }\n set cog(val: YunzaiChartConfig) {\n this._cog = this.cogSrv.merge(\n 'chart',\n {\n theme: '',\n echartsLib: 'https://cdnjs.cloudflare.com/ajax/libs/echarts/5.1.0/echarts.min.js'\n } as YunzaiChartConfig,\n val\n )!;\n }\n\n constructor() {\n this.cog = { theme: '' };\n }\n\n libLoad(): this {\n if (this.loading) {\n if (this.loaded) {\n this.notify$.next();\n }\n return this;\n }\n this.loading = true;\n this.lazySrv\n .load(this.cog.echartsLib!)\n .then(() => {\n const extensions = this.cog.echartsExtensions;\n if (Array.isArray(extensions) && extensions.length > 0) {\n return this.lazySrv.load(extensions).then(() => true);\n }\n return Promise.resolve(true);\n })\n .then(() => {\n this.loaded = true;\n this.notify$.next();\n });\n return this;\n }\n\n get notify(): Observable<void> {\n return this.notify$.asObservable();\n }\n\n ngOnDestroy(): void {\n this.notify$.unsubscribe();\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, debounceTime, filter } from 'rxjs';\n\nimport { ZoneOutside } from '@yelon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzSkeletonComponent } from 'ng-zorro-antd/skeleton';\n\nimport { ChartEChartsService } from './echarts.service';\nimport {\n ChartECharts,\n ChartEChartsEvent,\n ChartEChartsEventType,\n ChartEChartsOn,\n ChartEChartsOption\n} from './echarts.types';\n\n@Component({\n selector: 'chart-echarts, [chart-echarts]',\n exportAs: 'chartECharts',\n template: `\n @if (!loaded) {\n <nz-skeleton />\n }\n <div #container [style.width]=\"_width\" [style.height]=\"_height\"></div>\n `,\n host: {\n '[style.display]': `'inline-block'`,\n '[style.width]': `_width`,\n '[style.height]': `_height`\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzSkeletonComponent]\n})\nexport class ChartEChartsComponent implements OnInit, OnDestroy {\n private readonly srv = inject(ChartEChartsService);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly ngZone = inject(NgZone);\n private readonly platform = inject(Platform);\n\n @ViewChild('container', { static: true }) private node!: ElementRef;\n private destroy$ = inject(DestroyRef);\n private _chart: ChartECharts | null = null;\n private _theme?: string | Record<string, unknown> | null;\n private _initOpt?: {\n renderer?: NzSafeAny;\n devicePixelRatio?: number;\n width?: number;\n height?: number;\n locale?: NzSafeAny;\n };\n private _option!: ChartEChartsOption;\n _width = '100%';\n _height = '400px';\n\n @Input()\n set width(val: number | string | null | undefined) {\n this._width = typeof val === 'number' ? `${val}px` : `${val}`;\n }\n @Input() set height(val: number | string | null | undefined) {\n this._height = typeof val === 'number' ? `${val}px` : `${val}`;\n }\n @Input()\n set theme(value: string | Record<string, unknown> | null | undefined) {\n this._theme = value;\n if (this._chart) {\n this.install();\n }\n }\n @Input()\n set initOpt(value: NzSafeAny) {\n this._initOpt = value;\n if (this._chart) {\n this.install();\n }\n }\n @Input()\n set option(value: ChartEChartsOption) {\n this._option = value;\n if (this._chart) {\n this.setOption(value, true);\n }\n }\n @Input() on: ChartEChartsOn[] = [];\n @Output() readonly events = new EventEmitter<ChartEChartsEvent>();\n\n get chart(): ChartECharts | null {\n return this._chart;\n }\n loaded = false;\n\n constructor() {\n this.srv.notify\n .pipe(\n takeUntilDestroyed(),\n filter(() => !this.loaded)\n )\n .subscribe(() => this.load());\n\n this.theme = this.srv.cog.echartsTheme;\n }\n\n private emit(type: ChartEChartsEventType, other?: ChartEChartsEvent): void {\n this.events.emit({ type, chart: this.chart!, ...other });\n }\n\n @ZoneOutside()\n private load(): void {\n this.ngZone.run(() => {\n this.loaded = true;\n this.cdr.detectChanges();\n });\n this.emit('ready');\n this.install();\n }\n\n install(): this {\n this.destroy();\n const chart = (this._chart = (window as NzSafeAny).echarts.init(\n this.node.nativeElement,\n this._theme,\n this._initOpt\n )) as ChartECharts;\n this.emit('init');\n this.setOption(this._option);\n // on\n this.on.forEach(item => {\n if (item.query != null) {\n chart.on(item.eventName, item.query, event => item.handler({ event, chart }));\n } else {\n chart.on(item.eventName, event => item.handler({ event, chart }));\n }\n });\n return this;\n }\n\n destroy(): this {\n if (this._chart) {\n this._chart.dispose();\n this.emit('destroy');\n }\n return this;\n }\n\n setOption(option: ChartEChartsOption, notMerge: boolean = false, lazyUpdate: boolean = false): this {\n if (this._chart) {\n this._chart.setOption(option, notMerge, lazyUpdate);\n this.emit('set-option', { option } as NzSafeAny);\n }\n return this;\n }\n\n ngOnInit(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n if ((window as NzSafeAny).echarts) {\n this.load();\n } else {\n this.srv.libLoad();\n }\n\n fromEvent(window, 'resize')\n .pipe(\n takeUntilDestroyed(this.destroy$),\n filter(() => !!this._chart),\n debounceTime(200)\n )\n .subscribe(() => this._chart!.resize());\n }\n\n ngOnDestroy(): void {\n this.on.forEach(item => this._chart?.off(item.eventName));\n this.destroy();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { ChartEChartsComponent } from './echarts.component';\n\nconst COMPONENTS = [ChartEChartsComponent];\n\n@NgModule({\n imports: [CommonModule, NzSkeletonModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class ChartEChartsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}