@amcharts/amcharts5 5.11.2 → 5.11.3

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 (169) hide show
  1. package/.internal/charts/radar/RadarChart.d.ts +1 -0
  2. package/.internal/charts/radar/RadarChart.d.ts.map +1 -1
  3. package/.internal/charts/radar/RadarChart.js +4 -0
  4. package/.internal/charts/radar/RadarChart.js.map +1 -1
  5. package/.internal/charts/stock/SettingsModal.d.ts +1 -0
  6. package/.internal/charts/stock/SettingsModal.d.ts.map +1 -1
  7. package/.internal/charts/stock/SettingsModal.js +11 -3
  8. package/.internal/charts/stock/SettingsModal.js.map +1 -1
  9. package/.internal/charts/stock/indicators/Indicator.d.ts +1 -1
  10. package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -1
  11. package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
  12. package/.internal/charts/stock/toolbar/DrawingControl.js +1 -1
  13. package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
  14. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  15. package/.internal/charts/xy/axes/DateAxis.js +1 -0
  16. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  17. package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
  18. package/.internal/charts/xy/series/BaseColumnSeries.js +3 -1
  19. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  20. package/.internal/core/Registry.js +1 -1
  21. package/.internal/core/Registry.js.map +1 -1
  22. package/.internal/core/render/Sprite.d.ts +7 -0
  23. package/.internal/core/render/Sprite.d.ts.map +1 -1
  24. package/.internal/core/render/Sprite.js +10 -0
  25. package/.internal/core/render/Sprite.js.map +1 -1
  26. package/CHANGELOG.md +11 -0
  27. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  28. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  29. package/examples/javascript/flow-chord/package.json +1 -1
  30. package/examples/javascript/flow-chord-directed/package.json +1 -1
  31. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  32. package/examples/javascript/flow-sankey/package.json +1 -1
  33. package/examples/javascript/gauge/package.json +1 -1
  34. package/examples/javascript/gauge-bands/package.json +1 -1
  35. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  36. package/examples/javascript/hierarchy-pack/package.json +1 -1
  37. package/examples/javascript/hierarchy-partition/package.json +1 -1
  38. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  39. package/examples/javascript/hierarchy-tree/package.json +1 -1
  40. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  41. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  42. package/examples/javascript/jest/package.json +1 -1
  43. package/examples/javascript/json-pie/package.json +1 -1
  44. package/examples/javascript/json-xy/package.json +1 -1
  45. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  46. package/examples/javascript/map-clustered-points/package.json +1 -1
  47. package/examples/javascript/map-day-and-night/package.json +1 -1
  48. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  49. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  50. package/examples/javascript/map-with-bubbles/package.json +1 -1
  51. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  52. package/examples/javascript/misc-40-charts/package.json +1 -1
  53. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  54. package/examples/javascript/pie-chart/package.json +1 -1
  55. package/examples/javascript/pie-donut-chart/package.json +1 -1
  56. package/examples/javascript/pie-variable-radius/package.json +1 -1
  57. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  58. package/examples/javascript/radar-heat-map/package.json +1 -1
  59. package/examples/javascript/radar-line/package.json +1 -1
  60. package/examples/javascript/radar-time-line/package.json +1 -1
  61. package/examples/javascript/sliced-funnel/package.json +1 -1
  62. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  63. package/examples/javascript/sliced-pyramid/package.json +1 -1
  64. package/examples/javascript/stock-chart/package.json +1 -1
  65. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  66. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  67. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  68. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  69. package/examples/javascript/stock-chart-live/package.json +1 -1
  70. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  71. package/examples/javascript/venn-diagram/package.json +1 -1
  72. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  73. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  74. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  75. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  76. package/examples/javascript/xy-bubble/package.json +1 -1
  77. package/examples/javascript/xy-candlestick/package.json +1 -1
  78. package/examples/javascript/xy-clustered-column/package.json +1 -1
  79. package/examples/javascript/xy-column/package.json +1 -1
  80. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  81. package/examples/javascript/xy-data-grouping/package.json +1 -1
  82. package/examples/javascript/xy-draggable-range/package.json +1 -1
  83. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  84. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  85. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  86. package/examples/javascript/xy-line/package.json +1 -1
  87. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  88. package/examples/javascript/xy-live-data/package.json +1 -1
  89. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  90. package/examples/javascript/xy-ohlc/package.json +1 -1
  91. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  92. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  93. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  94. package/examples/javascript/xy-stacked-column/package.json +1 -1
  95. package/examples/javascript/xy-stacked-step/package.json +1 -1
  96. package/examples/javascript/xy-stock/package.json +1 -1
  97. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  98. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  99. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  100. package/examples/typescript/flow-chord/package.json +1 -1
  101. package/examples/typescript/flow-chord-directed/package.json +1 -1
  102. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  103. package/examples/typescript/flow-sankey/package.json +1 -1
  104. package/examples/typescript/gauge/package.json +1 -1
  105. package/examples/typescript/gauge-bands/package.json +1 -1
  106. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  107. package/examples/typescript/hierarchy-pack/package.json +1 -1
  108. package/examples/typescript/hierarchy-partition/package.json +1 -1
  109. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  110. package/examples/typescript/hierarchy-tree/package.json +1 -1
  111. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  112. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  113. package/examples/typescript/jest/package.json +1 -1
  114. package/examples/typescript/json-pie/package.json +1 -1
  115. package/examples/typescript/json-xy/package.json +1 -1
  116. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  117. package/examples/typescript/map-clustered-points/package.json +1 -1
  118. package/examples/typescript/map-day-and-night/package.json +1 -1
  119. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  120. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  121. package/examples/typescript/map-with-bubbles/package.json +1 -1
  122. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  123. package/examples/typescript/misc-40-charts/package.json +1 -1
  124. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  125. package/examples/typescript/pie-chart/package.json +1 -1
  126. package/examples/typescript/pie-donut-chart/package.json +1 -1
  127. package/examples/typescript/pie-variable-radius/package.json +1 -1
  128. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  129. package/examples/typescript/radar-heat-map/package.json +1 -1
  130. package/examples/typescript/radar-line/package.json +1 -1
  131. package/examples/typescript/radar-time-line/package.json +1 -1
  132. package/examples/typescript/sliced-funnel/package.json +1 -1
  133. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  134. package/examples/typescript/sliced-pyramid/package.json +1 -1
  135. package/examples/typescript/stock-chart/package.json +1 -1
  136. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  137. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  138. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  139. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  140. package/examples/typescript/stock-chart-live/package.json +1 -1
  141. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  142. package/examples/typescript/venn-diagram/package.json +1 -1
  143. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  144. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  145. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  146. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  147. package/examples/typescript/xy-bubble/package.json +1 -1
  148. package/examples/typescript/xy-candlestick/package.json +1 -1
  149. package/examples/typescript/xy-clustered-column/package.json +1 -1
  150. package/examples/typescript/xy-column/package.json +1 -1
  151. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  152. package/examples/typescript/xy-data-grouping/package.json +1 -1
  153. package/examples/typescript/xy-draggable-range/package.json +1 -1
  154. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  155. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  156. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  157. package/examples/typescript/xy-line/package.json +1 -1
  158. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  159. package/examples/typescript/xy-live-data/package.json +1 -1
  160. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  161. package/examples/typescript/xy-ohlc/package.json +1 -1
  162. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  163. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  164. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  165. package/examples/typescript/xy-stacked-column/package.json +1 -1
  166. package/examples/typescript/xy-stacked-step/package.json +1 -1
  167. package/examples/typescript/xy-stock/package.json +1 -1
  168. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  169. package/package.json +1 -1
