@covalent/echarts 6.3.0 → 7.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 (212) hide show
  1. package/bar/bar.component.d.ts +1 -1
  2. package/base/axis/axis.component.d.ts +1 -1
  3. package/base/axis/x-axis.component.d.ts +1 -1
  4. package/base/axis/y-axis.component.d.ts +1 -1
  5. package/base/chart.component.d.ts +1 -1
  6. package/base/dataset/dataset.component.d.ts +1 -1
  7. package/base/series/series.component.d.ts +1 -1
  8. package/clustering/clustering.component.d.ts +1 -1
  9. package/esm2022/bar/bar.component.mjs +163 -0
  10. package/{esm2020 → esm2022}/bar/bar.module.mjs +5 -5
  11. package/esm2022/base/axis/axis.component.mjs +157 -0
  12. package/esm2022/base/axis/x-axis.component.mjs +56 -0
  13. package/esm2022/base/axis/y-axis.component.mjs +56 -0
  14. package/{esm2020 → esm2022}/base/base.module.mjs +11 -11
  15. package/esm2022/base/chart-options.service.mjs +63 -0
  16. package/esm2022/base/chart.component.mjs +211 -0
  17. package/esm2022/base/dataset/dataset.component.mjs +57 -0
  18. package/esm2022/base/series/series.component.mjs +106 -0
  19. package/esm2022/clustering/clustering.component.mjs +275 -0
  20. package/{esm2020 → esm2022}/clustering/clustering.module.mjs +5 -5
  21. package/esm2022/graph/graph.component.mjs +230 -0
  22. package/{esm2020 → esm2022}/graph/graph.module.mjs +5 -5
  23. package/esm2022/histogram/histogram.component.mjs +127 -0
  24. package/{esm2020 → esm2022}/histogram/histogram.module.mjs +5 -5
  25. package/esm2022/line/line.component.mjs +195 -0
  26. package/{esm2020 → esm2022}/line/line.module.mjs +5 -5
  27. package/esm2022/map/map.component.mjs +159 -0
  28. package/{esm2020 → esm2022}/map/map.module.mjs +5 -5
  29. package/esm2022/pie/pie.component.mjs +153 -0
  30. package/{esm2020 → esm2022}/pie/pie.module.mjs +5 -5
  31. package/esm2022/regression/regression.component.mjs +140 -0
  32. package/{esm2020 → esm2022}/regression/regression.module.mjs +5 -5
  33. package/esm2022/sankey/sankey.component.mjs +139 -0
  34. package/{esm2020 → esm2022}/sankey/sankey.module.mjs +5 -5
  35. package/esm2022/scatter/scatter.component.mjs +175 -0
  36. package/{esm2020 → esm2022}/scatter/scatter.module.mjs +5 -5
  37. package/esm2022/toolbox/toolbox.component.mjs +149 -0
  38. package/{esm2020 → esm2022}/toolbox/toolbox.module.mjs +7 -7
  39. package/esm2022/tooltip/series-tooltip.component.mjs +112 -0
  40. package/esm2022/tooltip/tooltip.component.mjs +168 -0
  41. package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +9 -9
  42. package/esm2022/tree/tree.component.mjs +139 -0
  43. package/{esm2020 → esm2022}/tree/tree.module.mjs +5 -5
  44. package/esm2022/treemap/treemap.component.mjs +182 -0
  45. package/{esm2020 → esm2022}/treemap/treemap.module.mjs +5 -5
  46. package/esm2022/wordcloud/wordcloud.component.mjs +106 -0
  47. package/{esm2020 → esm2022}/wordcloud/wordcloud.module.mjs +5 -5
  48. package/{fesm2015 → fesm2022}/covalent-echarts-bar.mjs +40 -12
  49. package/fesm2022/covalent-echarts-bar.mjs.map +1 -0
  50. package/{fesm2020 → fesm2022}/covalent-echarts-base.mjs +135 -69
  51. package/{fesm2015 → fesm2022}/covalent-echarts-base.mjs.map +1 -1
  52. package/{fesm2015 → fesm2022}/covalent-echarts-clustering.mjs +54 -12
  53. package/{fesm2020 → fesm2022}/covalent-echarts-clustering.mjs.map +1 -1
  54. package/{fesm2020 → fesm2022}/covalent-echarts-graph.mjs +57 -12
  55. package/{fesm2015 → fesm2022}/covalent-echarts-graph.mjs.map +1 -1
  56. package/{fesm2020 → fesm2022}/covalent-echarts-histogram.mjs +14 -12
  57. package/{fesm2020 → fesm2022}/covalent-echarts-histogram.mjs.map +1 -1
  58. package/{fesm2020 → fesm2022}/covalent-echarts-line.mjs +48 -12
  59. package/fesm2022/covalent-echarts-line.mjs.map +1 -0
  60. package/{fesm2015 → fesm2022}/covalent-echarts-map.mjs +39 -12
  61. package/{fesm2020 → fesm2022}/covalent-echarts-map.mjs.map +1 -1
  62. package/{fesm2020 → fesm2022}/covalent-echarts-pie.mjs +38 -12
  63. package/fesm2022/covalent-echarts-pie.mjs.map +1 -0
  64. package/{fesm2020 → fesm2022}/covalent-echarts-regression.mjs +15 -12
  65. package/fesm2022/covalent-echarts-regression.mjs.map +1 -0
  66. package/{fesm2015 → fesm2022}/covalent-echarts-sankey.mjs +34 -12
  67. package/fesm2022/covalent-echarts-sankey.mjs.map +1 -0
  68. package/{fesm2015 → fesm2022}/covalent-echarts-scatter.mjs +43 -12
  69. package/fesm2022/covalent-echarts-scatter.mjs.map +1 -0
  70. package/{fesm2020 → fesm2022}/covalent-echarts-toolbox.mjs +37 -23
  71. package/{fesm2020 → fesm2022}/covalent-echarts-toolbox.mjs.map +1 -1
  72. package/{fesm2020 → fesm2022}/covalent-echarts-tooltip.mjs +69 -47
  73. package/{fesm2015 → fesm2022}/covalent-echarts-tooltip.mjs.map +1 -1
  74. package/{fesm2020 → fesm2022}/covalent-echarts-tree.mjs +34 -12
  75. package/{fesm2015 → fesm2022}/covalent-echarts-tree.mjs.map +1 -1
  76. package/{fesm2020 → fesm2022}/covalent-echarts-treemap.mjs +46 -13
  77. package/fesm2022/covalent-echarts-treemap.mjs.map +1 -0
  78. package/{fesm2020 → fesm2022}/covalent-echarts-wordcloud.mjs +26 -12
  79. package/fesm2022/covalent-echarts-wordcloud.mjs.map +1 -0
  80. package/graph/graph.component.d.ts +1 -1
  81. package/histogram/histogram.component.d.ts +1 -1
  82. package/line/line.component.d.ts +1 -1
  83. package/map/map.component.d.ts +1 -1
  84. package/package.json +57 -96
  85. package/pie/pie.component.d.ts +1 -1
  86. package/regression/regression.component.d.ts +1 -1
  87. package/sankey/sankey.component.d.ts +1 -1
  88. package/scatter/scatter.component.d.ts +1 -1
  89. package/toolbox/toolbox.component.d.ts +1 -1
  90. package/tooltip/series-tooltip.component.d.ts +1 -1
  91. package/tooltip/tooltip.component.d.ts +1 -1
  92. package/tree/tree.component.d.ts +1 -1
  93. package/treemap/treemap.component.d.ts +2 -2
  94. package/wordcloud/wordcloud.component.d.ts +1 -1
  95. package/base/src/axis/README.md +0 -58
  96. package/base/src/dataset/README.md +0 -80
  97. package/esm2020/bar/bar.component.mjs +0 -135
  98. package/esm2020/base/axis/axis.component.mjs +0 -127
  99. package/esm2020/base/axis/x-axis.component.mjs +0 -55
  100. package/esm2020/base/axis/y-axis.component.mjs +0 -55
  101. package/esm2020/base/chart-options.service.mjs +0 -65
  102. package/esm2020/base/chart.component.mjs +0 -195
  103. package/esm2020/base/dataset/dataset.component.mjs +0 -52
  104. package/esm2020/base/series/series.component.mjs +0 -91
  105. package/esm2020/clustering/clustering.component.mjs +0 -233
  106. package/esm2020/graph/graph.component.mjs +0 -185
  107. package/esm2020/histogram/histogram.component.mjs +0 -125
  108. package/esm2020/line/line.component.mjs +0 -159
  109. package/esm2020/map/map.component.mjs +0 -132
  110. package/esm2020/pie/pie.component.mjs +0 -127
  111. package/esm2020/regression/regression.component.mjs +0 -137
  112. package/esm2020/sankey/sankey.component.mjs +0 -117
  113. package/esm2020/scatter/scatter.component.mjs +0 -144
  114. package/esm2020/toolbox/toolbox.component.mjs +0 -135
  115. package/esm2020/tooltip/series-tooltip.component.mjs +0 -102
  116. package/esm2020/tooltip/tooltip.component.mjs +0 -156
  117. package/esm2020/tree/tree.component.mjs +0 -117
  118. package/esm2020/treemap/treemap.component.mjs +0 -149
  119. package/esm2020/wordcloud/wordcloud.component.mjs +0 -92
  120. package/fesm2015/covalent-echarts-bar.mjs.map +0 -1
  121. package/fesm2015/covalent-echarts-base.mjs +0 -4931
  122. package/fesm2015/covalent-echarts-clustering.mjs.map +0 -1
  123. package/fesm2015/covalent-echarts-graph.mjs +0 -210
  124. package/fesm2015/covalent-echarts-histogram.mjs +0 -151
  125. package/fesm2015/covalent-echarts-histogram.mjs.map +0 -1
  126. package/fesm2015/covalent-echarts-line.mjs +0 -182
  127. package/fesm2015/covalent-echarts-line.mjs.map +0 -1
  128. package/fesm2015/covalent-echarts-map.mjs.map +0 -1
  129. package/fesm2015/covalent-echarts-pie.mjs +0 -150
  130. package/fesm2015/covalent-echarts-pie.mjs.map +0 -1
  131. package/fesm2015/covalent-echarts-regression.mjs +0 -163
  132. package/fesm2015/covalent-echarts-regression.mjs.map +0 -1
  133. package/fesm2015/covalent-echarts-sankey.mjs.map +0 -1
  134. package/fesm2015/covalent-echarts-scatter.mjs.map +0 -1
  135. package/fesm2015/covalent-echarts-toolbox.mjs +0 -158
  136. package/fesm2015/covalent-echarts-toolbox.mjs.map +0 -1
  137. package/fesm2015/covalent-echarts-tooltip.mjs +0 -283
  138. package/fesm2015/covalent-echarts-tree.mjs +0 -140
  139. package/fesm2015/covalent-echarts-treemap.mjs +0 -174
  140. package/fesm2015/covalent-echarts-treemap.mjs.map +0 -1
  141. package/fesm2015/covalent-echarts-wordcloud.mjs +0 -117
  142. package/fesm2015/covalent-echarts-wordcloud.mjs.map +0 -1
  143. package/fesm2020/covalent-echarts-bar.mjs +0 -158
  144. package/fesm2020/covalent-echarts-bar.mjs.map +0 -1
  145. package/fesm2020/covalent-echarts-base.mjs.map +0 -1
  146. package/fesm2020/covalent-echarts-clustering.mjs +0 -258
  147. package/fesm2020/covalent-echarts-graph.mjs.map +0 -1
  148. package/fesm2020/covalent-echarts-line.mjs.map +0 -1
  149. package/fesm2020/covalent-echarts-map.mjs +0 -155
  150. package/fesm2020/covalent-echarts-pie.mjs.map +0 -1
  151. package/fesm2020/covalent-echarts-regression.mjs.map +0 -1
  152. package/fesm2020/covalent-echarts-sankey.mjs +0 -142
  153. package/fesm2020/covalent-echarts-sankey.mjs.map +0 -1
  154. package/fesm2020/covalent-echarts-scatter.mjs +0 -169
  155. package/fesm2020/covalent-echarts-scatter.mjs.map +0 -1
  156. package/fesm2020/covalent-echarts-tooltip.mjs.map +0 -1
  157. package/fesm2020/covalent-echarts-tree.mjs.map +0 -1
  158. package/fesm2020/covalent-echarts-treemap.mjs.map +0 -1
  159. package/fesm2020/covalent-echarts-wordcloud.mjs.map +0 -1
  160. package/fesm2020/covalent-echarts.mjs +0 -4
  161. package/fesm2020/covalent-echarts.mjs.map +0 -1
  162. /package/{esm2020 → esm2022}/bar/covalent-echarts-bar.mjs +0 -0
  163. /package/{esm2020 → esm2022}/bar/public_api.mjs +0 -0
  164. /package/{esm2020 → esm2022}/base/axis/axis.interface.mjs +0 -0
  165. /package/{esm2020 → esm2022}/base/base.types.mjs +0 -0
  166. /package/{esm2020 → esm2022}/base/covalent-echarts-base.mjs +0 -0
  167. /package/{esm2020 → esm2022}/base/public_api.mjs +0 -0
  168. /package/{esm2020 → esm2022}/base/series/series.interface.mjs +0 -0
  169. /package/{esm2020 → esm2022}/base/themes/aqua-splash.mjs +0 -0
  170. /package/{esm2020 → esm2022}/base/themes/california-coast.mjs +0 -0
  171. /package/{esm2020 → esm2022}/base/themes/hawaiian-sunrise.mjs +0 -0
  172. /package/{esm2020 → esm2022}/base/themes/passion-flower.mjs +0 -0
  173. /package/{esm2020 → esm2022}/base/themes/razzleberry-pie.mjs +0 -0
  174. /package/{esm2020 → esm2022}/base/themes/teradata-classic.mjs +0 -0
  175. /package/{esm2020 → esm2022}/base/themes/teradata-default.mjs +0 -0
  176. /package/{esm2020 → esm2022}/base/themes/urban-sunrise.mjs +0 -0
  177. /package/{esm2020 → esm2022}/base/themes/volcanic-eruption.mjs +0 -0
  178. /package/{esm2020 → esm2022}/base/utils/assign-defined.mjs +0 -0
  179. /package/{esm2020 → esm2022}/base/utils/echarts.mjs +0 -0
  180. /package/{esm2020 → esm2022}/base/utils/index.mjs +0 -0
  181. /package/{esm2020 → esm2022}/clustering/covalent-echarts-clustering.mjs +0 -0
  182. /package/{esm2020 → esm2022}/clustering/public_api.mjs +0 -0
  183. /package/{esm2020 → esm2022}/covalent-echarts.mjs +0 -0
  184. /package/{esm2020 → esm2022}/graph/covalent-echarts-graph.mjs +0 -0
  185. /package/{esm2020 → esm2022}/graph/public_api.mjs +0 -0
  186. /package/{esm2020 → esm2022}/histogram/covalent-echarts-histogram.mjs +0 -0
  187. /package/{esm2020 → esm2022}/histogram/public_api.mjs +0 -0
  188. /package/{esm2020 → esm2022}/line/covalent-echarts-line.mjs +0 -0
  189. /package/{esm2020 → esm2022}/line/public_api.mjs +0 -0
  190. /package/{esm2020 → esm2022}/map/covalent-echarts-map.mjs +0 -0
  191. /package/{esm2020 → esm2022}/map/public_api.mjs +0 -0
  192. /package/{esm2020 → esm2022}/pie/covalent-echarts-pie.mjs +0 -0
  193. /package/{esm2020 → esm2022}/pie/public_api.mjs +0 -0
  194. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
  195. /package/{esm2020 → esm2022}/regression/covalent-echarts-regression.mjs +0 -0
  196. /package/{esm2020 → esm2022}/regression/public_api.mjs +0 -0
  197. /package/{esm2020 → esm2022}/sankey/covalent-echarts-sankey.mjs +0 -0
  198. /package/{esm2020 → esm2022}/sankey/public_api.mjs +0 -0
  199. /package/{esm2020 → esm2022}/scatter/covalent-echarts-scatter.mjs +0 -0
  200. /package/{esm2020 → esm2022}/scatter/public_api.mjs +0 -0
  201. /package/{esm2020 → esm2022}/toolbox/covalent-echarts-toolbox.mjs +0 -0
  202. /package/{esm2020 → esm2022}/toolbox/public_api.mjs +0 -0
  203. /package/{esm2020 → esm2022}/tooltip/covalent-echarts-tooltip.mjs +0 -0
  204. /package/{esm2020 → esm2022}/tooltip/public_api.mjs +0 -0
  205. /package/{esm2020 → esm2022}/tree/covalent-echarts-tree.mjs +0 -0
  206. /package/{esm2020 → esm2022}/tree/public_api.mjs +0 -0
  207. /package/{esm2020 → esm2022}/treemap/covalent-echarts-treemap.mjs +0 -0
  208. /package/{esm2020 → esm2022}/treemap/public_api.mjs +0 -0
  209. /package/{esm2020 → esm2022}/wordcloud/covalent-echarts-wordcloud.mjs +0 -0
  210. /package/{esm2020 → esm2022}/wordcloud/public_api.mjs +0 -0
  211. /package/{fesm2015 → fesm2022}/covalent-echarts.mjs +0 -0
  212. /package/{fesm2015 → fesm2022}/covalent-echarts.mjs.map +0 -0
