@amcharts/amcharts5 5.17.1 → 5.17.2

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 (311) hide show
  1. package/.internal/charts/flow/ArcDiagram.d.ts +2 -2
  2. package/.internal/charts/flow/ArcDiagram.js.map +1 -1
  3. package/.internal/charts/flow/ChordNonRibbon.d.ts +1 -1
  4. package/.internal/charts/flow/ChordNonRibbon.js +1 -1
  5. package/.internal/charts/flow/ChordNonRibbon.js.map +1 -1
  6. package/.internal/charts/flow/SankeyLink.d.ts +1 -1
  7. package/.internal/charts/flow/SankeyLink.js.map +1 -1
  8. package/.internal/charts/funnel/FunnelSlice.d.ts +1 -1
  9. package/.internal/charts/funnel/FunnelSlice.js.map +1 -1
  10. package/.internal/charts/funnel/SlicedChart.d.ts +1 -1
  11. package/.internal/charts/funnel/SlicedChart.js +1 -1
  12. package/.internal/charts/funnel/SlicedChart.js.map +1 -1
  13. package/.internal/charts/hierarchy/ForceDirected.d.ts +2 -2
  14. package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
  15. package/.internal/charts/hierarchy/Hierarchy.d.ts +1 -1
  16. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  17. package/.internal/charts/hierarchy/Partition.d.ts +1 -1
  18. package/.internal/charts/hierarchy/Partition.js.map +1 -1
  19. package/.internal/charts/hierarchy/Treemap.d.ts +1 -2
  20. package/.internal/charts/hierarchy/Treemap.d.ts.map +1 -1
  21. package/.internal/charts/hierarchy/Treemap.js.map +1 -1
  22. package/.internal/charts/hierarchy/VoronoiTreemap.d.ts +3 -3
  23. package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -1
  24. package/.internal/charts/map/ClusteredPointSeries.d.ts +2 -2
  25. package/.internal/charts/map/ClusteredPointSeries.js.map +1 -1
  26. package/.internal/charts/map/MapChart.d.ts +2 -2
  27. package/.internal/charts/map/MapChart.js.map +1 -1
  28. package/.internal/charts/map/MapPointSeries.d.ts +3 -1
  29. package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
  30. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  31. package/.internal/charts/percent/PercentSeries.d.ts +2 -2
  32. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  33. package/.internal/charts/radar/RadarChart.d.ts +2 -2
  34. package/.internal/charts/radar/RadarChart.js.map +1 -1
  35. package/.internal/charts/radar/RadarLineSeries.d.ts +1 -1
  36. package/.internal/charts/radar/RadarLineSeries.js.map +1 -1
  37. package/.internal/charts/stock/StockChart.d.ts +3 -3
  38. package/.internal/charts/stock/StockChart.js +3 -3
  39. package/.internal/charts/stock/StockChart.js.map +1 -1
  40. package/.internal/charts/stock/StockPanel.d.ts +1 -1
  41. package/.internal/charts/stock/StockPanel.js.map +1 -1
  42. package/.internal/charts/stock/drawing/DrawingSeries.d.ts +1 -1
  43. package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
  44. package/.internal/charts/stock/drawing/LabelSeries.d.ts +1 -1
  45. package/.internal/charts/stock/drawing/LabelSeries.js.map +1 -1
  46. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.d.ts +1 -1
  47. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js.map +1 -1
  48. package/.internal/charts/stock/indicators/Indicator.d.ts +2 -2
  49. package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
  50. package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts +1 -1
  51. package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
  52. package/.internal/charts/stock/toolbar/DropdownList.d.ts +1 -1
  53. package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -1
  54. package/.internal/charts/stock/toolbar/DropdownListControl.d.ts +1 -1
  55. package/.internal/charts/stock/toolbar/DropdownListControl.js.map +1 -1
  56. package/.internal/charts/stock/toolbar/PeriodSelector.d.ts +1 -1
  57. package/.internal/charts/stock/toolbar/PeriodSelector.js.map +1 -1
  58. package/.internal/charts/stock/toolbar/StockControl.d.ts +2 -2
  59. package/.internal/charts/stock/toolbar/StockControl.js.map +1 -1
  60. package/.internal/charts/timeline/SerpentineChart.d.ts +3 -3
  61. package/.internal/charts/timeline/SerpentineChart.js.map +1 -1
  62. package/.internal/charts/timeline/SpiralChart.d.ts +3 -3
  63. package/.internal/charts/timeline/SpiralChart.js.map +1 -1
  64. package/.internal/charts/venn/Venn.d.ts +1 -1
  65. package/.internal/charts/venn/Venn.js.map +1 -1
  66. package/.internal/charts/wordcloud/WordCloud.d.ts +1 -1
  67. package/.internal/charts/wordcloud/WordCloud.js +1 -1
  68. package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
  69. package/.internal/charts/xy/XYChart.d.ts +1 -1
  70. package/.internal/charts/xy/XYChart.js.map +1 -1
  71. package/.internal/charts/xy/axes/Axis.d.ts +8 -8
  72. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  73. package/.internal/charts/xy/axes/AxisLabel.d.ts +1 -1
  74. package/.internal/charts/xy/axes/AxisLabel.js.map +1 -1
  75. package/.internal/charts/xy/axes/DateAxis.d.ts +1 -1
  76. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  77. package/.internal/charts/xy/series/BaseColumnSeries.d.ts +1 -1
  78. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  79. package/.internal/charts/xy/series/ColumnSeries.d.ts +1 -1
  80. package/.internal/charts/xy/series/ColumnSeries.js.map +1 -1
  81. package/.internal/charts/xy/series/XYSeries.d.ts +3 -3
  82. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  83. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  84. package/.internal/core/Registry.js +1 -1
  85. package/.internal/core/Registry.js.map +1 -1
  86. package/.internal/core/render/Bullet.d.ts +2 -3
  87. package/.internal/core/render/Bullet.d.ts.map +1 -1
  88. package/.internal/core/render/Bullet.js.map +1 -1
  89. package/.internal/core/render/Container.d.ts +5 -1
  90. package/.internal/core/render/Container.d.ts.map +1 -1
  91. package/.internal/core/render/Container.js.map +1 -1
  92. package/.internal/core/render/Graphics.d.ts +3 -1
  93. package/.internal/core/render/Graphics.d.ts.map +1 -1
  94. package/.internal/core/render/Graphics.js.map +1 -1
  95. package/.internal/core/render/HeatLegend.d.ts +1 -1
  96. package/.internal/core/render/HeatLegend.js.map +1 -1
  97. package/.internal/core/render/Label.d.ts +5 -3
  98. package/.internal/core/render/Label.d.ts.map +1 -1
  99. package/.internal/core/render/Label.js.map +1 -1
  100. package/.internal/core/render/Legend.d.ts +3 -0
  101. package/.internal/core/render/Legend.d.ts.map +1 -1
  102. package/.internal/core/render/Legend.js.map +1 -1
  103. package/.internal/core/render/PointedRectangle.d.ts +2 -2
  104. package/.internal/core/render/PointedRectangle.js.map +1 -1
  105. package/.internal/core/render/Polygon.d.ts +1 -1
  106. package/.internal/core/render/Polygon.js.map +1 -1
  107. package/.internal/core/render/RadialLabel.d.ts +3 -3
  108. package/.internal/core/render/RadialLabel.js.map +1 -1
  109. package/.internal/core/render/RoundedRectangle.d.ts +1 -1
  110. package/.internal/core/render/RoundedRectangle.js.map +1 -1
  111. package/.internal/core/render/Sprite.d.ts +28 -8
  112. package/.internal/core/render/Sprite.d.ts.map +1 -1
  113. package/.internal/core/render/Sprite.js.map +1 -1
  114. package/.internal/core/render/Tooltip.d.ts +5 -4
  115. package/.internal/core/render/Tooltip.d.ts.map +1 -1
  116. package/.internal/core/render/Tooltip.js.map +1 -1
  117. package/.internal/core/render/ZoomableContainer.d.ts +1 -1
  118. package/.internal/core/render/ZoomableContainer.js.map +1 -1
  119. package/.internal/core/render/patterns/CirclePattern.d.ts +2 -2
  120. package/.internal/core/render/patterns/CirclePattern.js.map +1 -1
  121. package/.internal/core/render/patterns/GrainPattern.d.ts +1 -1
  122. package/.internal/core/render/patterns/GrainPattern.js.map +1 -1
  123. package/.internal/core/render/patterns/LinePattern.d.ts +2 -2
  124. package/.internal/core/render/patterns/LinePattern.js.map +1 -1
  125. package/.internal/core/render/patterns/Pattern.d.ts +6 -2
  126. package/.internal/core/render/patterns/Pattern.d.ts.map +1 -1
  127. package/.internal/core/render/patterns/Pattern.js.map +1 -1
  128. package/.internal/core/render/patterns/PicturePattern.d.ts +1 -1
  129. package/.internal/core/render/patterns/PicturePattern.js.map +1 -1
  130. package/.internal/core/util/ColorSet.d.ts +4 -3
  131. package/.internal/core/util/ColorSet.d.ts.map +1 -1
  132. package/.internal/core/util/ColorSet.js.map +1 -1
  133. package/.internal/core/util/DateFormatter.d.ts +1 -0
  134. package/.internal/core/util/DateFormatter.d.ts.map +1 -1
  135. package/.internal/core/util/DateFormatter.js.map +1 -1
  136. package/.internal/core/util/Entity.d.ts +4 -0
  137. package/.internal/core/util/Entity.d.ts.map +1 -1
  138. package/.internal/core/util/Entity.js.map +1 -1
  139. package/.internal/core/util/NumberFormatter.d.ts +2 -3
  140. package/.internal/core/util/NumberFormatter.d.ts.map +1 -1
  141. package/.internal/core/util/NumberFormatter.js.map +1 -1
  142. package/.internal/plugins/exporting/Annotator.d.ts +1 -1
  143. package/.internal/plugins/exporting/Annotator.js.map +1 -1
  144. package/.internal/plugins/exporting/Exporting.d.ts +2 -2
  145. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  146. package/.internal/plugins/exporting/ExportingMenu.d.ts +1 -1
  147. package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
  148. package/.internal/plugins/sliceGrouper/SliceGrouper.d.ts +1 -1
  149. package/.internal/plugins/sliceGrouper/SliceGrouper.js.map +1 -1
  150. package/CHANGELOG.md +6 -0
  151. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  152. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  153. package/examples/javascript/flow-chord/package.json +1 -1
  154. package/examples/javascript/flow-chord-directed/package.json +1 -1
  155. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  156. package/examples/javascript/flow-sankey/package.json +1 -1
  157. package/examples/javascript/gantt/package.json +1 -1
  158. package/examples/javascript/gantt-multilevel/package.json +1 -1
  159. package/examples/javascript/gantt-simple/package.json +1 -1
  160. package/examples/javascript/gauge/package.json +1 -1
  161. package/examples/javascript/gauge-bands/package.json +1 -1
  162. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  163. package/examples/javascript/hierarchy-pack/package.json +1 -1
  164. package/examples/javascript/hierarchy-partition/package.json +1 -1
  165. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  166. package/examples/javascript/hierarchy-tree/package.json +1 -1
  167. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  168. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  169. package/examples/javascript/jest/package.json +1 -1
  170. package/examples/javascript/json-pie/package.json +1 -1
  171. package/examples/javascript/json-xy/package.json +1 -1
  172. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  173. package/examples/javascript/map-clustered-points/package.json +1 -1
  174. package/examples/javascript/map-day-and-night/package.json +1 -1
  175. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  176. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  177. package/examples/javascript/map-sankey/package.json +1 -1
  178. package/examples/javascript/map-sankey-waypoints/package.json +1 -1
  179. package/examples/javascript/map-with-bubbles/package.json +1 -1
  180. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  181. package/examples/javascript/misc-40-charts/package.json +1 -1
  182. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  183. package/examples/javascript/pie-chart/package.json +1 -1
  184. package/examples/javascript/pie-donut-chart/package.json +1 -1
  185. package/examples/javascript/pie-variable-radius/package.json +1 -1
  186. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  187. package/examples/javascript/radar-heat-map/package.json +1 -1
  188. package/examples/javascript/radar-line/package.json +1 -1
  189. package/examples/javascript/radar-time-line/package.json +1 -1
  190. package/examples/javascript/sliced-funnel/package.json +1 -1
  191. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  192. package/examples/javascript/sliced-pyramid/package.json +1 -1
  193. package/examples/javascript/stock-chart/package.json +1 -1
  194. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  195. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  196. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  197. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  198. package/examples/javascript/stock-chart-live/package.json +1 -1
  199. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  200. package/examples/javascript/timeline-horizontal-serpentine-chart/package.json +1 -1
  201. package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
  202. package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
  203. package/examples/javascript/timeline-spiral-chart/package.json +1 -1
  204. package/examples/javascript/venn-diagram/package.json +1 -1
  205. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  206. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  207. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  208. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  209. package/examples/javascript/xy-bubble/package.json +1 -1
  210. package/examples/javascript/xy-candlestick/package.json +1 -1
  211. package/examples/javascript/xy-clustered-column/package.json +1 -1
  212. package/examples/javascript/xy-column/package.json +1 -1
  213. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  214. package/examples/javascript/xy-data-grouping/package.json +1 -1
  215. package/examples/javascript/xy-draggable-range/package.json +1 -1
  216. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  217. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  218. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  219. package/examples/javascript/xy-line/package.json +1 -1
  220. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  221. package/examples/javascript/xy-live-data/package.json +1 -1
  222. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  223. package/examples/javascript/xy-ohlc/package.json +1 -1
  224. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  225. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  226. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  227. package/examples/javascript/xy-stacked-column/package.json +1 -1
  228. package/examples/javascript/xy-stacked-step/package.json +1 -1
  229. package/examples/javascript/xy-stock/package.json +1 -1
  230. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  231. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  232. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  233. package/examples/typescript/flow-chord/package.json +1 -1
  234. package/examples/typescript/flow-chord-directed/package.json +1 -1
  235. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  236. package/examples/typescript/flow-sankey/package.json +1 -1
  237. package/examples/typescript/gantt/package.json +1 -1
  238. package/examples/typescript/gantt-multilevel/package.json +1 -1
  239. package/examples/typescript/gantt-simple/package.json +1 -1
  240. package/examples/typescript/gauge/package.json +1 -1
  241. package/examples/typescript/gauge-bands/package.json +1 -1
  242. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  243. package/examples/typescript/hierarchy-pack/package.json +1 -1
  244. package/examples/typescript/hierarchy-partition/package.json +1 -1
  245. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  246. package/examples/typescript/hierarchy-tree/package.json +1 -1
  247. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  248. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  249. package/examples/typescript/jest/package.json +1 -1
  250. package/examples/typescript/json-pie/package.json +1 -1
  251. package/examples/typescript/json-xy/package.json +1 -1
  252. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  253. package/examples/typescript/map-clustered-points/package.json +1 -1
  254. package/examples/typescript/map-day-and-night/package.json +1 -1
  255. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  256. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  257. package/examples/typescript/map-sankey/package.json +1 -1
  258. package/examples/typescript/map-sankey-waypoints/package.json +1 -1
  259. package/examples/typescript/map-with-bubbles/package.json +1 -1
  260. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  261. package/examples/typescript/misc-40-charts/package.json +1 -1
  262. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  263. package/examples/typescript/pie-chart/package.json +1 -1
  264. package/examples/typescript/pie-donut-chart/package.json +1 -1
  265. package/examples/typescript/pie-variable-radius/package.json +1 -1
  266. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  267. package/examples/typescript/radar-heat-map/package.json +1 -1
  268. package/examples/typescript/radar-line/package.json +1 -1
  269. package/examples/typescript/radar-time-line/package.json +1 -1
  270. package/examples/typescript/sliced-funnel/package.json +1 -1
  271. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  272. package/examples/typescript/sliced-pyramid/package.json +1 -1
  273. package/examples/typescript/stock-chart/package.json +1 -1
  274. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  275. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  276. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  277. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  278. package/examples/typescript/stock-chart-live/package.json +1 -1
  279. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  280. package/examples/typescript/timeline-horizontal-serpentine-chart/package.json +1 -1
  281. package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
  282. package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
  283. package/examples/typescript/timeline-spiral-chart/package.json +1 -1
  284. package/examples/typescript/venn-diagram/package.json +1 -1
  285. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  286. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  287. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  288. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  289. package/examples/typescript/xy-bubble/package.json +1 -1
  290. package/examples/typescript/xy-candlestick/package.json +1 -1
  291. package/examples/typescript/xy-clustered-column/package.json +1 -1
  292. package/examples/typescript/xy-column/package.json +1 -1
  293. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  294. package/examples/typescript/xy-data-grouping/package.json +1 -1
  295. package/examples/typescript/xy-draggable-range/package.json +1 -1
  296. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  297. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  298. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  299. package/examples/typescript/xy-line/package.json +1 -1
  300. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  301. package/examples/typescript/xy-live-data/package.json +1 -1
  302. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  303. package/examples/typescript/xy-ohlc/package.json +1 -1
  304. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  305. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  306. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  307. package/examples/typescript/xy-stacked-column/package.json +1 -1
  308. package/examples/typescript/xy-stacked-step/package.json +1 -1
  309. package/examples/typescript/xy-stock/package.json +1 -1
  310. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  311. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownListControl.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/DropdownListControl.ts"],"names":[],"mappings":"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","sourcesContent":["import { StockControl, IStockControlSettings, IStockControlPrivate, IStockControlEvents } from \"./StockControl\";\r\nimport { DropdownList, IDropdownListItem } from \"./DropdownList\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\nimport * as $type from \"../../../core/util/Type\";\r\nimport * as $utils from \"../../../core/util/Utils\";\r\n\r\nexport interface IDropdownListControlSettings extends IStockControlSettings {\r\n\r\n\t/**\r\n\t * Currently selected item.\r\n\t */\r\n\tcurrentItem?: string | IDropdownListItem;\r\n\r\n\t/**\r\n\t * Label does not change when item is selected in the list.\r\n\t */\r\n\tfixedLabel?: boolean;\r\n\r\n\t/**\r\n\t * A list of items in the dropdown.\r\n\t */\r\n\titems?: Array<string | IDropdownListItem>;\r\n\r\n\t/**\r\n\t * If set to `true`, the dropdown will fix the height to fit within chart's\r\n\t * area, with scroll if the contents do not fit.\r\n\t */\r\n\tscrollable?: boolean;\r\n\r\n\t/**\r\n\t * Maximum search items to show.\r\n\t */\r\n\tmaxSearchItems?: number,\r\n\r\n\t/**\r\n\t * Is the list searchable? If `true` shows search field and\r\n\t * calls `searchCallback` function for a list of items.\r\n\t */\r\n\tsearchable?: boolean;\r\n\r\n\t/**\r\n\t * A callback function which returns a list of items based on a search query.\r\n\t */\r\n\tsearchCallback?: (query: string) => IDropdownListItem[];\r\n\r\n\t/**\r\n\t * An array of item IDs to now show in the list.\r\n\t *\r\n\t * @since 5.7.0\r\n\t */\r\n\texclude?: string[];\r\n\r\n}\r\n\r\nexport interface IDropdownListControlPrivate extends IStockControlPrivate {\r\n\tdropdown?: DropdownList;\r\n}\r\n\r\nexport interface IDropdownListControlEvents extends IStockControlEvents {\r\n\tselected: {\r\n\t\titem: string | IDropdownListItem;\r\n\t};\r\n}\r\n\r\n/**\r\n * A generic control which creates a searchable list of items in a dropdown.\r\n *\r\n * Can be used in a [[StockToolbar]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/dropdown-list-control/} for more info\r\n */\r\nexport class DropdownListControl extends StockControl {\r\n\tpublic static className: string = \"DropdownListControl\";\r\n\tpublic static classNames: Array<string> = StockControl.classNames.concat([DropdownListControl.className]);\r\n\r\n\tdeclare public _settings: IDropdownListControlSettings;\r\n\tdeclare public _privateSettings: IDropdownListControlPrivate;\r\n\tdeclare public _events: IDropdownListControlEvents;\r\n\r\n\tprotected _afterNew() {\r\n\t\t// @todo still needed?\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\tbutton.className = button.className + \" am5stock-control-dropdown\";\r\n\t}\r\n\r\n\tprotected _initElements(): void {\r\n\t\tsuper._initElements();\r\n\r\n\t\t// Disable icon\r\n\t\t//this.getPrivate(\"icon\")!.style.display = \"none\";\r\n\r\n\t\t// Create list\r\n\t\tconst dropdownSettings: any = {\r\n\t\t\tcontrol: this,\r\n\t\t\tparent: this.getPrivate(\"button\"),\r\n\t\t\tsearchable: this.get(\"searchable\", false),\r\n\t\t\tscrollable: this.get(\"scrollable\", false),\r\n\t\t\titems: [],\r\n\t\t\texclude: this.get(\"exclude\")\r\n\t\t}\r\n\r\n\t\tconst maxSearchItems = this.get(\"maxSearchItems\");\r\n\t\tif (maxSearchItems) {\r\n\t\t\tdropdownSettings.maxSearchItems = maxSearchItems;\r\n\t\t}\r\n\r\n\t\tconst searchCallback = this.get(\"searchCallback\");\r\n\t\tif (searchCallback) {\r\n\t\t\tdropdownSettings.searchCallback = searchCallback;\r\n\t\t}\r\n\r\n\t\tconst items = this.get(\"items\");\r\n\t\tlet currentItem = this.get(\"currentItem\");\r\n\t\tif (items) {\r\n\t\t\t$array.each(items, (item) => {\r\n\t\t\t\tconst itemObject = $type.isString(item) ? {\r\n\t\t\t\t\tid: item,\r\n\t\t\t\t\tlabel: item\r\n\t\t\t\t} : item;\r\n\t\t\t\tdropdownSettings.items.push(itemObject);\r\n\r\n\t\t\t\tif ($type.isString(currentItem) && currentItem == itemObject.id) {\r\n\t\t\t\t\tcurrentItem = itemObject;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tconst dropdown = DropdownList.new(this._root, dropdownSettings);\r\n\t\tthis.setPrivate(\"dropdown\", dropdown);\r\n\r\n\t\tif (currentItem) {\r\n\t\t\tthis.setItem(currentItem);\r\n\t\t}\r\n\r\n\t\tdropdown.events.on(\"closed\", (_ev) => {\r\n\t\t\tthis.set(\"active\", false);\r\n\t\t});\r\n\r\n\t\tdropdown.events.on(\"invoked\", (ev) => {\r\n\t\t\tthis.setItem(ev.item);\r\n\t\t\tthis.events.dispatch(\"selected\", {\r\n\t\t\t\ttype: \"selected\",\r\n\t\t\t\titem: ev.item,\r\n\t\t\t\ttarget: this\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tthis.on(\"active\", (active) => {\r\n\t\t\tif (active) {\r\n\t\t\t\t//dropdown.setPrivate(\"currentId\", $type.numberToString(this.get(\"strokeWidth\")));\r\n\t\t\t\tthis.setTimeout(() => dropdown.show(), 10);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tdropdown.hide();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic setItem(item: string | IDropdownListItem): void {\r\n\t\tif (this.get(\"fixedLabel\") !== true) {\r\n\t\t\tconst label = this.getPrivate(\"label\")!;\r\n\t\t\tif ($type.isString(item)) {\r\n\t\t\t\tlabel.innerHTML = item;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (item.icon) {\r\n\t\t\t\t\tconst icon = this.getPrivate(\"icon\")!;\r\n\t\t\t\t\ticon.innerHTML = \"\";\r\n\t\t\t\t\ticon.appendChild(item.icon.cloneNode(true));\r\n\t\t\t\t\ticon.style.display = \"\";\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\t//icon.style.display = \"none\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (item.label) {\r\n\t\t\t\t\tlabel.innerHTML = item.label;\r\n\t\t\t\t\tlabel.style.display = \"\";\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tlabel.innerHTML = \"\";\r\n\t\t\t\t\tlabel.style.display = \"none\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Selects an item by its id.\r\n\t *\r\n\t * @since 5.9.0\r\n\t * @param id Item ID\r\n\t */\r\n\tpublic setItemById(id: string) {\r\n\t\tconst item = this.getItemById(id);\r\n\t\tif (item !== undefined) {\r\n\t\t\tthis.setItem(item);\r\n\t\t\t//this.set(\"currentItem\", item);\r\n\t\t\tthis.events.dispatch(\"selected\", {\r\n\t\t\t\ttype: \"selected\",\r\n\t\t\t\titem: item,\r\n\t\t\t\ttarget: this\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns list item by ID.\r\n\t * \r\n\t * @since 5.9.0\r\n\t * @param id Item ID\r\n\t * @return Dropdown item\r\n\t */\r\n\tpublic getItemById(id: string): IDropdownListItem | string | undefined {\r\n\t\tlet found: IDropdownListItem | string | undefined;\r\n\t\tconst items = this.get(\"items\", []);\r\n\t\t$array.eachContinue(items, (item) => {\r\n\t\t\tlet itemId = $type.isObject(item) ? item.id : item;\r\n\t\t\tif (itemId == id) {\r\n\t\t\t\tfound = item;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t});\r\n\t\treturn found;\r\n\t}\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\t\tif (this.isDirty(\"items\")) {\r\n\t\t\tconst dropdown = this.getPrivate(\"dropdown\");\r\n\t\t\tif (dropdown) {\r\n\t\t\t\tconst items = this.get(\"items\");\r\n\t\t\t\tconst dropdownItems: IDropdownListItem[] = [];\r\n\t\t\t\tlet currentItem = this.get(\"currentItem\");\r\n\t\t\t\tif (items) {\r\n\t\t\t\t\t$array.each(items, (item) => {\r\n\t\t\t\t\t\tconst itemObject = $type.isString(item) ? {\r\n\t\t\t\t\t\t\tid: item,\r\n\t\t\t\t\t\t\tlabel: item\r\n\t\t\t\t\t\t} : item;\r\n\t\t\t\t\t\tdropdownItems.push(itemObject);\r\n\r\n\t\t\t\t\t\tif ($type.isString(currentItem) && currentItem == itemObject.id) {\r\n\t\t\t\t\t\t\tcurrentItem = itemObject;\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\tdropdown.set(\"items\", dropdownItems);\r\n\t\t\t\t//console.log(this.className, this.isAccessible())\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _dispose(): void {\r\n\t\tsuper._dispose();\r\n\t}\r\n\r\n\tprotected _maybeMakeAccessible(): void {\r\n\t\tsuper._maybeMakeAccessible();\r\n\t\tif (this.isAccessible()) {\r\n\t\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\t\tbutton.setAttribute(\"aria-label\", button.getAttribute(\"title\") + \"; \" + this._t(\"Press ENTER or use arrow keys to navigate\"));\r\n\r\n\t\t\tif ($utils.supports(\"keyboardevents\")) {\r\n\t\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\r\n\t\t\t\t\tif (document.activeElement == button) {\r\n\t\t\t\t\t\tif (ev.keyCode == 38 || ev.keyCode == 40) {\r\n\t\t\t\t\t\t\t// Open on arrows\r\n\t\t\t\t\t\t\tif (!this.get(\"active\")) {\r\n\t\t\t\t\t\t\t\tthis._handleClick();\r\n\t\t\t\t\t\t\t}\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\r\n}\r\n"]}
