@amcharts/amcharts5 5.11.1 → 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 (208) hide show
  1. package/.internal/charts/funnel/FunnelSlice.d.ts +24 -0
  2. package/.internal/charts/funnel/FunnelSlice.d.ts.map +1 -1
  3. package/.internal/charts/funnel/FunnelSlice.js +70 -11
  4. package/.internal/charts/funnel/FunnelSlice.js.map +1 -1
  5. package/.internal/charts/radar/RadarChart.d.ts +1 -0
  6. package/.internal/charts/radar/RadarChart.d.ts.map +1 -1
  7. package/.internal/charts/radar/RadarChart.js +4 -0
  8. package/.internal/charts/radar/RadarChart.js.map +1 -1
  9. package/.internal/charts/stock/SettingsModal.d.ts +8 -0
  10. package/.internal/charts/stock/SettingsModal.d.ts.map +1 -1
  11. package/.internal/charts/stock/SettingsModal.js +19 -10
  12. package/.internal/charts/stock/SettingsModal.js.map +1 -1
  13. package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts.map +1 -1
  14. package/.internal/charts/stock/drawing/HorizontalLineSeries.js +1 -1
  15. package/.internal/charts/stock/drawing/HorizontalLineSeries.js.map +1 -1
  16. package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts.map +1 -1
  17. package/.internal/charts/stock/drawing/HorizontalRaySeries.js +1 -1
  18. package/.internal/charts/stock/drawing/HorizontalRaySeries.js.map +1 -1
  19. package/.internal/charts/stock/indicators/Indicator.d.ts +1 -1
  20. package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -1
  21. package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
  22. package/.internal/charts/stock/toolbar/DrawingControl.js +1 -1
  23. package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
  24. package/.internal/charts/xy/axes/Axis.d.ts +1 -0
  25. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  26. package/.internal/charts/xy/axes/Axis.js +2 -0
  27. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  28. package/.internal/charts/xy/axes/DateAxis.d.ts +1 -0
  29. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  30. package/.internal/charts/xy/axes/DateAxis.js +5 -0
  31. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  32. package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
  33. package/.internal/charts/xy/series/BaseColumnSeries.js +3 -1
  34. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  35. package/.internal/charts/xy/series/XYSeries.d.ts +1 -0
  36. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  37. package/.internal/charts/xy/series/XYSeries.js +10 -0
  38. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  39. package/.internal/core/Registry.js +1 -1
  40. package/.internal/core/Registry.js.map +1 -1
  41. package/.internal/core/Root.d.ts.map +1 -1
  42. package/.internal/core/Root.js +57 -4
  43. package/.internal/core/Root.js.map +1 -1
  44. package/.internal/core/render/Container.d.ts +10 -0
  45. package/.internal/core/render/Container.d.ts.map +1 -1
  46. package/.internal/core/render/Container.js.map +1 -1
  47. package/.internal/core/render/SerialChart.d.ts.map +1 -1
  48. package/.internal/core/render/SerialChart.js +1 -0
  49. package/.internal/core/render/SerialChart.js.map +1 -1
  50. package/.internal/core/render/Series.d.ts +1 -0
  51. package/.internal/core/render/Series.d.ts.map +1 -1
  52. package/.internal/core/render/Series.js +2 -0
  53. package/.internal/core/render/Series.js.map +1 -1
  54. package/.internal/core/render/Sprite.d.ts +124 -2
  55. package/.internal/core/render/Sprite.d.ts.map +1 -1
  56. package/.internal/core/render/Sprite.js +10 -0
  57. package/.internal/core/render/Sprite.js.map +1 -1
  58. package/.internal/core/util/Accessibility.d.ts +2 -115
  59. package/.internal/core/util/Accessibility.d.ts.map +1 -1
  60. package/.internal/core/util/Accessibility.js.map +1 -1
  61. package/.internal/core/util/Type.js +1 -1
  62. package/.internal/core/util/Type.js.map +1 -1
  63. package/CHANGELOG.md +29 -0
  64. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  65. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  66. package/examples/javascript/flow-chord/package.json +1 -1
  67. package/examples/javascript/flow-chord-directed/package.json +1 -1
  68. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  69. package/examples/javascript/flow-sankey/package.json +1 -1
  70. package/examples/javascript/gauge/package.json +1 -1
  71. package/examples/javascript/gauge-bands/package.json +1 -1
  72. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  73. package/examples/javascript/hierarchy-pack/package.json +1 -1
  74. package/examples/javascript/hierarchy-partition/package.json +1 -1
  75. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  76. package/examples/javascript/hierarchy-tree/package.json +1 -1
  77. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  78. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  79. package/examples/javascript/jest/package.json +1 -1
  80. package/examples/javascript/json-pie/package.json +1 -1
  81. package/examples/javascript/json-xy/package.json +1 -1
  82. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  83. package/examples/javascript/map-clustered-points/package.json +1 -1
  84. package/examples/javascript/map-day-and-night/package.json +1 -1
  85. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  86. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  87. package/examples/javascript/map-with-bubbles/package.json +1 -1
  88. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  89. package/examples/javascript/misc-40-charts/package.json +1 -1
  90. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  91. package/examples/javascript/pie-chart/package.json +1 -1
  92. package/examples/javascript/pie-donut-chart/package.json +1 -1
  93. package/examples/javascript/pie-variable-radius/package.json +1 -1
  94. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  95. package/examples/javascript/radar-heat-map/package.json +1 -1
  96. package/examples/javascript/radar-line/package.json +1 -1
  97. package/examples/javascript/radar-time-line/package.json +1 -1
  98. package/examples/javascript/sliced-funnel/package.json +1 -1
  99. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  100. package/examples/javascript/sliced-pyramid/package.json +1 -1
  101. package/examples/javascript/stock-chart/package.json +1 -1
  102. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  103. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  104. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  105. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  106. package/examples/javascript/stock-chart-live/package.json +1 -1
  107. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  108. package/examples/javascript/venn-diagram/package.json +1 -1
  109. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  110. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  111. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  112. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  113. package/examples/javascript/xy-bubble/package.json +1 -1
  114. package/examples/javascript/xy-candlestick/package.json +1 -1
  115. package/examples/javascript/xy-clustered-column/package.json +1 -1
  116. package/examples/javascript/xy-column/package.json +1 -1
  117. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  118. package/examples/javascript/xy-data-grouping/package.json +1 -1
  119. package/examples/javascript/xy-draggable-range/package.json +1 -1
  120. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  121. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  122. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  123. package/examples/javascript/xy-line/package.json +1 -1
  124. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  125. package/examples/javascript/xy-live-data/package.json +1 -1
  126. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  127. package/examples/javascript/xy-ohlc/package.json +1 -1
  128. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  129. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  130. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  131. package/examples/javascript/xy-stacked-column/package.json +1 -1
  132. package/examples/javascript/xy-stacked-step/package.json +1 -1
  133. package/examples/javascript/xy-stock/package.json +1 -1
  134. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  135. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  136. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  137. package/examples/typescript/flow-chord/package.json +1 -1
  138. package/examples/typescript/flow-chord-directed/package.json +1 -1
  139. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  140. package/examples/typescript/flow-sankey/package.json +1 -1
  141. package/examples/typescript/gauge/package.json +1 -1
  142. package/examples/typescript/gauge-bands/package.json +1 -1
  143. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  144. package/examples/typescript/hierarchy-pack/package.json +1 -1
  145. package/examples/typescript/hierarchy-partition/package.json +1 -1
  146. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  147. package/examples/typescript/hierarchy-tree/package.json +1 -1
  148. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  149. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  150. package/examples/typescript/jest/package.json +1 -1
  151. package/examples/typescript/json-pie/package.json +1 -1
  152. package/examples/typescript/json-xy/package.json +1 -1
  153. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  154. package/examples/typescript/map-clustered-points/package.json +1 -1
  155. package/examples/typescript/map-day-and-night/package.json +1 -1
  156. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  157. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  158. package/examples/typescript/map-with-bubbles/package.json +1 -1
  159. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  160. package/examples/typescript/misc-40-charts/package.json +1 -1
  161. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  162. package/examples/typescript/pie-chart/package.json +1 -1
  163. package/examples/typescript/pie-donut-chart/package.json +1 -1
  164. package/examples/typescript/pie-variable-radius/package.json +1 -1
  165. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  166. package/examples/typescript/radar-heat-map/package.json +1 -1
  167. package/examples/typescript/radar-line/package.json +1 -1
  168. package/examples/typescript/radar-time-line/package.json +1 -1
  169. package/examples/typescript/sliced-funnel/package.json +1 -1
  170. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  171. package/examples/typescript/sliced-pyramid/package.json +1 -1
  172. package/examples/typescript/stock-chart/package.json +1 -1
  173. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  174. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  175. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  176. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  177. package/examples/typescript/stock-chart-live/package.json +1 -1
  178. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  179. package/examples/typescript/venn-diagram/package.json +1 -1
  180. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  181. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  182. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  183. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  184. package/examples/typescript/xy-bubble/package.json +1 -1
  185. package/examples/typescript/xy-candlestick/package.json +1 -1
  186. package/examples/typescript/xy-clustered-column/package.json +1 -1
  187. package/examples/typescript/xy-column/package.json +1 -1
  188. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  189. package/examples/typescript/xy-data-grouping/package.json +1 -1
  190. package/examples/typescript/xy-draggable-range/package.json +1 -1
  191. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  192. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  193. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  194. package/examples/typescript/xy-line/package.json +1 -1
  195. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  196. package/examples/typescript/xy-live-data/package.json +1 -1
  197. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  198. package/examples/typescript/xy-ohlc/package.json +1 -1
  199. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  200. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  201. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  202. package/examples/typescript/xy-stacked-column/package.json +1 -1
  203. package/examples/typescript/xy-stacked-step/package.json +1 -1
  204. package/examples/typescript/xy-stock/package.json +1 -1
  205. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  206. package/locales/nl_NL.js +1 -1
  207. package/locales/nl_NL.js.map +1 -1
  208. package/package.json +1 -1