@@ -0,0 +1,56 @@
1
+ import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
2
+ import { TdChartOptionsService } from '../chart-options.service';
3
+ import { TdChartAxisDirective } from './axis.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../chart-options.service";
6
+ export class TdChartYAxisComponent extends TdChartAxisDirective {
7
+ position;
8
+ constructor(_optionsService) {
9
+ super('yAxis', _optionsService);
10
+ }
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdChartYAxisComponent, deps: [{ token: i1.TdChartOptionsService }], target: i0.ɵɵFactoryTarget.Component });
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TdChartYAxisComponent, selector: "td-chart-y-axis", inputs: { config: "config", id: "id", show: "show", gridIndex: "gridIndex", offset: "offset", type: "type", name: "name", nameLocation: "nameLocation", nameTextStyle: "nameTextStyle", nameGap: "nameGap", nameRotate: "nameRotate", inverse: "inverse", boundaryGap: "boundaryGap", min: "min", max: "max", scale: "scale", minInterval: "minInterval", interval: "interval", logBase: "logBase", silent: "silent", triggerEvent: "triggerEvent", axisLine: "axisLine", axisTick: "axisTick", axisLabel: "axisLabel", splitLine: "splitLine", splitArea: "splitArea", data: "data", axisPointer: "axisPointer", zlevel: "zlevel", z: "z", position: "position" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdChartYAxisComponent, decorators: [{
15
+ type: Component,
16
+ args: [{
17
+ selector: 'td-chart-y-axis',
18
+ template: '',
19
+ inputs: [
20
+ 'config',
21
+ 'id',
22
+ 'show',
23
+ 'gridIndex',
24
+ 'offset',
25
+ 'type',
26
+ 'name',
27
+ 'nameLocation',
28
+ 'nameTextStyle',
29
+ 'nameGap',
30
+ 'nameRotate',
31
+ 'inverse',
32
+ 'boundaryGap',
33
+ 'min',
34
+ 'max',
35
+ 'scale',
36
+ 'minInterval',
37
+ 'interval',
38
+ 'logBase',
39
+ 'silent',
40
+ 'triggerEvent',
41
+ 'axisLine',
42
+ 'axisTick',
43
+ 'axisLabel',
44
+ 'splitLine',
45
+ 'splitArea',
46
+ 'data',
47
+ 'axisPointer',
48
+ 'zlevel',
49
+ 'z',
50
+ ],
51
+ changeDetection: ChangeDetectionStrategy.OnPush,
52
+ }]
53
+ }], ctorParameters: function () { return [{ type: i1.TdChartOptionsService }]; }, propDecorators: { position: [{
54
+ type: Input
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1heGlzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1lY2hhcnRzL2Jhc2Uvc3JjL2F4aXMveS1heGlzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBdUN4RCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsb0JBQW9CO0lBQ3BELFFBQVEsQ0FBbUI7SUFFcEMsWUFBWSxlQUFzQztRQUNoRCxLQUFLLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7dUdBTFUscUJBQXFCOzJGQUFyQixxQkFBcUIsa3RCQW5DdEIsRUFBRTs7MkZBbUNELHFCQUFxQjtrQkFyQ2pDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osTUFBTSxFQUFFO3dCQUNOLFFBQVE7d0JBQ1IsSUFBSTt3QkFDSixNQUFNO3dCQUNOLFdBQVc7d0JBQ1gsUUFBUTt3QkFDUixNQUFNO3dCQUNOLE1BQU07d0JBQ04sY0FBYzt3QkFDZCxlQUFlO3dCQUNmLFNBQVM7d0JBQ1QsWUFBWTt3QkFDWixTQUFTO3dCQUNULGFBQWE7d0JBQ2IsS0FBSzt3QkFDTCxLQUFLO3dCQUNMLE9BQU87d0JBQ1AsYUFBYTt3QkFDYixVQUFVO3dCQUNWLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixjQUFjO3dCQUNkLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxNQUFNO3dCQUNOLGFBQWE7d0JBQ2IsUUFBUTt3QkFDUixHQUFHO3FCQUNKO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs0R0FFVSxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGRDaGFydE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhcnQtb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFRkWUF4aXNQb3NpdGlvbiB9IGZyb20gJy4vYXhpcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGRDaGFydEF4aXNEaXJlY3RpdmUgfSBmcm9tICcuL2F4aXMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtY2hhcnQteS1heGlzJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBpbnB1dHM6IFtcbiAgICAnY29uZmlnJyxcbiAgICAnaWQnLFxuICAgICdzaG93JyxcbiAgICAnZ3JpZEluZGV4JyxcbiAgICAnb2Zmc2V0JyxcbiAgICAndHlwZScsXG4gICAgJ25hbWUnLFxuICAgICduYW1lTG9jYXRpb24nLFxuICAgICduYW1lVGV4dFN0eWxlJyxcbiAgICAnbmFtZUdhcCcsXG4gICAgJ25hbWVSb3RhdGUnLFxuICAgICdpbnZlcnNlJyxcbiAgICAnYm91bmRhcnlHYXAnLFxuICAgICdtaW4nLFxuICAgICdtYXgnLFxuICAgICdzY2FsZScsXG4gICAgJ21pbkludGVydmFsJyxcbiAgICAnaW50ZXJ2YWwnLFxuICAgICdsb2dCYXNlJyxcbiAgICAnc2lsZW50JyxcbiAgICAndHJpZ2dlckV2ZW50JyxcbiAgICAnYXhpc0xpbmUnLFxuICAgICdheGlzVGljaycsXG4gICAgJ2F4aXNMYWJlbCcsXG4gICAgJ3NwbGl0TGluZScsXG4gICAgJ3NwbGl0QXJlYScsXG4gICAgJ2RhdGEnLFxuICAgICdheGlzUG9pbnRlcicsXG4gICAgJ3psZXZlbCcsXG4gICAgJ3onLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGRDaGFydFlBeGlzQ29tcG9uZW50IGV4dGVuZHMgVGRDaGFydEF4aXNEaXJlY3RpdmUge1xuICBASW5wdXQoKSBwb3NpdGlvbiE6IFRkWUF4aXNQb3NpdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihfb3B0aW9uc1NlcnZpY2U6IFRkQ2hhcnRPcHRpb25zU2VydmljZSkge1xuICAgIHN1cGVyKCd5QXhpcycsIF9vcHRpb25zU2VydmljZSk7XG4gIH1cbn1cbiJdfQ==
@@ -14,17 +14,17 @@ export const BASE_MODULE_COMPONENTS = [
14
14
  ];
15
15
  registerDefaultThemes();
16
16
  export class CovalentBaseEchartsModule {
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentBaseEchartsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: CovalentBaseEchartsModule, declarations: [TdChartComponent,
19
+ TdChartXAxisComponent,
20
+ TdChartYAxisComponent,
21
+ TdDatasetComponent], imports: [CommonModule], exports: [TdChartComponent,
22
+ TdChartXAxisComponent,
23
+ TdChartYAxisComponent,
24
+ TdDatasetComponent] });
25
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentBaseEchartsModule, imports: [CommonModule] });
17
26
  }
