@amcharts/amcharts5 5.1.14 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. package/.internal/charts/stock/PanelControls.d.ts +53 -0
  2. package/.internal/charts/stock/PanelControls.d.ts.map +1 -0
  3. package/.internal/charts/stock/PanelControls.js +122 -0
  4. package/.internal/charts/stock/PanelControls.js.map +1 -0
  5. package/.internal/charts/stock/SettingsModal.d.ts +70 -0
  6. package/.internal/charts/stock/SettingsModal.d.ts.map +1 -0
  7. package/.internal/charts/stock/SettingsModal.js +457 -0
  8. package/.internal/charts/stock/SettingsModal.js.map +1 -0
  9. package/.internal/charts/stock/StockChart.d.ts +189 -0
  10. package/.internal/charts/stock/StockChart.d.ts.map +1 -0
  11. package/.internal/charts/stock/StockChart.js +696 -0
  12. package/.internal/charts/stock/StockChart.js.map +1 -0
  13. package/.internal/charts/stock/StockChartDefaultTheme.d.ts +8 -0
  14. package/.internal/charts/stock/StockChartDefaultTheme.d.ts.map +1 -0
  15. package/.internal/charts/stock/StockChartDefaultTheme.js +1204 -0
  16. package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -0
  17. package/.internal/charts/stock/StockLegend.d.ts +67 -0
  18. package/.internal/charts/stock/StockLegend.d.ts.map +1 -0
  19. package/.internal/charts/stock/StockLegend.js +136 -0
  20. package/.internal/charts/stock/StockLegend.js.map +1 -0
  21. package/.internal/charts/stock/StockPanel.d.ts +52 -0
  22. package/.internal/charts/stock/StockPanel.d.ts.map +1 -0
  23. package/.internal/charts/stock/StockPanel.js +164 -0
  24. package/.internal/charts/stock/StockPanel.js.map +1 -0
  25. package/.internal/charts/stock/drawing/AverageSeries.d.ts +22 -0
  26. package/.internal/charts/stock/drawing/AverageSeries.d.ts.map +1 -0
  27. package/.internal/charts/stock/drawing/AverageSeries.js +86 -0
  28. package/.internal/charts/stock/drawing/AverageSeries.js.map +1 -0
  29. package/.internal/charts/stock/drawing/CalloutSeries.d.ts +31 -0
  30. package/.internal/charts/stock/drawing/CalloutSeries.d.ts.map +1 -0
  31. package/.internal/charts/stock/drawing/CalloutSeries.js +103 -0
  32. package/.internal/charts/stock/drawing/CalloutSeries.js.map +1 -0
  33. package/.internal/charts/stock/drawing/DoodleSeries.d.ts +26 -0
  34. package/.internal/charts/stock/drawing/DoodleSeries.d.ts.map +1 -0
  35. package/.internal/charts/stock/drawing/DoodleSeries.js +155 -0
  36. package/.internal/charts/stock/drawing/DoodleSeries.js.map +1 -0
  37. package/.internal/charts/stock/drawing/DrawingSeries.d.ts +127 -0
  38. package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -0
  39. package/.internal/charts/stock/drawing/DrawingSeries.js +849 -0
  40. package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -0
  41. package/.internal/charts/stock/drawing/EllipseSeries.d.ts +37 -0
  42. package/.internal/charts/stock/drawing/EllipseSeries.d.ts.map +1 -0
  43. package/.internal/charts/stock/drawing/EllipseSeries.js +366 -0
  44. package/.internal/charts/stock/drawing/EllipseSeries.js.map +1 -0
  45. package/.internal/charts/stock/drawing/FibonacciSeries.d.ts +56 -0
  46. package/.internal/charts/stock/drawing/FibonacciSeries.d.ts.map +1 -0
  47. package/.internal/charts/stock/drawing/FibonacciSeries.js +284 -0
  48. package/.internal/charts/stock/drawing/FibonacciSeries.js.map +1 -0
  49. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.d.ts +20 -0
  50. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.d.ts.map +1 -0
  51. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.js +120 -0
  52. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.js.map +1 -0
  53. package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts +22 -0
  54. package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts.map +1 -0
  55. package/.internal/charts/stock/drawing/HorizontalLineSeries.js +94 -0
  56. package/.internal/charts/stock/drawing/HorizontalLineSeries.js.map +1 -0
  57. package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts +29 -0
  58. package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts.map +1 -0
  59. package/.internal/charts/stock/drawing/HorizontalRaySeries.js +110 -0
  60. package/.internal/charts/stock/drawing/HorizontalRaySeries.js.map +1 -0
  61. package/.internal/charts/stock/drawing/IconSeries.d.ts +54 -0
  62. package/.internal/charts/stock/drawing/IconSeries.d.ts.map +1 -0
  63. package/.internal/charts/stock/drawing/IconSeries.js +127 -0
  64. package/.internal/charts/stock/drawing/IconSeries.js.map +1 -0
  65. package/.internal/charts/stock/drawing/LabelSeries.d.ts +54 -0
  66. package/.internal/charts/stock/drawing/LabelSeries.d.ts.map +1 -0
  67. package/.internal/charts/stock/drawing/LabelSeries.js +195 -0
  68. package/.internal/charts/stock/drawing/LabelSeries.js.map +1 -0
  69. package/.internal/charts/stock/drawing/PolylineSeries.d.ts +26 -0
  70. package/.internal/charts/stock/drawing/PolylineSeries.d.ts.map +1 -0
  71. package/.internal/charts/stock/drawing/PolylineSeries.js +158 -0
  72. package/.internal/charts/stock/drawing/PolylineSeries.js.map +1 -0
  73. package/.internal/charts/stock/drawing/QuadrantLineSeries.d.ts +26 -0
  74. package/.internal/charts/stock/drawing/QuadrantLineSeries.d.ts.map +1 -0
  75. package/.internal/charts/stock/drawing/QuadrantLineSeries.js +163 -0
  76. package/.internal/charts/stock/drawing/QuadrantLineSeries.js.map +1 -0
  77. package/.internal/charts/stock/drawing/RectangleSeries.d.ts +27 -0
  78. package/.internal/charts/stock/drawing/RectangleSeries.d.ts.map +1 -0
  79. package/.internal/charts/stock/drawing/RectangleSeries.js +202 -0
  80. package/.internal/charts/stock/drawing/RectangleSeries.js.map +1 -0
  81. package/.internal/charts/stock/drawing/RegressionSeries.d.ts +22 -0
  82. package/.internal/charts/stock/drawing/RegressionSeries.d.ts.map +1 -0
  83. package/.internal/charts/stock/drawing/RegressionSeries.js +97 -0
  84. package/.internal/charts/stock/drawing/RegressionSeries.js.map +1 -0
  85. package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts +51 -0
  86. package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts.map +1 -0
  87. package/.internal/charts/stock/drawing/SimpleLineSeries.js +366 -0
  88. package/.internal/charts/stock/drawing/SimpleLineSeries.js.map +1 -0
  89. package/.internal/charts/stock/drawing/SpriteResizer.d.ts +44 -0
  90. package/.internal/charts/stock/drawing/SpriteResizer.d.ts.map +1 -0
  91. package/.internal/charts/stock/drawing/SpriteResizer.js +254 -0
  92. package/.internal/charts/stock/drawing/SpriteResizer.js.map +1 -0
  93. package/.internal/charts/stock/drawing/TrendLineSeries.d.ts +22 -0
  94. package/.internal/charts/stock/drawing/TrendLineSeries.d.ts.map +1 -0
  95. package/.internal/charts/stock/drawing/TrendLineSeries.js +68 -0
  96. package/.internal/charts/stock/drawing/TrendLineSeries.js.map +1 -0
  97. package/.internal/charts/stock/drawing/VerticalLineSeries.d.ts +22 -0
  98. package/.internal/charts/stock/drawing/VerticalLineSeries.d.ts.map +1 -0
  99. package/.internal/charts/stock/drawing/VerticalLineSeries.js +95 -0
  100. package/.internal/charts/stock/drawing/VerticalLineSeries.js.map +1 -0
  101. package/.internal/charts/stock/indicators/AccumulationDistribution.d.ts +43 -0
  102. package/.internal/charts/stock/indicators/AccumulationDistribution.d.ts.map +1 -0
  103. package/.internal/charts/stock/indicators/AccumulationDistribution.js +120 -0
  104. package/.internal/charts/stock/indicators/AccumulationDistribution.js.map +1 -0
  105. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.d.ts +52 -0
  106. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.d.ts.map +1 -0
  107. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js +178 -0
  108. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js.map +1 -0
  109. package/.internal/charts/stock/indicators/Aroon.d.ts +48 -0
  110. package/.internal/charts/stock/indicators/Aroon.d.ts.map +1 -0
  111. package/.internal/charts/stock/indicators/Aroon.js +145 -0
  112. package/.internal/charts/stock/indicators/Aroon.js.map +1 -0
  113. package/.internal/charts/stock/indicators/AwesomeOscillator.d.ts +43 -0
  114. package/.internal/charts/stock/indicators/AwesomeOscillator.d.ts.map +1 -0
  115. package/.internal/charts/stock/indicators/AwesomeOscillator.js +120 -0
  116. package/.internal/charts/stock/indicators/AwesomeOscillator.js.map +1 -0
  117. package/.internal/charts/stock/indicators/BollingerBands.d.ts +51 -0
  118. package/.internal/charts/stock/indicators/BollingerBands.d.ts.map +1 -0
  119. package/.internal/charts/stock/indicators/BollingerBands.js +194 -0
  120. package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -0
  121. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.d.ts +39 -0
  122. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.d.ts.map +1 -0
  123. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js +129 -0
  124. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js.map +1 -0
  125. package/.internal/charts/stock/indicators/ChaikinOscillator.d.ts +43 -0
  126. package/.internal/charts/stock/indicators/ChaikinOscillator.d.ts.map +1 -0
  127. package/.internal/charts/stock/indicators/ChaikinOscillator.js +130 -0
  128. package/.internal/charts/stock/indicators/ChaikinOscillator.js.map +1 -0
  129. package/.internal/charts/stock/indicators/ChartIndicator.d.ts +36 -0
  130. package/.internal/charts/stock/indicators/ChartIndicator.d.ts.map +1 -0
  131. package/.internal/charts/stock/indicators/ChartIndicator.js +140 -0
  132. package/.internal/charts/stock/indicators/ChartIndicator.js.map +1 -0
  133. package/.internal/charts/stock/indicators/CommodityChannelIndex.d.ts +58 -0
  134. package/.internal/charts/stock/indicators/CommodityChannelIndex.d.ts.map +1 -0
  135. package/.internal/charts/stock/indicators/CommodityChannelIndex.js +233 -0
  136. package/.internal/charts/stock/indicators/CommodityChannelIndex.js.map +1 -0
  137. package/.internal/charts/stock/indicators/DisparityIndex.d.ts +40 -0
  138. package/.internal/charts/stock/indicators/DisparityIndex.d.ts.map +1 -0
  139. package/.internal/charts/stock/indicators/DisparityIndex.js +128 -0
  140. package/.internal/charts/stock/indicators/DisparityIndex.js.map +1 -0
  141. package/.internal/charts/stock/indicators/Indicator.d.ts +114 -0
  142. package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -0
  143. package/.internal/charts/stock/indicators/Indicator.js +443 -0
  144. package/.internal/charts/stock/indicators/Indicator.js.map +1 -0
  145. package/.internal/charts/stock/indicators/MACD.d.ts +70 -0
  146. package/.internal/charts/stock/indicators/MACD.d.ts.map +1 -0
  147. package/.internal/charts/stock/indicators/MACD.js +233 -0
  148. package/.internal/charts/stock/indicators/MACD.js.map +1 -0
  149. package/.internal/charts/stock/indicators/MovingAverage.d.ts +45 -0
  150. package/.internal/charts/stock/indicators/MovingAverage.d.ts.map +1 -0
  151. package/.internal/charts/stock/indicators/MovingAverage.js +174 -0
  152. package/.internal/charts/stock/indicators/MovingAverage.js.map +1 -0
  153. package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts +54 -0
  154. package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts.map +1 -0
  155. package/.internal/charts/stock/indicators/MovingAverageDeviation.js +169 -0
  156. package/.internal/charts/stock/indicators/MovingAverageDeviation.js.map +1 -0
  157. package/.internal/charts/stock/indicators/MovingAverageEnvelope.d.ts +60 -0
  158. package/.internal/charts/stock/indicators/MovingAverageEnvelope.d.ts.map +1 -0
  159. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js +213 -0
  160. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js.map +1 -0
  161. package/.internal/charts/stock/indicators/OnBalanceVolume.d.ts +39 -0
  162. package/.internal/charts/stock/indicators/OnBalanceVolume.d.ts.map +1 -0
  163. package/.internal/charts/stock/indicators/OnBalanceVolume.js +115 -0
  164. package/.internal/charts/stock/indicators/OnBalanceVolume.js.map +1 -0
  165. package/.internal/charts/stock/indicators/RelativeStrengthIndex.d.ts +58 -0
  166. package/.internal/charts/stock/indicators/RelativeStrengthIndex.d.ts.map +1 -0
  167. package/.internal/charts/stock/indicators/RelativeStrengthIndex.js +275 -0
  168. package/.internal/charts/stock/indicators/RelativeStrengthIndex.js.map +1 -0
  169. package/.internal/charts/stock/indicators/StochasticOscillator.d.ts +65 -0
  170. package/.internal/charts/stock/indicators/StochasticOscillator.d.ts.map +1 -0
  171. package/.internal/charts/stock/indicators/StochasticOscillator.js +245 -0
  172. package/.internal/charts/stock/indicators/StochasticOscillator.js.map +1 -0
  173. package/.internal/charts/stock/indicators/Volume.d.ts +43 -0
  174. package/.internal/charts/stock/indicators/Volume.d.ts.map +1 -0
  175. package/.internal/charts/stock/indicators/Volume.js +107 -0
  176. package/.internal/charts/stock/indicators/Volume.js.map +1 -0
  177. package/.internal/charts/stock/indicators/WilliamsR.d.ts +58 -0
  178. package/.internal/charts/stock/indicators/WilliamsR.d.ts.map +1 -0
  179. package/.internal/charts/stock/indicators/WilliamsR.js +235 -0
  180. package/.internal/charts/stock/indicators/WilliamsR.js.map +1 -0
  181. package/.internal/charts/stock/toolbar/ColorControl.d.ts +40 -0
  182. package/.internal/charts/stock/toolbar/ColorControl.d.ts.map +1 -0
  183. package/.internal/charts/stock/toolbar/ColorControl.js +118 -0
  184. package/.internal/charts/stock/toolbar/ColorControl.js.map +1 -0
  185. package/.internal/charts/stock/toolbar/ComparisonControl.d.ts +21 -0
  186. package/.internal/charts/stock/toolbar/ComparisonControl.d.ts.map +1 -0
  187. package/.internal/charts/stock/toolbar/ComparisonControl.js +35 -0
  188. package/.internal/charts/stock/toolbar/ComparisonControl.js.map +1 -0
  189. package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts +44 -0
  190. package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts.map +1 -0
  191. package/.internal/charts/stock/toolbar/DateRangeSelector.js +346 -0
  192. package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -0
  193. package/.internal/charts/stock/toolbar/DrawingControl.d.ts +134 -0
  194. package/.internal/charts/stock/toolbar/DrawingControl.d.ts.map +1 -0
  195. package/.internal/charts/stock/toolbar/DrawingControl.js +788 -0
  196. package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -0
  197. package/.internal/charts/stock/toolbar/DrawingToolControl.d.ts +31 -0
  198. package/.internal/charts/stock/toolbar/DrawingToolControl.d.ts.map +1 -0
  199. package/.internal/charts/stock/toolbar/DrawingToolControl.js +132 -0
  200. package/.internal/charts/stock/toolbar/DrawingToolControl.js.map +1 -0
  201. package/.internal/charts/stock/toolbar/Dropdown.d.ts +38 -0
  202. package/.internal/charts/stock/toolbar/Dropdown.d.ts.map +1 -0
  203. package/.internal/charts/stock/toolbar/Dropdown.js +174 -0
  204. package/.internal/charts/stock/toolbar/Dropdown.js.map +1 -0
  205. package/.internal/charts/stock/toolbar/DropdownColors.d.ts +38 -0
  206. package/.internal/charts/stock/toolbar/DropdownColors.d.ts.map +1 -0
  207. package/.internal/charts/stock/toolbar/DropdownColors.js +158 -0
  208. package/.internal/charts/stock/toolbar/DropdownColors.js.map +1 -0
  209. package/.internal/charts/stock/toolbar/DropdownList.d.ts +52 -0
  210. package/.internal/charts/stock/toolbar/DropdownList.d.ts.map +1 -0
  211. package/.internal/charts/stock/toolbar/DropdownList.js +283 -0
  212. package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -0
  213. package/.internal/charts/stock/toolbar/DropdownListControl.d.ts +34 -0
  214. package/.internal/charts/stock/toolbar/DropdownListControl.d.ts.map +1 -0
  215. package/.internal/charts/stock/toolbar/DropdownListControl.js +175 -0
  216. package/.internal/charts/stock/toolbar/DropdownListControl.js.map +1 -0
  217. package/.internal/charts/stock/toolbar/IconControl.d.ts +38 -0
  218. package/.internal/charts/stock/toolbar/IconControl.d.ts.map +1 -0
  219. package/.internal/charts/stock/toolbar/IconControl.js +133 -0
  220. package/.internal/charts/stock/toolbar/IconControl.js.map +1 -0
  221. package/.internal/charts/stock/toolbar/IndicatorControl.d.ts +32 -0
  222. package/.internal/charts/stock/toolbar/IndicatorControl.d.ts.map +1 -0
  223. package/.internal/charts/stock/toolbar/IndicatorControl.js +271 -0
  224. package/.internal/charts/stock/toolbar/IndicatorControl.js.map +1 -0
  225. package/.internal/charts/stock/toolbar/IntervalControl.d.ts +29 -0
  226. package/.internal/charts/stock/toolbar/IntervalControl.d.ts.map +1 -0
  227. package/.internal/charts/stock/toolbar/IntervalControl.js +35 -0
  228. package/.internal/charts/stock/toolbar/IntervalControl.js.map +1 -0
  229. package/.internal/charts/stock/toolbar/PeriodSelector.d.ts +31 -0
  230. package/.internal/charts/stock/toolbar/PeriodSelector.d.ts.map +1 -0
  231. package/.internal/charts/stock/toolbar/PeriodSelector.js +114 -0
  232. package/.internal/charts/stock/toolbar/PeriodSelector.js.map +1 -0
  233. package/.internal/charts/stock/toolbar/ResetControl.d.ts +24 -0
  234. package/.internal/charts/stock/toolbar/ResetControl.d.ts.map +1 -0
  235. package/.internal/charts/stock/toolbar/ResetControl.js +55 -0
  236. package/.internal/charts/stock/toolbar/ResetControl.js.map +1 -0
  237. package/.internal/charts/stock/toolbar/SeriesTypeControl.d.ts +18 -0
  238. package/.internal/charts/stock/toolbar/SeriesTypeControl.d.ts.map +1 -0
  239. package/.internal/charts/stock/toolbar/SeriesTypeControl.js +26 -0
  240. package/.internal/charts/stock/toolbar/SeriesTypeControl.js.map +1 -0
  241. package/.internal/charts/stock/toolbar/SettingsControl.d.ts +28 -0
  242. package/.internal/charts/stock/toolbar/SettingsControl.d.ts.map +1 -0
  243. package/.internal/charts/stock/toolbar/SettingsControl.js +163 -0
  244. package/.internal/charts/stock/toolbar/SettingsControl.js.map +1 -0
  245. package/.internal/charts/stock/toolbar/StockControl.d.ts +80 -0
  246. package/.internal/charts/stock/toolbar/StockControl.d.ts.map +1 -0
  247. package/.internal/charts/stock/toolbar/StockControl.js +199 -0
  248. package/.internal/charts/stock/toolbar/StockControl.js.map +1 -0
  249. package/.internal/charts/stock/toolbar/StockIcons.d.ts +16 -0
  250. package/.internal/charts/stock/toolbar/StockIcons.d.ts.map +1 -0
  251. package/.internal/charts/stock/toolbar/StockIcons.js +86 -0
  252. package/.internal/charts/stock/toolbar/StockIcons.js.map +1 -0
  253. package/.internal/charts/stock/toolbar/StockToolbar.d.ts +57 -0
  254. package/.internal/charts/stock/toolbar/StockToolbar.d.ts.map +1 -0
  255. package/.internal/charts/stock/toolbar/StockToolbar.js +118 -0
  256. package/.internal/charts/stock/toolbar/StockToolbar.js.map +1 -0
  257. package/.internal/charts/stock/toolbar/StockToolbarCSS.d.ts +7 -0
  258. package/.internal/charts/stock/toolbar/StockToolbarCSS.d.ts.map +1 -0
  259. package/.internal/charts/stock/toolbar/StockToolbarCSS.js +286 -0
  260. package/.internal/charts/stock/toolbar/StockToolbarCSS.js.map +1 -0
  261. package/.internal/charts/xy/axes/Axis.d.ts +1 -0
  262. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  263. package/.internal/charts/xy/axes/Axis.js +18 -0
  264. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  265. package/.internal/charts/xy/axes/AxisRendererX.js +1 -1
  266. package/.internal/charts/xy/axes/AxisRendererX.js.map +1 -1
  267. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  268. package/.internal/charts/xy/axes/DateAxis.js +1 -5
  269. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  270. package/.internal/charts/xy/series/BaseColumnSeries.d.ts +1 -1
  271. package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
  272. package/.internal/charts/xy/series/BaseColumnSeries.js +1 -0
  273. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  274. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  275. package/.internal/charts/xy/series/LineSeries.js +4 -1
  276. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  277. package/.internal/core/Classes.d.ts +124 -0
  278. package/.internal/core/Classes.d.ts.map +1 -1
  279. package/.internal/core/Classes.js.map +1 -1
  280. package/.internal/core/Root.d.ts +13 -12
  281. package/.internal/core/Root.d.ts.map +1 -1
  282. package/.internal/core/Root.js +22 -12
  283. package/.internal/core/Root.js.map +1 -1
  284. package/.internal/core/render/Legend.d.ts.map +1 -1
  285. package/.internal/core/render/Legend.js +16 -0
  286. package/.internal/core/render/Legend.js.map +1 -1
  287. package/.internal/core/util/Modal.d.ts.map +1 -1
  288. package/.internal/core/util/Modal.js +66 -2
  289. package/.internal/core/util/Modal.js.map +1 -1
  290. package/.internal/core/util/PopulateString.d.ts +4 -0
  291. package/.internal/core/util/PopulateString.d.ts.map +1 -1
  292. package/.internal/core/util/PopulateString.js +1 -1
  293. package/.internal/core/util/PopulateString.js.map +1 -1
  294. package/.internal/core/util/Utils.d.ts +16 -0
  295. package/.internal/core/util/Utils.d.ts.map +1 -1
  296. package/.internal/core/util/Utils.js +55 -3
  297. package/.internal/core/util/Utils.js.map +1 -1
  298. package/.internal/plugins/exporting/ExportingCSS.d.ts.map +1 -1
  299. package/.internal/plugins/exporting/ExportingCSS.js +1 -0
  300. package/.internal/plugins/exporting/ExportingCSS.js.map +1 -1
  301. package/.internal/plugins/exporting/ExportingMenu.js +2 -2
  302. package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
  303. package/.internal/plugins/json/Classes-script.d.ts +124 -0
  304. package/.internal/plugins/json/Classes-script.d.ts.map +1 -1
  305. package/.internal/plugins/json/Classes-script.js +62 -0
  306. package/.internal/plugins/json/Classes-script.js.map +1 -1
  307. package/.internal/plugins/json/Classes.d.ts +124 -0
  308. package/.internal/plugins/json/Classes.d.ts.map +1 -1
  309. package/.internal/plugins/json/Classes.js +62 -0
  310. package/.internal/plugins/json/Classes.js.map +1 -1
  311. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  312. package/.internal/themes/DefaultTheme.js +15 -0
  313. package/.internal/themes/DefaultTheme.js.map +1 -1
  314. package/CHANGELOG.md +13 -0
  315. package/examples/javascript/flow-chord/package.json +1 -1
  316. package/examples/javascript/flow-chord-directed/package.json +1 -1
  317. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  318. package/examples/javascript/flow-sankey/package.json +1 -1
  319. package/examples/javascript/gauge/package.json +1 -1
  320. package/examples/javascript/gauge-bands/package.json +1 -1
  321. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  322. package/examples/javascript/hierarchy-pack/package.json +1 -1
  323. package/examples/javascript/hierarchy-partition/package.json +1 -1
  324. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  325. package/examples/javascript/hierarchy-tree/package.json +1 -1
  326. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  327. package/examples/javascript/json/package.json +1 -1
  328. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  329. package/examples/javascript/map-day-and-night/package.json +1 -1
  330. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  331. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  332. package/examples/javascript/map-with-bubbles/package.json +1 -1
  333. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  334. package/examples/javascript/misc-40-charts/package.json +1 -1
  335. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  336. package/examples/javascript/pie-chart/package.json +1 -1
  337. package/examples/javascript/pie-donut-chart/package.json +1 -1
  338. package/examples/javascript/pie-variable-radius/package.json +1 -1
  339. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  340. package/examples/javascript/radar-heat-map/package.json +1 -1
  341. package/examples/javascript/radar-line/package.json +1 -1
  342. package/examples/javascript/radar-time-line/package.json +1 -1
  343. package/examples/javascript/sliced-funnel/package.json +1 -1
  344. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  345. package/examples/javascript/sliced-pyramid/package.json +1 -1
  346. package/examples/javascript/stock-chart/README.md +6 -0
  347. package/examples/javascript/stock-chart/index.css +11 -0
  348. package/examples/javascript/stock-chart/index.html +13 -0
  349. package/examples/javascript/stock-chart/index.js +552 -0
  350. package/examples/javascript/stock-chart/package.json +16 -0
  351. package/examples/javascript/stock-chart/webpack.config.js +38 -0
  352. package/examples/javascript/stock-chart-comparing-stocks/README.md +6 -0
  353. package/examples/javascript/stock-chart-comparing-stocks/data/AAPL_day.js +255 -0
  354. package/examples/javascript/stock-chart-comparing-stocks/data/AMD_day.js +255 -0
  355. package/examples/javascript/stock-chart-comparing-stocks/data/AMZN_day.js +255 -0
  356. package/examples/javascript/stock-chart-comparing-stocks/data/GOOG_day.js +255 -0
  357. package/examples/javascript/stock-chart-comparing-stocks/data/MSFT_day.js +255 -0
  358. package/examples/javascript/stock-chart-comparing-stocks/data/NFLX_day.js +255 -0
  359. package/examples/javascript/stock-chart-comparing-stocks/data/NVDA_day.js +255 -0
  360. package/examples/javascript/stock-chart-comparing-stocks/data/TSLA_day.js +255 -0
  361. package/examples/javascript/stock-chart-comparing-stocks/index.css +11 -0
  362. package/examples/javascript/stock-chart-comparing-stocks/index.html +13 -0
  363. package/examples/javascript/stock-chart-comparing-stocks/index.js +361 -0
  364. package/examples/javascript/stock-chart-comparing-stocks/package.json +16 -0
  365. package/examples/javascript/stock-chart-comparing-stocks/webpack.config.js +38 -0
  366. package/examples/javascript/stock-chart-data-granularity/README.md +6 -0
  367. package/examples/javascript/stock-chart-data-granularity/data/MSFT_day.js +255 -0
  368. package/examples/javascript/stock-chart-data-granularity/data/MSFT_minute.js +392 -0
  369. package/examples/javascript/stock-chart-data-granularity/data/MSFT_month.js +14 -0
  370. package/examples/javascript/stock-chart-data-granularity/data/MSFT_week.js +55 -0
  371. package/examples/javascript/stock-chart-data-granularity/index.css +11 -0
  372. package/examples/javascript/stock-chart-data-granularity/index.html +13 -0
  373. package/examples/javascript/stock-chart-data-granularity/index.js +344 -0
  374. package/examples/javascript/stock-chart-data-granularity/package.json +16 -0
  375. package/examples/javascript/stock-chart-data-granularity/webpack.config.js +38 -0
  376. package/examples/javascript/stock-chart-data-grouping/README.md +6 -0
  377. package/examples/javascript/stock-chart-data-grouping/data/MSFT_day.js +3103 -0
  378. package/examples/javascript/stock-chart-data-grouping/index.css +11 -0
  379. package/examples/javascript/stock-chart-data-grouping/index.html +13 -0
  380. package/examples/javascript/stock-chart-data-grouping/index.js +343 -0
  381. package/examples/javascript/stock-chart-data-grouping/package.json +16 -0
  382. package/examples/javascript/stock-chart-data-grouping/webpack.config.js +38 -0
  383. package/examples/javascript/stock-chart-intraday/README.md +6 -0
  384. package/examples/javascript/stock-chart-intraday/index.css +11 -0
  385. package/examples/javascript/stock-chart-intraday/index.html +13 -0
  386. package/examples/javascript/stock-chart-intraday/index.js +678 -0
  387. package/examples/javascript/stock-chart-intraday/package.json +16 -0
  388. package/examples/javascript/stock-chart-intraday/webpack.config.js +38 -0
  389. package/examples/javascript/stock-chart-live/README.md +6 -0
  390. package/examples/javascript/stock-chart-live/index.css +11 -0
  391. package/examples/javascript/stock-chart-live/index.html +13 -0
  392. package/examples/javascript/stock-chart-live/index.js +308 -0
  393. package/examples/javascript/stock-chart-live/package.json +16 -0
  394. package/examples/javascript/stock-chart-live/webpack.config.js +38 -0
  395. package/examples/javascript/stock-chart-volume-separate-panel/README.md +6 -0
  396. package/examples/javascript/stock-chart-volume-separate-panel/index.css +11 -0
  397. package/examples/javascript/stock-chart-volume-separate-panel/index.html +13 -0
  398. package/examples/javascript/stock-chart-volume-separate-panel/index.js +590 -0
  399. package/examples/javascript/stock-chart-volume-separate-panel/package.json +16 -0
  400. package/examples/javascript/stock-chart-volume-separate-panel/webpack.config.js +38 -0
  401. package/examples/javascript/venn-diagram/package.json +1 -1
  402. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  403. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  404. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  405. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  406. package/examples/javascript/xy-bubble/package.json +1 -1
  407. package/examples/javascript/xy-candlestick/package.json +1 -1
  408. package/examples/javascript/xy-clustered-column/package.json +1 -1
  409. package/examples/javascript/xy-column/package.json +1 -1
  410. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  411. package/examples/javascript/xy-data-grouping/package.json +1 -1
  412. package/examples/javascript/xy-draggable-range/package.json +1 -1
  413. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  414. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  415. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  416. package/examples/javascript/xy-line/package.json +1 -1
  417. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  418. package/examples/javascript/xy-live-data/package.json +1 -1
  419. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  420. package/examples/javascript/xy-ohlc/package.json +1 -1
  421. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  422. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  423. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  424. package/examples/javascript/xy-stacked-column/package.json +1 -1
  425. package/examples/javascript/xy-stacked-step/package.json +1 -1
  426. package/examples/javascript/xy-stock/package.json +1 -1
  427. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  428. package/examples/typescript/flow-chord/package.json +1 -1
  429. package/examples/typescript/flow-chord-directed/package.json +1 -1
  430. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  431. package/examples/typescript/flow-sankey/package.json +1 -1
  432. package/examples/typescript/gauge/package.json +1 -1
  433. package/examples/typescript/gauge-bands/package.json +1 -1
  434. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  435. package/examples/typescript/hierarchy-pack/package.json +1 -1
  436. package/examples/typescript/hierarchy-partition/package.json +1 -1
  437. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  438. package/examples/typescript/hierarchy-tree/package.json +1 -1
  439. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  440. package/examples/typescript/json/package.json +1 -1
  441. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  442. package/examples/typescript/map-day-and-night/package.json +1 -1
  443. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  444. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  445. package/examples/typescript/map-with-bubbles/package.json +1 -1
  446. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  447. package/examples/typescript/misc-40-charts/package.json +1 -1
  448. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  449. package/examples/typescript/pie-chart/package.json +1 -1
  450. package/examples/typescript/pie-donut-chart/package.json +1 -1
  451. package/examples/typescript/pie-variable-radius/package.json +1 -1
  452. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  453. package/examples/typescript/radar-heat-map/package.json +1 -1
  454. package/examples/typescript/radar-line/package.json +1 -1
  455. package/examples/typescript/radar-time-line/package.json +1 -1
  456. package/examples/typescript/sliced-funnel/package.json +1 -1
  457. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  458. package/examples/typescript/sliced-pyramid/package.json +1 -1
  459. package/examples/typescript/stock-chart/README.md +6 -0
  460. package/examples/typescript/stock-chart/index.css +11 -0
  461. package/examples/typescript/stock-chart/index.html +13 -0
  462. package/examples/typescript/stock-chart/index.ts +552 -0
  463. package/examples/typescript/stock-chart/package.json +18 -0
  464. package/examples/typescript/stock-chart/tsconfig.json +12 -0
  465. package/examples/typescript/stock-chart/webpack.config.js +45 -0
  466. package/examples/typescript/stock-chart-comparing-stocks/README.md +6 -0
  467. package/examples/typescript/stock-chart-comparing-stocks/data/AAPL_day.js +255 -0
  468. package/examples/typescript/stock-chart-comparing-stocks/data/AMD_day.js +255 -0
  469. package/examples/typescript/stock-chart-comparing-stocks/data/AMZN_day.js +255 -0
  470. package/examples/typescript/stock-chart-comparing-stocks/data/GOOG_day.js +255 -0
  471. package/examples/typescript/stock-chart-comparing-stocks/data/MSFT_day.js +255 -0
  472. package/examples/typescript/stock-chart-comparing-stocks/data/NFLX_day.js +255 -0
  473. package/examples/typescript/stock-chart-comparing-stocks/data/NVDA_day.js +255 -0
  474. package/examples/typescript/stock-chart-comparing-stocks/data/TSLA_day.js +255 -0
  475. package/examples/typescript/stock-chart-comparing-stocks/index.css +11 -0
  476. package/examples/typescript/stock-chart-comparing-stocks/index.html +13 -0
  477. package/examples/typescript/stock-chart-comparing-stocks/index.ts +361 -0
  478. package/examples/typescript/stock-chart-comparing-stocks/package.json +18 -0
  479. package/examples/typescript/stock-chart-comparing-stocks/tsconfig.json +12 -0
  480. package/examples/typescript/stock-chart-comparing-stocks/webpack.config.js +45 -0
  481. package/examples/typescript/stock-chart-data-granularity/README.md +6 -0
  482. package/examples/typescript/stock-chart-data-granularity/data/MSFT_day.js +255 -0
  483. package/examples/typescript/stock-chart-data-granularity/data/MSFT_minute.js +392 -0
  484. package/examples/typescript/stock-chart-data-granularity/data/MSFT_month.js +14 -0
  485. package/examples/typescript/stock-chart-data-granularity/data/MSFT_week.js +55 -0
  486. package/examples/typescript/stock-chart-data-granularity/index.css +11 -0
  487. package/examples/typescript/stock-chart-data-granularity/index.html +13 -0
  488. package/examples/typescript/stock-chart-data-granularity/index.ts +344 -0
  489. package/examples/typescript/stock-chart-data-granularity/package.json +18 -0
  490. package/examples/typescript/stock-chart-data-granularity/tsconfig.json +12 -0
  491. package/examples/typescript/stock-chart-data-granularity/webpack.config.js +45 -0
  492. package/examples/typescript/stock-chart-data-grouping/README.md +6 -0
  493. package/examples/typescript/stock-chart-data-grouping/data/MSFT_day.js +3103 -0
  494. package/examples/typescript/stock-chart-data-grouping/index.css +11 -0
  495. package/examples/typescript/stock-chart-data-grouping/index.html +13 -0
  496. package/examples/typescript/stock-chart-data-grouping/index.ts +343 -0
  497. package/examples/typescript/stock-chart-data-grouping/package.json +18 -0
  498. package/examples/typescript/stock-chart-data-grouping/tsconfig.json +12 -0
  499. package/examples/typescript/stock-chart-data-grouping/webpack.config.js +45 -0
  500. package/examples/typescript/stock-chart-intraday/README.md +6 -0
  501. package/examples/typescript/stock-chart-intraday/index.css +11 -0
  502. package/examples/typescript/stock-chart-intraday/index.html +13 -0
  503. package/examples/typescript/stock-chart-intraday/index.ts +678 -0
  504. package/examples/typescript/stock-chart-intraday/package.json +18 -0
  505. package/examples/typescript/stock-chart-intraday/tsconfig.json +12 -0
  506. package/examples/typescript/stock-chart-intraday/webpack.config.js +45 -0
  507. package/examples/typescript/stock-chart-live/README.md +6 -0
  508. package/examples/typescript/stock-chart-live/index.css +11 -0
  509. package/examples/typescript/stock-chart-live/index.html +13 -0
  510. package/examples/typescript/stock-chart-live/index.ts +308 -0
  511. package/examples/typescript/stock-chart-live/package.json +18 -0
  512. package/examples/typescript/stock-chart-live/tsconfig.json +12 -0
  513. package/examples/typescript/stock-chart-live/webpack.config.js +45 -0
  514. package/examples/typescript/stock-chart-volume-separate-panel/README.md +6 -0
  515. package/examples/typescript/stock-chart-volume-separate-panel/index.css +11 -0
  516. package/examples/typescript/stock-chart-volume-separate-panel/index.html +13 -0
  517. package/examples/typescript/stock-chart-volume-separate-panel/index.ts +590 -0
  518. package/examples/typescript/stock-chart-volume-separate-panel/package.json +18 -0
  519. package/examples/typescript/stock-chart-volume-separate-panel/tsconfig.json +12 -0
  520. package/examples/typescript/stock-chart-volume-separate-panel/webpack.config.js +45 -0
  521. package/examples/typescript/venn-diagram/package.json +1 -1
  522. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  523. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  524. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  525. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  526. package/examples/typescript/xy-bubble/package.json +1 -1
  527. package/examples/typescript/xy-candlestick/package.json +1 -1
  528. package/examples/typescript/xy-clustered-column/package.json +1 -1
  529. package/examples/typescript/xy-column/package.json +1 -1
  530. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  531. package/examples/typescript/xy-data-grouping/package.json +1 -1
  532. package/examples/typescript/xy-draggable-range/package.json +1 -1
  533. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  534. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  535. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  536. package/examples/typescript/xy-line/package.json +1 -1
  537. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  538. package/examples/typescript/xy-live-data/package.json +1 -1
  539. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  540. package/examples/typescript/xy-ohlc/package.json +1 -1
  541. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  542. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  543. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  544. package/examples/typescript/xy-stacked-column/package.json +1 -1
  545. package/examples/typescript/xy-stacked-step/package.json +1 -1
  546. package/examples/typescript/xy-stock/package.json +1 -1
  547. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  548. package/package.json +3 -1
  549. package/stock.d.ts +64 -0
  550. package/stock.d.ts.map +1 -0
  551. package/stock.js +64 -0
  552. package/stock.js.map +1 -0
