@amcharts/amcharts5 5.2.12 → 5.2.15

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 (239) hide show
  1. package/.internal/charts/hierarchy/Hierarchy.d.ts +1 -1
  2. package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
  3. package/.internal/charts/hierarchy/Hierarchy.js +6 -4
  4. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  5. package/.internal/charts/hierarchy/LinkedHierarchy.d.ts.map +1 -1
  6. package/.internal/charts/hierarchy/LinkedHierarchy.js +0 -1
  7. package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
  8. package/.internal/charts/map/MapPointSeries.d.ts +3 -1
  9. package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
  10. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  11. package/.internal/charts/pie/PieChart.d.ts +1 -1
  12. package/.internal/charts/pie/PieChart.d.ts.map +1 -1
  13. package/.internal/charts/pie/PieChart.js.map +1 -1
  14. package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
  15. package/.internal/charts/pie/PieSeries.js +8 -0
  16. package/.internal/charts/pie/PieSeries.js.map +1 -1
  17. package/.internal/charts/stock/drawing/FibonacciSeries.d.ts +2 -2
  18. package/.internal/charts/stock/drawing/FibonacciSeries.d.ts.map +1 -1
  19. package/.internal/charts/stock/drawing/FibonacciSeries.js.map +1 -1
  20. package/.internal/charts/stock/indicators/ChartIndicator.d.ts.map +1 -1
  21. package/.internal/charts/stock/indicators/ChartIndicator.js +16 -9
  22. package/.internal/charts/stock/indicators/ChartIndicator.js.map +1 -1
  23. package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts +3 -1
  24. package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts.map +1 -1
  25. package/.internal/charts/stock/indicators/MovingAverageDeviation.js.map +1 -1
  26. package/.internal/charts/xy/XYChart.js +3 -3
  27. package/.internal/charts/xy/XYChart.js.map +1 -1
  28. package/.internal/charts/xy/XYChartDefaultTheme.js +1 -0
  29. package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
  30. package/.internal/charts/xy/axes/Axis.d.ts +2 -2
  31. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  32. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  33. package/.internal/charts/xy/axes/AxisRendererY.d.ts.map +1 -1
  34. package/.internal/charts/xy/axes/AxisRendererY.js +11 -4
  35. package/.internal/charts/xy/axes/AxisRendererY.js.map +1 -1
  36. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  37. package/.internal/charts/xy/axes/DateAxis.js +7 -1
  38. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  39. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  40. package/.internal/charts/xy/axes/ValueAxis.js +6 -1
  41. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  42. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  43. package/.internal/charts/xy/series/LineSeries.js +9 -4
  44. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  45. package/.internal/core/Root.d.ts +1 -0
  46. package/.internal/core/Root.d.ts.map +1 -1
  47. package/.internal/core/Root.js +60 -50
  48. package/.internal/core/Root.js.map +1 -1
  49. package/.internal/core/render/Component.d.ts +1 -1
  50. package/.internal/core/render/Component.d.ts.map +1 -1
  51. package/.internal/core/render/Component.js.map +1 -1
  52. package/.internal/core/render/Container.d.ts.map +1 -1
  53. package/.internal/core/render/Container.js +7 -0
  54. package/.internal/core/render/Container.js.map +1 -1
  55. package/.internal/core/render/Graphics.d.ts.map +1 -1
  56. package/.internal/core/render/Graphics.js +14 -0
  57. package/.internal/core/render/Graphics.js.map +1 -1
  58. package/.internal/core/render/Label.d.ts.map +1 -1
  59. package/.internal/core/render/Label.js +10 -0
  60. package/.internal/core/render/Label.js.map +1 -1
  61. package/.internal/core/render/Scrollbar.js +1 -1
  62. package/.internal/core/render/Scrollbar.js.map +1 -1
  63. package/.internal/core/render/Sprite.d.ts.map +1 -1
  64. package/.internal/core/render/Sprite.js +2 -1
  65. package/.internal/core/render/Sprite.js.map +1 -1
  66. package/.internal/core/render/Tooltip.d.ts +9 -1
  67. package/.internal/core/render/Tooltip.d.ts.map +1 -1
  68. package/.internal/core/render/Tooltip.js +34 -0
  69. package/.internal/core/render/Tooltip.js.map +1 -1
  70. package/.internal/core/render/backend/CanvasRenderer.d.ts +1 -0
  71. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  72. package/.internal/core/render/backend/CanvasRenderer.js +68 -1
  73. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  74. package/.internal/core/render/backend/Renderer.d.ts +1 -0
  75. package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
  76. package/.internal/core/render/backend/Renderer.js.map +1 -1
  77. package/.internal/core/render/patterns/Pattern.d.ts +3 -1
  78. package/.internal/core/render/patterns/Pattern.d.ts.map +1 -1
  79. package/.internal/core/render/patterns/Pattern.js.map +1 -1
  80. package/.internal/core/render/patterns/PicturePattern.d.ts +52 -0
  81. package/.internal/core/render/patterns/PicturePattern.d.ts.map +1 -0
  82. package/.internal/core/render/patterns/PicturePattern.js +110 -0
  83. package/.internal/core/render/patterns/PicturePattern.js.map +1 -0
  84. package/.internal/core/util/Animation.d.ts.map +1 -1
  85. package/.internal/core/util/Animation.js +4 -4
  86. package/.internal/core/util/Animation.js.map +1 -1
  87. package/.internal/core/util/DateFormatter.js +1 -1
  88. package/.internal/core/util/DateFormatter.js.map +1 -1
  89. package/.internal/core/util/Entity.d.ts +8 -5
  90. package/.internal/core/util/Entity.d.ts.map +1 -1
  91. package/.internal/core/util/Entity.js +21 -21
  92. package/.internal/core/util/Entity.js.map +1 -1
  93. package/.internal/core/util/ResizeSensor.d.ts +1 -0
  94. package/.internal/core/util/ResizeSensor.d.ts.map +1 -1
  95. package/.internal/core/util/ResizeSensor.js +10 -0
  96. package/.internal/core/util/ResizeSensor.js.map +1 -1
  97. package/.internal/core/util/Time.d.ts.map +1 -1
  98. package/.internal/core/util/Time.js +3 -0
  99. package/.internal/core/util/Time.js.map +1 -1
  100. package/.internal/core/util/Utils.d.ts +7 -0
  101. package/.internal/core/util/Utils.d.ts.map +1 -1
  102. package/.internal/core/util/Utils.js +12 -0
  103. package/.internal/core/util/Utils.js.map +1 -1
  104. package/CHANGELOG.md +38 -1
  105. package/examples/javascript/flow-chord/package.json +1 -1
  106. package/examples/javascript/flow-chord-directed/package.json +1 -1
  107. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  108. package/examples/javascript/flow-sankey/package.json +1 -1
  109. package/examples/javascript/gauge/package.json +1 -1
  110. package/examples/javascript/gauge-bands/package.json +1 -1
  111. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  112. package/examples/javascript/hierarchy-pack/package.json +1 -1
  113. package/examples/javascript/hierarchy-partition/package.json +1 -1
  114. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  115. package/examples/javascript/hierarchy-tree/package.json +1 -1
  116. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  117. package/examples/javascript/json/package.json +1 -1
  118. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  119. package/examples/javascript/map-day-and-night/package.json +1 -1
  120. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  121. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  122. package/examples/javascript/map-with-bubbles/package.json +1 -1
  123. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  124. package/examples/javascript/misc-40-charts/package.json +1 -1
  125. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  126. package/examples/javascript/pie-chart/package.json +1 -1
  127. package/examples/javascript/pie-donut-chart/package.json +1 -1
  128. package/examples/javascript/pie-variable-radius/package.json +1 -1
  129. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  130. package/examples/javascript/radar-heat-map/package.json +1 -1
  131. package/examples/javascript/radar-line/package.json +1 -1
  132. package/examples/javascript/radar-time-line/package.json +1 -1
  133. package/examples/javascript/sliced-funnel/package.json +1 -1
  134. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  135. package/examples/javascript/sliced-pyramid/package.json +1 -1
  136. package/examples/javascript/stock-chart/package.json +1 -1
  137. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  138. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  139. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  140. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  141. package/examples/javascript/stock-chart-live/package.json +1 -1
  142. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  143. package/examples/javascript/venn-diagram/package.json +1 -1
  144. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  145. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  146. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  147. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  148. package/examples/javascript/xy-bubble/package.json +1 -1
  149. package/examples/javascript/xy-candlestick/package.json +1 -1
  150. package/examples/javascript/xy-clustered-column/package.json +1 -1
  151. package/examples/javascript/xy-column/package.json +1 -1
  152. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  153. package/examples/javascript/xy-data-grouping/package.json +1 -1
  154. package/examples/javascript/xy-draggable-range/package.json +1 -1
  155. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  156. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  157. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  158. package/examples/javascript/xy-line/package.json +1 -1
  159. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  160. package/examples/javascript/xy-live-data/package.json +1 -1
  161. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  162. package/examples/javascript/xy-ohlc/package.json +1 -1
  163. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  164. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  165. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  166. package/examples/javascript/xy-stacked-column/package.json +1 -1
  167. package/examples/javascript/xy-stacked-step/package.json +1 -1
  168. package/examples/javascript/xy-stock/package.json +1 -1
  169. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  170. package/examples/typescript/flow-chord/package.json +1 -1
  171. package/examples/typescript/flow-chord-directed/package.json +1 -1
  172. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  173. package/examples/typescript/flow-sankey/package.json +1 -1
  174. package/examples/typescript/gauge/package.json +1 -1
  175. package/examples/typescript/gauge-bands/package.json +1 -1
  176. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  177. package/examples/typescript/hierarchy-pack/package.json +1 -1
  178. package/examples/typescript/hierarchy-partition/package.json +1 -1
  179. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  180. package/examples/typescript/hierarchy-tree/package.json +1 -1
  181. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  182. package/examples/typescript/json/package.json +1 -1
  183. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  184. package/examples/typescript/map-day-and-night/package.json +1 -1
  185. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  186. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  187. package/examples/typescript/map-with-bubbles/package.json +1 -1
  188. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  189. package/examples/typescript/misc-40-charts/package.json +1 -1
  190. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  191. package/examples/typescript/pie-chart/package.json +1 -1
  192. package/examples/typescript/pie-donut-chart/package.json +1 -1
  193. package/examples/typescript/pie-variable-radius/package.json +1 -1
  194. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  195. package/examples/typescript/radar-heat-map/package.json +1 -1
  196. package/examples/typescript/radar-line/package.json +1 -1
  197. package/examples/typescript/radar-time-line/package.json +1 -1
  198. package/examples/typescript/sliced-funnel/package.json +1 -1
  199. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  200. package/examples/typescript/sliced-pyramid/package.json +1 -1
  201. package/examples/typescript/stock-chart/package.json +1 -1
  202. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  203. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  204. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  205. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  206. package/examples/typescript/stock-chart-live/package.json +1 -1
  207. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  208. package/examples/typescript/venn-diagram/package.json +1 -1
  209. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  210. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  211. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  212. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  213. package/examples/typescript/xy-bubble/package.json +1 -1
  214. package/examples/typescript/xy-candlestick/package.json +1 -1
  215. package/examples/typescript/xy-clustered-column/package.json +1 -1
  216. package/examples/typescript/xy-column/package.json +1 -1
  217. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  218. package/examples/typescript/xy-data-grouping/package.json +1 -1
  219. package/examples/typescript/xy-draggable-range/package.json +1 -1
  220. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  221. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  222. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  223. package/examples/typescript/xy-line/package.json +1 -1
  224. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  225. package/examples/typescript/xy-live-data/package.json +1 -1
  226. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  227. package/examples/typescript/xy-ohlc/package.json +1 -1
  228. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  229. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  230. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  231. package/examples/typescript/xy-stacked-column/package.json +1 -1
  232. package/examples/typescript/xy-stacked-step/package.json +1 -1
  233. package/examples/typescript/xy-stock/package.json +1 -1
  234. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  235. package/index.d.ts +1 -0
  236. package/index.d.ts.map +1 -1
  237. package/index.js +1 -0
  238. package/index.js.map +1 -1
  239. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PieChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieChart.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PieSeries } from \"./PieSeries\";\n\nimport { Percent } from \"../../core/util/Percent\";\nimport { PercentChart, IPercentChartPrivate, IPercentChartSettings } from \"../percent/PercentChart\";\nimport { p50 } from \"../../core/util/Percent\";\n\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $math from \"../../core/util/Math\";\n\n\nexport interface IPieChartSettings extends IPercentChartSettings {\n\n\t/**\n\t * Outer radius of the pie chart.\n\t *\n\t * Can be set in fixed pixel value, or relative to chart container size in\n\t * percent.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Pie_radius} for more info\n\t * @default 80%\n\t */\n\tradius?: number | Percent;\n\n\t/**\n\t * Inner radius of the pie chart. Setting to any non-zero value will result\n\t * in a donut chart.\n\t *\n\t * Can be set in fixed pixel value, or relative to chart container size in\n\t * percent.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Pie_radius} for more info\n\t */\n\tinnerRadius?: number | Percent;\n\n\t/**\n\t * A start angle of the chart in degrees.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Start_end_angles} for more info\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * An end angle of the chart in degrees.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Start_end_angles} for more info\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n}\n\nexport interface IPieChartPrivate extends IPercentChartPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tirModifyer?: number;\n\n}\n\n/**\n * Creates a pie chart.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info\n * @important\n */\nexport class PieChart extends PercentChart {\n\n\tpublic static className: string = \"PieChart\";\n\tpublic static classNames: Array<string> = PercentChart.classNames.concat([PieChart.className]);\n\n\tdeclare public _settings: IPieChartSettings;\n\tdeclare public _privateSettings: IPieChartPrivate;\n\tdeclare public _seriesType: PieSeries;\n\n\tprotected _maxRadius: number = 1;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.seriesContainer.setAll({ x: p50, y: p50 });\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tconst chartContainer = this.chartContainer;\n\t\tconst w = chartContainer.innerWidth();\n\t\tconst h = chartContainer.innerHeight();\n\n\t\tconst startAngle = this.get(\"startAngle\", 0);\n\t\tconst endAngle = this.get(\"endAngle\", 0);\n\t\tconst innerRadius = this.get(\"innerRadius\");\n\n\n\t\tlet bounds = $math.getArcBounds(0, 0, startAngle, endAngle, 1);\n\n\t\tconst wr = w / (bounds.right - bounds.left);\n\t\tconst hr = h / (bounds.bottom - bounds.top);\n\n\t\tlet innerBounds = { left: 0, right: 0, top: 0, bottom: 0 };\n\n\t\tif (innerRadius instanceof Percent) {\n\t\t\tlet value = innerRadius.value;\n\t\t\tlet mr = Math.min(wr, hr);\n\t\t\tvalue = Math.max(mr * value, mr - Math.min(h, w)) / mr;\n\t\t\tinnerBounds = $math.getArcBounds(0, 0, startAngle, endAngle, value);\n\t\t\tthis.setPrivateRaw(\"irModifyer\", value / innerRadius.value);\n\t\t}\n\n\t\tbounds = $math.mergeBounds([bounds, innerBounds]);\n\n\t\tconst prevRadius = this._maxRadius;\n\t\tthis._maxRadius = Math.min(wr, hr);\n\n\t\tconst radius = $utils.relativeToValue(this.get(\"radius\", 0), this._maxRadius);\n\t\tthis.seriesContainer.setAll({\n\t\t\tdy: -radius * (bounds.bottom + bounds.top) / 2, dx: -radius * (bounds.right + bounds.left) / 2\n\t\t})\n\n\t\tif (this.isDirty(\"startAngle\") || this.isDirty(\"endAngle\") || prevRadius != this._maxRadius) {\n\t\t\tthis.series.each((series) => {\n\t\t\t\tseries._markDirtyKey(\"startAngle\");\n\t\t\t})\n\t\t}\n\n\t\tif(this.isDirty(\"innerRadius\") || this.isDirty(\"radius\")){\n\t\t\tthis.series.each((series) => {\n\t\t\t\tseries._markDirtyKey(\"innerRadius\");\n\t\t\t})\t\t\t\n\t\t}\n\t}\n\n\t/**\n\t * Returns outer radius in pixels.\n\t *\n\t * If optional series parameter is passed in, it will return outer radius\n\t * of that particular series.\n\t *\n\t * @param series Series\n\t * @return Radius in pixels\n\t */\n\tpublic radius(series?: PieSeries): number {\n\n\t\tlet radius = $utils.relativeToValue(this.get(\"radius\", 0), this._maxRadius);\n\t\tlet innerRadius = $utils.relativeToValue(this.get(\"innerRadius\", 0), radius);\n\n\t\tif (series) {\n\t\t\tlet index = this.series.indexOf(series);\n\t\t\tlet length = this.series.length;\n\n\t\t\tlet seriesRadius = series.get(\"radius\");\n\t\t\tif (seriesRadius != null) {\n\t\t\t\treturn innerRadius + $utils.relativeToValue(seriesRadius, radius - innerRadius);\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn innerRadius + (radius - innerRadius) / length * (index + 1);\n\t\t\t}\n\t\t}\n\t\treturn radius;\n\t}\n\n\t/**\n\t * Returns inner radius in pixels.\n\t *\n\t * If optional series parameter is passed in, it will return inner radius\n\t * of that particular series.\n\t *\n\t * @param series Series\n\t * @return Radius in pixels\n\t */\n\tpublic innerRadius(series?: PieSeries): number {\n\t\tconst radius = this.radius();\n\t\tlet innerRadius = $utils.relativeToValue(this.get(\"innerRadius\", 0), radius);\n\n\t\tif (innerRadius < 0) {\n\t\t\tinnerRadius = radius + innerRadius;\n\t\t}\n\n\t\tif (series) {\n\t\t\tlet index = this.series.indexOf(series);\n\t\t\tlet length = this.series.length;\n\n\t\t\tlet seriesInnerRadius = series.get(\"innerRadius\");\n\t\t\tif (seriesInnerRadius != null) {\n\t\t\t\treturn innerRadius + $utils.relativeToValue(seriesInnerRadius, radius - innerRadius);\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn innerRadius + (radius - innerRadius) / length * index;\n\t\t\t}\n\t\t}\n\t\treturn innerRadius;\n\t}\n}\n"]}