@@ -19,6 +19,30 @@ export interface IFunnelSliceSettings extends IGraphicsSettings {
19
19
  * Any non-zero value will make sides of the slide curved.
20
20
  */
21
21
  expandDistance?: number;
22
+ /**
23
+ * Radius of the top-left corner in pixels.
24
+ *
25
+ * @since 5.11.2
26
+ */
27
+ cornerRadiusTL?: number;
28
+ /**
29
+ * Radius of the top-right corner in pixels.
30
+ *
31
+ * @since 5.11.2
32
+ */
33
+ cornerRadiusTR?: number;
34
+ /**
35
+ * Radius of the botttom-right corner in pixels.
36
+ *
37
+ * @since 5.11.2
38
+ */
39
+ cornerRadiusBR?: number;
40
+ /**
41
+ * Radius of the bottom-left corner in pixels.
42
+ *
43
+ * @since 5.11.2
44
+ */
45
+ cornerRadiusBL?: number;
22
46
  }
23
47
  export interface IFunnelSlicePrivate extends IGraphicsPrivate {
24
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FunnelSlice.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/funnel/FunnelSlice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAE9D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAExC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAExB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;CAC5D;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,QAAQ;IACzB,SAAS,EAAE,oBAAoB,CAAC;IAChC,gBAAgB,EAAE,mBAAmB,CAAC;IAErD,OAAc,SAAS,EAAE,MAAM,CAAiB;IAChD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuD;IAC9F,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAS;IAE5C,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAE3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAE3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAE3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAE3B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAK;IAC5B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAK;IAC5B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAK;IAC5B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAK;IAE5B,SAAS,CAAC,SAAS;IAWZ,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAkCtD,QAAQ;CAoDf"}
1
+ {"version":3,"file":"FunnelSlice.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/funnel/FunnelSlice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIrD,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAE9D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAExC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAExB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;CAC5D;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,QAAQ;IACzB,SAAS,EAAE,oBAAoB,CAAC;IAChC,gBAAgB,EAAE,mBAAmB,CAAC;IAErD,OAAc,SAAS,EAAE,MAAM,CAAiB;IAChD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuD;IAC9F,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAS;IAE5C,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAE3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAE3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAE3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAK;IAE3B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAK;IAC5B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAK;IAC5B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAK;IAC5B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAK;IAE5B,SAAS,CAAC,SAAS;IAqFZ,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAkCtD,QAAQ;CAqDf"}
@@ -1,4 +1,6 @@
1
1
  import { Graphics } from "../../core/render/Graphics";
2
+ import * as $math from "../../core/util/Math";
3
+ import * as $utils from "../../core/util/Utils";
2
4
  /**
3
5
  * Draws a slice for [[FunnelSeries]].
4
6
  */
@@ -87,11 +89,68 @@ export class FunnelSlice extends Graphics {
87
89
  _afterNew() {
88
90
  super._afterNew();
89
91
  this.set("draw", (display) => {
90
- display.moveTo(this._tlx, this._tly);
91
- display.lineTo(this._trx, this._try);
92
- display.quadraticCurveTo(this._cprx, this._cpry, this._brx, this._bry);
93
- display.lineTo(this._blx, this._bly);
94
- display.quadraticCurveTo(this._cplx, this._cply, this._tlx, this._tly);
92
+ const w = this.width();
93
+ const h = this.height();
94
+ let minSide = Math.min(w, h) / 2;
95
+ let crtl = $utils.relativeToValue(this.get("cornerRadiusTL", 0), minSide);
96
+ let crtr = $utils.relativeToValue(this.get("cornerRadiusTR", 0), minSide);
97
+ let crbr = $utils.relativeToValue(this.get("cornerRadiusBR", 0), minSide);
98
+ let crbl = $utils.relativeToValue(this.get("cornerRadiusBL", 0), minSide);
99
+ let trX = this._trx;
100
+ let trY = this._try;
101
+ let tlX = this._tlx;
102
+ let tlY = this._tly;
103
+ let brX = this._brx;
104
+ let brY = this._bry;
105
+ let blX = this._blx;
106
+ let blY = this._bly;
107
+ if (trY == tlY) {
108
+ trY = trY - 0.01;
109
+ }
110
+ if (brY == blY) {
111
+ brY = brY - 0.01;
112
+ }
113
+ let tlAngle = $math.getAngle({ x: tlX, y: tlY }, { x: trX, y: trY });
114
+ let trAngle = $math.getAngle({ x: trX, y: trY }, { x: brX, y: brY });
115
+ let brAngle = $math.getAngle({ x: brX, y: brY }, { x: blX, y: blY });
116
+ let blAngle = $math.getAngle({ x: blX, y: blY }, { x: tlX, y: tlY });
117
+ if (this.get("orientation") == "horizontal") {
118
+ crtl = Math.min(crtl, Math.abs(tlY - trY) / 2);
119
+ crtr = Math.min(crtr, Math.abs(tlY - trY) / 2);
120
+ crbr = Math.min(crbr, Math.abs(blY - brY) / 2);
121
+ crbl = Math.min(crbl, Math.abs(blY - brY) / 2);
122
+ }
123
+ else {
124
+ crtl = Math.min(crtl, Math.abs(tlX - trX) / 2);
125
+ crtr = Math.min(crtr, Math.abs(tlX - trX) / 2);
126
+ crbr = Math.min(crbr, Math.abs(blX - brX) / 2);
127
+ crbl = Math.min(crbl, Math.abs(blX - brX) / 2);
128
+ }
129
+ const tlX1 = tlX - crtl * $math.tan((tlAngle - blAngle) / 2) * $math.cos((blAngle));
130
+ const tlY1 = tlY - crtl * $math.tan((tlAngle - blAngle) / 2) * $math.sin((blAngle));
131
+ const tlX2 = tlX - crtl * $math.tan((blAngle - tlAngle) / 2) * $math.cos((tlAngle));
132
+ const tlY2 = tlY - crtl * $math.tan((blAngle - tlAngle) / 2) * $math.sin((tlAngle));
133
+ const trX1 = trX - crtr * $math.tan((trAngle - tlAngle) / 2) * $math.cos((tlAngle));
134
+ const trY1 = trY - crtr * $math.tan((trAngle - tlAngle) / 2) * $math.sin((tlAngle));
135
+ const trX2 = trX - crtr * $math.tan((tlAngle - trAngle) / 2) * $math.cos((trAngle));
136
+ const trY2 = trY - crtr * $math.tan((tlAngle - trAngle) / 2) * $math.sin((trAngle));
137
+ const brX1 = brX - crbr * $math.tan((brAngle - trAngle) / 2) * $math.cos((trAngle));
138
+ const brY1 = brY - crbr * $math.tan((brAngle - trAngle) / 2) * $math.sin((trAngle));
139
+ const brX2 = brX - crbr * $math.tan((trAngle - brAngle) / 2) * $math.cos((brAngle));
140
+ const brY2 = brY - crbr * $math.tan((trAngle - brAngle) / 2) * $math.sin((brAngle));
141
+ const blX1 = blX - crbl * $math.tan((blAngle - brAngle) / 2) * $math.cos((brAngle));
142
+ const blY1 = blY - crbl * $math.tan((blAngle - brAngle) / 2) * $math.sin((brAngle));
143
+ const blX2 = blX - crbl * $math.tan((brAngle - blAngle) / 2) * $math.cos((blAngle));
144
+ const blY2 = blY - crbl * $math.tan((brAngle - blAngle) / 2) * $math.sin((blAngle));
145
+ display.moveTo(tlX2, tlY2);
146
+ display.lineTo(trX1, trY1);
147
+ display.arcTo(trX, trY, trX2, trY2, crtr);
148
+ display.quadraticCurveTo(this._cprx, this._cpry, brX1, brY1);
149
+ display.arcTo(brX, brY, brX2, brY2, crbr);
150
+ display.lineTo(blX1, blY1);
151
+ display.arcTo(blX, blY, blX2, blY2, crbl);
152
+ display.quadraticCurveTo(this._cplx, this._cply, tlX1, tlY1);
153
+ display.arcTo(tlX, tlY, tlX2, tlY2, crtl);
95
154
  });
96
155
  }
97
156
  getPoint(locationX, locationY) {
@@ -141,17 +200,17 @@ export class FunnelSlice extends Graphics {
141
200
  this._cply = this._tly + 0.5 * h;
142
201
  }
143
202
  else {
144
- this._tly = -tw / 2;
203
+ this._tly = tw / 2;
145
204
  this._tlx = 0;
146
- this._try = tw / 2;
205
+ this._try = -tw / 2;
147
206
  this._trx = 0;
148
- this._bry = bw / 2;
207
+ this._bry = -bw / 2;
149
208
  this._brx = w;
150
- this._bly = -bw / 2;
209
+ this._bly = bw / 2;
151
210
  this._blx = w;
152
- this._cpry = this._try + (this._bry - this._try) / 2 + ed * w,
211
+ this._cpry = this._try + (this._bry - this._try) / 2 - ed * w,
153
212
  this._cprx = this._trx + 0.5 * w;
154
- this._cply = this._tly + (this._bly - this._tly) / 2 - ed * w;
213
+ this._cply = this._tly + (this._bly - this._tly) / 2 + ed * w;
155
214
  this._cplx = this._tlx + 0.5 * w;
156
215
  }
157
216
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FunnelSlice.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/funnel/FunnelSlice.ts"],"names":[],"mappings":"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","sourcesContent":["import { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"../../core/render/Graphics\";\nimport type { IPoint } from \"../../core/util/IPoint\";\n\nexport interface IFunnelSliceSettings extends IGraphicsSettings {\n\n\t/**\n\t * Top width in pixels.\n\t */\n\ttopWidth?: number;\n\n\t/**\n\t * Bottom width in pixels.\n\t */\n\tbottomWidth?: number;\n\n\t/**\n\t * Orientation.\n\t */\n\torientation?: \"vertical\" | \"horizontal\";\n\n\t/**\n\t * A distance in pixels the slice should \"puff up\".\n\t *\n\t * Any non-zero value will make sides of the slide curved.\n\t */\n\texpandDistance?: number;\n\n}\n\nexport interface IFunnelSlicePrivate extends IGraphicsPrivate {\n}\n\n/**\n * Draws a slice for [[FunnelSeries]].\n */\nexport class FunnelSlice extends Graphics {\n\tdeclare public _settings: IFunnelSliceSettings;\n\tdeclare public _privateSettings: IFunnelSlicePrivate;\n\n\tpublic static className: string = \"FunnelSlice\";\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([FunnelSlice.className]);\n\tprotected _projectionDirty: boolean = false;\n\n\tprotected _tlx: number = 0;\n\tprotected _tly: number = 0;\n\n\tprotected _trx: number = 0;\n\tprotected _try: number = 0;\n\n\tprotected _blx: number = 0;\n\tprotected _bly: number = 0;\n\n\tprotected _brx: number = 0;\n\tprotected _bry: number = 0;\n\n\tprotected _cprx: number = 0;\n\tprotected _cplx: number = 0;\n\tprotected _cpry: number = 0;\n\tprotected _cply: number = 0;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.set(\"draw\", (display) => {\n\t\t\tdisplay.moveTo(this._tlx, this._tly);\n\t\t\tdisplay.lineTo(this._trx, this._try);\n\t\t\tdisplay.quadraticCurveTo(this._cprx, this._cpry, this._brx, this._bry);\n\t\t\tdisplay.lineTo(this._blx, this._bly);\n\t\t\tdisplay.quadraticCurveTo(this._cplx, this._cply, this._tlx, this._tly);\n\t\t})\n\t}\n\n\tpublic getPoint(locationX: number, locationY: number): IPoint {\n\t\tlet w = this.width();\n\t\tlet h = this.height();\n\n\t\tconst tw = this.get(\"topWidth\", 0);\n\t\tconst bw = this.get(\"bottomWidth\", 0);\n\n\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\tlet tlx = -tw / 2;\n\t\t\tlet trx = tw / 2;\n\n\t\t\tlet brx = bw / 2;\n\t\t\tlet blx = - bw / 2;\n\n\t\t\tlet mlx = tlx + (blx - tlx) * locationY;\n\t\t\tlet mrx = trx + (brx - trx) * locationY;\n\n\t\t\treturn { x: mlx + (mrx - mlx) * locationX, y: h * locationY };\n\t\t}\n\t\telse {\n\t\t\tlet tlx = -tw / 2;\n\t\t\tlet trx = tw / 2;\n\n\t\t\tlet brx = bw / 2;\n\t\t\tlet blx = - bw / 2;\n\n\t\t\tlet mlx = tlx + (blx - tlx) * locationX;\n\t\t\tlet mrx = trx + (brx - trx) * locationX;\n\n\t\t\treturn { x: w * locationX, y: mlx + (mrx - mlx) * locationY};\n\t\t}\n\n\t}\n\n\tpublic _changed() {\n\n\t\tif (this.isDirty(\"topWidth\") || this.isDirty(\"bottomWidth\") || this.isDirty(\"expandDistance\") || this.isDirty(\"orientation\") || this.isDirty(\"width\") || this.isDirty(\"height\")) {\n\t\t\tconst w = this.width();\n\t\t\tconst h = this.height();\n\t\t\tconst tw = this.get(\"topWidth\", 0);\n\t\t\tconst bw = this.get(\"bottomWidth\", 0);\n\t\t\tthis._clear = true;\n\n\t\t\tlet ed = this.get(\"expandDistance\", 0);\n\n\t\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\t\tthis._tlx = -tw / 2;\n\t\t\t\tthis._tly = 0;\n\n\t\t\t\tthis._trx = tw / 2;\n\t\t\t\tthis._try = 0;\n\n\t\t\t\tthis._brx = bw / 2;\n\t\t\t\tthis._bry = h;\n\n\t\t\t\tthis._blx = -bw / 2;\n\t\t\t\tthis._bly = h;\n\n\t\t\t\tthis._cprx = this._trx + (this._brx - this._trx) / 2 + ed * h,\n\t\t\t\tthis._cpry = this._try + 0.5 * h;\n\n\t\t\t\tthis._cplx = this._tlx + (this._blx - this._tlx) / 2 - ed * h;\n\t\t\t\tthis._cply = this._tly + 0.5 * h;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._tly = -tw / 2;\n\t\t\t\tthis._tlx = 0;\n\n\t\t\t\tthis._try = tw / 2;\n\t\t\t\tthis._trx = 0;\n\n\t\t\t\tthis._bry = bw / 2;\n\t\t\t\tthis._brx = w;\n\n\t\t\t\tthis._bly = -bw / 2;\n\t\t\t\tthis._blx = w;\n\n\t\t\t\tthis._cpry = this._try + (this._bry - this._try) / 2 + ed * w,\n\t\t\t\tthis._cprx = this._trx + 0.5 * w;\n\n\t\t\t\tthis._cply = this._tly + (this._bly - this._tly) / 2 - ed * w;\n\t\t\t\tthis._cplx = this._tlx + 0.5 * w;\n\t\t\t}\n\t\t}\n\t\tsuper._changed();\n\t}\n}\n"]}
1
+ {"version":3,"file":"FunnelSlice.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/funnel/FunnelSlice.ts"],"names":[],"mappings":"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AG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK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","sourcesContent":["import { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"../../core/render/Graphics\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IFunnelSliceSettings extends IGraphicsSettings {\n\n\t/**\n\t * Top width in pixels.\n\t */\n\ttopWidth?: number;\n\n\t/**\n\t * Bottom width in pixels.\n\t */\n\tbottomWidth?: number;\n\n\t/**\n\t * Orientation.\n\t */\n\torientation?: \"vertical\" | \"horizontal\";\n\n\t/**\n\t * A distance in pixels the slice should \"puff up\".\n\t *\n\t * Any non-zero value will make sides of the slide curved.\n\t */\n\texpandDistance?: number;\n\n\t/**\n\t * Radius of the top-left corner in pixels.\n\t *\n\t * @since 5.11.2\n\t */\n\tcornerRadiusTL?: number;\n\n\t/**\n\t * Radius of the top-right corner in pixels.\n\t * \n\t * @since 5.11.2\n\t */\n\tcornerRadiusTR?: number;\n\n\t/**\n\t * Radius of the botttom-right corner in pixels.\n\t * \n\t * @since 5.11.2\n\t */\n\tcornerRadiusBR?: number;\n\n\t/**\n\t * Radius of the bottom-left corner in pixels.\n\t * \n\t * @since 5.11.2\n\t */\n\tcornerRadiusBL?: number;\n\n}\n\nexport interface IFunnelSlicePrivate extends IGraphicsPrivate {\n}\n\n/**\n * Draws a slice for [[FunnelSeries]].\n */\nexport class FunnelSlice extends Graphics {\n\tdeclare public _settings: IFunnelSliceSettings;\n\tdeclare public _privateSettings: IFunnelSlicePrivate;\n\n\tpublic static className: string = \"FunnelSlice\";\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([FunnelSlice.className]);\n\tprotected _projectionDirty: boolean = false;\n\n\tprotected _tlx: number = 0;\n\tprotected _tly: number = 0;\n\n\tprotected _trx: number = 0;\n\tprotected _try: number = 0;\n\n\tprotected _blx: number = 0;\n\tprotected _bly: number = 0;\n\n\tprotected _brx: number = 0;\n\tprotected _bry: number = 0;\n\n\tprotected _cprx: number = 0;\n\tprotected _cplx: number = 0;\n\tprotected _cpry: number = 0;\n\tprotected _cply: number = 0;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.set(\"draw\", (display) => {\n\t\t\tconst w = this.width();\n\t\t\tconst h = this.height();\n\n\t\t\tlet minSide = Math.min(w, h) / 2;\n\n\t\t\tlet crtl = $utils.relativeToValue(this.get(\"cornerRadiusTL\", 0), minSide);\n\t\t\tlet crtr = $utils.relativeToValue(this.get(\"cornerRadiusTR\", 0), minSide);\n\t\t\tlet crbr = $utils.relativeToValue(this.get(\"cornerRadiusBR\", 0), minSide);\n\t\t\tlet crbl = $utils.relativeToValue(this.get(\"cornerRadiusBL\", 0), minSide);\n\n\t\t\tlet trX = this._trx;\n\t\t\tlet trY = this._try;\n\t\t\tlet tlX = this._tlx;\n\t\t\tlet tlY = this._tly;\n\t\t\tlet brX = this._brx;\n\t\t\tlet brY = this._bry;\n\t\t\tlet blX = this._blx;\n\t\t\tlet blY = this._bly;\n\n\t\t\tif (trY == tlY) {\n\t\t\t\ttrY = trY - 0.01;\n\t\t\t}\n\n\t\t\tif (brY == blY) {\n\t\t\t\tbrY = brY - 0.01;\n\t\t\t}\n\n\t\t\tlet tlAngle = $math.getAngle({ x: tlX, y: tlY }, { x: trX, y: trY });\n\t\t\tlet trAngle = $math.getAngle({ x: trX, y: trY }, { x: brX, y: brY });\n\t\t\tlet brAngle = $math.getAngle({ x: brX, y: brY }, { x: blX, y: blY });\n\t\t\tlet blAngle = $math.getAngle({ x: blX, y: blY }, { x: tlX, y: tlY });\n\n\t\t\tif (this.get(\"orientation\") == \"horizontal\") {\n\t\t\t\tcrtl = Math.min(crtl, Math.abs(tlY - trY) / 2);\n\t\t\t\tcrtr = Math.min(crtr, Math.abs(tlY - trY) / 2);\n\t\t\t\tcrbr = Math.min(crbr, Math.abs(blY - brY) / 2);\n\t\t\t\tcrbl = Math.min(crbl, Math.abs(blY - brY) / 2);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcrtl = Math.min(crtl, Math.abs(tlX - trX) / 2);\n\t\t\t\tcrtr = Math.min(crtr, Math.abs(tlX - trX) / 2);\n\t\t\t\tcrbr = Math.min(crbr, Math.abs(blX - brX) / 2);\n\t\t\t\tcrbl = Math.min(crbl, Math.abs(blX - brX) / 2);\n\t\t\t}\n\n\t\t\tconst tlX1 = tlX - crtl * $math.tan((tlAngle - blAngle) / 2) * $math.cos((blAngle));\n\t\t\tconst tlY1 = tlY - crtl * $math.tan((tlAngle - blAngle) / 2) * $math.sin((blAngle));\n\n\t\t\tconst tlX2 = tlX - crtl * $math.tan((blAngle - tlAngle) / 2) * $math.cos((tlAngle));\n\t\t\tconst tlY2 = tlY - crtl * $math.tan((blAngle - tlAngle) / 2) * $math.sin((tlAngle));\n\n\t\t\tconst trX1 = trX - crtr * $math.tan((trAngle - tlAngle) / 2) * $math.cos((tlAngle));\n\t\t\tconst trY1 = trY - crtr * $math.tan((trAngle - tlAngle) / 2) * $math.sin((tlAngle));\n\n\t\t\tconst trX2 = trX - crtr * $math.tan((tlAngle - trAngle) / 2) * $math.cos((trAngle));\n\t\t\tconst trY2 = trY - crtr * $math.tan((tlAngle - trAngle) / 2) * $math.sin((trAngle));\n\n\t\t\tconst brX1 = brX - crbr * $math.tan((brAngle - trAngle) / 2) * $math.cos((trAngle));\n\t\t\tconst brY1 = brY - crbr * $math.tan((brAngle - trAngle) / 2) * $math.sin((trAngle));\n\n\t\t\tconst brX2 = brX - crbr * $math.tan((trAngle - brAngle) / 2) * $math.cos((brAngle));\n\t\t\tconst brY2 = brY - crbr * $math.tan((trAngle - brAngle) / 2) * $math.sin((brAngle));\n\n\t\t\tconst blX1 = blX - crbl * $math.tan((blAngle - brAngle) / 2) * $math.cos((brAngle));\n\t\t\tconst blY1 = blY - crbl * $math.tan((blAngle - brAngle) / 2) * $math.sin((brAngle));\n\n\t\t\tconst blX2 = blX - crbl * $math.tan((brAngle - blAngle) / 2) * $math.cos((blAngle));\n\t\t\tconst blY2 = blY - crbl * $math.tan((brAngle - blAngle) / 2) * $math.sin((blAngle));\n\n\t\t\tdisplay.moveTo(tlX2, tlY2);\n\t\t\tdisplay.lineTo(trX1, trY1);\n\n\t\t\tdisplay.arcTo(trX, trY, trX2, trY2, crtr);\n\t\t\tdisplay.quadraticCurveTo(this._cprx, this._cpry, brX1, brY1);\n\t\t\tdisplay.arcTo(brX, brY, brX2, brY2, crbr);\n\t\t\tdisplay.lineTo(blX1, blY1);\n\t\t\tdisplay.arcTo(blX, blY, blX2, blY2, crbl);\n\t\t\tdisplay.quadraticCurveTo(this._cplx, this._cply, tlX1, tlY1);\n\t\t\tdisplay.arcTo(tlX, tlY, tlX2, tlY2, crtl);\n\t\t})\n\t}\n\n\tpublic getPoint(locationX: number, locationY: number): IPoint {\n\t\tlet w = this.width();\n\t\tlet h = this.height();\n\n\t\tconst tw = this.get(\"topWidth\", 0);\n\t\tconst bw = this.get(\"bottomWidth\", 0);\n\n\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\tlet tlx = -tw / 2;\n\t\t\tlet trx = tw / 2;\n\n\t\t\tlet brx = bw / 2;\n\t\t\tlet blx = - bw / 2;\n\n\t\t\tlet mlx = tlx + (blx - tlx) * locationY;\n\t\t\tlet mrx = trx + (brx - trx) * locationY;\n\n\t\t\treturn { x: mlx + (mrx - mlx) * locationX, y: h * locationY };\n\t\t}\n\t\telse {\n\t\t\tlet tlx = -tw / 2;\n\t\t\tlet trx = tw / 2;\n\n\t\t\tlet brx = bw / 2;\n\t\t\tlet blx = - bw / 2;\n\n\t\t\tlet mlx = tlx + (blx - tlx) * locationX;\n\t\t\tlet mrx = trx + (brx - trx) * locationX;\n\n\t\t\treturn { x: w * locationX, y: mlx + (mrx - mlx) * locationY };\n\t\t}\n\n\t}\n\n\tpublic _changed() {\n\n\t\tif (this.isDirty(\"topWidth\") || this.isDirty(\"bottomWidth\") || this.isDirty(\"expandDistance\") || this.isDirty(\"orientation\") || this.isDirty(\"width\") || this.isDirty(\"height\")) {\n\t\t\tconst w = this.width();\n\t\t\tconst h = this.height();\n\t\t\tconst tw = this.get(\"topWidth\", 0);\n\t\t\tconst bw = this.get(\"bottomWidth\", 0);\n\t\t\tthis._clear = true;\n\n\t\t\tlet ed = this.get(\"expandDistance\", 0);\n\n\t\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\t\tthis._tlx = -tw / 2;\n\t\t\t\tthis._tly = 0;\n\n\t\t\t\tthis._trx = tw / 2;\n\t\t\t\tthis._try = 0;\n\n\t\t\t\tthis._brx = bw / 2;\n\t\t\t\tthis._bry = h;\n\n\t\t\t\tthis._blx = -bw / 2;\n\t\t\t\tthis._bly = h;\n\n\t\t\t\tthis._cprx = this._trx + (this._brx - this._trx) / 2 + ed * h,\n\t\t\t\t\tthis._cpry = this._try + 0.5 * h;\n\n\t\t\t\tthis._cplx = this._tlx + (this._blx - this._tlx) / 2 - ed * h;\n\t\t\t\tthis._cply = this._tly + 0.5 * h;\n\t\t\t}\n\t\t\telse {\n\n\t\t\t\tthis._tly = tw / 2;\n\t\t\t\tthis._tlx = 0;\n\n\t\t\t\tthis._try = -tw / 2;\n\t\t\t\tthis._trx = 0;\n\n\t\t\t\tthis._bry = -bw / 2;\n\t\t\t\tthis._brx = w;\n\n\t\t\t\tthis._bly = bw / 2;\n\t\t\t\tthis._blx = w;\n\n\t\t\t\tthis._cpry = this._try + (this._bry - this._try) / 2 - ed * w,\n\t\t\t\t\tthis._cprx = this._trx + 0.5 * w;\n\n\t\t\t\tthis._cply = this._tly + (this._bly - this._tly) / 2 + ed * w;\n\t\t\t\tthis._cplx = this._tlx + 0.5 * w;\n\t\t\t}\n\t\t}\n\t\tsuper._changed();\n\t}\n}\n"]}
@@ -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":"AASA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAqC,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAmE9C;;;;;GAKG;AACH,MAAM,OAAO,UAAW,SAAQ,OAAO;IAAvC;;QAEC;;;;WAIG;QACH;;;;mBAAiC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;WAAC;QAQjH;;;;mBAA0B,GAAG,EAAE;WAAC;QAGhC;;;;mBAA+B,CAAC;WAAC;IAmMlC,CAAC;IAjMU,SAAS;QAClB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAE5D,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAE/C,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAEtG,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1D,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAExD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;YACvE,IAAI,CAAC,aAAa,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC;IACL,CAAC;IAES,SAAS;IAEnB,CAAC;IAGM,gBAAgB;QACtB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAEvI,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YAC3C,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;YAEvC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAG5C,IAAI,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAE/D,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAE5C,IAAI,WAAW,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAE3D,IAAI,WAAW,YAAY,OAAO,EAAE;gBACnC,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;gBAC9B,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC1B,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvD,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACpE,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;aAC5D;YAED,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;YAElD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAEhD,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9E,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC1B,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;aAC9F,CAAC,CAAA;YAEF,IAAI,CAAC,aAAa,EAAE,CAAC;SACrB;IACF,CAAC;IAES,UAAU,CAAC,MAAmB;QACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAGD,gBAAgB;IACT,aAAa;QACnB,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxF,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAErC,IAAI,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAE7E,IAAI,WAAW,GAAG,CAAC,EAAE;YACpB,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;SACnC;QAED,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAE/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAyB,CAAC;YAC9D,QAAQ,CAAC,YAAY,EAAE,CAAC;QACzB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAuB,CAAC;YAC5D,QAAQ,CAAC,YAAY,EAAE,CAAC;QACzB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,IAAK,MAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;gBAC5C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;aAC/D;iBACI;gBACJ,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACvC;QACF,CAAC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,MAAM,EAAE;YACX,MAAM,CAAC,YAAY,EAAE,CAAC;SACtB;IACF,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,SAAoB,EAAE,WAAmB,EAAE,MAAc;QAC3E,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,IAAI,EAAE;YACT,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC5B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAc,CAAC,CAAC;gBAC3C,IAAI,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpM,CAAC,CAAC,CAAA;SACF;IACF,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,IAAqD;QACvE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAa,EAAE,MAAe,EAAE,WAAoB;QACjE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjF,IAAI,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAE7D,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,UAAU,GAAG,QAAQ,EAAE;YAC1B,IAAI,UAAU,GAAG,KAAK,IAAI,KAAK,GAAG,QAAQ,EAAE;gBAC3C,KAAK,GAAG,IAAI,CAAC;aACb;SACD;QAED,IAAI,UAAU,GAAG,QAAQ,EAAE;YAC1B,IAAI,KAAK,GAAG,UAAU,EAAE;gBACvB,KAAK,GAAG,IAAI,CAAC;aACb;YACD,IAAI,KAAK,GAAG,QAAQ,EAAE;gBACrB,KAAK,GAAG,IAAI,CAAC;aACb;SACD;QAED,IAAI,UAAU,IAAI,QAAQ,EAAE;YAC3B,KAAK,GAAG,IAAI,CAAC;SACb;QAED,IAAI,CAAC,KAAK,EAAE;YACX,OAAO,KAAK,CAAC;SACb;QAED,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SACtC;QAED,IAAI,WAAW,IAAI,IAAI,EAAE;YACxB,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;SAChD;QAED,IAAI,WAAW,GAAG,MAAM,EAAE;YACzB,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;SAC9C;QAED,IAAI,CAAC,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,IAAI,WAAW,GAAG,EAAE,EAAE;YAC9C,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAES,eAAe,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAES,YAAY;IAEtB,CAAC;;AA3MD;;;;WAAkC,YAAY;GAAC;AAC/C;;;;WAA0C,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;GAAC","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"]}
@@ -15,6 +15,13 @@ export interface ISettingsModalSettings extends IModalSettings {
15
15
  * @since 5.9.0
16
16
  */
17
17
  showResetLink?: boolean;
18
+ /**
19
+ * Available line widths for user to choose from.
20
+ *
21
+ * @default [1, 2, 4, 10]
22
+ * @since 5.11.2
23
+ */
24
+ strokeWidths?: number[];
18
25
  }
19
26
  export interface ISettingsModalPrivate extends IModalPrivate {
20
27
  }
@@ -58,6 +65,7 @@ export declare class SettingsModal extends Modal {
58
65
  private initContent;
59
66
  private getDropdown;
60
67
  private getNumber;
68
+ private getText;
61
69
  private getCheckbox;
62
70
  private getColor;
63
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;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,CAA8C;IAEtE,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;IAIZ,cAAc;IAQrB;;;;OAIG;IACI,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAK7C;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IAkHzC,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"}
@@ -33,6 +33,8 @@ export class SettingsModal extends Modal {
33
33
  }
34
34
  _afterNew() {
35
35
  super._afterNew();
36
+ this._defaultThemes = this.get("stockChart")._defaultThemes;
37
+ super._afterNewApplyThemes();
36
38
  }
37
39
  _beforeChanged() {
38
40
  super._beforeChanged();
@@ -120,6 +122,10 @@ export class SettingsModal extends Modal {
120
122
  });
121
123
  }
122
124
  else if (isline) {
125
+ const widths = this.get("strokeWidths", [1, 2, 4, 10]);
126
+ const widthOptions = widths.map((width) => {
127
+ return { value: width, text: width + "px" };
128
+ });
123
129
  settings = [{
124
130
  key: "stroke",
125
131
  name: l.translateAny("Line"),
@@ -130,12 +136,7 @@ export class SettingsModal extends Modal {
130
136
  key: "strokeWidth",
131
137
  name: l.translateAny("Line"),
132
138
  type: "dropdown",
133
- options: [
134
- { value: 1, text: "1px" },
135
- { value: 2, text: "2px" },
136
- { value: 4, text: "4px" },
137
- { value: 10, text: "10px" }
138
- ],
139
+ options: widthOptions,
139
140
  currentValue: series.strokes.template.get("strokeWidth", 1),
140
141
  target: series.strokes.template,
141
142
  invalidateTarget: series
@@ -241,9 +242,10 @@ export class SettingsModal extends Modal {
241
242
  element = this.getCheckbox(setting, currentValue);
242
243
  settingInputs[key] = element;
243
244
  break;
244
- // case "text":
245
- // element = this.getText(setting, currentValue);
246
- // break;
245
+ case "text":
246
+ element = this.getText(setting, currentValue);
247
+ settingInputs[key] = element;
248
+ break;
247
249
  }
248
250
  if (element) {
249
251
  let line;
@@ -392,6 +394,13 @@ export class SettingsModal extends Modal {
392
394
  element.className = "am5-modal-input-narrow";
393
395
  return element;
394
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
+ }
395
404
  getCheckbox(_setting, currentValue) {
396
405
  const element = document.createElement("input");
397
406
  element.type = "checkbox";
@@ -460,6 +469,6 @@ Object.defineProperty(SettingsModal, "classNames", {
460
469
  enumerable: true,
461
470
  configurable: true,
462
471
  writable: true,
463
- value: Modal.classNames.concat([Modal.className])
472
+ value: Modal.classNames.concat([SettingsModal.className])
464
473
  });
465
474
  //# sourceMappingURL=SettingsModal.js.map
@@ -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}\r\n\r\nexport interface ISettingsModalPrivate extends IModalPrivate {\r\n}\r\n\r\nexport interface ISettingsModalEvents extends IModalEvents {\r\n\r\n\t/**\r\n\t * Invoked when modal is closed/saved.\r\n\t */\r\n\tdone: {\r\n\t\tsettings?: any,\r\n\t\tsettingsTarget?: Indicator | XYSeries\r\n\t}\r\n\r\n}\r\n\r\n/**\r\n * @ignore\r\n */\r\ninterface ISeriesEditableSetting extends IIndicatorEditableSetting {\r\n\tid?: string;\r\n\ttarget?: any;\r\n\tadditionalKeys?: string[];\r\n\tcurrentValue?: any;\r\n\tinvalidateTarget?: XYSeries;\r\n}\r\n\r\n/**\r\n * Used to display a modal dialog with HTML content.\r\n */\r\nexport class SettingsModal extends Modal {\r\n\tpublic static className: string = \"SettingsModal\";\r\n\tpublic static classNames: Array<string> = Modal.classNames.concat([Modal.className]);\r\n\r\n\tdeclare public _settings: ISettingsModalSettings;\r\n\tdeclare public _privateSettings: ISettingsModalPrivate;\r\n\tdeclare public _events: ISettingsModalEvents;\r\n\r\n\tprotected _updatedSettings: { [index: string]: any } = {};\r\n\tprotected _settingsTarget?: Indicator | XYSeries;\r\n\tprotected _colorControl?: ColorControl;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t}\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\r\n\t\t// if (this.isDirty(\"content\")) {\r\n\t\t// \tthis.getPrivate(\"content\").innerHTML = this.get(\"content\", \"\");\r\n\t\t// }\r\n\t}\r\n\r\n\t/**\r\n\t * Opens settings modal for an [[Indicator]].\r\n\t * \r\n\t * @param target Target indicator\r\n\t */\r\n\tpublic openIndicator(target: Indicator): void {\r\n\t\tthis._settingsTarget = target;\r\n\t\tthis.initContent(target._editableSettings, target);\r\n\t}\r\n\r\n\t/**\r\n\t * Opens settings editing for the any [[XYSeries]].\r\n\t * \r\n\t * @param series target series\r\n\t */\r\n\tpublic openSeries(series: XYSeries): void {\r\n\t\tthis._settingsTarget = series;\r\n\r\n\t\tconst l = this._root.language;\r\n\t\tconst stockChart = this.get(\"stockChart\");\r\n\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\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: [\r\n\t\t\t\t\t{ value: 1, text: \"1px\" },\r\n\t\t\t\t\t{ value: 2, text: \"2px\" },\r\n\t\t\t\t\t{ value: 4, text: \"4px\" },\r\n\t\t\t\t\t{ value: 10, text: \"10px\" }\r\n\t\t\t\t],\r\n\t\t\t\tcurrentValue: (<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}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalLineSeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/HorizontalLineSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAIvE,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEtI,MAAM,WAAW,6BAA8B,SAAQ,yBAAyB;CAC/E;AAED,MAAM,WAAW,6BAA8B,SAAQ,yBAAyB;CAC/E;AAED,MAAM,WAAW,4BAA6B,SAAQ,wBAAwB;CAC7E;AAED,qBAAa,oBAAqB,SAAQ,gBAAgB;IACzD,OAAc,SAAS,EAAE,MAAM,CAA0B;IACzD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAwE;IAEhG,SAAS,EAAE,6BAA6B,CAAC;IACzC,gBAAgB,EAAE,4BAA4B,CAAC;IAC/C,iBAAiB,EAAE,6BAA6B,CAAC;IAEhE,SAAS,CAAC,IAAI,SAAgB;IAE9B,SAAS,CAAC,SAAS;IAKnB,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;IAuCzD,SAAS,CAAC,sBAAsB;IAIzB,gBAAgB,IAAI,IAAI;IAgB/B,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM;IAgBtC,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,mBAAmB;IAe5D,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAKtE"}
1
+ {"version":3,"file":"HorizontalLineSeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/HorizontalLineSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAIvE,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEtI,MAAM,WAAW,6BAA8B,SAAQ,yBAAyB;CAC/E;AAED,MAAM,WAAW,6BAA8B,SAAQ,yBAAyB;CAC/E;AAED,MAAM,WAAW,4BAA6B,SAAQ,wBAAwB;CAC7E;AAED,qBAAa,oBAAqB,SAAQ,gBAAgB;IACzD,OAAc,SAAS,EAAE,MAAM,CAA0B;IACzD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAwE;IAEhG,SAAS,EAAE,6BAA6B,CAAC;IACzC,gBAAgB,EAAE,4BAA4B,CAAC;IAC/C,iBAAiB,EAAE,6BAA6B,CAAC;IAEhE,SAAS,CAAC,IAAI,SAAgB;IAE9B,SAAS,CAAC,SAAS;IAKnB,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;IAuCzD,SAAS,CAAC,sBAAsB;IAIzB,gBAAgB,IAAI,IAAI;IAiB/B,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM;IAgBtC,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,mBAAmB;IAe5D,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAKtE"}