@delon/chart 15.2.0 → 16.0.0-beta.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,148 +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 { G2BaseComponent } from '@delon/chart/core';
5
- import { InputNumber, InputBoolean } from '@delon/util/decorator';
6
- import { CommonModule } from '@angular/common';
7
-
8
- class G2SingleBarComponent extends G2BaseComponent {
9
- constructor() {
10
- super(...arguments);
11
- // #region fields
12
- this.plusColor = '#40a9ff';
13
- this.minusColor = '#ff4d4f';
14
- this.height = 60;
15
- this.barSize = 30;
16
- this.min = 0;
17
- this.max = 100;
18
- this.value = 0;
19
- this.line = false;
20
- this.padding = 0;
21
- this.textStyle = { fontSize: 12, color: '#595959' };
22
- this.onlyChangeData = (changes) => {
23
- return Object.keys(changes).length === 1 && !!changes.value;
24
- };
25
- }
26
- // #endregion
27
- install() {
28
- const { el, height, padding, textStyle, line, format, theme, min, max, plusColor, minusColor, barSize } = this;
29
- const chart = (this._chart = new this.winG2.Chart({
30
- container: el.nativeElement,
31
- autoFit: true,
32
- height,
33
- padding,
34
- theme
35
- }));
36
- chart.legend(false);
37
- chart.axis(false);
38
- chart.scale({ value: { max, min } });
39
- chart.tooltip(false);
40
- chart.coordinate().transpose();
41
- chart
42
- .interval()
43
- .position('1*value')
44
- .color('value', (val) => (val > 0 ? plusColor : minusColor))
45
- .size(barSize)
46
- .label('value', () => ({
47
- formatter: format,
48
- style: Object.assign({}, textStyle)
49
- }));
50
- if (line) {
51
- chart.annotation().line({
52
- start: ['50%', '0%'],
53
- end: ['50%', '100%'],
54
- style: {
55
- stroke: '#e8e8e8',
56
- lineDash: [0, 0]
57
- }
58
- });
59
- }
60
- this.ready.next(chart);
61
- this.changeData();
62
- chart.render();
63
- }
64
- changeData() {
65
- const { _chart, value } = this;
66
- if (!_chart)
67
- return;
68
- _chart.changeData([{ value }]);
69
- }
70
- }
71
- G2SingleBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2SingleBarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
72
- G2SingleBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", 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
- __decorate([
74
- InputNumber()
75
- ], G2SingleBarComponent.prototype, "height", void 0);
76
- __decorate([
77
- InputNumber()
78
- ], G2SingleBarComponent.prototype, "barSize", void 0);
79
- __decorate([
80
- InputNumber()
81
- ], G2SingleBarComponent.prototype, "min", void 0);
82
- __decorate([
83
- InputNumber()
84
- ], G2SingleBarComponent.prototype, "max", void 0);
85
- __decorate([
86
- InputNumber()
87
- ], G2SingleBarComponent.prototype, "value", void 0);
88
- __decorate([
89
- InputBoolean()
90
- ], G2SingleBarComponent.prototype, "line", void 0);
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2SingleBarComponent, decorators: [{
92
- type: Component,
93
- args: [{
94
- selector: 'g2-single-bar',
95
- exportAs: 'g2SingleBar',
96
- template: ``,
97
- host: {
98
- '[style.height.px]': 'height'
99
- },
100
- preserveWhitespaces: false,
101
- changeDetection: ChangeDetectionStrategy.OnPush,
102
- encapsulation: ViewEncapsulation.None
103
- }]
104
- }], propDecorators: { plusColor: [{
105
- type: Input
106
- }], minusColor: [{
107
- type: Input
108
- }], height: [{
109
- type: Input
110
- }], barSize: [{
111
- type: Input
112
- }], min: [{
113
- type: Input
114
- }], max: [{
115
- type: Input
116
- }], value: [{
117
- type: Input
118
- }], line: [{
119
- type: Input
120
- }], format: [{
121
- type: Input
122
- }], padding: [{
123
- type: Input
124
- }], textStyle: [{
125
- type: Input
126
- }] } });
127
-
128
- const COMPONENTS = [G2SingleBarComponent];
129
- class G2SingleBarModule {
130
- }
131
- G2SingleBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2SingleBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
132
- G2SingleBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: G2SingleBarModule, declarations: [G2SingleBarComponent], imports: [CommonModule], exports: [G2SingleBarComponent] });
133
- G2SingleBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2SingleBarModule, imports: [CommonModule] });
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2SingleBarModule, decorators: [{
135
- type: NgModule,
136
- args: [{
137
- imports: [CommonModule],
138
- declarations: COMPONENTS,
139
- exports: COMPONENTS
140
- }]
141
- }] });
142
-
143
- /**
144
- * Generated bundle index. Do not edit.
145
- */
146
-
147
- export { G2SingleBarComponent, G2SingleBarModule };
148
- //# sourceMappingURL=single-bar.mjs.map
@@ -1 +0,0 @@
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 this.winG2.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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"}
@@ -1,176 +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 { fromEvent, filter, debounceTime } from 'rxjs';
5
- import { G2BaseComponent } from '@delon/chart/core';
6
- import { InputNumber } from '@delon/util/decorator';
7
- import * as i1 from '@angular/common';
8
- import { CommonModule } from '@angular/common';
9
- import * as i2 from 'ng-zorro-antd/skeleton';
10
- import { NzSkeletonModule } from 'ng-zorro-antd/skeleton';
11
-
12
- class G2TagCloudComponent extends G2BaseComponent {
13
- constructor() {
14
- super(...arguments);
15
- // #region fields
16
- this.width = 0;
17
- this.height = 200;
18
- this.padding = 0;
19
- this.data = [];
20
- this.clickItem = new EventEmitter();
21
- }
22
- // #endregion
23
- initTagCloud() {
24
- const winG2 = this.winG2;
25
- winG2.registerShape('point', 'cloud', {
26
- draw(cfg, container) {
27
- const data = cfg.data;
28
- const textShape = container.addShape({
29
- type: 'text',
30
- name: 'tag-cloud-text',
31
- attrs: Object.assign(Object.assign({}, cfg.style), { fontSize: data.size, text: data.text, textAlign: 'center', fontFamily: data.font, fill: cfg.color, textBaseline: 'Alphabetic', x: cfg.x, y: cfg.y })
32
- });
33
- if (data.rotate) {
34
- winG2.Util.rotate(textShape, (data.rotate * Math.PI) / 180);
35
- }
36
- return textShape;
37
- }
38
- });
39
- }
40
- install() {
41
- this.initTagCloud();
42
- const { el, padding, theme } = this;
43
- if (this.height === 0) {
44
- this.height = this.el.nativeElement.clientHeight;
45
- }
46
- if (this.width === 0) {
47
- this.width = this.el.nativeElement.clientWidth;
48
- }
49
- const chart = (this._chart = new this.winG2.Chart({
50
- container: el.nativeElement,
51
- autoFit: false,
52
- padding,
53
- height: this.height,
54
- width: this.width,
55
- theme
56
- }));
57
- chart.scale({
58
- x: { nice: false },
59
- y: { nice: false }
60
- });
61
- chart.legend(false);
62
- chart.axis(false);
63
- chart.tooltip({
64
- showTitle: false,
65
- showMarkers: false
66
- });
67
- chart.coordinate().reflect();
68
- chart
69
- .point()
70
- .position('x*y')
71
- .color('text')
72
- .shape('cloud')
73
- .state({
74
- active: {
75
- style: {
76
- fillOpacity: 0.4
77
- }
78
- }
79
- });
80
- chart.interaction('element-active');
81
- chart.on('tag-cloud-text: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
- const dv = new window.DataSet.View().source(data);
93
- const range = dv.range('value');
94
- const min = range[0];
95
- const max = range[1];
96
- dv.transform({
97
- type: 'tag-cloud',
98
- fields: ['name', 'value'],
99
- // imageMask,
100
- font: 'Verdana',
101
- size: [this.width, this.height],
102
- padding: 0,
103
- timeInterval: 5000,
104
- rotate() {
105
- let random = ~~(Math.random() * 4) % 4;
106
- if (random === 2) {
107
- random = 0;
108
- }
109
- return random * 90; // 0, 90, 270
110
- },
111
- fontSize(d) {
112
- return ((d.value - min) / (max - min)) * (32 - 8) + 8;
113
- }
114
- });
115
- _chart.changeData(dv.rows);
116
- }
117
- installResizeEvent() {
118
- this.resize$ = fromEvent(window, 'resize')
119
- .pipe(filter(() => !!this._chart), debounceTime(200))
120
- .subscribe(() => this.changeData());
121
- }
122
- onInit() {
123
- this.installResizeEvent();
124
- }
125
- }
126
- G2TagCloudComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2TagCloudComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
127
- G2TagCloudComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", 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, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
128
- __decorate([
129
- InputNumber()
130
- ], G2TagCloudComponent.prototype, "width", void 0);
131
- __decorate([
132
- InputNumber()
133
- ], G2TagCloudComponent.prototype, "height", void 0);
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2TagCloudComponent, decorators: [{
135
- type: Component,
136
- args: [{
137
- selector: 'g2-tag-cloud',
138
- exportAs: 'g2TagCloud',
139
- template: `<nz-skeleton *ngIf="!loaded"></nz-skeleton>`,
140
- preserveWhitespaces: false,
141
- changeDetection: ChangeDetectionStrategy.OnPush,
142
- encapsulation: ViewEncapsulation.None
143
- }]
144
- }], propDecorators: { width: [{
145
- type: Input
146
- }], height: [{
147
- type: Input
148
- }], padding: [{
149
- type: Input
150
- }], data: [{
151
- type: Input
152
- }], clickItem: [{
153
- type: Output
154
- }] } });
155
-
156
- const COMPONENTS = [G2TagCloudComponent];
157
- class G2TagCloudModule {
158
- }
159
- G2TagCloudModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2TagCloudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
160
- G2TagCloudModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: G2TagCloudModule, declarations: [G2TagCloudComponent], imports: [CommonModule, NzSkeletonModule], exports: [G2TagCloudComponent] });
161
- G2TagCloudModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2TagCloudModule, imports: [CommonModule, NzSkeletonModule] });
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2TagCloudModule, decorators: [{
163
- type: NgModule,
164
- args: [{
165
- imports: [CommonModule, NzSkeletonModule],
166
- declarations: COMPONENTS,
167
- exports: COMPONENTS
168
- }]
169
- }] });
170
-
171
- /**
172
- * Generated bundle index. Do not edit.
173
- */
174
-
175
- export { G2TagCloudComponent, G2TagCloudModule };
176
- //# sourceMappingURL=tag-cloud.mjs.map
@@ -1 +0,0 @@
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, debounceTime, filter } from 'rxjs';\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 const winG2 = this.winG2;\n winG2.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 winG2.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 this.winG2.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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"}
@@ -1,228 +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 { format } from 'date-fns';
5
- import { G2BaseComponent } from '@delon/chart/core';
6
- import { toDate } from '@delon/util/date-time';
7
- import { InputNumber, InputBoolean } from '@delon/util/decorator';
8
- import * as i1 from '@angular/common';
9
- import { CommonModule } from '@angular/common';
10
- import * as i2 from 'ng-zorro-antd/core/outlet';
11
- import { NzOutletModule } from 'ng-zorro-antd/core/outlet';
12
- import * as i3 from 'ng-zorro-antd/skeleton';
13
- import { NzSkeletonModule } from 'ng-zorro-antd/skeleton';
14
-
15
- class G2TimelineComponent extends G2BaseComponent {
16
- constructor() {
17
- super(...arguments);
18
- this.maxAxis = 2;
19
- this.data = [];
20
- this.colorMap = { y1: '#5B8FF9', y2: '#5AD8A6', y3: '#5D7092', y4: '#F6BD16', y5: '#E86452' };
21
- this.mask = 'HH:mm';
22
- this.maskSlider = 'HH:mm';
23
- this.position = 'top';
24
- this.height = 450;
25
- this.padding = [40, 8, 64, 40];
26
- this.borderWidth = 2;
27
- this.slider = true;
28
- this.clickItem = new EventEmitter();
29
- // #endregion
30
- this.onlyChangeData = (changes) => {
31
- const tm = changes.titleMap;
32
- return !(tm && !tm.firstChange && tm.currentValue !== tm.previousValue);
33
- };
34
- }
35
- install() {
36
- const { node, height, padding, slider, maxAxis, theme, maskSlider } = this;
37
- const chart = (this._chart = new this.winG2.Chart({
38
- container: node.nativeElement,
39
- autoFit: true,
40
- height,
41
- padding,
42
- theme
43
- }));
44
- chart.axis('time', { title: null });
45
- chart.axis('y1', { title: null });
46
- for (let i = 2; i <= maxAxis; i++) {
47
- chart.axis(`y${i}`, false);
48
- }
49
- chart.line().position('time*y1');
50
- for (let i = 2; i <= maxAxis; i++) {
51
- chart.line().position(`time*y${i}`);
52
- }
53
- chart.tooltip({
54
- showCrosshairs: true,
55
- shared: true
56
- });
57
- const sliderPadding = Object.assign(Object.assign({}, []), padding);
58
- sliderPadding[0] = 0;
59
- if (slider) {
60
- chart.option('slider', {
61
- height: 26,
62
- start: 0,
63
- end: 1,
64
- trendCfg: {
65
- isArea: false
66
- },
67
- minLimit: 2,
68
- formatter: (val) => format(val, maskSlider)
69
- });
70
- }
71
- chart.on(`plot:click`, (ev) => {
72
- const records = this._chart.getSnapRecords({ x: ev.x, y: ev.y });
73
- this.ngZone.run(() => this.clickItem.emit({ item: records[0]._origin, ev }));
74
- });
75
- chart.on(`legend-item:click`, (ev) => {
76
- var _a;
77
- const item = (_a = ev === null || ev === void 0 ? void 0 : ev.target) === null || _a === void 0 ? void 0 : _a.get('delegateObject').item;
78
- const id = item === null || item === void 0 ? void 0 : item.id;
79
- const line = chart.geometries.find(w => w.getAttribute('position').getFields()[1] === id);
80
- if (line) {
81
- line.changeVisible(!item.unchecked);
82
- }
83
- });
84
- this.ready.next(chart);
85
- this.changeData();
86
- chart.render();
87
- }
88
- changeData() {
89
- const { _chart, height, padding, mask, titleMap, position, colorMap, borderWidth, maxAxis } = this;
90
- let data = [...this.data];
91
- if (!_chart || data.length <= 0)
92
- return;
93
- const arrAxis = [...Array(maxAxis)].map((_, index) => index + 1);
94
- _chart.legend({
95
- position,
96
- custom: true,
97
- items: arrAxis.map(id => {
98
- const key = `y${id}`;
99
- return {
100
- id: key,
101
- name: titleMap[key],
102
- value: key,
103
- marker: { style: { fill: colorMap[key] } }
104
- };
105
- })
106
- });
107
- // border
108
- _chart.geometries.forEach((v, idx) => {
109
- v.color(colorMap[`y${idx + 1}`]).size(borderWidth);
110
- });
111
- _chart.height = height;
112
- _chart.padding = padding;
113
- // 转换成日期类型
114
- data = data
115
- .map(item => {
116
- item.time = toDate(item.time);
117
- item._time = +item.time;
118
- return item;
119
- })
120
- .sort((a, b) => a._time - b._time);
121
- const max = Math.max(...arrAxis.map(id => [...data].sort((a, b) => b[`y${id}`] - a[`y${id}`])[0][`y${id}`]));
122
- const scaleOptions = {};
123
- arrAxis.forEach(id => {
124
- const key = `y${id}`;
125
- scaleOptions[key] = {
126
- alias: titleMap[key],
127
- max,
128
- min: 0
129
- };
130
- });
131
- _chart.scale(Object.assign({ time: {
132
- type: 'time',
133
- mask,
134
- range: [0, 1]
135
- } }, scaleOptions));
136
- const initialRange = {
137
- start: data[0]._time,
138
- end: data[data.length - 1]._time
139
- };
140
- const filterData = data.filter(val => val._time >= initialRange.start && val._time <= initialRange.end);
141
- _chart.changeData(filterData);
142
- }
143
- }
144
- G2TimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2TimelineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
145
- G2TimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: G2TimelineComponent, selector: "g2-timeline", inputs: { title: "title", maxAxis: "maxAxis", data: "data", titleMap: "titleMap", colorMap: "colorMap", mask: "mask", maskSlider: "maskSlider", position: "position", height: "height", padding: "padding", borderWidth: "borderWidth", slider: "slider" }, outputs: { clickItem: "clickItem" }, exportAs: ["g2Timeline"], usesInheritance: true, ngImport: i0, template: `
146
- <ng-container *nzStringTemplateOutlet="title">
147
- <h4>{{ title }}</h4>
148
- </ng-container>
149
- <nz-skeleton *ngIf="!loaded"></nz-skeleton>
150
- <div #container></div>
151
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "component", type: i3.NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
152
- __decorate([
153
- InputNumber()
154
- ], G2TimelineComponent.prototype, "maxAxis", void 0);
155
- __decorate([
156
- InputNumber()
157
- ], G2TimelineComponent.prototype, "height", void 0);
158
- __decorate([
159
- InputNumber()
160
- ], G2TimelineComponent.prototype, "borderWidth", void 0);
161
- __decorate([
162
- InputBoolean()
163
- ], G2TimelineComponent.prototype, "slider", void 0);
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2TimelineComponent, decorators: [{
165
- type: Component,
166
- args: [{
167
- selector: 'g2-timeline',
168
- exportAs: 'g2Timeline',
169
- template: `
170
- <ng-container *nzStringTemplateOutlet="title">
171
- <h4>{{ title }}</h4>
172
- </ng-container>
173
- <nz-skeleton *ngIf="!loaded"></nz-skeleton>
174
- <div #container></div>
175
- `,
176
- preserveWhitespaces: false,
177
- changeDetection: ChangeDetectionStrategy.OnPush,
178
- encapsulation: ViewEncapsulation.None
179
- }]
180
- }], propDecorators: { title: [{
181
- type: Input
182
- }], maxAxis: [{
183
- type: Input
184
- }], data: [{
185
- type: Input
186
- }], titleMap: [{
187
- type: Input
188
- }], colorMap: [{
189
- type: Input
190
- }], mask: [{
191
- type: Input
192
- }], maskSlider: [{
193
- type: Input
194
- }], position: [{
195
- type: Input
196
- }], height: [{
197
- type: Input
198
- }], padding: [{
199
- type: Input
200
- }], borderWidth: [{
201
- type: Input
202
- }], slider: [{
203
- type: Input
204
- }], clickItem: [{
205
- type: Output
206
- }] } });
207
-
208
- const COMPONENTS = [G2TimelineComponent];
209
- class G2TimelineModule {
210
- }
211
- G2TimelineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2TimelineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
212
- G2TimelineModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: G2TimelineModule, declarations: [G2TimelineComponent], imports: [CommonModule, NzOutletModule, NzSkeletonModule], exports: [G2TimelineComponent] });
213
- G2TimelineModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2TimelineModule, imports: [CommonModule, NzOutletModule, NzSkeletonModule] });
214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: G2TimelineModule, decorators: [{
215
- type: NgModule,
216
- args: [{
217
- imports: [CommonModule, NzOutletModule, NzSkeletonModule],
218
- declarations: COMPONENTS,
219
- exports: COMPONENTS
220
- }]
221
- }] });
222
-
223
- /**
224
- * Generated bundle index. Do not edit.
225
- */
226
-
227
- export { G2TimelineComponent, G2TimelineModule };
228
- //# sourceMappingURL=timeline.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timeline.mjs","sources":["../../../../packages/chart/timeline/timeline.component.ts","../../../../packages/chart/timeline/timeline.module.ts","../../../../packages/chart/timeline/timeline.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport type { Chart, Event, Types } from '@antv/g2';\nimport { format } from 'date-fns';\n\nimport { G2BaseComponent, G2Time } from '@delon/chart/core';\nimport { toDate } from '@delon/util/date-time';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport interface G2TimelineData {\n /**\n * 时间值\n */\n time?: G2Time;\n /** 指标1数据 */\n y1: number;\n /** 指标2数据 */\n y2: number;\n /** 指标3数据 */\n y3?: number;\n /** 指标4数据 */\n y4?: number;\n /** 指标5数据 */\n y5?: number;\n [key: string]: NzSafeAny;\n}\n\nexport interface G2TimelineMap {\n /** 指标1 */\n y1: string;\n /** 指标 */\n y2: string;\n /** 指标3 */\n y3?: string;\n /** 指标4 */\n y4?: string;\n /** 指标5 */\n y5?: string;\n\n [key: string]: string | undefined;\n}\n\nexport interface G2TimelineClickItem {\n item: G2TimelineData;\n ev: Event;\n}\n\n@Component({\n selector: 'g2-timeline',\n exportAs: 'g2Timeline',\n template: `\n <ng-container *nzStringTemplateOutlet=\"title\">\n <h4>{{ title }}</h4>\n </ng-container>\n <nz-skeleton *ngIf=\"!loaded\"></nz-skeleton>\n <div #container></div>\n `,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2TimelineComponent extends G2BaseComponent {\n static ngAcceptInputType_height: NumberInput;\n static ngAcceptInputType_maxAxis: NumberInput;\n static ngAcceptInputType_borderWidth: NumberInput;\n static ngAcceptInputType_slider: BooleanInput;\n\n // #region fields\n\n @Input() title?: string | TemplateRef<void> | null;\n @Input() @InputNumber() maxAxis = 2;\n @Input() data: G2TimelineData[] = [];\n @Input() titleMap?: G2TimelineMap | null;\n @Input() colorMap: G2TimelineMap = { y1: '#5B8FF9', y2: '#5AD8A6', y3: '#5D7092', y4: '#F6BD16', y5: '#E86452' };\n @Input() mask: string = 'HH:mm';\n @Input() maskSlider: string = 'HH:mm';\n @Input() position: 'top' | 'right' | 'bottom' | 'left' = 'top';\n @Input() @InputNumber() height = 450;\n @Input() padding: number[] = [40, 8, 64, 40];\n @Input() @InputNumber() borderWidth = 2;\n @Input() @InputBoolean() slider = true;\n @Output() readonly clickItem = new EventEmitter<G2TimelineClickItem>();\n\n // #endregion\n\n onlyChangeData = (changes: SimpleChanges): boolean => {\n const tm = changes.titleMap;\n return !(tm && !tm.firstChange && tm.currentValue !== tm.previousValue);\n };\n\n install(): void {\n const { node, height, padding, slider, maxAxis, theme, maskSlider } = 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.axis('time', { title: null });\n chart.axis('y1', { title: null });\n for (let i = 2; i <= maxAxis; i++) {\n chart.axis(`y${i}`, false);\n }\n\n chart.line().position('time*y1');\n for (let i = 2; i <= maxAxis; i++) {\n chart.line().position(`time*y${i}`);\n }\n\n chart.tooltip({\n showCrosshairs: true,\n shared: true\n });\n\n const sliderPadding = { ...[], ...padding };\n sliderPadding[0] = 0;\n if (slider) {\n chart.option('slider', {\n height: 26,\n start: 0,\n end: 1,\n trendCfg: {\n isArea: false\n },\n minLimit: 2,\n formatter: (val: Date) => format(val, maskSlider)\n });\n }\n\n chart.on(`plot:click`, (ev: Event) => {\n const records = this._chart.getSnapRecords({ x: ev.x, y: ev.y });\n this.ngZone.run(() => this.clickItem.emit({ item: records[0]._origin, ev }));\n });\n\n chart.on(`legend-item:click`, (ev: Event) => {\n const item = ev?.target?.get('delegateObject').item;\n const id = item?.id;\n const line = chart.geometries.find(w => w.getAttribute('position').getFields()[1] === id);\n if (line) {\n line.changeVisible(!item.unchecked);\n }\n });\n\n this.ready.next(chart);\n\n this.changeData();\n\n chart.render();\n }\n\n changeData(): void {\n const { _chart, height, padding, mask, titleMap, position, colorMap, borderWidth, maxAxis } = this;\n let data = [...this.data];\n if (!_chart || data.length <= 0) return;\n\n const arrAxis = [...Array(maxAxis)].map((_, index) => index + 1);\n\n _chart.legend({\n position,\n custom: true,\n items: arrAxis.map(id => {\n const key = `y${id}`;\n return {\n id: key,\n name: titleMap![key],\n value: key,\n marker: { style: { fill: colorMap[key] } }\n } as Types.LegendItem;\n })\n });\n\n // border\n _chart.geometries.forEach((v, idx: number) => {\n v.color((colorMap as NzSafeAny)[`y${idx + 1}`]).size(borderWidth);\n });\n _chart.height = height;\n _chart.padding = padding;\n\n // 转换成日期类型\n data = data\n .map(item => {\n item.time = toDate(item.time!);\n item._time = +item.time;\n return item;\n })\n .sort((a, b) => a._time - b._time);\n\n const max = Math.max(...arrAxis.map(id => [...data].sort((a, b) => b[`y${id}`] - a[`y${id}`])[0][`y${id}`]));\n const scaleOptions: Record<string, Types.ScaleOption> = {};\n arrAxis.forEach(id => {\n const key = `y${id}`;\n scaleOptions[key] = {\n alias: titleMap![key],\n max,\n min: 0\n };\n });\n _chart.scale({\n time: {\n type: 'time',\n mask,\n range: [0, 1]\n },\n ...scaleOptions\n });\n\n const initialRange = {\n start: data[0]._time,\n end: data[data.length - 1]._time\n };\n const filterData = data.filter(val => val._time >= initialRange.start && val._time <= initialRange.end);\n _chart.changeData(filterData);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { G2TimelineComponent } from './timeline.component';\n\nconst COMPONENTS = [G2TimelineComponent];\n\n@NgModule({\n imports: [CommonModule, NzOutletModule, NzSkeletonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class G2TimelineModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}