1
+ {"version":3,"file":"PieChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieChart.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PieSeries } from \"./PieSeries\";\n\nimport { Percent } from \"../../core/util/Percent\";\nimport { PercentChart, IPercentChartPrivate, IPercentChartSettings } from \"../percent/PercentChart\";\nimport { p50 } from \"../../core/util/Percent\";\n\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $math from \"../../core/util/Math\";\n\n\nexport interface IPieChartSettings extends IPercentChartSettings {\n\n\t/**\n\t * Outer radius of the pie chart.\n\t *\n\t * Can be set in fixed pixel value, or relative to chart container size in\n\t * percent.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Pie_radius} for more info\n\t * @default 80%\n\t */\n\tradius?: number | Percent;\n\n\t/**\n\t * Inner radius of the pie chart. Setting to any non-zero value will result\n\t * in a donut chart.\n\t *\n\t * Can be set in fixed pixel value, or relative to chart container size in\n\t * percent.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Pie_radius} for more info\n\t */\n\tinnerRadius?: number | Percent;\n\n\t/**\n\t * A start angle of the chart in degrees.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Start_end_angles} for more info\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * An end angle of the chart in degrees.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Start_end_angles} for more info\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n}\n\nexport interface IPieChartPrivate extends IPercentChartPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tirModifyer?: number;\n\n}\n\n/**\n * Creates a pie chart.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info\n * @important\n */\nexport class PieChart extends PercentChart {\n\n\tpublic static className: string = \"PieChart\";\n\tpublic static classNames: Array<string> = PercentChart.classNames.concat([PieChart.className]);\n\n\tdeclare public _settings: IPieChartSettings;\n\tdeclare public _privateSettings: IPieChartPrivate;\n\tdeclare public _seriesType: PieSeries;\n\n\tpublic _maxRadius: number = 1;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.seriesContainer.setAll({ x: p50, y: p50 });\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tconst chartContainer = this.chartContainer;\n\t\tconst w = chartContainer.innerWidth();\n\t\tconst h = chartContainer.innerHeight();\n\n\t\tconst startAngle = this.get(\"startAngle\", 0);\n\t\tconst endAngle = this.get(\"endAngle\", 0);\n\t\tconst innerRadius = this.get(\"innerRadius\");\n\n\n\t\tlet bounds = $math.getArcBounds(0, 0, startAngle, endAngle, 1);\n\n\t\tconst wr = w / (bounds.right - bounds.left);\n\t\tconst hr = h / (bounds.bottom - bounds.top);\n\n\t\tlet innerBounds = { left: 0, right: 0, top: 0, bottom: 0 };\n\n\t\tif (innerRadius instanceof Percent) {\n\t\t\tlet value = innerRadius.value;\n\t\t\tlet mr = Math.min(wr, hr);\n\t\t\tvalue = Math.max(mr * value, mr - Math.min(h, w)) / mr;\n\t\t\tinnerBounds = $math.getArcBounds(0, 0, startAngle, endAngle, value);\n\t\t\tthis.setPrivateRaw(\"irModifyer\", value / innerRadius.value);\n\t\t}\n\n\t\tbounds = $math.mergeBounds([bounds, innerBounds]);\n\n\t\tconst prevRadius = this._maxRadius;\n\t\tthis._maxRadius = Math.min(wr, hr);\n\n\t\tconst radius = $utils.relativeToValue(this.get(\"radius\", 0), this._maxRadius);\n\t\tthis.seriesContainer.setAll({\n\t\t\tdy: -radius * (bounds.bottom + bounds.top) / 2, dx: -radius * (bounds.right + bounds.left) / 2\n\t\t})\n\n\t\tif (this.isDirty(\"startAngle\") || this.isDirty(\"endAngle\") || prevRadius != this._maxRadius) {\n\t\t\tthis.series.each((series) => {\n\t\t\t\tseries._markDirtyKey(\"startAngle\");\n\t\t\t})\n\t\t}\n\n\t\tif(this.isDirty(\"innerRadius\") || this.isDirty(\"radius\")){\n\t\t\tthis.series.each((series) => {\n\t\t\t\tseries._markDirtyKey(\"innerRadius\");\n\t\t\t})\t\t\t\n\t\t}\n\t}\n\n\t/**\n\t * Returns outer radius in pixels.\n\t *\n\t * If optional series parameter is passed in, it will return outer radius\n\t * of that particular series.\n\t *\n\t * @param series Series\n\t * @return Radius in pixels\n\t */\n\tpublic radius(series?: PieSeries): number {\n\n\t\tlet radius = $utils.relativeToValue(this.get(\"radius\", 0), this._maxRadius);\n\t\tlet innerRadius = $utils.relativeToValue(this.get(\"innerRadius\", 0), radius);\n\n\t\tif (series) {\n\t\t\tlet index = this.series.indexOf(series);\n\t\t\tlet length = this.series.length;\n\n\t\t\tlet seriesRadius = series.get(\"radius\");\n\t\t\tif (seriesRadius != null) {\n\t\t\t\treturn innerRadius + $utils.relativeToValue(seriesRadius, radius - innerRadius);\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn innerRadius + (radius - innerRadius) / length * (index + 1);\n\t\t\t}\n\t\t}\n\t\treturn radius;\n\t}\n\n\t/**\n\t * Returns inner radius in pixels.\n\t *\n\t * If optional series parameter is passed in, it will return inner radius\n\t * of that particular series.\n\t *\n\t * @param series Series\n\t * @return Radius in pixels\n\t */\n\tpublic innerRadius(series?: PieSeries): number {\n\t\tconst radius = this.radius();\n\t\tlet innerRadius = $utils.relativeToValue(this.get(\"innerRadius\", 0), radius);\n\n\t\tif (innerRadius < 0) {\n\t\t\tinnerRadius = radius + innerRadius;\n\t\t}\n\n\t\tif (series) {\n\t\t\tlet index = this.series.indexOf(series);\n\t\t\tlet length = this.series.length;\n\n\t\t\tlet seriesInnerRadius = series.get(\"innerRadius\");\n\t\t\tif (seriesInnerRadius != null) {\n\t\t\t\treturn innerRadius + $utils.relativeToValue(seriesInnerRadius, radius - innerRadius);\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn innerRadius + (radius - innerRadius) / length * index;\n\t\t\t}\n\t\t}\n\t\treturn innerRadius;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PieSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEhI,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAQ,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAMvD,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IACjE,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAEjE;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAE/D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAEhB;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,aAAa;IAE5B,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE3C,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA0D;IAElF,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,CAAC;IAEtC,UAAU,EAAE,KAAK,CAAC;IAClB,UAAU,EAAE,WAAW,CAAC;IAEvC,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IASzD,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IASzD,SAAS,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IASvD,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IA4BvE,SAAS,CAAC,UAAU;IAIpB,SAAS,CAAC,YAAY;IAIf,gBAAgB;IA+FvB,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAqC5D,eAAe,CAAC,MAAM,EAAE,MAAM;CAsBrC"}
1
+ {"version":3,"file":"PieSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEhI,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAQ,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAMvD,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IACjE,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAEjE;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAE/D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAEhB;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,aAAa;IAE5B,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE3C,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA0D;IAElF,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,CAAC;IAEtC,UAAU,EAAE,KAAK,CAAC;IAClB,UAAU,EAAE,WAAW,CAAC;IAEvC,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IASzD,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IASzD,SAAS,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IASvD,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IA4BvE,SAAS,CAAC,UAAU;IAQpB,SAAS,CAAC,YAAY;IASf,gBAAgB;IA+FvB,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAqC5D,eAAe,CAAC,MAAM,EAAE,MAAM;CAsBrC"}
@@ -85,6 +85,10 @@ var PieSeries = /** @class */ (function (_super) {
85
85
  configurable: true,
86
86
  writable: true,
87
87
  value: function () {
88
+ var chart = this.chart;
89
+ if (chart) {
90
+ return chart._maxRadius;
91
+ }
88
92
  return this.labelsContainer.maxHeight() / 2;
89
93
  }
90
94
  });
@@ -93,6 +97,10 @@ var PieSeries = /** @class */ (function (_super) {
93
97
  configurable: true,
94
98
  writable: true,
95
99
  value: function () {
100
+ var chart = this.chart;
101
+ if (chart) {
102
+ return -chart._maxRadius;
103
+ }
96
104
  return -this.labelsContainer.maxHeight() / 2;
97
105
  }
98
106
  });
