@delon/chart 15.2.1 → 16.0.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 (207) hide show
  1. package/bar/bar.component.d.ts +1 -1
  2. package/card/card.component.d.ts +1 -1
  3. package/chart-echarts/echarts.component.d.ts +1 -1
  4. package/core/g2.base.component.d.ts +1 -1
  5. package/custom/custom.component.d.ts +1 -1
  6. package/esm2022/bar/bar.component.mjs +144 -0
  7. package/esm2022/bar/bar.module.mjs +22 -0
  8. package/esm2022/card/card.component.mjs +56 -0
  9. package/esm2022/card/card.module.mjs +23 -0
  10. package/esm2022/chart-echarts/echarts.component.mjs +162 -0
  11. package/esm2022/chart-echarts/echarts.module.mjs +21 -0
  12. package/esm2022/chart-echarts/echarts.service.mjs +61 -0
  13. package/esm2022/core/g2.base.component.mjs +115 -0
  14. package/esm2022/core/g2.servicce.mjs +55 -0
  15. package/esm2022/custom/custom.component.mjs +70 -0
  16. package/esm2022/custom/custom.module.mjs +21 -0
  17. package/esm2022/gauge/gauge.component.mjs +171 -0
  18. package/esm2022/gauge/gauge.module.mjs +21 -0
  19. package/esm2022/mini-area/mini-area.component.mjs +135 -0
  20. package/esm2022/mini-area/mini-area.module.mjs +20 -0
  21. package/esm2022/mini-bar/mini-bar.component.mjs +102 -0
  22. package/esm2022/mini-bar/mini-bar.module.mjs +20 -0
  23. package/esm2022/mini-progress/mini-progress.component.mjs +47 -0
  24. package/esm2022/mini-progress/mini-progress.module.mjs +22 -0
  25. package/esm2022/number-info/number-info.component.mjs +46 -0
  26. package/esm2022/number-info/number-info.module.mjs +22 -0
  27. package/esm2022/pie/pie.component.mjs +223 -0
  28. package/esm2022/pie/pie.module.mjs +23 -0
  29. package/esm2022/radar/radar.component.mjs +150 -0
  30. package/esm2022/radar/radar.module.mjs +23 -0
  31. package/esm2022/single-bar/single-bar.component.mjs +128 -0
  32. package/esm2022/single-bar/single-bar.module.mjs +20 -0
  33. package/esm2022/tag-cloud/tag-cloud.component.mjs +163 -0
  34. package/esm2022/tag-cloud/tag-cloud.module.mjs +21 -0
  35. package/esm2022/timeline/timeline.component.mjs +206 -0
  36. package/esm2022/timeline/timeline.module.mjs +22 -0
  37. package/esm2022/trend/trend.component.mjs +53 -0
  38. package/esm2022/trend/trend.module.mjs +21 -0
  39. package/esm2022/water-wave/water-wave.component.mjs +221 -0
  40. package/esm2022/water-wave/water-wave.module.mjs +21 -0
  41. package/{fesm2020 → fesm2022}/bar.mjs +9 -9
  42. package/{fesm2020 → fesm2022}/bar.mjs.map +1 -1
  43. package/{fesm2015 → fesm2022}/card.mjs +7 -7
  44. package/{fesm2015 → fesm2022}/card.mjs.map +1 -1
  45. package/{fesm2020 → fesm2022}/chart-echarts.mjs +12 -12
  46. package/fesm2022/chart-echarts.mjs.map +1 -0
  47. package/{fesm2020 → fesm2022}/core.mjs +6 -6
  48. package/fesm2022/core.mjs.map +1 -0
  49. package/{fesm2015 → fesm2022}/custom.mjs +9 -9
  50. package/fesm2022/custom.mjs.map +1 -0
  51. package/{fesm2020 → fesm2022}/gauge.mjs +7 -7
  52. package/fesm2022/gauge.mjs.map +1 -0
  53. package/{fesm2020 → fesm2022}/mini-area.mjs +7 -7
  54. package/{fesm2020 → fesm2022}/mini-area.mjs.map +1 -1
  55. package/{fesm2020 → fesm2022}/mini-bar.mjs +7 -7
  56. package/{fesm2020 → fesm2022}/mini-bar.mjs.map +1 -1
  57. package/{fesm2020 → fesm2022}/mini-progress.mjs +7 -7
  58. package/{fesm2020 → fesm2022}/mini-progress.mjs.map +1 -1
  59. package/{fesm2020 → fesm2022}/number-info.mjs +7 -7
  60. package/{fesm2015 → fesm2022}/number-info.mjs.map +1 -1
  61. package/{fesm2020 → fesm2022}/pie.mjs +7 -7
  62. package/{fesm2020 → fesm2022}/pie.mjs.map +1 -1
  63. package/{fesm2020 → fesm2022}/radar.mjs +7 -7
  64. package/{fesm2020 → fesm2022}/radar.mjs.map +1 -1
  65. package/{fesm2020 → fesm2022}/single-bar.mjs +7 -7
  66. package/fesm2022/single-bar.mjs.map +1 -0
  67. package/{fesm2020 → fesm2022}/tag-cloud.mjs +7 -7
  68. package/{fesm2020 → fesm2022}/tag-cloud.mjs.map +1 -1
  69. package/{fesm2020 → fesm2022}/timeline.mjs +9 -9
  70. package/{fesm2020 → fesm2022}/timeline.mjs.map +1 -1
  71. package/{fesm2020 → fesm2022}/trend.mjs +9 -9
  72. package/fesm2022/trend.mjs.map +1 -0
  73. package/{fesm2020 → fesm2022}/water-wave.mjs +7 -7
  74. package/fesm2022/water-wave.mjs.map +1 -0
  75. package/gauge/gauge.component.d.ts +1 -1
  76. package/mini-area/mini-area.component.d.ts +1 -1
  77. package/mini-bar/mini-bar.component.d.ts +1 -1
  78. package/mini-progress/mini-progress.component.d.ts +1 -1
  79. package/number-info/number-info.component.d.ts +1 -1
  80. package/package.json +60 -100
  81. package/pie/pie.component.d.ts +1 -1
  82. package/radar/radar.component.d.ts +1 -1
  83. package/single-bar/single-bar.component.d.ts +1 -1
  84. package/tag-cloud/tag-cloud.component.d.ts +1 -1
  85. package/timeline/timeline.component.d.ts +1 -1
  86. package/trend/trend.component.d.ts +1 -1
  87. package/water-wave/water-wave.component.d.ts +1 -1
  88. package/esm2020/bar/bar.component.mjs +0 -143
  89. package/esm2020/bar/bar.module.mjs +0 -21
  90. package/esm2020/card/card.component.mjs +0 -55
  91. package/esm2020/card/card.module.mjs +0 -22
  92. package/esm2020/chart-echarts/echarts.component.mjs +0 -161
  93. package/esm2020/chart-echarts/echarts.module.mjs +0 -20
  94. package/esm2020/chart-echarts/echarts.service.mjs +0 -60
  95. package/esm2020/core/g2.base.component.mjs +0 -114
  96. package/esm2020/core/g2.servicce.mjs +0 -54
  97. package/esm2020/custom/custom.component.mjs +0 -69
  98. package/esm2020/custom/custom.module.mjs +0 -20
  99. package/esm2020/gauge/gauge.component.mjs +0 -170
  100. package/esm2020/gauge/gauge.module.mjs +0 -20
  101. package/esm2020/mini-area/mini-area.component.mjs +0 -134
  102. package/esm2020/mini-area/mini-area.module.mjs +0 -19
  103. package/esm2020/mini-bar/mini-bar.component.mjs +0 -101
  104. package/esm2020/mini-bar/mini-bar.module.mjs +0 -19
  105. package/esm2020/mini-progress/mini-progress.component.mjs +0 -46
  106. package/esm2020/mini-progress/mini-progress.module.mjs +0 -21
  107. package/esm2020/number-info/number-info.component.mjs +0 -45
  108. package/esm2020/number-info/number-info.module.mjs +0 -21
  109. package/esm2020/pie/pie.component.mjs +0 -222
  110. package/esm2020/pie/pie.module.mjs +0 -22
  111. package/esm2020/radar/radar.component.mjs +0 -149
  112. package/esm2020/radar/radar.module.mjs +0 -22
  113. package/esm2020/single-bar/single-bar.component.mjs +0 -127
  114. package/esm2020/single-bar/single-bar.module.mjs +0 -19
  115. package/esm2020/tag-cloud/tag-cloud.component.mjs +0 -162
  116. package/esm2020/tag-cloud/tag-cloud.module.mjs +0 -20
  117. package/esm2020/timeline/timeline.component.mjs +0 -205
  118. package/esm2020/timeline/timeline.module.mjs +0 -21
  119. package/esm2020/trend/trend.component.mjs +0 -52
  120. package/esm2020/trend/trend.module.mjs +0 -20
  121. package/esm2020/water-wave/water-wave.component.mjs +0 -220
  122. package/esm2020/water-wave/water-wave.module.mjs +0 -20
  123. package/fesm2015/bar.mjs +0 -168
  124. package/fesm2015/bar.mjs.map +0 -1
  125. package/fesm2015/chart-echarts.mjs +0 -241
  126. package/fesm2015/chart-echarts.mjs.map +0 -1
  127. package/fesm2015/core.mjs +0 -186
  128. package/fesm2015/core.mjs.map +0 -1
  129. package/fesm2015/custom.mjs.map +0 -1
  130. package/fesm2015/gauge.mjs +0 -194
  131. package/fesm2015/gauge.mjs.map +0 -1
  132. package/fesm2015/mini-area.mjs +0 -157
  133. package/fesm2015/mini-area.mjs.map +0 -1
  134. package/fesm2015/mini-bar.mjs +0 -124
  135. package/fesm2015/mini-bar.mjs.map +0 -1
  136. package/fesm2015/mini-progress.mjs +0 -71
  137. package/fesm2015/mini-progress.mjs.map +0 -1
  138. package/fesm2015/number-info.mjs +0 -70
  139. package/fesm2015/pie.mjs +0 -248
  140. package/fesm2015/pie.mjs.map +0 -1
  141. package/fesm2015/radar.mjs +0 -175
  142. package/fesm2015/radar.mjs.map +0 -1
  143. package/fesm2015/single-bar.mjs +0 -148
  144. package/fesm2015/single-bar.mjs.map +0 -1
  145. package/fesm2015/tag-cloud.mjs +0 -176
  146. package/fesm2015/tag-cloud.mjs.map +0 -1
  147. package/fesm2015/timeline.mjs +0 -228
  148. package/fesm2015/timeline.mjs.map +0 -1
  149. package/fesm2015/trend.mjs +0 -76
  150. package/fesm2015/trend.mjs.map +0 -1
  151. package/fesm2015/water-wave.mjs +0 -244
  152. package/fesm2015/water-wave.mjs.map +0 -1
  153. package/fesm2020/card.mjs +0 -81
  154. package/fesm2020/card.mjs.map +0 -1
  155. package/fesm2020/chart-echarts.mjs.map +0 -1
  156. package/fesm2020/chart.mjs +0 -7
  157. package/fesm2020/chart.mjs.map +0 -1
  158. package/fesm2020/core.mjs.map +0 -1
  159. package/fesm2020/custom.mjs +0 -93
  160. package/fesm2020/custom.mjs.map +0 -1
  161. package/fesm2020/gauge.mjs.map +0 -1
  162. package/fesm2020/number-info.mjs.map +0 -1
  163. package/fesm2020/single-bar.mjs.map +0 -1
  164. package/fesm2020/trend.mjs.map +0 -1
  165. package/fesm2020/water-wave.mjs.map +0 -1
  166. /package/{esm2020 → esm2022}/bar/bar.mjs +0 -0
  167. /package/{esm2020 → esm2022}/bar/public_api.mjs +0 -0
  168. /package/{esm2020 → esm2022}/card/card.mjs +0 -0
  169. /package/{esm2020 → esm2022}/card/public_api.mjs +0 -0
  170. /package/{esm2020 → esm2022}/chart-echarts/chart-echarts.mjs +0 -0
  171. /package/{esm2020 → esm2022}/chart-echarts/echarts.types.mjs +0 -0
  172. /package/{esm2020 → esm2022}/chart-echarts/public_api.mjs +0 -0
  173. /package/{esm2020 → esm2022}/chart.mjs +0 -0
  174. /package/{esm2020 → esm2022}/core/core.mjs +0 -0
  175. /package/{esm2020 → esm2022}/core/public_api.mjs +0 -0
  176. /package/{esm2020 → esm2022}/core/types/interaction.mjs +0 -0
  177. /package/{esm2020 → esm2022}/core/types/time.mjs +0 -0
  178. /package/{esm2020 → esm2022}/core/utils.mjs +0 -0
  179. /package/{esm2020 → esm2022}/custom/custom.mjs +0 -0
  180. /package/{esm2020 → esm2022}/custom/public_api.mjs +0 -0
  181. /package/{esm2020 → esm2022}/gauge/gauge.mjs +0 -0
  182. /package/{esm2020 → esm2022}/gauge/public_api.mjs +0 -0
  183. /package/{esm2020 → esm2022}/mini-area/mini-area.mjs +0 -0
  184. /package/{esm2020 → esm2022}/mini-area/public_api.mjs +0 -0
  185. /package/{esm2020 → esm2022}/mini-bar/mini-bar.mjs +0 -0
  186. /package/{esm2020 → esm2022}/mini-bar/public_api.mjs +0 -0
  187. /package/{esm2020 → esm2022}/mini-progress/mini-progress.mjs +0 -0
  188. /package/{esm2020 → esm2022}/mini-progress/public_api.mjs +0 -0
  189. /package/{esm2020 → esm2022}/number-info/number-info.mjs +0 -0
  190. /package/{esm2020 → esm2022}/number-info/public_api.mjs +0 -0
  191. /package/{esm2020 → esm2022}/pie/pie.mjs +0 -0
  192. /package/{esm2020 → esm2022}/pie/public_api.mjs +0 -0
  193. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
  194. /package/{esm2020 → esm2022}/radar/public_api.mjs +0 -0
  195. /package/{esm2020 → esm2022}/radar/radar.mjs +0 -0
  196. /package/{esm2020 → esm2022}/single-bar/public_api.mjs +0 -0
  197. /package/{esm2020 → esm2022}/single-bar/single-bar.mjs +0 -0
  198. /package/{esm2020 → esm2022}/tag-cloud/public_api.mjs +0 -0
  199. /package/{esm2020 → esm2022}/tag-cloud/tag-cloud.mjs +0 -0
  200. /package/{esm2020 → esm2022}/timeline/public_api.mjs +0 -0
  201. /package/{esm2020 → esm2022}/timeline/timeline.mjs +0 -0
  202. /package/{esm2020 → esm2022}/trend/public_api.mjs +0 -0
  203. /package/{esm2020 → esm2022}/trend/trend.mjs +0 -0
  204. /package/{esm2020 → esm2022}/water-wave/public_api.mjs +0 -0
  205. /package/{esm2020 → esm2022}/water-wave/water-wave.mjs +0 -0
  206. /package/{fesm2015 → fesm2022}/chart.mjs +0 -0
  207. /package/{fesm2015 → fesm2022}/chart.mjs.map +0 -0
