@delon/chart 13.0.0 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/core/g2.base.component.d.ts +3 -2
  2. package/esm2020/bar/bar.component.mjs +5 -4
  3. package/esm2020/bar/bar.module.mjs +4 -4
  4. package/esm2020/card/card.component.mjs +3 -3
  5. package/esm2020/card/card.module.mjs +4 -4
  6. package/esm2020/chart-echarts/echarts.component.mjs +3 -3
  7. package/esm2020/chart-echarts/echarts.module.mjs +4 -4
  8. package/esm2020/chart-echarts/echarts.service.mjs +3 -3
  9. package/esm2020/core/g2.base.component.mjs +8 -5
  10. package/esm2020/core/g2.servicce.mjs +3 -3
  11. package/esm2020/custom/custom.component.mjs +3 -3
  12. package/esm2020/custom/custom.module.mjs +4 -4
  13. package/esm2020/gauge/gauge.component.mjs +7 -6
  14. package/esm2020/gauge/gauge.module.mjs +4 -4
  15. package/esm2020/mini-area/mini-area.component.mjs +5 -4
  16. package/esm2020/mini-area/mini-area.module.mjs +4 -4
  17. package/esm2020/mini-bar/mini-bar.component.mjs +5 -4
  18. package/esm2020/mini-bar/mini-bar.module.mjs +4 -4
  19. package/esm2020/mini-progress/mini-progress.component.mjs +3 -3
  20. package/esm2020/mini-progress/mini-progress.module.mjs +4 -4
  21. package/esm2020/number-info/number-info.component.mjs +3 -3
  22. package/esm2020/number-info/number-info.module.mjs +4 -4
  23. package/esm2020/pie/pie.component.mjs +5 -4
  24. package/esm2020/pie/pie.module.mjs +4 -4
  25. package/esm2020/radar/radar.component.mjs +5 -4
  26. package/esm2020/radar/radar.module.mjs +4 -4
  27. package/esm2020/single-bar/single-bar.component.mjs +5 -4
  28. package/esm2020/single-bar/single-bar.module.mjs +4 -4
  29. package/esm2020/tag-cloud/tag-cloud.component.mjs +5 -4
  30. package/esm2020/tag-cloud/tag-cloud.module.mjs +4 -4
  31. package/esm2020/timeline/timeline.component.mjs +5 -4
  32. package/esm2020/timeline/timeline.module.mjs +4 -4
  33. package/esm2020/trend/trend.component.mjs +3 -3
  34. package/esm2020/trend/trend.module.mjs +4 -4
  35. package/esm2020/water-wave/water-wave.component.mjs +3 -3
  36. package/esm2020/water-wave/water-wave.module.mjs +4 -4
  37. package/fesm2015/bar.mjs +8 -7
  38. package/fesm2015/bar.mjs.map +1 -1
  39. package/fesm2015/card.mjs +7 -7
  40. package/fesm2015/chart-echarts.mjs +10 -10
  41. package/fesm2015/core.mjs +10 -7
  42. package/fesm2015/core.mjs.map +1 -1
  43. package/fesm2015/custom.mjs +7 -7
  44. package/fesm2015/gauge.mjs +10 -9
  45. package/fesm2015/gauge.mjs.map +1 -1
  46. package/fesm2015/mini-area.mjs +8 -7
  47. package/fesm2015/mini-area.mjs.map +1 -1
  48. package/fesm2015/mini-bar.mjs +8 -7
  49. package/fesm2015/mini-bar.mjs.map +1 -1
  50. package/fesm2015/mini-progress.mjs +7 -7
  51. package/fesm2015/number-info.mjs +7 -7
  52. package/fesm2015/pie.mjs +8 -7
  53. package/fesm2015/pie.mjs.map +1 -1
  54. package/fesm2015/radar.mjs +8 -7
  55. package/fesm2015/radar.mjs.map +1 -1
  56. package/fesm2015/single-bar.mjs +8 -7
  57. package/fesm2015/single-bar.mjs.map +1 -1
  58. package/fesm2015/tag-cloud.mjs +8 -7
  59. package/fesm2015/tag-cloud.mjs.map +1 -1
  60. package/fesm2015/timeline.mjs +8 -7
  61. package/fesm2015/timeline.mjs.map +1 -1
  62. package/fesm2015/trend.mjs +7 -7
  63. package/fesm2015/water-wave.mjs +7 -7
  64. package/fesm2020/bar.mjs +8 -7
  65. package/fesm2020/bar.mjs.map +1 -1
  66. package/fesm2020/card.mjs +7 -7
  67. package/fesm2020/chart-echarts.mjs +10 -10
  68. package/fesm2020/core.mjs +10 -7
  69. package/fesm2020/core.mjs.map +1 -1
  70. package/fesm2020/custom.mjs +7 -7
  71. package/fesm2020/gauge.mjs +10 -9
  72. package/fesm2020/gauge.mjs.map +1 -1
  73. package/fesm2020/mini-area.mjs +8 -7
  74. package/fesm2020/mini-area.mjs.map +1 -1
  75. package/fesm2020/mini-bar.mjs +8 -7
  76. package/fesm2020/mini-bar.mjs.map +1 -1
  77. package/fesm2020/mini-progress.mjs +7 -7
  78. package/fesm2020/number-info.mjs +7 -7
  79. package/fesm2020/pie.mjs +8 -7
  80. package/fesm2020/pie.mjs.map +1 -1
  81. package/fesm2020/radar.mjs +8 -7
  82. package/fesm2020/radar.mjs.map +1 -1
  83. package/fesm2020/single-bar.mjs +8 -7
  84. package/fesm2020/single-bar.mjs.map +1 -1
  85. package/fesm2020/tag-cloud.mjs +8 -7
  86. package/fesm2020/tag-cloud.mjs.map +1 -1
  87. package/fesm2020/timeline.mjs +8 -7
  88. package/fesm2020/timeline.mjs.map +1 -1
  89. package/fesm2020/trend.mjs +7 -7
  90. package/fesm2020/water-wave.mjs +7 -7
  91. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"mini-bar.mjs","sources":["../../../../packages/chart/mini-bar/mini-bar.component.ts","../../../../packages/chart/mini-bar/mini-bar.module.ts","../../../../packages/chart/mini-bar/mini-bar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\nimport type { Chart, Event } from '@antv/g2';\n\nimport { G2BaseComponent, genMiniTooltipOptions } from '@delon/chart/core';\nimport { InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport interface G2MiniBarData {\n x: NzSafeAny;\n y: NzSafeAny;\n color?: string | null;\n [key: string]: NzSafeAny;\n}\n\nexport interface G2MiniBarClickItem {\n item: G2MiniBarData;\n ev: Event;\n}\n\n@Component({\n selector: 'g2-mini-bar',\n exportAs: 'g2MiniBar',\n template: ``,\n host: {\n '[style.height.px]': 'height'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2MiniBarComponent extends G2BaseComponent {\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_borderWidth: NumberInput;\n\n // #region fields\n\n @Input() color = '#1890FF';\n @Input() @InputNumber() height = 0;\n @Input() @InputNumber() borderWidth = 5;\n @Input() padding: number | number[] | 'auto' = [8, 8, 8, 8];\n @Input() data: G2MiniBarData[] = [];\n @Input() yTooltipSuffix = '';\n @Input() tooltipType: 'mini' | 'default' = 'default';\n @Output() readonly clickItem = new EventEmitter<G2MiniBarClickItem>();\n\n // #endregion\n\n install(): void {\n const { el, height, padding, yTooltipSuffix, tooltipType, theme, color, borderWidth } = this;\n const chart: Chart = (this._chart = new (window as NzSafeAny).G2.Chart({\n container: el.nativeElement,\n autoFit: true,\n height,\n padding,\n theme\n }));\n chart.scale({\n x: {\n type: 'cat'\n },\n y: {\n min: 0\n }\n });\n chart.legend(false);\n chart.axis(false);\n chart.tooltip(genMiniTooltipOptions(tooltipType, { showCrosshairs: false }));\n chart\n .interval()\n .position('x*y')\n .color('x*y', (x, y) => {\n const colorItem = this.data.find(w => w.x === x && w.y === y);\n return colorItem && colorItem.color ? colorItem.color : color;\n })\n .size(borderWidth)\n .tooltip('x*y', (x: NzSafeAny, y: NzSafeAny) => ({ name: x, value: y + yTooltipSuffix }));\n\n chart.on(`interval:click`, (ev: Event) => {\n this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\n });\n\n this.changeData();\n chart.render();\n }\n\n changeData(): void {\n const { _chart, data } = this;\n if (!_chart || !Array.isArray(data) || data.length <= 0) return;\n _chart.changeData(data);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { G2MiniBarComponent } from './mini-bar.component';\n\nconst COMPONENTS = [G2MiniBarComponent];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class G2MiniBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;MA+Ba,kBAAmB,SAAQ,eAAe;IAXvD;;;QAiBW,UAAK,GAAG,SAAS,CAAC;QACH,WAAM,GAAG,CAAC,CAAC;QACX,gBAAW,GAAG,CAAC,CAAC;QAC/B,YAAO,GAA+B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,SAAI,GAAoB,EAAE,CAAC;QAC3B,mBAAc,GAAG,EAAE,CAAC;QACpB,gBAAW,GAAuB,SAAS,CAAC;QAClC,cAAS,GAAG,IAAI,YAAY,EAAsB,CAAC;KA+CvE;;IA3CC,OAAO;QACL,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7F,MAAM,KAAK,IAAW,IAAI,CAAC,MAAM,GAAG,IAAK,MAAoB,CAAC,EAAE,CAAC,KAAK,CAAC;YACrE,SAAS,EAAE,EAAE,CAAC,aAAa;YAC3B,OAAO,EAAE,IAAI;YACb,MAAM;YACN,OAAO;YACP,KAAK;SACN,CAAC,CAAC,CAAC;QACJ,KAAK,CAAC,KAAK,CAAC;YACV,CAAC,EAAE;gBACD,IAAI,EAAE,KAAK;aACZ;YACD,CAAC,EAAE;gBACD,GAAG,EAAE,CAAC;aACP;SACF,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7E,KAAK;aACF,QAAQ,EAAE;aACV,QAAQ,CAAC,KAAK,CAAC;aACf,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9D,OAAO,SAAS,IAAI,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;SAC/D,CAAC;aACD,IAAI,CAAC,WAAW,CAAC;aACjB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAY,EAAE,CAAY,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC;QAE5F,KAAK,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,EAAS;YACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;SACzE,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,KAAK,CAAC,MAAM,EAAE,CAAC;KAChB;IAED,UAAU;QACR,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QAChE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KACzB;;+GA3DU,kBAAkB;mGAAlB,kBAAkB,yWARnB,EAAE;AAeY;IAAd,WAAW,EAAE;kDAAY;AACX;IAAd,WAAW,EAAE;uDAAiB;2FAR7B,kBAAkB;kBAX9B,SAAS;mBAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,EAAE;oBACZ,IAAI,EAAE;wBACJ,mBAAmB,EAAE,QAAQ;qBAC9B;oBACD,mBAAmB,EAAE,KAAK;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;iBACtC;8BAOU,KAAK;sBAAb,KAAK;gBACkB,MAAM;sBAA7B,KAAK;gBACkB,WAAW;sBAAlC,KAAK;gBACG,OAAO;sBAAf,KAAK;gBACG,IAAI;sBAAZ,KAAK;gBACG,cAAc;sBAAtB,KAAK;gBACG,WAAW;sBAAnB,KAAK;gBACa,SAAS;sBAA3B,MAAM;;;ACvCT,MAAM,UAAU,GAAG,CAAC,kBAAkB,CAAC,CAAC;MAO3B,eAAe;;4GAAf,eAAe;6GAAf,eAAe,iBAPR,kBAAkB,aAG1B,YAAY,aAHJ,kBAAkB;6GAOzB,eAAe,YAJjB,CAAC,YAAY,CAAC;2FAIZ,eAAe;kBAL3B,QAAQ;mBAAC;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,YAAY,EAAE,UAAU;oBACxB,OAAO,EAAE,UAAU;iBACpB;;;ACXD;;;;;;"}