@@ -1 +1 @@
1
- {"version":3,"file":"PieSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { PieChart } from \"./PieChart\";\n\nimport { PercentSeries, IPercentSeriesSettings, IPercentSeriesDataItem, IPercentSeriesPrivate } from \"../percent/PercentSeries\";\nimport { Template } from \"../../core/util/Template\";\nimport { Slice } from \"../../core/render/Slice\";\nimport { Tick } from \"../../core/render/Tick\";\nimport { RadialLabel } from \"../../core/render/RadialLabel\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { p100, Percent } from \"../../core/util/Percent\";\nimport type { Bullet } from \"../../core/render/Bullet\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IPieSeriesDataItem extends IPercentSeriesDataItem {\n\tslice: Slice;\n\tlabel: RadialLabel;\n}\n\nexport interface IPieSeriesSettings extends IPercentSeriesSettings {\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t */\n\tradius?: Percent | number;\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t */\n\tinnerRadius?: Percent | number;\n\n\t/**\n\t * Start angle of the series in degrees.\n\t *\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * End angle of the series in degrees.\n\t *\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n}\n\nexport interface IPieSeriesPrivate extends IPercentSeriesPrivate {\n\n\t/**\n\t * Actual radius of the series in pixels.\n\t */\n\tradius?: number;\n\n}\n\n/**\n * Creates a series for a [[PieChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info\n * @important\n */\nexport class PieSeries extends PercentSeries {\n\n\tdeclare public chart: PieChart | undefined;\n\n\tpublic static className: string = \"PieSeries\";\n\tpublic static classNames: Array<string> = PercentSeries.classNames.concat([PieSeries.className]);\n\n\tdeclare public _settings: IPieSeriesSettings;\n\tdeclare public _privateSettings: IPieSeriesPrivate;\n\tdeclare public _dataItemSettings: IPieSeriesDataItem;\n\n\tdeclare public _sliceType: Slice;\n\tdeclare public _labelType: RadialLabel;\n\n\tprotected _makeSlices(): ListTemplate<this[\"_sliceType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Slice._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.slices.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.slices.template]),\n\t\t);\n\t}\n\n\tprotected _makeLabels(): ListTemplate<this[\"_labelType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => RadialLabel._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.labels.template]),\n\t\t);\n\t}\n\n\tprotected _makeTicks(): ListTemplate<this[\"_tickType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Tick._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.ticks.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.ticks.template]),\n\t\t);\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst slice = this.makeSlice(dataItem);\n\n\t\tslice.on(\"scale\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.on(\"shiftRadius\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tconst label = this.makeLabel(dataItem);\n\n\t\tlabel.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tthis.makeTick(dataItem);\n\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tlabel.markDirty();\n\t\t})\n\t}\n\n\tprotected _getNextUp() {\n\t\treturn this.labelsContainer.maxHeight() / 2;\n\t}\n\n\tprotected _getNextDown() {\n\t\treturn -this.labelsContainer.maxHeight() / 2;\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\n\t\t\tif (this.isDirty(\"alignLabels\")) {\n\t\t\t\tlet labelsTemplate = this.labels.template;\n\n\t\t\t\tif (this.get(\"alignLabels\")) {\n\t\t\t\t\tlabelsTemplate.set(\"textType\", \"aligned\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet textType = labelsTemplate.get(\"textType\");\n\t\t\t\t\tif (textType == null || textType == \"aligned\") {\n\t\t\t\t\t\tlabelsTemplate.set(\"textType\", \"adjusted\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tif (this._valuesDirty || this.isDirty(\"radius\") || this.isDirty(\"innerRadius\") || this.isDirty(\"startAngle\") || this.isDirty(\"endAngle\") || this.isDirty(\"alignLabels\")) {\n\t\t\t\tthis.markDirtyBounds();\n\t\t\t\tconst startAngle = this.get(\"startAngle\", chart.get(\"startAngle\", -90));\n\t\t\t\tconst endAngle = this.get(\"endAngle\", chart.get(\"endAngle\", 270));\n\t\t\t\tconst arc = endAngle - startAngle;\n\t\t\t\tlet currentAngle = startAngle;\n\n\t\t\t\tconst radius = chart.radius(this);\n\t\t\t\tthis.setPrivateRaw(\"radius\", radius);\n\t\t\t\tlet innerRadius = chart.innerRadius(this) * chart.getPrivate(\"irModifyer\", 1);\n\n\t\t\t\tif (innerRadius < 0) {\n\t\t\t\t\tinnerRadius = radius + innerRadius;\n\t\t\t\t}\n\n\t\t\t\t//if (radius > 0) {\n\t\t\t\t\t$array.each(this._dataItems, (dataItem) => {\n\n\t\t\t\t\t\tthis.updateLegendValue(dataItem);\n\n\t\t\t\t\t\tlet currentArc = arc * dataItem.get(\"valuePercentTotal\") / 100;\n\t\t\t\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\t\t\t\tif (slice) {\n\t\t\t\t\t\t\tslice.set(\"radius\", radius);\n\t\t\t\t\t\t\tslice.set(\"innerRadius\", innerRadius);\n\t\t\t\t\t\t\tslice.set(\"startAngle\", currentAngle);\n\n\t\t\t\t\t\t\tslice.set(\"arc\", currentArc);\n\n\t\t\t\t\t\t\tconst color = dataItem.get(\"fill\");\n\t\t\t\t\t\t\tslice._setDefault(\"fill\", color);\n\t\t\t\t\t\t\tslice._setDefault(\"stroke\", color);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet middleAngle = $math.normalizeAngle(currentAngle + currentArc / 2);\n\n\t\t\t\t\t\tconst label = dataItem.get(\"label\");\n\t\t\t\t\t\tif (label) {\n\t\t\t\t\t\t\tlabel.setPrivate(\"radius\", radius);\n\t\t\t\t\t\t\tlabel.setPrivate(\"innerRadius\", innerRadius);\n\t\t\t\t\t\t\tlabel.set(\"labelAngle\", middleAngle);\n\n\t\t\t\t\t\t\tif (label.get(\"textType\") == \"aligned\") {\n\t\t\t\t\t\t\t\tlet labelRadius = radius + label.get(\"radius\", 0);\n\t\t\t\t\t\t\t\tlet y = radius * $math.sin(middleAngle);\n\n\t\t\t\t\t\t\t\tif (middleAngle > 90 && middleAngle <= 270) {\n\t\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\t\tthis._lLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabelRadius *= -1;\n\t\t\t\t\t\t\t\t\tlabelRadius -= this.labelsContainer.get(\"paddingLeft\", 0);\n\t\t\t\t\t\t\t\t\tlabel.set(\"centerX\", p100);\n\t\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", true);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\t\tthis._rLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tlabelRadius += this.labelsContainer.get(\"paddingRight\", 0);\n\t\t\t\t\t\t\t\t\tlabel.set(\"centerX\", 0);\n\t\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabel.set(\"x\", labelRadius);\n\t\t\t\t\t\t\t\tlabel.set(\"y\", radius * $math.sin(middleAngle));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcurrentAngle += currentArc;\n\t\t\t\t\t\tthis._updateTick(dataItem);\n\t\t\t\t\t})\n\t\t\t\t//}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTick(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tconst label = dataItem.get(\"label\");\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tconst location = tick.get(\"location\", 1);\n\t\tif (tick && label && slice) {\n\t\t\tconst radius = (slice.get(\"shiftRadius\", 0) + slice.get(\"radius\", 0)) * slice.get(\"scale\", 1) * location;\n\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\tconst cos = $math.cos(labelAngle);\n\t\t\tconst sin = $math.sin(labelAngle);\n\n\t\t\tconst labelsContainer = this.labelsContainer;\n\t\t\tconst pl = labelsContainer.get(\"paddingLeft\", 0);\n\t\t\tconst pr = labelsContainer.get(\"paddingRight\", 0);\n\n\t\t\tlet x = 0;\n\t\t\tlet y = 0;\n\n\t\t\tx = label.x();\n\t\t\ty = label.y();\n\n\t\t\tif (label.get(\"textType\") == \"circular\") {\n\t\t\t\tconst labelRadius = label.radius() - label.get(\"paddingBottom\", 0);\n\t\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\t\tx = labelRadius * $math.cos(labelAngle);\n\t\t\t\ty = labelRadius * $math.sin(labelAngle);\n\t\t\t}\n\n\t\t\tlet dx = -pr;\n\t\t\tif (label.getPrivate(\"left\")) {\n\t\t\t\tdx = pl;\n\t\t\t}\n\n\t\t\ttick.set(\"points\", [{ x: slice.x() + radius * cos, y: slice.y() + radius * sin }, { x: x + dx, y: y }, { x: x, y: y }]);\n\t\t}\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tconst slice = dataItem.get(\"slice\");\n\n\t\t\tif (slice) {\n\t\t\t\tconst innerRadius = slice.get(\"innerRadius\", 0);\n\t\t\t\tconst radius = slice.get(\"radius\", 0);\n\t\t\t\tconst startAngle = slice.get(\"startAngle\", 0);\n\t\t\t\tconst arc = slice.get(\"arc\", 0);\n\t\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\n\t\t\t\tconst angle = startAngle + arc * locationX;\n\t\t\t\tconst r = innerRadius + (radius - innerRadius) * locationY;\n\n\t\t\t\tsprite.setAll({ x: $math.cos(angle) * r, y: $math.sin(angle) * r });\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"PieSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { PieChart } from \"./PieChart\";\n\nimport { PercentSeries, IPercentSeriesSettings, IPercentSeriesDataItem, IPercentSeriesPrivate } from \"../percent/PercentSeries\";\nimport { Template } from \"../../core/util/Template\";\nimport { Slice } from \"../../core/render/Slice\";\nimport { Tick } from \"../../core/render/Tick\";\nimport { RadialLabel } from \"../../core/render/RadialLabel\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { p100, Percent } from \"../../core/util/Percent\";\nimport type { Bullet } from \"../../core/render/Bullet\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IPieSeriesDataItem extends IPercentSeriesDataItem {\n\tslice: Slice;\n\tlabel: RadialLabel;\n}\n\nexport interface IPieSeriesSettings extends IPercentSeriesSettings {\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t */\n\tradius?: Percent | number;\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t */\n\tinnerRadius?: Percent | number;\n\n\t/**\n\t * Start angle of the series in degrees.\n\t *\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * End angle of the series in degrees.\n\t *\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n}\n\nexport interface IPieSeriesPrivate extends IPercentSeriesPrivate {\n\n\t/**\n\t * Actual radius of the series in pixels.\n\t */\n\tradius?: number;\n\n}\n\n/**\n * Creates a series for a [[PieChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info\n * @important\n */\nexport class PieSeries extends PercentSeries {\n\n\tdeclare public chart: PieChart | undefined;\n\n\tpublic static className: string = \"PieSeries\";\n\tpublic static classNames: Array<string> = PercentSeries.classNames.concat([PieSeries.className]);\n\n\tdeclare public _settings: IPieSeriesSettings;\n\tdeclare public _privateSettings: IPieSeriesPrivate;\n\tdeclare public _dataItemSettings: IPieSeriesDataItem;\n\n\tdeclare public _sliceType: Slice;\n\tdeclare public _labelType: RadialLabel;\n\n\tprotected _makeSlices(): ListTemplate<this[\"_sliceType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Slice._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.slices.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.slices.template]),\n\t\t);\n\t}\n\n\tprotected _makeLabels(): ListTemplate<this[\"_labelType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => RadialLabel._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.labels.template]),\n\t\t);\n\t}\n\n\tprotected _makeTicks(): ListTemplate<this[\"_tickType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Tick._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.ticks.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.ticks.template]),\n\t\t);\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst slice = this.makeSlice(dataItem);\n\n\t\tslice.on(\"scale\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.on(\"shiftRadius\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tconst label = this.makeLabel(dataItem);\n\n\t\tlabel.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tthis.makeTick(dataItem);\n\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tlabel.markDirty();\n\t\t})\n\t}\n\n\tprotected _getNextUp() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn chart._maxRadius;\n\t\t}\n\t\treturn this.labelsContainer.maxHeight() / 2;\n\t}\n\n\tprotected _getNextDown() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn -chart._maxRadius;\n\t\t}\n\t\treturn -this.labelsContainer.maxHeight() / 2;\n\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\n\t\t\tif (this.isDirty(\"alignLabels\")) {\n\t\t\t\tlet labelsTemplate = this.labels.template;\n\n\t\t\t\tif (this.get(\"alignLabels\")) {\n\t\t\t\t\tlabelsTemplate.set(\"textType\", \"aligned\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet textType = labelsTemplate.get(\"textType\");\n\t\t\t\t\tif (textType == null || textType == \"aligned\") {\n\t\t\t\t\t\tlabelsTemplate.set(\"textType\", \"adjusted\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tif (this._valuesDirty || this.isDirty(\"radius\") || this.isDirty(\"innerRadius\") || this.isDirty(\"startAngle\") || this.isDirty(\"endAngle\") || this.isDirty(\"alignLabels\")) {\n\t\t\t\tthis.markDirtyBounds();\n\t\t\t\tconst startAngle = this.get(\"startAngle\", chart.get(\"startAngle\", -90));\n\t\t\t\tconst endAngle = this.get(\"endAngle\", chart.get(\"endAngle\", 270));\n\t\t\t\tconst arc = endAngle - startAngle;\n\t\t\t\tlet currentAngle = startAngle;\n\n\t\t\t\tconst radius = chart.radius(this);\n\t\t\t\tthis.setPrivateRaw(\"radius\", radius);\n\t\t\t\tlet innerRadius = chart.innerRadius(this) * chart.getPrivate(\"irModifyer\", 1);\n\n\t\t\t\tif (innerRadius < 0) {\n\t\t\t\t\tinnerRadius = radius + innerRadius;\n\t\t\t\t}\n\n\t\t\t\t//if (radius > 0) {\n\t\t\t\t$array.each(this._dataItems, (dataItem) => {\n\n\t\t\t\t\tthis.updateLegendValue(dataItem);\n\n\t\t\t\t\tlet currentArc = arc * dataItem.get(\"valuePercentTotal\") / 100;\n\t\t\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\t\t\tif (slice) {\n\t\t\t\t\t\tslice.set(\"radius\", radius);\n\t\t\t\t\t\tslice.set(\"innerRadius\", innerRadius);\n\t\t\t\t\t\tslice.set(\"startAngle\", currentAngle);\n\n\t\t\t\t\t\tslice.set(\"arc\", currentArc);\n\n\t\t\t\t\t\tconst color = dataItem.get(\"fill\");\n\t\t\t\t\t\tslice._setDefault(\"fill\", color);\n\t\t\t\t\t\tslice._setDefault(\"stroke\", color);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet middleAngle = $math.normalizeAngle(currentAngle + currentArc / 2);\n\n\t\t\t\t\tconst label = dataItem.get(\"label\");\n\t\t\t\t\tif (label) {\n\t\t\t\t\t\tlabel.setPrivate(\"radius\", radius);\n\t\t\t\t\t\tlabel.setPrivate(\"innerRadius\", innerRadius);\n\t\t\t\t\t\tlabel.set(\"labelAngle\", middleAngle);\n\n\t\t\t\t\t\tif (label.get(\"textType\") == \"aligned\") {\n\t\t\t\t\t\t\tlet labelRadius = radius + label.get(\"radius\", 0);\n\t\t\t\t\t\t\tlet y = radius * $math.sin(middleAngle);\n\n\t\t\t\t\t\t\tif (middleAngle > 90 && middleAngle <= 270) {\n\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\tthis._lLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabelRadius *= -1;\n\t\t\t\t\t\t\t\tlabelRadius -= this.labelsContainer.get(\"paddingLeft\", 0);\n\t\t\t\t\t\t\t\tlabel.set(\"centerX\", p100);\n\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", true);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\tthis._rLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabelRadius += this.labelsContainer.get(\"paddingRight\", 0);\n\t\t\t\t\t\t\t\tlabel.set(\"centerX\", 0);\n\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel.set(\"x\", labelRadius);\n\t\t\t\t\t\t\tlabel.set(\"y\", radius * $math.sin(middleAngle));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcurrentAngle += currentArc;\n\t\t\t\t\tthis._updateTick(dataItem);\n\t\t\t\t})\n\t\t\t\t//}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTick(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tconst label = dataItem.get(\"label\");\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tconst location = tick.get(\"location\", 1);\n\t\tif (tick && label && slice) {\n\t\t\tconst radius = (slice.get(\"shiftRadius\", 0) + slice.get(\"radius\", 0)) * slice.get(\"scale\", 1) * location;\n\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\tconst cos = $math.cos(labelAngle);\n\t\t\tconst sin = $math.sin(labelAngle);\n\n\t\t\tconst labelsContainer = this.labelsContainer;\n\t\t\tconst pl = labelsContainer.get(\"paddingLeft\", 0);\n\t\t\tconst pr = labelsContainer.get(\"paddingRight\", 0);\n\n\t\t\tlet x = 0;\n\t\t\tlet y = 0;\n\n\t\t\tx = label.x();\n\t\t\ty = label.y();\n\n\t\t\tif (label.get(\"textType\") == \"circular\") {\n\t\t\t\tconst labelRadius = label.radius() - label.get(\"paddingBottom\", 0);\n\t\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\t\tx = labelRadius * $math.cos(labelAngle);\n\t\t\t\ty = labelRadius * $math.sin(labelAngle);\n\t\t\t}\n\n\t\t\tlet dx = -pr;\n\t\t\tif (label.getPrivate(\"left\")) {\n\t\t\t\tdx = pl;\n\t\t\t}\n\n\t\t\ttick.set(\"points\", [{ x: slice.x() + radius * cos, y: slice.y() + radius * sin }, { x: x + dx, y: y }, { x: x, y: y }]);\n\t\t}\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tconst slice = dataItem.get(\"slice\");\n\n\t\t\tif (slice) {\n\t\t\t\tconst innerRadius = slice.get(\"innerRadius\", 0);\n\t\t\t\tconst radius = slice.get(\"radius\", 0);\n\t\t\t\tconst startAngle = slice.get(\"startAngle\", 0);\n\t\t\t\tconst arc = slice.get(\"arc\", 0);\n\t\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\n\t\t\t\tconst angle = startAngle + arc * locationX;\n\t\t\t\tconst r = innerRadius + (radius - innerRadius) * locationY;\n\n\t\t\t\tsprite.setAll({ x: $math.cos(angle) * r, y: $math.sin(angle) * r });\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -10,11 +10,11 @@ export interface IFibonacciSeriesDataItem extends ISimpleLineSeriesDataItem {
10
10
  }