@@ -0,0 +1,457 @@
1
+ import { __extends } from "tslib";
2
+ import { CandlestickSeries } from "../xy/series/CandlestickSeries";
3
+ import { LineSeries } from "../xy/series/LineSeries";
4
+ import { Modal } from "../../core/util/Modal";
5
+ import { ColorControl } from "./toolbar/ColorControl";
6
+ import * as $array from "../../core/util/Array";
7
+ import * as $object from "../../core/util/Object";
8
+ import * as $utils from "../../core/util/Utils";
9
+ import * as $type from "../../core/util/Type";
10
+ /**
11
+ * Used to display a modal dialog with HTML content.
12
+ */
13
+ var SettingsModal = /** @class */ (function (_super) {
14
+ __extends(SettingsModal, _super);
15
+ function SettingsModal() {
16
+ var _this = _super !== null && _super.apply(this, arguments) || this;
17
+ Object.defineProperty(_this, "_updatedSettings", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: {}
22
+ });
23
+ Object.defineProperty(_this, "_settingsTarget", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: void 0
28
+ });
29
+ Object.defineProperty(_this, "_colorControl", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: void 0
34
+ });
35
+ return _this;
36
+ }
37
+ Object.defineProperty(SettingsModal.prototype, "_afterNew", {
38
+ enumerable: false,
39
+ configurable: true,
40
+ writable: true,
41
+ value: function () {
42
+ _super.prototype._afterNew.call(this);
43
+ }
44
+ });
45
+ Object.defineProperty(SettingsModal.prototype, "_beforeChanged", {
46
+ enumerable: false,
47
+ configurable: true,
48
+ writable: true,
49
+ value: function () {
50
+ _super.prototype._beforeChanged.call(this);
51
+ // if (this.isDirty("content")) {
52
+ // this.getPrivate("content").innerHTML = this.get("content", "");
53
+ // }
54
+ }
55
+ });
56
+ /**
57
+ * Opens settings modal for an [[Indicator]].
58
+ *
59
+ * @param target Target indicator
60
+ */
61
+ Object.defineProperty(SettingsModal.prototype, "openIndicator", {
62
+ enumerable: false,
63
+ configurable: true,
64
+ writable: true,
65
+ value: function (target) {
66
+ this._settingsTarget = target;
67
+ this.initContent(target._editableSettings, target);
68
+ }
69
+ });
70
+ /**
71
+ * Opens settings editing for the any [[XYSeries]].
72
+ *
73
+ * @param series target series
74
+ */
75
+ Object.defineProperty(SettingsModal.prototype, "openSeries", {
76
+ enumerable: false,
77
+ configurable: true,
78
+ writable: true,
79
+ value: function (series) {
80
+ this._settingsTarget = series;
81
+ var l = this._root.language;
82
+ var stockChart = this.get("stockChart");
83
+ var settings = [];
84
+ if (series == stockChart.get("stockSeries")) {
85
+ settings.push({
86
+ id: "stockPositiveColor",
87
+ key: "stockPositiveColor",
88
+ name: l.translateAny("Increase"),
89
+ type: "color",
90
+ currentValue: stockChart.get("stockPositiveColor", this._root.interfaceColors.get("positive")),
91
+ target: stockChart
92
+ });
93
+ settings.push({
94
+ id: "stockNegativeColor",
95
+ key: "stockNegativeColor",
96
+ name: l.translateAny("Decrease"),
97
+ type: "color",
98
+ currentValue: stockChart.get("stockNegativeColor", this._root.interfaceColors.get("negative")),
99
+ target: stockChart
100
+ });
101
+ }
102
+ else if (series == stockChart.get("volumeSeries")) {
103
+ settings.push({
104
+ id: "volumePositiveColor",
105
+ key: "volumePositiveColor",
106
+ name: l.translateAny("Increase"),
107
+ type: "color",
108
+ currentValue: stockChart.get("volumePositiveColor", this._root.interfaceColors.get("positive")),
109
+ target: stockChart
110
+ });
111
+ settings.push({
112
+ id: "volumeNegativeColor",
113
+ key: "volumeNegativeColor",
114
+ name: l.translateAny("Decrease"),
115
+ type: "color",
116
+ currentValue: stockChart.get("volumeNegativeColor", this._root.interfaceColors.get("negative")),
117
+ target: stockChart
118
+ });
119
+ }
120
+ else if (series instanceof CandlestickSeries && series.columns.length) {
121
+ var column = series.columns.getIndex(0);
122
+ settings.push({
123
+ id: "riseFromOpen.fill",
124
+ key: "fill",
125
+ additionalKeys: ["stroke"],
126
+ name: l.translateAny("Increase"),
127
+ type: "color",
128
+ currentValue: column.states.lookup("riseFromOpen").get("fill"),
129
+ target: series.columns.template.states.create("riseFromOpen", {}),
130
+ invalidateTarget: series
131
+ });
132
+ settings.push({
133
+ id: "dropFromOpen.fill",
134
+ key: "fill",
135
+ additionalKeys: ["stroke"],
136
+ name: l.translateAny("Decrease"),
137
+ type: "color",
138
+ currentValue: column.states.lookup("dropFromOpen").get("fill"),
139
+ target: series.columns.template.states.create("dropFromOpen", {}),
140
+ invalidateTarget: series
141
+ });
142
+ }
143
+ else if (series instanceof LineSeries) {
144
+ settings = [{
145
+ key: "stroke",
146
+ name: l.translateAny("Line"),
147
+ type: "color"
148
+ }, {
149
+ key: "strokeWidth",
150
+ name: l.translateAny("Line"),
151
+ type: "dropdown",
152
+ options: [
153
+ { value: 1, text: "1px" },
154
+ { value: 2, text: "2px" },
155
+ { value: 4, text: "4px" },
156
+ { value: 10, text: "10px" }
157
+ ],
158
+ currentValue: series.strokes.template.get("strokeWidth", 1),
159
+ target: series.strokes.template,
160
+ invalidateTarget: series
161
+ }];
162
+ if (series.fills.template.get("visible")) {
163
+ settings.push({
164
+ key: "fill",
165
+ name: l.translateAny("Fill"),
166
+ type: "color"
167
+ });
168
+ }
169
+ }
170
+ else {
171
+ settings = [{
172
+ key: "stroke",
173
+ name: l.translateAny("Line"),
174
+ type: "color"
175
+ }, {
176
+ key: "fill",
177
+ name: l.translateAny("Fill"),
178
+ type: "color"
179
+ }];
180
+ }
181
+ this.initContent(settings, series);
182
+ }
183
+ });
184
+ Object.defineProperty(SettingsModal.prototype, "initContent", {
185
+ enumerable: false,
186
+ configurable: true,
187
+ writable: true,
188
+ value: function (settings, target) {
189
+ var _this = this;
190
+ this._updatedSettings = {};
191
+ var content = this.getPrivate("content");
192
+ // Clear
193
+ this.clear();
194
+ // Title
195
+ var title = document.createElement("h1");
196
+ title.innerHTML = target.get("name");
197
+ content.appendChild(title);
198
+ // Add fields
199
+ var table = document.createElement("div");
200
+ table.className = "am5-modal-table";
201
+ content.appendChild(table);
202
+ var settingInputs = {};
203
+ var settingsWithTarget = {};
204
+ var prevName = "";
205
+ var prevLine;
206
+ $array.each(settings, function (setting) {
207
+ var key = _this._getSettingKey(setting);
208
+ var keyTarget = setting.target || target;
209
+ var currentValue = setting.currentValue || keyTarget.get(setting.key);
210
+ if (setting.target) {
211
+ settingsWithTarget[key] = setting;
212
+ }
213
+ var element;
214
+ switch (setting.type) {
215
+ case "dropdown":
216
+ element = _this.getDropdown(setting, currentValue);
217
+ settingInputs[key] = element;
218
+ break;
219
+ case "number":
220
+ element = _this.getNumber(setting, currentValue);
221
+ settingInputs[key] = element;
222
+ break;
223
+ case "color":
224
+ element = _this.getColor(setting, currentValue);
225
+ break;
226
+ case "checkbox":
227
+ element = _this.getCheckbox(setting, currentValue);
228
+ settingInputs[key] = element;
229
+ break;
230
+ // case "text":
231
+ // element = this.getText(setting, currentValue);
232
+ // break;
233
+ }
234
+ if (element) {
235
+ var line = void 0;
236
+ if (setting.name == prevName && prevLine) {
237
+ line = prevLine;
238
+ }
239
+ else {
240
+ line = document.createElement("div");
241
+ line.className = "am5-modal-table-row";
242
+ table.appendChild(line);
243
+ var heading = document.createElement("div");
244
+ heading.className = "am5-modal-table-heading";
245
+ heading.innerHTML = setting.name;
246
+ line.appendChild(heading);
247
+ }
248
+ var cell = document.createElement("div");
249
+ cell.className = "am5-modal-table-cell";
250
+ line.appendChild(cell);
251
+ cell.appendChild(element);
252
+ prevName = setting.name;
253
+ prevLine = line;
254
+ }
255
+ });
256
+ // Buttons
257
+ var saveButton = document.createElement("input");
258
+ saveButton.type = "button";
259
+ saveButton.value = this._root.language.translateAny("Save");
260
+ saveButton.className = "am5-modal-button am5-modal-primary";
261
+ content.appendChild(saveButton);
262
+ $utils.addEventListener(saveButton, "click", function () {
263
+ $object.each(settingInputs, function (key, element) {
264
+ if (element.type == "checkbox") {
265
+ _this._updatedSettings[key] = element.checked;
266
+ }
267
+ else if (element.type == "number") {
268
+ _this._updatedSettings[key] = $type.toNumber(element.value);
269
+ }
270
+ else {
271
+ _this._updatedSettings[key] = element.value;
272
+ }
273
+ });
274
+ $object.each(_this._updatedSettings, function (key, value) {
275
+ var targetKey = key.split(".").pop();
276
+ if ($type.isObject(value) && value.value) {
277
+ if (value.setting && value.setting.target) {
278
+ value.setting.target.set(targetKey, value.value);
279
+ if (value.setting.additionalKeys) {
280
+ $array.each(value.setting.additionalKeys, function (additonalKey) {
281
+ value.setting.target.set(additonalKey, value.value);
282
+ });
283
+ }
284
+ }
285
+ else {
286
+ target.set(targetKey, value.value);
287
+ }
288
+ }
289
+ else if (settingsWithTarget[targetKey]) {
290
+ settingsWithTarget[targetKey].target.set(targetKey, value);
291
+ }
292
+ else {
293
+ target.set(targetKey, value);
294
+ }
295
+ if (value.setting && value.setting.invalidateTarget) {
296
+ value.setting.invalidateTarget.markDirtyValues();
297
+ }
298
+ });
299
+ _this.close();
300
+ });
301
+ var cancelButton = document.createElement("input");
302
+ cancelButton.type = "button";
303
+ cancelButton.value = this._root.language.translateAny("Cancel");
304
+ cancelButton.className = "am5-modal-button am5-modal-scondary";
305
+ content.appendChild(cancelButton);
306
+ $utils.addEventListener(cancelButton, "click", function () {
307
+ _this.cancel();
308
+ });
309
+ // Open modal
310
+ this.open();
311
+ }
312
+ });
313
+ Object.defineProperty(SettingsModal.prototype, "getDropdown", {
314
+ enumerable: false,
315
+ configurable: true,
316
+ writable: true,
317
+ value: function (setting, currentValue) {
318
+ var element = document.createElement("select");
319
+ $array.each(setting.options, function (option) {
320
+ if (option) {
321
+ var optionElement = document.createElement("option");
322
+ var value = void 0;
323
+ if ($type.isObject(option)) {
324
+ optionElement.value = (option.value);
325
+ optionElement.text = (option.text);
326
+ value = (option.value);
327
+ }
328
+ else {
329
+ optionElement.value = option;
330
+ optionElement.text = option;
331
+ value = option;
332
+ }
333
+ if (value == currentValue) {
334
+ optionElement.selected = true;
335
+ }
336
+ element.appendChild(optionElement);
337
+ }
338
+ });
339
+ return element;
340
+ }
341
+ });
342
+ Object.defineProperty(SettingsModal.prototype, "getNumber", {
343
+ enumerable: false,
344
+ configurable: true,
345
+ writable: true,
346
+ value: function (_setting, currentValue) {
347
+ var element = document.createElement("input");
348
+ element.type = "number";
349
+ element.value = currentValue;
350
+ element.className = "am5-modal-input-narrow";
351
+ return element;
352
+ }
353
+ });
354
+ Object.defineProperty(SettingsModal.prototype, "getCheckbox", {
355
+ enumerable: false,
356
+ configurable: true,
357
+ writable: true,
358
+ value: function (_setting, currentValue) {
359
+ var element = document.createElement("input");
360
+ element.type = "checkbox";
361
+ element.checked = currentValue === true;
362
+ return element;
363
+ }
364
+ });
365
+ Object.defineProperty(SettingsModal.prototype, "getColor", {
366
+ enumerable: false,
367
+ configurable: true,
368
+ writable: true,
369
+ value: function (setting, currentValue) {
370
+ var _this = this;
371
+ var control = ColorControl.new(this.root, {
372
+ stockChart: this.get("stockChart"),
373
+ useOpacity: false
374
+ });
375
+ control.setPrivate("color", currentValue);
376
+ control.events.on("selected", function (ev) {
377
+ _this._updatedSettings[_this._getSettingKey(setting)] = {
378
+ value: ev.color,
379
+ setting: setting
380
+ };
381
+ });
382
+ this._disposers.push(control);
383
+ return control.getPrivate("button");
384
+ }
385
+ });
386
+ /**
387
+ * Closes the modal, saving settings.
388
+ */
389
+ Object.defineProperty(SettingsModal.prototype, "close", {
390
+ enumerable: false,
391
+ configurable: true,
392
+ writable: true,
393
+ value: function () {
394
+ _super.prototype.close.call(this);
395
+ this.events.dispatch("done", {
396
+ type: "done",
397
+ settings: this._updatedSettings,
398
+ settingsTarget: this._settingsTarget,
399
+ target: this
400
+ });
401
+ }
402
+ });
403
+ /**
404
+ * Closes the modal without applying any changes.
405
+ */
406
+ Object.defineProperty(SettingsModal.prototype, "cancel", {
407
+ enumerable: false,
408
+ configurable: true,
409
+ writable: true,
410
+ value: function () {
411
+ _super.prototype.cancel.call(this);
412
+ this.events.dispatch("done", {
413
+ type: "done",
414
+ settings: null,
415
+ target: this
416
+ });
417
+ }
418
+ });
419
+ /**
420
+ * Clears contents of the modal.
421
+ */
422
+ Object.defineProperty(SettingsModal.prototype, "clear", {
423
+ enumerable: false,
424
+ configurable: true,
425
+ writable: true,
426
+ value: function () {
427
+ var content = this.getPrivate("content");
428
+ content.innerHTML = "";
429
+ if (this._colorControl) {
430
+ this._colorControl.dispose();
431
+ }
432
+ }
433
+ });
434
+ Object.defineProperty(SettingsModal.prototype, "_getSettingKey", {
435
+ enumerable: false,
436
+ configurable: true,
437
+ writable: true,
438
+ value: function (setting) {
439
+ return setting.id || setting.key;
440
+ }
441
+ });
442
+ Object.defineProperty(SettingsModal, "className", {
443
+ enumerable: true,
444
+ configurable: true,
445
+ writable: true,
446
+ value: "SettingsModal"
447
+ });
448
+ Object.defineProperty(SettingsModal, "classNames", {
449
+ enumerable: true,
450
+ configurable: true,
451
+ writable: true,
452
+ value: Modal.classNames.concat([Modal.className])
453
+ });
454
+ return SettingsModal;
455
+ }(Modal));
456
+ export { SettingsModal };
457
+ //# sourceMappingURL=SettingsModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsModal.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/stock/SettingsModal.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Indicator, IIndicatorEditableSetting } from \"./indicators/Indicator\";\r\nimport type { StockChart } from \"./StockChart\";\r\nimport type { XYSeries } from \"../xy/series/XYSeries\";\r\n\r\nimport { CandlestickSeries } from \"../xy/series/CandlestickSeries\";\r\nimport { LineSeries } from \"../xy/series/LineSeries\";\r\nimport { Modal, IModalSettings, IModalPrivate, IModalEvents } from \"../../core/util/Modal\";\r\nimport { ColorControl } from \"./toolbar/ColorControl\";\r\n\r\nimport * as $array from \"../../core/util/Array\";\r\nimport * as $object from \"../../core/util/Object\";\r\nimport * as $utils from \"../../core/util/Utils\";\r\nimport * as $type from \"../../core/util/Type\";\r\n\r\n\r\nexport interface ISettingsModalSettings extends IModalSettings {\r\n\r\n\t/**\r\n\t * A target [[StockChart]].\r\n\t */\r\n\tstockChart: StockChart;\r\n\r\n}\r\n\r\nexport interface ISettingsModalPrivate extends IModalPrivate {\r\n}\r\n\r\nexport interface ISettingsModalEvents extends IModalEvents {\r\n\r\n\t/**\r\n\t * Invoked when modal is closed/saved.\r\n\t */\r\n\tdone: {\r\n\t\tsettings?: any,\r\n\t\tsettingsTarget?: Indicator | XYSeries\r\n\t}\r\n\r\n}\r\n\r\n/**\r\n * @ignore\r\n */\r\ninterface ISeriesEditableSetting extends IIndicatorEditableSetting {\r\n\tid?: string;\r\n\ttarget?: any;\r\n\tadditionalKeys?: string[];\r\n\tcurrentValue?: any;\r\n\tinvalidateTarget?: XYSeries;\r\n}\r\n\r\n/**\r\n * Used to display a modal dialog with HTML content.\r\n */\r\nexport class SettingsModal extends Modal {\r\n\tpublic static className: string = \"SettingsModal\";\r\n\tpublic static classNames: Array<string> = Modal.classNames.concat([Modal.className]);\r\n\r\n\tdeclare public _settings: ISettingsModalSettings;\r\n\tdeclare public _privateSettings: ISettingsModalPrivate;\r\n\tdeclare public _events: ISettingsModalEvents;\r\n\r\n\tprotected _updatedSettings: { [index: string]: any } = {};\r\n\tprotected _settingsTarget?: Indicator | XYSeries;\r\n\tprotected _colorControl?: ColorControl;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t}\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\r\n\t\t// if (this.isDirty(\"content\")) {\r\n\t\t// \tthis.getPrivate(\"content\").innerHTML = this.get(\"content\", \"\");\r\n\t\t// }\r\n\t}\r\n\r\n\t/**\r\n\t * Opens settings modal for an [[Indicator]].\r\n\t * \r\n\t * @param target Target indicator\r\n\t */\r\n\tpublic openIndicator(target: Indicator): void {\r\n\t\tthis._settingsTarget = target;\r\n\t\tthis.initContent(target._editableSettings, target);\r\n\t}\r\n\r\n\t/**\r\n\t * Opens settings editing for the any [[XYSeries]].\r\n\t * \r\n\t * @param series target series\r\n\t */\r\n\tpublic openSeries(series: XYSeries): void {\r\n\t\tthis._settingsTarget = series;\r\n\r\n\t\tconst l = this._root.language;\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\r\n\t\tlet settings: ISeriesEditableSetting[] = [];\r\n\r\n\t\tif (series == stockChart.get(\"stockSeries\")) {\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"stockPositiveColor\",\r\n\t\t\t\tkey: \"stockPositiveColor\",\r\n\t\t\t\tname: l.translateAny(\"Increase\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: stockChart.get(\"stockPositiveColor\", this._root.interfaceColors.get(\"positive\")),\r\n\t\t\t\ttarget: stockChart\r\n\t\t\t});\r\n\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"stockNegativeColor\",\r\n\t\t\t\tkey: \"stockNegativeColor\",\r\n\t\t\t\tname: l.translateAny(\"Decrease\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: stockChart.get(\"stockNegativeColor\", this._root.interfaceColors.get(\"negative\")),\r\n\t\t\t\ttarget: stockChart\r\n\t\t\t});\r\n\t\t}\r\n\t\telse if (series == stockChart.get(\"volumeSeries\")) {\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"volumePositiveColor\",\r\n\t\t\t\tkey: \"volumePositiveColor\",\r\n\t\t\t\tname: l.translateAny(\"Increase\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: stockChart.get(\"volumePositiveColor\", this._root.interfaceColors.get(\"positive\")),\r\n\t\t\t\ttarget: stockChart\r\n\t\t\t});\r\n\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"volumeNegativeColor\",\r\n\t\t\t\tkey: \"volumeNegativeColor\",\r\n\t\t\t\tname: l.translateAny(\"Decrease\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: stockChart.get(\"volumeNegativeColor\", this._root.interfaceColors.get(\"negative\")),\r\n\t\t\t\ttarget: stockChart\r\n\t\t\t});\r\n\t\t}\r\n\t\telse if (series instanceof CandlestickSeries && series.columns.length) {\r\n\t\t\tconst column = series.columns.getIndex(0);\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"riseFromOpen.fill\",\r\n\t\t\t\tkey: \"fill\",\r\n\t\t\t\tadditionalKeys: [\"stroke\"],\r\n\t\t\t\tname: l.translateAny(\"Increase\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: column!.states.lookup(\"riseFromOpen\")!.get(\"fill\"),\r\n\t\t\t\ttarget: series.columns.template.states.create(\"riseFromOpen\", {}),\r\n\t\t\t\tinvalidateTarget: series\r\n\t\t\t});\r\n\r\n\t\t\tsettings.push({\r\n\t\t\t\tid: \"dropFromOpen.fill\",\r\n\t\t\t\tkey: \"fill\",\r\n\t\t\t\tadditionalKeys: [\"stroke\"],\r\n\t\t\t\tname: l.translateAny(\"Decrease\"),\r\n\t\t\t\ttype: \"color\",\r\n\t\t\t\tcurrentValue: column!.states.lookup(\"dropFromOpen\")!.get(\"fill\"),\r\n\t\t\t\ttarget: series.columns.template.states.create(\"dropFromOpen\", {}),\r\n\t\t\t\tinvalidateTarget: series\r\n\t\t\t});\r\n\t\t}\r\n\t\telse if (series instanceof LineSeries) {\r\n\t\t\tsettings = [{\r\n\t\t\t\tkey: \"stroke\",\r\n\t\t\t\tname: l.translateAny(\"Line\"),\r\n\t\t\t\ttype: \"color\"\r\n\t\t\t}, {\r\n\t\t\t\tkey: \"strokeWidth\",\r\n\t\t\t\tname: l.translateAny(\"Line\"),\r\n\t\t\t\ttype: \"dropdown\",\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{ value: 1, text: \"1px\" },\r\n\t\t\t\t\t{ value: 2, text: \"2px\" },\r\n\t\t\t\t\t{ value: 4, text: \"4px\" },\r\n\t\t\t\t\t{ value: 10, text: \"10px\" }\r\n\t\t\t\t],\r\n\t\t\t\tcurrentValue: series.strokes.template.get(\"strokeWidth\", 1),\r\n\t\t\t\ttarget: series.strokes.template,\r\n\t\t\t\tinvalidateTarget: series\r\n\t\t\t}];\r\n\t\t\tif (series.fills.template.get(\"visible\")) {\r\n\t\t\t\tsettings.push({\r\n\t\t\t\t\tkey: \"fill\",\r\n\t\t\t\t\tname: l.translateAny(\"Fill\"),\r\n\t\t\t\t\ttype: \"color\"\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tsettings = [{\r\n\t\t\t\tkey: \"stroke\",\r\n\t\t\t\tname: l.translateAny(\"Line\"),\r\n\t\t\t\ttype: \"color\"\r\n\t\t\t}, {\r\n\t\t\t\tkey: \"fill\",\r\n\t\t\t\tname: l.translateAny(\"Fill\"),\r\n\t\t\t\ttype: \"color\"\r\n\t\t\t}];\r\n\t\t}\r\n\t\tthis.initContent(settings, series);\r\n\t}\r\n\r\n\tprivate initContent(settings: ISeriesEditableSetting[], target: any) {\r\n\t\tthis._updatedSettings = {};\r\n\t\tconst content = this.getPrivate(\"content\");\r\n\r\n\t\t// Clear\r\n\t\tthis.clear();\r\n\r\n\t\t// Title\r\n\t\tconst title = document.createElement(\"h1\");\r\n\t\ttitle.innerHTML = target.get(\"name\");\r\n\t\tcontent.appendChild(title);\r\n\r\n\t\t// Add fields\r\n\t\tconst table = document.createElement(\"div\");\r\n\t\ttable.className = \"am5-modal-table\";\r\n\t\tcontent.appendChild(table);\r\n\r\n\t\tconst settingInputs: { [index: string]: HTMLInputElement | HTMLSelectElement } = {};\r\n\t\tconst settingsWithTarget: { [index: string]: any } = {};\r\n\t\tlet prevName = \"\";\r\n\t\tlet prevLine: HTMLDivElement;\r\n\t\t$array.each(settings, (setting) => {\r\n\t\t\tconst key = this._getSettingKey(setting);\r\n\t\t\tconst keyTarget = setting.target || target;\r\n\t\t\tconst currentValue = setting.currentValue || keyTarget.get(setting.key);\r\n\r\n\t\t\tif (setting.target) {\r\n\t\t\t\tsettingsWithTarget[key] = setting;\r\n\t\t\t}\r\n\r\n\t\t\tlet element: HTMLElement | undefined;\r\n\t\t\tswitch (setting.type) {\r\n\t\t\t\tcase \"dropdown\":\r\n\t\t\t\t\telement = this.getDropdown(setting, currentValue);\r\n\t\t\t\t\tsettingInputs[key] = <HTMLSelectElement>element;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"number\":\r\n\t\t\t\t\telement = this.getNumber(setting, currentValue);\r\n\t\t\t\t\tsettingInputs[key] = <HTMLInputElement>element;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"color\":\r\n\t\t\t\t\telement = this.getColor(setting, currentValue);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"checkbox\":\r\n\t\t\t\t\telement = this.getCheckbox(setting, currentValue);\r\n\t\t\t\t\tsettingInputs[key] = <HTMLInputElement>element;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t// case \"text\":\r\n\t\t\t\t// \telement = this.getText(setting, currentValue);\r\n\t\t\t\t// \tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tif (element) {\r\n\r\n\t\t\t\tlet line: HTMLDivElement;\r\n\t\t\t\tif (setting.name == prevName && prevLine) {\r\n\t\t\t\t\tline = prevLine;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tline = document.createElement(\"div\");\r\n\t\t\t\t\tline.className = \"am5-modal-table-row\";\r\n\t\t\t\t\ttable.appendChild(line);\r\n\r\n\t\t\t\t\tconst heading = document.createElement(\"div\");\r\n\t\t\t\t\theading.className = \"am5-modal-table-heading\";\r\n\t\t\t\t\theading.innerHTML = setting.name;\r\n\t\t\t\t\tline.appendChild(heading);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst cell = document.createElement(\"div\");\r\n\t\t\t\tcell.className = \"am5-modal-table-cell\";\r\n\t\t\t\tline.appendChild(cell);\r\n\t\t\t\tcell.appendChild(element);\r\n\r\n\t\t\t\tprevName = setting.name;\r\n\t\t\t\tprevLine = line;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Buttons\r\n\t\tconst saveButton = document.createElement(\"input\");\r\n\t\tsaveButton.type = \"button\";\r\n\t\tsaveButton.value = this._root.language.translateAny(\"Save\");\r\n\t\tsaveButton.className = \"am5-modal-button am5-modal-primary\";\r\n\t\tcontent.appendChild(saveButton);\r\n\r\n\t\t$utils.addEventListener(saveButton, \"click\", () => {\r\n\t\t\t$object.each(settingInputs, (key, element) => {\r\n\t\t\t\tif (element.type == \"checkbox\") {\r\n\t\t\t\t\tthis._updatedSettings[key] = (<HTMLInputElement>element).checked;\r\n\t\t\t\t}\r\n\t\t\t\telse if (element.type == \"number\") {\r\n\t\t\t\t\tthis._updatedSettings[key] = $type.toNumber(element.value);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis._updatedSettings[key] = element.value;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t$object.each(this._updatedSettings, (key, value) => {\r\n\t\t\t\tconst targetKey = (<string>key).split(\".\").pop();\r\n\t\t\t\tif ($type.isObject(value) && value.value) {\r\n\t\t\t\t\tif (value.setting && value.setting.target) {\r\n\t\t\t\t\t\tvalue.setting.target.set(targetKey, value.value);\r\n\t\t\t\t\t\tif (value.setting.additionalKeys) {\r\n\t\t\t\t\t\t\t$array.each(value.setting.additionalKeys, (additonalKey) => {\r\n\t\t\t\t\t\t\t\tvalue.setting.target.set(additonalKey, value.value);\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\telse {\r\n\t\t\t\t\t\ttarget.set(targetKey, value.value);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (settingsWithTarget[targetKey!]) {\r\n\t\t\t\t\tsettingsWithTarget[targetKey!].target.set(targetKey, value);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\ttarget.set(targetKey, value);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (value.setting && value.setting.invalidateTarget) {\r\n\t\t\t\t\tvalue.setting.invalidateTarget.markDirtyValues();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tthis.close();\r\n\t\t});\r\n\r\n\t\tconst cancelButton = document.createElement(\"input\");\r\n\t\tcancelButton.type = \"button\";\r\n\t\tcancelButton.value = this._root.language.translateAny(\"Cancel\");\r\n\t\tcancelButton.className = \"am5-modal-button am5-modal-scondary\";\r\n\t\tcontent.appendChild(cancelButton);\r\n\r\n\t\t$utils.addEventListener(cancelButton, \"click\", () => {\r\n\t\t\tthis.cancel();\r\n\t\t});\r\n\r\n\t\t// Open modal\r\n\t\tthis.open();\r\n\r\n\t}\r\n\r\n\tprivate getDropdown(setting: any, currentValue: any): HTMLSelectElement {\r\n\t\tconst element = document.createElement(\"select\");\r\n\t\t$array.each(setting.options, (option) => {\r\n\t\t\tif (option) {\r\n\t\t\t\tconst optionElement = document.createElement(\"option\");\r\n\t\t\t\tlet value;\r\n\t\t\t\tif ($type.isObject(option)) {\r\n\t\t\t\t\toptionElement.value = <string>((<any>option).value);\r\n\t\t\t\t\toptionElement.text = <string>((<any>option).text);\r\n\t\t\t\t\tvalue = ((<any>option).value);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\toptionElement.value = <string>option;\r\n\t\t\t\t\toptionElement.text = <string>option;\r\n\t\t\t\t\tvalue = option;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (value == currentValue) {\r\n\t\t\t\t\toptionElement.selected = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\telement.appendChild(optionElement);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn element;\r\n\t}\r\n\r\n\tprivate getNumber(_setting: any, currentValue: any): HTMLInputElement {\r\n\t\tconst element = document.createElement(\"input\");\r\n\t\telement.type = \"number\";\r\n\t\telement.value = currentValue;\r\n\t\telement.className = \"am5-modal-input-narrow\"\r\n\t\treturn element;\r\n\t}\r\n\r\n\tprivate getCheckbox(_setting: any, currentValue: any): HTMLInputElement {\r\n\t\tconst element = document.createElement(\"input\");\r\n\t\telement.type = \"checkbox\";\r\n\t\telement.checked = currentValue === true;\r\n\t\treturn element;\r\n\t}\r\n\r\n\tprivate getColor(setting: any, currentValue: any): HTMLDivElement {\r\n\t\tconst control = ColorControl.new(this.root, {\r\n\t\t\tstockChart: this.get(\"stockChart\"),\r\n\t\t\tuseOpacity: false\r\n\t\t});\r\n\t\tcontrol.setPrivate(\"color\", currentValue);\r\n\t\tcontrol.events.on(\"selected\", (ev) => {\r\n\t\t\tthis._updatedSettings[this._getSettingKey(setting)] = {\r\n\t\t\t\tvalue: ev.color,\r\n\t\t\t\tsetting: setting\r\n\t\t\t};\r\n\t\t});\r\n\t\tthis._disposers.push(control);\r\n\t\treturn control.getPrivate(\"button\")!;\r\n\t}\r\n\r\n\t/**\r\n\t * Closes the modal, saving settings.\r\n\t */\r\n\tpublic close(): void {\r\n\t\tsuper.close();\r\n\t\tthis.events.dispatch(\"done\", {\r\n\t\t\ttype: \"done\",\r\n\t\t\tsettings: this._updatedSettings,\r\n\t\t\tsettingsTarget: this._settingsTarget,\r\n\t\t\ttarget: this\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Closes the modal without applying any changes.\r\n\t */\r\n\tpublic cancel(): void {\r\n\t\tsuper.cancel();\r\n\t\tthis.events.dispatch(\"done\", {\r\n\t\t\ttype: \"done\",\r\n\t\t\tsettings: null,\r\n\t\t\ttarget: this\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Clears contents of the modal.\r\n\t */\r\n\tpublic clear(): void {\r\n\t\tconst content = this.getPrivate(\"content\");\r\n\t\tcontent.innerHTML = \"\";\r\n\t\tif (this._colorControl) {\r\n\t\t\tthis._colorControl.dispose();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _getSettingKey(setting: ISeriesEditableSetting): string {\r\n\t\treturn setting.id || setting.key;\r\n\t}\r\n\r\n}"]}