1
+ {"version":3,"file":"mini-bar.mjs","sources":["../../../../packages/chart/mini-bar/mini-bar.component.ts","../../../../packages/chart/mini-bar/mini-bar.module.ts","../../../../packages/chart/mini-bar/mini-bar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\nimport type { Chart, Event } from '@antv/g2';\n\nimport { G2BaseComponent, genMiniTooltipOptions } from '@delon/chart/core';\nimport { InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport interface G2MiniBarData {\n x: NzSafeAny;\n y: NzSafeAny;\n color?: string | null;\n [key: string]: NzSafeAny;\n}\n\nexport interface G2MiniBarClickItem {\n item: G2MiniBarData;\n ev: Event;\n}\n\n@Component({\n selector: 'g2-mini-bar',\n exportAs: 'g2MiniBar',\n template: ``,\n host: {\n '[style.height.px]': 'height'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2MiniBarComponent extends G2BaseComponent {\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_borderWidth: NumberInput;\n\n // #region fields\n\n @Input() color = '#1890FF';\n @Input() @InputNumber() height = 0;\n @Input() @InputNumber() borderWidth = 5;\n @Input() padding: number | number[] | 'auto' = [8, 8, 8, 8];\n @Input() data: G2MiniBarData[] = [];\n @Input() yTooltipSuffix = '';\n @Input() tooltipType: 'mini' | 'default' = 'default';\n @Output() readonly clickItem = new EventEmitter<G2MiniBarClickItem>();\n\n // #endregion\n\n install(): void {\n const { el, height, padding, yTooltipSuffix, tooltipType, theme, color, borderWidth } = this;\n const chart: Chart = (this._chart = new (window as NzSafeAny).G2.Chart({\n container: el.nativeElement,\n autoFit: true,\n height,\n padding,\n theme\n }));\n chart.scale({\n x: {\n type: 'cat'\n },\n y: {\n min: 0\n }\n });\n chart.legend(false);\n chart.axis(false);\n chart.tooltip(genMiniTooltipOptions(tooltipType, { showCrosshairs: false }));\n chart\n .interval()\n .position('x*y')\n .color('x*y', (x, y) => {\n const colorItem = this.data.find(w => w.x === x && w.y === y);\n return colorItem && colorItem.color ? colorItem.color : color;\n })\n .size(borderWidth)\n .tooltip('x*y', (x: NzSafeAny, y: NzSafeAny) => ({ name: x, value: y + yTooltipSuffix }));\n\n chart.on(`interval:click`, (ev: Event) => {\n this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\n });\n\n this.ready.next(chart);\n\n this.changeData();\n chart.render();\n }\n\n changeData(): void {\n const { _chart, data } = this;\n if (!_chart || !Array.isArray(data) || data.length <= 0) return;\n _chart.changeData(data);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { G2MiniBarComponent } from './mini-bar.component';\n\nconst COMPONENTS = [G2MiniBarComponent];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class G2MiniBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -24,8 +24,8 @@ class G2MiniProgressComponent {
24
24
  this.cdr.detectChanges();
25
25
  }
26
26
  }