11
11
  export interface IFibonacciSeriesSettings extends ISimpleLineSeriesSettings {
12
12
  /**
13
- * @todo review
13
+ * Sequence.
14
14
  */
15
15
  sequence?: Array<number>;
16
16
  /**
17
- * @todo review
17
+ * Array of colors to use for bands.
18
18
  */
19
19
  colors?: Array<Color>;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FibonacciSeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/FibonacciSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACtI,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAKtD,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;CAE1E;AAED,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IAC1E;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CACrB;AAED,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;CAExE;AAMD,qBAAa,eAAgB,SAAQ,gBAAgB;IACpD,OAAc,SAAS,EAAE,MAAM,CAAqB;IACpD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAmE;IAE3F,SAAS,EAAE,wBAAwB,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,iBAAiB,EAAE,wBAAwB,CAAC;IAE3D,SAAS,CAAC,IAAI,SAAe;IAC7B,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAM;IAC5C,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAM;IAC9C,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAM;IAEhD;;OAEG;IACI,SAAS,IAAI,KAAK;IAOzB;;;;;;OAMG;IACH,SAAgB,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAGzC;IAEF,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM;IAKtC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAUnC,eAAe;IAOtB,SAAS,CAAC,mBAAmB;IA4E7B,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAE,IAAI;IAiDpE,SAAS,CAAC,SAAS;IAInB,SAAS,CAAC,WAAW;IAIrB,SAAS,CAAC,WAAW;IAIrB,SAAS,CAAC,cAAc;IAIjB,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;CAiCpE"}
1
+ {"version":3,"file":"FibonacciSeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/FibonacciSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACtI,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAKtD,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;CAE1E;AAED,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IAE1E;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAErB;AAED,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;CAExE;AAMD,qBAAa,eAAgB,SAAQ,gBAAgB;IACpD,OAAc,SAAS,EAAE,MAAM,CAAqB;IACpD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAmE;IAE3F,SAAS,EAAE,wBAAwB,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,iBAAiB,EAAE,wBAAwB,CAAC;IAE3D,SAAS,CAAC,IAAI,SAAe;IAC7B,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAM;IAC5C,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAM;IAC9C,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAM;IAEhD;;OAEG;IACI,SAAS,IAAI,KAAK;IAOzB;;;;;;OAMG;IACH,SAAgB,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAGzC;IAEF,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM;IAKtC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAUnC,eAAe;IAOtB,SAAS,CAAC,mBAAmB;IA4E7B,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAiDrE,SAAS,CAAC,SAAS;IAInB,SAAS,CAAC,WAAW;IAIrB,SAAS,CAAC,WAAW;IAIrB,SAAS,CAAC,cAAc;IAIjB,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;CAiCpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"FibonacciSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/FibonacciSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ISpritePointerEvent } from \"../../../core/render/Sprite\";\r\nimport type { Graphics } from \"../../../core/render/Graphics\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nimport { SimpleLineSeries, ISimpleLineSeriesSettings, ISimpleLineSeriesPrivate, ISimpleLineSeriesDataItem } from \"./SimpleLineSeries\";\r\nimport { Label } from \"../../../core/render/Label\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport { Template } from \"../../../core/util/Template\";\r\nimport type { Line } from \"../../../core/render/Line\";\r\n\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IFibonacciSeriesDataItem extends ISimpleLineSeriesDataItem {\r\n\r\n}\r\n\r\nexport interface IFibonacciSeriesSettings extends ISimpleLineSeriesSettings {\r\n\t/**\r\n\t * @todo review\r\n\t */\t\r\n\tsequence?: Array<number>;\r\n\t/**\r\n\t * @todo review\r\n\t */\t\r\n\tcolors?: Array<Color>\r\n}\r\n\r\nexport interface IFibonacciSeriesPrivate extends ISimpleLineSeriesPrivate {\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport class FibonacciSeries extends SimpleLineSeries {\r\n\tpublic static className: string = \"FibonacciSeries\";\r\n\tpublic static classNames: Array<string> = SimpleLineSeries.classNames.concat([FibonacciSeries.className]);\r\n\r\n\tdeclare public _settings: IFibonacciSeriesSettings;\r\n\tdeclare public _privateSettings: IFibonacciSeriesPrivate;\r\n\tdeclare public _dataItemSettings: IFibonacciSeriesDataItem;\r\n\r\n\tprotected _tag = \"fibonacci\";\r\n\tprotected _labels: Array<Array<Label>> = [];\r\n\tprotected _fills: Array<Array<Graphics>> = [];\r\n\tprotected _strokes: Array<Array<Graphics>> = [];\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeLabel(): Label {\r\n\t\tconst label = this.labels.make();\r\n\t\tthis.mainContainer.children.push(label);\r\n\t\tthis.labels.push(label);\r\n\t\treturn label;\r\n\t}\r\n\r\n\t/**\r\n\t * A list of labels.\r\n\t *\r\n\t * `labels.template` can be used to configure axis labels.\r\n\t *\r\n\t * @default new ListTemplate<Label>\r\n\t */\r\n\tpublic readonly labels: ListTemplate<Label> = new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Label._new(this._root, {}, [this.labels.template])\r\n\t);\r\n\r\n\tprotected _updateSegment(index: number) {\r\n\t\tsuper._updateSegment(index);\r\n\t\tthis._updateSegmentReal(index);\r\n\t}\r\n\r\n\tprotected _updateSegmentReal(index: number) {\r\n\t\tconst diP1 = this._di[index][\"p1\"];\r\n\t\tconst diP2 = this._di[index][\"p2\"];\r\n\r\n\t\tconst valueX = diP1.get(\"valueX\", 0);\r\n\t\tdiP2.set(\"valueX\", valueX);\r\n\t\tthis._setXLocation(diP2, valueX);\r\n\t}\r\n\r\n\r\n\tpublic _updateChildren() {\r\n\r\n\t\tsuper._updateChildren();\r\n\t\tthis._updateChildrenReal();\r\n\r\n\t}\r\n\r\n\tprotected _updateChildrenReal() {\r\n\t\tconst chart = this.chart;\r\n\r\n\t\tif (chart) {\r\n\t\t\tconst yAxis = this.get(\"yAxis\");\r\n\r\n\t\t\tfor (let i = 0; i < this._lines.length; i++) {\r\n\t\t\t\tconst line = this._lines[i];\r\n\t\t\t\tif(line){\r\n\t\t\t\t\tconst diP1 = this._di[i][\"p1\"];\r\n\t\t\t\t\tconst diP2 = this._di[i][\"p2\"];\r\n\r\n\t\t\t\t\tconst p1 = diP1.get(\"point\");\r\n\t\t\t\t\tconst p2 = diP2.get(\"point\");\r\n\r\n\t\t\t\t\tconst valueX = diP1.get(\"valueX\", 0);\r\n\t\t\t\t\tdiP2.set(\"valueX\", valueX);\r\n\t\t\t\t\tthis._setXLocation(diP2, valueX);\r\n\r\n\t\t\t\t\tif (p1 && p2) {\r\n\t\t\t\t\t\tp2.x = chart.plotContainer.width();\r\n\t\t\t\t\t\tconst sequence = this.get(\"sequence\", []);\r\n\t\t\t\t\t\tconst colors = this.get(\"colors\", []);\r\n\t\t\t\t\t\tlet prevValue = 0;\r\n\r\n\t\t\t\t\t\tconst labels = this._labels[i];\r\n\t\t\t\t\t\tconst strokes = this._strokes[i];\r\n\t\t\t\t\t\tconst fills = this._fills[i];\r\n\r\n\t\t\t\t\t\tfor (let i = 0; i < sequence.length; i++) {\r\n\t\t\t\t\t\t\tconst value = sequence[i];\r\n\r\n\t\t\t\t\t\t\tconst color = colors[i];\r\n\t\t\t\t\t\t\tconst label = labels[i];\r\n\r\n\t\t\t\t\t\t\tconst fill = fills[i];\r\n\t\t\t\t\t\t\tconst stroke = strokes[i];\r\n\r\n\t\t\t\t\t\t\tconst y1 = p1.y + (p2.y - p1.y) * prevValue;\r\n\t\t\t\t\t\t\tconst y2 = p1.y + (p2.y - p1.y) * value;\r\n\r\n\t\t\t\t\t\t\tconst realValue = yAxis.positionToValue(yAxis.coordinateToPosition(y2));\r\n\r\n\t\t\t\t\t\t\tfill.setPrivate(\"visible\", true);\r\n\t\t\t\t\t\t\tstroke.setPrivate(\"visible\", true);\r\n\r\n\t\t\t\t\t\t\tfill.set(\"draw\", (display) => {\r\n\t\t\t\t\t\t\t\tdisplay.moveTo(p1.x, y1);\r\n\t\t\t\t\t\t\t\tdisplay.lineTo(p2.x, y1);\r\n\r\n\t\t\t\t\t\t\t\tdisplay.lineTo(p2.x, y2);\r\n\t\t\t\t\t\t\t\tdisplay.lineTo(p1.x, y2);\r\n\t\t\t\t\t\t\t\tdisplay.lineTo(p1.x, y1);\r\n\t\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\t\tstroke.set(\"draw\", (display) => {\r\n\t\t\t\t\t\t\t\tdisplay.moveTo(p1.x, y2);\r\n\t\t\t\t\t\t\t\tdisplay.lineTo(p2.x, y2);\r\n\t\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\t\tconst dataItem = label.dataItem;\r\n\t\t\t\t\t\t\tif (dataItem) {\r\n\t\t\t\t\t\t\t\tdataItem.set(\"value\" as any, realValue);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tlabel.setAll({ x: p2.x, y: y2, fill: color });\r\n\t\t\t\t\t\t\tlabel.text.markDirtyText();\r\n\r\n\t\t\t\t\t\t\tprevValue = value;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _addPoints(event: ISpritePointerEvent, index: number):Line {\r\n\t\tlet line = super._addPoints(event, index);\r\n\r\n\t\tconst labelArr = [];\r\n\t\tconst fillsArr = [];\r\n\t\tconst strokesArr = [];\r\n\r\n\t\tconst diP1 = this._di[index][\"p1\"];\r\n\t\tconst diP2 = this._di[index][\"p2\"];\r\n\r\n\t\tconst userData = [this.dataItems.indexOf(diP1), this.dataItems.indexOf(diP2)];\r\n\r\n\t\tconst sequence = this.get(\"sequence\", []);\r\n\t\tconst colors = this.get(\"colors\", []);\r\n\r\n\t\tfor (let i = 0; i < sequence.length; i++) {\r\n\t\t\tconst label = this.makeLabel();\r\n\t\t\tconst dataItem = this.makeDataItem({});\r\n\t\t\tdataItem.set(\"sequence\" as any, sequence[i]);\r\n\t\t\tlabel._setDataItem(dataItem);\r\n\t\t\tlabelArr.push(label);\r\n\r\n\t\t\tconst fill = this.makeFill(this.fills);\r\n\t\t\tfillsArr.push(fill);\r\n\r\n\t\t\tconst stroke = this.makeStroke(this.strokes);\r\n\t\t\tstrokesArr.push(stroke);\r\n\r\n\t\t\tlet fillColor: Color | undefined = colors[i];\r\n\t\t\tlet strokeColor: Color | undefined = colors[i];\r\n\r\n\t\t\tif (!fillColor) {\r\n\t\t\t\tfillColor = this.get(\"fillColor\", this.get(\"fill\"));\r\n\t\t\t}\r\n\t\t\tif (!strokeColor) {\r\n\t\t\t\tstrokeColor = this.get(\"strokeColor\", this.get(\"stroke\"));\r\n\t\t\t}\r\n\r\n\t\t\tfill.setAll({ fill: fillColor, userData: userData });\r\n\t\t\tstroke.setAll({ stroke: strokeColor, userData: userData });\r\n\t\t}\r\n\r\n\t\tthis._labels[index] = labelArr;\r\n\t\tthis._fills[index] = fillsArr;\r\n\t\tthis._strokes[index] = strokesArr;\r\n\r\n\t\treturn line;\r\n\t}\r\n\r\n\tprotected _drawFill() {\r\n\r\n\t}\r\n\r\n\tprotected _drawStroke() {\r\n\r\n\t}\r\n\r\n\tprotected _updateLine() {\r\n\r\n\t}\r\n\r\n\tprotected _clearGraphics() {\r\n\r\n\t}\r\n\r\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tsuper.disposeDataItem(dataItem);\r\n\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\tif (dataContext) {\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tconst labels = this._labels[index];\r\n\t\t\tconst fills = this._fills[index];\r\n\t\t\tconst strokes = this._strokes[index];\r\n\r\n\t\t\tif (labels) {\r\n\t\t\t\t$array.each(labels, (item) => {\r\n\t\t\t\t\titem.dispose();\r\n\t\t\t\t\tthis.labels.removeValue(item);\r\n\t\t\t\t})\r\n\r\n\t\t\t\tdelete (this._labels[index]);\r\n\t\t\t}\r\n\t\t\tif (fills) {\r\n\t\t\t\t$array.each(fills, (item) => {\r\n\t\t\t\t\tthis.fills.removeValue(item);\r\n\t\t\t\t\titem.dispose();\r\n\t\t\t\t})\r\n\t\t\t\tdelete (this._fills[index]);\r\n\t\t\t}\r\n\t\t\tif (strokes) {\r\n\t\t\t\t$array.each(strokes, (item) => {\r\n\t\t\t\t\tthis.strokes.removeValue(item);\r\n\t\t\t\t\titem.dispose();\r\n\t\t\t\t})\r\n\t\t\t\tdelete (this._strokes[index]);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}"]}
1
+ {"version":3,"file":"FibonacciSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/FibonacciSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ISpritePointerEvent } from \"../../../core/render/Sprite\";\r\nimport type { Graphics } from \"../../../core/render/Graphics\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nimport { SimpleLineSeries, ISimpleLineSeriesSettings, ISimpleLineSeriesPrivate, ISimpleLineSeriesDataItem } from \"./SimpleLineSeries\";\r\nimport { Label } from \"../../../core/render/Label\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport { Template } from \"../../../core/util/Template\";\r\nimport type { Line } from \"../../../core/render/Line\";\r\n\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IFibonacciSeriesDataItem extends ISimpleLineSeriesDataItem {\r\n\r\n}\r\n\r\nexport interface IFibonacciSeriesSettings extends ISimpleLineSeriesSettings {\r\n\r\n\t/**\r\n\t * Sequence.\r\n\t */\r\n\tsequence?: Array<number>;\r\n\r\n\t/**\r\n\t * Array of colors to use for bands.\r\n\t */\r\n\tcolors?: Array<Color>\r\n\r\n}\r\n\r\nexport interface IFibonacciSeriesPrivate extends ISimpleLineSeriesPrivate {\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport class FibonacciSeries extends SimpleLineSeries {\r\n\tpublic static className: string = \"FibonacciSeries\";\r\n\tpublic static classNames: Array<string> = SimpleLineSeries.classNames.concat([FibonacciSeries.className]);\r\n\r\n\tdeclare public _settings: IFibonacciSeriesSettings;\r\n\tdeclare public _privateSettings: IFibonacciSeriesPrivate;\r\n\tdeclare public _dataItemSettings: IFibonacciSeriesDataItem;\r\n\r\n\tprotected _tag = \"fibonacci\";\r\n\tprotected _labels: Array<Array<Label>> = [];\r\n\tprotected _fills: Array<Array<Graphics>> = [];\r\n\tprotected _strokes: Array<Array<Graphics>> = [];\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeLabel(): Label {\r\n\t\tconst label = this.labels.make();\r\n\t\tthis.mainContainer.children.push(label);\r\n\t\tthis.labels.push(label);\r\n\t\treturn label;\r\n\t}\r\n\r\n\t/**\r\n\t * A list of labels.\r\n\t *\r\n\t * `labels.template` can be used to configure axis labels.\r\n\t *\r\n\t * @default new ListTemplate<Label>\r\n\t */\r\n\tpublic readonly labels: ListTemplate<Label> = new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Label._new(this._root, {}, [this.labels.template])\r\n\t);\r\n\r\n\tprotected _updateSegment(index: number) {\r\n\t\tsuper._updateSegment(index);\r\n\t\tthis._updateSegmentReal(index);\r\n\t}\r\n\r\n\tprotected _updateSegmentReal(index: number) {\r\n\t\tconst diP1 = this._di[index][\"p1\"];\r\n\t\tconst diP2 = this._di[index][\"p2\"];\r\n\r\n\t\tconst valueX = diP1.get(\"valueX\", 0);\r\n\t\tdiP2.set(\"valueX\", valueX);\r\n\t\tthis._setXLocation(diP2, valueX);\r\n\t}\r\n\r\n\r\n\tpublic _updateChildren() {\r\n\r\n\t\tsuper._updateChildren();\r\n\t\tthis._updateChildrenReal();\r\n\r\n\t}\r\n\r\n\tprotected _updateChildrenReal() {\r\n\t\tconst chart = this.chart;\r\n\r\n\t\tif (chart) {\r\n\t\t\tconst yAxis = this.get(\"yAxis\");\r\n\r\n\t\t\tfor (let i = 0; i < this._lines.length; i++) {\r\n\t\t\t\tconst line = this._lines[i];\r\n\t\t\t\tif (line) {\r\n\t\t\t\t\tconst diP1 = this._di[i][\"p1\"];\r\n\t\t\t\t\tconst diP2 = this._di[i][\"p2\"];\r\n\r\n\t\t\t\t\tconst p1 = diP1.get(\"point\");\r\n\t\t\t\t\tconst p2 = diP2.get(\"point\");\r\n\r\n\t\t\t\t\tconst valueX = diP1.get(\"valueX\", 0);\r\n\t\t\t\t\tdiP2.set(\"valueX\", valueX);\r\n\t\t\t\t\tthis._setXLocation(diP2, valueX);\r\n\r\n\t\t\t\t\tif (p1 && p2) {\r\n\t\t\t\t\t\tp2.x = chart.plotContainer.width();\r\n\t\t\t\t\t\tconst sequence = this.get(\"sequence\", []);\r\n\t\t\t\t\t\tconst colors = this.get(\"colors\", []);\r\n\t\t\t\t\t\tlet prevValue = 0;\r\n\r\n\t\t\t\t\t\tconst labels = this._labels[i];\r\n\t\t\t\t\t\tconst strokes = this._strokes[i];\r\n\t\t\t\t\t\tconst fills = this._fills[i];\r\n\r\n\t\t\t\t\t\tfor (let i = 0; i < sequence.length; i++) {\r\n\t\t\t\t\t\t\tconst value = sequence[i];\r\n\r\n\t\t\t\t\t\t\tconst color = colors[i];\r\n\t\t\t\t\t\t\tconst label = labels[i];\r\n\r\n\t\t\t\t\t\t\tconst fill = fills[i];\r\n\t\t\t\t\t\t\tconst stroke = strokes[i];\r\n\r\n\t\t\t\t\t\t\tconst y1 = p1.y + (p2.y - p1.y) * prevValue;\r\n\t\t\t\t\t\t\tconst y2 = p1.y + (p2.y - p1.y) * value;\r\n\r\n\t\t\t\t\t\t\tconst realValue = yAxis.positionToValue(yAxis.coordinateToPosition(y2));\r\n\r\n\t\t\t\t\t\t\tfill.setPrivate(\"visible\", true);\r\n\t\t\t\t\t\t\tstroke.setPrivate(\"visible\", true);\r\n\r\n\t\t\t\t\t\t\tfill.set(\"draw\", (display) => {\r\n\t\t\t\t\t\t\t\tdisplay.moveTo(p1.x, y1);\r\n\t\t\t\t\t\t\t\tdisplay.lineTo(p2.x, y1);\r\n\r\n\t\t\t\t\t\t\t\tdisplay.lineTo(p2.x, y2);\r\n\t\t\t\t\t\t\t\tdisplay.lineTo(p1.x, y2);\r\n\t\t\t\t\t\t\t\tdisplay.lineTo(p1.x, y1);\r\n\t\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\t\tstroke.set(\"draw\", (display) => {\r\n\t\t\t\t\t\t\t\tdisplay.moveTo(p1.x, y2);\r\n\t\t\t\t\t\t\t\tdisplay.lineTo(p2.x, y2);\r\n\t\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\t\tconst dataItem = label.dataItem;\r\n\t\t\t\t\t\t\tif (dataItem) {\r\n\t\t\t\t\t\t\t\tdataItem.set(\"value\" as any, realValue);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tlabel.setAll({ x: p2.x, y: y2, fill: color });\r\n\t\t\t\t\t\t\tlabel.text.markDirtyText();\r\n\r\n\t\t\t\t\t\t\tprevValue = value;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _addPoints(event: ISpritePointerEvent, index: number): Line {\r\n\t\tlet line = super._addPoints(event, index);\r\n\r\n\t\tconst labelArr = [];\r\n\t\tconst fillsArr = [];\r\n\t\tconst strokesArr = [];\r\n\r\n\t\tconst diP1 = this._di[index][\"p1\"];\r\n\t\tconst diP2 = this._di[index][\"p2\"];\r\n\r\n\t\tconst userData = [this.dataItems.indexOf(diP1), this.dataItems.indexOf(diP2)];\r\n\r\n\t\tconst sequence = this.get(\"sequence\", []);\r\n\t\tconst colors = this.get(\"colors\", []);\r\n\r\n\t\tfor (let i = 0; i < sequence.length; i++) {\r\n\t\t\tconst label = this.makeLabel();\r\n\t\t\tconst dataItem = this.makeDataItem({});\r\n\t\t\tdataItem.set(\"sequence\" as any, sequence[i]);\r\n\t\t\tlabel._setDataItem(dataItem);\r\n\t\t\tlabelArr.push(label);\r\n\r\n\t\t\tconst fill = this.makeFill(this.fills);\r\n\t\t\tfillsArr.push(fill);\r\n\r\n\t\t\tconst stroke = this.makeStroke(this.strokes);\r\n\t\t\tstrokesArr.push(stroke);\r\n\r\n\t\t\tlet fillColor: Color | undefined = colors[i];\r\n\t\t\tlet strokeColor: Color | undefined = colors[i];\r\n\r\n\t\t\tif (!fillColor) {\r\n\t\t\t\tfillColor = this.get(\"fillColor\", this.get(\"fill\"));\r\n\t\t\t}\r\n\t\t\tif (!strokeColor) {\r\n\t\t\t\tstrokeColor = this.get(\"strokeColor\", this.get(\"stroke\"));\r\n\t\t\t}\r\n\r\n\t\t\tfill.setAll({ fill: fillColor, userData: userData });\r\n\t\t\tstroke.setAll({ stroke: strokeColor, userData: userData });\r\n\t\t}\r\n\r\n\t\tthis._labels[index] = labelArr;\r\n\t\tthis._fills[index] = fillsArr;\r\n\t\tthis._strokes[index] = strokesArr;\r\n\r\n\t\treturn line;\r\n\t}\r\n\r\n\tprotected _drawFill() {\r\n\r\n\t}\r\n\r\n\tprotected _drawStroke() {\r\n\r\n\t}\r\n\r\n\tprotected _updateLine() {\r\n\r\n\t}\r\n\r\n\tprotected _clearGraphics() {\r\n\r\n\t}\r\n\r\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tsuper.disposeDataItem(dataItem);\r\n\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\tif (dataContext) {\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tconst labels = this._labels[index];\r\n\t\t\tconst fills = this._fills[index];\r\n\t\t\tconst strokes = this._strokes[index];\r\n\r\n\t\t\tif (labels) {\r\n\t\t\t\t$array.each(labels, (item) => {\r\n\t\t\t\t\titem.dispose();\r\n\t\t\t\t\tthis.labels.removeValue(item);\r\n\t\t\t\t})\r\n\r\n\t\t\t\tdelete (this._labels[index]);\r\n\t\t\t}\r\n\t\t\tif (fills) {\r\n\t\t\t\t$array.each(fills, (item) => {\r\n\t\t\t\t\tthis.fills.removeValue(item);\r\n\t\t\t\t\titem.dispose();\r\n\t\t\t\t})\r\n\t\t\t\tdelete (this._fills[index]);\r\n\t\t\t}\r\n\t\t\tif (strokes) {\r\n\t\t\t\t$array.each(strokes, (item) => {\r\n\t\t\t\t\tthis.strokes.removeValue(item);\r\n\t\t\t\t\titem.dispose();\r\n\t\t\t\t})\r\n\t\t\t\tdelete (this._strokes[index]);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ChartIndicator.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/ChartIndicator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;CAClE;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;CAChE;AAED,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;CAC9D;AAGD;;;;GAIG;AACH,8BAAsB,cAAe,SAAQ,SAAS;IACrD,OAAc,SAAS,EAAE,MAAM,CAAoB;IACnD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA2D;IAEnF,SAAS,EAAE,uBAAuB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,OAAO,EAAE,qBAAqB,CAAC;IAEvC,KAAK,EAAG,UAAU,CAAC;IACnB,KAAK,EAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/B,KAAK,EAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IAChC,MAAM,EAAG,QAAQ,CAAC;IAClB,MAAM,EAAG,WAAW,CAAC;IAE5B,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE7B,SAAS,CAAC,SAAS;IAoEnB,SAAS,CAAC,QAAQ;IAKlB,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,QAAQ;CAC5C"}
1
+ {"version":3,"file":"ChartIndicator.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/ChartIndicator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;CAClE;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;CAChE;AAED,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;CAC9D;AAGD;;;;GAIG;AACH,8BAAsB,cAAe,SAAQ,SAAS;IACrD,OAAc,SAAS,EAAE,MAAM,CAAoB;IACnD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA2D;IAEnF,SAAS,EAAE,uBAAuB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,OAAO,EAAE,qBAAqB,CAAC;IAEvC,KAAK,EAAG,UAAU,CAAC;IACnB,KAAK,EAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/B,KAAK,EAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IAChC,MAAM,EAAG,QAAQ,CAAC;IAClB,MAAM,EAAG,WAAW,CAAC;IAE5B,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE7B,SAAS,CAAC,SAAS;IA4EnB,SAAS,CAAC,QAAQ;IAMlB,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,QAAQ;CAC5C"}
@@ -61,6 +61,7 @@ var ChartIndicator = /** @class */ (function (_super) {
61
61
  configurable: true,
62
62
  writable: true,
63
63
  value: function () {
64
+ var _this = this;
64
65
  _super.prototype._afterNew.call(this);
65
66
  var stockChart = this.get("stockChart");
66
67
  var stockSeries = this.get("stockSeries");
@@ -72,9 +73,14 @@ var ChartIndicator = /** @class */ (function (_super) {
72
73
  if (this._themeTag) {
73
74
  themeTags.push(this._themeTag);
74
75
  }
75
- var chart = stockChart.panels.push(StockPanel.new(root, { wheelY: "zoomX", panX: true, panY: false, themeTags: themeTags }));
76
- chart.addTag("indicator");
77
- this.panel = chart;
76
+ var chart_1 = stockChart.panels.push(StockPanel.new(root, { wheelY: "zoomX", panX: true, panY: false, themeTags: themeTags }));
77
+ chart_1.addTag("indicator");
78
+ this.panel = chart_1;
79
+ stockChart.panels.events.on("removeIndex", function (e) {
80
+ if (e.oldValue == chart_1) {
81
+ stockChart.indicators.removeValue(_this);
82
+ }
83
+ });
78
84
  var seriesXAxis = stockSeries.get("xAxis");
79
85
  // xAxis
80
86
  var xRenderer = AxisRendererX.new(root, {});
@@ -83,10 +89,10 @@ var ChartIndicator = /** @class */ (function (_super) {
83
89
  var start = seriesXAxis.get("start");
84
90
  var end = seriesXAxis.get("end");
85
91
  if (seriesXAxis instanceof GaplessDateAxis) {
86
- xAxis = chart.xAxes.push(GaplessDateAxis.new(root, { renderer: xRenderer, baseInterval: baseInterval }));
92
+ xAxis = chart_1.xAxes.push(GaplessDateAxis.new(root, { renderer: xRenderer, baseInterval: baseInterval }));
87
93
  }
88
94
  else {
89
- xAxis = chart.xAxes.push(DateAxis.new(root, { renderer: xRenderer, baseInterval: baseInterval }));
95
+ xAxis = chart_1.xAxes.push(DateAxis.new(root, { renderer: xRenderer, baseInterval: baseInterval }));
90
96
  }
91
97
  xAxis.set("groupData", seriesXAxis.get("groupData"));
92
98
  xAxis.set("groupCount", seriesXAxis.get("groupCount"));
@@ -95,7 +101,7 @@ var ChartIndicator = /** @class */ (function (_super) {
95
101
  this.xAxis = xAxis;
96
102
  // yAxis
97
103
  var yRenderer = AxisRendererY.new(root, {});
98
- var yAxis = chart.yAxes.push(ValueAxis.new(root, {
104
+ var yAxis = chart_1.yAxes.push(ValueAxis.new(root, {
99
105
  renderer: yRenderer,
100
106
  tooltip: Tooltip.new(root, { forceHidden: true })
101
107
  }));
@@ -103,13 +109,13 @@ var ChartIndicator = /** @class */ (function (_super) {
103
109
  var series = this._createSeries();
104
110
  this.series = series;
105
111
  // legend
106
- var legend = chart.topPlotContainer.children.insertIndex(0, StockLegend.new(root, { stockChart: this.get("stockChart") }));
112
+ var legend = chart_1.topPlotContainer.children.insertIndex(0, StockLegend.new(root, { stockChart: this.get("stockChart") }));
107
113
  legend.data.push(series);
108
114
  var legendDataItem = legend.dataItems[legend.dataItems.length - 1];
109
- legendDataItem.set("panel", chart);
115
+ legendDataItem.set("panel", chart_1);
110
116
  legendDataItem.get("marker").set("forceHidden", true);
111
117
  legendDataItem.get("settingsButton").setPrivate("customData", this);
112
- chart.set("cursor", XYCursor.new(root, { yAxis: yAxis, xAxis: xAxis }));
118
+ chart_1.set("cursor", XYCursor.new(root, { yAxis: yAxis, xAxis: xAxis }));
113
119
  }
114
120
  }
115
121
  });
@@ -118,6 +124,7 @@ var ChartIndicator = /** @class */ (function (_super) {
118
124
  configurable: true,
119
125
  writable: true,
120
126
  value: function () {
127
+ _super.prototype._dispose.call(this);
121
128
  var stockChart = this.get("stockChart");
122
129
  stockChart.panels.removeValue(this.panel);
123
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChartIndicator.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/ChartIndicator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { XYSeries } from \"../../xy/series/XYSeries\";\r\nimport type { AxisRenderer } from \"../../xy/axes/AxisRenderer\";\r\n\r\nimport { Indicator, IIndicatorSettings, IIndicatorPrivate, IIndicatorEvents } from \"./Indicator\";\r\nimport { StockPanel } from \"../StockPanel\";\r\nimport { XYCursor } from \"../../xy/XYCursor\";\r\nimport { DateAxis } from \"../../xy/axes/DateAxis\";\r\nimport { GaplessDateAxis } from \"../../xy/axes/GaplessDateAxis\";\r\nimport { ValueAxis } from \"../../xy/axes/ValueAxis\";\r\nimport { AxisRendererX } from \"../../xy/axes/AxisRendererX\";\r\nimport { AxisRendererY } from \"../../xy/axes/AxisRendererY\";\r\nimport { Tooltip } from \"../../../core/render/Tooltip\";\r\nimport { StockLegend } from \"../StockLegend\";\r\n\r\n\r\nexport interface IChartIndicatorSettings extends IIndicatorSettings {\r\n}\r\n\r\nexport interface IChartIndicatorPrivate extends IIndicatorPrivate {\r\n}\r\n\r\nexport interface IChartIndicatorEvents extends IIndicatorEvents {\r\n}\r\n\r\n\r\n/**\r\n * A base class for chart-based [[StockChart]] indicators.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport abstract class ChartIndicator extends Indicator {\r\n\tpublic static className: string = \"ChartIndicator\";\r\n\tpublic static classNames: Array<string> = Indicator.classNames.concat([ChartIndicator.className]);\r\n\r\n\tdeclare public _settings: IChartIndicatorSettings;\r\n\tdeclare public _privateSettings: IChartIndicatorPrivate;\r\n\tdeclare public _events: IChartIndicatorEvents;\r\n\r\n\tpublic panel!: StockPanel;\r\n\tpublic xAxis!: DateAxis<AxisRenderer>;\r\n\tpublic yAxis!: ValueAxis<AxisRenderer>;\r\n\tpublic cursor!: XYCursor;\r\n\tpublic legend!: StockLegend;\r\n\r\n\tprotected _themeTag?: string;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\tconst seriesChart = stockSeries.chart;\r\n\t\tconst root = this._root;\r\n\t\tif (stockChart && seriesChart) {\r\n\t\t\t// make chart\r\n\t\t\tlet themeTags = [\"indicator\"];\r\n\t\t\tif (this._themeTag) {\r\n\t\t\t\tthemeTags.push(this._themeTag);\r\n\t\t\t}\r\n\t\t\tconst chart = stockChart.panels.push(StockPanel.new(root, { wheelY: \"zoomX\", panX: true, panY: false, themeTags: themeTags }));\r\n\t\t\tchart.addTag(\"indicator\");\r\n\t\t\tthis.panel = chart;\r\n\r\n\t\t\tconst seriesXAxis = stockSeries.get(\"xAxis\") as any;\r\n\r\n\t\t\t// xAxis\r\n\t\t\tconst xRenderer = AxisRendererX.new(root, {});\r\n\t\t\tlet xAxis: DateAxis<AxisRenderer> | GaplessDateAxis<AxisRenderer> | undefined;\r\n\t\t\tlet baseInterval = seriesXAxis.get(\"baseInterval\");\r\n\t\t\tlet start = seriesXAxis.get(\"start\");\r\n\t\t\tlet end = seriesXAxis.get(\"end\");\r\n\r\n\t\t\tif (seriesXAxis instanceof GaplessDateAxis) {\r\n\t\t\t\txAxis = chart.xAxes.push(GaplessDateAxis.new(root, { renderer: xRenderer, baseInterval: baseInterval }));\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\txAxis = chart.xAxes.push(DateAxis.new(root, { renderer: xRenderer, baseInterval: baseInterval }));\r\n\t\t\t}\r\n\r\n\t\t\txAxis.set(\"groupData\", seriesXAxis.get(\"groupData\"));\r\n\t\t\txAxis.set(\"groupCount\", seriesXAxis.get(\"groupCount\"));\r\n\r\n\t\t\txAxis.set(\"tooltip\", Tooltip.new(root, { forceHidden: true }));\r\n\r\n\t\t\txAxis.setAll({ start: start, end: end })\r\n\t\t\tthis.xAxis = xAxis;\r\n\r\n\t\t\t// yAxis\r\n\t\t\tconst yRenderer = AxisRendererY.new(root, {});\r\n\t\t\tconst yAxis = chart.yAxes.push(ValueAxis.new(root, {\r\n\t\t\t\trenderer: yRenderer,\r\n\t\t\t\ttooltip: Tooltip.new(root, { forceHidden: true })\r\n\t\t\t}))\r\n\t\t\tthis.yAxis = yAxis;\r\n\r\n\t\t\tconst series = this._createSeries();\r\n\t\t\tthis.series = series;\r\n\r\n\t\t\t// legend\r\n\t\t\tconst legend = chart.topPlotContainer.children.insertIndex(0,\r\n\t\t\t\tStockLegend.new(root, { stockChart: this.get(\"stockChart\") })\r\n\t\t\t);\r\n\r\n\t\t\tlegend.data.push(series);\r\n\r\n\t\t\tconst legendDataItem = legend.dataItems[legend.dataItems.length - 1];\r\n\t\t\tlegendDataItem.set(\"panel\", chart);\r\n\t\t\tlegendDataItem.get(\"marker\").set(\"forceHidden\", true);\r\n\r\n\t\t\tlegendDataItem.get(\"settingsButton\").setPrivate(\"customData\", this);\r\n\r\n\t\t\tchart.set(\"cursor\", XYCursor.new(root, { yAxis: yAxis, xAxis: xAxis }));\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _dispose() {\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tstockChart.panels.removeValue(this.panel);\r\n\t}\r\n\r\n\tprotected abstract _createSeries(): XYSeries;\r\n}"]}
1
+ {"version":3,"file":"ChartIndicator.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/ChartIndicator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { XYSeries } from \"../../xy/series/XYSeries\";\r\nimport type { AxisRenderer } from \"../../xy/axes/AxisRenderer\";\r\n\r\nimport { Indicator, IIndicatorSettings, IIndicatorPrivate, IIndicatorEvents } from \"./Indicator\";\r\nimport { StockPanel } from \"../StockPanel\";\r\nimport { XYCursor } from \"../../xy/XYCursor\";\r\nimport { DateAxis } from \"../../xy/axes/DateAxis\";\r\nimport { GaplessDateAxis } from \"../../xy/axes/GaplessDateAxis\";\r\nimport { ValueAxis } from \"../../xy/axes/ValueAxis\";\r\nimport { AxisRendererX } from \"../../xy/axes/AxisRendererX\";\r\nimport { AxisRendererY } from \"../../xy/axes/AxisRendererY\";\r\nimport { Tooltip } from \"../../../core/render/Tooltip\";\r\nimport { StockLegend } from \"../StockLegend\";\r\n\r\n\r\nexport interface IChartIndicatorSettings extends IIndicatorSettings {\r\n}\r\n\r\nexport interface IChartIndicatorPrivate extends IIndicatorPrivate {\r\n}\r\n\r\nexport interface IChartIndicatorEvents extends IIndicatorEvents {\r\n}\r\n\r\n\r\n/**\r\n * A base class for chart-based [[StockChart]] indicators.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport abstract class ChartIndicator extends Indicator {\r\n\tpublic static className: string = \"ChartIndicator\";\r\n\tpublic static classNames: Array<string> = Indicator.classNames.concat([ChartIndicator.className]);\r\n\r\n\tdeclare public _settings: IChartIndicatorSettings;\r\n\tdeclare public _privateSettings: IChartIndicatorPrivate;\r\n\tdeclare public _events: IChartIndicatorEvents;\r\n\r\n\tpublic panel!: StockPanel;\r\n\tpublic xAxis!: DateAxis<AxisRenderer>;\r\n\tpublic yAxis!: ValueAxis<AxisRenderer>;\r\n\tpublic cursor!: XYCursor;\r\n\tpublic legend!: StockLegend;\r\n\r\n\tprotected _themeTag?: string;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\tconst seriesChart = stockSeries.chart;\r\n\t\tconst root = this._root;\r\n\t\tif (stockChart && seriesChart) {\r\n\t\t\t// make chart\r\n\t\t\tlet themeTags = [\"indicator\"];\r\n\t\t\tif (this._themeTag) {\r\n\t\t\t\tthemeTags.push(this._themeTag);\r\n\t\t\t}\r\n\t\t\tconst chart = stockChart.panels.push(StockPanel.new(root, { wheelY: \"zoomX\", panX: true, panY: false, themeTags: themeTags }));\r\n\t\t\tchart.addTag(\"indicator\");\r\n\t\t\tthis.panel = chart;\r\n\r\n\t\t\tstockChart.panels.events.on(\"removeIndex\", (e) => {\r\n\t\t\t\tif (e.oldValue == chart) {\r\n\t\t\t\t\tstockChart.indicators.removeValue(this);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\tconst seriesXAxis = stockSeries.get(\"xAxis\") as any;\r\n\r\n\t\t\t// xAxis\r\n\t\t\tconst xRenderer = AxisRendererX.new(root, {});\r\n\t\t\tlet xAxis: DateAxis<AxisRenderer> | GaplessDateAxis<AxisRenderer> | undefined;\r\n\t\t\tlet baseInterval = seriesXAxis.get(\"baseInterval\");\r\n\t\t\tlet start = seriesXAxis.get(\"start\");\r\n\t\t\tlet end = seriesXAxis.get(\"end\");\r\n\r\n\t\t\tif (seriesXAxis instanceof GaplessDateAxis) {\r\n\t\t\t\txAxis = chart.xAxes.push(GaplessDateAxis.new(root, { renderer: xRenderer, baseInterval: baseInterval }));\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\txAxis = chart.xAxes.push(DateAxis.new(root, { renderer: xRenderer, baseInterval: baseInterval }));\r\n\t\t\t}\r\n\r\n\t\t\txAxis.set(\"groupData\", seriesXAxis.get(\"groupData\"));\r\n\t\t\txAxis.set(\"groupCount\", seriesXAxis.get(\"groupCount\"));\r\n\r\n\t\t\txAxis.set(\"tooltip\", Tooltip.new(root, { forceHidden: true }));\r\n\r\n\t\t\txAxis.setAll({ start: start, end: end })\r\n\t\t\tthis.xAxis = xAxis;\r\n\r\n\t\t\t// yAxis\r\n\t\t\tconst yRenderer = AxisRendererY.new(root, {});\r\n\t\t\tconst yAxis = chart.yAxes.push(ValueAxis.new(root, {\r\n\t\t\t\trenderer: yRenderer,\r\n\t\t\t\ttooltip: Tooltip.new(root, { forceHidden: true })\r\n\t\t\t}))\r\n\t\t\tthis.yAxis = yAxis;\r\n\r\n\t\t\tconst series = this._createSeries();\r\n\t\t\tthis.series = series;\r\n\r\n\t\t\t// legend\r\n\t\t\tconst legend = chart.topPlotContainer.children.insertIndex(0,\r\n\t\t\t\tStockLegend.new(root, { stockChart: this.get(\"stockChart\") })\r\n\t\t\t);\r\n\r\n\t\t\tlegend.data.push(series);\r\n\r\n\t\t\tconst legendDataItem = legend.dataItems[legend.dataItems.length - 1];\r\n\t\t\tlegendDataItem.set(\"panel\", chart);\r\n\t\t\tlegendDataItem.get(\"marker\").set(\"forceHidden\", true);\r\n\r\n\t\t\tlegendDataItem.get(\"settingsButton\").setPrivate(\"customData\", this);\r\n\r\n\t\t\tchart.set(\"cursor\", XYCursor.new(root, { yAxis: yAxis, xAxis: xAxis }));\r\n\r\n\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _dispose() {\r\n\t\tsuper._dispose();\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tstockChart.panels.removeValue(this.panel);\r\n\t}\r\n\r\n\tprotected abstract _createSeries(): XYSeries;\r\n}"]}
@@ -18,7 +18,9 @@ export interface IMovingAverageDeviationSettings extends IChartIndicatorSettings
18
18
  */
19
19
  type?: "simple" | "weighted" | "exponential" | "dema" | "tema";
20
20
  /**
21
- * @todo review
21
+ * How units are calculated.
22
+ *
23
+ * @default "points"
22
24
  */
23
25
  unit?: "points" | "percent";
24
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MovingAverageDeviation.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/MovingAverageDeviation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAI5D,MAAM,WAAW,+BAAgC,SAAQ,uBAAuB;IAE/E;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;IAE/D;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAE3B;AAED,MAAM,WAAW,8BAA+B,SAAQ,sBAAsB;CAC7E;AAED,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;CAC3E;AAGD;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;IACzD,OAAc,SAAS,EAAE,MAAM,CAA4B;IAC3D,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAwE;IAEhG,SAAS,EAAE,+BAA+B,CAAC;IAC3C,gBAAgB,EAAE,8BAA8B,CAAC;IACjD,OAAO,EAAE,6BAA6B,CAAC;IAEtD;;OAEG;IACY,MAAM,EAAE,YAAY,CAAC;IAE7B,iBAAiB,EAAE,yBAAyB,EAAE,CA6BjD;IAEJ,SAAS,CAAC,SAAS,EAAE,MAAM,CAA4B;IAEhD,aAAa,IAAI,YAAY;IAU7B,eAAe;IAaf,gBAAgB;IAOvB;;OAEG;IACI,WAAW;CA2DlB"}
1
+ {"version":3,"file":"MovingAverageDeviation.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/MovingAverageDeviation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAI5D,MAAM,WAAW,+BAAgC,SAAQ,uBAAuB;IAE/E;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;IAE/D;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAE3B;AAED,MAAM,WAAW,8BAA+B,SAAQ,sBAAsB;CAC7E;AAED,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;CAC3E;AAGD;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;IACzD,OAAc,SAAS,EAAE,MAAM,CAA4B;IAC3D,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAwE;IAEhG,SAAS,EAAE,+BAA+B,CAAC;IAC3C,gBAAgB,EAAE,8BAA8B,CAAC;IACjD,OAAO,EAAE,6BAA6B,CAAC;IAEtD;;OAEG;IACY,MAAM,EAAE,YAAY,CAAC;IAE7B,iBAAiB,EAAE,yBAAyB,EAAE,CA6BjD;IAEJ,SAAS,CAAC,SAAS,EAAE,MAAM,CAA4B;IAEhD,aAAa,IAAI,YAAY;IAU7B,eAAe;IAaf,gBAAgB;IAOvB;;OAEG;IACI,WAAW;CA2DlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"MovingAverageDeviation.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/MovingAverageDeviation.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\n\r\nimport { Color } from \"../../../core/util/Color\";\r\nimport { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from \"./ChartIndicator\";\r\nimport { ColumnSeries } from \"../../xy/series/ColumnSeries\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IMovingAverageDeviationSettings extends IChartIndicatorSettings {\r\n\r\n\t/**\r\n\t * Increasing color.\r\n\t */\r\n\tincreasingColor?: Color;\r\n\r\n\t/**\r\n\t * Decreasing color.\r\n\t */\r\n\tdecreasingColor?: Color;\r\n\r\n\t/**\r\n\t * Type of the moving average.\r\n\t *\r\n\t * @default \"simple\"\r\n\t */\r\n\ttype?: \"simple\" | \"weighted\" | \"exponential\" | \"dema\" | \"tema\";\r\n\r\n\t/**\r\n\t * @todo review\r\n\t */\r\n\tunit?: \"points\" | \"percent\"\r\n\r\n}\r\n\r\nexport interface IMovingAverageDeviationPrivate extends IChartIndicatorPrivate {\r\n}\r\n\r\nexport interface IMovingAverageDeviationEvents extends IChartIndicatorEvents {\r\n}\r\n\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class MovingAverageDeviation extends ChartIndicator {\r\n\tpublic static className: string = \"MovingAverageDeviation\";\r\n\tpublic static classNames: Array<string> = ChartIndicator.classNames.concat([MovingAverageDeviation.className]);\r\n\r\n\tdeclare public _settings: IMovingAverageDeviationSettings;\r\n\tdeclare public _privateSettings: IMovingAverageDeviationPrivate;\r\n\tdeclare public _events: IMovingAverageDeviationEvents;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: ColumnSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [\r\n\t\t{\r\n\t\t\tkey: \"period\",\r\n\t\t\tname: this.root.language.translateAny(\"Period\"),\r\n\t\t\ttype: \"number\"\r\n\t\t}, {\r\n\t\t\tkey: \"field\",\r\n\t\t\tname: this.root.language.translateAny(\"Field\"),\r\n\t\t\ttype: \"dropdown\",\r\n\t\t\toptions: [\"open\", \"close\", \"low\", \"high\", \"hl/2\", \"hlc/3\", \"hlcc/4\", \"ohlc/4\"]\r\n\t\t}, {\r\n\t\t\tkey: \"type\",\r\n\t\t\tname: this.root.language.translateAny(\"Type\"),\r\n\t\t\ttype: \"dropdown\",\r\n\t\t\toptions: [\"simple\", \"weighted\", \"exponential\", \"dema\", \"tema\"]\r\n\t\t}, {\r\n\t\t\tkey: \"unit\",\r\n\t\t\tname: this.root.language.translateAny(\"Points/Percent\"),\r\n\t\t\ttype: \"dropdown\",\r\n\t\t\toptions: [\"points\", \"percent\"]\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: \"increasingColor\",\r\n\t\t\tname: this.root.language.translateAny(\"Increasing\"),\r\n\t\t\ttype: \"color\"\r\n\t\t}, {\r\n\t\t\tkey: \"decreasingColor\",\r\n\t\t\tname: this.root.language.translateAny(\"Decreasing\"),\r\n\t\t\ttype: \"color\"\r\n\t\t}];\r\n\r\n\tprotected _themeTag: string = \"movingaveragedeviation\";\r\n\r\n\tpublic _createSeries(): ColumnSeries {\r\n\t\treturn this.panel.series.push(ColumnSeries.new(this._root, {\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"deviation\",\r\n\t\t\tfill: undefined\r\n\t\t}))\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tif (this.isDirty(\"increasingColor\") || this.isDirty(\"decreasingColor\")) {\r\n\t\t\tconst template = this.series.columns.template;\r\n\t\t\tconst increasing = this.get(\"increasingColor\");\r\n\t\t\tconst decreasing = this.get(\"decreasingColor\");\r\n\t\t\ttemplate.states.create(\"riseFromPrevious\", { fill: increasing, stroke: increasing });\r\n\t\t\ttemplate.states.create(\"dropFromPrevious\", { fill: decreasing, stroke: decreasing });\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tif (this.isDirty(\"type\") || this.isDirty(\"unit\")) {\r\n\t\t\tthis._dataDirty = true;\r\n\t\t}\r\n\t\tsuper._prepareChildren();\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tif (this.series) {\r\n\t\t\tconst dataItems = this.get(\"stockSeries\").dataItems;\r\n\r\n\t\t\tlet decreasingColor = this.get(\"decreasingColor\", Color.fromHex(0xff0000)).toCSSHex();\r\n\t\t\tlet increasingColor = this.get(\"increasingColor\", Color.fromHex(0x00ff00)).toCSSHex();\r\n\r\n\t\t\tlet data = this._getDataArray(dataItems);\r\n\t\t\tlet period = this.get(\"period\", 50);\r\n\t\t\tconst type = this.get(\"type\");\r\n\t\t\tconst unit = this.get(\"unit\");\r\n\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase \"simple\":\r\n\t\t\t\t\tthis._sma(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"weighted\":\r\n\t\t\t\t\tthis._wma(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"exponential\":\r\n\t\t\t\t\tthis._ema(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"dema\":\r\n\t\t\t\t\tthis._dema(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"tema\":\r\n\t\t\t\t\tthis._tema(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\r\n\t\t\tlet previous = -Infinity;\r\n\t\t\tlet i = 0;\r\n\t\t\t$array.each(data, (dataItem) => {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i >= period) {\r\n\t\t\t\t\tlet deviation = dataItem.value_y - dataItem.ma;\r\n\t\t\t\t\tif (unit == \"percent\") {\r\n\t\t\t\t\t\tdeviation = (dataItem.value_y / dataItem.ma - 1) * 100;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet color = increasingColor;\r\n\r\n\t\t\t\t\tif (deviation < previous) {\r\n\t\t\t\t\t\tcolor = decreasingColor;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdataItem.deviation = deviation;\r\n\t\t\t\t\tdataItem.deviationColor = color;\r\n\t\t\t\t\tprevious = deviation;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\tthis.series.data.setAll(data);\r\n\t\t}\r\n\t}\r\n}"]}
1
+ {"version":3,"file":"MovingAverageDeviation.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/MovingAverageDeviation.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IIndicatorEditableSetting } from \"./Indicator\";\r\n\r\nimport { Color } from \"../../../core/util/Color\";\r\nimport { ChartIndicator, IChartIndicatorSettings, IChartIndicatorPrivate, IChartIndicatorEvents } from \"./ChartIndicator\";\r\nimport { ColumnSeries } from \"../../xy/series/ColumnSeries\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IMovingAverageDeviationSettings extends IChartIndicatorSettings {\r\n\r\n\t/**\r\n\t * Increasing color.\r\n\t */\r\n\tincreasingColor?: Color;\r\n\r\n\t/**\r\n\t * Decreasing color.\r\n\t */\r\n\tdecreasingColor?: Color;\r\n\r\n\t/**\r\n\t * Type of the moving average.\r\n\t *\r\n\t * @default \"simple\"\r\n\t */\r\n\ttype?: \"simple\" | \"weighted\" | \"exponential\" | \"dema\" | \"tema\";\r\n\r\n\t/**\r\n\t * How units are calculated.\r\n\t *\r\n\t * @default \"points\"\r\n\t */\r\n\tunit?: \"points\" | \"percent\"\r\n\r\n}\r\n\r\nexport interface IMovingAverageDeviationPrivate extends IChartIndicatorPrivate {\r\n}\r\n\r\nexport interface IMovingAverageDeviationEvents extends IChartIndicatorEvents {\r\n}\r\n\r\n\r\n/**\r\n * An implementation of a [[StockChart]] indicator.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport class MovingAverageDeviation extends ChartIndicator {\r\n\tpublic static className: string = \"MovingAverageDeviation\";\r\n\tpublic static classNames: Array<string> = ChartIndicator.classNames.concat([MovingAverageDeviation.className]);\r\n\r\n\tdeclare public _settings: IMovingAverageDeviationSettings;\r\n\tdeclare public _privateSettings: IMovingAverageDeviationPrivate;\r\n\tdeclare public _events: IMovingAverageDeviationEvents;\r\n\r\n\t/**\r\n\t * Indicator series.\r\n\t */\r\n\tdeclare public series: ColumnSeries;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [\r\n\t\t{\r\n\t\t\tkey: \"period\",\r\n\t\t\tname: this.root.language.translateAny(\"Period\"),\r\n\t\t\ttype: \"number\"\r\n\t\t}, {\r\n\t\t\tkey: \"field\",\r\n\t\t\tname: this.root.language.translateAny(\"Field\"),\r\n\t\t\ttype: \"dropdown\",\r\n\t\t\toptions: [\"open\", \"close\", \"low\", \"high\", \"hl/2\", \"hlc/3\", \"hlcc/4\", \"ohlc/4\"]\r\n\t\t}, {\r\n\t\t\tkey: \"type\",\r\n\t\t\tname: this.root.language.translateAny(\"Type\"),\r\n\t\t\ttype: \"dropdown\",\r\n\t\t\toptions: [\"simple\", \"weighted\", \"exponential\", \"dema\", \"tema\"]\r\n\t\t}, {\r\n\t\t\tkey: \"unit\",\r\n\t\t\tname: this.root.language.translateAny(\"Points/Percent\"),\r\n\t\t\ttype: \"dropdown\",\r\n\t\t\toptions: [\"points\", \"percent\"]\r\n\t\t},\r\n\t\t{\r\n\t\t\tkey: \"increasingColor\",\r\n\t\t\tname: this.root.language.translateAny(\"Increasing\"),\r\n\t\t\ttype: \"color\"\r\n\t\t}, {\r\n\t\t\tkey: \"decreasingColor\",\r\n\t\t\tname: this.root.language.translateAny(\"Decreasing\"),\r\n\t\t\ttype: \"color\"\r\n\t\t}];\r\n\r\n\tprotected _themeTag: string = \"movingaveragedeviation\";\r\n\r\n\tpublic _createSeries(): ColumnSeries {\r\n\t\treturn this.panel.series.push(ColumnSeries.new(this._root, {\r\n\t\t\txAxis: this.xAxis,\r\n\t\t\tyAxis: this.yAxis,\r\n\t\t\tvalueXField: \"valueX\",\r\n\t\t\tvalueYField: \"deviation\",\r\n\t\t\tfill: undefined\r\n\t\t}))\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tif (this.isDirty(\"increasingColor\") || this.isDirty(\"decreasingColor\")) {\r\n\t\t\tconst template = this.series.columns.template;\r\n\t\t\tconst increasing = this.get(\"increasingColor\");\r\n\t\t\tconst decreasing = this.get(\"decreasingColor\");\r\n\t\t\ttemplate.states.create(\"riseFromPrevious\", { fill: increasing, stroke: increasing });\r\n\t\t\ttemplate.states.create(\"dropFromPrevious\", { fill: decreasing, stroke: decreasing });\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tif (this.isDirty(\"type\") || this.isDirty(\"unit\")) {\r\n\t\t\tthis._dataDirty = true;\r\n\t\t}\r\n\t\tsuper._prepareChildren();\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\t\tif (this.series) {\r\n\t\t\tconst dataItems = this.get(\"stockSeries\").dataItems;\r\n\r\n\t\t\tlet decreasingColor = this.get(\"decreasingColor\", Color.fromHex(0xff0000)).toCSSHex();\r\n\t\t\tlet increasingColor = this.get(\"increasingColor\", Color.fromHex(0x00ff00)).toCSSHex();\r\n\r\n\t\t\tlet data = this._getDataArray(dataItems);\r\n\t\t\tlet period = this.get(\"period\", 50);\r\n\t\t\tconst type = this.get(\"type\");\r\n\t\t\tconst unit = this.get(\"unit\");\r\n\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase \"simple\":\r\n\t\t\t\t\tthis._sma(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"weighted\":\r\n\t\t\t\t\tthis._wma(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"exponential\":\r\n\t\t\t\t\tthis._ema(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"dema\":\r\n\t\t\t\t\tthis._dema(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase \"tema\":\r\n\t\t\t\t\tthis._tema(data, period, \"value_y\", \"ma\");\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\r\n\t\t\tlet previous = -Infinity;\r\n\t\t\tlet i = 0;\r\n\t\t\t$array.each(data, (dataItem) => {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i >= period) {\r\n\t\t\t\t\tlet deviation = dataItem.value_y - dataItem.ma;\r\n\t\t\t\t\tif (unit == \"percent\") {\r\n\t\t\t\t\t\tdeviation = (dataItem.value_y / dataItem.ma - 1) * 100;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet color = increasingColor;\r\n\r\n\t\t\t\t\tif (deviation < previous) {\r\n\t\t\t\t\t\tcolor = decreasingColor;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdataItem.deviation = deviation;\r\n\t\t\t\t\tdataItem.deviationColor = color;\r\n\t\t\t\t\tprevious = deviation;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\tthis.series.data.setAll(data);\r\n\t\t}\r\n\t}\r\n}"]}
@@ -394,7 +394,7 @@ var XYChart = /** @class */ (function (_super) {
394
394
  }
395
395
  var newStart = start - wheelStep * (end - start) * shiftX * position;
396
396
  var newEnd = end + wheelStep * (end - start) * shiftX * (1 - position);
397
- if (1 / (newEnd - newStart) < axis.get("maxZoomFactor", Infinity) / axis.get("minZoomCount", 1)) {
397
+ if (1 / (newEnd - newStart) < axis.getPrivate("maxZoomFactor", Infinity) / axis.get("minZoomCount", 1)) {
398
398
  _this._handleWheelAnimation(axis.zoom(newStart, newEnd));
399
399
  }
400
400
  }
@@ -428,7 +428,7 @@ var XYChart = /** @class */ (function (_super) {
428
428
  }
429
429
  var newStart = start - wheelStep * (end - start) * shiftX * position;
430
430
  var newEnd = end + wheelStep * (end - start) * shiftX * (1 - position);
431
- if (1 / (newEnd - newStart) < axis.get("maxZoomFactor", Infinity) / axis.get("minZoomCount", 1)) {
431
+ if (1 / (newEnd - newStart) < axis.getPrivate("maxZoomFactor", Infinity) / axis.get("minZoomCount", 1)) {
432
432
  _this._handleWheelAnimation(axis.zoom(newStart, newEnd));
433
433
  }
434
434
  }
@@ -445,7 +445,7 @@ var XYChart = /** @class */ (function (_super) {
445
445
  }
446
446
  var newStart = start - wheelStep * (end - start) * shiftY * position;
447
447
  var newEnd = end + wheelStep * (end - start) * shiftY * (1 - position);
448
- if (1 / (newEnd - newStart) < axis.get("maxZoomFactor", Infinity) / axis.get("minZoomCount", 1)) {
448
+ if (1 / (newEnd - newStart) < axis.getPrivate("maxZoomFactor", Infinity) / axis.get("minZoomCount", 1)) {
449
449
  _this._handleWheelAnimation(axis.zoom(newStart, newEnd));
450
450
  }
451
451
  }