18
- CovalentBaseEchartsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CovalentBaseEchartsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- CovalentBaseEchartsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: CovalentBaseEchartsModule, declarations: [TdChartComponent,
20
- TdChartXAxisComponent,
21
- TdChartYAxisComponent,
22
- TdDatasetComponent], imports: [CommonModule], exports: [TdChartComponent,
23
- TdChartXAxisComponent,
24
- TdChartYAxisComponent,
25
- TdDatasetComponent] });
26
- CovalentBaseEchartsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CovalentBaseEchartsModule, imports: [CommonModule] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: CovalentBaseEchartsModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CovalentBaseEchartsModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  imports: [CommonModule],
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
32
32
  exports: [BASE_MODULE_COMPONENTS],
33
33
  }]
34
34
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItZWNoYXJ0cy9iYXNlL3NyYy9iYXNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRWhELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFnQjtJQUNqRCxnQkFBZ0I7SUFDaEIscUJBQXFCO0lBQ3JCLHFCQUFxQjtJQUNyQixrQkFBa0I7Q0FDbkIsQ0FBQztBQUVGLHFCQUFxQixFQUFFLENBQUM7QUFPeEIsTUFBTSxPQUFPLHlCQUF5Qjs7c0hBQXpCLHlCQUF5Qjt1SEFBekIseUJBQXlCLGlCQWJwQyxnQkFBZ0I7UUFDaEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixrQkFBa0IsYUFNUixZQUFZLGFBVHRCLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLGtCQUFrQjt1SEFVUCx5QkFBeUIsWUFKMUIsWUFBWTsyRkFJWCx5QkFBeUI7a0JBTHJDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IFRkQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuL2NoYXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZENoYXJ0WEF4aXNDb21wb25lbnQgfSBmcm9tICcuL2F4aXMveC1heGlzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZENoYXJ0WUF4aXNDb21wb25lbnQgfSBmcm9tICcuL2F4aXMveS1heGlzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZERhdGFzZXRDb21wb25lbnQgfSBmcm9tICcuL2RhdGFzZXQvZGF0YXNldC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyByZWdpc3RlckRlZmF1bHRUaGVtZXMgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IEJBU0VfTU9EVUxFX0NPTVBPTkVOVFM6IFR5cGU8YW55PltdID0gW1xuICBUZENoYXJ0Q29tcG9uZW50LFxuICBUZENoYXJ0WEF4aXNDb21wb25lbnQsXG4gIFRkQ2hhcnRZQXhpc0NvbXBvbmVudCxcbiAgVGREYXRhc2V0Q29tcG9uZW50LFxuXTtcblxucmVnaXN0ZXJEZWZhdWx0VGhlbWVzKCk7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtCQVNFX01PRFVMRV9DT01QT05FTlRTXSxcbiAgZXhwb3J0czogW0JBU0VfTU9EVUxFX0NPTVBPTkVOVFNdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudEJhc2VFY2hhcnRzTW9kdWxlIHt9XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItZWNoYXJ0cy9iYXNlL3NyYy9iYXNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRWhELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFnQjtJQUNqRCxnQkFBZ0I7SUFDaEIscUJBQXFCO0lBQ3JCLHFCQUFxQjtJQUNyQixrQkFBa0I7Q0FDbkIsQ0FBQztBQUVGLHFCQUFxQixFQUFFLENBQUM7QUFPeEIsTUFBTSxPQUFPLHlCQUF5Qjt1R0FBekIseUJBQXlCO3dHQUF6Qix5QkFBeUIsaUJBYnBDLGdCQUFnQjtZQUNoQixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLGtCQUFrQixhQU1SLFlBQVksYUFUdEIsZ0JBQWdCO1lBQ2hCLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsa0JBQWtCO3dHQVVQLHlCQUF5QixZQUoxQixZQUFZOzsyRkFJWCx5QkFBeUI7a0JBTHJDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IFRkQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuL2NoYXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZENoYXJ0WEF4aXNDb21wb25lbnQgfSBmcm9tICcuL2F4aXMveC1heGlzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZENoYXJ0WUF4aXNDb21wb25lbnQgfSBmcm9tICcuL2F4aXMveS1heGlzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZERhdGFzZXRDb21wb25lbnQgfSBmcm9tICcuL2RhdGFzZXQvZGF0YXNldC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyByZWdpc3RlckRlZmF1bHRUaGVtZXMgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IEJBU0VfTU9EVUxFX0NPTVBPTkVOVFM6IFR5cGU8YW55PltdID0gW1xuICBUZENoYXJ0Q29tcG9uZW50LFxuICBUZENoYXJ0WEF4aXNDb21wb25lbnQsXG4gIFRkQ2hhcnRZQXhpc0NvbXBvbmVudCxcbiAgVGREYXRhc2V0Q29tcG9uZW50LFxuXTtcblxucmVnaXN0ZXJEZWZhdWx0VGhlbWVzKCk7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtCQVNFX01PRFVMRV9DT01QT05FTlRTXSxcbiAgZXhwb3J0czogW0JBU0VfTU9EVUxFX0NPTVBPTkVOVFNdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudEJhc2VFY2hhcnRzTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,63 @@
1
+ import { Injectable, Optional, SkipSelf } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class TdChartOptionsService {
5
+ _options = {};
6
+ _optionsSubject = new BehaviorSubject(this._options);
7
+ setOption(option, value) {
8
+ const options = {};
9
+ options[option] = value;
10
+ Object.assign(this._options, options);
11
+ this._optionsSubject.next(this._options);
12
+ }
13
+ setArrayOption(option, value) {
14
+ let prevValue = this.getOption(option);
15
+ if (prevValue) {
16
+ const index = prevValue.indexOf(value);
17
+ index > -1 ? (prevValue[index] = value) : prevValue.push(value);
18
+ }
19
+ else {
20
+ prevValue = [value];
21
+ }
22
+ this.setOption(option, prevValue);
23
+ }
24
+ removeArrayOption(option, value) {
25
+ let prevValue = this.getOption(option);
26
+ if (prevValue) {
27
+ const index = prevValue.indexOf(value);
28
+ if (index > -1) {
29
+ /* tslint:disable-next-line */
30
+ prevValue[index] = null;
31
+ }
32
+ else {
33
+ prevValue = [];
34
+ }
35
+ }
36
+ this.setOption(option, prevValue);
37
+ }
38
+ getOption(option) {
39
+ return this._options[option];
40
+ }
41
+ clearOption(option) {
42
+ /* tslint:disable-next-line */
43
+ this.setOption(option, null);
44
+ }
45
+ listen() {
46
+ return this._optionsSubject.asObservable();
47
+ }
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdChartOptionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
49
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdChartOptionsService });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdChartOptionsService, decorators: [{
52
+ type: Injectable
53
+ }] });
54
+ export function CHART_PROVIDER_FACTORY(parent) {
55
+ return parent || new TdChartOptionsService();
56
+ }
57
+ export const CHART_PROVIDER = {
58
+ // If there is already a service available, use that. Otherwise, provide a new one.
59
+ provide: TdChartOptionsService,
60
+ deps: [[new Optional(), new SkipSelf(), TdChartOptionsService]],
61
+ useFactory: CHART_PROVIDER_FACTORY,
62
+ };
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtb3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWVjaGFydHMvYmFzZS9zcmMvY2hhcnQtb3B0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RSxPQUFPLEVBQXVCLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHNUQsTUFBTSxPQUFPLHFCQUFxQjtJQUN4QixRQUFRLEdBQVEsRUFBRSxDQUFDO0lBQ25CLGVBQWUsR0FBaUIsSUFBSSxlQUFlLENBQ3pELElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztJQUVGLFNBQVMsQ0FBQyxNQUFjLEVBQUUsS0FBVTtRQUNsQyxNQUFNLE9BQU8sR0FBUSxFQUFFLENBQUM7UUFDeEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN4QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBYyxFQUFFLEtBQVU7UUFDdkMsSUFBSSxTQUFTLEdBQVUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxJQUFJLFNBQVMsRUFBRTtZQUNiLE1BQU0sS0FBSyxHQUFXLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0MsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqRTthQUFNO1lBQ0wsU0FBUyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckI7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBYyxFQUFFLEtBQVU7UUFDMUMsSUFBSSxTQUFTLEdBQVUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxJQUFJLFNBQVMsRUFBRTtZQUNiLE1BQU0sS0FBSyxHQUFXLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0MsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QsOEJBQThCO2dCQUM5QixTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNMLFNBQVMsR0FBRyxFQUFFLENBQUM7YUFDaEI7U0FDRjtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjO1FBQ3hCLDhCQUE4QjtRQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDO3VHQWpEVSxxQkFBcUI7MkdBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVTs7QUFxRFgsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxNQUE2QjtJQUU3QixPQUFPLE1BQU0sSUFBSSxJQUFJLHFCQUFxQixFQUFFLENBQUM7QUFDL0MsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBYTtJQUN0QyxtRkFBbUY7SUFDbkYsT0FBTyxFQUFFLHFCQUFxQjtJQUM5QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQy9ELFVBQVUsRUFBRSxzQkFBc0I7Q0FDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFByb3ZpZGVyLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZENoYXJ0T3B0aW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIF9vcHRpb25zOiBhbnkgPSB7fTtcbiAgcHJpdmF0ZSBfb3B0aW9uc1N1YmplY3Q6IFN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihcbiAgICB0aGlzLl9vcHRpb25zXG4gICk7XG5cbiAgc2V0T3B0aW9uKG9wdGlvbjogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9uczogYW55ID0ge307XG4gICAgb3B0aW9uc1tvcHRpb25dID0gdmFsdWU7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLl9vcHRpb25zLCBvcHRpb25zKTtcbiAgICB0aGlzLl9vcHRpb25zU3ViamVjdC5uZXh0KHRoaXMuX29wdGlvbnMpO1xuICB9XG5cbiAgc2V0QXJyYXlPcHRpb24ob3B0aW9uOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGxldCBwcmV2VmFsdWU6IGFueVtdID0gdGhpcy5nZXRPcHRpb24ob3B0aW9uKTtcbiAgICBpZiAocHJldlZhbHVlKSB7XG4gICAgICBjb25zdCBpbmRleDogbnVtYmVyID0gcHJldlZhbHVlLmluZGV4T2YodmFsdWUpO1xuICAgICAgaW5kZXggPiAtMSA/IChwcmV2VmFsdWVbaW5kZXhdID0gdmFsdWUpIDogcHJldlZhbHVlLnB1c2godmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwcmV2VmFsdWUgPSBbdmFsdWVdO1xuICAgIH1cbiAgICB0aGlzLnNldE9wdGlvbihvcHRpb24sIHByZXZWYWx1ZSk7XG4gIH1cblxuICByZW1vdmVBcnJheU9wdGlvbihvcHRpb246IHN0cmluZywgdmFsdWU6IGFueSk6IGFueSB7XG4gICAgbGV0IHByZXZWYWx1ZTogYW55W10gPSB0aGlzLmdldE9wdGlvbihvcHRpb24pO1xuICAgIGlmIChwcmV2VmFsdWUpIHtcbiAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBwcmV2VmFsdWUuaW5kZXhPZih2YWx1ZSk7XG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICAgcHJldlZhbHVlW2luZGV4XSA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcmV2VmFsdWUgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZXRPcHRpb24ob3B0aW9uLCBwcmV2VmFsdWUpO1xuICB9XG5cbiAgZ2V0T3B0aW9uKG9wdGlvbjogc3RyaW5nKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLl9vcHRpb25zW29wdGlvbl07XG4gIH1cblxuICBjbGVhck9wdGlvbihvcHRpb246IHN0cmluZyk6IHZvaWQge1xuICAgIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSAqL1xuICAgIHRoaXMuc2V0T3B0aW9uKG9wdGlvbiwgbnVsbCk7XG4gIH1cblxuICBsaXN0ZW4oKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9uc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENIQVJUX1BST1ZJREVSX0ZBQ1RPUlkoXG4gIHBhcmVudDogVGRDaGFydE9wdGlvbnNTZXJ2aWNlXG4pOiBUZENoYXJ0T3B0aW9uc1NlcnZpY2Uge1xuICByZXR1cm4gcGFyZW50IHx8IG5ldyBUZENoYXJ0T3B0aW9uc1NlcnZpY2UoKTtcbn1cblxuZXhwb3J0IGNvbnN0IENIQVJUX1BST1ZJREVSOiBQcm92aWRlciA9IHtcbiAgLy8gSWYgdGhlcmUgaXMgYWxyZWFkeSBhIHNlcnZpY2UgYXZhaWxhYmxlLCB1c2UgdGhhdC4gT3RoZXJ3aXNlLCBwcm92aWRlIGEgbmV3IG9uZS5cbiAgcHJvdmlkZTogVGRDaGFydE9wdGlvbnNTZXJ2aWNlLFxuICBkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgVGRDaGFydE9wdGlvbnNTZXJ2aWNlXV0sXG4gIHVzZUZhY3Rvcnk6IENIQVJUX1BST1ZJREVSX0ZBQ1RPUlksXG59O1xuIl19
@@ -0,0 +1,211 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, } from '@angular/core';
2
+ import { Subject, fromEvent, merge, timer } from 'rxjs';
3
+ import { debounceTime, distinctUntilChanged, takeUntil, tap, } from 'rxjs/operators';
4
+ import { TdChartOptionsService, CHART_PROVIDER } from './chart-options.service';
5
+ import { assignDefined } from './utils';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./chart-options.service";
8
+ export class TdChartComponent {
9
+ _changeDetectorRef;
10
+ _elementRef;
11
+ _optionsService;
12
+ _destroy = new Subject();
13
+ _widthSubject = new Subject();
14
+ _heightSubject = new Subject();
15
+ _instance;
16
+ /**
17
+ * returns the echarts instance
18
+ */
19
+ get instance() {
20
+ return this._instance;
21
+ }
22
+ _state = {};
23
+ _options = {};
24
+ /**
25
+ * config?: any;
26
+ * Sets the JS config object if you choose to not use the property inputs.
27
+ * Note: [config] input properties will override input values
28
+ * https://ecomfe.github.io/echarts-doc/public/en/option.html
29
+ */
30
+ config = {};
31
+ /**
32
+ * group?: string
33
+ * group name in which the chart instance will be connected to
34
+ * https://ecomfe.github.io/echarts-doc/public/en/api.html#echarts.connect
35
+ */
36
+ group;
37
+ /**
38
+ * themeName?: string
39
+ * theme to be applied into chart instance
40
+ * https://ecomfe.github.io/echarts-doc/public/en/tutorial.html#Overview%20of%20Style%20Customization
41
+ */
42
+ themeName;
43
+ /**
44
+ * renderer: 'svg' | 'canvas'
45
+ * sets the rendering mode for the chart.
46
+ * defaults to 'canvas'
47
+ * https://ecomfe.github.io/echarts-doc/public/en/tutorial.html#Render%20by%20Canvas%20or%20SVG
48
+ */
49
+ renderer = 'canvas';
50
+ chartClick = new EventEmitter();
51
+ chartDblclick = new EventEmitter();
52
+ chartContextmenu = new EventEmitter();
53
+ magicTypeChanged = new EventEmitter();
54
+ dataViewChanged = new EventEmitter();
55
+ datazoom = new EventEmitter();
56
+ restore = new EventEmitter();
57
+ constructor(_changeDetectorRef, _elementRef, _optionsService) {
58
+ this._changeDetectorRef = _changeDetectorRef;
59
+ this._elementRef = _elementRef;
60
+ this._optionsService = _optionsService;
61
+ }
62
+ ngAfterViewInit() {
63
+ this._initializeChart();
64
+ }
65
+ ngOnChanges(changes) {
66
+ if (this._instance) {
67
+ // destroy and reinitialize chart only when `renderer`, `themeName` and `group` changes
68
+ if (changes['renderer'] || changes['themeName'] || changes['group']) {
69
+ this._disposeChart();
70
+ this._initializeChart();
71
+ }
72
+ else {
73
+ this.render();
74
+ }
75
+ }
76
+ }
77
+ ngOnDestroy() {
78
+ this._disposeChart();
79
+ this._destroy.unsubscribe();
80
+ }
81
+ render() {
82
+ if (this._instance) {
83
+ this._instance.setOption(assignDefined(this._state, {
84
+ grid: {
85
+ show: true,
86
+ left: '20',
87
+ right: '20',
88
+ bottom: (this.config.toolbox &&
89
+ typeof this.config.toolbox.bottom === 'number') ||
90
+ (this._options.toolbox &&
91
+ typeof this._options.toolbox.bottom === 'number')
92
+ ? '40'
93
+ : '10',
94
+ top: (this.config.toolbox &&
95
+ typeof this.config.toolbox.top === 'number') ||
96
+ (this._options.toolbox &&
97
+ typeof this._options.toolbox.top === 'number')
98
+ ? '40'
99
+ : '10',
100
+ containLabel: true,
101
+ },
102
+ }, this._options, this.config ? this.config : {}), true);
103
+ this._changeDetectorRef.markForCheck();
104
+ }
105
+ }
106
+ _initializeChart() {
107
+ this._instance = echarts.init(this._elementRef.nativeElement, this.themeName ?? '', {
108
+ renderer: this.renderer,
109
+ });
110
+ fromEvent(this._instance, 'click')
111
+ .pipe(takeUntil(this._destroy))
112
+ .subscribe((params) => {
113
+ this.chartClick.next(params);
114
+ });
115
+ fromEvent(this._instance, 'dblclick')
116
+ .pipe(takeUntil(this._destroy))
117
+ .subscribe((params) => {
118
+ this.chartDblclick.next(params);
119
+ });
120
+ fromEvent(this._instance, 'contextmenu')
121
+ .pipe(takeUntil(this._destroy))
122
+ .subscribe((params) => {
123
+ this.chartContextmenu.next(params);
124
+ });
125
+ fromEvent(this._instance, 'magictypechanged')
126
+ .pipe(takeUntil(this._destroy))
127
+ .subscribe((params) => {
128
+ this.magicTypeChanged.next(params);
129
+ });
130
+ fromEvent(this._instance, 'dataviewchanged')
131
+ .pipe(takeUntil(this._destroy))
132
+ .subscribe((params) => {
133
+ this.dataViewChanged.next(params);
134
+ });
135
+ fromEvent(this._instance, 'datazoom')
136
+ .pipe(takeUntil(this._destroy))
137
+ .subscribe((params) => {
138
+ this.datazoom.next(params);
139
+ });
140
+ fromEvent(this._instance, 'restore')
141
+ .pipe(takeUntil(this._destroy))
142
+ .subscribe((params) => {
143
+ this.restore.next(params);
144
+ });
145
+ if (this.group) {
146
+ this._instance.group = this.group;
147
+ echarts.connect(this.group);
148
+ this._changeDetectorRef.markForCheck();
149
+ }
150
+ merge(fromEvent(window, 'resize').pipe(debounceTime(100)), this._widthSubject.asObservable().pipe(distinctUntilChanged()), this._heightSubject.asObservable().pipe(distinctUntilChanged()))
151
+ .pipe(takeUntil(this._destroy), debounceTime(100))
152
+ .subscribe(() => {
153
+ if (this._instance) {
154
+ this._instance.resize();
155
+ this._changeDetectorRef.markForCheck();
156
+ }
157
+ });
158
+ this._optionsService
159
+ .listen()
160
+ .pipe(tap((options) => {
161
+ assignDefined(this._options, options);
162
+ }), debounceTime(0), takeUntil(this._destroy))
163
+ .subscribe(() => {
164
+ this.render();
165
+ });
166
+ timer(500, 250)
167
+ .pipe(takeUntil(this._destroy))
168
+ .subscribe(() => {
169
+ if (this._elementRef && this._elementRef.nativeElement) {
170
+ this._widthSubject.next((this._elementRef.nativeElement).getBoundingClientRect().width);
171
+ this._heightSubject.next((this._elementRef.nativeElement).getBoundingClientRect().height);
172
+ }
173
+ });
174
+ }
175
+ _disposeChart() {
176
+ if (this._instance) {
177
+ this._instance.clear();
178
+ echarts.dispose(this._instance);
179
+ }
180
+ this._destroy.next(true);
181
+ }
182
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdChartComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.TdChartOptionsService }], target: i0.ɵɵFactoryTarget.Component });
183
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TdChartComponent, selector: "td-chart", inputs: { config: "config", group: "group", themeName: "themeName", renderer: "renderer" }, outputs: { chartClick: "chartClick", chartDblclick: "chartDblclick", chartContextmenu: "chartContextmenu", magicTypeChanged: "magicTypeChanged", dataViewChanged: "dataViewChanged", datazoom: "datazoom", restore: "restore" }, providers: [CHART_PROVIDER], usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [":host{display:block;width:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
184
+ }
185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdChartComponent, decorators: [{
186
+ type: Component,
187
+ args: [{ selector: 'td-chart', template: '', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CHART_PROVIDER], styles: [":host{display:block;width:100%}\n"] }]
188
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.TdChartOptionsService }]; }, propDecorators: { config: [{
189
+ type: Input
190
+ }], group: [{
191
+ type: Input
192
+ }], themeName: [{
193
+ type: Input
194
+ }], renderer: [{
195
+ type: Input
196
+ }], chartClick: [{
197
+ type: Output
198
+ }], chartDblclick: [{
199
+ type: Output
200
+ }], chartContextmenu: [{
201
+ type: Output
202
+ }], magicTypeChanged: [{
203
+ type: Output
204
+ }], dataViewChanged: [{
205
+ type: Output
206
+ }], datazoom: [{
207
+ type: Output
208
+ }], restore: [{
209
+ type: Output
210
+ }] } });
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWVjaGFydHMvYmFzZS9zcmMvY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLFVBQVUsRUFDVixpQkFBaUIsR0FLbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7OztBQVN4QyxNQUFNLE9BQU8sZ0JBQWdCO0lBd0RqQjtJQUNBO0lBQ0E7SUF6REYsUUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO0lBQ3BELGFBQWEsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUN2RCxjQUFjLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7SUFFeEQsU0FBUyxDQUFNO0lBRXZCOztPQUVHO0lBQ0gsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxNQUFNLEdBQVEsRUFBRSxDQUFDO0lBQ2pCLFFBQVEsR0FBUSxFQUFFLENBQUM7SUFFM0I7Ozs7O09BS0c7SUFDTSxNQUFNLEdBQVMsRUFBRSxDQUFDO0lBRTNCOzs7O09BSUc7SUFDTSxLQUFLLENBQVU7SUFFeEI7Ozs7T0FJRztJQUNNLFNBQVMsQ0FBaUI7SUFFbkM7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cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBFbGVtZW50UmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQsIG1lcmdlLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgVGRDaGFydE9wdGlvbnNTZXJ2aWNlLCBDSEFSVF9QUk9WSURFUiB9IGZyb20gJy4vY2hhcnQtb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IGFzc2lnbkRlZmluZWQgfSBmcm9tICcuL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtY2hhcnQnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogWycuL2NoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtDSEFSVF9QUk9WSURFUl0sXG59KVxuZXhwb3J0IGNsYXNzIFRkQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2Rlc3Ryb3k6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcml2YXRlIF93aWR0aFN1YmplY3Q6IFN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcbiAgcHJpdmF0ZSBfaGVpZ2h0U3ViamVjdDogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgX2luc3RhbmNlOiBhbnk7XG5cbiAgLyoqXG4gICAqIHJldHVybnMgdGhlIGVjaGFydHMgaW5zdGFuY2VcbiAgICovXG4gIGdldCBpbnN0YW5jZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgX3N0YXRlOiBhbnkgPSB7fTtcbiAgcHJpdmF0ZSBfb3B0aW9uczogYW55ID0ge307XG5cbiAgLyoqXG4gICAqIGNvbmZpZz86IGFueTtcbiAgICogU2V0cyB0aGUgSlMgY29uZmlnIG9iamVjdCBpZiB5b3UgY2hvb3NlIHRvIG5vdCB1c2UgdGhlIHByb3BlcnR5IGlucHV0cy5cbiAgICogTm90ZTogW2NvbmZpZ10gaW5wdXQgcHJvcGVydGllcyB3aWxsIG92ZXJyaWRlIGlucHV0IHZhbHVlc1xuICAgKiBodHRwczovL2Vjb21mZS5naXRodWIuaW8vZWNoYXJ0cy1kb2MvcHVibGljL2VuL29wdGlvbi5odG1sXG4gICAqL1xuICBASW5wdXQoKSBjb25maWc/OiBhbnkgPSB7fTtcblxuICAvKipcbiAgICogZ3JvdXA/OiBzdHJpbmdcbiAgICogZ3JvdXAgbmFtZSBpbiB3aGljaCB0aGUgY2hhcnQgaW5zdGFuY2Ugd2lsbCBiZSBjb25uZWN0ZWQgdG9cbiAgICogaHR0cHM6Ly9lY29tZmUuZ2l0aHViLmlvL2VjaGFydHMtZG9jL3B1YmxpYy9lbi9hcGkuaHRtbCNlY2hhcnRzLmNvbm5lY3RcbiAgICovXG4gIEBJbnB1dCgpIGdyb3VwPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiB0aGVtZU5hbWU/OiBzdHJpbmdcbiAgICogdGhlbWUgdG8gYmUgYXBwbGllZCBpbnRvIGNoYXJ0IGluc3RhbmNlXG4gICAqIGh0dHBzOi8vZWNvbWZlLmdpdGh1Yi5pby9lY2hhcnRzLWRvYy9wdWJsaWMvZW4vdHV0b3JpYWwuaHRtbCNPdmVydmlldyUyMG9mJTIwU3R5bGUlMjBDdXN0b21pemF0aW9uXG4gICAqL1xuICBASW5wdXQoKSB0aGVtZU5hbWU/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiByZW5kZXJlcjogJ3N2ZycgfCAnY2FudmFzJ1xuICAgKiBzZXRzIHRoZSByZW5kZXJpbmcgbW9kZSBmb3IgdGhlIGNoYXJ0LlxuICAgKiBkZWZhdWx0cyB0byAnY2FudmFzJ1xuICAgKiBodHRwczovL2Vjb21mZS5naXRodWIuaW8vZWNoYXJ0cy1kb2MvcHVibGljL2VuL3R1dG9yaWFsLmh0bWwjUmVuZGVyJTIwYnklMjBDYW52YXMlMjBvciUyMFNWR1xuICAgKi9cbiAgQElucHV0KCkgcmVuZGVyZXI6ICdjYW52YXMnIHwgJ3N2ZycgPSAnY2FudmFzJztcblxuICBAT3V0cHV0KCkgY2hhcnRDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGNoYXJ0RGJsY2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjaGFydENvbnRleHRtZW51OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbWFnaWNUeXBlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGRhdGFWaWV3Q2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGRhdGF6b29tOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcmVzdG9yZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9vcHRpb25zU2VydmljZTogVGRDaGFydE9wdGlvbnNTZXJ2aWNlXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5faW5pdGlhbGl6ZUNoYXJ0KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2luc3RhbmNlKSB7XG4gICAgICAvLyBkZXN0cm95IGFuZCByZWluaXRpYWxpemUgY2hhcnQgb25seSB3aGVuIGByZW5kZXJlcmAsIGB0aGVtZU5hbWVgIGFuZCBgZ3JvdXBgIGNoYW5nZXNcbiAgICAgIGlmIChjaGFuZ2VzWydyZW5kZXJlciddIHx8IGNoYW5nZXNbJ3RoZW1lTmFtZSddIHx8IGNoYW5nZXNbJ2dyb3VwJ10pIHtcbiAgICAgICAgdGhpcy5fZGlzcG9zZUNoYXJ0KCk7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVDaGFydCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNwb3NlQ2hhcnQoKTtcbiAgICB0aGlzLl9kZXN0cm95LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICByZW5kZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2luc3RhbmNlKSB7XG4gICAgICB0aGlzLl9pbnN0YW5jZS5zZXRPcHRpb24oXG4gICAgICAgIGFzc2lnbkRlZmluZWQoXG4gICAgICAgICAgdGhpcy5fc3RhdGUsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZ3JpZDoge1xuICAgICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgICBsZWZ0OiAnMjAnLFxuICAgICAgICAgICAgICByaWdodDogJzIwJyxcbiAgICAgICAgICAgICAgYm90dG9tOlxuICAgICAgICAgICAgICAgICh0aGlzLmNvbmZpZy50b29sYm94ICYmXG4gICAgICAgICAgICAgICAgICB0eXBlb2YgdGhpcy5jb25maWcudG9vbGJveC5ib3R0b20gPT09ICdudW1iZXInKSB8fFxuICAgICAgICAgICAgICAgICh0aGlzLl9vcHRpb25zLnRvb2xib3ggJiZcbiAgICAgICAgICAgICAgICAgIHR5cGVvZiB0aGlzLl9vcHRpb25zLnRvb2xib3guYm90dG9tID09PSAnbnVtYmVyJylcbiAgICAgICAgICAgICAgICAgID8gJzQwJ1xuICAgICAgICAgICAgICAgICAgOiAnMTAnLFxuICAgICAgICAgICAgICB0b3A6XG4gICAgICAgICAgICAgICAgKHRoaXMuY29uZmlnLnRvb2xib3ggJiZcbiAgICAgICAgICAgICAgICAgIHR5cGVvZiB0aGlzLmNvbmZpZy50b29sYm94LnRvcCA9PT0gJ251bWJlcicpIHx8XG4gICAgICAgICAgICAgICAgKHRoaXMuX29wdGlvbnMudG9vbGJveCAmJlxuICAgICAgICAgICAgICAgICAgdHlwZW9mIHRoaXMuX29wdGlvbnMudG9vbGJveC50b3AgPT09ICdudW1iZXInKVxuICAgICAgICAgICAgICAgICAgPyAnNDAnXG4gICAgICAgICAgICAgICAgICA6ICcxMCcsXG4gICAgICAgICAgICAgIGNvbnRhaW5MYWJlbDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aGlzLl9vcHRpb25zLFxuICAgICAgICAgIHRoaXMuY29uZmlnID8gdGhpcy5jb25maWcgOiB7fVxuICAgICAgICApLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZUNoYXJ0KCk6IHZvaWQge1xuICAgIHRoaXMuX2luc3RhbmNlID0gZWNoYXJ0cy5pbml0KFxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy50aGVtZU5hbWUgPz8gJycsXG4gICAgICB7XG4gICAgICAgIHJlbmRlcmVyOiB0aGlzLnJlbmRlcmVyLFxuICAgICAgfVxuICAgICk7XG4gICAgZnJvbUV2ZW50KHRoaXMuX2luc3RhbmNlLCAnY2xpY2snKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZSgocGFyYW1zOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5jaGFydENsaWNrLm5leHQocGFyYW1zKTtcbiAgICAgIH0pO1xuICAgIGZyb21FdmVudCh0aGlzLl9pbnN0YW5jZSwgJ2RibGNsaWNrJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSlcbiAgICAgIC5zdWJzY3JpYmUoKHBhcmFtczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY2hhcnREYmxjbGljay5uZXh0KHBhcmFtcyk7XG4gICAgICB9KTtcbiAgICBmcm9tRXZlbnQodGhpcy5faW5zdGFuY2UsICdjb250ZXh0bWVudScpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKChwYXJhbXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNoYXJ0Q29udGV4dG1lbnUubmV4dChwYXJhbXMpO1xuICAgICAgfSk7XG4gICAgZnJvbUV2ZW50KHRoaXMuX2luc3RhbmNlLCAnbWFnaWN0eXBlY2hhbmdlZCcpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKChwYXJhbXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm1hZ2ljVHlwZUNoYW5nZWQubmV4dChwYXJhbXMpO1xuICAgICAgfSk7XG4gICAgZnJvbUV2ZW50KHRoaXMuX2luc3RhbmNlLCAnZGF0YXZpZXdjaGFuZ2VkJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSlcbiAgICAgIC5zdWJzY3JpYmUoKHBhcmFtczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YVZpZXdDaGFuZ2VkLm5leHQocGFyYW1zKTtcbiAgICAgIH0pO1xuICAgIGZyb21FdmVudCh0aGlzLl9pbnN0YW5jZSwgJ2RhdGF6b29tJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSlcbiAgICAgIC5zdWJzY3JpYmUoKHBhcmFtczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YXpvb20ubmV4dChwYXJhbXMpO1xuICAgICAgfSk7XG4gICAgZnJvbUV2ZW50KHRoaXMuX2luc3RhbmNlLCAncmVzdG9yZScpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKChwYXJhbXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnJlc3RvcmUubmV4dChwYXJhbXMpO1xuICAgICAgfSk7XG4gICAgaWYgKHRoaXMuZ3JvdXApIHtcbiAgICAgIHRoaXMuX2luc3RhbmNlLmdyb3VwID0gdGhpcy5ncm91cDtcbiAgICAgIGVjaGFydHMuY29ubmVjdCh0aGlzLmdyb3VwKTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgICBtZXJnZShcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKS5waXBlKGRlYm91bmNlVGltZSgxMDApKSxcbiAgICAgIHRoaXMuX3dpZHRoU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgdGhpcy5faGVpZ2h0U3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLCBkZWJvdW5jZVRpbWUoMTAwKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5faW5zdGFuY2UpIHtcbiAgICAgICAgICB0aGlzLl9pbnN0YW5jZS5yZXNpemUoKTtcbiAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgdGhpcy5fb3B0aW9uc1NlcnZpY2VcbiAgICAgIC5saXN0ZW4oKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgob3B0aW9uczogYW55KSA9PiB7XG4gICAgICAgICAgYXNzaWduRGVmaW5lZCh0aGlzLl9vcHRpb25zLCBvcHRpb25zKTtcbiAgICAgICAgfSksXG4gICAgICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICAgIH0pO1xuICAgIHRpbWVyKDUwMCwgMjUwKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLl9lbGVtZW50UmVmICYmIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgIHRoaXMuX3dpZHRoU3ViamVjdC5uZXh0KFxuICAgICAgICAgICAgKDxIVE1MRWxlbWVudD4oXG4gICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgKSkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGhcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuX2hlaWdodFN1YmplY3QubmV4dChcbiAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+KFxuICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICkpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzcG9zZUNoYXJ0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pbnN0YW5jZSkge1xuICAgICAgdGhpcy5faW5zdGFuY2UuY2xlYXIoKTtcbiAgICAgIGVjaGFydHMuZGlzcG9zZSh0aGlzLl9pbnN0YW5jZSk7XG4gICAgfVxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCh0cnVlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,57 @@
1
+ import { Component, Input, ChangeDetectionStrategy, } from '@angular/core';
2
+ import { TdChartOptionsService } from '../chart-options.service';
3
+ import { assignDefined } from '../utils';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../chart-options.service";
6
+ export class TdDatasetComponent {
7
+ _optionsService;
8
+ _state = {};
9
+ id;
10
+ config = {};
11
+ source;
12
+ dimensions;
13
+ sourceHeader;
14
+ constructor(_optionsService) {
15
+ this._optionsService = _optionsService;
16
+ }
17
+ ngOnChanges() {
18
+ this._setOptions();
19
+ }
20
+ ngOnDestroy() {
21
+ this._removeOption();
22
+ }
23
+ _setOptions() {
24
+ const config = assignDefined(this._state, {
25
+ id: this.id,
26
+ source: this.source,
27
+ dimensions: this.dimensions,
28
+ sourceHeader: this.sourceHeader,
29
+ }, this.config ? this.config : {});
30
+ // set dataset configuration in parent chart and render new configurations
31
+ this._optionsService.setOption('dataset', config);
32
+ }
33
+ _removeOption() {
34
+ this._optionsService.clearOption('dataset');
35
+ }
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDatasetComponent, deps: [{ token: i1.TdChartOptionsService }], target: i0.ɵɵFactoryTarget.Component });
37
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TdDatasetComponent, selector: "td-chart-dataset", inputs: { id: "id", config: "config", source: "source", dimensions: "dimensions", sourceHeader: "sourceHeader" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdDatasetComponent, decorators: [{
40
+ type: Component,
41
+ args: [{
42
+ template: '',
43
+ selector: 'td-chart-dataset',
44
+ changeDetection: ChangeDetectionStrategy.OnPush,
45
+ }]
46
+ }], ctorParameters: function () { return [{ type: i1.TdChartOptionsService }]; }, propDecorators: { id: [{
47
+ type: Input
48
+ }], config: [{
49
+ type: Input
50
+ }], source: [{
51
+ type: Input
52
+ }], dimensions: [{
53
+ type: Input
54
+ }], sourceHeader: [{
55
+ type: Input
56
+ }] } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItZWNoYXJ0cy9iYXNlL3NyYy9kYXRhc2V0L2RhdGFzZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLHVCQUF1QixHQUd4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFPekMsTUFBTSxPQUFPLGtCQUFrQjtJQVNUO0lBUlosTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUVoQixFQUFFLENBQVU7SUFDWixNQUFNLEdBQVMsRUFBRSxDQUFDO0lBQ2xCLE1BQU0sQ0FBa0I7SUFDeEIsVUFBVSxDQUFTO0lBQ25CLFlBQVksQ0FBVztJQUVoQyxZQUFvQixlQUFzQztRQUF0QyxvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7SUFBRyxDQUFDO0lBRTlELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLFdBQVc7UUFDakIsTUFBTSxNQUFNLEdBQVEsYUFBYSxDQUMvQixJQUFJLENBQUMsTUFBTSxFQUNYO1lBQ0UsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDaEMsRUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQy9CLENBQUM7UUFDRiwwRUFBMEU7UUFDMUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7dUdBcENVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLCtMQUpuQixFQUFFOzsyRkFJRCxrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7b0JBQ1osUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzRHQUlVLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZENoYXJ0T3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jaGFydC1vcHRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgYXNzaWduRGVmaW5lZCB9IGZyb20gJy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJyxcbiAgc2VsZWN0b3I6ICd0ZC1jaGFydC1kYXRhc2V0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRkRGF0YXNldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfc3RhdGU6IGFueSA9IHt9O1xuXG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nO1xuICBASW5wdXQoKSBjb25maWc/OiBhbnkgPSB7fTtcbiAgQElucHV0KCkgc291cmNlPzogb2JqZWN0IHwgYW55W107XG4gIEBJbnB1dCgpIGRpbWVuc2lvbnM/OiBhbnlbXTtcbiAgQElucHV0KCkgc291cmNlSGVhZGVyPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9vcHRpb25zU2VydmljZTogVGRDaGFydE9wdGlvbnNTZXJ2aWNlKSB7fVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX3NldE9wdGlvbnMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3JlbW92ZU9wdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0T3B0aW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBjb25maWc6IGFueSA9IGFzc2lnbkRlZmluZWQoXG4gICAgICB0aGlzLl9zdGF0ZSxcbiAgICAgIHtcbiAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2UsXG4gICAgICAgIGRpbWVuc2lvbnM6IHRoaXMuZGltZW5zaW9ucyxcbiAgICAgICAgc291cmNlSGVhZGVyOiB0aGlzLnNvdXJjZUhlYWRlcixcbiAgICAgIH0sXG4gICAgICB0aGlzLmNvbmZpZyA/IHRoaXMuY29uZmlnIDoge31cbiAgICApO1xuICAgIC8vIHNldCBkYXRhc2V0IGNvbmZpZ3VyYXRpb24gaW4gcGFyZW50IGNoYXJ0IGFuZCByZW5kZXIgbmV3IGNvbmZpZ3VyYXRpb25zXG4gICAgdGhpcy5fb3B0aW9uc1NlcnZpY2Uuc2V0T3B0aW9uKCdkYXRhc2V0JywgY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZU9wdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9vcHRpb25zU2VydmljZS5jbGVhck9wdGlvbignZGF0YXNldCcpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,106 @@
1
+ import { Input, Directive } from '@angular/core';
2
+ import { assignDefined } from '../utils/assign-defined';
3
+ import { TdChartOptionsService } from '../chart-options.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../chart-options.service";
6
+ export class TdSeriesDirective {
7
+ optionsService;
8
+ _type;
9
+ get type() {
10
+ return this._type;
11
+ }
12
+ _state = {};
13
+ _options = {};
14
+ config = {};
15
+ id;
16
+ name;
17
+ color;
18
+ data;
19
+ animation;
20
+ animationThreshold;
21
+ animationDuration;
22
+ animationEasing;
23
+ animationDelay;
24
+ animationDurationUpdate;
25
+ animationEasingUpdate;
26
+ animationDelayUpdate;
27
+ tooltip;
28
+ constructor(type, optionsService) {
29
+ this.optionsService = optionsService;
30
+ this._type = type;
31
+ }
32
+ ngOnInit() {
33
+ this._setOptions();
34
+ }
35
+ ngOnChanges() {
36
+ this._setOptions();
37
+ }
38
+ ngOnDestroy() {
39
+ this._removeOption();
40
+ }
41
+ setStateOption(option, value) {
42
+ this._options[option] = value;
43
+ this._setOptions();
44
+ }
45
+ removeStateOption(option) {
46
+ /* tslint:disable-next-line */
47
+ this._options[option] = null;
48
+ this._setOptions();
49
+ }
50
+ _setOptions() {
51
+ const config = assignDefined(this._state, {
52
+ id: this.id,
53
+ type: this.type,
54
+ name: this.name,
55
+ color: this.color,
56
+ data: this.data,
57
+ animation: this.animation,
58
+ animationThreshold: this.animationThreshold,
59
+ animationDuration: this.animationDuration,
60
+ animationEasing: this.animationEasing,
61
+ animationDelay: this.animationDelay,
62
+ animationDurationUpdate: this.animationDurationUpdate,
63
+ animationEasingUpdate: this.animationEasingUpdate,
64
+ animationDelayUpdate: this.animationDelayUpdate,
65
+ tooltip: this.tooltip,
66
+ }, this.getConfig(), this._options, this.config ? this.config : {});
67
+ this.optionsService.setArrayOption('series', config);
68
+ }
69
+ _removeOption() {
70
+ this.optionsService.removeArrayOption('series', this._state);
71
+ }
72
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdSeriesDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
73
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: TdSeriesDirective, inputs: { config: "config", id: "id", name: "name", color: "color", data: "data", animation: "animation", animationThreshold: "animationThreshold", animationDuration: "animationDuration", animationEasing: "animationEasing", animationDelay: "animationDelay", animationDurationUpdate: "animationDurationUpdate", animationEasingUpdate: "animationEasingUpdate", animationDelayUpdate: "animationDelayUpdate", tooltip: "tooltip" }, usesOnChanges: true, ngImport: i0 });
74
+ }
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdSeriesDirective, decorators: [{
76
+ type: Directive
77
+ }], ctorParameters: function () { return [{ type: undefined }, { type: i1.TdChartOptionsService }]; }, propDecorators: { config: [{
78
+ type: Input
79
+ }], id: [{
80
+ type: Input
81
+ }], name: [{
82
+ type: Input
83
+ }], color: [{
84
+ type: Input
85
+ }], data: [{
86
+ type: Input
87
+ }], animation: [{
88
+ type: Input
89
+ }], animationThreshold: [{
90
+ type: Input
91
+ }], animationDuration: [{
92
+ type: Input
93
+ }], animationEasing: [{
94
+ type: Input
95
+ }], animationDelay: [{
96
+ type: Input
97
+ }], animationDurationUpdate: [{
98
+ type: Input
99
+ }], animationEasingUpdate: [{
100
+ type: Input
101
+ }], animationDelayUpdate: [{
102
+ type: Input
103
+ }], tooltip: [{
104
+ type: Input
105
+ }] } });
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1lY2hhcnRzL2Jhc2Uvc3JjL3Nlcmllcy9zZXJpZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQWdDLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQWNqRSxNQUFNLE9BQWdCLGlCQUFpQjtJQTZCRDtJQTFCNUIsS0FBSyxDQUFTO0lBRXRCLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUNqQixRQUFRLEdBQVEsRUFBRSxDQUFDO0lBRVYsTUFBTSxHQUFTLEVBQUUsQ0FBQztJQUVsQixFQUFFLENBQVU7SUFDWixJQUFJLENBQVU7SUFDZCxLQUFLLENBQVU7SUFDZixJQUFJLENBQVM7SUFFYixTQUFTLENBQVc7SUFDcEIsa0JBQWtCLENBQVU7SUFDNUIsaUJBQWlCLENBQXFCO0lBQ3RDLGVBQWUsQ0FBVTtJQUN6QixjQUFjLENBQXFCO0lBQ25DLHVCQUF1QixDQUFxQjtJQUM1QyxxQkFBcUIsQ0FBVTtJQUMvQixvQkFBb0IsQ0FBcUI7SUFDekMsT0FBTyxDQUFvQjtJQUVwQyxZQUFZLElBQVksRUFBWSxjQUFxQztRQUFyQyxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDdkUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFjLEVBQUUsS0FBVTtRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQWM7UUFDOUIsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBSU8sV0FBVztRQUNqQixNQUFNLE1BQU0sR0FBUSxhQUFhLENBQy9CLElBQUksQ0FBQyxNQUFNLEVBQ1g7WUFDRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDM0MsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUN6QyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLHVCQUF1QixFQUFFLElBQUksQ0FBQyx1QkFBdUI7WUFDckQscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtZQUNqRCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQy9DLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixFQUNELElBQUksQ0FBQyxTQUFTLEVBQUUsRUFDaEIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQy9CLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLGFBQWE7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9ELENBQUM7dUdBdEZtQixpQkFBaUI7MkZBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEdEMsU0FBUztpSUFhQyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsRUFBRTtzQkFBVixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3ksIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBhc3NpZ25EZWZpbmVkIH0gZnJvbSAnLi4vdXRpbHMvYXNzaWduLWRlZmluZWQnO1xuaW1wb3J0IHsgVGRDaGFydE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhcnQtb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IElUZFNlcmllc1Rvb2x0aXAgfSBmcm9tICcuL3Nlcmllcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSVRkQW5pbWF0aW9uIH0gZnJvbSAnLi4vYmFzZS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRkU2VyaWVzIGV4dGVuZHMgSVRkQW5pbWF0aW9uIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuXG4gIHRvb2x0aXA/OiBJVGRTZXJpZXNUb29sdGlwO1xufVxuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUZFNlcmllc0RpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIElUZFNlcmllcywgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIF90eXBlOiBzdHJpbmc7XG5cbiAgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIF9zdGF0ZTogYW55ID0ge307XG4gIF9vcHRpb25zOiBhbnkgPSB7fTtcblxuICBASW5wdXQoKSBjb25maWc/OiBhbnkgPSB7fTtcblxuICBASW5wdXQoKSBpZD86IHN0cmluZztcbiAgQElucHV0KCkgbmFtZT86IHN0cmluZztcbiAgQElucHV0KCkgY29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRhdGE/OiBhbnlbXTtcblxuICBASW5wdXQoKSBhbmltYXRpb24/OiBib29sZWFuO1xuICBASW5wdXQoKSBhbmltYXRpb25UaHJlc2hvbGQ/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGFuaW1hdGlvbkR1cmF0aW9uPzogbnVtYmVyIHwgRnVuY3Rpb247XG4gIEBJbnB1dCgpIGFuaW1hdGlvbkVhc2luZz86IHN0cmluZztcbiAgQElucHV0KCkgYW5pbWF0aW9uRGVsYXk/OiBudW1iZXIgfCBGdW5jdGlvbjtcbiAgQElucHV0KCkgYW5pbWF0aW9uRHVyYXRpb25VcGRhdGU/OiBudW1iZXIgfCBGdW5jdGlvbjtcbiAgQElucHV0KCkgYW5pbWF0aW9uRWFzaW5nVXBkYXRlPzogc3RyaW5nO1xuICBASW5wdXQoKSBhbmltYXRpb25EZWxheVVwZGF0ZT86IG51bWJlciB8IEZ1bmN0aW9uO1xuICBASW5wdXQoKSB0b29sdGlwPzogSVRkU2VyaWVzVG9vbHRpcDtcblxuICBjb25zdHJ1Y3Rvcih0eXBlOiBzdHJpbmcsIHByb3RlY3RlZCBvcHRpb25zU2VydmljZTogVGRDaGFydE9wdGlvbnNTZXJ2aWNlKSB7XG4gICAgdGhpcy5fdHlwZSA9IHR5cGU7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZXRPcHRpb25zKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9zZXRPcHRpb25zKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZW1vdmVPcHRpb24oKTtcbiAgfVxuXG4gIHNldFN0YXRlT3B0aW9uKG9wdGlvbjogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb3B0aW9uc1tvcHRpb25dID0gdmFsdWU7XG4gICAgdGhpcy5fc2V0T3B0aW9ucygpO1xuICB9XG5cbiAgcmVtb3ZlU3RhdGVPcHRpb24ob3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICB0aGlzLl9vcHRpb25zW29wdGlvbl0gPSBudWxsO1xuICAgIHRoaXMuX3NldE9wdGlvbnMoKTtcbiAgfVxuXG4gIGFic3RyYWN0IGdldENvbmZpZygpOiBhbnk7XG5cbiAgcHJpdmF0ZSBfc2V0T3B0aW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBjb25maWc6IGFueSA9IGFzc2lnbkRlZmluZWQoXG4gICAgICB0aGlzLl9zdGF0ZSxcbiAgICAgIHtcbiAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICBjb2xvcjogdGhpcy5jb2xvcixcbiAgICAgICAgZGF0YTogdGhpcy5kYXRhLFxuICAgICAgICBhbmltYXRpb246IHRoaXMuYW5pbWF0aW9uLFxuICAgICAgICBhbmltYXRpb25UaHJlc2hvbGQ6IHRoaXMuYW5pbWF0aW9uVGhyZXNob2xkLFxuICAgICAgICBhbmltYXRpb25EdXJhdGlvbjogdGhpcy5hbmltYXRpb25EdXJhdGlvbixcbiAgICAgICAgYW5pbWF0aW9uRWFzaW5nOiB0aGlzLmFuaW1hdGlvbkVhc2luZyxcbiAgICAgICAgYW5pbWF0aW9uRGVsYXk6IHRoaXMuYW5pbWF0aW9uRGVsYXksXG4gICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uVXBkYXRlOiB0aGlzLmFuaW1hdGlvbkR1cmF0aW9uVXBkYXRlLFxuICAgICAgICBhbmltYXRpb25FYXNpbmdVcGRhdGU6IHRoaXMuYW5pbWF0aW9uRWFzaW5nVXBkYXRlLFxuICAgICAgICBhbmltYXRpb25EZWxheVVwZGF0ZTogdGhpcy5hbmltYXRpb25EZWxheVVwZGF0ZSxcbiAgICAgICAgdG9vbHRpcDogdGhpcy50b29sdGlwLFxuICAgICAgfSxcbiAgICAgIHRoaXMuZ2V0Q29uZmlnKCksXG4gICAgICB0aGlzLl9vcHRpb25zLFxuICAgICAgdGhpcy5jb25maWcgPyB0aGlzLmNvbmZpZyA6IHt9XG4gICAgKTtcbiAgICB0aGlzLm9wdGlvbnNTZXJ2aWNlLnNldEFycmF5T3B0aW9uKCdzZXJpZXMnLCBjb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlT3B0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9uc1NlcnZpY2UucmVtb3ZlQXJyYXlPcHRpb24oJ3NlcmllcycsIHRoaXMuX3N0YXRlKTtcbiAgfVxufVxuIl19