1
+ {"version":3,"file":"DropdownListControl.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/DropdownListControl.ts"],"names":[],"mappings":"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","sourcesContent":["import { StockControl, IStockControlSettings, IStockControlPrivate, IStockControlEvents } from \"./StockControl\";\r\nimport { DropdownList, IDropdownListItem } from \"./DropdownList\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\nimport * as $type from \"../../../core/util/Type\";\r\nimport * as $utils from \"../../../core/util/Utils\";\r\n\r\nexport interface IDropdownListControlSettings extends IStockControlSettings {\r\n\r\n\t/**\r\n\t * Currently selected item.\r\n\t */\r\n\tcurrentItem?: string | IDropdownListItem;\r\n\r\n\t/**\r\n\t * Label does not change when item is selected in the list.\r\n\t */\r\n\tfixedLabel?: boolean;\r\n\r\n\t/**\r\n\t * A list of items in the dropdown.\r\n\t */\r\n\titems?: Array<string | IDropdownListItem>;\r\n\r\n\t/**\r\n\t * If set to `true`, the dropdown will fix the height to fit within chart's\r\n\t * area, with scroll if the contents do not fit.\r\n\t */\r\n\tscrollable?: boolean;\r\n\r\n\t/**\r\n\t * Maximum search items to show.\r\n\t */\r\n\tmaxSearchItems?: number,\r\n\r\n\t/**\r\n\t * Is the list searchable? If `true` shows search field and\r\n\t * calls `searchCallback` function for a list of items.\r\n\t */\r\n\tsearchable?: boolean;\r\n\r\n\t/**\r\n\t * A callback function which returns a list of items based on a search query.\r\n\t */\r\n\tsearchCallback?: (query: string) => IDropdownListItem[];\r\n\r\n\t/**\r\n\t * An array of item IDs to not show in the list.\r\n\t *\r\n\t * @since 5.7.0\r\n\t */\r\n\texclude?: string[];\r\n\r\n}\r\n\r\nexport interface IDropdownListControlPrivate extends IStockControlPrivate {\r\n\tdropdown?: DropdownList;\r\n}\r\n\r\nexport interface IDropdownListControlEvents extends IStockControlEvents {\r\n\tselected: {\r\n\t\titem: string | IDropdownListItem;\r\n\t};\r\n}\r\n\r\n/**\r\n * A generic control which creates a searchable list of items in a dropdown.\r\n *\r\n * Can be used in a [[StockToolbar]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/dropdown-list-control/} for more info\r\n */\r\nexport class DropdownListControl extends StockControl {\r\n\tpublic static className: string = \"DropdownListControl\";\r\n\tpublic static classNames: Array<string> = StockControl.classNames.concat([DropdownListControl.className]);\r\n\r\n\tdeclare public _settings: IDropdownListControlSettings;\r\n\tdeclare public _privateSettings: IDropdownListControlPrivate;\r\n\tdeclare public _events: IDropdownListControlEvents;\r\n\r\n\tprotected _afterNew() {\r\n\t\t// @todo still needed?\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\tbutton.className = button.className + \" am5stock-control-dropdown\";\r\n\t}\r\n\r\n\tprotected _initElements(): void {\r\n\t\tsuper._initElements();\r\n\r\n\t\t// Disable icon\r\n\t\t//this.getPrivate(\"icon\")!.style.display = \"none\";\r\n\r\n\t\t// Create list\r\n\t\tconst dropdownSettings: any = {\r\n\t\t\tcontrol: this,\r\n\t\t\tparent: this.getPrivate(\"button\"),\r\n\t\t\tsearchable: this.get(\"searchable\", false),\r\n\t\t\tscrollable: this.get(\"scrollable\", false),\r\n\t\t\titems: [],\r\n\t\t\texclude: this.get(\"exclude\")\r\n\t\t}\r\n\r\n\t\tconst maxSearchItems = this.get(\"maxSearchItems\");\r\n\t\tif (maxSearchItems) {\r\n\t\t\tdropdownSettings.maxSearchItems = maxSearchItems;\r\n\t\t}\r\n\r\n\t\tconst searchCallback = this.get(\"searchCallback\");\r\n\t\tif (searchCallback) {\r\n\t\t\tdropdownSettings.searchCallback = searchCallback;\r\n\t\t}\r\n\r\n\t\tconst items = this.get(\"items\");\r\n\t\tlet currentItem = this.get(\"currentItem\");\r\n\t\tif (items) {\r\n\t\t\t$array.each(items, (item) => {\r\n\t\t\t\tconst itemObject = $type.isString(item) ? {\r\n\t\t\t\t\tid: item,\r\n\t\t\t\t\tlabel: item\r\n\t\t\t\t} : item;\r\n\t\t\t\tdropdownSettings.items.push(itemObject);\r\n\r\n\t\t\t\tif ($type.isString(currentItem) && currentItem == itemObject.id) {\r\n\t\t\t\t\tcurrentItem = itemObject;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tconst dropdown = DropdownList.new(this._root, dropdownSettings);\r\n\t\tthis.setPrivate(\"dropdown\", dropdown);\r\n\r\n\t\tif (currentItem) {\r\n\t\t\tthis.setItem(currentItem);\r\n\t\t}\r\n\r\n\t\tdropdown.events.on(\"closed\", (_ev) => {\r\n\t\t\tthis.set(\"active\", false);\r\n\t\t});\r\n\r\n\t\tdropdown.events.on(\"invoked\", (ev) => {\r\n\t\t\tthis.setItem(ev.item);\r\n\t\t\tthis.events.dispatch(\"selected\", {\r\n\t\t\t\ttype: \"selected\",\r\n\t\t\t\titem: ev.item,\r\n\t\t\t\ttarget: this\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tthis.on(\"active\", (active) => {\r\n\t\t\tif (active) {\r\n\t\t\t\t//dropdown.setPrivate(\"currentId\", $type.numberToString(this.get(\"strokeWidth\")));\r\n\t\t\t\tthis.setTimeout(() => dropdown.show(), 10);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tdropdown.hide();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic setItem(item: string | IDropdownListItem): void {\r\n\t\tif (this.get(\"fixedLabel\") !== true) {\r\n\t\t\tconst label = this.getPrivate(\"label\")!;\r\n\t\t\tif ($type.isString(item)) {\r\n\t\t\t\tlabel.innerHTML = item;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (item.icon) {\r\n\t\t\t\t\tconst icon = this.getPrivate(\"icon\")!;\r\n\t\t\t\t\ticon.innerHTML = \"\";\r\n\t\t\t\t\ticon.appendChild(item.icon.cloneNode(true));\r\n\t\t\t\t\ticon.style.display = \"\";\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\t//icon.style.display = \"none\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (item.label) {\r\n\t\t\t\t\tlabel.innerHTML = item.label;\r\n\t\t\t\t\tlabel.style.display = \"\";\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tlabel.innerHTML = \"\";\r\n\t\t\t\t\tlabel.style.display = \"none\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Selects an item by its id.\r\n\t *\r\n\t * @since 5.9.0\r\n\t * @param id Item ID\r\n\t */\r\n\tpublic setItemById(id: string) {\r\n\t\tconst item = this.getItemById(id);\r\n\t\tif (item !== undefined) {\r\n\t\t\tthis.setItem(item);\r\n\t\t\t//this.set(\"currentItem\", item);\r\n\t\t\tthis.events.dispatch(\"selected\", {\r\n\t\t\t\ttype: \"selected\",\r\n\t\t\t\titem: item,\r\n\t\t\t\ttarget: this\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns list item by ID.\r\n\t * \r\n\t * @since 5.9.0\r\n\t * @param id Item ID\r\n\t * @return Dropdown item\r\n\t */\r\n\tpublic getItemById(id: string): IDropdownListItem | string | undefined {\r\n\t\tlet found: IDropdownListItem | string | undefined;\r\n\t\tconst items = this.get(\"items\", []);\r\n\t\t$array.eachContinue(items, (item) => {\r\n\t\t\tlet itemId = $type.isObject(item) ? item.id : item;\r\n\t\t\tif (itemId == id) {\r\n\t\t\t\tfound = item;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t});\r\n\t\treturn found;\r\n\t}\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\t\tif (this.isDirty(\"items\")) {\r\n\t\t\tconst dropdown = this.getPrivate(\"dropdown\");\r\n\t\t\tif (dropdown) {\r\n\t\t\t\tconst items = this.get(\"items\");\r\n\t\t\t\tconst dropdownItems: IDropdownListItem[] = [];\r\n\t\t\t\tlet currentItem = this.get(\"currentItem\");\r\n\t\t\t\tif (items) {\r\n\t\t\t\t\t$array.each(items, (item) => {\r\n\t\t\t\t\t\tconst itemObject = $type.isString(item) ? {\r\n\t\t\t\t\t\t\tid: item,\r\n\t\t\t\t\t\t\tlabel: item\r\n\t\t\t\t\t\t} : item;\r\n\t\t\t\t\t\tdropdownItems.push(itemObject);\r\n\r\n\t\t\t\t\t\tif ($type.isString(currentItem) && currentItem == itemObject.id) {\r\n\t\t\t\t\t\t\tcurrentItem = itemObject;\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\tdropdown.set(\"items\", dropdownItems);\r\n\t\t\t\t//console.log(this.className, this.isAccessible())\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _dispose(): void {\r\n\t\tsuper._dispose();\r\n\t}\r\n\r\n\tprotected _maybeMakeAccessible(): void {\r\n\t\tsuper._maybeMakeAccessible();\r\n\t\tif (this.isAccessible()) {\r\n\t\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\t\tbutton.setAttribute(\"aria-label\", button.getAttribute(\"title\") + \"; \" + this._t(\"Press ENTER or use arrow keys to navigate\"));\r\n\r\n\t\t\tif ($utils.supports(\"keyboardevents\")) {\r\n\t\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\r\n\t\t\t\t\tif (document.activeElement == button) {\r\n\t\t\t\t\t\tif (ev.keyCode == 38 || ev.keyCode == 40) {\r\n\t\t\t\t\t\t\t// Open on arrows\r\n\t\t\t\t\t\t\tif (!this.get(\"active\")) {\r\n\t\t\t\t\t\t\t\tthis._handleClick();\r\n\t\t\t\t\t\t\t}\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\r\n}\r\n"]}
@@ -50,7 +50,7 @@ export interface IPeriodSelectorEvents extends IStockControlEvents {
50
50
  /**
51
51
  * Invoked when user selects certain period via control.
52
52
  *
53
- * @from 5.8.5
53
+ * @since 5.8.5
54
54
  */
55
55
  periodselected: {
56
56
  period: IPeriod;
@@ -1 +1 @@
1
- {"version":3,"file":"PeriodSelector.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/PeriodSelector.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TimeUnit } from \"../../../core/util/Time\"\r\nimport type { DateAxis } from \"../../xy/axes/DateAxis\";\r\nimport type { AxisRenderer } from \"../../xy/axes/AxisRenderer\";\r\n\r\nimport { StockControl, IStockControlSettings, IStockControlPrivate, IStockControlEvents } from \"./StockControl\";\r\nimport { MultiDisposer, IDisposer } from \"../../../core/util/Disposer\";\r\n\r\nimport * as $utils from \"../../../core/util/Utils\";\r\nimport * as $time from \"../../../core/util/Time\";\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IPeriod {\r\n\ttimeUnit: TimeUnit | \"ytd\" | \"max\" | \"custom\";\r\n\tcount?: number;\r\n\tname?: string;\r\n\tstart?: Date;\r\n\tend?: Date;\r\n}\r\n\r\nexport interface IPeriodSelectorSettings extends IStockControlSettings {\r\n\r\n\t/**\r\n\t * A list periods to choose from.\r\n\t */\r\n\tperiods?: IPeriod[];\r\n\r\n\t/**\r\n\t * Hide periods that are longer than the actual data.\r\n\t *\r\n\t * @default false\r\n\t * @since 5.3.9\r\n\t */\r\n\thideLongPeriods?: boolean;\r\n\r\n\t/**\r\n\t * Indicates whether to select periods from the start or end of the axis\r\n\t * scale.\r\n\t *\r\n\t * @default \"end\"\r\n\t * @since 5.5.0\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/period-selector/#Zoom_anchor_point} for more info\r\n\t */\r\n\tzoomTo?: \"end\" | \"start\";\r\n\r\n}\r\n\r\nexport interface IPeriodSelectorPrivate extends IStockControlPrivate {\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\taxis?: DateAxis<AxisRenderer>;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tdeferReset?: boolean;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tdeferTimeout?: IDisposer;\r\n\r\n}\r\n\r\nexport interface IPeriodSelectorEvents extends IStockControlEvents {\r\n\t/**\r\n\t * Invoked when user selects certain period via control.\r\n\t *\r\n\t * @from 5.8.5\r\n\t */\r\n\tperiodselected: {\r\n\t\tperiod: IPeriod;\r\n\t}\r\n}\r\n\r\n/**\r\n * A pre-defined period selector control for [[StockToolback]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/period-selector/} for more info\r\n */\r\nexport class PeriodSelector extends StockControl {\r\n\tpublic static className: string = \"PeriodSelector\";\r\n\tpublic static classNames: Array<string> = StockControl.classNames.concat([PeriodSelector.className]);\r\n\r\n\tdeclare public _settings: IPeriodSelectorSettings;\r\n\tdeclare public _privateSettings: IPeriodSelectorPrivate;\r\n\tdeclare public _events: IPeriodSelectorEvents;\r\n\r\n\tprotected _groupChangedDp: IDisposer | undefined;\r\n\tprotected _groupChangedTo: IDisposer | undefined;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\tbutton.className = button.className + \" am5stock-no-hover\";\r\n\r\n\t\tthis._initPeriodButtons();\r\n\t}\r\n\r\n\tprotected _initPeriodButtons(): void {\r\n\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\tcontainer.style.display = \"\";\r\n\r\n\t\tconst periods = this.get(\"periods\", []);\r\n\t\tconst axis = this._getAxis();\r\n\t\taxis.onPrivate(\"min\", () => this._setPeriodButtonStatus());\r\n\t\taxis.onPrivate(\"max\", () => this._setPeriodButtonStatus());\r\n\t\t$array.each(periods, (period) => {\r\n\t\t\tconst button = document.createElement(\"a\");\r\n\t\t\tbutton.innerHTML = period.name || (period.timeUnit.toUpperCase() + period.count || \"1\");\r\n\t\t\tbutton.className = \"am5stock-link\";\r\n\t\t\tbutton.setAttribute(\"data-period\", period.timeUnit + (period.count || \"\"));\r\n\t\t\tcontainer.appendChild(button);\r\n\r\n\t\t\tthis._disposers.push($utils.addEventListener(button, \"click\", (_ev) => {\r\n\t\t\t\tthis.setPrivate(\"deferReset\", false);\r\n\t\t\t\tthis._resetActiveButtons();\r\n\t\t\t\tthis.selectPeriod(period);\r\n\t\t\t\tthis.setPrivate(\"deferReset\", true);\r\n\t\t\t\t$utils.addClass(button, \"am5stock-active\");\r\n\t\t\t\tconst timeout = this.getPrivate(\"deferTimeout\");\r\n\t\t\t\tif (timeout) {\r\n\t\t\t\t\ttimeout.dispose();\r\n\t\t\t\t}\r\n\t\t\t\tthis.setPrivate(\"deferTimeout\", this.setTimeout(() => this.setPrivate(\"deferReset\", false), axis.get(\"interpolationDuration\", 1000) + 200));\r\n\t\t\t}));\r\n\t\t});\r\n\r\n\t\tif ($utils.supports(\"keyboardevents\")) {\r\n\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\r\n\t\t\t\tif (this.isAccessible()) {\r\n\t\t\t\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\t\t\t\tif (document.activeElement && (document.activeElement === button || $utils.contains(button, document.activeElement))) {\r\n\t\t\t\t\t\tif ([37, 38, 39, 40].indexOf(ev.keyCode) !== -1) {\r\n\t\t\t\t\t\t\tconst dir = ev.keyCode == 37 || ev.keyCode == 38 ? -1 : 1;\r\n\t\t\t\t\t\t\tconst items = this._getPeriodButtons();\r\n\t\t\t\t\t\t\tconst selected = container.querySelectorAll(\".am5stock-link:focus\");\r\n\t\t\t\t\t\t\tlet index: number = -1;\r\n\t\t\t\t\t\t\tif (selected.length > 0) {\r\n\t\t\t\t\t\t\t\t//index = items.entries().indexOf(selected.item(0));\r\n\t\t\t\t\t\t\t\titems.forEach((item, key) => {\r\n\t\t\t\t\t\t\t\t\tif (item === selected.item(0)) {\r\n\t\t\t\t\t\t\t\t\t\tindex = key;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tindex += dir;\r\n\t\t\t\t\t\t\tif (index < 0) {\r\n\t\t\t\t\t\t\t\tindex = items.length - 1;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse if (index >= items.length) {\r\n\t\t\t\t\t\t\t\tindex = 0;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t$utils.focus(items.item(index) as HTMLElement);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (ev.keyCode == 13) {\r\n\t\t\t\t\t\t\t// ENTER\r\n\t\t\t\t\t\t\t(document.activeElement as HTMLElement).click();\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\r\n\t\tthis._maybeMakeAccessible();\r\n\r\n\t}\r\n\r\n\tprotected _resetActiveButtons(): void {\r\n\t\tif (this.getPrivate(\"deferReset\") !== true) {\r\n\t\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\t\tconst buttons = container.getElementsByClassName(\"am5stock-active\");\r\n\t\t\t$array.each(buttons, (b) => {\r\n\t\t\t\t$utils.removeClass(<HTMLElement>b, \"am5stock-active\");\r\n\t\t\t});\r\n\r\n\t\t\tlet axis = this.getPrivate(\"axis\");\r\n\t\t\tif (!axis) {\r\n\t\t\t\taxis = this._getAxis();\r\n\t\t\t\tthis.setPrivate(\"axis\", axis);\r\n\t\t\t\tthis._disposers.push(new MultiDisposer([\r\n\t\t\t\t\taxis!.on(\"start\", () => this._resetActiveButtons()),\r\n\t\t\t\t\taxis!.on(\"end\", () => this._resetActiveButtons())\r\n\t\t\t\t]));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _setPeriodButtonStatus(): void {\r\n\t\tif (this.get(\"hideLongPeriods\")) {\r\n\t\t\tlet axis = this.getPrivate(\"axis\");\r\n\t\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\t\tconst buttons = container.getElementsByTagName(\"a\");\r\n\t\t\tif (!axis) {\r\n\t\t\t\taxis = this._getAxis();\r\n\t\t\t\tconst min = axis!.getPrivate(\"min\", 0);\r\n\t\t\t\tconst max = axis!.getPrivate(\"max\", 0);\r\n\t\t\t\tif (min && max) {\r\n\t\t\t\t\tconst diff = max - min;\r\n\t\t\t\t\tconst periods = this.get(\"periods\", []);\r\n\t\t\t\t\t$array.each(periods, (period) => {\r\n\t\t\t\t\t\tif (period.timeUnit !== \"ytd\" && period.timeUnit !== \"max\") {\r\n\t\t\t\t\t\t\tconst plen = $time.getDuration(period.timeUnit as TimeUnit, period.count || 1);\r\n\t\t\t\t\t\t\tconst id = period.timeUnit + (period.count || \"\");\r\n\t\t\t\t\t\t\tfor (let i = 0; i < buttons.length; i++) {\r\n\t\t\t\t\t\t\t\tconst button = buttons[i];\r\n\t\t\t\t\t\t\t\tif (button.getAttribute(\"data-period\") == id) {\r\n\t\t\t\t\t\t\t\t\tif (plen > diff) {\r\n\t\t\t\t\t\t\t\t\t\t$utils.addClass(button, \"am5stock-hidden\");\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t$utils.removeClass(button, \"am5stock-hidden\");\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\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\t// protected _getDefaultIcon(): SVGElement {\r\n\t// \treturn StockIcons.getIcon(\"Period\");\r\n\t// }\r\n\r\n\tpublic _afterChanged() {\r\n\t\tsuper._afterChanged();\r\n\t\tif (this.isPrivateDirty(\"toolbar\")) {\r\n\t\t\tthis._maybeMakeAccessible();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _getChart(): any {\r\n\t\treturn this.get(\"stockChart\").panels.getIndex(0)!;\r\n\t}\r\n\r\n\tprotected _getAxis(): any {\r\n\t\treturn this._getChart().xAxes.getIndex(0)!;\r\n\t}\r\n\r\n\tprotected _getMaxOrMax(which: \"min\" | \"max\"): Date {\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tconst series = stockChart.get(\"stockSeries\");\r\n\t\tconst axis = this._getAxis();\r\n\t\tlet val = axis.getPrivate(which);\r\n\t\tif (series && (series.dataItems.length > 0)) {\r\n\t\t\t// Get last data item\r\n\t\t\tlet baseInterval = axis.get(\"baseInterval\");\r\n\t\t\tlet mainDataSetId: string = baseInterval.timeUnit + baseInterval.count;\r\n\t\t\tconst dataSet = series._dataSets[mainDataSetId] || series.dataItems;\r\n\t\t\tconst dataItem = dataSet[which == \"min\" ? 0 : dataSet.length - 1];\r\n\t\t\tif (which == \"min\" && dataItem.open !== undefined && dataItem.open[\"valueX\"] !== undefined) {\r\n\t\t\t\tval = dataItem.open[\"valueX\"];\r\n\t\t\t}\r\n\t\t\telse if (which == \"max\" && dataItem.close !== undefined && dataItem.close[\"valueX\"] !== undefined) {\r\n\t\t\t\tval = dataItem.close[\"valueX\"] - 1;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn new Date(val);\r\n\t}\r\n\r\n\r\n\tprotected _getMax(): Date {\r\n\t\treturn this._getMaxOrMax(\"max\");\r\n\t}\r\n\r\n\tprotected _getMin(): Date {\r\n\t\treturn this._getMaxOrMax(\"min\");\r\n\t}\r\n\r\n\tpublic selectPeriod(period: IPeriod): void {\r\n\t\tconst type = \"periodselected\";\r\n\t\tif (this.events.isEnabled(type)) {\r\n\t\t\tthis.events.dispatch(type, {\r\n\t\t\t\ttype: type,\r\n\t\t\t\ttarget: this,\r\n\t\t\t\tperiod: period\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tconst fromStart = this.get(\"zoomTo\", \"end\") == \"start\";\r\n\t\tthis._highlightPeriod(period);\r\n\t\tif (period.timeUnit == \"max\") {\r\n\t\t\tthis._getChart().zoomOut();\r\n\t\t}\r\n\t\telse if (period.timeUnit == \"custom\") {\r\n\t\t\tconst axis = this._getAxis();\r\n\t\t\tlet start = period.start || this._getMin();\r\n\t\t\tlet end = period.end || this._getMax();\r\n\t\t\taxis.zoomToDates(start, end);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tconst axis = this._getAxis();\r\n\t\t\tlet end = this._getMax();\r\n\t\t\tlet start: Date;\r\n\t\t\tif (period.timeUnit == \"ytd\") {\r\n\t\t\t\tstart = new Date(end.getFullYear(), 0, 1, 0, 0, 0, 0);\r\n\t\t\t\t//end = new Date(axis.getIntervalMax(axis.get(\"baseInterval\")));\r\n\t\t\t\tend = this._getMax();\r\n\t\t\t\tif (axis.get(\"groupData\")) {\r\n\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\t}, 10);\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tconst timeUnit = period.timeUnit as TimeUnit;\r\n\t\t\t\t// some adjustments in case data is grouped\r\n\t\t\t\tif (axis.get(\"groupData\")) {\r\n\t\t\t\t\t// find interval which will be used after zoom\r\n\t\t\t\t\tconst interval = axis.getGroupInterval($time.getDuration(timeUnit, period.count))\r\n\t\t\t\t\tif (interval) {\r\n\r\n\t\t\t\t\t\tconst firstDay = this._root.locale.firstDayOfWeek;\r\n\t\t\t\t\t\tconst timezone = this._root.timezone;\r\n\t\t\t\t\t\tconst utc = this._root.utc;\r\n\r\n\t\t\t\t\t\tif (fromStart) {\r\n\t\t\t\t\t\t\tstart = this._getMin();\r\n\t\t\t\t\t\t\t//let startTime = axis.getIntervalMin(axis.get(\"baseInterval\"));\r\n\t\t\t\t\t\t\tlet startTime = start.getTime();\r\n\r\n\t\t\t\t\t\t\tif (startTime != null) {\r\n\t\t\t\t\t\t\t\t// round to the previuous interval\r\n\t\t\t\t\t\t\t\tstart = $time.round(new Date(startTime), interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);\r\n\t\t\t\t\t\t\t\tstart.setTime(start.getTime() + $time.getDuration(interval.timeUnit, interval.count * .95));\r\n\t\t\t\t\t\t\t\tstart = $time.round(start, interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tend = $time.add(new Date(start), timeUnit, (period.count || 1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t// find max of the base interval\r\n\t\t\t\t\t\t\t//let endTime = axis.getIntervalMax(axis.get(\"baseInterval\"));\r\n\t\t\t\t\t\t\tlet endTime = this._getMax().getTime();\r\n\r\n\t\t\t\t\t\t\tif (endTime != null) {\r\n\t\t\t\t\t\t\t\t// round to the future interval\r\n\t\t\t\t\t\t\t\tend = $time.round(new Date(endTime), interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);\r\n\t\t\t\t\t\t\t\tend.setTime(end.getTime() + $time.getDuration(interval.timeUnit, interval.count * 1.05));\r\n\t\t\t\t\t\t\t\tend = $time.round(end, interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tstart = $time.add(new Date(end), timeUnit, (period.count || 1) * -1);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (this._groupChangedDp) {\r\n\t\t\t\t\t\t\tthis._groupChangedDp.dispose();\r\n\t\t\t\t\t\t\tthis._groupChangedDp = undefined;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (this._groupChangedTo) {\r\n\t\t\t\t\t\t\tthis._groupChangedTo.dispose();\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis._groupChangedDp = axis.events.once(\"groupintervalchanged\", () => {\r\n\t\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\r\n\t\t\t\t\t\tthis._groupChangedTo = this.setTimeout(() => {\r\n\t\t\t\t\t\t\tif (this._groupChangedDp) {\r\n\t\t\t\t\t\t\t\tthis._groupChangedDp.dispose();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis._groupChangedTo = undefined;\r\n\t\t\t\t\t\t}, 500);\r\n\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (fromStart) {\r\n\t\t\t\t\tstart = this._getMin();\r\n\t\t\t\t\tend = $time.add(new Date(start), timeUnit, (period.count || 1));\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tstart = $time.add(new Date(end), timeUnit, (period.count || 1) * -1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\taxis.zoomToDates(start, end);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _highlightPeriod(period: IPeriod): void {\r\n\t\tconst id = period.timeUnit + (period.count || \"\");\r\n\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\tconst buttons = container.getElementsByTagName(\"a\");\r\n\t\tfor (let i = 0; i < buttons.length; i++) {\r\n\t\t\tconst button = buttons[i];\r\n\t\t\tif (button.getAttribute(\"data-period\") == id && id != \"custom\") {\r\n\t\t\t\t$utils.addClass(button, \"am5stock-active\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$utils.removeClass(button, \"am5stock-active\");\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _maybeMakeAccessible(): void {\r\n\t\tsuper._maybeMakeAccessible();\r\n\t\tif (this.isAccessible()) {\r\n\t\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\t\tbutton.setAttribute(\"aria-label\", button.getAttribute(\"title\") + \"; \" + this._t(\"Press ENTER or use arrow keys to navigate\"));\r\n\t\t\tconst items = this._getPeriodButtons();\r\n\t\t\titems.forEach((item) => {\r\n\t\t\t\t(item as HTMLElement).setAttribute(\"tabindex\", \"-1\");\r\n\t\t\t\t(item as HTMLElement).setAttribute(\"aria-label\", (item as HTMLElement).getAttribute(\"title\") || \"\");\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _getPeriodButtons(): NodeList {\r\n\t\treturn this.getPrivate(\"label\")!.querySelectorAll(\".am5stock-link\");\r\n\t}\r\n\r\n}"]}
1
+ {"version":3,"file":"PeriodSelector.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/PeriodSelector.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TimeUnit } from \"../../../core/util/Time\"\r\nimport type { DateAxis } from \"../../xy/axes/DateAxis\";\r\nimport type { AxisRenderer } from \"../../xy/axes/AxisRenderer\";\r\n\r\nimport { StockControl, IStockControlSettings, IStockControlPrivate, IStockControlEvents } from \"./StockControl\";\r\nimport { MultiDisposer, IDisposer } from \"../../../core/util/Disposer\";\r\n\r\nimport * as $utils from \"../../../core/util/Utils\";\r\nimport * as $time from \"../../../core/util/Time\";\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IPeriod {\r\n\ttimeUnit: TimeUnit | \"ytd\" | \"max\" | \"custom\";\r\n\tcount?: number;\r\n\tname?: string;\r\n\tstart?: Date;\r\n\tend?: Date;\r\n}\r\n\r\nexport interface IPeriodSelectorSettings extends IStockControlSettings {\r\n\r\n\t/**\r\n\t * A list periods to choose from.\r\n\t */\r\n\tperiods?: IPeriod[];\r\n\r\n\t/**\r\n\t * Hide periods that are longer than the actual data.\r\n\t *\r\n\t * @default false\r\n\t * @since 5.3.9\r\n\t */\r\n\thideLongPeriods?: boolean;\r\n\r\n\t/**\r\n\t * Indicates whether to select periods from the start or end of the axis\r\n\t * scale.\r\n\t *\r\n\t * @default \"end\"\r\n\t * @since 5.5.0\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/period-selector/#Zoom_anchor_point} for more info\r\n\t */\r\n\tzoomTo?: \"end\" | \"start\";\r\n\r\n}\r\n\r\nexport interface IPeriodSelectorPrivate extends IStockControlPrivate {\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\taxis?: DateAxis<AxisRenderer>;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tdeferReset?: boolean;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tdeferTimeout?: IDisposer;\r\n\r\n}\r\n\r\nexport interface IPeriodSelectorEvents extends IStockControlEvents {\r\n\t/**\r\n\t * Invoked when user selects certain period via control.\r\n\t *\r\n\t * @since 5.8.5\r\n\t */\r\n\tperiodselected: {\r\n\t\tperiod: IPeriod;\r\n\t}\r\n}\r\n\r\n/**\r\n * A pre-defined period selector control for [[StockToolback]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/period-selector/} for more info\r\n */\r\nexport class PeriodSelector extends StockControl {\r\n\tpublic static className: string = \"PeriodSelector\";\r\n\tpublic static classNames: Array<string> = StockControl.classNames.concat([PeriodSelector.className]);\r\n\r\n\tdeclare public _settings: IPeriodSelectorSettings;\r\n\tdeclare public _privateSettings: IPeriodSelectorPrivate;\r\n\tdeclare public _events: IPeriodSelectorEvents;\r\n\r\n\tprotected _groupChangedDp: IDisposer | undefined;\r\n\tprotected _groupChangedTo: IDisposer | undefined;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\tbutton.className = button.className + \" am5stock-no-hover\";\r\n\r\n\t\tthis._initPeriodButtons();\r\n\t}\r\n\r\n\tprotected _initPeriodButtons(): void {\r\n\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\tcontainer.style.display = \"\";\r\n\r\n\t\tconst periods = this.get(\"periods\", []);\r\n\t\tconst axis = this._getAxis();\r\n\t\taxis.onPrivate(\"min\", () => this._setPeriodButtonStatus());\r\n\t\taxis.onPrivate(\"max\", () => this._setPeriodButtonStatus());\r\n\t\t$array.each(periods, (period) => {\r\n\t\t\tconst button = document.createElement(\"a\");\r\n\t\t\tbutton.innerHTML = period.name || (period.timeUnit.toUpperCase() + period.count || \"1\");\r\n\t\t\tbutton.className = \"am5stock-link\";\r\n\t\t\tbutton.setAttribute(\"data-period\", period.timeUnit + (period.count || \"\"));\r\n\t\t\tcontainer.appendChild(button);\r\n\r\n\t\t\tthis._disposers.push($utils.addEventListener(button, \"click\", (_ev) => {\r\n\t\t\t\tthis.setPrivate(\"deferReset\", false);\r\n\t\t\t\tthis._resetActiveButtons();\r\n\t\t\t\tthis.selectPeriod(period);\r\n\t\t\t\tthis.setPrivate(\"deferReset\", true);\r\n\t\t\t\t$utils.addClass(button, \"am5stock-active\");\r\n\t\t\t\tconst timeout = this.getPrivate(\"deferTimeout\");\r\n\t\t\t\tif (timeout) {\r\n\t\t\t\t\ttimeout.dispose();\r\n\t\t\t\t}\r\n\t\t\t\tthis.setPrivate(\"deferTimeout\", this.setTimeout(() => this.setPrivate(\"deferReset\", false), axis.get(\"interpolationDuration\", 1000) + 200));\r\n\t\t\t}));\r\n\t\t});\r\n\r\n\t\tif ($utils.supports(\"keyboardevents\")) {\r\n\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\r\n\t\t\t\tif (this.isAccessible()) {\r\n\t\t\t\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\t\t\t\tif (document.activeElement && (document.activeElement === button || $utils.contains(button, document.activeElement))) {\r\n\t\t\t\t\t\tif ([37, 38, 39, 40].indexOf(ev.keyCode) !== -1) {\r\n\t\t\t\t\t\t\tconst dir = ev.keyCode == 37 || ev.keyCode == 38 ? -1 : 1;\r\n\t\t\t\t\t\t\tconst items = this._getPeriodButtons();\r\n\t\t\t\t\t\t\tconst selected = container.querySelectorAll(\".am5stock-link:focus\");\r\n\t\t\t\t\t\t\tlet index: number = -1;\r\n\t\t\t\t\t\t\tif (selected.length > 0) {\r\n\t\t\t\t\t\t\t\t//index = items.entries().indexOf(selected.item(0));\r\n\t\t\t\t\t\t\t\titems.forEach((item, key) => {\r\n\t\t\t\t\t\t\t\t\tif (item === selected.item(0)) {\r\n\t\t\t\t\t\t\t\t\t\tindex = key;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tindex += dir;\r\n\t\t\t\t\t\t\tif (index < 0) {\r\n\t\t\t\t\t\t\t\tindex = items.length - 1;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse if (index >= items.length) {\r\n\t\t\t\t\t\t\t\tindex = 0;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t$utils.focus(items.item(index) as HTMLElement);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (ev.keyCode == 13) {\r\n\t\t\t\t\t\t\t// ENTER\r\n\t\t\t\t\t\t\t(document.activeElement as HTMLElement).click();\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\r\n\t\tthis._maybeMakeAccessible();\r\n\r\n\t}\r\n\r\n\tprotected _resetActiveButtons(): void {\r\n\t\tif (this.getPrivate(\"deferReset\") !== true) {\r\n\t\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\t\tconst buttons = container.getElementsByClassName(\"am5stock-active\");\r\n\t\t\t$array.each(buttons, (b) => {\r\n\t\t\t\t$utils.removeClass(<HTMLElement>b, \"am5stock-active\");\r\n\t\t\t});\r\n\r\n\t\t\tlet axis = this.getPrivate(\"axis\");\r\n\t\t\tif (!axis) {\r\n\t\t\t\taxis = this._getAxis();\r\n\t\t\t\tthis.setPrivate(\"axis\", axis);\r\n\t\t\t\tthis._disposers.push(new MultiDisposer([\r\n\t\t\t\t\taxis!.on(\"start\", () => this._resetActiveButtons()),\r\n\t\t\t\t\taxis!.on(\"end\", () => this._resetActiveButtons())\r\n\t\t\t\t]));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _setPeriodButtonStatus(): void {\r\n\t\tif (this.get(\"hideLongPeriods\")) {\r\n\t\t\tlet axis = this.getPrivate(\"axis\");\r\n\t\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\t\tconst buttons = container.getElementsByTagName(\"a\");\r\n\t\t\tif (!axis) {\r\n\t\t\t\taxis = this._getAxis();\r\n\t\t\t\tconst min = axis!.getPrivate(\"min\", 0);\r\n\t\t\t\tconst max = axis!.getPrivate(\"max\", 0);\r\n\t\t\t\tif (min && max) {\r\n\t\t\t\t\tconst diff = max - min;\r\n\t\t\t\t\tconst periods = this.get(\"periods\", []);\r\n\t\t\t\t\t$array.each(periods, (period) => {\r\n\t\t\t\t\t\tif (period.timeUnit !== \"ytd\" && period.timeUnit !== \"max\") {\r\n\t\t\t\t\t\t\tconst plen = $time.getDuration(period.timeUnit as TimeUnit, period.count || 1);\r\n\t\t\t\t\t\t\tconst id = period.timeUnit + (period.count || \"\");\r\n\t\t\t\t\t\t\tfor (let i = 0; i < buttons.length; i++) {\r\n\t\t\t\t\t\t\t\tconst button = buttons[i];\r\n\t\t\t\t\t\t\t\tif (button.getAttribute(\"data-period\") == id) {\r\n\t\t\t\t\t\t\t\t\tif (plen > diff) {\r\n\t\t\t\t\t\t\t\t\t\t$utils.addClass(button, \"am5stock-hidden\");\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t$utils.removeClass(button, \"am5stock-hidden\");\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\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\t// protected _getDefaultIcon(): SVGElement {\r\n\t// \treturn StockIcons.getIcon(\"Period\");\r\n\t// }\r\n\r\n\tpublic _afterChanged() {\r\n\t\tsuper._afterChanged();\r\n\t\tif (this.isPrivateDirty(\"toolbar\")) {\r\n\t\t\tthis._maybeMakeAccessible();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _getChart(): any {\r\n\t\treturn this.get(\"stockChart\").panels.getIndex(0)!;\r\n\t}\r\n\r\n\tprotected _getAxis(): any {\r\n\t\treturn this._getChart().xAxes.getIndex(0)!;\r\n\t}\r\n\r\n\tprotected _getMaxOrMax(which: \"min\" | \"max\"): Date {\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tconst series = stockChart.get(\"stockSeries\");\r\n\t\tconst axis = this._getAxis();\r\n\t\tlet val = axis.getPrivate(which);\r\n\t\tif (series && (series.dataItems.length > 0)) {\r\n\t\t\t// Get last data item\r\n\t\t\tlet baseInterval = axis.get(\"baseInterval\");\r\n\t\t\tlet mainDataSetId: string = baseInterval.timeUnit + baseInterval.count;\r\n\t\t\tconst dataSet = series._dataSets[mainDataSetId] || series.dataItems;\r\n\t\t\tconst dataItem = dataSet[which == \"min\" ? 0 : dataSet.length - 1];\r\n\t\t\tif (which == \"min\" && dataItem.open !== undefined && dataItem.open[\"valueX\"] !== undefined) {\r\n\t\t\t\tval = dataItem.open[\"valueX\"];\r\n\t\t\t}\r\n\t\t\telse if (which == \"max\" && dataItem.close !== undefined && dataItem.close[\"valueX\"] !== undefined) {\r\n\t\t\t\tval = dataItem.close[\"valueX\"] - 1;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn new Date(val);\r\n\t}\r\n\r\n\r\n\tprotected _getMax(): Date {\r\n\t\treturn this._getMaxOrMax(\"max\");\r\n\t}\r\n\r\n\tprotected _getMin(): Date {\r\n\t\treturn this._getMaxOrMax(\"min\");\r\n\t}\r\n\r\n\tpublic selectPeriod(period: IPeriod): void {\r\n\t\tconst type = \"periodselected\";\r\n\t\tif (this.events.isEnabled(type)) {\r\n\t\t\tthis.events.dispatch(type, {\r\n\t\t\t\ttype: type,\r\n\t\t\t\ttarget: this,\r\n\t\t\t\tperiod: period\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tconst fromStart = this.get(\"zoomTo\", \"end\") == \"start\";\r\n\t\tthis._highlightPeriod(period);\r\n\t\tif (period.timeUnit == \"max\") {\r\n\t\t\tthis._getChart().zoomOut();\r\n\t\t}\r\n\t\telse if (period.timeUnit == \"custom\") {\r\n\t\t\tconst axis = this._getAxis();\r\n\t\t\tlet start = period.start || this._getMin();\r\n\t\t\tlet end = period.end || this._getMax();\r\n\t\t\taxis.zoomToDates(start, end);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tconst axis = this._getAxis();\r\n\t\t\tlet end = this._getMax();\r\n\t\t\tlet start: Date;\r\n\t\t\tif (period.timeUnit == \"ytd\") {\r\n\t\t\t\tstart = new Date(end.getFullYear(), 0, 1, 0, 0, 0, 0);\r\n\t\t\t\t//end = new Date(axis.getIntervalMax(axis.get(\"baseInterval\")));\r\n\t\t\t\tend = this._getMax();\r\n\t\t\t\tif (axis.get(\"groupData\")) {\r\n\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\t}, 10);\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tconst timeUnit = period.timeUnit as TimeUnit;\r\n\t\t\t\t// some adjustments in case data is grouped\r\n\t\t\t\tif (axis.get(\"groupData\")) {\r\n\t\t\t\t\t// find interval which will be used after zoom\r\n\t\t\t\t\tconst interval = axis.getGroupInterval($time.getDuration(timeUnit, period.count))\r\n\t\t\t\t\tif (interval) {\r\n\r\n\t\t\t\t\t\tconst firstDay = this._root.locale.firstDayOfWeek;\r\n\t\t\t\t\t\tconst timezone = this._root.timezone;\r\n\t\t\t\t\t\tconst utc = this._root.utc;\r\n\r\n\t\t\t\t\t\tif (fromStart) {\r\n\t\t\t\t\t\t\tstart = this._getMin();\r\n\t\t\t\t\t\t\t//let startTime = axis.getIntervalMin(axis.get(\"baseInterval\"));\r\n\t\t\t\t\t\t\tlet startTime = start.getTime();\r\n\r\n\t\t\t\t\t\t\tif (startTime != null) {\r\n\t\t\t\t\t\t\t\t// round to the previuous interval\r\n\t\t\t\t\t\t\t\tstart = $time.round(new Date(startTime), interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);\r\n\t\t\t\t\t\t\t\tstart.setTime(start.getTime() + $time.getDuration(interval.timeUnit, interval.count * .95));\r\n\t\t\t\t\t\t\t\tstart = $time.round(start, interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tend = $time.add(new Date(start), timeUnit, (period.count || 1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t// find max of the base interval\r\n\t\t\t\t\t\t\t//let endTime = axis.getIntervalMax(axis.get(\"baseInterval\"));\r\n\t\t\t\t\t\t\tlet endTime = this._getMax().getTime();\r\n\r\n\t\t\t\t\t\t\tif (endTime != null) {\r\n\t\t\t\t\t\t\t\t// round to the future interval\r\n\t\t\t\t\t\t\t\tend = $time.round(new Date(endTime), interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);\r\n\t\t\t\t\t\t\t\tend.setTime(end.getTime() + $time.getDuration(interval.timeUnit, interval.count * 1.05));\r\n\t\t\t\t\t\t\t\tend = $time.round(end, interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tstart = $time.add(new Date(end), timeUnit, (period.count || 1) * -1);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (this._groupChangedDp) {\r\n\t\t\t\t\t\t\tthis._groupChangedDp.dispose();\r\n\t\t\t\t\t\t\tthis._groupChangedDp = undefined;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (this._groupChangedTo) {\r\n\t\t\t\t\t\t\tthis._groupChangedTo.dispose();\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis._groupChangedDp = axis.events.once(\"groupintervalchanged\", () => {\r\n\t\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\r\n\t\t\t\t\t\tthis._groupChangedTo = this.setTimeout(() => {\r\n\t\t\t\t\t\t\tif (this._groupChangedDp) {\r\n\t\t\t\t\t\t\t\tthis._groupChangedDp.dispose();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis._groupChangedTo = undefined;\r\n\t\t\t\t\t\t}, 500);\r\n\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (fromStart) {\r\n\t\t\t\t\tstart = this._getMin();\r\n\t\t\t\t\tend = $time.add(new Date(start), timeUnit, (period.count || 1));\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tstart = $time.add(new Date(end), timeUnit, (period.count || 1) * -1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\taxis.zoomToDates(start, end);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _highlightPeriod(period: IPeriod): void {\r\n\t\tconst id = period.timeUnit + (period.count || \"\");\r\n\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\tconst buttons = container.getElementsByTagName(\"a\");\r\n\t\tfor (let i = 0; i < buttons.length; i++) {\r\n\t\t\tconst button = buttons[i];\r\n\t\t\tif (button.getAttribute(\"data-period\") == id && id != \"custom\") {\r\n\t\t\t\t$utils.addClass(button, \"am5stock-active\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$utils.removeClass(button, \"am5stock-active\");\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _maybeMakeAccessible(): void {\r\n\t\tsuper._maybeMakeAccessible();\r\n\t\tif (this.isAccessible()) {\r\n\t\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\t\tbutton.setAttribute(\"aria-label\", button.getAttribute(\"title\") + \"; \" + this._t(\"Press ENTER or use arrow keys to navigate\"));\r\n\t\t\tconst items = this._getPeriodButtons();\r\n\t\t\titems.forEach((item) => {\r\n\t\t\t\t(item as HTMLElement).setAttribute(\"tabindex\", \"-1\");\r\n\t\t\t\t(item as HTMLElement).setAttribute(\"aria-label\", (item as HTMLElement).getAttribute(\"title\") || \"\");\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _getPeriodButtons(): NodeList {\r\n\t\treturn this.getPrivate(\"label\")!.querySelectorAll(\".am5stock-link\");\r\n\t}\r\n\r\n}"]}
@@ -17,7 +17,7 @@ export interface IStockControlSettings extends IEntitySettings {
17
17
  * Force this control to always be invisible.
18
18
  *
19
19
  * @since 5.8.5
20
- * @defaul false
20
+ * @default false
21
21
  */
22
22
  forceHidden?: boolean;
23
23
  /**
@@ -29,7 +29,7 @@ export interface IStockControlSettings extends IEntitySettings {
29
29
  */
30
30
  description?: string;
31
31
  /**
32
- * An element with control icon. If not set, each control will aytomatically
32
+ * An element with control icon. If not set, each control will automatically
33
33
  * create an icon.
34
34
  */
35
35
  icon?: HTMLElement | SVGElement | "none";
@@ -1 +1 @@
1
- {"version":3,"file":"StockControl.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/StockControl.ts"],"names":[],"mappings":"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","sourcesContent":["import { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"../../../core/util/Entity\"\r\nimport { StockIcons } from \"./StockIcons\";\r\n\r\nimport type { IPointerEvent } from \"../../../core/render/backend/Renderer\";\r\nimport type { StockToolbar } from \"./StockToolbar\";\r\nimport type { StockChart } from \"../StockChart\";\r\n\r\n//import * as $array from \"../../core/util/Array\";\r\nimport * as $utils from \"../../../core/util/Utils\";\r\n\r\nexport interface IStockControlSettings extends IEntitySettings {\r\n\r\n\t/**\r\n\t * A [[StockChart]] the toolbar is for.\r\n\t */\r\n\tstockChart: StockChart;\r\n\r\n\t/**\r\n\t * Is control visible?\r\n\t * \r\n\t * @default true\r\n\t */\r\n\tvisible?: boolean;\r\n\r\n\t/**\r\n\t * Force this control to always be invisible.\r\n\t *\r\n\t * @since 5.8.5\r\n\t * @defaul false\r\n\t */\r\n\tforceHidden?: boolean;\r\n\r\n\t/**\r\n\t * Name of the control. Used for the label.\r\n\t */\r\n\tname?: string;\r\n\r\n\t/**\r\n\t * Description of what the button does.\r\n\t */\r\n\tdescription?: string;\r\n\r\n\t/**\r\n\t * An element with control icon. If not set, each control will aytomatically\r\n\t * create an icon.\r\n\t */\r\n\ticon?: HTMLElement | SVGElement | \"none\";\r\n\r\n\t/**\r\n\t * Indicates if control is active.\r\n\t * \r\n\t * @default false\r\n\t */\r\n\tactive?: boolean;\r\n\r\n\t/**\r\n\t * If set to `true`, control can be toggle on and off by clicking on it.\r\n\t * \r\n\t * @default true\r\n\t */\r\n\ttogglable?: boolean;\r\n\r\n\t/**\r\n\t * Alignment of the control in a toolbar.\r\n\t *\r\n\t * @default \"left\"\r\n\t */\r\n\talign?: \"left\" | \"right\";\r\n\r\n}\r\n\r\n\r\nexport interface IStockControlPrivate extends IEntityPrivate {\r\n\ttoolbar: StockToolbar;\r\n\tbutton?: HTMLDivElement;\r\n\ticon?: HTMLElement;\r\n\tlabel?: HTMLDivElement;\r\n}\r\n\r\nexport interface IStockControlEvents extends IEntityEvents {\r\n\tclick: {\r\n\t\toriginalEvent: IPointerEvent\r\n\t}\r\n}\r\n\r\n/**\r\n * A base class for controls on [[StockToolbar]].\r\n */\r\nexport class StockControl extends Entity {\r\n\tpublic static className: string = \"StockControl\";\r\n\tpublic static classNames: Array<string> = Entity.classNames.concat([StockControl.className]);\r\n\r\n\tdeclare public _settings: IStockControlSettings;\r\n\tdeclare public _privateSettings: IStockControlPrivate;\r\n\tdeclare public _events: IStockControlEvents;\r\n\r\n\t// private _itemDisposers: Array<IDisposer> = [];\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tthis.get(\"stockChart\").controls.push(this);\r\n\r\n\t\t// Inherit default themes from chart\r\n\t\tthis._defaultThemes = this.get(\"stockChart\")._defaultThemes;\r\n\t\tsuper._afterNewApplyThemes();\r\n\r\n\t\tthis._initElements();\r\n\t\tthis._applyClassNames();\r\n\t\tthis._maybeMakeAccessible();\r\n\r\n\t\tthis._root.addDisposer(this);\r\n\t}\r\n\r\n\tprotected _initElements(): void {\r\n\t\t// Create button\r\n\t\tconst button = document.createElement(\"div\");\r\n\t\tbutton.setAttribute(\"title\", this.get(\"description\", this.get(\"name\", \"\")));\r\n\t\tthis.setPrivate(\"button\", button);\r\n\r\n\t\t// Create icon\r\n\t\tconst icon = document.createElement(\"div\");\r\n\t\ticon.appendChild(this._getIcon());\r\n\t\tif (this.get(\"icon\") == \"none\") {\r\n\t\t\ticon.style.display = \"none\";\r\n\t\t}\r\n\t\tbutton.appendChild(icon);\r\n\t\tthis.setPrivate(\"icon\", icon);\r\n\r\n\t\t// Create label\r\n\t\tconst name = this.get(\"name\", \"\");\r\n\t\tconst label = document.createElement(\"div\");\r\n\t\tlabel.innerHTML = name;\r\n\t\tif (name == \"\") {\r\n\t\t\tlabel.style.display = \"none\";\r\n\t\t}\r\n\t\tbutton.appendChild(label);\r\n\t\tthis.setPrivate(\"label\", label);\r\n\r\n\t\t// Add click event\r\n\t\tthis._disposers.push($utils.addEventListener(button, \"click\", (ev) => {\r\n\t\t\t//ev.stopImmediatePropagation();\r\n\t\t\tif (this.get(\"togglable\") != false) {\r\n\t\t\t\tthis._handleClick();\r\n\t\t\t}\r\n\r\n\t\t\tif (this.events.isEnabled(\"click\")) {\r\n\t\t\t\tthis.events.dispatch(\"click\", {\r\n\t\t\t\t\ttype: \"click\",\r\n\t\t\t\t\ttarget: this,\r\n\t\t\t\t\toriginalEvent: <IPointerEvent>ev\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}));\r\n\t}\r\n\r\n\tprotected _applyClassNames(): void {\r\n\t\tthis.getPrivate(\"button\")!.className = \"am5stock am5stock-control am5stock-control-button\";\r\n\t\tthis.getPrivate(\"label\")!.className = \"am5stock-control-label\";\r\n\t\tthis.getPrivate(\"icon\")!.className = \"am5stock-control-icon\";\r\n\t}\r\n\r\n\tprotected _getIcon(): HTMLElement | SVGElement {\r\n\t\tconst userIcon = this.get(\"icon\");\r\n\t\tif (userIcon && userIcon != \"none\") {\r\n\t\t\treturn userIcon;\r\n\t\t}\r\n\t\treturn this._getDefaultIcon();\r\n\t}\r\n\r\n\tprotected _getDefaultIcon(): SVGElement {\r\n\t\treturn StockIcons.getIcon(\"Default\");\r\n\t}\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\r\n\t\tif (this.isDirty(\"visible\") && !this.get(\"visible\")) {\r\n\t\t\tthis.getPrivate(\"button\")!.style.display = \"none\";\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"forceHidden\") && this.get(\"forceHidden\")) {\r\n\t\t\tthis.getPrivate(\"button\")!.style.display = \"none\";\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"name\")) {\r\n\t\t\tthis._setLabel(this.get(\"name\", \"\"));\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"active\")) {\r\n\t\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\t\tif (this.get(\"active\")) {\r\n\t\t\t\t$utils.addClass(button, \"am5stock-control-button-active\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$utils.removeClass(button, \"am5stock-control-button-active\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"align\")) {\r\n\t\t\tif (this.get(\"align\") == \"right\") {\r\n\t\t\t\t$utils.addClass(this.getPrivate(\"button\")!, \"am5stock-align-right\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$utils.removeClass(this.getPrivate(\"button\")!, \"am5stock-align-right\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isPrivateDirty(\"toolbar\")) {\r\n\t\t\tthis._maybeMakeAccessible();\r\n\t\t}\r\n\r\n\t\t// todo icon\r\n\t}\r\n\r\n\tprotected _dispose(): void {\r\n\t\tsuper._dispose();\r\n\t\t$utils.removeElement(this.getPrivate(\"button\")!);\r\n\t}\r\n\r\n\tprotected _setLabel(name: string): void {\r\n\t\tconst label = this.getPrivate(\"label\")!;\r\n\t\tlabel.innerHTML = name;\r\n\t\tif (name == \"\") {\r\n\t\t\tlabel.style.display = \"none\";\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlabel.style.display = \"\";\r\n\t\t}\r\n\r\n\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\tbutton.setAttribute(\"title\", this.get(\"description\", this.get(\"name\", \"\")));\r\n\t}\r\n\r\n\tpublic hide(): void {\r\n\t\tthis.getPrivate(\"button\")!.style.display = \"none\";\r\n\t}\r\n\r\n\tpublic show(): void {\r\n\t\tif (this.get(\"forceHidden\") !== true) {\r\n\t\t\tthis.getPrivate(\"button\")!.style.display = \"\";\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handleClick(): void {\r\n\t\tthis.set(\"active\", !this.get(\"active\"));\r\n\t}\r\n\r\n\tprotected _maybeMakeAccessible() {\r\n\t\tif (this.isAccessible()) {\r\n\t\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\t\tbutton.setAttribute(\"tabindex\", this._root.tabindex.toString());\r\n\t\t\tbutton.setAttribute(\"role\", \"button\");\r\n\r\n\t\t\tif ($utils.supports(\"keyboardevents\")) {\r\n\t\t\t\tbutton.setAttribute(\"aria-label\", button.getAttribute(\"title\") + \"; \" + this._t(\"Press ENTER to toggle\"));\r\n\t\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\r\n\t\t\t\t\tif (document.activeElement == button && ev.keyCode == 13) {\r\n\t\t\t\t\t\t// ENTER\r\n\t\t\t\t\t\tif (this.get(\"togglable\")) {\r\n\t\t\t\t\t\t\tthis._handleClick();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t(document.activeElement as HTMLElement).click();\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\tpublic isAccessible(): boolean {\r\n\t\tconst toolbar = this.getPrivate(\"toolbar\");\r\n\t\treturn toolbar && toolbar.get(\"focusable\") ? true : false;\r\n\t}\r\n\r\n}"]}
1
+ {"version":3,"file":"StockControl.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/StockControl.ts"],"names":[],"mappings":"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","sourcesContent":["import { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"../../../core/util/Entity\"\r\nimport { StockIcons } from \"./StockIcons\";\r\n\r\nimport type { IPointerEvent } from \"../../../core/render/backend/Renderer\";\r\nimport type { StockToolbar } from \"./StockToolbar\";\r\nimport type { StockChart } from \"../StockChart\";\r\n\r\n//import * as $array from \"../../core/util/Array\";\r\nimport * as $utils from \"../../../core/util/Utils\";\r\n\r\nexport interface IStockControlSettings extends IEntitySettings {\r\n\r\n\t/**\r\n\t * A [[StockChart]] the toolbar is for.\r\n\t */\r\n\tstockChart: StockChart;\r\n\r\n\t/**\r\n\t * Is control visible?\r\n\t * \r\n\t * @default true\r\n\t */\r\n\tvisible?: boolean;\r\n\r\n\t/**\r\n\t * Force this control to always be invisible.\r\n\t *\r\n\t * @since 5.8.5\r\n\t * @default false\r\n\t */\r\n\tforceHidden?: boolean;\r\n\r\n\t/**\r\n\t * Name of the control. Used for the label.\r\n\t */\r\n\tname?: string;\r\n\r\n\t/**\r\n\t * Description of what the button does.\r\n\t */\r\n\tdescription?: string;\r\n\r\n\t/**\r\n\t * An element with control icon. If not set, each control will automatically\r\n\t * create an icon.\r\n\t */\r\n\ticon?: HTMLElement | SVGElement | \"none\";\r\n\r\n\t/**\r\n\t * Indicates if control is active.\r\n\t * \r\n\t * @default false\r\n\t */\r\n\tactive?: boolean;\r\n\r\n\t/**\r\n\t * If set to `true`, control can be toggle on and off by clicking on it.\r\n\t * \r\n\t * @default true\r\n\t */\r\n\ttogglable?: boolean;\r\n\r\n\t/**\r\n\t * Alignment of the control in a toolbar.\r\n\t *\r\n\t * @default \"left\"\r\n\t */\r\n\talign?: \"left\" | \"right\";\r\n\r\n}\r\n\r\n\r\nexport interface IStockControlPrivate extends IEntityPrivate {\r\n\ttoolbar: StockToolbar;\r\n\tbutton?: HTMLDivElement;\r\n\ticon?: HTMLElement;\r\n\tlabel?: HTMLDivElement;\r\n}\r\n\r\nexport interface IStockControlEvents extends IEntityEvents {\r\n\tclick: {\r\n\t\toriginalEvent: IPointerEvent\r\n\t}\r\n}\r\n\r\n/**\r\n * A base class for controls on [[StockToolbar]].\r\n */\r\nexport class StockControl extends Entity {\r\n\tpublic static className: string = \"StockControl\";\r\n\tpublic static classNames: Array<string> = Entity.classNames.concat([StockControl.className]);\r\n\r\n\tdeclare public _settings: IStockControlSettings;\r\n\tdeclare public _privateSettings: IStockControlPrivate;\r\n\tdeclare public _events: IStockControlEvents;\r\n\r\n\t// private _itemDisposers: Array<IDisposer> = [];\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tthis.get(\"stockChart\").controls.push(this);\r\n\r\n\t\t// Inherit default themes from chart\r\n\t\tthis._defaultThemes = this.get(\"stockChart\")._defaultThemes;\r\n\t\tsuper._afterNewApplyThemes();\r\n\r\n\t\tthis._initElements();\r\n\t\tthis._applyClassNames();\r\n\t\tthis._maybeMakeAccessible();\r\n\r\n\t\tthis._root.addDisposer(this);\r\n\t}\r\n\r\n\tprotected _initElements(): void {\r\n\t\t// Create button\r\n\t\tconst button = document.createElement(\"div\");\r\n\t\tbutton.setAttribute(\"title\", this.get(\"description\", this.get(\"name\", \"\")));\r\n\t\tthis.setPrivate(\"button\", button);\r\n\r\n\t\t// Create icon\r\n\t\tconst icon = document.createElement(\"div\");\r\n\t\ticon.appendChild(this._getIcon());\r\n\t\tif (this.get(\"icon\") == \"none\") {\r\n\t\t\ticon.style.display = \"none\";\r\n\t\t}\r\n\t\tbutton.appendChild(icon);\r\n\t\tthis.setPrivate(\"icon\", icon);\r\n\r\n\t\t// Create label\r\n\t\tconst name = this.get(\"name\", \"\");\r\n\t\tconst label = document.createElement(\"div\");\r\n\t\tlabel.innerHTML = name;\r\n\t\tif (name == \"\") {\r\n\t\t\tlabel.style.display = \"none\";\r\n\t\t}\r\n\t\tbutton.appendChild(label);\r\n\t\tthis.setPrivate(\"label\", label);\r\n\r\n\t\t// Add click event\r\n\t\tthis._disposers.push($utils.addEventListener(button, \"click\", (ev) => {\r\n\t\t\t//ev.stopImmediatePropagation();\r\n\t\t\tif (this.get(\"togglable\") != false) {\r\n\t\t\t\tthis._handleClick();\r\n\t\t\t}\r\n\r\n\t\t\tif (this.events.isEnabled(\"click\")) {\r\n\t\t\t\tthis.events.dispatch(\"click\", {\r\n\t\t\t\t\ttype: \"click\",\r\n\t\t\t\t\ttarget: this,\r\n\t\t\t\t\toriginalEvent: <IPointerEvent>ev\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}));\r\n\t}\r\n\r\n\tprotected _applyClassNames(): void {\r\n\t\tthis.getPrivate(\"button\")!.className = \"am5stock am5stock-control am5stock-control-button\";\r\n\t\tthis.getPrivate(\"label\")!.className = \"am5stock-control-label\";\r\n\t\tthis.getPrivate(\"icon\")!.className = \"am5stock-control-icon\";\r\n\t}\r\n\r\n\tprotected _getIcon(): HTMLElement | SVGElement {\r\n\t\tconst userIcon = this.get(\"icon\");\r\n\t\tif (userIcon && userIcon != \"none\") {\r\n\t\t\treturn userIcon;\r\n\t\t}\r\n\t\treturn this._getDefaultIcon();\r\n\t}\r\n\r\n\tprotected _getDefaultIcon(): SVGElement {\r\n\t\treturn StockIcons.getIcon(\"Default\");\r\n\t}\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\r\n\t\tif (this.isDirty(\"visible\") && !this.get(\"visible\")) {\r\n\t\t\tthis.getPrivate(\"button\")!.style.display = \"none\";\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"forceHidden\") && this.get(\"forceHidden\")) {\r\n\t\t\tthis.getPrivate(\"button\")!.style.display = \"none\";\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"name\")) {\r\n\t\t\tthis._setLabel(this.get(\"name\", \"\"));\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"active\")) {\r\n\t\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\t\tif (this.get(\"active\")) {\r\n\t\t\t\t$utils.addClass(button, \"am5stock-control-button-active\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$utils.removeClass(button, \"am5stock-control-button-active\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"align\")) {\r\n\t\t\tif (this.get(\"align\") == \"right\") {\r\n\t\t\t\t$utils.addClass(this.getPrivate(\"button\")!, \"am5stock-align-right\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$utils.removeClass(this.getPrivate(\"button\")!, \"am5stock-align-right\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isPrivateDirty(\"toolbar\")) {\r\n\t\t\tthis._maybeMakeAccessible();\r\n\t\t}\r\n\r\n\t\t// todo icon\r\n\t}\r\n\r\n\tprotected _dispose(): void {\r\n\t\tsuper._dispose();\r\n\t\t$utils.removeElement(this.getPrivate(\"button\")!);\r\n\t}\r\n\r\n\tprotected _setLabel(name: string): void {\r\n\t\tconst label = this.getPrivate(\"label\")!;\r\n\t\tlabel.innerHTML = name;\r\n\t\tif (name == \"\") {\r\n\t\t\tlabel.style.display = \"none\";\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlabel.style.display = \"\";\r\n\t\t}\r\n\r\n\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\tbutton.setAttribute(\"title\", this.get(\"description\", this.get(\"name\", \"\")));\r\n\t}\r\n\r\n\tpublic hide(): void {\r\n\t\tthis.getPrivate(\"button\")!.style.display = \"none\";\r\n\t}\r\n\r\n\tpublic show(): void {\r\n\t\tif (this.get(\"forceHidden\") !== true) {\r\n\t\t\tthis.getPrivate(\"button\")!.style.display = \"\";\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handleClick(): void {\r\n\t\tthis.set(\"active\", !this.get(\"active\"));\r\n\t}\r\n\r\n\tprotected _maybeMakeAccessible() {\r\n\t\tif (this.isAccessible()) {\r\n\t\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\t\tbutton.setAttribute(\"tabindex\", this._root.tabindex.toString());\r\n\t\t\tbutton.setAttribute(\"role\", \"button\");\r\n\r\n\t\t\tif ($utils.supports(\"keyboardevents\")) {\r\n\t\t\t\tbutton.setAttribute(\"aria-label\", button.getAttribute(\"title\") + \"; \" + this._t(\"Press ENTER to toggle\"));\r\n\t\t\t\tthis._disposers.push($utils.addEventListener(document, \"keydown\", (ev: KeyboardEvent) => {\r\n\t\t\t\t\tif (document.activeElement == button && ev.keyCode == 13) {\r\n\t\t\t\t\t\t// ENTER\r\n\t\t\t\t\t\tif (this.get(\"togglable\")) {\r\n\t\t\t\t\t\t\tthis._handleClick();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t(document.activeElement as HTMLElement).click();\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\tpublic isAccessible(): boolean {\r\n\t\tconst toolbar = this.getPrivate(\"toolbar\");\r\n\t\treturn toolbar && toolbar.get(\"focusable\") ? true : false;\r\n\t}\r\n\r\n}"]}
@@ -3,7 +3,7 @@ import { CurveChart, ICurveChartPrivate, ICurveChartSettings } from "./CurveChar
3
3
  import { Percent } from "../../core/util/Percent";