27
- G2MiniProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2MiniProgressComponent, deps: [{ token: i1.DelonLocaleService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
28
- G2MiniProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: G2MiniProgressComponent, selector: "g2-mini-progress", inputs: { color: "color", target: "target", percent: "percent", strokeWidth: "strokeWidth" }, host: { properties: { "class.g2-mini-progress": "true" } }, exportAs: ["g2MiniProgress"], usesOnChanges: true, ngImport: i0, template: "<div\n nz-tooltip\n [nzTooltipTitle]=\"i18n.getData('miniProgress').target + target + '%'\"\n class=\"g2-mini-progress__target\"\n [ngStyle]=\"{ 'left.%': target }\"\n>\n <span class=\"g2-mini-progress__target-item\" [ngStyle]=\"{ 'background-color': color }\"></span>\n <span class=\"g2-mini-progress__target-item\" [ngStyle]=\"{ 'background-color': color }\"></span>\n</div>\n<div class=\"g2-mini-progress__wrap\">\n <div\n class=\"g2-mini-progress__value\"\n [ngStyle]=\"{ 'background-color': color, 'width.%': percent, 'height.px': strokeWidth }\"\n ></div>\n</div>\n", directives: [{ type: i2.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
27
+ G2MiniProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2MiniProgressComponent, deps: [{ token: i1.DelonLocaleService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
28
+ G2MiniProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: G2MiniProgressComponent, selector: "g2-mini-progress", inputs: { color: "color", target: "target", percent: "percent", strokeWidth: "strokeWidth" }, host: { properties: { "class.g2-mini-progress": "true" } }, exportAs: ["g2MiniProgress"], usesOnChanges: true, ngImport: i0, template: "<div\n nz-tooltip\n [nzTooltipTitle]=\"i18n.getData('miniProgress').target + target + '%'\"\n class=\"g2-mini-progress__target\"\n [ngStyle]=\"{ 'left.%': target }\"\n>\n <span class=\"g2-mini-progress__target-item\" [ngStyle]=\"{ 'background-color': color }\"></span>\n <span class=\"g2-mini-progress__target-item\" [ngStyle]=\"{ 'background-color': color }\"></span>\n</div>\n<div class=\"g2-mini-progress__wrap\">\n <div\n class=\"g2-mini-progress__value\"\n [ngStyle]=\"{ 'background-color': color, 'width.%': percent, 'height.px': strokeWidth }\"\n ></div>\n</div>\n", directives: [{ type: i2.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
29
29
  __decorate([
30
30
  InputNumber()
31
31
  ], G2MiniProgressComponent.prototype, "target", void 0);
@@ -35,7 +35,7 @@ __decorate([
35
35
  __decorate([
36
36
  InputNumber()
37
37
  ], G2MiniProgressComponent.prototype, "strokeWidth", void 0);
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2MiniProgressComponent, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2MiniProgressComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{ selector: 'g2-mini-progress', exportAs: 'g2MiniProgress', host: { '[class.g2-mini-progress]': 'true' }, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n nz-tooltip\n [nzTooltipTitle]=\"i18n.getData('miniProgress').target + target + '%'\"\n class=\"g2-mini-progress__target\"\n [ngStyle]=\"{ 'left.%': target }\"\n>\n <span class=\"g2-mini-progress__target-item\" [ngStyle]=\"{ 'background-color': color }\"></span>\n <span class=\"g2-mini-progress__target-item\" [ngStyle]=\"{ 'background-color': color }\"></span>\n</div>\n<div class=\"g2-mini-progress__wrap\">\n <div\n class=\"g2-mini-progress__value\"\n [ngStyle]=\"{ 'background-color': color, 'width.%': percent, 'height.px': strokeWidth }\"\n ></div>\n</div>\n" }]
41
41
  }], ctorParameters: function () { return [{ type: i1.DelonLocaleService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { color: [{
@@ -51,10 +51,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
51
51
  const COMPONENTS = [G2MiniProgressComponent];
52
52
  class G2MiniProgressModule {
53
53
  }
54
- G2MiniProgressModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2MiniProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
55
- G2MiniProgressModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2MiniProgressModule, declarations: [G2MiniProgressComponent], imports: [CommonModule, DelonLocaleModule, NzToolTipModule], exports: [G2MiniProgressComponent] });
56
- G2MiniProgressModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2MiniProgressModule, imports: [[CommonModule, DelonLocaleModule, NzToolTipModule]] });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2MiniProgressModule, decorators: [{
54
+ G2MiniProgressModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2MiniProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
55
+ G2MiniProgressModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2MiniProgressModule, declarations: [G2MiniProgressComponent], imports: [CommonModule, DelonLocaleModule, NzToolTipModule], exports: [G2MiniProgressComponent] });
56
+ G2MiniProgressModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2MiniProgressModule, imports: [[CommonModule, DelonLocaleModule, NzToolTipModule]] });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2MiniProgressModule, decorators: [{
58
58
  type: NgModule,
59
59
  args: [{
60
60
  imports: [CommonModule, DelonLocaleModule, NzToolTipModule],
@@ -17,12 +17,12 @@ class NumberInfoComponent {
17
17
  this.gap = 8;
18
18
  }
19
19
  }
20
- NumberInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NumberInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- NumberInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: NumberInfoComponent, selector: "number-info", inputs: { title: "title", subTitle: "subTitle", total: "total", subTotal: "subTotal", suffix: "suffix", status: "status", theme: "theme", gap: "gap" }, host: { properties: { "class.number-info": "true", "class.number-info__light": "theme === 'light'", "class.number-info__default": "theme === 'default'" } }, exportAs: ["numberInfo"], ngImport: i0, template: "<div *ngIf=\"title\" class=\"number-info__title\">\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n</div>\n<div *ngIf=\"subTitle\" class=\"number-info__title-sub\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">{{ subTitle }}</ng-container>\n</div>\n<div class=\"number-info__value\" [ngStyle]=\"{ 'margin-top.px': gap }\">\n <span class=\"number-info__value-text\">\n <ng-container *nzStringTemplateOutlet=\"total\">{{ total }}</ng-container>\n <em class=\"number-info__value-suffix\" *ngIf=\"suffix\">{{ suffix }}</em>\n </span>\n <span *ngIf=\"status || subTotal\" class=\"number-info__value-text number-info__value-sub\">\n <ng-container *nzStringTemplateOutlet=\"subTotal\">{{ subTotal }}</ng-container>\n <i *ngIf=\"status\" nz-icon nzType=\"caret-{{ status }}\"></i>\n </span>\n</div>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
20
+ NumberInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NumberInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ NumberInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: NumberInfoComponent, selector: "number-info", inputs: { title: "title", subTitle: "subTitle", total: "total", subTotal: "subTotal", suffix: "suffix", status: "status", theme: "theme", gap: "gap" }, host: { properties: { "class.number-info": "true", "class.number-info__light": "theme === 'light'", "class.number-info__default": "theme === 'default'" } }, exportAs: ["numberInfo"], ngImport: i0, template: "<div *ngIf=\"title\" class=\"number-info__title\">\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n</div>\n<div *ngIf=\"subTitle\" class=\"number-info__title-sub\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">{{ subTitle }}</ng-container>\n</div>\n<div class=\"number-info__value\" [ngStyle]=\"{ 'margin-top.px': gap }\">\n <span class=\"number-info__value-text\">\n <ng-container *nzStringTemplateOutlet=\"total\">{{ total }}</ng-container>\n <em class=\"number-info__value-suffix\" *ngIf=\"suffix\">{{ suffix }}</em>\n </span>\n <span *ngIf=\"status || subTotal\" class=\"number-info__value-text number-info__value-sub\">\n <ng-container *nzStringTemplateOutlet=\"subTotal\">{{ subTotal }}</ng-container>\n <i *ngIf=\"status\" nz-icon nzType=\"caret-{{ status }}\"></i>\n </span>\n</div>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
22
22
  __decorate([
23
23
  InputNumber()
24
24
  ], NumberInfoComponent.prototype, "gap", void 0);
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NumberInfoComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NumberInfoComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: 'number-info', exportAs: 'numberInfo', host: {
28
28
  '[class.number-info]': `true`,
@@ -50,10 +50,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
50
50
  const COMPONENTS = [NumberInfoComponent];
51
51
  class NumberInfoModule {
52
52
  }
53
- NumberInfoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NumberInfoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
54
- NumberInfoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NumberInfoModule, declarations: [NumberInfoComponent], imports: [CommonModule, NzIconModule, NzOutletModule], exports: [NumberInfoComponent] });
55
- NumberInfoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NumberInfoModule, imports: [[CommonModule, NzIconModule, NzOutletModule]] });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NumberInfoModule, decorators: [{
53
+ NumberInfoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NumberInfoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
54
+ NumberInfoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NumberInfoModule, declarations: [NumberInfoComponent], imports: [CommonModule, NzIconModule, NzOutletModule], exports: [NumberInfoComponent] });
55
+ NumberInfoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NumberInfoModule, imports: [[CommonModule, NzIconModule, NzOutletModule]] });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NumberInfoModule, decorators: [{
57
57
  type: NgModule,
58
58
  args: [{
59
59
  imports: [CommonModule, NzIconModule, NzOutletModule],
package/fesm2020/pie.mjs CHANGED
@@ -107,6 +107,7 @@ class G2PieComponent extends G2BaseComponent {
107
107
  chart.on(`interval:click`, (ev) => {
108
108
  this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));
109
109
  });
110
+ this.ready.next(chart);
110
111
  this.changeData();
111
112
  chart.render();
112
113
  }
@@ -144,8 +145,8 @@ class G2PieComponent extends G2BaseComponent {
144
145
  this.fixData();
145
146
  }
146
147
  }
147
- G2PieComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2PieComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
148
- G2PieComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: G2PieComponent, selector: "g2-pie", inputs: { animate: "animate", color: "color", subTitle: "subTitle", total: "total", height: "height", hasLegend: "hasLegend", inner: "inner", padding: "padding", percent: "percent", tooltip: "tooltip", lineWidth: "lineWidth", blockMaxWidth: "blockMaxWidth", select: "select", valueFormat: "valueFormat", data: "data", colors: "colors", interaction: "interaction", ratio: "ratio" }, outputs: { clickItem: "clickItem" }, host: { properties: { "class.g2-pie": "true", "class.g2-pie__legend-has": "hasLegend", "class.g2-pie__legend-block": "block", "class.g2-pie__mini": "isPercent" } }, exportAs: ["g2Pie"], usesInheritance: true, ngImport: i0, template: "<nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>\n<div class=\"g2-pie__chart\">\n <div #container></div>\n <div *ngIf=\"subTitle || total\" class=\"g2-pie__total\">\n <h4 *ngIf=\"subTitle\" class=\"g2-pie__total-title\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">\n <div [innerHTML]=\"subTitle\"></div>\n </ng-container>\n </h4>\n <div *ngIf=\"total\" class=\"g2-pie__total-stat\">\n <ng-container *nzStringTemplateOutlet=\"total\">\n <div [innerHTML]=\"total\"></div>\n </ng-container>\n </div>\n </div>\n</div>\n<ul *ngIf=\"hasLegend && legendData?.length\" class=\"g2-pie__legend\">\n <li *ngFor=\"let item of legendData; let index = index\" (click)=\"_click(index)\" class=\"g2-pie__legend-item\">\n <span class=\"g2-pie__legend-dot\" [ngStyle]=\"{ 'background-color': !item.checked ? '#aaa' : item.color }\"></span>\n <span class=\"g2-pie__legend-title\">{{ item.x }}</span>\n <nz-divider nzType=\"vertical\"></nz-divider>\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</ul>\n", components: [{ type: i1.NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }, { type: i2.NzDividerComponent, selector: "nz-divider", inputs: ["nzText", "nzType", "nzOrientation", "nzDashed", "nzPlain"], exportAs: ["nzDivider"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
148
+ G2PieComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2PieComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
149
+ G2PieComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: G2PieComponent, selector: "g2-pie", inputs: { animate: "animate", color: "color", subTitle: "subTitle", total: "total", height: "height", hasLegend: "hasLegend", inner: "inner", padding: "padding", percent: "percent", tooltip: "tooltip", lineWidth: "lineWidth", blockMaxWidth: "blockMaxWidth", select: "select", valueFormat: "valueFormat", data: "data", colors: "colors", interaction: "interaction", ratio: "ratio" }, outputs: { clickItem: "clickItem" }, host: { properties: { "class.g2-pie": "true", "class.g2-pie__legend-has": "hasLegend", "class.g2-pie__legend-block": "block", "class.g2-pie__mini": "isPercent" } }, exportAs: ["g2Pie"], usesInheritance: true, ngImport: i0, template: "<nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>\n<div class=\"g2-pie__chart\">\n <div #container></div>\n <div *ngIf=\"subTitle || total\" class=\"g2-pie__total\">\n <h4 *ngIf=\"subTitle\" class=\"g2-pie__total-title\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">\n <div [innerHTML]=\"subTitle\"></div>\n </ng-container>\n </h4>\n <div *ngIf=\"total\" class=\"g2-pie__total-stat\">\n <ng-container *nzStringTemplateOutlet=\"total\">\n <div [innerHTML]=\"total\"></div>\n </ng-container>\n </div>\n </div>\n</div>\n<ul *ngIf=\"hasLegend && legendData?.length\" class=\"g2-pie__legend\">\n <li *ngFor=\"let item of legendData; let index = index\" (click)=\"_click(index)\" class=\"g2-pie__legend-item\">\n <span class=\"g2-pie__legend-dot\" [ngStyle]=\"{ 'background-color': !item.checked ? '#aaa' : item.color }\"></span>\n <span class=\"g2-pie__legend-title\">{{ item.x }}</span>\n <nz-divider nzType=\"vertical\"></nz-divider>\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</ul>\n", components: [{ type: i1.NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }, { type: i2.NzDividerComponent, selector: "nz-divider", inputs: ["nzText", "nzType", "nzOrientation", "nzDashed", "nzPlain"], exportAs: ["nzDivider"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
149
150
  __decorate([
150
151
  InputBoolean()
151
152
  ], G2PieComponent.prototype, "animate", void 0);
@@ -170,7 +171,7 @@ __decorate([
170
171
  __decorate([
171
172
  InputBoolean()
172
173
  ], G2PieComponent.prototype, "select", void 0);
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2PieComponent, decorators: [{
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2PieComponent, decorators: [{
174
175
  type: Component,
175
176
  args: [{ selector: 'g2-pie', exportAs: 'g2Pie', host: {
176
177
  '[class.g2-pie]': 'true',
@@ -221,10 +222,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
221
222
  const COMPONENTS = [G2PieComponent];
222
223
  class G2PieModule {
223
224
  }
224
- G2PieModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2PieModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
225
- G2PieModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2PieModule, declarations: [G2PieComponent], imports: [CommonModule, NzDividerModule, NzOutletModule, NzSkeletonModule], exports: [G2PieComponent] });
226
- G2PieModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2PieModule, imports: [[CommonModule, NzDividerModule, NzOutletModule, NzSkeletonModule]] });
227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2PieModule, decorators: [{
225
+ G2PieModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2PieModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
226
+ G2PieModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2PieModule, declarations: [G2PieComponent], imports: [CommonModule, NzDividerModule, NzOutletModule, NzSkeletonModule], exports: [G2PieComponent] });
227
+ G2PieModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2PieModule, imports: [[CommonModule, NzDividerModule, NzOutletModule, NzSkeletonModule]] });
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2PieModule, decorators: [{
228
229
  type: NgModule,
229
230
  args: [{
230
231
  imports: [CommonModule, NzDividerModule, NzOutletModule, NzSkeletonModule],
@@ -1 +1 @@
1
- {"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} from '@angular/core';\n\nimport type { Chart, Event } from '@antv/g2';\n\nimport { G2BaseComponent, G2InteractionType } from '@delon/chart/core';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\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 preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2PieComponent extends G2BaseComponent {\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_animate: BooleanInput;\n static ngAcceptInputType_hasLegend: BooleanInput;\n static ngAcceptInputType_percent: NumberInput;\n static ngAcceptInputType_tooltip: BooleanInput;\n static ngAcceptInputType_lineWidth: NumberInput;\n static ngAcceptInputType_blockMaxWidth: NumberInput;\n static ngAcceptInputType_select: BooleanInput;\n\n private percentColor!: (value: string) => string;\n legendData: NzSafeAny[] = [];\n isPercent = false;\n\n // #region fields\n\n @Input() @InputBoolean() 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() @InputNumber() height = 0;\n @Input() @InputBoolean() hasLegend = false;\n @Input() inner = 0.75;\n @Input() padding: number | number[] | 'auto' = [12, 0, 12, 0];\n @Input() @InputNumber() percent?: number;\n @Input() @InputBoolean() tooltip = true;\n @Input() @InputNumber() lineWidth = 0;\n @Input() @InputNumber() blockMaxWidth = 380;\n @Input() @InputBoolean() 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 get block(): boolean {\n return this.hasLegend && this.el.nativeElement.clientWidth <= this.blockMaxWidth;\n }\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 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 (window as NzSafeAny).G2.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.on(`interval:click`, (ev: Event) => {\n this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\n });\n\n this.changeData();\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 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","<nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>\n<div class=\"g2-pie__chart\">\n <div #container></div>\n <div *ngIf=\"subTitle || total\" class=\"g2-pie__total\">\n <h4 *ngIf=\"subTitle\" class=\"g2-pie__total-title\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">\n <div [innerHTML]=\"subTitle\"></div>\n </ng-container>\n </h4>\n <div *ngIf=\"total\" class=\"g2-pie__total-stat\">\n <ng-container *nzStringTemplateOutlet=\"total\">\n <div [innerHTML]=\"total\"></div>\n </ng-container>\n </div>\n </div>\n</div>\n<ul *ngIf=\"hasLegend && legendData?.length\" class=\"g2-pie__legend\">\n <li *ngFor=\"let item of legendData; let index = index\" (click)=\"_click(index)\" class=\"g2-pie__legend-item\">\n <span class=\"g2-pie__legend-dot\" [ngStyle]=\"{ 'background-color': !item.checked ? '#aaa' : item.color }\"></span>\n <span class=\"g2-pie__legend-title\">{{ item.x }}</span>\n <nz-divider nzType=\"vertical\"></nz-divider>\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</ul>\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],\n declarations: 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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"}
1
+ {"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} from '@angular/core';\n\nimport type { Chart, Event } from '@antv/g2';\n\nimport { G2BaseComponent, G2InteractionType } from '@delon/chart/core';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\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 preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2PieComponent extends G2BaseComponent {\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_animate: BooleanInput;\n static ngAcceptInputType_hasLegend: BooleanInput;\n static ngAcceptInputType_percent: NumberInput;\n static ngAcceptInputType_tooltip: BooleanInput;\n static ngAcceptInputType_lineWidth: NumberInput;\n static ngAcceptInputType_blockMaxWidth: NumberInput;\n static ngAcceptInputType_select: BooleanInput;\n\n private percentColor!: (value: string) => string;\n legendData: NzSafeAny[] = [];\n isPercent = false;\n\n // #region fields\n\n @Input() @InputBoolean() 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() @InputNumber() height = 0;\n @Input() @InputBoolean() hasLegend = false;\n @Input() inner = 0.75;\n @Input() padding: number | number[] | 'auto' = [12, 0, 12, 0];\n @Input() @InputNumber() percent?: number;\n @Input() @InputBoolean() tooltip = true;\n @Input() @InputNumber() lineWidth = 0;\n @Input() @InputNumber() blockMaxWidth = 380;\n @Input() @InputBoolean() 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 get block(): boolean {\n return this.hasLegend && this.el.nativeElement.clientWidth <= this.blockMaxWidth;\n }\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 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 (window as NzSafeAny).G2.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.on(`interval:click`, (ev: Event) => {\n this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\n });\n\n this.ready.next(chart);\n\n this.changeData();\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 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","<nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>\n<div class=\"g2-pie__chart\">\n <div #container></div>\n <div *ngIf=\"subTitle || total\" class=\"g2-pie__total\">\n <h4 *ngIf=\"subTitle\" class=\"g2-pie__total-title\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">\n <div [innerHTML]=\"subTitle\"></div>\n </ng-container>\n </h4>\n <div *ngIf=\"total\" class=\"g2-pie__total-stat\">\n <ng-container *nzStringTemplateOutlet=\"total\">\n <div [innerHTML]=\"total\"></div>\n </ng-container>\n </div>\n </div>\n</div>\n<ul *ngIf=\"hasLegend && legendData?.length\" class=\"g2-pie__legend\">\n <li *ngFor=\"let item of legendData; let index = index\" (click)=\"_click(index)\" class=\"g2-pie__legend-item\">\n <span class=\"g2-pie__legend-dot\" [ngStyle]=\"{ 'background-color': !item.checked ? '#aaa' : item.color }\"></span>\n <span class=\"g2-pie__legend-title\">{{ item.x }}</span>\n <nz-divider nzType=\"vertical\"></nz-divider>\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</ul>\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],\n declarations: 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":";;;;;;;;;;;;;;MAoDa,cAAe,SAAQ,eAAe;IAdnD;;QAyBE,eAAU,GAAgB,EAAE,CAAC;QAC7B,cAAS,GAAG,KAAK,CAAC;;QAIO,YAAO,GAAG,IAAI,CAAC;QAC/B,UAAK,GAAG,0BAA0B,CAAC;QAGpB,WAAM,GAAG,CAAC,CAAC;QACV,cAAS,GAAG,KAAK,CAAC;QAClC,UAAK,GAAG,IAAI,CAAC;QACb,YAAO,GAA+B,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAErC,YAAO,GAAG,IAAI,CAAC;QAChB,cAAS,GAAG,CAAC,CAAC;QACd,kBAAa,GAAG,GAAG,CAAC;QACnB,WAAM,GAAG,IAAI,CAAC;QAE9B,SAAI,GAAgB,EAAE,CAAC;QAEvB,gBAAW,GAAsB,MAAM,CAAC;QACxC,UAAK,GAAe;YAC3B,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,EAAE;YACT,YAAY,EAAE,SAAS;SACxB,CAAC;QACiB,cAAS,GAAG,IAAI,YAAY,EAAkB,CAAC;KAsInE;;IAlIC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC;KAClF;IAEO,OAAO;QACb,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,OAAO,IAAI,IAAI,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO;SACR;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,CAAC,KAAa,MAAM,KAAK,KAAK,IAAI,GAAG,SAAS,IAAI,KAAK,GAAG,YAAY,CAAC,CAAC;QAC5F,IAAI,CAAC,IAAI,GAAG;YACV;gBACE,CAAC,EAAE,IAAI;gBACP,CAAC,EAAE,OAAQ;aACZ;YACD;gBACE,CAAC,EAAE,OAAO;gBACV,CAAC,EAAE,GAAG,GAAG,OAAQ;aAClB;SACF,CAAC;KACH;IAED,OAAO;QACL,MAAM,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EACP,KAAK,EACL,SAAS,EACT,WAAW,EACX,KAAK,EACL,OAAO,EACP,SAAS,EACT,SAAS,EACT,YAAY,EACZ,MAAM,EACP,GAAG,IAAI,CAAC;QACT,MAAM,KAAK,IAAW,IAAI,CAAC,MAAM,GAAG,IAAK,MAAoB,CAAC,EAAE,CAAC,KAAK,CAAC;YACrE,SAAS,EAAE,IAAI,CAAC,aAAa;YAC7B,OAAO,EAAE,IAAI;YACb,MAAM;YACN,OAAO;YACP,KAAK;SACN,CAAC,CAAC,CAAC;QACJ,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvB,IAAI,CAAC,OAAO,EAAE;YACZ,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACtB;aAAM;YACL,KAAK,CAAC,OAAO,CAAC;gBACZ,SAAS,EAAE,KAAK;gBAChB,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;SACJ;QACD,IAAI,WAAW,KAAK,MAAM,EAAE;YAC1B,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;SAChC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAe,EAAE,IAAe,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;QAChF,KAAK;aACF,QAAQ,EAAE;aACV,MAAM,CAAC,OAAO,CAAC;aACf,QAAQ,CAAC,GAAG,CAAC;aACb,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;aACpC,KAAK,CAAC,GAAG,EAAE,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;aAC7C,OAAO,CAAC,WAAW,EAAE,CAAC,IAAY,EAAE,CAAS,MAAM;YAClD,IAAI;YACJ,KAAK,EAAE,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI;SACnD,CAAC,CAAC;aACF,KAAK,CAAC,EAAE,CAAC,CAAC;QACb,KAAK,CAAC,KAAK,CAAC;YACV,CAAC,EAAE;gBACD,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aACd;SACF,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,EAAS;YACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;SACzE,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,KAAK,CAAC,MAAM,EAAE,CAAC;KAChB;IAED,UAAU;QACR,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;;QAGhE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;YACvB,IAAI,CAAC,OAAO,GAAG,QAAQ,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC;SACvD;QACD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;KACzC;IAEO,SAAS;QACf,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACnD,IAAI,CAAC,SAAS,IAAI,SAAS;YAAE,OAAO;QAEpC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAe;YACnE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC/B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,MAAM,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC;SACf,CAAC,CAAC;QAEH,GAAG,CAAC,aAAa,EAAE,CAAC;KACrB;IAED,MAAM,CAAC,CAAS;QACd,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACpC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACrB;IAED,SAAS;QACP,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;;2GA5KU,cAAc;+FAAd,cAAc,kqBCpD3B,0qCAyBA;AD2C2B;IAAf,YAAY,EAAE;+CAAgB;AAIhB;IAAd,WAAW,EAAE;8CAAY;AACV;IAAf,YAAY,EAAE;iDAAmB;AAGnB;IAAd,WAAW,EAAE;+CAAkB;AAChB;IAAf,YAAY,EAAE;+CAAgB;AAChB;IAAd,WAAW,EAAE;iDAAe;AACd;IAAd,WAAW,EAAE;qDAAqB;AACnB;IAAf,YAAY,EAAE;8CAAe;2FA5B5B,cAAc;kBAd1B,SAAS;+BACE,QAAQ,YACR,OAAO,QAEX;wBACJ,gBAAgB,EAAE,MAAM;wBACxB,4BAA4B,EAAE,WAAW;wBACzC,8BAA8B,EAAE,OAAO;wBACvC,sBAAsB,EAAE,WAAW;qBACpC,uBACoB,KAAK,mBACT,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI;8BAkBZ,OAAO;sBAA/B,KAAK;gBACG,KAAK;sBAAb,KAAK;gBACG,QAAQ;sBAAhB,KAAK;gBACG,KAAK;sBAAb,KAAK;gBACkB,MAAM;sBAA7B,KAAK;gBACmB,SAAS;sBAAjC,KAAK;gBACG,KAAK;sBAAb,KAAK;gBACG,OAAO;sBAAf,KAAK;gBACkB,OAAO;sBAA9B,KAAK;gBACmB,OAAO;sBAA/B,KAAK;gBACkB,SAAS;sBAAhC,KAAK;gBACkB,aAAa;sBAApC,KAAK;gBACmB,MAAM;sBAA9B,KAAK;gBACG,WAAW;sBAAnB,KAAK;gBACG,IAAI;sBAAZ,KAAK;gBACG,MAAM;sBAAd,KAAK;gBACG,WAAW;sBAAnB,KAAK;gBACG,KAAK;sBAAb,KAAK;gBAMa,SAAS;sBAA3B,MAAM;;;AElFT,MAAM,UAAU,GAAG,CAAC,cAAc,CAAC,CAAC;MAOvB,WAAW;;wGAAX,WAAW;yGAAX,WAAW,iBAPJ,cAAc,aAGtB,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,aAHvD,cAAc;yGAOrB,WAAW,YAJb,CAAC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,CAAC;2FAI/D,WAAW;kBALvB,QAAQ;mBAAC;oBACR,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,CAAC;oBAC1E,YAAY,EAAE,UAAU;oBACxB,OAAO,EAAE,UAAU;iBACpB;;;ACfD;;;;;;"}
@@ -81,6 +81,7 @@ class G2RadarComponent extends G2BaseComponent {
81
81
  chart.on(`point:click`, (ev) => {
82
82
  this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));
83
83
  });
84
+ this.ready.next(chart);
84
85
  this.changeData();
85
86
  chart.render();
86
87
  }
@@ -116,8 +117,8 @@ class G2RadarComponent extends G2BaseComponent {
116
117
  this.legendData.forEach(i => (i.checked = true));
117
118
  }
118
119
  }
119
- G2RadarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2RadarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
120
- G2RadarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: G2RadarComponent, selector: "g2-radar", inputs: { title: "title", height: "height", padding: "padding", hasLegend: "hasLegend", tickCount: "tickCount", data: "data", colors: "colors" }, outputs: { clickItem: "clickItem" }, host: { properties: { "style.height.px": "height", "class.g2-radar": "true" } }, exportAs: ["g2Radar"], usesInheritance: true, ngImport: i0, template: "<nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>\n<ng-container *nzStringTemplateOutlet=\"title\">\n <h4>{{ title }}</h4>\n</ng-container>\n<div #container></div>\n<div nz-row class=\"g2-radar__legend\" *ngIf=\"hasLegend\">\n <div\n nz-col\n [nzSpan]=\"24 / legendData.length\"\n *ngFor=\"let i of legendData; let idx = index\"\n (click)=\"_click(idx)\"\n class=\"g2-radar__legend-item\"\n >\n <i class=\"g2-radar__legend-dot\" [ngStyle]=\"{ 'background-color': !i.checked ? '#aaa' : i.color }\"></i>\n {{ i.name }}\n <h6 class=\"g2-radar__legend-title\">{{ i.value }}</h6>\n </div>\n</div>\n", components: [{ type: i1.NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { type: i4.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
120
+ G2RadarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2RadarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
121
+ G2RadarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: G2RadarComponent, selector: "g2-radar", inputs: { title: "title", height: "height", padding: "padding", hasLegend: "hasLegend", tickCount: "tickCount", data: "data", colors: "colors" }, outputs: { clickItem: "clickItem" }, host: { properties: { "style.height.px": "height", "class.g2-radar": "true" } }, exportAs: ["g2Radar"], usesInheritance: true, ngImport: i0, template: "<nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>\n<ng-container *nzStringTemplateOutlet=\"title\">\n <h4>{{ title }}</h4>\n</ng-container>\n<div #container></div>\n<div nz-row class=\"g2-radar__legend\" *ngIf=\"hasLegend\">\n <div\n nz-col\n [nzSpan]=\"24 / legendData.length\"\n *ngFor=\"let i of legendData; let idx = index\"\n (click)=\"_click(idx)\"\n class=\"g2-radar__legend-item\"\n >\n <i class=\"g2-radar__legend-dot\" [ngStyle]=\"{ 'background-color': !i.checked ? '#aaa' : i.color }\"></i>\n {{ i.name }}\n <h6 class=\"g2-radar__legend-title\">{{ i.value }}</h6>\n </div>\n</div>\n", components: [{ type: i1.NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { type: i4.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
121
122
  __decorate([
122
123
  InputNumber()
123
124
  ], G2RadarComponent.prototype, "height", void 0);
@@ -127,7 +128,7 @@ __decorate([
127
128
  __decorate([
128
129
  InputNumber()
129
130
  ], G2RadarComponent.prototype, "tickCount", void 0);
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2RadarComponent, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2RadarComponent, decorators: [{
131
132
  type: Component,
132
133
  args: [{ selector: 'g2-radar', exportAs: 'g2Radar', host: {
133
134
  '[style.height.px]': 'height',
@@ -154,10 +155,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
154
155
  const COMPONENTS = [G2RadarComponent];
155
156
  class G2RadarModule {
156
157
  }
157
- G2RadarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2RadarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
158
- G2RadarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2RadarModule, declarations: [G2RadarComponent], imports: [CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule], exports: [G2RadarComponent] });
159
- G2RadarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2RadarModule, imports: [[CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule]] });
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2RadarModule, decorators: [{
158
+ G2RadarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2RadarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
159
+ G2RadarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2RadarModule, declarations: [G2RadarComponent], imports: [CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule], exports: [G2RadarComponent] });
160
+ G2RadarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2RadarModule, imports: [[CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule]] });
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2RadarModule, decorators: [{
161
162
  type: NgModule,
162
163
  args: [{
163
164
  imports: [CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule],
@@ -1 +1 @@
1
- {"version":3,"file":"radar.mjs","sources":["../../../../packages/chart/radar/radar.component.ts","../../../../packages/chart/radar/radar.component.html","../../../../packages/chart/radar/radar.module.ts","../../../../packages/chart/radar/radar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport type { Chart, Event } from '@antv/g2';\n\nimport { G2BaseComponent } from '@delon/chart/core';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport interface G2RadarData {\n name: string;\n label: string;\n value: number;\n [key: string]: NzSafeAny;\n}\n\nexport interface G2RadarClickItem {\n item: G2RadarData;\n ev: Event;\n}\n\n@Component({\n selector: 'g2-radar',\n exportAs: 'g2Radar',\n templateUrl: './radar.component.html',\n host: {\n '[style.height.px]': 'height',\n '[class.g2-radar]': 'true'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2RadarComponent extends G2BaseComponent {\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_hasLegend: BooleanInput;\n static ngAcceptInputType_tickCount: NumberInput;\n\n legendData: NzSafeAny[] = [];\n\n // #region fields\n\n @Input() title?: string | TemplateRef<void> | null;\n @Input() @InputNumber() height = 0;\n @Input() padding: number | number[] | 'auto' = [44, 30, 16, 30];\n @Input() @InputBoolean() hasLegend = true;\n @Input() @InputNumber() tickCount = 4;\n @Input() data: G2RadarData[] = [];\n @Input() colors = ['#1890FF', '#FACC14', '#2FC25B', '#8543E0', '#F04864', '#13C2C2', '#fa8c16', '#a0d911'];\n @Output() readonly clickItem = new EventEmitter<G2RadarClickItem>();\n\n // #endregion\n\n private getHeight(): number {\n return this.height - (this.hasLegend ? 80 : 22);\n }\n\n install(): void {\n const { node, padding, theme, tickCount } = this;\n\n const chart: Chart = (this._chart = new (window as NzSafeAny).G2.Chart({\n container: node.nativeElement,\n autoFit: true,\n height: this.getHeight(),\n padding,\n theme\n }));\n\n chart.coordinate('polar');\n chart.legend(false);\n chart.axis('label', {\n line: null,\n label: {\n offset: 8\n },\n grid: {\n line: {\n style: {\n stroke: '#e9e9e9',\n lineWidth: 1,\n lineDash: [0, 0]\n }\n }\n }\n });\n chart.axis('value', {\n grid: {\n line: {\n type: 'polygon',\n style: {\n stroke: '#e9e9e9',\n lineWidth: 1,\n lineDash: [0, 0]\n }\n }\n }\n });\n chart.scale({\n value: {\n min: 0,\n tickCount\n }\n });\n chart.filter('name', (name: string) => {\n const legendItem = this.legendData.find(w => w.name === name);\n return legendItem ? legendItem.checked !== false : true;\n });\n\n chart.line().position('label*value').color('name', this.colors);\n chart.point().position('label*value').shape('circle').size(3);\n\n chart.on(`point:click`, (ev: Event) => {\n this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\n });\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 _chart.changeData(data);\n\n this.ngZone.run(() => this.genLegend());\n }\n\n private genLegend(): void {\n const { hasLegend, cdr, _chart } = this;\n if (!hasLegend) return;\n\n this.legendData = _chart.geometries[0].dataArray.map(item => {\n const origin = item[0]._origin;\n const result = {\n name: origin.name,\n color: item[0].color,\n checked: true,\n value: item.reduce((p, n) => p + n._origin.value, 0)\n };\n\n return result;\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.legendData.forEach(i => (i.checked = true));\n }\n}\n","<nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>\n<ng-container *nzStringTemplateOutlet=\"title\">\n <h4>{{ title }}</h4>\n</ng-container>\n<div #container></div>\n<div nz-row class=\"g2-radar__legend\" *ngIf=\"hasLegend\">\n <div\n nz-col\n [nzSpan]=\"24 / legendData.length\"\n *ngFor=\"let i of legendData; let idx = index\"\n (click)=\"_click(idx)\"\n class=\"g2-radar__legend-item\"\n >\n <i class=\"g2-radar__legend-dot\" [ngStyle]=\"{ 'background-color': !i.checked ? '#aaa' : i.color }\"></i>\n {{ i.name }}\n <h6 class=\"g2-radar__legend-title\">{{ i.value }}</h6>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { G2RadarComponent } from './radar.component';\n\nconst COMPONENTS = [G2RadarComponent];\n\n@NgModule({\n imports: [CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class G2RadarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radar.mjs","sources":["../../../../packages/chart/radar/radar.component.ts","../../../../packages/chart/radar/radar.component.html","../../../../packages/chart/radar/radar.module.ts","../../../../packages/chart/radar/radar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport type { Chart, Event } from '@antv/g2';\n\nimport { G2BaseComponent } from '@delon/chart/core';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport interface G2RadarData {\n name: string;\n label: string;\n value: number;\n [key: string]: NzSafeAny;\n}\n\nexport interface G2RadarClickItem {\n item: G2RadarData;\n ev: Event;\n}\n\n@Component({\n selector: 'g2-radar',\n exportAs: 'g2Radar',\n templateUrl: './radar.component.html',\n host: {\n '[style.height.px]': 'height',\n '[class.g2-radar]': 'true'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2RadarComponent extends G2BaseComponent {\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_hasLegend: BooleanInput;\n static ngAcceptInputType_tickCount: NumberInput;\n\n legendData: NzSafeAny[] = [];\n\n // #region fields\n\n @Input() title?: string | TemplateRef<void> | null;\n @Input() @InputNumber() height = 0;\n @Input() padding: number | number[] | 'auto' = [44, 30, 16, 30];\n @Input() @InputBoolean() hasLegend = true;\n @Input() @InputNumber() tickCount = 4;\n @Input() data: G2RadarData[] = [];\n @Input() colors = ['#1890FF', '#FACC14', '#2FC25B', '#8543E0', '#F04864', '#13C2C2', '#fa8c16', '#a0d911'];\n @Output() readonly clickItem = new EventEmitter<G2RadarClickItem>();\n\n // #endregion\n\n private getHeight(): number {\n return this.height - (this.hasLegend ? 80 : 22);\n }\n\n install(): void {\n const { node, padding, theme, tickCount } = this;\n\n const chart: Chart = (this._chart = new (window as NzSafeAny).G2.Chart({\n container: node.nativeElement,\n autoFit: true,\n height: this.getHeight(),\n padding,\n theme\n }));\n\n chart.coordinate('polar');\n chart.legend(false);\n chart.axis('label', {\n line: null,\n label: {\n offset: 8\n },\n grid: {\n line: {\n style: {\n stroke: '#e9e9e9',\n lineWidth: 1,\n lineDash: [0, 0]\n }\n }\n }\n });\n chart.axis('value', {\n grid: {\n line: {\n type: 'polygon',\n style: {\n stroke: '#e9e9e9',\n lineWidth: 1,\n lineDash: [0, 0]\n }\n }\n }\n });\n chart.scale({\n value: {\n min: 0,\n tickCount\n }\n });\n chart.filter('name', (name: string) => {\n const legendItem = this.legendData.find(w => w.name === name);\n return legendItem ? legendItem.checked !== false : true;\n });\n\n chart.line().position('label*value').color('name', this.colors);\n chart.point().position('label*value').shape('circle').size(3);\n\n chart.on(`point:click`, (ev: Event) => {\n this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\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 _chart.changeData(data);\n\n this.ngZone.run(() => this.genLegend());\n }\n\n private genLegend(): void {\n const { hasLegend, cdr, _chart } = this;\n if (!hasLegend) return;\n\n this.legendData = _chart.geometries[0].dataArray.map(item => {\n const origin = item[0]._origin;\n const result = {\n name: origin.name,\n color: item[0].color,\n checked: true,\n value: item.reduce((p, n) => p + n._origin.value, 0)\n };\n\n return result;\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.legendData.forEach(i => (i.checked = true));\n }\n}\n","<nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>\n<ng-container *nzStringTemplateOutlet=\"title\">\n <h4>{{ title }}</h4>\n</ng-container>\n<div #container></div>\n<div nz-row class=\"g2-radar__legend\" *ngIf=\"hasLegend\">\n <div\n nz-col\n [nzSpan]=\"24 / legendData.length\"\n *ngFor=\"let i of legendData; let idx = index\"\n (click)=\"_click(idx)\"\n class=\"g2-radar__legend-item\"\n >\n <i class=\"g2-radar__legend-dot\" [ngStyle]=\"{ 'background-color': !i.checked ? '#aaa' : i.color }\"></i>\n {{ i.name }}\n <h6 class=\"g2-radar__legend-title\">{{ i.value }}</h6>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { G2RadarComponent } from './radar.component';\n\nconst COMPONENTS = [G2RadarComponent];\n\n@NgModule({\n imports: [CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class G2RadarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -59,6 +59,7 @@ class G2SingleBarComponent extends G2BaseComponent {
59
59
  }
60
60
  });
61
61
  }
62
+ this.ready.next(chart);
62
63
  this.changeData();
63
64
  chart.render();
64
65
  }
@@ -69,8 +70,8 @@ class G2SingleBarComponent extends G2BaseComponent {
69
70
  _chart.changeData([{ value }]);
70
71
  }
71
72
  }
72
- G2SingleBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2SingleBarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
73
- G2SingleBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: G2SingleBarComponent, selector: "g2-single-bar", inputs: { plusColor: "plusColor", minusColor: "minusColor", height: "height", barSize: "barSize", min: "min", max: "max", value: "value", line: "line", format: "format", padding: "padding", textStyle: "textStyle" }, host: { properties: { "style.height.px": "height" } }, exportAs: ["g2SingleBar"], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
73
+ G2SingleBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2SingleBarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
74
+ G2SingleBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: G2SingleBarComponent, selector: "g2-single-bar", inputs: { plusColor: "plusColor", minusColor: "minusColor", height: "height", barSize: "barSize", min: "min", max: "max", value: "value", line: "line", format: "format", padding: "padding", textStyle: "textStyle" }, host: { properties: { "style.height.px": "height" } }, exportAs: ["g2SingleBar"], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
74
75
  __decorate([
75
76
  InputNumber()
76
77
  ], G2SingleBarComponent.prototype, "height", void 0);
@@ -89,7 +90,7 @@ __decorate([
89
90
  __decorate([
90
91
  InputBoolean()
91
92
  ], G2SingleBarComponent.prototype, "line", void 0);
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2SingleBarComponent, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2SingleBarComponent, decorators: [{
93
94
  type: Component,
94
95
  args: [{
95
96
  selector: 'g2-single-bar',
@@ -129,10 +130,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
129
130
  const COMPONENTS = [G2SingleBarComponent];
130
131
  class G2SingleBarModule {
131
132
  }
132
- G2SingleBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2SingleBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
133
- G2SingleBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2SingleBarModule, declarations: [G2SingleBarComponent], imports: [CommonModule], exports: [G2SingleBarComponent] });
134
- G2SingleBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2SingleBarModule, imports: [[CommonModule]] });
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2SingleBarModule, decorators: [{
133
+ G2SingleBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2SingleBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
134
+ G2SingleBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2SingleBarModule, declarations: [G2SingleBarComponent], imports: [CommonModule], exports: [G2SingleBarComponent] });
135
+ G2SingleBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2SingleBarModule, imports: [[CommonModule]] });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2SingleBarModule, decorators: [{
136
137
  type: NgModule,
137
138
  args: [{
138
139
  imports: [CommonModule],
@@ -1 +1 @@
1
- {"version":3,"file":"single-bar.mjs","sources":["../../../../packages/chart/single-bar/single-bar.component.ts","../../../../packages/chart/single-bar/single-bar.module.ts","../../../../packages/chart/single-bar/single-bar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, SimpleChanges, ViewEncapsulation } from '@angular/core';\n\nimport type { Chart } from '@antv/g2';\n\nimport { G2BaseComponent } from '@delon/chart/core';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Component({\n selector: 'g2-single-bar',\n exportAs: 'g2SingleBar',\n template: ``,\n host: {\n '[style.height.px]': 'height'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2SingleBarComponent extends G2BaseComponent {\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_barSize: NumberInput;\n static ngAcceptInputType_min: NumberInput;\n static ngAcceptInputType_max: NumberInput;\n static ngAcceptInputType_value: NumberInput;\n static ngAcceptInputType_line: BooleanInput;\n\n // #region fields\n\n @Input() plusColor = '#40a9ff';\n @Input() minusColor = '#ff4d4f';\n @Input() @InputNumber() height = 60;\n @Input() @InputNumber() barSize = 30;\n @Input() @InputNumber() min = 0;\n @Input() @InputNumber() max = 100;\n @Input() @InputNumber() value = 0;\n @Input() @InputBoolean() line = false;\n @Input() format?: (value: number, item: NzSafeAny, index: number) => string;\n @Input() padding: number | number[] | 'auto' = 0;\n @Input() textStyle: { [key: string]: NzSafeAny } = { fontSize: 12, color: '#595959' };\n\n // #endregion\n\n install(): void {\n const { el, height, padding, textStyle, line, format, theme, min, max, plusColor, minusColor, barSize } = this;\n const chart: Chart = (this._chart = new (window as NzSafeAny).G2.Chart({\n container: el.nativeElement,\n autoFit: true,\n height,\n padding,\n theme\n }));\n chart.legend(false);\n chart.axis(false);\n chart.scale({ value: { max, min } });\n chart.tooltip(false);\n chart.coordinate().transpose();\n chart\n .interval()\n .position('1*value')\n .color('value', (val: number) => (val > 0 ? plusColor : minusColor))\n .size(barSize)\n .label('value', () => ({\n formatter: format,\n style: {\n ...textStyle\n }\n }));\n\n if (line) {\n chart.annotation().line({\n start: ['50%', '0%'],\n end: ['50%', '100%'],\n style: {\n stroke: '#e8e8e8',\n lineDash: [0, 0]\n }\n });\n }\n\n this.changeData();\n\n chart.render();\n }\n\n onlyChangeData = (changes: SimpleChanges): boolean => {\n return Object.keys(changes).length === 1 && !!changes.value;\n };\n\n changeData(): void {\n const { _chart, value } = this;\n if (!_chart) return;\n _chart.changeData([{ value }]);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { G2SingleBarComponent } from './single-bar.component';\n\nconst COMPONENTS = [G2SingleBarComponent];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class G2SingleBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"single-bar.mjs","sources":["../../../../packages/chart/single-bar/single-bar.component.ts","../../../../packages/chart/single-bar/single-bar.module.ts","../../../../packages/chart/single-bar/single-bar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, SimpleChanges, ViewEncapsulation } from '@angular/core';\n\nimport type { Chart } from '@antv/g2';\n\nimport { G2BaseComponent } from '@delon/chart/core';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Component({\n selector: 'g2-single-bar',\n exportAs: 'g2SingleBar',\n template: ``,\n host: {\n '[style.height.px]': 'height'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2SingleBarComponent extends G2BaseComponent {\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_barSize: NumberInput;\n static ngAcceptInputType_min: NumberInput;\n static ngAcceptInputType_max: NumberInput;\n static ngAcceptInputType_value: NumberInput;\n static ngAcceptInputType_line: BooleanInput;\n\n // #region fields\n\n @Input() plusColor = '#40a9ff';\n @Input() minusColor = '#ff4d4f';\n @Input() @InputNumber() height = 60;\n @Input() @InputNumber() barSize = 30;\n @Input() @InputNumber() min = 0;\n @Input() @InputNumber() max = 100;\n @Input() @InputNumber() value = 0;\n @Input() @InputBoolean() line = false;\n @Input() format?: (value: number, item: NzSafeAny, index: number) => string;\n @Input() padding: number | number[] | 'auto' = 0;\n @Input() textStyle: { [key: string]: NzSafeAny } = { fontSize: 12, color: '#595959' };\n\n // #endregion\n\n install(): void {\n const { el, height, padding, textStyle, line, format, theme, min, max, plusColor, minusColor, barSize } = this;\n const chart: Chart = (this._chart = new (window as NzSafeAny).G2.Chart({\n container: el.nativeElement,\n autoFit: true,\n height,\n padding,\n theme\n }));\n chart.legend(false);\n chart.axis(false);\n chart.scale({ value: { max, min } });\n chart.tooltip(false);\n chart.coordinate().transpose();\n chart\n .interval()\n .position('1*value')\n .color('value', (val: number) => (val > 0 ? plusColor : minusColor))\n .size(barSize)\n .label('value', () => ({\n formatter: format,\n style: {\n ...textStyle\n }\n }));\n\n if (line) {\n chart.annotation().line({\n start: ['50%', '0%'],\n end: ['50%', '100%'],\n style: {\n stroke: '#e8e8e8',\n lineDash: [0, 0]\n }\n });\n }\n\n this.ready.next(chart);\n\n this.changeData();\n\n chart.render();\n }\n\n onlyChangeData = (changes: SimpleChanges): boolean => {\n return Object.keys(changes).length === 1 && !!changes.value;\n };\n\n changeData(): void {\n const { _chart, value } = this;\n if (!_chart) return;\n _chart.changeData([{ value }]);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { G2SingleBarComponent } from './single-bar.component';\n\nconst COMPONENTS = [G2SingleBarComponent];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class G2SingleBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -91,6 +91,7 @@ class G2TagCloudComponent extends G2BaseComponent {
91
91
  chart.on('tag-cloud-text:click', (ev) => {
92
92
  this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));
93
93
  });
94
+ this.ready.next(chart);
94
95
  this.changeData();
95
96
  chart.render();
96
97
  }
@@ -132,15 +133,15 @@ class G2TagCloudComponent extends G2BaseComponent {
132
133
  this.installResizeEvent();
133
134
  }
134
135
  }
135
- G2TagCloudComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2TagCloudComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
136
- G2TagCloudComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: G2TagCloudComponent, selector: "g2-tag-cloud", inputs: { width: "width", height: "height", padding: "padding", data: "data" }, outputs: { clickItem: "clickItem" }, exportAs: ["g2TagCloud"], usesInheritance: true, ngImport: i0, template: `<nz-skeleton *ngIf="!loaded"></nz-skeleton>`, isInline: true, components: [{ type: i1.NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
136
+ G2TagCloudComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2TagCloudComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
137
+ G2TagCloudComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: G2TagCloudComponent, selector: "g2-tag-cloud", inputs: { width: "width", height: "height", padding: "padding", data: "data" }, outputs: { clickItem: "clickItem" }, exportAs: ["g2TagCloud"], usesInheritance: true, ngImport: i0, template: `<nz-skeleton *ngIf="!loaded"></nz-skeleton>`, isInline: true, components: [{ type: i1.NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
137
138
  __decorate([
138
139
  InputNumber()
139
140
  ], G2TagCloudComponent.prototype, "width", void 0);
140
141
  __decorate([
141
142
  InputNumber()
142
143
  ], G2TagCloudComponent.prototype, "height", void 0);
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2TagCloudComponent, decorators: [{
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2TagCloudComponent, decorators: [{
144
145
  type: Component,
145
146
  args: [{
146
147
  selector: 'g2-tag-cloud',
@@ -165,10 +166,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
165
166
  const COMPONENTS = [G2TagCloudComponent];
166
167
  class G2TagCloudModule {
167
168
  }
168
- G2TagCloudModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2TagCloudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
169
- G2TagCloudModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2TagCloudModule, declarations: [G2TagCloudComponent], imports: [CommonModule, NzSkeletonModule], exports: [G2TagCloudComponent] });
170
- G2TagCloudModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2TagCloudModule, imports: [[CommonModule, NzSkeletonModule]] });
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: G2TagCloudModule, decorators: [{
169
+ G2TagCloudModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2TagCloudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
170
+ G2TagCloudModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2TagCloudModule, declarations: [G2TagCloudComponent], imports: [CommonModule, NzSkeletonModule], exports: [G2TagCloudComponent] });
171
+ G2TagCloudModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2TagCloudModule, imports: [[CommonModule, NzSkeletonModule]] });
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: G2TagCloudModule, decorators: [{
172
173
  type: NgModule,
173
174
  args: [{
174
175
  imports: [CommonModule, NzSkeletonModule],
@@ -1 +1 @@
1
- {"version":3,"file":"tag-cloud.mjs","sources":["../../../../packages/chart/tag-cloud/tag-cloud.component.ts","../../../../packages/chart/tag-cloud/tag-cloud.module.ts","../../../../packages/chart/tag-cloud/tag-cloud.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, filter } from 'rxjs/operators';\n\nimport type { Chart, Event } from '@antv/g2';\n\nimport { G2BaseComponent } from '@delon/chart/core';\nimport { InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport interface G2TagCloudData {\n value?: number;\n name?: string;\n [key: string]: NzSafeAny;\n}\n\nexport interface G2TagCloudClickItem {\n item: G2TagCloudData;\n ev: Event;\n}\n\n@Component({\n selector: 'g2-tag-cloud',\n exportAs: 'g2TagCloud',\n template: `<nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>`,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2TagCloudComponent extends G2BaseComponent {\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_width: NumberInput;\n\n // #region fields\n\n @Input() @InputNumber() width = 0;\n @Input() @InputNumber() height = 200;\n @Input() padding: number | number[] | 'auto' = 0;\n @Input() data: G2TagCloudData[] = [];\n @Output() readonly clickItem = new EventEmitter<G2TagCloudClickItem>();\n\n // #endregion\n\n private initTagCloud(): void {\n (window as NzSafeAny).G2.registerShape('point', 'cloud', {\n draw(cfg: NzSafeAny, container: NzSafeAny) {\n const data = cfg.data as NzSafeAny;\n const textShape = container.addShape({\n type: 'text',\n name: 'tag-cloud-text',\n attrs: {\n ...cfg.style,\n fontSize: data.size,\n text: data.text,\n textAlign: 'center',\n fontFamily: data.font,\n fill: cfg.color,\n textBaseline: 'Alphabetic',\n x: cfg.x,\n y: cfg.y\n } as NzSafeAny\n });\n if (data.rotate) {\n (window as NzSafeAny).G2.Util.rotate(textShape, (data.rotate * Math.PI) / 180);\n }\n return textShape;\n }\n });\n }\n\n install(): void {\n this.initTagCloud();\n\n const { el, padding, theme } = this;\n if (this.height === 0) {\n this.height = this.el.nativeElement.clientHeight;\n }\n if (this.width === 0) {\n this.width = this.el.nativeElement.clientWidth;\n }\n\n const chart: Chart = (this._chart = new (window as NzSafeAny).G2.Chart({\n container: el.nativeElement,\n autoFit: false,\n padding,\n height: this.height,\n width: this.width,\n theme\n }));\n chart.scale({\n x: { nice: false },\n y: { nice: false }\n });\n chart.legend(false);\n chart.axis(false);\n chart.tooltip({\n showTitle: false,\n showMarkers: false\n });\n (chart.coordinate() as NzSafeAny).reflect();\n chart\n .point()\n .position('x*y')\n .color('text')\n .shape('cloud')\n .state({\n active: {\n style: {\n fillOpacity: 0.4\n }\n }\n });\n chart.interaction('element-active');\n\n chart.on('tag-cloud-text:click', (ev: Event) => {\n this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\n });\n\n this.changeData();\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 const dv = new (window as NzSafeAny).DataSet.View().source(data);\n const range = dv.range('value');\n const min = range[0];\n const max = range[1];\n\n dv.transform({\n type: 'tag-cloud',\n fields: ['name', 'value'],\n // imageMask,\n font: 'Verdana',\n size: [this.width, this.height], // 宽高设置最好根据 imageMask 做调整\n padding: 0,\n timeInterval: 5000, // max execute time\n rotate() {\n let random = ~~(Math.random() * 4) % 4;\n if (random === 2) {\n random = 0;\n }\n return random * 90; // 0, 90, 270\n },\n fontSize(d: NzSafeAny) {\n return ((d.value - min) / (max - min)) * (32 - 8) + 8;\n }\n } as NzSafeAny);\n\n _chart.changeData(dv.rows);\n }\n\n private installResizeEvent(): void {\n this.resize$ = fromEvent(window, 'resize')\n .pipe(\n filter(() => !!this._chart),\n debounceTime(200)\n )\n .subscribe(() => this.changeData());\n }\n\n onInit(): void {\n this.installResizeEvent();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { G2TagCloudComponent } from './tag-cloud.component';\n\nconst COMPONENTS = [G2TagCloudComponent];\n\n@NgModule({\n imports: [CommonModule, NzSkeletonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class G2TagCloudModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tag-cloud.mjs","sources":["../../../../packages/chart/tag-cloud/tag-cloud.component.ts","../../../../packages/chart/tag-cloud/tag-cloud.module.ts","../../../../packages/chart/tag-cloud/tag-cloud.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, filter } from 'rxjs/operators';\n\nimport type { Chart, Event } from '@antv/g2';\n\nimport { G2BaseComponent } from '@delon/chart/core';\nimport { InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport interface G2TagCloudData {\n value?: number;\n name?: string;\n [key: string]: NzSafeAny;\n}\n\nexport interface G2TagCloudClickItem {\n item: G2TagCloudData;\n ev: Event;\n}\n\n@Component({\n selector: 'g2-tag-cloud',\n exportAs: 'g2TagCloud',\n template: `<nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>`,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2TagCloudComponent extends G2BaseComponent {\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_width: NumberInput;\n\n // #region fields\n\n @Input() @InputNumber() width = 0;\n @Input() @InputNumber() height = 200;\n @Input() padding: number | number[] | 'auto' = 0;\n @Input() data: G2TagCloudData[] = [];\n @Output() readonly clickItem = new EventEmitter<G2TagCloudClickItem>();\n\n // #endregion\n\n private initTagCloud(): void {\n (window as NzSafeAny).G2.registerShape('point', 'cloud', {\n draw(cfg: NzSafeAny, container: NzSafeAny) {\n const data = cfg.data as NzSafeAny;\n const textShape = container.addShape({\n type: 'text',\n name: 'tag-cloud-text',\n attrs: {\n ...cfg.style,\n fontSize: data.size,\n text: data.text,\n textAlign: 'center',\n fontFamily: data.font,\n fill: cfg.color,\n textBaseline: 'Alphabetic',\n x: cfg.x,\n y: cfg.y\n } as NzSafeAny\n });\n if (data.rotate) {\n (window as NzSafeAny).G2.Util.rotate(textShape, (data.rotate * Math.PI) / 180);\n }\n return textShape;\n }\n });\n }\n\n install(): void {\n this.initTagCloud();\n\n const { el, padding, theme } = this;\n if (this.height === 0) {\n this.height = this.el.nativeElement.clientHeight;\n }\n if (this.width === 0) {\n this.width = this.el.nativeElement.clientWidth;\n }\n\n const chart: Chart = (this._chart = new (window as NzSafeAny).G2.Chart({\n container: el.nativeElement,\n autoFit: false,\n padding,\n height: this.height,\n width: this.width,\n theme\n }));\n chart.scale({\n x: { nice: false },\n y: { nice: false }\n });\n chart.legend(false);\n chart.axis(false);\n chart.tooltip({\n showTitle: false,\n showMarkers: false\n });\n (chart.coordinate() as NzSafeAny).reflect();\n chart\n .point()\n .position('x*y')\n .color('text')\n .shape('cloud')\n .state({\n active: {\n style: {\n fillOpacity: 0.4\n }\n }\n });\n chart.interaction('element-active');\n\n chart.on('tag-cloud-text:click', (ev: Event) => {\n this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\n });\n\n this.ready.next(chart);\n\n this.changeData();\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 const dv = new (window as NzSafeAny).DataSet.View().source(data);\n const range = dv.range('value');\n const min = range[0];\n const max = range[1];\n\n dv.transform({\n type: 'tag-cloud',\n fields: ['name', 'value'],\n // imageMask,\n font: 'Verdana',\n size: [this.width, this.height], // 宽高设置最好根据 imageMask 做调整\n padding: 0,\n timeInterval: 5000, // max execute time\n rotate() {\n let random = ~~(Math.random() * 4) % 4;\n if (random === 2) {\n random = 0;\n }\n return random * 90; // 0, 90, 270\n },\n fontSize(d: NzSafeAny) {\n return ((d.value - min) / (max - min)) * (32 - 8) + 8;\n }\n } as NzSafeAny);\n\n _chart.changeData(dv.rows);\n }\n\n private installResizeEvent(): void {\n this.resize$ = fromEvent(window, 'resize')\n .pipe(\n filter(() => !!this._chart),\n debounceTime(200)\n )\n .subscribe(() => this.changeData());\n }\n\n onInit(): void {\n this.installResizeEvent();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { G2TagCloudComponent } from './tag-cloud.component';\n\nconst COMPONENTS = [G2TagCloudComponent];\n\n@NgModule({\n imports: [CommonModule, NzSkeletonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class G2TagCloudModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}