{"version":3,"file":"pie.mjs","sources":["../../../../packages/chart/pie/pie.component.ts","../../../../packages/chart/pie/pie.component.html","../../../../packages/chart/pie/pie.module.ts","../../../../packages/chart/pie/pie.ts"],"sourcesContent":["import {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  Input,\n  Output,\n  TemplateRef,\n  ViewEncapsulation,\n  booleanAttribute,\n  numberAttribute\n} from '@angular/core';\n\nimport type { Chart, Event } from '@antv/g2';\n\nimport { G2BaseComponent, G2InteractionType } from '@delon/chart/core';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzDividerComponent } from 'ng-zorro-antd/divider';\nimport { NzSkeletonComponent } from 'ng-zorro-antd/skeleton';\n\nexport interface G2PieData {\n  x: NzSafeAny;\n  y: number;\n  [key: string]: NzSafeAny;\n}\n\nexport interface G2PieClickItem {\n  item: G2PieData;\n  ev: Event;\n}\n\nexport interface G2PieRatio {\n  /** 占比文本，默认：`占比` */\n  text: string;\n  /** 反比文本，默认：`反比` */\n  inverse: string;\n  /** 正比颜色，默认使用 `color` 值 */\n  color: string;\n  /** 反比颜色，默认：`#F0F2F5` */\n  inverseColor: string;\n}\n\n@Component({\n  selector: 'g2-pie',\n  exportAs: 'g2Pie',\n  templateUrl: './pie.component.html',\n  host: {\n    '[class.g2-pie]': 'true',\n    '[class.g2-pie__legend-has]': 'hasLegend',\n    '[class.g2-pie__legend-block]': 'block',\n    '[class.g2-pie__mini]': 'isPercent'\n  },\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  imports: [NzSkeletonComponent, NzStringTemplateOutletDirective, NzDividerComponent]\n})\nexport class G2PieComponent extends G2BaseComponent {\n  private percentColor!: (value: string) => string;\n  legendData: NzSafeAny[] = [];\n  isPercent = false;\n\n  // #region fields\n\n  @Input({ transform: booleanAttribute }) animate = true;\n  @Input() color = 'rgba(24, 144, 255, 0.85)';\n  @Input() subTitle?: string | TemplateRef<void> | null;\n  @Input() total?: string | number | TemplateRef<void> | null;\n  @Input({ transform: numberAttribute }) height = 0;\n  @Input({ transform: booleanAttribute }) hasLegend = false;\n  @Input() inner = 0.75;\n  @Input() padding: number | number[] | 'auto' = [12, 0, 12, 0];\n  @Input({ transform: numberAttribute }) percent?: number;\n  @Input({ transform: booleanAttribute }) tooltip = true;\n  @Input({ transform: numberAttribute }) lineWidth = 0;\n  @Input({ transform: numberAttribute }) blockMaxWidth = 380;\n  @Input({ transform: booleanAttribute }) select = true;\n  @Input() valueFormat?: (y: number) => string;\n  @Input() data: G2PieData[] = [];\n  @Input() colors?: string[];\n  @Input() interaction: G2InteractionType = 'none';\n  @Input() ratio: G2PieRatio = {\n    text: '占比',\n    inverse: '反比',\n    color: '',\n    inverseColor: '#F0F2F5'\n  };\n  @Output() readonly clickItem = new EventEmitter<G2PieClickItem>();\n\n  // #endregion\n\n  block: boolean = false;\n\n  private fixData(): void {\n    const { percent, color } = this;\n    this.isPercent = percent != null;\n    if (!this.isPercent) {\n      return;\n    }\n\n    this.select = false;\n    this.tooltip = false;\n    const { text, inverse, color: textColor, inverseColor } = this.ratio;\n    this.percentColor = (value: string) => (value === text ? (textColor ?? color) : inverseColor);\n    this.data = [\n      {\n        x: text,\n        y: percent!\n      },\n      {\n        x: inverse,\n        y: 100 - percent!\n      }\n    ];\n  }\n\n  private updateBlock(): void {\n    this.block = this._chart && this.hasLegend && this.el.nativeElement.clientWidth <= this.blockMaxWidth;\n    this.cdr.detectChanges();\n  }\n\n  install(): void {\n    const {\n      node,\n      height,\n      padding,\n      tooltip,\n      inner,\n      hasLegend,\n      interaction,\n      theme,\n      animate,\n      lineWidth,\n      isPercent,\n      percentColor,\n      colors\n    } = this;\n    const chart: Chart = (this._chart = new this.winG2.Chart({\n      container: node.nativeElement,\n      autoFit: true,\n      height,\n      padding,\n      theme\n    }));\n    chart.animate(animate);\n\n    if (!tooltip) {\n      chart.tooltip(false);\n    } else {\n      chart.tooltip({\n        showTitle: false,\n        showMarkers: false\n      });\n    }\n    if (interaction !== 'none') {\n      chart.interaction(interaction);\n    }\n    chart.axis(false).legend(false).coordinate('theta', { innerRadius: inner });\n    chart.filter('x', (_val: NzSafeAny, item: NzSafeAny) => item.checked !== false);\n    chart\n      .interval()\n      .adjust('stack')\n      .position('y')\n      .style({ lineWidth, stroke: '#fff' })\n      .color('x', isPercent ? percentColor : colors)\n      .tooltip('x*percent', (name: string, p: number) => ({\n        name,\n        value: `${hasLegend ? p : (p * 100).toFixed(2)} %`\n      }))\n      .state({});\n    chart.scale({\n      x: {\n        type: 'cat',\n        range: [0, 1]\n      }\n    });\n\n    chart\n      .on(`interval:click`, (ev: Event) => {\n        this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\n      })\n      .on('afterrender', () => {\n        this.ngZone.run(() => this.updateBlock());\n      });\n\n    this.ready.next(chart);\n\n    this.changeData();\n\n    chart.render();\n  }\n\n  changeData(): void {\n    const { _chart, data } = this;\n    if (!_chart || !Array.isArray(data) || data.length <= 0) return;\n\n    // 转化 percent\n    const totalSum = data.reduce((cur, item) => cur + item.y, 0);\n    for (const item of data) {\n      item.percent = totalSum === 0 ? 0 : item.y / totalSum;\n    }\n    _chart.changeData(data);\n\n    this.ngZone.run(() => this.genLegend());\n  }\n\n  private genLegend(): void {\n    const { hasLegend, isPercent, cdr, _chart } = this;\n    if (!hasLegend || isPercent) return;\n\n    this.legendData = _chart.geometries[0].dataArray.map((item: NzSafeAny) => {\n      const origin = item[0]._origin;\n      origin.color = item[0].color;\n      origin.checked = true;\n      origin.percent = (origin.percent * 100).toFixed(2);\n      return origin;\n    });\n\n    cdr.detectChanges();\n  }\n\n  _click(i: number): void {\n    const { legendData, _chart } = this;\n    legendData[i].checked = !legendData[i].checked;\n    _chart.render(true);\n  }\n\n  onChanges(): void {\n    this.fixData();\n  }\n}\n","@if (!loaded) {\n  <nz-skeleton />\n}\n<div class=\"g2-pie__chart\">\n  <div #container></div>\n  @if (subTitle || total) {\n    <div class=\"g2-pie__total\">\n      @if (subTitle) {\n        <h4 class=\"g2-pie__total-title\">\n          <ng-container *nzStringTemplateOutlet=\"subTitle\">\n            <div [innerHTML]=\"subTitle\"></div>\n          </ng-container>\n        </h4>\n      }\n      @if (total) {\n        <div class=\"g2-pie__total-stat\">\n          <ng-container *nzStringTemplateOutlet=\"total\">\n            <div [innerHTML]=\"total\"></div>\n          </ng-container>\n        </div>\n      }\n    </div>\n  }\n</div>\n@if (hasLegend && legendData.length > 0) {\n  <ul class=\"g2-pie__legend\">\n    @for (item of legendData; track $index) {\n      <li (click)=\"_click($index)\" class=\"g2-pie__legend-item\">\n        <span class=\"g2-pie__legend-dot\" [style]=\"{ 'background-color': !item.checked ? '#aaa' : item.color }\"></span>\n        <span class=\"g2-pie__legend-title\">{{ item.x }}</span>\n        <nz-divider nzType=\"vertical\" />\n        <span class=\"g2-pie__legend-percent\">{{ item.percent }}%</span>\n        <span class=\"g2-pie__legend-value\" [innerHTML]=\"valueFormat ? valueFormat(item.y) : item.y\"></span>\n      </li>\n    }\n  </ul>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { G2PieComponent } from './pie.component';\n\nconst COMPONENTS = [G2PieComponent];\n\n@NgModule({\n  imports: [CommonModule, NzDividerModule, NzOutletModule, NzSkeletonModule, ...COMPONENTS],\n  exports: COMPONENTS\n})\nexport class G2PieModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}