4
4
  export interface ISerpentineChartSettings extends ICurveChartSettings {
5
5
  /**
6
- * Orientation of the serpatine.
6
+ * Orientation of the serpentine.
7
7
  *
8
8
  * @default "vertical"
9
9
  */
@@ -23,13 +23,13 @@ export interface ISerpentineChartSettings extends ICurveChartSettings {
23
23
  /**
24
24
  * Relative location (0-1) of the start postion.
25
25
  *
26
- * @defult 0
26
+ * @default 0
27
27
  */
28
28
  startLocation?: number;
29
29
  /**
30
30
  * Relative location (0-1) of the end position.
31
31
  *
32
- * @defult 1
32
+ * @default 1
33
33
  */
34
34
  endLocation?: number;
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SerpentineChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/timeline/SerpentineChart.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CurveColumnSeries } from \"./CurveColumnSeries\";\r\nimport type { AxisRendererCurveY } from \"./AxisRendererCurveY\";\r\nimport type { IPoint } from \"../../core/util/IPoint\";\r\nimport type { AxisRendererCurveX } from \"./AxisRendererCurveX\";\r\n\r\nimport { CurveChart, ICurveChartPrivate, ICurveChartSettings } from \"./CurveChart\";\r\nimport { p50, Percent } from \"../../core/util/Percent\";\r\n\r\nimport * as $math from \"../../core/util/Math\";\r\nimport * as $utils from \"../../core/util/Utils\";\r\n\r\n\r\nexport interface ISerpentineChartSettings extends ICurveChartSettings {\r\n\r\n\t/**\r\n\t * Orientation of the serpatine.\r\n\t *\r\n\t * @default \"vertical\"\r\n\t */\r\n\torientation?: \"horizontal\" | \"vertical\";\r\n\r\n\t/**\r\n\t * Number of levels in the chart.\r\n\t *\r\n\t * @default 3\r\n\t */\r\n\tlevelCount?: number;\r\n\r\n\t/**\r\n\t * Radius of the Y-axis in `Percent`.\r\n\t *\r\n\t * @default 50%\r\n\t */\r\n\tyAxisRadius?: Percent;\r\n\r\n\t/**\r\n\t * Relative location (0-1) of the start postion.\r\n\t *\r\n\t * @defult 0\r\n\t */\r\n\tstartLocation?: number;\r\n\r\n\t/**\r\n\t * Relative location (0-1) of the end position.\r\n\t *\r\n\t * @defult 1\r\n\t */\r\n\tendLocation?: number;\r\n\r\n}\r\n\r\nexport interface ISerpentineChartPrivate extends ICurveChartPrivate {\r\n}\r\n\r\n/**\r\n * A Serpentine chart.\r\n *\r\n * For this chart to work, it needs curve points provided via renderer of\r\n * its X-axis.\r\n * \r\n * Note: it is an experimental chart type and does not support all the\r\n * functionality of the [[XYChart]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/timeline/} for more info\r\n * @since 5.12.0\r\n * @important\r\n */\r\nexport class SerpentineChart extends CurveChart {\r\n\r\n\tpublic static className: string = \"SerpentineChart\";\r\n\tpublic static classNames: Array<string> = CurveChart.classNames.concat([SerpentineChart.className]);\r\n\r\n\tdeclare public _settings: ISerpentineChartSettings;\r\n\tdeclare public _privateSettings: ISerpentineChartPrivate;\r\n\r\n\tdeclare public _seriesType: CurveColumnSeries;\r\n\r\n\r\n\tpublic _prepareChildren(): void {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tif (this.isDirty(\"levelCount\") || this.isDirty(\"orientation\")) {\r\n\t\t\tthis._updateMasks();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _updateMasks(): void {\r\n\t\tconst levelCount = this.get(\"levelCount\", 1) - 1;\r\n\r\n\t\tlet w = this.plotContainer.innerWidth();\r\n\t\tlet h = this.plotContainer.innerHeight();\r\n\r\n\t\tlet points: IPoint[] = [];\r\n\t\tlet radius: number;\r\n\r\n\r\n\t\tif (this.get(\"orientation\") == \"vertical\") {\r\n\t\t\tradius = Math.min(h / (levelCount + 1) / 2, w / 3);\r\n\t\t\th = Math.min(radius * (levelCount + 1) * 2, h);\r\n\r\n\t\t\tconst startLocation = this.get(\"startLocation\", 0);\r\n\t\t\tconst endLocation = this.get(\"endLocation\", 1);\r\n\r\n\t\t\tfor (let i = 0; i <= levelCount; i++) {\r\n\t\t\t\tif (i % 2 === 0) {\r\n\t\t\t\t\tif (i === 0) {\r\n\t\t\t\t\t\tpoints.push({ x: -w / 2 + (w - radius * 2) * startLocation, y: -h / 2 + h / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tpoints.push({ x: -w / 2 + radius, y: -h / 2 + h / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (i === levelCount) {\r\n\t\t\t\t\t\tpoints.push({ x: w / 2 - radius - (w - radius * 2) * (1 - endLocation), y: -h / 2 + h / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tpoints.push({ x: w / 2 - 2 * radius, y: -h / 2 + h / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlet centerPoint = { x: w / 2 - 2 * radius, y: -h / 2 + h / (levelCount + 1) * (i + 0.5) }\r\n\t\t\t\t\tif (i < levelCount) {\r\n\t\t\t\t\t\tfor (let i = 1; i < 50; i++) {\r\n\t\t\t\t\t\t\tlet angle = -90 + i / 50 * 180;\r\n\t\t\t\t\t\t\tpoints.push({ x: centerPoint.x + radius * $math.cos(angle), y: centerPoint.y + radius * $math.sin(angle) });\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\telse {\r\n\t\t\t\t\tpoints.push({ x: w / 2 - 2 * radius, y: -h / 2 + h / (levelCount + 1) * i })\r\n\r\n\t\t\t\t\tif (i === levelCount) {\r\n\t\t\t\t\t\tpoints.push({ x: -w / 2 + (w - radius * 2) * (1 - endLocation), y: -h / 2 + h / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tpoints.push({ x: -w / 2 + radius, y: -h / 2 + h / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlet centerPoint = { x: -w / 2 + radius, y: -h / 2 + h / (levelCount + 1) * (i + 0.5) }\r\n\r\n\t\t\t\t\tif (i < levelCount) {\r\n\t\t\t\t\t\tfor (let i = 1; i < 50; i++) {\r\n\t\t\t\t\t\t\tlet angle = -90 - i / 50 * 180;\r\n\t\t\t\t\t\t\tpoints.push({ x: centerPoint.x + radius * $math.cos(angle), y: centerPoint.y + radius * $math.sin(angle) });\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\telse {\r\n\t\t\tradius = Math.min(w / (levelCount + 1) / 2, h / 3);\r\n\t\t\tw = Math.min(radius * (levelCount + 1) * 2, w);\r\n\r\n\t\t\tconst startLocation = this.get(\"startLocation\", 0);\r\n\t\t\tconst endLocation = this.get(\"endLocation\", 1);\r\n\r\n\t\t\tfor (let i = 0; i <= levelCount; i++) {\r\n\t\t\t\tif (i % 2 === 0) {\r\n\t\t\t\t\tif (i === 0) {\r\n\t\t\t\t\t\tpoints.push({ y: -h / 2 + (h - radius * 2) * startLocation, x: -w / 2 + w / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tpoints.push({ y: -h / 2 + radius, x: -w / 2 + w / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (i === levelCount) {\r\n\t\t\t\t\t\tpoints.push({ y: h / 2 - radius - (h - radius * 2) * (1 - endLocation), x: -w / 2 + w / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tpoints.push({ y: h / 2 - 2 * radius, x: -w / 2 + w / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlet centerPoint = { y: h / 2 - 2 * radius, x: -w / 2 + w / (levelCount + 1) * (i + 0.5) }\r\n\t\t\t\t\tif (i < levelCount) {\r\n\t\t\t\t\t\tfor (let i = 1; i < 50; i++) {\r\n\t\t\t\t\t\t\tlet angle = -90 + i / 50 * 180;\r\n\t\t\t\t\t\t\tpoints.push({ y: centerPoint.y + radius * $math.cos(angle), x: centerPoint.x + radius * $math.sin(angle) });\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\telse {\r\n\t\t\t\t\tpoints.push({ y: h / 2 - 2 * radius, x: -w / 2 + w / (levelCount + 1) * i })\r\n\r\n\t\t\t\t\tif (i === levelCount) {\r\n\t\t\t\t\t\tpoints.push({ y: -h / 2 + (h - radius * 2) * (1 - endLocation), x: -w / 2 + w / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tpoints.push({ y: -h / 2 + radius, x: -w / 2 + w / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlet centerPoint = { y: -h / 2 + radius, x: -w / 2 + w / (levelCount + 1) * (i + 0.5) }\r\n\r\n\t\t\t\t\tif (i < levelCount) {\r\n\t\t\t\t\t\tfor (let i = 1; i < 50; i++) {\r\n\t\t\t\t\t\t\tlet angle = -90 - i / 50 * 180;\r\n\t\t\t\t\t\t\tpoints.push({ y: centerPoint.y + radius * $math.cos(angle), x: centerPoint.x + radius * $math.sin(angle) });\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\r\n\r\n\t\tthis.yAxes.each((axis) => {\r\n\t\t\tconst renderer = axis.get(\"renderer\") as AxisRendererCurveY;\r\n\t\t\trenderer.set(\"axisLength\", $utils.relativeToValue(this.get(\"yAxisRadius\", p50), 2 * radius));\r\n\t\t\taxis.markDirtySize();\r\n\t\t})\r\n\r\n\t\tthis.xAxes.each((axis) => {\r\n\t\t\tconst renderer = axis.get(\"renderer\") as AxisRendererCurveX;\r\n\t\t\trenderer.setPrivate(\"autoScale\", false);\r\n\t\t\trenderer.set(\"points\", points);\r\n\t\t})\r\n\t\tsuper._updateMasks();\r\n\t}\r\n}\r\n"]}
1
+ {"version":3,"file":"SerpentineChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/timeline/SerpentineChart.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CurveColumnSeries } from \"./CurveColumnSeries\";\r\nimport type { AxisRendererCurveY } from \"./AxisRendererCurveY\";\r\nimport type { IPoint } from \"../../core/util/IPoint\";\r\nimport type { AxisRendererCurveX } from \"./AxisRendererCurveX\";\r\n\r\nimport { CurveChart, ICurveChartPrivate, ICurveChartSettings } from \"./CurveChart\";\r\nimport { p50, Percent } from \"../../core/util/Percent\";\r\n\r\nimport * as $math from \"../../core/util/Math\";\r\nimport * as $utils from \"../../core/util/Utils\";\r\n\r\n\r\nexport interface ISerpentineChartSettings extends ICurveChartSettings {\r\n\r\n\t/**\r\n\t * Orientation of the serpentine.\r\n\t *\r\n\t * @default \"vertical\"\r\n\t */\r\n\torientation?: \"horizontal\" | \"vertical\";\r\n\r\n\t/**\r\n\t * Number of levels in the chart.\r\n\t *\r\n\t * @default 3\r\n\t */\r\n\tlevelCount?: number;\r\n\r\n\t/**\r\n\t * Radius of the Y-axis in `Percent`.\r\n\t *\r\n\t * @default 50%\r\n\t */\r\n\tyAxisRadius?: Percent;\r\n\r\n\t/**\r\n\t * Relative location (0-1) of the start postion.\r\n\t *\r\n\t * @default 0\r\n\t */\r\n\tstartLocation?: number;\r\n\r\n\t/**\r\n\t * Relative location (0-1) of the end position.\r\n\t *\r\n\t * @default 1\r\n\t */\r\n\tendLocation?: number;\r\n\r\n}\r\n\r\nexport interface ISerpentineChartPrivate extends ICurveChartPrivate {\r\n}\r\n\r\n/**\r\n * A Serpentine chart.\r\n *\r\n * For this chart to work, it needs curve points provided via renderer of\r\n * its X-axis.\r\n * \r\n * Note: it is an experimental chart type and does not support all the\r\n * functionality of the [[XYChart]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/timeline/} for more info\r\n * @since 5.12.0\r\n * @important\r\n */\r\nexport class SerpentineChart extends CurveChart {\r\n\r\n\tpublic static className: string = \"SerpentineChart\";\r\n\tpublic static classNames: Array<string> = CurveChart.classNames.concat([SerpentineChart.className]);\r\n\r\n\tdeclare public _settings: ISerpentineChartSettings;\r\n\tdeclare public _privateSettings: ISerpentineChartPrivate;\r\n\r\n\tdeclare public _seriesType: CurveColumnSeries;\r\n\r\n\r\n\tpublic _prepareChildren(): void {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tif (this.isDirty(\"levelCount\") || this.isDirty(\"orientation\")) {\r\n\t\t\tthis._updateMasks();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _updateMasks(): void {\r\n\t\tconst levelCount = this.get(\"levelCount\", 1) - 1;\r\n\r\n\t\tlet w = this.plotContainer.innerWidth();\r\n\t\tlet h = this.plotContainer.innerHeight();\r\n\r\n\t\tlet points: IPoint[] = [];\r\n\t\tlet radius: number;\r\n\r\n\r\n\t\tif (this.get(\"orientation\") == \"vertical\") {\r\n\t\t\tradius = Math.min(h / (levelCount + 1) / 2, w / 3);\r\n\t\t\th = Math.min(radius * (levelCount + 1) * 2, h);\r\n\r\n\t\t\tconst startLocation = this.get(\"startLocation\", 0);\r\n\t\t\tconst endLocation = this.get(\"endLocation\", 1);\r\n\r\n\t\t\tfor (let i = 0; i <= levelCount; i++) {\r\n\t\t\t\tif (i % 2 === 0) {\r\n\t\t\t\t\tif (i === 0) {\r\n\t\t\t\t\t\tpoints.push({ x: -w / 2 + (w - radius * 2) * startLocation, y: -h / 2 + h / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tpoints.push({ x: -w / 2 + radius, y: -h / 2 + h / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (i === levelCount) {\r\n\t\t\t\t\t\tpoints.push({ x: w / 2 - radius - (w - radius * 2) * (1 - endLocation), y: -h / 2 + h / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tpoints.push({ x: w / 2 - 2 * radius, y: -h / 2 + h / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlet centerPoint = { x: w / 2 - 2 * radius, y: -h / 2 + h / (levelCount + 1) * (i + 0.5) }\r\n\t\t\t\t\tif (i < levelCount) {\r\n\t\t\t\t\t\tfor (let i = 1; i < 50; i++) {\r\n\t\t\t\t\t\t\tlet angle = -90 + i / 50 * 180;\r\n\t\t\t\t\t\t\tpoints.push({ x: centerPoint.x + radius * $math.cos(angle), y: centerPoint.y + radius * $math.sin(angle) });\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\telse {\r\n\t\t\t\t\tpoints.push({ x: w / 2 - 2 * radius, y: -h / 2 + h / (levelCount + 1) * i })\r\n\r\n\t\t\t\t\tif (i === levelCount) {\r\n\t\t\t\t\t\tpoints.push({ x: -w / 2 + (w - radius * 2) * (1 - endLocation), y: -h / 2 + h / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tpoints.push({ x: -w / 2 + radius, y: -h / 2 + h / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlet centerPoint = { x: -w / 2 + radius, y: -h / 2 + h / (levelCount + 1) * (i + 0.5) }\r\n\r\n\t\t\t\t\tif (i < levelCount) {\r\n\t\t\t\t\t\tfor (let i = 1; i < 50; i++) {\r\n\t\t\t\t\t\t\tlet angle = -90 - i / 50 * 180;\r\n\t\t\t\t\t\t\tpoints.push({ x: centerPoint.x + radius * $math.cos(angle), y: centerPoint.y + radius * $math.sin(angle) });\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\telse {\r\n\t\t\tradius = Math.min(w / (levelCount + 1) / 2, h / 3);\r\n\t\t\tw = Math.min(radius * (levelCount + 1) * 2, w);\r\n\r\n\t\t\tconst startLocation = this.get(\"startLocation\", 0);\r\n\t\t\tconst endLocation = this.get(\"endLocation\", 1);\r\n\r\n\t\t\tfor (let i = 0; i <= levelCount; i++) {\r\n\t\t\t\tif (i % 2 === 0) {\r\n\t\t\t\t\tif (i === 0) {\r\n\t\t\t\t\t\tpoints.push({ y: -h / 2 + (h - radius * 2) * startLocation, x: -w / 2 + w / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tpoints.push({ y: -h / 2 + radius, x: -w / 2 + w / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (i === levelCount) {\r\n\t\t\t\t\t\tpoints.push({ y: h / 2 - radius - (h - radius * 2) * (1 - endLocation), x: -w / 2 + w / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tpoints.push({ y: h / 2 - 2 * radius, x: -w / 2 + w / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlet centerPoint = { y: h / 2 - 2 * radius, x: -w / 2 + w / (levelCount + 1) * (i + 0.5) }\r\n\t\t\t\t\tif (i < levelCount) {\r\n\t\t\t\t\t\tfor (let i = 1; i < 50; i++) {\r\n\t\t\t\t\t\t\tlet angle = -90 + i / 50 * 180;\r\n\t\t\t\t\t\t\tpoints.push({ y: centerPoint.y + radius * $math.cos(angle), x: centerPoint.x + radius * $math.sin(angle) });\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\telse {\r\n\t\t\t\t\tpoints.push({ y: h / 2 - 2 * radius, x: -w / 2 + w / (levelCount + 1) * i })\r\n\r\n\t\t\t\t\tif (i === levelCount) {\r\n\t\t\t\t\t\tpoints.push({ y: -h / 2 + (h - radius * 2) * (1 - endLocation), x: -w / 2 + w / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tpoints.push({ y: -h / 2 + radius, x: -w / 2 + w / (levelCount + 1) * i })\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tlet centerPoint = { y: -h / 2 + radius, x: -w / 2 + w / (levelCount + 1) * (i + 0.5) }\r\n\r\n\t\t\t\t\tif (i < levelCount) {\r\n\t\t\t\t\t\tfor (let i = 1; i < 50; i++) {\r\n\t\t\t\t\t\t\tlet angle = -90 - i / 50 * 180;\r\n\t\t\t\t\t\t\tpoints.push({ y: centerPoint.y + radius * $math.cos(angle), x: centerPoint.x + radius * $math.sin(angle) });\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\r\n\r\n\t\tthis.yAxes.each((axis) => {\r\n\t\t\tconst renderer = axis.get(\"renderer\") as AxisRendererCurveY;\r\n\t\t\trenderer.set(\"axisLength\", $utils.relativeToValue(this.get(\"yAxisRadius\", p50), 2 * radius));\r\n\t\t\taxis.markDirtySize();\r\n\t\t})\r\n\r\n\t\tthis.xAxes.each((axis) => {\r\n\t\t\tconst renderer = axis.get(\"renderer\") as AxisRendererCurveX;\r\n\t\t\trenderer.setPrivate(\"autoScale\", false);\r\n\t\t\trenderer.set(\"points\", points);\r\n\t\t})\r\n\t\tsuper._updateMasks();\r\n\t}\r\n}\r\n"]}
@@ -3,7 +3,7 @@ import { CurveChart, ICurveChartPrivate, ICurveChartSettings } from "./CurveChar
3
3
  import { Percent } from "../../core/util/Percent";
