UNPKG

@yelon/chart

Version:

Cache the dictionary, city data etc.

1 lines 10.9 kB
{"version":3,"file":"gauge.mjs","sources":["../../../../packages/chart/gauge/gauge.component.ts","../../../../packages/chart/gauge/gauge.module.ts","../../../../packages/chart/gauge/gauge.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, numberAttribute } from '@angular/core';\n\nimport type { Chart } from '@antv/g2';\n\nimport { G2BaseComponent } from '@yelon/chart/core';\nimport { NzSkeletonComponent } from 'ng-zorro-antd/skeleton';\n\n@Component({\n selector: 'g2-gauge',\n exportAs: 'g2Gauge',\n template: `@if (!loaded) {\n <nz-skeleton />\n }`,\n host: {\n '[class.g2-gauge]': 'true'\n },\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzSkeletonComponent]\n})\nexport class G2GaugeComponent extends G2BaseComponent {\n // #region fields\n\n @Input() title?: string;\n @Input({ transform: numberAttribute }) height?: number;\n @Input() color = '#2f9cff';\n @Input() bgColor?: string; // = '#f0f2f5';\n @Input() format?: (text: string, item: any, index: number) => string;\n @Input({ transform: numberAttribute }) percent?: number;\n @Input() padding: number | number[] | 'auto' = [10, 10, 30, 10];\n\n // #endregion\n\n install(): void {\n // 自定义Shape 部分\n this.winG2.registerShape('point', 'pointer', {\n draw(cfg: any, container: any) {\n const group = container.addGroup({});\n // 获取极坐标系下画布中心点\n const center = (this as any).parsePoint({ x: 0, y: 0 });\n // 绘制指针\n group.addShape('line', {\n attrs: {\n x1: center.x,\n y1: center.y,\n x2: cfg.x,\n y2: cfg.y,\n stroke: cfg.color,\n lineWidth: 2.5,\n lineCap: 'round'\n }\n });\n group.addShape('circle', {\n attrs: {\n x: center.x,\n y: center.y,\n r: 5.75,\n stroke: cfg.color,\n lineWidth: 2,\n fill: '#fff'\n }\n });\n return group;\n }\n });\n\n const { el, height, padding, format, theme } = this;\n\n const chart: Chart = (this._chart = new this.winG2.Chart({\n container: el.nativeElement,\n autoFit: true,\n height,\n padding,\n theme\n }));\n chart.legend(false);\n chart.animate(false);\n chart.tooltip(false);\n chart.coordinate('polar', {\n startAngle: (-9 / 8) * Math.PI,\n endAngle: (1 / 8) * Math.PI,\n radius: 0.75\n });\n chart.scale('value', {\n min: 0,\n max: 100,\n nice: true,\n tickCount: 6\n });\n chart.axis('1', false);\n chart.axis('value', {\n line: null,\n label: {\n offset: -14,\n formatter: format\n },\n tickLine: null,\n grid: null\n });\n chart.point().position('value*1').shape('pointer');\n\n this.ready.next(chart);\n\n this.changeData();\n\n chart.render();\n }\n\n changeData(): void {\n const { _chart, percent, color, bgColor, title } = this;\n if (!_chart) return;\n\n const data = [{ name: title, value: percent }];\n const val = data[0].value;\n _chart.annotation().clear(true);\n _chart.geometries[0].color(color);\n // 绘制仪表盘背景\n _chart.annotation().arc({\n top: false,\n start: [0, 0.95],\n end: [100, 0.95],\n style: {\n stroke: bgColor,\n lineWidth: 12,\n lineDash: null\n }\n });\n _chart.annotation().arc({\n start: [0, 0.95],\n end: [data[0].value!, 0.95],\n style: {\n stroke: color,\n lineWidth: 12,\n lineDash: null\n }\n });\n\n _chart.annotation().text({\n position: ['50%', '85%'],\n content: title,\n style: {\n fontSize: 12,\n fill: this.theme === 'dark' ? 'rgba(255, 255, 255, 0.43)' : 'rgba(0, 0, 0, 0.43)',\n textAlign: 'center'\n }\n });\n _chart.annotation().text({\n position: ['50%', '90%'],\n content: `${val} %`,\n style: {\n fontSize: 20,\n fill: this.theme === 'dark' ? 'rgba(255, 255, 255, 0.85)' : 'rgba(0, 0, 0, 0.85)',\n textAlign: 'center'\n },\n offsetY: 15\n });\n\n _chart.changeData(data);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { G2GaugeComponent } from './gauge.component';\n\nconst COMPONENTS = [G2GaugeComponent];\n\n@NgModule({\n imports: [CommonModule, NzSkeletonModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class G2GaugeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}