@@ -1,70 +0,0 @@
1
- import { __decorate } from 'tslib';
2
- import * as i0 from '@angular/core';
3
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, NgModule } from '@angular/core';
4
- import { InputNumber } from '@delon/util/decorator';
5
- import * as i1 from '@angular/common';
6
- import { CommonModule } from '@angular/common';
7
- import * as i2 from 'ng-zorro-antd/icon';
8
- import { NzIconModule } from 'ng-zorro-antd/icon';
9
- import * as i3 from 'ng-zorro-antd/core/outlet';
10
- import { NzOutletModule } from 'ng-zorro-antd/core/outlet';
11
-
12
- class NumberInfoComponent {
13
- constructor() {
14
- /** 状态样式 */
15
- this.theme = 'light';
16
- /** 设置数字和描述直接的间距(像素) */
17
- this.gap = 8;
18
- }
19
- }
20
- NumberInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NumberInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- NumberInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", 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", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i3.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
22
- __decorate([
23
- InputNumber()
24
- ], NumberInfoComponent.prototype, "gap", void 0);
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NumberInfoComponent, decorators: [{
26
- type: Component,
27
- args: [{ selector: 'number-info', exportAs: 'numberInfo', host: {
28
- '[class.number-info]': `true`,
29
- '[class.number-info__light]': `theme === 'light'`,
30
- '[class.number-info__default]': `theme === 'default'`
31
- }, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, 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" }]
32
- }], propDecorators: { title: [{
33
- type: Input
34
- }], subTitle: [{
35
- type: Input
36
- }], total: [{
37
- type: Input
38
- }], subTotal: [{
39
- type: Input
40
- }], suffix: [{
41
- type: Input
42
- }], status: [{
43
- type: Input
44
- }], theme: [{
45
- type: Input
46
- }], gap: [{
47
- type: Input
48
- }] } });
49
-
50
- const COMPONENTS = [NumberInfoComponent];
51
- class NumberInfoModule {
52
- }
53
- NumberInfoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NumberInfoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
54
- NumberInfoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NumberInfoModule, declarations: [NumberInfoComponent], imports: [CommonModule, NzIconModule, NzOutletModule], exports: [NumberInfoComponent] });
55
- NumberInfoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NumberInfoModule, imports: [CommonModule, NzIconModule, NzOutletModule] });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NumberInfoModule, decorators: [{
57
- type: NgModule,
58
- args: [{
59
- imports: [CommonModule, NzIconModule, NzOutletModule],
60
- declarations: COMPONENTS,
61
- exports: COMPONENTS
62
- }]
63
- }] });
64
-
65
- /**
66
- * Generated bundle index. Do not edit.
67
- */
68
-
69
- export { NumberInfoComponent, NumberInfoModule };
70
- //# sourceMappingURL=number-info.mjs.map
package/fesm2015/pie.mjs DELETED
@@ -1,248 +0,0 @@
1
- import { __decorate } from 'tslib';
2
- import * as i0 from '@angular/core';
3
- import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, NgModule } from '@angular/core';
4
- import { G2BaseComponent } from '@delon/chart/core';
5
- import { InputBoolean, InputNumber } from '@delon/util/decorator';
6
- import * as i1 from '@angular/common';
7
- import { CommonModule } from '@angular/common';
8
- import * as i2 from 'ng-zorro-antd/divider';
9
- import { NzDividerModule } from 'ng-zorro-antd/divider';
10
- import * as i3 from 'ng-zorro-antd/core/outlet';
11
- import { NzOutletModule } from 'ng-zorro-antd/core/outlet';
12
- import * as i4 from 'ng-zorro-antd/skeleton';
13
- import { NzSkeletonModule } from 'ng-zorro-antd/skeleton';
14
-
15
- class G2PieComponent extends G2BaseComponent {
16
- constructor() {
17
- super(...arguments);
18
- this.legendData = [];
19
- this.isPercent = false;
20
- // #region fields
21
- this.animate = true;
22
- this.color = 'rgba(24, 144, 255, 0.85)';
23
- this.height = 0;
24
- this.hasLegend = false;
25
- this.inner = 0.75;
26
- this.padding = [12, 0, 12, 0];
27
- this.tooltip = true;
28
- this.lineWidth = 0;
29
- this.blockMaxWidth = 380;
30
- this.select = true;
31
- this.data = [];
32
- this.interaction = 'none';
33
- this.ratio = {
34
- text: '占比',
35
- inverse: '反比',
36
- color: '',
37
- inverseColor: '#F0F2F5'
38
- };
39
- this.clickItem = new EventEmitter();
40
- // #endregion
41
- this.block = false;
42
- }
43
- fixData() {
44
- const { percent, color } = this;
45
- this.isPercent = percent != null;
46
- if (!this.isPercent) {
47
- return;
48
- }
49
- this.select = false;
50
- this.tooltip = false;
51
- const { text, inverse, color: textColor, inverseColor } = this.ratio;
52
- this.percentColor = (value) => (value === text ? textColor || color : inverseColor);
53
- this.data = [
54
- {
55
- x: text,
56
- y: percent
57
- },
58
- {
59
- x: inverse,
60
- y: 100 - percent
61
- }
62
- ];
63
- }
64
- updateBlock() {
65
- this.block = this._chart && this.hasLegend && this.el.nativeElement.clientWidth <= this.blockMaxWidth;
66
- this.cdr.detectChanges();
67
- }
68
- install() {
69
- const { node, height, padding, tooltip, inner, hasLegend, interaction, theme, animate, lineWidth, isPercent, percentColor, colors } = this;
70
- const chart = (this._chart = new this.winG2.Chart({
71
- container: node.nativeElement,
72
- autoFit: true,
73
- height,
74
- padding,
75
- theme
76
- }));
77
- chart.animate(animate);
78
- if (!tooltip) {
79
- chart.tooltip(false);
80
- }
81
- else {
82
- chart.tooltip({
83
- showTitle: false,
84
- showMarkers: false
85
- });
86
- }
87
- if (interaction !== 'none') {
88
- chart.interaction(interaction);
89
- }
90
- chart.axis(false).legend(false).coordinate('theta', { innerRadius: inner });
91
- chart.filter('x', (_val, item) => item.checked !== false);
92
- chart
93
- .interval()
94
- .adjust('stack')
95
- .position('y')
96
- .style({ lineWidth, stroke: '#fff' })
97
- .color('x', isPercent ? percentColor : colors)
98
- .tooltip('x*percent', (name, p) => ({
99
- name,
100
- value: `${hasLegend ? p : (p * 100).toFixed(2)} %`
101
- }))
102
- .state({});
103
- chart.scale({
104
- x: {
105
- type: 'cat',
106
- range: [0, 1]
107
- }
108
- });
109
- chart
110
- .on(`interval:click`, (ev) => {
111
- this.ngZone.run(() => { var _a; return this.clickItem.emit({ item: (_a = ev.data) === null || _a === void 0 ? void 0 : _a.data, ev }); });
112
- })
113
- .on('afterrender', () => {
114
- this.ngZone.run(() => this.updateBlock());
115
- });
116
- this.ready.next(chart);
117
- this.changeData();
118
- chart.render();
119
- }
120
- changeData() {
121
- const { _chart, data } = this;
122
- if (!_chart || !Array.isArray(data) || data.length <= 0)
123
- return;
124
- // 转化 percent
125
- const totalSum = data.reduce((cur, item) => cur + item.y, 0);
126
- for (const item of data) {
127
- item.percent = totalSum === 0 ? 0 : item.y / totalSum;
128
- }
129
- _chart.changeData(data);
130
- this.ngZone.run(() => this.genLegend());
131
- }
132
- genLegend() {
133
- const { hasLegend, isPercent, cdr, _chart } = this;
134
- if (!hasLegend || isPercent)
135
- return;
136
- this.legendData = _chart.geometries[0].dataArray.map((item) => {
137
- const origin = item[0]._origin;
138
- origin.color = item[0].color;
139
- origin.checked = true;
140
- origin.percent = (origin.percent * 100).toFixed(2);
141
- return origin;
142
- });
143
- cdr.detectChanges();
144
- }
145
- _click(i) {
146
- const { legendData, _chart } = this;
147
- legendData[i].checked = !legendData[i].checked;
148
- _chart.render(true);
149
- }
150
- onChanges() {
151
- this.fixData();
152
- }
153
- }
154
- G2PieComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: G2PieComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
155
- G2PieComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", 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", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.NzDividerComponent, selector: "nz-divider", inputs: ["nzText", "nzType", "nzOrientation", "nzDashed", "nzPlain"], exportAs: ["nzDivider"] }, { kind: "directive", type: i3.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "component", type: i4.NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
156
- __decorate([
157
- InputBoolean()
158
- ], G2PieComponent.prototype, "animate", void 0);
159
- __decorate([
160
- InputNumber()
161
- ], G2PieComponent.prototype, "height", void 0);
162
- __decorate([
163
- InputBoolean()
164
- ], G2PieComponent.prototype, "hasLegend", void 0);
165
- __decorate([
166
- InputNumber()
167
- ], G2PieComponent.prototype, "percent", void 0);
168
- __decorate([
169
- InputBoolean()
170
- ], G2PieComponent.prototype, "tooltip", void 0);
171
- __decorate([
172
- InputNumber()
173
- ], G2PieComponent.prototype, "lineWidth", void 0);
174
- __decorate([
175
- InputNumber()
176
- ], G2PieComponent.prototype, "blockMaxWidth", void 0);
177
- __decorate([
178
- InputBoolean()
179
- ], G2PieComponent.prototype, "select", void 0);
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: G2PieComponent, decorators: [{
181
- type: Component,
182
- args: [{ selector: 'g2-pie', exportAs: 'g2Pie', host: {
183
- '[class.g2-pie]': 'true',
184
- '[class.g2-pie__legend-has]': 'hasLegend',
185
- '[class.g2-pie__legend-block]': 'block',
186
- '[class.g2-pie__mini]': 'isPercent'
187
- }, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, 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" }]
188
- }], propDecorators: { animate: [{
189
- type: Input
190
- }], color: [{
191
- type: Input
192
- }], subTitle: [{
193
- type: Input
194
- }], total: [{
195
- type: Input
196
- }], height: [{
197
- type: Input
198
- }], hasLegend: [{
199
- type: Input
200
- }], inner: [{
201
- type: Input
202
- }], padding: [{
203
- type: Input
204
- }], percent: [{
205
- type: Input
206
- }], tooltip: [{
207
- type: Input
208
- }], lineWidth: [{
209
- type: Input
210
- }], blockMaxWidth: [{
211
- type: Input
212
- }], select: [{
213
- type: Input
214
- }], valueFormat: [{
215
- type: Input
216
- }], data: [{
217
- type: Input
218
- }], colors: [{
219
- type: Input
220
- }], interaction: [{
221
- type: Input
222
- }], ratio: [{
223
- type: Input
224
- }], clickItem: [{
225
- type: Output
226
- }] } });
227
-
228
- const COMPONENTS = [G2PieComponent];
229
- class G2PieModule {
230
- }
231
- G2PieModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: G2PieModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
232
- G2PieModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: G2PieModule, declarations: [G2PieComponent], imports: [CommonModule, NzDividerModule, NzOutletModule, NzSkeletonModule], exports: [G2PieComponent] });
233
- G2PieModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: G2PieModule, imports: [CommonModule, NzDividerModule, NzOutletModule, NzSkeletonModule] });
234
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: G2PieModule, decorators: [{
235
- type: NgModule,
236
- args: [{
237
- imports: [CommonModule, NzDividerModule, NzOutletModule, NzSkeletonModule],
238
- declarations: COMPONENTS,
239
- exports: COMPONENTS
240
- }]
241
- }] });
242
-
243
- /**
244
- * Generated bundle index. Do not edit.
245
- */
246
-
247
- export { G2PieComponent, G2PieModule };
248
- //# sourceMappingURL=pie.mjs.map
@@ -1 +0,0 @@
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 block: boolean = false;\n\n private fixData(): void {\n const { percent, color } = this;\n this.isPercent = percent != null;\n if (!this.isPercent) {\n return;\n }\n\n this.select = false;\n this.tooltip = false;\n const { text, inverse, color: textColor, inverseColor } = this.ratio;\n this.percentColor = (value: string) => (value === text ? textColor || color : inverseColor);\n this.data = [\n {\n x: text,\n y: percent!\n },\n {\n x: inverse,\n y: 100 - percent!\n }\n ];\n }\n\n private updateBlock(): void {\n this.block = this._chart && this.hasLegend && this.el.nativeElement.clientWidth <= this.blockMaxWidth;\n this.cdr.detectChanges();\n }\n\n install(): void {\n const {\n node,\n height,\n padding,\n tooltip,\n inner,\n hasLegend,\n interaction,\n theme,\n animate,\n lineWidth,\n isPercent,\n percentColor,\n colors\n } = this;\n const chart: Chart = (this._chart = new this.winG2.Chart({\n container: node.nativeElement,\n autoFit: true,\n height,\n padding,\n theme\n }));\n chart.animate(animate);\n\n if (!tooltip) {\n chart.tooltip(false);\n } else {\n chart.tooltip({\n showTitle: false,\n showMarkers: false\n });\n }\n if (interaction !== 'none') {\n chart.interaction(interaction);\n }\n chart.axis(false).legend(false).coordinate('theta', { innerRadius: inner });\n chart.filter('x', (_val: NzSafeAny, item: NzSafeAny) => item.checked !== false);\n chart\n .interval()\n .adjust('stack')\n .position('y')\n .style({ lineWidth, stroke: '#fff' })\n .color('x', isPercent ? percentColor : colors)\n .tooltip('x*percent', (name: string, p: number) => ({\n name,\n value: `${hasLegend ? p : (p * 100).toFixed(2)} %`\n }))\n .state({});\n chart.scale({\n x: {\n type: 'cat',\n range: [0, 1]\n }\n });\n\n chart\n .on(`interval:click`, (ev: Event) => {\n this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\n })\n .on('afterrender', () => {\n this.ngZone.run(() => this.updateBlock());\n });\n\n this.ready.next(chart);\n\n this.changeData();\n\n chart.render();\n }\n\n changeData(): void {\n const { _chart, data } = this;\n if (!_chart || !Array.isArray(data) || data.length <= 0) return;\n\n // 转化 percent\n const totalSum = data.reduce((cur, item) => cur + item.y, 0);\n for (const item of data) {\n item.percent = totalSum === 0 ? 0 : item.y / totalSum;\n }\n _chart.changeData(data);\n\n this.ngZone.run(() => this.genLegend());\n }\n\n private genLegend(): void {\n const { hasLegend, isPercent, cdr, _chart } = this;\n if (!hasLegend || isPercent) return;\n\n this.legendData = _chart.geometries[0].dataArray.map((item: NzSafeAny) => {\n const origin = item[0]._origin;\n origin.color = item[0].color;\n origin.checked = true;\n origin.percent = (origin.percent * 100).toFixed(2);\n return origin;\n });\n\n cdr.detectChanges();\n }\n\n _click(i: number): void {\n const { legendData, _chart } = this;\n legendData[i].checked = !legendData[i].checked;\n _chart.render(true);\n }\n\n onChanges(): void {\n this.fixData();\n }\n}\n","<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,175 +0,0 @@
1
- import { __decorate } from 'tslib';
2
- import * as i0 from '@angular/core';
3
- import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, NgModule } from '@angular/core';
4
- import { G2BaseComponent } from '@delon/chart/core';
5
- import { InputNumber, InputBoolean } from '@delon/util/decorator';
6
- import * as i1 from '@angular/common';
7
- import { CommonModule } from '@angular/common';
8
- import * as i2 from 'ng-zorro-antd/grid';
9
- import { NzGridModule } from 'ng-zorro-antd/grid';
10
- import * as i3 from 'ng-zorro-antd/core/outlet';
11
- import { NzOutletModule } from 'ng-zorro-antd/core/outlet';
12
- import * as i4 from 'ng-zorro-antd/skeleton';
13
- import { NzSkeletonModule } from 'ng-zorro-antd/skeleton';
14
-
15
- class G2RadarComponent extends G2BaseComponent {
16
- constructor() {
17
- super(...arguments);
18
- this.legendData = [];
19
- this.height = 0;
20
- this.padding = [44, 30, 16, 30];
21
- this.hasLegend = true;
22
- this.tickCount = 4;
23
- this.data = [];
24
- this.colors = ['#1890FF', '#FACC14', '#2FC25B', '#8543E0', '#F04864', '#13C2C2', '#fa8c16', '#a0d911'];
25
- this.clickItem = new EventEmitter();
26
- }
27
- // #endregion
28
- getHeight() {
29
- return this.height - (this.hasLegend ? 80 : 22);
30
- }
31
- install() {
32
- const { node, padding, theme, tickCount } = this;
33
- const chart = (this._chart = new this.winG2.Chart({
34
- container: node.nativeElement,
35
- autoFit: true,
36
- height: this.getHeight(),
37
- padding,
38
- theme
39
- }));
40
- chart.coordinate('polar');
41
- chart.legend(false);
42
- chart.axis('label', {
43
- line: null,
44
- label: {
45
- offset: 8
46
- },
47
- grid: {
48
- line: {
49
- style: {
50
- stroke: '#e9e9e9',
51
- lineWidth: 1,
52
- lineDash: [0, 0]
53
- }
54
- }
55
- }
56
- });
57
- chart.axis('value', {
58
- grid: {
59
- line: {
60
- type: 'polygon',
61
- style: {
62
- stroke: '#e9e9e9',
63
- lineWidth: 1,
64
- lineDash: [0, 0]
65
- }
66
- }
67
- }
68
- });
69
- chart.scale({
70
- value: {
71
- min: 0,
72
- tickCount
73
- }
74
- });
75
- chart.filter('name', (name) => {
76
- const legendItem = this.legendData.find(w => w.name === name);
77
- return legendItem ? legendItem.checked !== false : true;
78
- });
79
- chart.line().position('label*value').color('name', this.colors);
80
- chart.point().position('label*value').shape('circle').size(3);
81
- chart.on(`point:click`, (ev) => {
82
- this.ngZone.run(() => { var _a; return this.clickItem.emit({ item: (_a = ev.data) === null || _a === void 0 ? void 0 : _a.data, ev }); });
83
- });
84
- this.ready.next(chart);
85
- this.changeData();
86
- chart.render();
87
- }
88
- changeData() {
89
- const { _chart, data } = this;
90
- if (!_chart || !Array.isArray(data) || data.length <= 0)
91
- return;
92
- _chart.changeData(data);
93
- this.ngZone.run(() => this.genLegend());
94
- }
95
- genLegend() {
96
- const { hasLegend, cdr, _chart } = this;
97
- if (!hasLegend)
98
- return;
99
- this.legendData = _chart.geometries[0].dataArray.map(item => {
100
- const origin = item[0]._origin;
101
- const result = {
102
- name: origin.name,
103
- color: item[0].color,
104
- checked: true,
105
- value: item.reduce((p, n) => p + n._origin.value, 0)
106
- };
107
- return result;
108
- });
109
- cdr.detectChanges();
110
- }
111
- _click(i) {
112
- const { legendData, _chart } = this;
113
- legendData[i].checked = !legendData[i].checked;
114
- _chart.render(true);
115
- }
116
- onChanges() {
117
- this.legendData.forEach(i => (i.checked = true));
118
- }
119
- }
120
- G2RadarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: G2RadarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
121
- G2RadarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", 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", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.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"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i3.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "component", type: i4.NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
122
- __decorate([
123
- InputNumber()
124
- ], G2RadarComponent.prototype, "height", void 0);
125
- __decorate([
126
- InputBoolean()
127
- ], G2RadarComponent.prototype, "hasLegend", void 0);
128
- __decorate([
129
- InputNumber()
130
- ], G2RadarComponent.prototype, "tickCount", void 0);
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: G2RadarComponent, decorators: [{
132
- type: Component,
133
- args: [{ selector: 'g2-radar', exportAs: 'g2Radar', host: {
134
- '[style.height.px]': 'height',
135
- '[class.g2-radar]': 'true'
136
- }, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, 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" }]
137
- }], propDecorators: { title: [{
138
- type: Input
139
- }], height: [{
140
- type: Input
141
- }], padding: [{
142
- type: Input
143
- }], hasLegend: [{
144
- type: Input
145
- }], tickCount: [{
146
- type: Input
147
- }], data: [{
148
- type: Input
149
- }], colors: [{
150
- type: Input
151
- }], clickItem: [{
152
- type: Output
153
- }] } });
154
-
155
- const COMPONENTS = [G2RadarComponent];
156
- class G2RadarModule {
157
- }
158
- G2RadarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: G2RadarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
159
- G2RadarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: G2RadarModule, declarations: [G2RadarComponent], imports: [CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule], exports: [G2RadarComponent] });
160
- G2RadarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: G2RadarModule, imports: [CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule] });
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: G2RadarModule, decorators: [{
162
- type: NgModule,
163
- args: [{
164
- imports: [CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule],
165
- declarations: COMPONENTS,
166
- exports: COMPONENTS
167
- }]
168
- }] });
169
-
170
- /**
171
- * Generated bundle index. Do not edit.
172
- */
173
-
174
- export { G2RadarComponent, G2RadarModule };
175
- //# sourceMappingURL=radar.mjs.map
@@ -1 +0,0 @@
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 this.winG2.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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"}