@@ -94,6 +94,7 @@ export declare class RadarChart extends XYChart {
94
94
  * @ignore
95
95
  */
96
96
  processAxis(axis: Axis<AxisRendererRadial | AxisRendererCircular>): void;
97
+ protected _processSeries(series: this["_seriesType"]): void;
97
98
  /**
98
99
  * @ignore
99
100
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RadarChart.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/radar/RadarChart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAgB,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAOxD,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAE5D;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE1B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CAErB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAE1D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CAEpB;AAED;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,OAAO;IAEtC;;;;OAIG;IACH,SAAgB,cAAc,YAAmF;IAEjH,OAAc,SAAS,EAAE,MAAM,CAAgB;IAC/C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAqD;IAE7E,SAAS,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,EAAE,kBAAkB,CAAC;IAEpD,SAAS,CAAC,aAAa,mEAAS;IACjB,WAAW,EAAE,iBAAiB,GAAG,eAAe,CAAC;IAEhE,SAAS,CAAC,UAAU,EAAE,MAAM,CAAK;IAEjC,SAAS,CAAC,SAAS;IAqBnB,SAAS,CAAC,SAAS;IAKZ,gBAAgB;IA0CvB,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW;IAMjC,aAAa;IAwCpB;;OAEG;IACI,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAU5E;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;IAIxE;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO;IAiD5E,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIhD,SAAS,CAAC,YAAY;CAGtB"}
1
+ {"version":3,"file":"RadarChart.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/radar/RadarChart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAgB,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAOxD,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAE5D;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE1B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CAErB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAE1D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CAEpB;AAED;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,OAAO;IAEtC;;;;OAIG;IACH,SAAgB,cAAc,YAAmF;IAEjH,OAAc,SAAS,EAAE,MAAM,CAAgB;IAC/C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAqD;IAE7E,SAAS,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,EAAE,kBAAkB,CAAC;IAEpD,SAAS,CAAC,aAAa,mEAAS;IACjB,WAAW,EAAE,iBAAiB,GAAG,eAAe,CAAC;IAEhE,SAAS,CAAC,UAAU,EAAE,MAAM,CAAK;IAEjC,SAAS,CAAC,SAAS;IAqBnB,SAAS,CAAC,SAAS;IAKZ,gBAAgB;IA0CvB,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW;IAMjC,aAAa;IAwCpB;;OAEG;IACI,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAU5E;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;IAIxE,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC;IAKpD;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO;IAiD5E,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIhD,SAAS,CAAC,YAAY;CAGtB"}
@@ -138,6 +138,10 @@ export class RadarChart extends XYChart {
138
138
  processAxis(axis) {
139
139
  this.radarContainer.children.push(axis);
140
140
  }
141
+ _processSeries(series) {
142
+ super._processSeries(series);
143
+ this._updateRadius();
144
+ }
141
145
  /**
142
146
  * @ignore
143
147
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RadarChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/radar/RadarChart.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AxisRendererCircular } from \"./AxisRendererCircular\";\nimport type { AxisRendererRadial } from \"./AxisRendererRadial\";\nimport type { Axis } from \"../xy/axes/Axis\";\nimport type { XYSeries } from \"../xy/series/XYSeries\";\nimport type { RadarCursor } from \"./RadarCursor\";\nimport type { RadarColumnSeries } from \"./RadarColumnSeries\";\nimport type { RadarLineSeries } from \"./RadarLineSeries\";\nimport type { IPoint } from \"../../core/util/IPoint\";\n\nimport { RadarDefaultTheme } from \"./RadarDefaultTheme\";\nimport { XYChart, IXYChartPrivate, IXYChartSettings } from \"../xy/XYChart\";\nimport { Percent, p50, percent } from \"../../core/util/Percent\";\nimport { Container } from \"../../core/render/Container\";\nimport { Graphics } from \"../../core/render/Graphics\";\nimport { arc } from \"d3-shape\";\n\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $math from \"../../core/util/Math\";\n\nexport interface IRadarChartSettings extends IXYChartSettings {\n\n\t/**\n\t * Outer radius of the chart. Can be set in pixels or percent, relative to\n\t * available space.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/radar-chart/#Chart_radius} for more info\n\t * @default 80%\n\t */\n\tradius?: number | Percent;\n\n\t/**\n\t * Inner radius of the chart. Can be set in pixels or percent, relative to\n\t * outer radius.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/radar-chart/#Chart_radius} for more info\n\t */\n\tinnerRadius?: number | Percent;\n\n\t/**\n\t * Chart start angle in degress.\n\t *\n\t * @default -90\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/radar-chart/#Start_end_angles} for more info\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * Chart end angle in degress.\n\t *\n\t * @default 270\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/radar-chart/#Start_end_angles} for more info\n\t */\n\tendAngle?: number;\n\n\t/**\n\t * [[RadarCursor]] instance.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/radar-chart/#Cursor} for more info\n\t */\n\tcursor?: RadarCursor;\n\n}\n\nexport interface IRadarChartPrivate extends IXYChartPrivate {\n\n\t/**\n\t * Radius in pixels.\n\t */\n\tradius?: number;\n\n\t/**\n\t * Inner radius in pixels.\n\t */\n\tinnerRadius?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tirModifyer?: number;\n\n}\n\n/**\n * Radar chart.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/radar-chart/} for more info\n * @important\n */\nexport class RadarChart extends XYChart {\n\n\t/**\n\t * [[Container]] where radar-related elements go.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly radarContainer = this.plotContainer.children.push(Container.new(this._root, { x: p50, y: p50 }));\n\n\tpublic static className: string = \"RadarChart\";\n\tpublic static classNames: Array<string> = XYChart.classNames.concat([RadarChart.className]);\n\n\tdeclare public _settings: IRadarChartSettings;\n\tdeclare public _privateSettings: IRadarChartPrivate;\n\n\tprotected _arcGenerator = arc();\n\tdeclare public _seriesType: RadarColumnSeries | RadarLineSeries;\n\n\tprotected _maxRadius: number = 1;\n\n\tprotected _afterNew() {\n\t\tthis._defaultThemes.push(RadarDefaultTheme.new(this._root));\n\n\t\tsuper._afterNew();\n\n\t\tconst radarContainer = this.radarContainer;\n\t\tconst gridContainer = this.gridContainer;\n\t\tconst topGridContainer = this.topGridContainer;\n\t\tconst seriesContainer = this.seriesContainer;\n\t\tconst bulletsContainer = this.bulletsContainer;\n\n\t\tradarContainer.children.pushAll([gridContainer, seriesContainer, topGridContainer, bulletsContainer]);\n\n\t\tseriesContainer.set(\"mask\", Graphics.new(this._root, {}));\n\t\tgridContainer.set(\"mask\", Graphics.new(this._root, {}));\n\n\t\tthis._disposers.push(this.plotContainer.events.on(\"boundschanged\", () => {\n\t\t\tthis._updateRadius();\n\t\t}));\n\t}\n\n\tprotected _maskGrid(){\n\t\t\n\t}\n\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this._sizeDirty || this.isDirty(\"radius\") || this.isDirty(\"innerRadius\") || this.isDirty(\"startAngle\") || this.isDirty(\"endAngle\")) {\n\n\t\t\tconst chartContainer = this.chartContainer;\n\t\t\tconst w = chartContainer.innerWidth();\n\t\t\tconst h = chartContainer.innerHeight();\n\n\t\t\tconst startAngle = this.get(\"startAngle\", 0);\n\t\t\tconst endAngle = this.get(\"endAngle\", 0);\n\t\t\tconst innerRadius = this.get(\"innerRadius\");\n\n\n\t\t\tlet bounds = $math.getArcBounds(0, 0, startAngle, endAngle, 1);\n\n\t\t\tconst wr = w / (bounds.right - bounds.left);\n\t\t\tconst hr = h / (bounds.bottom - bounds.top);\n\n\t\t\tlet innerBounds = { left: 0, right: 0, top: 0, bottom: 0 };\n\n\t\t\tif (innerRadius instanceof Percent) {\n\t\t\t\tlet value = innerRadius.value;\n\t\t\t\tlet mr = Math.min(wr, hr);\n\t\t\t\tvalue = Math.max(mr * value, mr - Math.min(h, w)) / mr;\n\t\t\t\tinnerBounds = $math.getArcBounds(0, 0, startAngle, endAngle, value);\n\t\t\t\tthis.setPrivateRaw(\"irModifyer\", value / innerRadius.value);\n\t\t\t}\n\n\t\t\tbounds = $math.mergeBounds([bounds, innerBounds]);\n\n\t\t\tthis._maxRadius = Math.max(0, Math.min(wr, hr));\n\n\t\t\tconst radius = $utils.relativeToValue(this.get(\"radius\", 0), this._maxRadius);\n\t\t\tthis.radarContainer.setAll({\n\t\t\t\tdy: -radius * (bounds.bottom + bounds.top) / 2, dx: -radius * (bounds.right + bounds.left) / 2\n\t\t\t})\n\n\t\t\tthis._updateRadius();\n\t\t}\n\t}\n\n\tprotected _addCursor(cursor: RadarCursor) {\n\t\tthis.radarContainer.children.push(cursor);\n\t}\n\n\n\t// do not delete\n\tpublic _updateRadius() {\n\t\tconst radius = $utils.relativeToValue(this.get(\"radius\", percent(80)), this._maxRadius);\n\t\tthis.setPrivateRaw(\"radius\", radius);\n\n\t\tlet innerRadius = $utils.relativeToValue(this.get(\"innerRadius\", 0), radius);\n\n\t\tif (innerRadius < 0) {\n\t\t\tinnerRadius = radius + innerRadius;\n\t\t}\n\n\t\tthis.setPrivateRaw(\"innerRadius\", innerRadius);\n\n\t\tthis.xAxes.each((axis) => {\n\t\t\tconst renderer = axis.get(\"renderer\") as AxisRendererCircular;\n\t\t\trenderer.updateLayout();\n\t\t})\n\n\t\tthis.yAxes.each((axis) => {\n\t\t\tconst renderer = axis.get(\"renderer\") as AxisRendererRadial;\n\t\t\trenderer.updateLayout();\n\t\t})\n\n\t\tthis._updateMask(this.seriesContainer, innerRadius, radius);\n\t\tthis._updateMask(this.gridContainer, innerRadius, radius);\n\n\t\tthis.series.each((series) => {\n\t\t\tif ((series as XYSeries).get(\"maskBullets\")) {\n\t\t\t\tthis._updateMask(series.bulletsContainer, innerRadius, radius);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tseries.bulletsContainer.remove(\"mask\");\n\t\t\t}\n\t\t})\n\n\t\tconst cursor = this.get(\"cursor\");\n\t\tif (cursor) {\n\t\t\tcursor.updateLayout();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _updateMask(container: Container, innerRadius: number, radius: number) {\n\t\tconst mask = container.get(\"mask\");\n\t\tif (mask) {\n\t\t\tmask.set(\"draw\", (display) => {\n\t\t\t\tthis._arcGenerator.context(display as any);\n\t\t\t\tthis._arcGenerator({ innerRadius: innerRadius, outerRadius: radius + .5, startAngle: (this.get(\"startAngle\", 0) + 90) * $math.RADIANS, endAngle: (this.get(\"endAngle\", 0) + 90) * $math.RADIANS });\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic processAxis(axis: Axis<AxisRendererRadial | AxisRendererCircular>) {\n\t\tthis.radarContainer.children.push(axis);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic inPlot(point: IPoint, radius?: number, innerRadius?: number): boolean {\n\t\tconst r = Math.hypot(point.x, point.y);\n\t\tconst angle = $math.normalizeAngle(Math.atan2(point.y, point.x) * $math.DEGREES);\n\n\t\tlet startAngle = $math.normalizeAngle(this.get(\"startAngle\", 0));\n\t\tlet endAngle = $math.normalizeAngle(this.get(\"endAngle\", 0));\n\n\t\tlet inArc = false;\n\t\tif (startAngle < endAngle) {\n\t\t\tif (startAngle < angle && angle < endAngle) {\n\t\t\t\tinArc = true;\n\t\t\t}\n\t\t}\n\n\t\tif (startAngle > endAngle) {\n\t\t\tif (angle > startAngle) {\n\t\t\t\tinArc = true;\n\t\t\t}\n\t\t\tif (angle < endAngle) {\n\t\t\t\tinArc = true;\n\t\t\t}\n\t\t}\n\n\t\tif (startAngle == endAngle) {\n\t\t\tinArc = true;\n\t\t}\n\n\t\tif (!inArc) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (radius == null) {\n\t\t\tradius = this.getPrivate(\"radius\", 0);\n\t\t}\n\n\t\tif (innerRadius == null) {\n\t\t\tinnerRadius = this.getPrivate(\"innerRadius\", 0);\n\t\t}\n\n\t\tif (innerRadius > radius) {\n\t\t\t[innerRadius, radius] = [radius, innerRadius];\n\t\t}\n\n\t\tif (r <= radius + .5 && r >= innerRadius - .5) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected _tooltipToLocal(point: IPoint): IPoint {\n\t\treturn this.radarContainer._display.toLocal(point);\n\t}\n\n\tprotected _handlePinch(){\n\t\t\n\t}\n}\n"]}
1
+ {"version":3,"file":"RadarChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/radar/RadarChart.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AxisRendererCircular } from \"./AxisRendererCircular\";\nimport type { AxisRendererRadial } from \"./AxisRendererRadial\";\nimport type { Axis } from \"../xy/axes/Axis\";\nimport type { XYSeries } from \"../xy/series/XYSeries\";\nimport type { RadarCursor } from \"./RadarCursor\";\nimport type { RadarColumnSeries } from \"./RadarColumnSeries\";\nimport type { RadarLineSeries } from \"./RadarLineSeries\";\nimport type { IPoint } from \"../../core/util/IPoint\";\n\nimport { RadarDefaultTheme } from \"./RadarDefaultTheme\";\nimport { XYChart, IXYChartPrivate, IXYChartSettings } from \"../xy/XYChart\";\nimport { Percent, p50, percent } from \"../../core/util/Percent\";\nimport { Container } from \"../../core/render/Container\";\nimport { Graphics } from \"../../core/render/Graphics\";\nimport { arc } from \"d3-shape\";\n\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $math from \"../../core/util/Math\";\n\nexport interface IRadarChartSettings extends IXYChartSettings {\n\n\t/**\n\t * Outer radius of the chart. Can be set in pixels or percent, relative to\n\t * available space.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/radar-chart/#Chart_radius} for more info\n\t * @default 80%\n\t */\n\tradius?: number | Percent;\n\n\t/**\n\t * Inner radius of the chart. Can be set in pixels or percent, relative to\n\t * outer radius.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/radar-chart/#Chart_radius} for more info\n\t */\n\tinnerRadius?: number | Percent;\n\n\t/**\n\t * Chart start angle in degress.\n\t *\n\t * @default -90\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/radar-chart/#Start_end_angles} for more info\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * Chart end angle in degress.\n\t *\n\t * @default 270\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/radar-chart/#Start_end_angles} for more info\n\t */\n\tendAngle?: number;\n\n\t/**\n\t * [[RadarCursor]] instance.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/radar-chart/#Cursor} for more info\n\t */\n\tcursor?: RadarCursor;\n\n}\n\nexport interface IRadarChartPrivate extends IXYChartPrivate {\n\n\t/**\n\t * Radius in pixels.\n\t */\n\tradius?: number;\n\n\t/**\n\t * Inner radius in pixels.\n\t */\n\tinnerRadius?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tirModifyer?: number;\n\n}\n\n/**\n * Radar chart.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/radar-chart/} for more info\n * @important\n */\nexport class RadarChart extends XYChart {\n\n\t/**\n\t * [[Container]] where radar-related elements go.\n\t *\n\t * @default Container.new()\n\t */\n\tpublic readonly radarContainer = this.plotContainer.children.push(Container.new(this._root, { x: p50, y: p50 }));\n\n\tpublic static className: string = \"RadarChart\";\n\tpublic static classNames: Array<string> = XYChart.classNames.concat([RadarChart.className]);\n\n\tdeclare public _settings: IRadarChartSettings;\n\tdeclare public _privateSettings: IRadarChartPrivate;\n\n\tprotected _arcGenerator = arc();\n\tdeclare public _seriesType: RadarColumnSeries | RadarLineSeries;\n\n\tprotected _maxRadius: number = 1;\n\n\tprotected _afterNew() {\n\t\tthis._defaultThemes.push(RadarDefaultTheme.new(this._root));\n\n\t\tsuper._afterNew();\n\n\t\tconst radarContainer = this.radarContainer;\n\t\tconst gridContainer = this.gridContainer;\n\t\tconst topGridContainer = this.topGridContainer;\n\t\tconst seriesContainer = this.seriesContainer;\n\t\tconst bulletsContainer = this.bulletsContainer;\n\n\t\tradarContainer.children.pushAll([gridContainer, seriesContainer, topGridContainer, bulletsContainer]);\n\n\t\tseriesContainer.set(\"mask\", Graphics.new(this._root, {}));\n\t\tgridContainer.set(\"mask\", Graphics.new(this._root, {}));\n\n\t\tthis._disposers.push(this.plotContainer.events.on(\"boundschanged\", () => {\n\t\t\tthis._updateRadius();\n\t\t}));\n\t}\n\n\tprotected _maskGrid(){\n\t\t\n\t}\n\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this._sizeDirty || this.isDirty(\"radius\") || this.isDirty(\"innerRadius\") || this.isDirty(\"startAngle\") || this.isDirty(\"endAngle\")) {\n\n\t\t\tconst chartContainer = this.chartContainer;\n\t\t\tconst w = chartContainer.innerWidth();\n\t\t\tconst h = chartContainer.innerHeight();\n\n\t\t\tconst startAngle = this.get(\"startAngle\", 0);\n\t\t\tconst endAngle = this.get(\"endAngle\", 0);\n\t\t\tconst innerRadius = this.get(\"innerRadius\");\n\n\n\t\t\tlet bounds = $math.getArcBounds(0, 0, startAngle, endAngle, 1);\n\n\t\t\tconst wr = w / (bounds.right - bounds.left);\n\t\t\tconst hr = h / (bounds.bottom - bounds.top);\n\n\t\t\tlet innerBounds = { left: 0, right: 0, top: 0, bottom: 0 };\n\n\t\t\tif (innerRadius instanceof Percent) {\n\t\t\t\tlet value = innerRadius.value;\n\t\t\t\tlet mr = Math.min(wr, hr);\n\t\t\t\tvalue = Math.max(mr * value, mr - Math.min(h, w)) / mr;\n\t\t\t\tinnerBounds = $math.getArcBounds(0, 0, startAngle, endAngle, value);\n\t\t\t\tthis.setPrivateRaw(\"irModifyer\", value / innerRadius.value);\n\t\t\t}\n\n\t\t\tbounds = $math.mergeBounds([bounds, innerBounds]);\n\n\t\t\tthis._maxRadius = Math.max(0, Math.min(wr, hr));\n\n\t\t\tconst radius = $utils.relativeToValue(this.get(\"radius\", 0), this._maxRadius);\n\t\t\tthis.radarContainer.setAll({\n\t\t\t\tdy: -radius * (bounds.bottom + bounds.top) / 2, dx: -radius * (bounds.right + bounds.left) / 2\n\t\t\t})\n\n\t\t\tthis._updateRadius();\n\t\t}\n\t}\n\n\tprotected _addCursor(cursor: RadarCursor) {\n\t\tthis.radarContainer.children.push(cursor);\n\t}\n\n\n\t// do not delete\n\tpublic _updateRadius() {\n\t\tconst radius = $utils.relativeToValue(this.get(\"radius\", percent(80)), this._maxRadius);\n\t\tthis.setPrivateRaw(\"radius\", radius);\n\n\t\tlet innerRadius = $utils.relativeToValue(this.get(\"innerRadius\", 0), radius);\n\n\t\tif (innerRadius < 0) {\n\t\t\tinnerRadius = radius + innerRadius;\n\t\t}\n\n\t\tthis.setPrivateRaw(\"innerRadius\", innerRadius);\n\n\t\tthis.xAxes.each((axis) => {\n\t\t\tconst renderer = axis.get(\"renderer\") as AxisRendererCircular;\n\t\t\trenderer.updateLayout();\n\t\t})\n\n\t\tthis.yAxes.each((axis) => {\n\t\t\tconst renderer = axis.get(\"renderer\") as AxisRendererRadial;\n\t\t\trenderer.updateLayout();\n\t\t})\n\n\t\tthis._updateMask(this.seriesContainer, innerRadius, radius);\n\t\tthis._updateMask(this.gridContainer, innerRadius, radius);\n\n\t\tthis.series.each((series) => {\t\t\t\n\t\t\tif ((series as XYSeries).get(\"maskBullets\")) {\n\t\t\t\tthis._updateMask(series.bulletsContainer, innerRadius, radius);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tseries.bulletsContainer.remove(\"mask\");\n\t\t\t}\n\t\t})\n\n\t\tconst cursor = this.get(\"cursor\");\n\t\tif (cursor) {\n\t\t\tcursor.updateLayout();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _updateMask(container: Container, innerRadius: number, radius: number) {\n\t\tconst mask = container.get(\"mask\");\n\t\tif (mask) {\n\t\t\tmask.set(\"draw\", (display) => {\n\t\t\t\tthis._arcGenerator.context(display as any);\n\t\t\t\tthis._arcGenerator({ innerRadius: innerRadius, outerRadius: radius + .5, startAngle: (this.get(\"startAngle\", 0) + 90) * $math.RADIANS, endAngle: (this.get(\"endAngle\", 0) + 90) * $math.RADIANS });\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic processAxis(axis: Axis<AxisRendererRadial | AxisRendererCircular>) {\n\t\tthis.radarContainer.children.push(axis);\n\t}\n\n\tprotected _processSeries(series: this[\"_seriesType\"]) {\n\t\tsuper._processSeries(series);\n\t\tthis._updateRadius();\n\t}\t\n\n\t/**\n\t * @ignore\n\t */\n\tpublic inPlot(point: IPoint, radius?: number, innerRadius?: number): boolean {\n\t\tconst r = Math.hypot(point.x, point.y);\n\t\tconst angle = $math.normalizeAngle(Math.atan2(point.y, point.x) * $math.DEGREES);\n\n\t\tlet startAngle = $math.normalizeAngle(this.get(\"startAngle\", 0));\n\t\tlet endAngle = $math.normalizeAngle(this.get(\"endAngle\", 0));\n\n\t\tlet inArc = false;\n\t\tif (startAngle < endAngle) {\n\t\t\tif (startAngle < angle && angle < endAngle) {\n\t\t\t\tinArc = true;\n\t\t\t}\n\t\t}\n\n\t\tif (startAngle > endAngle) {\n\t\t\tif (angle > startAngle) {\n\t\t\t\tinArc = true;\n\t\t\t}\n\t\t\tif (angle < endAngle) {\n\t\t\t\tinArc = true;\n\t\t\t}\n\t\t}\n\n\t\tif (startAngle == endAngle) {\n\t\t\tinArc = true;\n\t\t}\n\n\t\tif (!inArc) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (radius == null) {\n\t\t\tradius = this.getPrivate(\"radius\", 0);\n\t\t}\n\n\t\tif (innerRadius == null) {\n\t\t\tinnerRadius = this.getPrivate(\"innerRadius\", 0);\n\t\t}\n\n\t\tif (innerRadius > radius) {\n\t\t\t[innerRadius, radius] = [radius, innerRadius];\n\t\t}\n\n\t\tif (r <= radius + .5 && r >= innerRadius - .5) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected _tooltipToLocal(point: IPoint): IPoint {\n\t\treturn this.radarContainer._display.toLocal(point);\n\t}\n\n\tprotected _handlePinch(){\n\t\t\n\t}\n}\n"]}
@@ -65,6 +65,7 @@ export declare class SettingsModal extends Modal {
65
65
  private initContent;
66
66
  private getDropdown;
67
67
  private getNumber;
68
+ private getText;
68
69
  private getCheckbox;
69
70
  private getColor;
70
71
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsModal.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/stock/SettingsModal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAA6B,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAQtD,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAE7D;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IAEvB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAExB;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;CAC3D;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IAEzD;;OAEG;IACH,IAAI,EAAE;QACL,QAAQ,CAAC,EAAE,GAAG,CAAC;QACf,cAAc,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;KACrC,CAAA;CAED;AAaD;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACvC,OAAc,SAAS,EAAE,MAAM,CAAmB;IAClD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsD;IAE9E,SAAS,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,OAAO,EAAE,oBAAoB,CAAC;IAE7C,SAAS,CAAC,gBAAgB,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAM;IAC1D,SAAS,CAAC,eAAe,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjD,SAAS,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IAEvC,SAAS,CAAC,SAAS;IAMZ,cAAc;IAQrB;;;;OAIG;IACI,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAK7C;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IAiHzC,OAAO,CAAC,WAAW;IAoNnB,OAAO,CAAC,WAAW;IAwCnB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,QAAQ;IAgBhB;;OAEG;IACI,KAAK,IAAI,IAAI;IAUpB;;OAEG;IACI,MAAM,IAAI,IAAI;IASrB;;OAEG;IACI,KAAK,IAAI,IAAI;IAQpB,OAAO,CAAC,cAAc;CAItB"}
1
+ {"version":3,"file":"SettingsModal.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/stock/SettingsModal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAA6B,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAQtD,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAE7D;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IAEvB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAExB;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;CAC3D;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IAEzD;;OAEG;IACH,IAAI,EAAE;QACL,QAAQ,CAAC,EAAE,GAAG,CAAC;QACf,cAAc,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;KACrC,CAAA;CAED;AAaD;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACvC,OAAc,SAAS,EAAE,MAAM,CAAmB;IAClD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsD;IAE9E,SAAS,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,OAAO,EAAE,oBAAoB,CAAC;IAE7C,SAAS,CAAC,gBAAgB,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAM;IAC1D,SAAS,CAAC,eAAe,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjD,SAAS,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IAEvC,SAAS,CAAC,SAAS;IAMZ,cAAc;IAQrB;;;;OAIG;IACI,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAK7C;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IAiHzC,OAAO,CAAC,WAAW;IAsNnB,OAAO,CAAC,WAAW;IAwCnB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,QAAQ;IAgBhB;;OAEG;IACI,KAAK,IAAI,IAAI;IAUpB;;OAEG;IACI,MAAM,IAAI,IAAI;IASrB;;OAEG;IACI,KAAK,IAAI,IAAI;IAQpB,OAAO,CAAC,cAAc;CAItB"}
@@ -242,9 +242,10 @@ export class SettingsModal extends Modal {
242
242
  element = this.getCheckbox(setting, currentValue);
243
243
  settingInputs[key] = element;
244
244
  break;
245
- // case "text":
246
- // element = this.getText(setting, currentValue);
247
- // break;
245
+ case "text":
246
+ element = this.getText(setting, currentValue);
247
+ settingInputs[key] = element;
248
+ break;
248
249
  }
249
250
  if (element) {
250
251
  let line;
@@ -393,6 +394,13 @@ export class SettingsModal extends Modal {
393
394
  element.className = "am5-modal-input-narrow";
394
395
  return element;
395
396
  }
397
+ getText(_setting, currentValue) {
398
+ const element = document.createElement("input");
399
+ element.type = "text";
400
+ element.value = currentValue;
401
+ element.className = "am5-modal-input";
402
+ return element;
403
+ }
396
404
  getCheckbox(_setting, currentValue) {
397
405
  const element = document.createElement("input");
398
406
  element.type = "checkbox";
@@ -1 +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\t/**\r\n\t * Show the \"Reset to default\" link?\r\n\t *\r\n\t * @default true\r\n\t * @since 5.9.0\r\n\t */\r\n\tshowResetLink?: boolean;\r\n\r\n\t/**\r\n\t * Available line widths for user to choose from.\r\n\t *\r\n\t * @default [1, 2, 4, 10]\r\n\t * @since 5.11.2\r\n\t */\r\n\tstrokeWidths?: number[];\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([SettingsModal.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\tthis._defaultThemes = this.get(\"stockChart\")._defaultThemes;\r\n\t\tsuper._afterNewApplyThemes();\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\t\tconst isline = series instanceof LineSeries;\r\n\r\n\t\tlet settings: ISeriesEditableSetting[] = [];\r\n\r\n\t\tif (series == stockChart.get(\"stockSeries\") && !isline) {\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\") && !isline) {\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 (isline) {\r\n\t\t\tconst widths = this.get(\"strokeWidths\", [1, 2, 4, 10]);\r\n\t\t\tconst widthOptions = widths.map((width) => {\r\n\t\t\t\treturn { value: width, text: width + \"px\" };\r\n\t\t\t});\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\tadditionalKeys: [\"fill\"],\r\n\t\t\t\ttarget: (<LineSeries>series),\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: widthOptions,\r\n\t\t\t\tcurrentValue: (<LineSeries>series).strokes.template.get(\"strokeWidth\", 1),\r\n\t\t\t\ttarget: (<LineSeries>series).strokes.template,\r\n\t\t\t\tinvalidateTarget: series\r\n\t\t\t}];\r\n\t\t\tif ((<LineSeries>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\t// Log defaults\r\n\t\tlet populateDefaults = false;\r\n\t\tlet defaults: any = {};\r\n\t\tif (!target.get(\"userData\")) {\r\n\t\t\ttarget.set(\"userData\", {});\r\n\t\t}\r\n\t\tif (!target.get(\"userData\")[\"__defaults\"]) {\r\n\t\t\ttarget.get(\"userData\")[\"__defaults\"] = defaults;\r\n\t\t\tpopulateDefaults = true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdefaults = target.get(\"userData\")[\"__defaults\"];\r\n\t\t}\r\n\r\n\t\tconst settingInputs: { [index: string]: HTMLInputElement | HTMLSelectElement } = {};\r\n\t\tconst controls: { [index: string]: ColorControl } = {};\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 (populateDefaults) {\r\n\t\t\t\tdefaults[key] = currentValue;\r\n\t\t\t}\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\tthis._disposers.push($utils.addEventListener(element, \"change\", (ev: any) => {\r\n\t\t\t\t\t\tconst input: HTMLSelectElement = ev.target!;\r\n\t\t\t\t\t\tconst option = input.options[input!.selectedIndex];\r\n\t\t\t\t\t\tconst extTarget = option.getAttribute(\"data-target\");\r\n\t\t\t\t\t\tif (extTarget) {\r\n\t\t\t\t\t\t\tsettingInputs[extTarget].value = option.getAttribute(\"data-target-value\") + \"\";\r\n\t\t\t\t\t\t\tsettingInputs[extTarget].setAttribute(\"data-min-value\", option.getAttribute(\"data-target-min-value\") + \"\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}));\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\tif (setting.minValue !== undefined) {\r\n\t\t\t\t\t\telement.setAttribute(\"data-min-value\", setting.minValue + \"\");\r\n\t\t\t\t\t\tthis._disposers.push($utils.addEventListener(element, \"change\", (ev: any) => {\r\n\t\t\t\t\t\t\tconst input: HTMLInputElement = ev.target!;\r\n\t\t\t\t\t\t\tconst minValue = Number(input.getAttribute(\"data-min-value\"));\r\n\t\t\t\t\t\t\tconst value = Number(input.value);\r\n\t\t\t\t\t\t\tif (value < minValue) {\r\n\t\t\t\t\t\t\t\tinput.value = minValue + \"\";\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\tbreak;\r\n\t\t\t\tcase \"color\":\r\n\t\t\t\t\tconst control = this.getColor(setting, currentValue);\r\n\t\t\t\t\telement = control.getPrivate(\"button\")!;\r\n\t\t\t\t\tcontrols[key] = control;\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// Reset\r\n\t\tif (this.get(\"showResetLink\", true)) {\r\n\t\t\tconst resetLink = document.createElement(\"a\");\r\n\t\t\tresetLink.className = \"am5-modal-link am5-modal-table-cell am5-modal-link-reset\";\r\n\t\t\tresetLink.innerHTML = this._root.language.translateAny(\"Reset to default\");\r\n\t\t\ttable.appendChild(resetLink);\r\n\r\n\t\t\tthis._disposers.push($utils.addEventListener(resetLink, \"click\", () => {\r\n\t\t\t\tconst defaults = target.get(\"userData\")[\"__defaults\"];\r\n\t\t\t\t$object.each(settingInputs, (key, element) => {\r\n\t\t\t\t\tif (element.type === \"checkbox\") {\r\n\t\t\t\t\t\t(element as HTMLInputElement).checked = defaults[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\telement.value = defaults[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t$object.each(controls, (key, control) => {\r\n\t\t\t\t\tcontrol.setColor(defaults[key]);\r\n\t\t\t\t});\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\tthis._disposers.push($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, (additionalKey) => {\r\n\t\t\t\t\t\t\t\tvalue.setting.target.set(additionalKey, 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\tthis._disposers.push($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\t// Auto-focus Save button\r\n\t\tthis.setTimeout(() => {\r\n\t\t\t// Delayed so that pressing ENTER in the list does not trigger save, too\r\n\t\t\tsaveButton.focus();\r\n\t\t}, 10);\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\r\n\t\t\t\t\tif ((option as any).minValue) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-min-value\", (option as any).minValue);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ((option as any).extTarget) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-target\", (option as any).extTarget);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ((option as any).extTargetValue) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-target-value\", (option as any).extTargetValue);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ((option as any).extTargetMinValue) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-target-min-value\", (option as any).extTargetMinValue);\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\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): ColorControl {\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;\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}"]}
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\t/**\r\n\t * Show the \"Reset to default\" link?\r\n\t *\r\n\t * @default true\r\n\t * @since 5.9.0\r\n\t */\r\n\tshowResetLink?: boolean;\r\n\r\n\t/**\r\n\t * Available line widths for user to choose from.\r\n\t *\r\n\t * @default [1, 2, 4, 10]\r\n\t * @since 5.11.2\r\n\t */\r\n\tstrokeWidths?: number[];\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([SettingsModal.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\tthis._defaultThemes = this.get(\"stockChart\")._defaultThemes;\r\n\t\tsuper._afterNewApplyThemes();\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\t\tconst isline = series instanceof LineSeries;\r\n\r\n\t\tlet settings: ISeriesEditableSetting[] = [];\r\n\r\n\t\tif (series == stockChart.get(\"stockSeries\") && !isline) {\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\") && !isline) {\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 (isline) {\r\n\t\t\tconst widths = this.get(\"strokeWidths\", [1, 2, 4, 10]);\r\n\t\t\tconst widthOptions = widths.map((width) => {\r\n\t\t\t\treturn { value: width, text: width + \"px\" };\r\n\t\t\t});\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\tadditionalKeys: [\"fill\"],\r\n\t\t\t\ttarget: (<LineSeries>series),\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: widthOptions,\r\n\t\t\t\tcurrentValue: (<LineSeries>series).strokes.template.get(\"strokeWidth\", 1),\r\n\t\t\t\ttarget: (<LineSeries>series).strokes.template,\r\n\t\t\t\tinvalidateTarget: series\r\n\t\t\t}];\r\n\t\t\tif ((<LineSeries>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\t// Log defaults\r\n\t\tlet populateDefaults = false;\r\n\t\tlet defaults: any = {};\r\n\t\tif (!target.get(\"userData\")) {\r\n\t\t\ttarget.set(\"userData\", {});\r\n\t\t}\r\n\t\tif (!target.get(\"userData\")[\"__defaults\"]) {\r\n\t\t\ttarget.get(\"userData\")[\"__defaults\"] = defaults;\r\n\t\t\tpopulateDefaults = true;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdefaults = target.get(\"userData\")[\"__defaults\"];\r\n\t\t}\r\n\r\n\t\tconst settingInputs: { [index: string]: HTMLInputElement | HTMLSelectElement } = {};\r\n\t\tconst controls: { [index: string]: ColorControl } = {};\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 (populateDefaults) {\r\n\t\t\t\tdefaults[key] = currentValue;\r\n\t\t\t}\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\tthis._disposers.push($utils.addEventListener(element, \"change\", (ev: any) => {\r\n\t\t\t\t\t\tconst input: HTMLSelectElement = ev.target!;\r\n\t\t\t\t\t\tconst option = input.options[input!.selectedIndex];\r\n\t\t\t\t\t\tconst extTarget = option.getAttribute(\"data-target\");\r\n\t\t\t\t\t\tif (extTarget) {\r\n\t\t\t\t\t\t\tsettingInputs[extTarget].value = option.getAttribute(\"data-target-value\") + \"\";\r\n\t\t\t\t\t\t\tsettingInputs[extTarget].setAttribute(\"data-min-value\", option.getAttribute(\"data-target-min-value\") + \"\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}));\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\tif (setting.minValue !== undefined) {\r\n\t\t\t\t\t\telement.setAttribute(\"data-min-value\", setting.minValue + \"\");\r\n\t\t\t\t\t\tthis._disposers.push($utils.addEventListener(element, \"change\", (ev: any) => {\r\n\t\t\t\t\t\t\tconst input: HTMLInputElement = ev.target!;\r\n\t\t\t\t\t\t\tconst minValue = Number(input.getAttribute(\"data-min-value\"));\r\n\t\t\t\t\t\t\tconst value = Number(input.value);\r\n\t\t\t\t\t\t\tif (value < minValue) {\r\n\t\t\t\t\t\t\t\tinput.value = minValue + \"\";\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\tbreak;\r\n\t\t\t\tcase \"color\":\r\n\t\t\t\t\tconst control = this.getColor(setting, currentValue);\r\n\t\t\t\t\telement = control.getPrivate(\"button\")!;\r\n\t\t\t\t\tcontrols[key] = control;\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\tcase \"text\":\r\n\t\t\t\t\telement = this.getText(setting, currentValue);\r\n\t\t\t\t\tsettingInputs[key] = <HTMLInputElement>element;\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// Reset\r\n\t\tif (this.get(\"showResetLink\", true)) {\r\n\t\t\tconst resetLink = document.createElement(\"a\");\r\n\t\t\tresetLink.className = \"am5-modal-link am5-modal-table-cell am5-modal-link-reset\";\r\n\t\t\tresetLink.innerHTML = this._root.language.translateAny(\"Reset to default\");\r\n\t\t\ttable.appendChild(resetLink);\r\n\r\n\t\t\tthis._disposers.push($utils.addEventListener(resetLink, \"click\", () => {\r\n\t\t\t\tconst defaults = target.get(\"userData\")[\"__defaults\"];\r\n\t\t\t\t$object.each(settingInputs, (key, element) => {\r\n\t\t\t\t\tif (element.type === \"checkbox\") {\r\n\t\t\t\t\t\t(element as HTMLInputElement).checked = defaults[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\telement.value = defaults[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t$object.each(controls, (key, control) => {\r\n\t\t\t\t\tcontrol.setColor(defaults[key]);\r\n\t\t\t\t});\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\tthis._disposers.push($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\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, (additionalKey) => {\r\n\t\t\t\t\t\t\t\tvalue.setting.target.set(additionalKey, 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\tthis._disposers.push($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\t// Auto-focus Save button\r\n\t\tthis.setTimeout(() => {\r\n\t\t\t// Delayed so that pressing ENTER in the list does not trigger save, too\r\n\t\t\tsaveButton.focus();\r\n\t\t}, 10);\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\r\n\t\t\t\t\tif ((option as any).minValue) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-min-value\", (option as any).minValue);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ((option as any).extTarget) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-target\", (option as any).extTarget);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ((option as any).extTargetValue) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-target-value\", (option as any).extTargetValue);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ((option as any).extTargetMinValue) {\r\n\t\t\t\t\t\toptionElement.setAttribute(\"data-target-min-value\", (option as any).extTargetMinValue);\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\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 getText(_setting: any, currentValue: any): HTMLInputElement {\r\n\t\tconst element = document.createElement(\"input\");\r\n\t\telement.type = \"text\";\r\n\t\telement.value = currentValue;\r\n\t\telement.className = \"am5-modal-input\"\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): ColorControl {\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;\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}"]}
@@ -19,7 +19,7 @@ export interface IIndicatorEditableSetting {
19
19
  /**
20
20
  * Type of the control to show for editing the setting in modal.
21
21
  */
22
- type: "color" | "number" | "dropdown" | "checkbox";
22
+ type: "color" | "number" | "dropdown" | "checkbox" | "text";
23
23
  /**
24
24
  * Minimum numeric value allowable in this field.
25
25
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Indicator.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Indicator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Indicator.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Indicator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Indicator.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Indicator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { XYSeries, IXYSeriesDataItem } from \"../../xy/series/XYSeries\";\r\nimport type { StockLegend } from \"../StockLegend\";\r\nimport type { StockChart } from \"../StockChart\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nimport { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from \"../../../core/render/Container\";\r\nimport { LineSeries } from \"../../xy/series/LineSeries\";\r\nimport { BaseColumnSeries } from \"../../xy/series/BaseColumnSeries\";\r\nimport { MultiDisposer } from \"../../../core/util/Disposer\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IIndicatorEditableSetting {\r\n\r\n\t/**\r\n\t * Setting key.\r\n\t */\r\n\tkey: string;\r\n\r\n\t/**\r\n\t * Name of the setting (displayed in edit modal).\r\n\t *\r\n\t * Settings with the same name will be grouped in modal.\r\n\t */\r\n\tname: string;\r\n\r\n\t/**\r\n\t * Type of the control to show for editing the setting in modal.\r\n\t */\r\n\ttype: \"color\" | \"number\" | \"dropdown\" | \"checkbox\";\r\n\r\n\t/**\r\n\t * Minimum numeric value allowable in this field.\r\n\t *\r\n\t * @since 5.8.1\r\n\t */\r\n\tminValue?: number;\r\n\r\n\t/**\r\n\t * If `type: \"dropdown\"`, `options` should contain a list of items it.\r\n\t */\r\n\toptions?: Array<string | {\r\n\t\tvalue: number | string,\r\n\t\ttext: string,\r\n\t\textTarget?: string,\r\n\t\textTargetValue?: number | string,\r\n\t\textTargetMinValue?: number\r\n\t}>;\r\n\r\n}\r\n\r\nexport interface IIndicatorSettings extends IContainerSettings {\r\n\r\n\t/**\r\n\t * An instance of target [[StockChart]].\r\n\t */\r\n\tstockChart: StockChart;\r\n\r\n\t/**\r\n\t * A main series indicator will be based on.\r\n\t */\r\n\tstockSeries: XYSeries;\r\n\r\n\t/**\r\n\t * A volume series indicator will be based on, if it reaquires one.\r\n\t */\r\n\tvolumeSeries?: XYSeries;\r\n\r\n\t/**\r\n\t * If set to a reference to [[StockLegend]], indicator will add itself into\r\n\t * the legend.\r\n\t */\r\n\tlegend?: StockLegend;\r\n\r\n\t/**\r\n\t * Period.\r\n\t */\r\n\tperiod?: number;\r\n\r\n\t/**\r\n\t * A value field to use.\r\n\t */\r\n\tfield?: \"open\" | \"close\" | \"low\" | \"high\" | \"hl/2\" | \"hlc/3\" | \"hlcc/4\" | \"ohlc/4\";\r\n\r\n\t/**\r\n\t * Indicator name, e.g. \"Moving Average\".\r\n\t */\r\n\tname?: string;\r\n\r\n\t/**\r\n\t * Short name for the indicator, e.g. \"MA\" (for \"Moving Average\").\r\n\t *\r\n\t * Mainly used for the legend.\r\n\t */\r\n\tshortName?: string;\r\n\r\n\t/**\r\n\t * A color to use for the indicator series.\r\n\t */\r\n\tseriesColor?: Color;\r\n\r\n\t/**\r\n\t * Should indicator settings modal be openend automatically when indicator\r\n\t * is added to a chart via [[IndicatorControl]].\r\n\t * \r\n\t * @default true\r\n\t * @since 5.10.6\r\n\t */\r\n\tautoOpenSettings?: boolean;\r\n\r\n}\r\n\r\nexport interface IIndicatorPrivate extends IContainerPrivate {\r\n}\r\n\r\nexport interface IIndicatorEvents extends IContainerEvents {\r\n}\r\n\r\n/**\r\n * Base class for [[StockChart]] indicators.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport abstract class Indicator extends Container {\r\n\tpublic static className: string = \"Indicator\";\r\n\tpublic static classNames: Array<string> = Container.classNames.concat([Indicator.className]);\r\n\r\n\tdeclare public _settings: IIndicatorSettings;\r\n\tdeclare public _privateSettings: IIndicatorPrivate;\r\n\tdeclare public _events: IIndicatorEvents;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [];\r\n\r\n\tpublic series!: XYSeries;\r\n\r\n\tprotected _dataDirty = false;\r\n\r\n\tprotected _sDP?: MultiDisposer;\r\n\tprotected _vDP?: MultiDisposer;\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tif (this.isDirty(\"stockSeries\") || this.isDirty(\"volumeSeries\")) {\r\n\t\t\tthis.markDataDirty();\r\n\r\n\t\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\t\tconst previousS = this._prevSettings.stockSeries;\r\n\t\t\tif (previousS && this._sDP) {\r\n\t\t\t\tthis._sDP.dispose();\r\n\t\t\t}\r\n\t\t\tif (stockSeries) {\r\n\t\t\t\tthis._sDP = new MultiDisposer([\r\n\t\t\t\t\tstockSeries.events.on(\"datavalidated\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tstockSeries.events.on(\"datasetchanged\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\r\n\t\t\t\t\t})\r\n\t\t\t\t])\r\n\t\t\t}\r\n\r\n\t\t\tconst previousV = this._prevSettings.volumeSeries;\r\n\t\t\tif (previousV && this._vDP) {\r\n\t\t\t\tthis._vDP.dispose();\r\n\t\t\t}\r\n\t\t\tconst volumeSeries = this.get(\"volumeSeries\");\r\n\t\t\tif (volumeSeries) {\r\n\t\t\t\tthis._vDP = new MultiDisposer([\r\n\t\t\t\t\tvolumeSeries.events.on(\"datavalidated\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tvolumeSeries.events.on(\"datasetchanged\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\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\tif (this.isDirty(\"field\")) {\r\n\t\t\tif (this.get(\"field\")) {\r\n\t\t\t\tthis.markDataDirty();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"period\")) {\r\n\t\t\tthis.markDataDirty();\r\n\t\t\tthis.setCustomData(\"period\", this.get(\"period\"));\r\n\t\t}\r\n\r\n\r\n\t\tif (this._dataDirty) {\r\n\t\t\tthis.prepareData();\r\n\t\t\tthis._dataDirty = false;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _markDataDirty() {\r\n\t\tthis._dataDirty = true;\r\n\t\tthis.markDirty();\r\n\t}\r\n\r\n\tpublic markDataDirty() {\r\n\t\tthis._root.events.once(\"frameended\", () => {\r\n\t\t\tthis._markDataDirty();\r\n\t\t})\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tif (this.isDirty(\"seriesColor\")) {\r\n\t\t\tthis._updateSeriesColor(this.series, this.get(\"seriesColor\"), \"seriesColor\");\r\n\t\t}\r\n\r\n\t\tthis.setCustomData(\"period\", this.get(\"period\"));\r\n\t\tthis.setCustomData(\"field\", this.get(\"field\"));\r\n\t\tthis.setCustomData(\"name\", this.get(\"name\"));\r\n\t\tthis.setCustomData(\"shortName\", this.get(\"shortName\"));\r\n\t}\r\n\r\n\tprotected _dispose() {\r\n\t\tsuper._dispose();\r\n\r\n\t\tif (this._sDP) {\r\n\t\t\tthis._sDP.dispose();\r\n\t\t}\r\n\t\tif (this._vDP) {\r\n\t\t\tthis._vDP.dispose();\r\n\t\t}\r\n\r\n\t\tconst series = this.series;\r\n\t\tif (series) {\r\n\t\t\tseries.dispose();\r\n\r\n\t\t\tconst yAxis = series.get(\"yAxis\");\r\n\t\t\tif (yAxis) {\r\n\t\t\t\tyAxis.markDirtySelectionExtremes();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tif (stockChart) {\r\n\t\t\tconst legend = this.get(\"legend\");\r\n\t\t\tif (legend) {\r\n\t\t\t\tconst legendDataItem = series.get(\"legendDataItem\");\r\n\t\t\t\tif (legendDataItem) {\r\n\t\t\t\t\tlegend.disposeDataItem(legendDataItem as any);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tstockChart.indicators.removeValue(this);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async hide(duration?: number): Promise<any> {\r\n\t\treturn Promise.all([\r\n\t\t\tsuper.hide(duration),\r\n\t\t\tthis.series.hide(duration)\r\n\t\t]);\r\n\t}\r\n\r\n\tpublic async show(duration?: number): Promise<any> {\r\n\t\treturn Promise.all([\r\n\t\t\tsuper.show(duration),\r\n\t\t\tthis.series.show(duration)\r\n\t\t]);\r\n\t}\r\n\r\n\tprotected _handleLegend(series: XYSeries) {\r\n\t\tconst legend = this.get(\"legend\");\r\n\t\tif (legend) {\r\n\t\t\tlegend.data.push(series);\r\n\r\n\t\t\tconst legendDataItem = legend.dataItems[legend.dataItems.length - 1];\r\n\t\t\tlegendDataItem.get(\"marker\").set(\"forceHidden\", true);\r\n\r\n\t\t\tconst closeButton = legendDataItem.get(\"closeButton\");\r\n\t\t\tcloseButton.set(\"forceHidden\", false);\r\n\t\t\tcloseButton.events.on(\"click\", () => {\r\n\t\t\t\tthis.dispose();\r\n\t\t\t})\r\n\r\n\t\t\tconst settingsButton = legendDataItem.get(\"settingsButton\");\r\n\t\t\tsettingsButton.setPrivate(\"customData\", this);\r\n\r\n\t\t\tconst editableSettings = this._editableSettings;\r\n\t\t\tif (!editableSettings || editableSettings.length == 0) {\r\n\t\t\t\tsettingsButton.set(\"forceHidden\", true);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateSeriesColor(series?: XYSeries, color?: Color, contextName?: string) {\r\n\t\tif (series) {\r\n\t\t\tseries.set(\"stroke\", color);\r\n\t\t\tseries.set(\"fill\", color);\r\n\t\t\tif (series instanceof LineSeries) {\r\n\t\t\t\tseries.strokes.template.set(\"stroke\", color);\r\n\t\t\t\tseries.fills.template.set(\"fill\", color);\r\n\t\t\t}\r\n\r\n\t\t\tif (series instanceof BaseColumnSeries) {\r\n\t\t\t\tseries.columns.template.setAll({ stroke: color, fill: color });\r\n\t\t\t}\r\n\r\n\t\t\tif (contextName && color) {\r\n\t\t\t\tthis.setCustomData(contextName, color.toCSSHex());\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tpublic setCustomData(name: string, value?: any) {\r\n\t\tconst customData = this.series.getPrivate(\"customData\");\r\n\t\tif (customData) {\r\n\t\t\tcustomData[name] = value;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\r\n\t}\r\n\r\n\tprotected _getValue(dataItem: DataItem<IXYSeriesDataItem>): number | undefined {\r\n\t\tconst field = this.get(\"field\");\r\n\r\n\t\tlet o = dataItem.get(\"openValueY\") as number;\r\n\t\tlet h = dataItem.get(\"highValueY\") as number;\r\n\t\tlet l = dataItem.get(\"lowValueY\") as number;\r\n\t\tlet c = dataItem.get(\"valueY\") as number;\r\n\r\n\t\tswitch (field) {\r\n\t\t\tcase \"close\":\r\n\t\t\t\treturn c;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"open\":\r\n\t\t\t\treturn o;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"high\":\r\n\t\t\t\treturn h;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"low\":\r\n\t\t\t\treturn l;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hl/2\":\r\n\t\t\t\treturn (h + l) / 2;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hlc/3\":\r\n\t\t\t\treturn (h + l + c) / 3;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hlcc/4\":\r\n\t\t\t\treturn (h + l + c + c) / 4;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"ohlc/4\":\r\n\t\t\t\treturn (o + h + l + c) / 4;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tprotected _getDataArray(dataItems: Array<DataItem<any>>): Array<any> {\r\n\t\tconst data: Array<any> = [];\r\n\t\t$array.each(dataItems, (dataItem) => {\r\n\t\t\tdata.push({ valueX: dataItem.get(\"valueX\"), value_y: this._getValue(dataItem) });\r\n\t\t})\r\n\t\treturn data;\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tprotected _getTypicalPrice(dataItems: Array<DataItem<any>>): Array<any> {\r\n\t\tconst data: Array<any> = [];\r\n\t\t$array.each(dataItems, (dataItem) => {\r\n\t\t\tdata.push({ valueX: dataItem.get(\"valueX\"), value_y: (dataItem.get(\"valueY\", 0) + dataItem.get(\"highValueY\", 0) + dataItem.get(\"lowValueY\", 0)) / 2 });\r\n\t\t})\r\n\t\treturn data;\r\n\t}\r\n\r\n\tprotected _sma(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet index = 0;\r\n\t\tlet ma = 0;\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tma += value / period;\r\n\r\n\t\t\t\tif (i >= period) {\r\n\t\t\t\t\tif (i > period) {\r\n\t\t\t\t\t\tlet valueToRemove = data[index - period][field];\r\n\t\t\t\t\t\tif (valueToRemove != null) {\r\n\t\t\t\t\t\t\tma -= valueToRemove / period;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tindex++;\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _wma(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet index = 0;\r\n\t\tlet ma = 0;\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i >= period) {\r\n\t\t\t\t\tlet sum = 0;\r\n\t\t\t\t\tlet m = 0;\r\n\t\t\t\t\tlet count = 0;\r\n\t\t\t\t\tlet k = 0\r\n\t\t\t\t\tfor (let n = index; n >= 0; n--) {\r\n\t\t\t\t\t\tlet pValue = data[n][field];\r\n\r\n\t\t\t\t\t\tif (pValue != null) {\r\n\t\t\t\t\t\t\tsum += pValue * (period - m);\r\n\t\t\t\t\t\t\tcount += (period - m);\r\n\t\t\t\t\t\t\tk++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tm++;\r\n\r\n\t\t\t\t\t\tif (k == period) {\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tma = sum / count;\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tindex++;\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _ema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ma = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tma = value * multiplier + ma * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tma += value / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _dema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ema2 = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\r\n\t\tthis._ema(data, period, field, \"ema\");\r\n\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet ema = dataItem.ema;\r\n\t\t\tif (ema != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tema2 = ema * multiplier + ema2 * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = 2 * ema - ema2;\r\n\t\t\t\t\tdataItem.ema2 = ema2;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tema2 += ema / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = 2 * ema - ema2;\r\n\t\t\t\t\t\tdataItem.ema2 = ema2;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _tema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ema3 = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\r\n\t\tthis._dema(data, period, field, \"dema\");\r\n\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet ema = dataItem.ema;\r\n\t\t\tlet ema2 = dataItem.ema2;\r\n\r\n\t\t\tif (ema2 != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tema3 = ema2 * multiplier + ema3 * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = 3 * ema - 3 * ema2 + ema3;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tema3 += ema2 / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = 3 * ema - 3 * ema2 + ema3;\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}"]}
1
+ {"version":3,"file":"Indicator.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/indicators/Indicator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { XYSeries, IXYSeriesDataItem } from \"../../xy/series/XYSeries\";\r\nimport type { StockLegend } from \"../StockLegend\";\r\nimport type { StockChart } from \"../StockChart\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { Color } from \"../../../core/util/Color\";\r\n\r\nimport { Container, IContainerSettings, IContainerPrivate, IContainerEvents } from \"../../../core/render/Container\";\r\nimport { LineSeries } from \"../../xy/series/LineSeries\";\r\nimport { BaseColumnSeries } from \"../../xy/series/BaseColumnSeries\";\r\nimport { MultiDisposer } from \"../../../core/util/Disposer\";\r\n\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IIndicatorEditableSetting {\r\n\r\n\t/**\r\n\t * Setting key.\r\n\t */\r\n\tkey: string;\r\n\r\n\t/**\r\n\t * Name of the setting (displayed in edit modal).\r\n\t *\r\n\t * Settings with the same name will be grouped in modal.\r\n\t */\r\n\tname: string;\r\n\r\n\t/**\r\n\t * Type of the control to show for editing the setting in modal.\r\n\t */\r\n\ttype: \"color\" | \"number\" | \"dropdown\" | \"checkbox\" | \"text\";\r\n\r\n\t/**\r\n\t * Minimum numeric value allowable in this field.\r\n\t *\r\n\t * @since 5.8.1\r\n\t */\r\n\tminValue?: number;\r\n\r\n\t/**\r\n\t * If `type: \"dropdown\"`, `options` should contain a list of items it.\r\n\t */\r\n\toptions?: Array<string | {\r\n\t\tvalue: number | string,\r\n\t\ttext: string,\r\n\t\textTarget?: string,\r\n\t\textTargetValue?: number | string,\r\n\t\textTargetMinValue?: number\r\n\t}>;\r\n\r\n}\r\n\r\nexport interface IIndicatorSettings extends IContainerSettings {\r\n\r\n\t/**\r\n\t * An instance of target [[StockChart]].\r\n\t */\r\n\tstockChart: StockChart;\r\n\r\n\t/**\r\n\t * A main series indicator will be based on.\r\n\t */\r\n\tstockSeries: XYSeries;\r\n\r\n\t/**\r\n\t * A volume series indicator will be based on, if it reaquires one.\r\n\t */\r\n\tvolumeSeries?: XYSeries;\r\n\r\n\t/**\r\n\t * If set to a reference to [[StockLegend]], indicator will add itself into\r\n\t * the legend.\r\n\t */\r\n\tlegend?: StockLegend;\r\n\r\n\t/**\r\n\t * Period.\r\n\t */\r\n\tperiod?: number;\r\n\r\n\t/**\r\n\t * A value field to use.\r\n\t */\r\n\tfield?: \"open\" | \"close\" | \"low\" | \"high\" | \"hl/2\" | \"hlc/3\" | \"hlcc/4\" | \"ohlc/4\";\r\n\r\n\t/**\r\n\t * Indicator name, e.g. \"Moving Average\".\r\n\t */\r\n\tname?: string;\r\n\r\n\t/**\r\n\t * Short name for the indicator, e.g. \"MA\" (for \"Moving Average\").\r\n\t *\r\n\t * Mainly used for the legend.\r\n\t */\r\n\tshortName?: string;\r\n\r\n\t/**\r\n\t * A color to use for the indicator series.\r\n\t */\r\n\tseriesColor?: Color;\r\n\r\n\t/**\r\n\t * Should indicator settings modal be openend automatically when indicator\r\n\t * is added to a chart via [[IndicatorControl]].\r\n\t * \r\n\t * @default true\r\n\t * @since 5.10.6\r\n\t */\r\n\tautoOpenSettings?: boolean;\r\n\r\n}\r\n\r\nexport interface IIndicatorPrivate extends IContainerPrivate {\r\n}\r\n\r\nexport interface IIndicatorEvents extends IContainerEvents {\r\n}\r\n\r\n/**\r\n * Base class for [[StockChart]] indicators.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/indicators/} for more info\r\n */\r\nexport abstract class Indicator extends Container {\r\n\tpublic static className: string = \"Indicator\";\r\n\tpublic static classNames: Array<string> = Container.classNames.concat([Indicator.className]);\r\n\r\n\tdeclare public _settings: IIndicatorSettings;\r\n\tdeclare public _privateSettings: IIndicatorPrivate;\r\n\tdeclare public _events: IIndicatorEvents;\r\n\r\n\tpublic _editableSettings: IIndicatorEditableSetting[] = [];\r\n\r\n\tpublic series!: XYSeries;\r\n\r\n\tprotected _dataDirty = false;\r\n\r\n\tprotected _sDP?: MultiDisposer;\r\n\tprotected _vDP?: MultiDisposer;\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tif (this.isDirty(\"stockSeries\") || this.isDirty(\"volumeSeries\")) {\r\n\t\t\tthis.markDataDirty();\r\n\r\n\t\t\tconst stockSeries = this.get(\"stockSeries\");\r\n\t\t\tconst previousS = this._prevSettings.stockSeries;\r\n\t\t\tif (previousS && this._sDP) {\r\n\t\t\t\tthis._sDP.dispose();\r\n\t\t\t}\r\n\t\t\tif (stockSeries) {\r\n\t\t\t\tthis._sDP = new MultiDisposer([\r\n\t\t\t\t\tstockSeries.events.on(\"datavalidated\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tstockSeries.events.on(\"datasetchanged\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\r\n\t\t\t\t\t})\r\n\t\t\t\t])\r\n\t\t\t}\r\n\r\n\t\t\tconst previousV = this._prevSettings.volumeSeries;\r\n\t\t\tif (previousV && this._vDP) {\r\n\t\t\t\tthis._vDP.dispose();\r\n\t\t\t}\r\n\t\t\tconst volumeSeries = this.get(\"volumeSeries\");\r\n\t\t\tif (volumeSeries) {\r\n\t\t\t\tthis._vDP = new MultiDisposer([\r\n\t\t\t\t\tvolumeSeries.events.on(\"datavalidated\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tvolumeSeries.events.on(\"datasetchanged\", () => {\r\n\t\t\t\t\t\tthis._markDataDirty();\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\tif (this.isDirty(\"field\")) {\r\n\t\t\tif (this.get(\"field\")) {\r\n\t\t\t\tthis.markDataDirty();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"period\")) {\r\n\t\t\tthis.markDataDirty();\r\n\t\t\tthis.setCustomData(\"period\", this.get(\"period\"));\r\n\t\t}\r\n\r\n\r\n\t\tif (this._dataDirty) {\r\n\t\t\tthis.prepareData();\r\n\t\t\tthis._dataDirty = false;\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _markDataDirty() {\r\n\t\tthis._dataDirty = true;\r\n\t\tthis.markDirty();\r\n\t}\r\n\r\n\tpublic markDataDirty() {\r\n\t\tthis._root.events.once(\"frameended\", () => {\r\n\t\t\tthis._markDataDirty();\r\n\t\t})\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tif (this.isDirty(\"seriesColor\")) {\r\n\t\t\tthis._updateSeriesColor(this.series, this.get(\"seriesColor\"), \"seriesColor\");\r\n\t\t}\r\n\r\n\t\tthis.setCustomData(\"period\", this.get(\"period\"));\r\n\t\tthis.setCustomData(\"field\", this.get(\"field\"));\r\n\t\tthis.setCustomData(\"name\", this.get(\"name\"));\r\n\t\tthis.setCustomData(\"shortName\", this.get(\"shortName\"));\r\n\t}\r\n\r\n\tprotected _dispose() {\r\n\t\tsuper._dispose();\r\n\r\n\t\tif (this._sDP) {\r\n\t\t\tthis._sDP.dispose();\r\n\t\t}\r\n\t\tif (this._vDP) {\r\n\t\t\tthis._vDP.dispose();\r\n\t\t}\r\n\r\n\t\tconst series = this.series;\r\n\t\tif (series) {\r\n\t\t\tseries.dispose();\r\n\r\n\t\t\tconst yAxis = series.get(\"yAxis\");\r\n\t\t\tif (yAxis) {\r\n\t\t\t\tyAxis.markDirtySelectionExtremes();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\t\tif (stockChart) {\r\n\t\t\tconst legend = this.get(\"legend\");\r\n\t\t\tif (legend) {\r\n\t\t\t\tconst legendDataItem = series.get(\"legendDataItem\");\r\n\t\t\t\tif (legendDataItem) {\r\n\t\t\t\t\tlegend.disposeDataItem(legendDataItem as any);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tstockChart.indicators.removeValue(this);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async hide(duration?: number): Promise<any> {\r\n\t\treturn Promise.all([\r\n\t\t\tsuper.hide(duration),\r\n\t\t\tthis.series.hide(duration)\r\n\t\t]);\r\n\t}\r\n\r\n\tpublic async show(duration?: number): Promise<any> {\r\n\t\treturn Promise.all([\r\n\t\t\tsuper.show(duration),\r\n\t\t\tthis.series.show(duration)\r\n\t\t]);\r\n\t}\r\n\r\n\tprotected _handleLegend(series: XYSeries) {\r\n\t\tconst legend = this.get(\"legend\");\r\n\t\tif (legend) {\r\n\t\t\tlegend.data.push(series);\r\n\r\n\t\t\tconst legendDataItem = legend.dataItems[legend.dataItems.length - 1];\r\n\t\t\tlegendDataItem.get(\"marker\").set(\"forceHidden\", true);\r\n\r\n\t\t\tconst closeButton = legendDataItem.get(\"closeButton\");\r\n\t\t\tcloseButton.set(\"forceHidden\", false);\r\n\t\t\tcloseButton.events.on(\"click\", () => {\r\n\t\t\t\tthis.dispose();\r\n\t\t\t})\r\n\r\n\t\t\tconst settingsButton = legendDataItem.get(\"settingsButton\");\r\n\t\t\tsettingsButton.setPrivate(\"customData\", this);\r\n\r\n\t\t\tconst editableSettings = this._editableSettings;\r\n\t\t\tif (!editableSettings || editableSettings.length == 0) {\r\n\t\t\t\tsettingsButton.set(\"forceHidden\", true);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateSeriesColor(series?: XYSeries, color?: Color, contextName?: string) {\r\n\t\tif (series) {\r\n\t\t\tseries.set(\"stroke\", color);\r\n\t\t\tseries.set(\"fill\", color);\r\n\t\t\tif (series instanceof LineSeries) {\r\n\t\t\t\tseries.strokes.template.set(\"stroke\", color);\r\n\t\t\t\tseries.fills.template.set(\"fill\", color);\r\n\t\t\t}\r\n\r\n\t\t\tif (series instanceof BaseColumnSeries) {\r\n\t\t\t\tseries.columns.template.setAll({ stroke: color, fill: color });\r\n\t\t\t}\r\n\r\n\t\t\tif (contextName && color) {\r\n\t\t\t\tthis.setCustomData(contextName, color.toCSSHex());\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tpublic setCustomData(name: string, value?: any) {\r\n\t\tconst customData = this.series.getPrivate(\"customData\");\r\n\t\tif (customData) {\r\n\t\t\tcustomData[name] = value;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic prepareData() {\r\n\r\n\t}\r\n\r\n\tprotected _getValue(dataItem: DataItem<IXYSeriesDataItem>): number | undefined {\r\n\t\tconst field = this.get(\"field\");\r\n\r\n\t\tlet o = dataItem.get(\"openValueY\") as number;\r\n\t\tlet h = dataItem.get(\"highValueY\") as number;\r\n\t\tlet l = dataItem.get(\"lowValueY\") as number;\r\n\t\tlet c = dataItem.get(\"valueY\") as number;\r\n\r\n\t\tswitch (field) {\r\n\t\t\tcase \"close\":\r\n\t\t\t\treturn c;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"open\":\r\n\t\t\t\treturn o;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"high\":\r\n\t\t\t\treturn h;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"low\":\r\n\t\t\t\treturn l;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hl/2\":\r\n\t\t\t\treturn (h + l) / 2;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hlc/3\":\r\n\t\t\t\treturn (h + l + c) / 3;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"hlcc/4\":\r\n\t\t\t\treturn (h + l + c + c) / 4;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"ohlc/4\":\r\n\t\t\t\treturn (o + h + l + c) / 4;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tprotected _getDataArray(dataItems: Array<DataItem<any>>): Array<any> {\r\n\t\tconst data: Array<any> = [];\r\n\t\t$array.each(dataItems, (dataItem) => {\r\n\t\t\tdata.push({ valueX: dataItem.get(\"valueX\"), value_y: this._getValue(dataItem) });\r\n\t\t})\r\n\t\treturn data;\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tprotected _getTypicalPrice(dataItems: Array<DataItem<any>>): Array<any> {\r\n\t\tconst data: Array<any> = [];\r\n\t\t$array.each(dataItems, (dataItem) => {\r\n\t\t\tdata.push({ valueX: dataItem.get(\"valueX\"), value_y: (dataItem.get(\"valueY\", 0) + dataItem.get(\"highValueY\", 0) + dataItem.get(\"lowValueY\", 0)) / 2 });\r\n\t\t})\r\n\t\treturn data;\r\n\t}\r\n\r\n\tprotected _sma(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet index = 0;\r\n\t\tlet ma = 0;\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tma += value / period;\r\n\r\n\t\t\t\tif (i >= period) {\r\n\t\t\t\t\tif (i > period) {\r\n\t\t\t\t\t\tlet valueToRemove = data[index - period][field];\r\n\t\t\t\t\t\tif (valueToRemove != null) {\r\n\t\t\t\t\t\t\tma -= valueToRemove / period;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tindex++;\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _wma(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet index = 0;\r\n\t\tlet ma = 0;\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i >= period) {\r\n\t\t\t\t\tlet sum = 0;\r\n\t\t\t\t\tlet m = 0;\r\n\t\t\t\t\tlet count = 0;\r\n\t\t\t\t\tlet k = 0\r\n\t\t\t\t\tfor (let n = index; n >= 0; n--) {\r\n\t\t\t\t\t\tlet pValue = data[n][field];\r\n\r\n\t\t\t\t\t\tif (pValue != null) {\r\n\t\t\t\t\t\t\tsum += pValue * (period - m);\r\n\t\t\t\t\t\t\tcount += (period - m);\r\n\t\t\t\t\t\t\tk++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tm++;\r\n\r\n\t\t\t\t\t\tif (k == period) {\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tma = sum / count;\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tindex++;\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _ema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ma = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet value = dataItem[field];\r\n\t\t\tif (value != null) {\r\n\t\t\t\ti++;\r\n\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tma = value * multiplier + ma * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tma += value / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = ma;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _dema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ema2 = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\r\n\t\tthis._ema(data, period, field, \"ema\");\r\n\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet ema = dataItem.ema;\r\n\t\t\tif (ema != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tema2 = ema * multiplier + ema2 * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = 2 * ema - ema2;\r\n\t\t\t\t\tdataItem.ema2 = ema2;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tema2 += ema / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = 2 * ema - ema2;\r\n\t\t\t\t\t\tdataItem.ema2 = ema2;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _tema(data: Array<any>, period: number, field: string, toField: string) {\r\n\t\tlet i = 0;\r\n\t\tlet ema3 = 0;\r\n\t\tlet multiplier = 2 / (1 + period);\r\n\r\n\t\tthis._dema(data, period, field, \"dema\");\r\n\r\n\t\t$array.each(data, (dataItem) => {\r\n\t\t\tlet ema = dataItem.ema;\r\n\t\t\tlet ema2 = dataItem.ema2;\r\n\r\n\t\t\tif (ema2 != null) {\r\n\t\t\t\ti++;\r\n\t\t\t\tif (i > period) {\r\n\t\t\t\t\tema3 = ema2 * multiplier + ema3 * (1 - multiplier);\r\n\t\t\t\t\tdataItem[toField] = 3 * ema - 3 * ema2 + ema3;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tema3 += ema2 / period;\r\n\t\t\t\t\tif (i == period) {\r\n\t\t\t\t\t\tdataItem[toField] = 3 * ema - 3 * ema2 + ema3;\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}"]}
@@ -248,7 +248,7 @@ export class DrawingControl extends StockControl {
248
248
  */
249
249
  const strokeDasharrays = [];
250
250
  let currentStrokeDasharray;
251
- const strokeDasharray = this.get("strokeDasharray", []);
251
+ const strokeDasharray = this.get("strokeDasharray", undefined);
252
252
  $array.each(this.get("strokeDasharrays", []), (dasharray) => {
253
253
  const icon = StockIcons.getIcon("Dash");
254
254
  const id = JSON.stringify(dasharray);