4
4
  export interface ISpiralChartSettings extends ICurveChartSettings {
5
5
  /**
6
- * Numer of spiral circles.
6
+ * Number of spiral circles.
7
7
  *
8
8
  * @default 3
9
9
  */
@@ -11,7 +11,7 @@ export interface ISpiralChartSettings extends ICurveChartSettings {
11
11
  /**
12
12
  * y Axis radius in percent.
13
13
  *
14
- * @defgault 50%
14
+ * @default 50%
15
15
  */
16
16
  yAxisRadius?: Percent;
17
17
  /**
@@ -23,7 +23,7 @@ export interface ISpiralChartSettings extends ICurveChartSettings {
23
23
  /**
24
24
  * End angle of the spiral in degrees.
25
25
  *
26
- * default 0
26
+ * @default 0
27
27
  */
28
28
  endAngle?: number;
29
29
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SpiralChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/timeline/SpiralChart.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAA2C,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,GAAG,EAAW,MAAM,yBAAyB,CAAC;AAEvD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AA6ChD;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,WAAY,SAAQ,UAAU;IAWnC,gBAAgB;QACtB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;SACpB;IACF,CAAC;IAEM,YAAY;QAElB,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;QAEzC,IAAI,MAAM,GAAW,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7E,IAAI,UAAU,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,WAAW,GAAW,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;QAE3F,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;QAE3I,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAuB,CAAC;YAC5D,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACxC,IAAI,CAAC,aAAa,EAAE,CAAC;QACtB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAuB,CAAC;YAC5D,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACxC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;;AAzCa,qBAAS,GAAW,aAAa,CAAC;AAClC,sBAAU,GAAkB,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC","sourcesContent":["import type { CurveColumnSeries } from \"./CurveColumnSeries\";\r\nimport type { AxisRendererCurveY } from \"./AxisRendererCurveY\";\r\nimport type { AxisRendererCurveX } from \"./AxisRendererCurveX\";\r\n\r\nimport { CurveChart, ICurveChartPrivate, ICurveChartSettings } from \"./CurveChart\";\r\nimport { p50, Percent } from \"../../core/util/Percent\";\r\n\r\nimport * as $math from \"../../core/util/Math\";\r\nimport * as $utils from \"../../core/util/Utils\";\r\n\r\n\r\nexport interface ISpiralChartSettings extends ICurveChartSettings {\r\n\r\n\t/**\r\n\t * Numer of spiral circles.\r\n\t *\r\n\t * @default 3\r\n\t */\r\n\tlevelCount?: number;\r\n\r\n\t/**\r\n\t * y Axis radius in percent.\r\n\t *\r\n\t * @defgault 50%\r\n\t */\r\n\tyAxisRadius?: Percent;\r\n\r\n\t/**\r\n\t * Start angle of the spiral in degrees.\r\n\t *\r\n\t * @default -90\r\n\t */\r\n\tstartAngle?: number;\r\n\r\n\t/**\r\n\t * End angle of the spiral in degrees.\r\n\t *\r\n\t * default 0\r\n\t */\r\n\tendAngle?: number;\r\n\r\n\t/**\r\n\t * Inner radius of the spiral in percent.\r\n\t *\r\n\t * @default 60%\r\n\t */\r\n\tinnerRadius?: Percent;\r\n\r\n}\r\n\r\nexport interface ISpiralChartPrivate extends ICurveChartPrivate {\r\n}\r\n\r\n/**\r\n * A spiral chart.\r\n * \r\n * For this chart to work, it needs curve points provided via renderer of\r\n * its X-axis.\r\n * \r\n * Note: it is an experimental chart type and does not support all the\r\n * functionality of the [[XYChart]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/timeline/} for more info\r\n * @since 5.12.0\r\n * @important\r\n */\r\nexport class SpiralChart extends CurveChart {\r\n\r\n\tpublic static className: string = \"SpiralChart\";\r\n\tpublic static classNames: Array<string> = CurveChart.classNames.concat([SpiralChart.className]);\r\n\r\n\tdeclare public _settings: ISpiralChartSettings;\r\n\tdeclare public _privateSettings: ISpiralChartPrivate;\r\n\r\n\tdeclare public _seriesType: CurveColumnSeries;\r\n\r\n\r\n\tpublic _prepareChildren(): void {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tif (this.isDirty(\"levelCount\")) {\r\n\t\t\tthis._updateMasks();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _updateMasks(): void {\r\n\r\n\t\tlet w = this.plotContainer.innerWidth();\r\n\t\tlet h = this.plotContainer.innerHeight();\r\n\r\n\t\tlet radius: number = Math.min(w, h) / 2;\r\n\t\tlet innerRadius = $utils.relativeToValue(this.get(\"innerRadius\", 0), radius);\r\n\t\tlet radiusStep = (radius - innerRadius) / this.get(\"levelCount\", 1);\r\n\t\tlet yAxisRadius: number = $utils.relativeToValue(this.get(\"yAxisRadius\", p50), radiusStep);\r\n\r\n\t\tconst points = $math.spiralPoints(0, 0, radius, radius, innerRadius, 20, radiusStep, this.get(\"startAngle\", 0), this.get(\"endAngle\", 360));\r\n\r\n\t\tthis.yAxes.each((axis) => {\r\n\t\t\tconst renderer = axis.get(\"renderer\") as AxisRendererCurveY;\r\n\t\t\trenderer.set(\"axisLength\", yAxisRadius);\r\n\t\t\taxis.markDirtySize();\r\n\t\t})\r\n\r\n\t\tthis.xAxes.each((axis) => {\r\n\t\t\tconst renderer = axis.get(\"renderer\") as AxisRendererCurveX;\r\n\t\t\trenderer.setPrivate(\"autoScale\", false);\r\n\t\t\trenderer.set(\"points\", points);\r\n\t\t})\r\n\t\tsuper._updateMasks();\r\n\t}\r\n}\r\n"]}
1
+ {"version":3,"file":"SpiralChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/timeline/SpiralChart.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAA2C,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,GAAG,EAAW,MAAM,yBAAyB,CAAC;AAEvD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AA6ChD;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,WAAY,SAAQ,UAAU;IAWnC,gBAAgB;QACtB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;SACpB;IACF,CAAC;IAEM,YAAY;QAElB,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;QAEzC,IAAI,MAAM,GAAW,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7E,IAAI,UAAU,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,WAAW,GAAW,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;QAE3F,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;QAE3I,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAuB,CAAC;YAC5D,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACxC,IAAI,CAAC,aAAa,EAAE,CAAC;QACtB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAuB,CAAC;YAC5D,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACxC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;;AAzCa,qBAAS,GAAW,aAAa,CAAC;AAClC,sBAAU,GAAkB,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC","sourcesContent":["import type { CurveColumnSeries } from \"./CurveColumnSeries\";\r\nimport type { AxisRendererCurveY } from \"./AxisRendererCurveY\";\r\nimport type { AxisRendererCurveX } from \"./AxisRendererCurveX\";\r\n\r\nimport { CurveChart, ICurveChartPrivate, ICurveChartSettings } from \"./CurveChart\";\r\nimport { p50, Percent } from \"../../core/util/Percent\";\r\n\r\nimport * as $math from \"../../core/util/Math\";\r\nimport * as $utils from \"../../core/util/Utils\";\r\n\r\n\r\nexport interface ISpiralChartSettings extends ICurveChartSettings {\r\n\r\n\t/**\r\n\t * Number of spiral circles.\r\n\t *\r\n\t * @default 3\r\n\t */\r\n\tlevelCount?: number;\r\n\r\n\t/**\r\n\t * y Axis radius in percent.\r\n\t *\r\n\t * @default 50%\r\n\t */\r\n\tyAxisRadius?: Percent;\r\n\r\n\t/**\r\n\t * Start angle of the spiral in degrees.\r\n\t *\r\n\t * @default -90\r\n\t */\r\n\tstartAngle?: number;\r\n\r\n\t/**\r\n\t * End angle of the spiral in degrees.\r\n\t *\r\n\t * @default 0\r\n\t */\r\n\tendAngle?: number;\r\n\r\n\t/**\r\n\t * Inner radius of the spiral in percent.\r\n\t *\r\n\t * @default 60%\r\n\t */\r\n\tinnerRadius?: Percent;\r\n\r\n}\r\n\r\nexport interface ISpiralChartPrivate extends ICurveChartPrivate {\r\n}\r\n\r\n/**\r\n * A spiral chart.\r\n * \r\n * For this chart to work, it needs curve points provided via renderer of\r\n * its X-axis.\r\n * \r\n * Note: it is an experimental chart type and does not support all the\r\n * functionality of the [[XYChart]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/timeline/} for more info\r\n * @since 5.12.0\r\n * @important\r\n */\r\nexport class SpiralChart extends CurveChart {\r\n\r\n\tpublic static className: string = \"SpiralChart\";\r\n\tpublic static classNames: Array<string> = CurveChart.classNames.concat([SpiralChart.className]);\r\n\r\n\tdeclare public _settings: ISpiralChartSettings;\r\n\tdeclare public _privateSettings: ISpiralChartPrivate;\r\n\r\n\tdeclare public _seriesType: CurveColumnSeries;\r\n\r\n\r\n\tpublic _prepareChildren(): void {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tif (this.isDirty(\"levelCount\")) {\r\n\t\t\tthis._updateMasks();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _updateMasks(): void {\r\n\r\n\t\tlet w = this.plotContainer.innerWidth();\r\n\t\tlet h = this.plotContainer.innerHeight();\r\n\r\n\t\tlet radius: number = Math.min(w, h) / 2;\r\n\t\tlet innerRadius = $utils.relativeToValue(this.get(\"innerRadius\", 0), radius);\r\n\t\tlet radiusStep = (radius - innerRadius) / this.get(\"levelCount\", 1);\r\n\t\tlet yAxisRadius: number = $utils.relativeToValue(this.get(\"yAxisRadius\", p50), radiusStep);\r\n\r\n\t\tconst points = $math.spiralPoints(0, 0, radius, radius, innerRadius, 20, radiusStep, this.get(\"startAngle\", 0), this.get(\"endAngle\", 360));\r\n\r\n\t\tthis.yAxes.each((axis) => {\r\n\t\t\tconst renderer = axis.get(\"renderer\") as AxisRendererCurveY;\r\n\t\t\trenderer.set(\"axisLength\", yAxisRadius);\r\n\t\t\taxis.markDirtySize();\r\n\t\t})\r\n\r\n\t\tthis.xAxes.each((axis) => {\r\n\t\t\tconst renderer = axis.get(\"renderer\") as AxisRendererCurveX;\r\n\t\t\trenderer.setPrivate(\"autoScale\", false);\r\n\t\t\trenderer.set(\"points\", points);\r\n\t\t})\r\n\t\tsuper._updateMasks();\r\n\t}\r\n}\r\n"]}
@@ -19,7 +19,7 @@ export interface IVennDataItem extends ISeriesDataItem {
19
19
  */
20
20
  category: string;
21
21
  /**
22
- * Slice visaul element.
22
+ * Slice visual element.
23
23
  */
24
24
  slice: Graphics;
25
25
  /**