@amcharts/amcharts5 5.4.11 → 5.5.1

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 (238) hide show
  1. package/.internal/charts/hierarchy/ForceDirected.d.ts +0 -1
  2. package/.internal/charts/hierarchy/ForceDirected.d.ts.map +1 -1
  3. package/.internal/charts/hierarchy/ForceDirected.js +0 -1
  4. package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
  5. package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
  6. package/.internal/charts/stock/drawing/DrawingSeries.js +4 -8
  7. package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
  8. package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts.map +1 -1
  9. package/.internal/charts/stock/drawing/SimpleLineSeries.js +1 -0
  10. package/.internal/charts/stock/drawing/SimpleLineSeries.js.map +1 -1
  11. package/.internal/charts/stock/toolbar/PeriodSelector.d.ts +12 -1
  12. package/.internal/charts/stock/toolbar/PeriodSelector.d.ts.map +1 -1
  13. package/.internal/charts/stock/toolbar/PeriodSelector.js +41 -14
  14. package/.internal/charts/stock/toolbar/PeriodSelector.js.map +1 -1
  15. package/.internal/charts/xy/XYChart.js +1 -1
  16. package/.internal/charts/xy/XYChart.js.map +1 -1
  17. package/.internal/charts/xy/axes/Axis.d.ts +1 -0
  18. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  19. package/.internal/charts/xy/axes/Axis.js +34 -7
  20. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  21. package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
  22. package/.internal/charts/xy/axes/CategoryAxis.js +2 -4
  23. package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
  24. package/.internal/charts/xy/axes/DateAxis.d.ts +1 -1
  25. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  26. package/.internal/charts/xy/axes/DateAxis.js +3 -3
  27. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  28. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +2 -1
  29. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
  30. package/.internal/charts/xy/axes/GaplessDateAxis.js +8 -6
  31. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
  32. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  33. package/.internal/charts/xy/axes/ValueAxis.js +18 -4
  34. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  35. package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
  36. package/.internal/charts/xy/series/BaseColumnSeries.js +10 -2
  37. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  38. package/.internal/charts/xy/series/XYSeries.d.ts +3 -0
  39. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  40. package/.internal/charts/xy/series/XYSeries.js +3 -1
  41. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  42. package/.internal/core/Classes.d.ts +2 -0
  43. package/.internal/core/Classes.d.ts.map +1 -1
  44. package/.internal/core/Classes.js.map +1 -1
  45. package/.internal/core/Registry.d.ts.map +1 -1
  46. package/.internal/core/Registry.js +1 -1
  47. package/.internal/core/Registry.js.map +1 -1
  48. package/.internal/core/Root.js +1 -1
  49. package/.internal/core/Root.js.map +1 -1
  50. package/.internal/core/render/Circle.d.ts +0 -1
  51. package/.internal/core/render/Circle.d.ts.map +1 -1
  52. package/.internal/core/render/Circle.js +1 -9
  53. package/.internal/core/render/Circle.js.map +1 -1
  54. package/.internal/core/render/Container.d.ts.map +1 -1
  55. package/.internal/core/render/Container.js +0 -11
  56. package/.internal/core/render/Container.js.map +1 -1
  57. package/.internal/core/render/Graphics.d.ts.map +1 -1
  58. package/.internal/core/render/Graphics.js +59 -54
  59. package/.internal/core/render/Graphics.js.map +1 -1
  60. package/.internal/core/render/Rectangle.d.ts +0 -1
  61. package/.internal/core/render/Rectangle.d.ts.map +1 -1
  62. package/.internal/core/render/Rectangle.js +1 -9
  63. package/.internal/core/render/Rectangle.js.map +1 -1
  64. package/.internal/core/render/Sprite.d.ts +94 -2
  65. package/.internal/core/render/Sprite.d.ts.map +1 -1
  66. package/.internal/core/render/Sprite.js +48 -8
  67. package/.internal/core/render/Sprite.js.map +1 -1
  68. package/.internal/core/render/backend/CanvasRenderer.d.ts +19 -14
  69. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  70. package/.internal/core/render/backend/CanvasRenderer.js +66 -60
  71. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  72. package/.internal/core/render/backend/Renderer.d.ts +2 -2
  73. package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
  74. package/.internal/core/render/backend/Renderer.js.map +1 -1
  75. package/.internal/core/render/patterns/GrainPattern.d.ts +79 -0
  76. package/.internal/core/render/patterns/GrainPattern.d.ts.map +1 -0
  77. package/.internal/core/render/patterns/GrainPattern.js +112 -0
  78. package/.internal/core/render/patterns/GrainPattern.js.map +1 -0
  79. package/.internal/core/render/patterns/Pattern.d.ts +3 -2
  80. package/.internal/core/render/patterns/Pattern.d.ts.map +1 -1
  81. package/.internal/core/render/patterns/Pattern.js +19 -9
  82. package/.internal/core/render/patterns/Pattern.js.map +1 -1
  83. package/.internal/core/render/patterns/PicturePattern.d.ts +1 -0
  84. package/.internal/core/render/patterns/PicturePattern.d.ts.map +1 -1
  85. package/.internal/core/render/patterns/PicturePattern.js +9 -0
  86. package/.internal/core/render/patterns/PicturePattern.js.map +1 -1
  87. package/.internal/core/render/patterns/RectanglePattern.d.ts.map +1 -1
  88. package/.internal/core/render/patterns/RectanglePattern.js +6 -5
  89. package/.internal/core/render/patterns/RectanglePattern.js.map +1 -1
  90. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  91. package/.internal/themes/DefaultTheme.js +11 -0
  92. package/.internal/themes/DefaultTheme.js.map +1 -1
  93. package/CHANGELOG.md +34 -0
  94. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  95. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  96. package/examples/javascript/flow-chord/package.json +1 -1
  97. package/examples/javascript/flow-chord-directed/package.json +1 -1
  98. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  99. package/examples/javascript/flow-sankey/package.json +1 -1
  100. package/examples/javascript/gauge/package.json +1 -1
  101. package/examples/javascript/gauge-bands/package.json +1 -1
  102. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  103. package/examples/javascript/hierarchy-pack/package.json +1 -1
  104. package/examples/javascript/hierarchy-partition/package.json +1 -1
  105. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  106. package/examples/javascript/hierarchy-tree/package.json +1 -1
  107. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  108. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  109. package/examples/javascript/jest/package.json +1 -1
  110. package/examples/javascript/json-pie/package.json +1 -1
  111. package/examples/javascript/json-xy/package.json +1 -1
  112. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  113. package/examples/javascript/map-day-and-night/package.json +1 -1
  114. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  115. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  116. package/examples/javascript/map-with-bubbles/package.json +1 -1
  117. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  118. package/examples/javascript/misc-40-charts/package.json +1 -1
  119. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  120. package/examples/javascript/pie-chart/package.json +1 -1
  121. package/examples/javascript/pie-donut-chart/package.json +1 -1
  122. package/examples/javascript/pie-variable-radius/package.json +1 -1
  123. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  124. package/examples/javascript/radar-heat-map/package.json +1 -1
  125. package/examples/javascript/radar-line/package.json +1 -1
  126. package/examples/javascript/radar-time-line/package.json +1 -1
  127. package/examples/javascript/sliced-funnel/package.json +1 -1
  128. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  129. package/examples/javascript/sliced-pyramid/package.json +1 -1
  130. package/examples/javascript/stock-chart/package.json +1 -1
  131. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  132. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  133. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  134. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  135. package/examples/javascript/stock-chart-live/package.json +1 -1
  136. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  137. package/examples/javascript/venn-diagram/package.json +1 -1
  138. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  139. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  140. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  141. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  142. package/examples/javascript/xy-bubble/package.json +1 -1
  143. package/examples/javascript/xy-candlestick/package.json +1 -1
  144. package/examples/javascript/xy-clustered-column/package.json +1 -1
  145. package/examples/javascript/xy-column/package.json +1 -1
  146. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  147. package/examples/javascript/xy-data-grouping/package.json +1 -1
  148. package/examples/javascript/xy-draggable-range/package.json +1 -1
  149. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  150. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  151. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  152. package/examples/javascript/xy-line/package.json +1 -1
  153. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  154. package/examples/javascript/xy-live-data/package.json +1 -1
  155. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  156. package/examples/javascript/xy-ohlc/package.json +1 -1
  157. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  158. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  159. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  160. package/examples/javascript/xy-stacked-column/package.json +1 -1
  161. package/examples/javascript/xy-stacked-step/package.json +1 -1
  162. package/examples/javascript/xy-stock/package.json +1 -1
  163. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  164. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  165. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  166. package/examples/typescript/flow-chord/package.json +1 -1
  167. package/examples/typescript/flow-chord-directed/package.json +1 -1
  168. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  169. package/examples/typescript/flow-sankey/package.json +1 -1
  170. package/examples/typescript/gauge/package.json +1 -1
  171. package/examples/typescript/gauge-bands/package.json +1 -1
  172. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  173. package/examples/typescript/hierarchy-pack/package.json +1 -1
  174. package/examples/typescript/hierarchy-partition/package.json +1 -1
  175. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  176. package/examples/typescript/hierarchy-tree/package.json +1 -1
  177. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  178. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  179. package/examples/typescript/jest/package.json +1 -1
  180. package/examples/typescript/json-pie/package.json +1 -1
  181. package/examples/typescript/json-xy/package.json +1 -1
  182. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  183. package/examples/typescript/map-day-and-night/package.json +1 -1
  184. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  185. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  186. package/examples/typescript/map-with-bubbles/package.json +1 -1
  187. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  188. package/examples/typescript/misc-40-charts/package.json +1 -1
  189. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  190. package/examples/typescript/pie-chart/package.json +1 -1
  191. package/examples/typescript/pie-donut-chart/package.json +1 -1
  192. package/examples/typescript/pie-variable-radius/package.json +1 -1
  193. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  194. package/examples/typescript/radar-heat-map/package.json +1 -1
  195. package/examples/typescript/radar-line/package.json +1 -1
  196. package/examples/typescript/radar-time-line/package.json +1 -1
  197. package/examples/typescript/sliced-funnel/package.json +1 -1
  198. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  199. package/examples/typescript/sliced-pyramid/package.json +1 -1
  200. package/examples/typescript/stock-chart/package.json +1 -1
  201. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  202. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  203. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  204. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  205. package/examples/typescript/stock-chart-live/package.json +1 -1
  206. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  207. package/examples/typescript/venn-diagram/package.json +1 -1
  208. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  209. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  210. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  211. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  212. package/examples/typescript/xy-bubble/package.json +1 -1
  213. package/examples/typescript/xy-candlestick/package.json +1 -1
  214. package/examples/typescript/xy-clustered-column/package.json +1 -1
  215. package/examples/typescript/xy-column/package.json +1 -1
  216. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  217. package/examples/typescript/xy-data-grouping/package.json +1 -1
  218. package/examples/typescript/xy-draggable-range/package.json +1 -1
  219. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  220. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  221. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  222. package/examples/typescript/xy-line/package.json +1 -1
  223. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  224. package/examples/typescript/xy-live-data/package.json +1 -1
  225. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  226. package/examples/typescript/xy-ohlc/package.json +1 -1
  227. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  228. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  229. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  230. package/examples/typescript/xy-stacked-column/package.json +1 -1
  231. package/examples/typescript/xy-stacked-step/package.json +1 -1
  232. package/examples/typescript/xy-stock/package.json +1 -1
  233. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  234. package/index.d.ts +2 -0
  235. package/index.d.ts.map +1 -1
  236. package/index.js +2 -0
  237. package/index.js.map +1 -1
  238. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleLineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/SimpleLineSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ISpritePointerEvent } from \"../../../core/render/Sprite\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { IPoint } from \"../../../core/util/IPoint\";\r\n\r\nimport { DrawingSeries, IDrawingSeriesSettings, IDrawingSeriesPrivate, IDrawingSeriesDataItem } from \"./DrawingSeries\";\r\nimport { Line } from \"../../../core/render/Line\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport { Template } from \"../../../core/util/Template\";\r\n\r\nimport * as $math from \"../../../core/util/Math\";\r\n\r\nexport interface ISimpleLineSeriesDataItem extends IDrawingSeriesDataItem {\r\n}\r\n\r\nexport interface ISimpleLineSeriesSettings extends IDrawingSeriesSettings {\r\n\r\n\t/**\r\n\t * Show a dotted line extending from both ends of the drawn line.\r\n\t *\r\n\t * @default true\r\n\t */\r\n\tshowExtension?: boolean;\r\n}\r\n\r\nexport interface ISimpleLineSeriesPrivate extends IDrawingSeriesPrivate {\r\n}\r\n\r\nexport class SimpleLineSeries extends DrawingSeries {\r\n\tpublic static className: string = \"SimpleLineSeries\";\r\n\tpublic static classNames: Array<string> = DrawingSeries.classNames.concat([SimpleLineSeries.className]);\r\n\r\n\tdeclare public _settings: ISimpleLineSeriesSettings;\r\n\tdeclare public _privateSettings: ISimpleLineSeriesPrivate;\r\n\tdeclare public _dataItemSettings: ISimpleLineSeriesDataItem;\r\n\r\n\tprotected _tag = \"line\";\r\n\tprotected _updateExtension = false;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeLine(): Line {\r\n\t\tconst line = this.lines.make();\r\n\t\tthis.mainContainer.children.push(line);\r\n\t\tthis.lines.push(line);\r\n\t\treturn line;\r\n\t}\r\n\r\n\tpublic readonly lines: ListTemplate<Line> = new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Line._new(this._root, {}, [this.lines.template])\r\n\t);\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeHitLine(): Line {\r\n\t\tconst line = this.hitLines.make();\r\n\t\tline.addTag(\"hit\");\r\n\t\tthis.mainContainer.children.push(line);\r\n\t\tthis.hitLines.push(line);\r\n\t\treturn line;\r\n\t}\r\n\r\n\r\n\r\n\tpublic readonly hitLines: ListTemplate<Line> = new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Line._new(this._root, {}, [this.hitLines.template])\r\n\t);\r\n\r\n\tprotected _di: Array<{ [index: string]: DataItem<ISimpleLineSeriesDataItem> }> = [];\r\n\tprotected _lines: Array<Line> = [];\r\n\tprotected _hitLines: Array<Line> = [];\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tconst lineTemplate = this.lines.template;\r\n\t\tlineTemplate.events.on(\"pointerover\", (e) => {\r\n\t\t\tthis._showSegmentBullets(e.target.get(\"userData\"));\r\n\t\t})\r\n\r\n\t\tlineTemplate.events.on(\"pointerout\", (e) => {\r\n\t\t\tthis._hideAllBullets();\r\n\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\r\n\t\t\tconst line = this._lines[index];\r\n\t\t\tif (line) {\r\n\t\t\t\tline.unhover();\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.unhover();\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst hitTemplate = this.hitLines.template;\r\n\t\thitTemplate.events.on(\"pointerover\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tthis._showSegmentBullets(index);\r\n\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.hover();\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.hover();\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"click\", (e) => {\r\n\t\t\tif (this._erasingEnabled) {\r\n\t\t\t\tthis._disposeIndex(e.target.get(\"userData\"));\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"dragstart\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.dragStart(e);\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.dragStart(e);\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"dragstop\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\r\n\t\t\tthis.markDirtyValues();\r\n\t\t\te.target.setAll({ x: 0, y: 0 });\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.dragStop(e);\r\n\t\t\t\tline.setAll({ x: 0, y: 0 });\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.dragStop(e);\r\n\t\t\t\tstroke.setAll({ x: 0, y: 0 });\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"pointerout\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tthis._hideAllBullets();\r\n\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.unhover();\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.unhover();\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\r\n\tprotected _updateElements() {\r\n\t\tconst chart = this.chart;\r\n\t\tif (chart) {\r\n\t\t\tconst s = Math.max(chart.plotContainer.width(), chart.plotContainer.height()) * 2;\r\n\t\t\tfor (let i = 0; i < this._lines.length; i++) {\r\n\t\t\t\tconst line = this._lines[i];\r\n\t\t\t\tif (line) {\r\n\t\t\t\t\tconst hitLine = this._hitLines[i];\r\n\t\t\t\t\tconst diP1 = this._di[i][\"p1\"];\r\n\t\t\t\t\tconst diP2 = this._di[i][\"p2\"];\r\n\t\t\t\t\tif (diP1 && diP2) {\r\n\t\t\t\t\t\tconst p1 = diP1.get(\"point\");\r\n\t\t\t\t\t\tconst p2 = diP2.get(\"point\");\r\n\r\n\t\t\t\t\t\tif (p1 && p2) {\r\n\t\t\t\t\t\t\tconst len = Math.max(Math.abs(s - p1.x), Math.abs(s - p2.x), Math.abs(s - p1.y), Math.abs(s - p2.y), Math.abs(p1.x), Math.abs(p2.x), Math.abs(p1.y), Math.abs(p2.y))\r\n\t\t\t\t\t\t\tlet angle = $math.getAngle(p2, p1);\r\n\r\n\t\t\t\t\t\t\tconst p11 = { x: p1.x + len * $math.cos(angle), y: p1.y + len * $math.sin(angle) };\r\n\t\t\t\t\t\t\tconst p22 = { x: p2.x - len * $math.cos(angle), y: p2.y - len * $math.sin(angle) };\r\n\r\n\t\t\t\t\t\t\tthis._updateLine(line, hitLine, p11, p22, p1, p2);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateLine(line: Line, hitLine: Line, p11: IPoint, p22: IPoint, p1: IPoint, p2: IPoint) {\r\n\t\tlet segments = [[[p11, p1]], [[p2, p22]]];\r\n\t\tlet hitSegments = [[[p11, p22]]];\r\n\r\n\t\tline.set(\"segments\", segments);\r\n\t\thitLine.set(\"segments\", hitSegments);\r\n\t}\r\n\r\n\tprotected _handlePointerClickReal(event: ISpritePointerEvent) {\r\n\t\tif (!this._isDragging) {\r\n\t\t\tif (!this._isDrawing) {\r\n\t\t\t\tthis._isDrawing = true;\r\n\t\t\t\tthis._index++;\r\n\t\t\t\tthis._addPoints(event, this._index);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis._isDrawing = false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handlePointerClick(event: ISpritePointerEvent) {\r\n\t\tif (this._drawingEnabled) {\r\n\t\t\tsuper._handlePointerClick(event);\r\n\t\t\tthis._handlePointerClickReal(event);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handlePointerMove(event: ISpritePointerEvent) {\r\n\t\tsuper._handlePointerMove(event);\r\n\t\tthis._handlePointerMoveReal(event);\r\n\t}\r\n\r\n\r\n\tprotected _handlePointerMoveReal(_event: ISpritePointerEvent) {\r\n\t\tif (this._isDrawing) {\r\n\t\t\tconst movePoint = this._movePointerPoint;\r\n\r\n\t\t\tif (movePoint) {\r\n\r\n\t\t\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\t\t\tconst yAxis = this.get(\"yAxis\");\r\n\r\n\t\t\t\tconst vx = this._getXValue(xAxis.positionToValue(xAxis.coordinateToPosition(movePoint.x)));\r\n\t\t\t\tconst vy = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(movePoint.y)));\r\n\r\n\t\t\t\tconst index = this._index;\r\n\t\t\t\tconst diP1 = this._di[index][\"p1\"];\r\n\t\t\t\tconst diP2 = this._di[index][\"p2\"];\r\n\r\n\t\t\t\tif (diP1 && diP2) {\r\n\t\t\t\t\tthis._setContext(diP2, \"valueX\", vx);\r\n\t\t\t\t\tthis._setContext(diP2, \"valueY\", vy, true);\r\n\t\t\t\t\tthis._setXLocation(diP2, vx);\r\n\t\t\t\t\tthis._updateSegment(index);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _createElements(index: number) {\r\n\t\tif (!this._lines[index]) {\r\n\t\t\tconst line = this.makeLine();\r\n\t\t\tthis._lines[index] = line;\r\n\r\n\t\t\tconst hitLine = this.makeHitLine();\r\n\t\t\tthis._hitLines[index] = hitLine;\r\n\r\n\t\t\tconst dataContext = this.dataItems[this.dataItems.length - 1].dataContext as any;\r\n\t\t\tlet showExtension = this.get(\"showExtension\", true);\r\n\r\n\t\t\tlet color = this.get(\"strokeColor\", this.get(\"stroke\"));\r\n\r\n\t\t\tconst strokeTemplate = dataContext.stroke;\r\n\t\t\tif (strokeTemplate) {\r\n\t\t\t\tcolor = strokeTemplate.get(\"stroke\");\r\n\t\t\t\tthis._updateExtensionLine(line, strokeTemplate);\r\n\t\t\t}\r\n\r\n\t\t\tif (dataContext) {\r\n\t\t\t\tshowExtension = dataContext.showExtension;\r\n\t\t\t}\r\n\r\n\t\t\tline.setPrivate(\"visible\", showExtension);\r\n\r\n\r\n\r\n\t\t\tconst settings = { stroke: color, userData: index };\r\n\t\t\tline.setAll(settings);\r\n\t\t\thitLine.setAll(settings);\r\n\r\n\t\t\tthis._updateSegment(index);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateExtensionLine(_line: Line, _template: Template<any>) {\r\n\r\n\t}\r\n\r\n\tprotected _addTemplates(index: number) {\r\n\t\tthis.data.push({ stroke: this._getStrokeTemplate(), fill: this._getFillTemplate(), index: index, showExtension: this.get(\"showExtension\", true), corner: \"e\" });\r\n\t}\r\n\r\n\tprotected _addPoints(event: ISpritePointerEvent, index: number) {\r\n\t\tconst chart = this.chart!;\r\n\t\tthis._addTemplates(index);\r\n\r\n\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\tconst yAxis = this.get(\"yAxis\");\r\n\r\n\t\tconst point = chart.plotContainer.toLocal(event.point);\r\n\t\tconst valueX = this._getXValue(xAxis.positionToValue(xAxis.coordinateToPosition(point.x)));\r\n\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(point.y)));\r\n\r\n\t\tthis._addPoint(valueX, valueY, \"p1\", index);\r\n\t\tthis._addPoint(valueX, valueY, \"p2\", index);\r\n\r\n\t}\r\n\r\n\tprotected _addPoint(valueX: number, valueY: number, corner: string, index: number) {\r\n\t\tthis.data.push({ valueY: valueY, valueX: valueX, corner: corner, index: index });\r\n\t}\r\n\r\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tsuper.disposeDataItem(dataItem);\r\n\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\tif (dataContext) {\r\n\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tconst line = this._lines[index];\r\n\t\t\tif (line) {\r\n\t\t\t\tthis.lines.removeValue(line);\r\n\t\t\t\tdelete (this._lines[index]);\r\n\t\t\t\tline.dispose();\r\n\t\t\t}\r\n\t\t\tconst hitLine = this._hitLines[index];\r\n\t\t\tif (hitLine) {\r\n\t\t\t\tthis.hitLines.removeValue(hitLine);\r\n\t\t\t\tdelete (this._hitLines[index]);\r\n\t\t\t\thitLine.dispose();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic setInteractive(value: boolean) {\r\n\t\tsuper.setInteractive(value);\r\n\t\tthis.hitLines.template.set(\"forceInactive\", !value);\r\n\t}\r\n}"]}
1
+ {"version":3,"file":"SimpleLineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/drawing/SimpleLineSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ISpritePointerEvent } from \"../../../core/render/Sprite\";\r\nimport type { DataItem } from \"../../../core/render/Component\";\r\nimport type { IPoint } from \"../../../core/util/IPoint\";\r\n\r\nimport { DrawingSeries, IDrawingSeriesSettings, IDrawingSeriesPrivate, IDrawingSeriesDataItem } from \"./DrawingSeries\";\r\nimport { Line } from \"../../../core/render/Line\";\r\nimport { ListTemplate } from \"../../../core/util/List\";\r\nimport { Template } from \"../../../core/util/Template\";\r\n\r\nimport * as $math from \"../../../core/util/Math\";\r\n\r\nexport interface ISimpleLineSeriesDataItem extends IDrawingSeriesDataItem {\r\n}\r\n\r\nexport interface ISimpleLineSeriesSettings extends IDrawingSeriesSettings {\r\n\r\n\t/**\r\n\t * Show a dotted line extending from both ends of the drawn line.\r\n\t *\r\n\t * @default true\r\n\t */\r\n\tshowExtension?: boolean;\r\n}\r\n\r\nexport interface ISimpleLineSeriesPrivate extends IDrawingSeriesPrivate {\r\n}\r\n\r\nexport class SimpleLineSeries extends DrawingSeries {\r\n\tpublic static className: string = \"SimpleLineSeries\";\r\n\tpublic static classNames: Array<string> = DrawingSeries.classNames.concat([SimpleLineSeries.className]);\r\n\r\n\tdeclare public _settings: ISimpleLineSeriesSettings;\r\n\tdeclare public _privateSettings: ISimpleLineSeriesPrivate;\r\n\tdeclare public _dataItemSettings: ISimpleLineSeriesDataItem;\r\n\r\n\tprotected _tag = \"line\";\r\n\tprotected _updateExtension = false;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeLine(): Line {\r\n\t\tconst line = this.lines.make();\r\n\t\tthis.mainContainer.children.push(line);\r\n\t\tthis.lines.push(line);\r\n\t\treturn line;\r\n\t}\r\n\r\n\tpublic readonly lines: ListTemplate<Line> = new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Line._new(this._root, {}, [this.lines.template])\r\n\t);\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeHitLine(): Line {\r\n\t\tconst line = this.hitLines.make();\r\n\t\tline.addTag(\"hit\");\r\n\t\tthis.mainContainer.children.push(line);\r\n\t\tthis.hitLines.push(line);\r\n\t\treturn line;\r\n\t}\r\n\r\n\r\n\r\n\tpublic readonly hitLines: ListTemplate<Line> = new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Line._new(this._root, {}, [this.hitLines.template])\r\n\t);\r\n\r\n\tprotected _di: Array<{ [index: string]: DataItem<ISimpleLineSeriesDataItem> }> = [];\r\n\tprotected _lines: Array<Line> = [];\r\n\tprotected _hitLines: Array<Line> = [];\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\t\tconst lineTemplate = this.lines.template;\r\n\t\tlineTemplate.events.on(\"pointerover\", (e) => {\r\n\t\t\tthis._showSegmentBullets(e.target.get(\"userData\"));\r\n\t\t})\r\n\r\n\t\tlineTemplate.events.on(\"pointerout\", (e) => {\r\n\t\t\tthis._hideAllBullets();\r\n\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\r\n\t\t\tconst line = this._lines[index];\r\n\t\t\tif (line) {\r\n\t\t\t\tline.unhover();\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.unhover();\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tconst hitTemplate = this.hitLines.template;\r\n\t\thitTemplate.events.on(\"pointerover\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tthis._showSegmentBullets(index);\r\n\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.hover();\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.hover();\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"click\", (e) => {\r\n\t\t\tif (this._erasingEnabled) {\r\n\t\t\t\tthis._disposeIndex(e.target.get(\"userData\"));\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"dragstart\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.dragStart(e);\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.dragStart(e);\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"dragstop\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\r\n\t\t\tthis.markDirtyValues();\r\n\t\t\te.target.setAll({ x: 0, y: 0 });\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.dragStop(e);\r\n\t\t\t\tline.setAll({ x: 0, y: 0 });\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.dragStop(e);\r\n\t\t\t\tstroke.setAll({ x: 0, y: 0 });\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\thitTemplate.events.on(\"pointerout\", (e) => {\r\n\t\t\tconst index = e.target.get(\"userData\");\r\n\t\t\tthis._hideAllBullets();\r\n\r\n\t\t\tconst line = this._lines[index];\r\n\r\n\t\t\tif (line) {\r\n\t\t\t\tline.unhover();\r\n\t\t\t}\r\n\r\n\t\t\tconst strokeIndex = this._getStrokeIndex(index);\r\n\t\t\tconst stroke = this.strokes.getIndex(strokeIndex);\r\n\t\t\tif (stroke) {\r\n\t\t\t\tstroke.unhover();\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\r\n\tprotected _updateElements() {\r\n\t\tconst chart = this.chart;\r\n\t\tif (chart) {\r\n\t\t\tconst s = Math.max(chart.plotContainer.width(), chart.plotContainer.height()) * 2;\r\n\t\t\tfor (let i = 0; i < this._lines.length; i++) {\r\n\t\t\t\tconst line = this._lines[i];\r\n\t\t\t\tif (line) {\r\n\t\t\t\t\tconst hitLine = this._hitLines[i];\r\n\t\t\t\t\tconst diP1 = this._di[i][\"p1\"];\r\n\t\t\t\t\tconst diP2 = this._di[i][\"p2\"];\r\n\t\t\t\t\tif (diP1 && diP2) {\r\n\t\t\t\t\t\tconst p1 = diP1.get(\"point\");\r\n\t\t\t\t\t\tconst p2 = diP2.get(\"point\");\r\n\r\n\t\t\t\t\t\tif (p1 && p2) {\r\n\t\t\t\t\t\t\tconst len = Math.max(Math.abs(s - p1.x), Math.abs(s - p2.x), Math.abs(s - p1.y), Math.abs(s - p2.y), Math.abs(p1.x), Math.abs(p2.x), Math.abs(p1.y), Math.abs(p2.y))\r\n\t\t\t\t\t\t\tlet angle = $math.getAngle(p2, p1);\r\n\r\n\t\t\t\t\t\t\tconst p11 = { x: p1.x + len * $math.cos(angle), y: p1.y + len * $math.sin(angle) };\r\n\t\t\t\t\t\t\tconst p22 = { x: p2.x - len * $math.cos(angle), y: p2.y - len * $math.sin(angle) };\r\n\r\n\t\t\t\t\t\t\tthis._updateLine(line, hitLine, p11, p22, p1, p2);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateLine(line: Line, hitLine: Line, p11: IPoint, p22: IPoint, p1: IPoint, p2: IPoint) {\r\n\t\tlet segments = [[[p11, p1]], [[p2, p22]]];\r\n\t\tlet hitSegments = [[[p11, p22]]];\r\n\r\n\t\tline.set(\"segments\", segments);\r\n\t\thitLine.set(\"segments\", hitSegments);\r\n\t}\r\n\r\n\tprotected _handlePointerClickReal(event: ISpritePointerEvent) {\r\n\t\tif (!this._isDragging) {\r\n\t\t\tif (!this._isDrawing) {\r\n\t\t\t\tthis._isDrawing = true;\r\n\t\t\t\tthis._index++;\r\n\t\t\t\tthis._addPoints(event, this._index);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis._isDrawing = false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handlePointerClick(event: ISpritePointerEvent) {\r\n\t\tif (this._drawingEnabled) {\r\n\t\t\tsuper._handlePointerClick(event);\r\n\t\t\tthis._handlePointerClickReal(event);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _handlePointerMove(event: ISpritePointerEvent) {\r\n\t\tsuper._handlePointerMove(event);\r\n\t\tthis._handlePointerMoveReal(event);\r\n\t}\r\n\r\n\r\n\tprotected _handlePointerMoveReal(_event: ISpritePointerEvent) {\r\n\t\tif (this._isDrawing) {\r\n\t\t\tconst movePoint = this._movePointerPoint;\r\n\r\n\t\t\tif (movePoint) {\r\n\r\n\t\t\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\t\t\tconst yAxis = this.get(\"yAxis\");\r\n\r\n\t\t\t\tconst vx = this._getXValue(xAxis.positionToValue(xAxis.coordinateToPosition(movePoint.x)));\r\n\t\t\t\tconst vy = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(movePoint.y)));\r\n\r\n\t\t\t\tconst index = this._index;\r\n\t\t\t\tconst diP1 = this._di[index][\"p1\"];\r\n\t\t\t\tconst diP2 = this._di[index][\"p2\"];\r\n\r\n\t\t\t\tif (diP1 && diP2) {\r\n\t\t\t\t\tthis._setContext(diP2, \"valueX\", vx);\r\n\t\t\t\t\tthis._setContext(diP2, \"valueY\", vy, true);\r\n\t\t\t\t\tthis._setXLocation(diP2, vx);\r\n\t\t\t\t\tthis._updateSegment(index);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _createElements(index: number) {\r\n\t\tif (!this._lines[index]) {\r\n\t\t\tconst line = this.makeLine();\r\n\t\t\tthis._lines[index] = line;\r\n\r\n\t\t\tconst hitLine = this.makeHitLine();\r\n\t\t\tthis._hitLines[index] = hitLine;\r\n\r\n\t\t\tconst dataContext = this.dataItems[this.dataItems.length - 1].dataContext as any;\r\n\t\t\tlet showExtension = this.get(\"showExtension\", true);\r\n\r\n\t\t\tlet color = this.get(\"strokeColor\", this.get(\"stroke\"));\r\n\r\n\t\t\tconst strokeTemplate = dataContext.stroke;\r\n\t\t\tif (strokeTemplate) {\r\n\t\t\t\tcolor = strokeTemplate.get(\"stroke\");\r\n\t\t\t\tthis._updateExtensionLine(line, strokeTemplate);\r\n\t\t\t}\r\n\r\n\t\t\tif (dataContext) {\r\n\t\t\t\tshowExtension = dataContext.showExtension;\r\n\t\t\t}\r\n\r\n\t\t\tline.setPrivate(\"visible\", showExtension);\r\n\r\n\r\n\r\n\t\t\tconst settings = { stroke: color, userData: index };\r\n\t\t\tline.setAll(settings);\r\n\t\t\thitLine.setAll(settings);\r\n\r\n\t\t\tthis._updateSegment(index);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateExtensionLine(_line: Line, _template: Template<any>) {\r\n\r\n\t}\r\n\r\n\tprotected _addTemplates(index: number) {\r\n\t\tthis.data.push({ stroke: this._getStrokeTemplate(), fill: this._getFillTemplate(), index: index, showExtension: this.get(\"showExtension\", true), corner: \"e\" });\r\n\t}\r\n\r\n\tprotected _addPoints(event: ISpritePointerEvent, index: number) {\r\n\t\tconst chart = this.chart!;\r\n\t\tthis._addTemplates(index);\r\n\r\n\t\tconst xAxis = this.get(\"xAxis\");\r\n\t\tconst yAxis = this.get(\"yAxis\");\r\n\r\n\t\tconst point = chart.plotContainer.toLocal(event.point);\r\n\t\tconst valueX = this._getXValue(xAxis.positionToValue(xAxis.coordinateToPosition(point.x)));\r\n\t\tconst valueY = this._getYValue(yAxis.positionToValue(yAxis.coordinateToPosition(point.y)));\r\n\r\n\t\tthis._addPoint(valueX, valueY, \"p1\", index);\r\n\t\tthis._addPoint(valueX, valueY, \"p2\", index);\r\n\r\n\t}\r\n\r\n\tprotected _addPoint(valueX: number, valueY: number, corner: string, index: number) {\r\n\t\tthis.data.push({ valueY: valueY, valueX: valueX, corner: corner, index: index });\r\n\t}\r\n\r\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tsuper.disposeDataItem(dataItem);\r\n\t\tconst dataContext = dataItem.dataContext as any;\r\n\t\tif (dataContext) {\r\n\r\n\t\t\tconst index = dataContext.index;\r\n\t\t\tconst line = this._lines[index];\r\n\t\t\tif (line) {\r\n\t\t\t\tthis.lines.removeValue(line);\r\n\t\t\t\tdelete (this._lines[index]);\r\n\t\t\t\tline.dispose();\r\n\t\t\t}\r\n\t\t\tconst hitLine = this._hitLines[index];\r\n\t\t\tif (hitLine) {\r\n\t\t\t\tthis.hitLines.removeValue(hitLine);\r\n\t\t\t\tdelete (this._hitLines[index]);\r\n\t\t\t\thitLine.dispose();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic setInteractive(value: boolean) {\r\n\t\tsuper.setInteractive(value);\r\n\t\tthis.hitLines.template.set(\"forceInactive\", !value);\r\n\t\tthis.lines.template.set(\"forceInactive\", !value);\r\n\t}\r\n}"]}
@@ -4,9 +4,11 @@ import type { AxisRenderer } from "../../xy/axes/AxisRenderer";
4
4
  import { StockControl, IStockControlSettings, IStockControlPrivate, IStockControlEvents } from "./StockControl";
5
5
  import { IDisposer } from "../../../core/util/Disposer";
6
6
  export interface IPeriod {
7
- timeUnit: TimeUnit | "ytd" | "max";
7
+ timeUnit: TimeUnit | "ytd" | "max" | "custom";
8
8
  count?: number;
9
9
  name?: string;
10
+ start?: Date;
11
+ end?: Date;
10
12
  }
11
13
  export interface IPeriodSelectorSettings extends IStockControlSettings {
12
14
  /**
@@ -20,6 +22,15 @@ export interface IPeriodSelectorSettings extends IStockControlSettings {
20
22
  * @since 5.3.9
21
23
  */
22
24
  hideLongPeriods?: boolean;
25
+ /**
26
+ * Indicates whether to select periods from the start or end of the axis
27
+ * scale.
28
+ *
29
+ * @default "end"
30
+ * @since 5.5.0
31
+ * @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/period-selector/#Zoom_anchor_point} for more info
32
+ */
33
+ zoomTo?: "end" | "start";
23
34
  }
24
35
  export interface IPeriodSelectorPrivate extends IStockControlPrivate {
25
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PeriodSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/PeriodSelector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAChH,OAAO,EAAiB,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAMvE,MAAM,WAAW,OAAO;IACvB,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IAErE;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IAEpB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAE1B;AAED,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;IAEnE;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;CAEzB;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;CACjE;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC/C,OAAc,SAAS,EAAE,MAAM,CAAoB;IACnD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA8D;IAEtF,SAAS,EAAE,uBAAuB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,OAAO,EAAE,qBAAqB,CAAC;IAE9C,SAAS,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,CAAC;IACjD,SAAS,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,CAAC;IAEjD,SAAS,CAAC,SAAS;IASnB,SAAS,CAAC,kBAAkB,IAAI,IAAI;IA+BpC,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAoBrC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAsCjC,aAAa;IAOpB,SAAS,CAAC,SAAS,IAAI,GAAG;IAI1B,SAAS,CAAC,QAAQ,IAAI,GAAG;IAIlB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IA0E1C,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;CAejD"}
1
+ {"version":3,"file":"PeriodSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/PeriodSelector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAChH,OAAO,EAAiB,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAMvE,MAAM,WAAW,OAAO;IACvB,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,GAAG,CAAC,EAAE,IAAI,CAAC;CACX;AAED,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IAErE;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IAEpB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;CAEzB;AAED,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;IAEnE;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;CAEzB;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;CACjE;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC/C,OAAc,SAAS,EAAE,MAAM,CAAoB;IACnD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA8D;IAEtF,SAAS,EAAE,uBAAuB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,OAAO,EAAE,qBAAqB,CAAC;IAE9C,SAAS,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,CAAC;IACjD,SAAS,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,CAAC;IAEjD,SAAS,CAAC,SAAS;IASnB,SAAS,CAAC,kBAAkB,IAAI,IAAI;IA+BpC,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAoBrC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAsCjC,aAAa;IAOpB,SAAS,CAAC,SAAS,IAAI,GAAG;IAI1B,SAAS,CAAC,QAAQ,IAAI,GAAG;IAIlB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAwG1C,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;CAejD"}
@@ -124,10 +124,17 @@ export class PeriodSelector extends StockControl {
124
124
  return this._getChart().xAxes.getIndex(0);
125
125
  }
126
126
  selectPeriod(period) {
127
+ const fromStart = this.get("zoomTo", "end") == "start";
127
128
  this._highlightPeriod(period);
128
129
  if (period.timeUnit == "max") {
129
130
  this._getChart().zoomOut();
130
131
  }
132
+ else if (period.timeUnit == "custom") {
133
+ const axis = this._getAxis();
134
+ let start = period.start || new Date(axis.getPrivate("min"));
135
+ let end = period.end || new Date(axis.getPrivate("max"));
136
+ axis.zoomToDates(start, end);
137
+ }
131
138
  else {
132
139
  const axis = this._getAxis();
133
140
  let end = new Date(axis.getPrivate("max"));
@@ -144,23 +151,37 @@ export class PeriodSelector extends StockControl {
144
151
  }
145
152
  }
146
153
  else {
154
+ const timeUnit = period.timeUnit;
147
155
  // some adjustments in case data is grouped
148
156
  if (axis.get("groupData")) {
149
157
  // find interval which will be used after zoom
150
- const interval = axis.getGroupInterval($time.getDuration(period.timeUnit, period.count));
158
+ const interval = axis.getGroupInterval($time.getDuration(timeUnit, period.count));
151
159
  if (interval) {
152
- // find max of the base interval
153
- let endTime = axis.getIntervalMax(axis.get("baseInterval"));
154
- if (endTime != null) {
155
- // round to the future interval
156
- const firstDay = this._root.locale.firstDayOfWeek;
157
- const timezone = this._root.timezone;
158
- const utc = this._root.utc;
159
- end = $time.round(new Date(endTime), interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);
160
- end.setTime(end.getTime() + $time.getDuration(interval.timeUnit, interval.count * 1.05));
161
- end = $time.round(end, interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);
160
+ const firstDay = this._root.locale.firstDayOfWeek;
161
+ const timezone = this._root.timezone;
162
+ const utc = this._root.utc;
163
+ if (fromStart) {
164
+ let startTime = axis.getIntervalMin(axis.get("baseInterval"));
165
+ start = new Date(axis.getPrivate("max"));
166
+ if (startTime != null) {
167
+ // round to the previuous interval
168
+ start = $time.round(new Date(startTime), interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);
169
+ start.setTime(start.getTime() + $time.getDuration(interval.timeUnit, interval.count * .95));
170
+ start = $time.round(start, interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);
171
+ }
172
+ end = $time.add(new Date(start), timeUnit, (period.count || 1));
173
+ }
174
+ else {
175
+ // find max of the base interval
176
+ let endTime = axis.getIntervalMax(axis.get("baseInterval"));
177
+ if (endTime != null) {
178
+ // round to the future interval
179
+ end = $time.round(new Date(endTime), interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);
180
+ end.setTime(end.getTime() + $time.getDuration(interval.timeUnit, interval.count * 1.05));
181
+ end = $time.round(end, interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);
182
+ }
183
+ start = $time.add(new Date(end), timeUnit, (period.count || 1) * -1);
162
184
  }
163
- start = $time.add(new Date(end), period.timeUnit, (period.count || 1) * -1);
164
185
  if (this._groupChangedDp) {
165
186
  this._groupChangedDp.dispose();
166
187
  this._groupChangedDp = undefined;
@@ -181,7 +202,13 @@ export class PeriodSelector extends StockControl {
181
202
  return;
182
203
  }
183
204
  }
184
- start = $time.add(new Date(end), period.timeUnit, (period.count || 1) * -1);
205
+ if (fromStart) {
206
+ start = new Date(axis.getPrivate("min"));
207
+ end = $time.add(new Date(start), timeUnit, (period.count || 1));
208
+ }
209
+ else {
210
+ start = $time.add(new Date(end), timeUnit, (period.count || 1) * -1);
211
+ }
185
212
  }
186
213
  axis.zoomToDates(start, end);
187
214
  }
@@ -192,7 +219,7 @@ export class PeriodSelector extends StockControl {
192
219
  const buttons = container.getElementsByTagName("a");
193
220
  for (let i = 0; i < buttons.length; i++) {
194
221
  const button = buttons[i];
195
- if (button.getAttribute("data-period") == id) {
222
+ if (button.getAttribute("data-period") == id && id != "custom") {
196
223
  $utils.addClass(button, "am5stock-active");
197
224
  }
198
225
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"PeriodSelector.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/PeriodSelector.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TimeUnit } from \"../../../core/util/Time\"\r\nimport type { DateAxis } from \"../../xy/axes/DateAxis\";\r\nimport type { AxisRenderer } from \"../../xy/axes/AxisRenderer\";\r\n\r\nimport { StockControl, IStockControlSettings, IStockControlPrivate, IStockControlEvents } from \"./StockControl\";\r\nimport { MultiDisposer, IDisposer } from \"../../../core/util/Disposer\";\r\n\r\nimport * as $utils from \"../../../core/util/Utils\";\r\nimport * as $time from \"../../../core/util/Time\";\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IPeriod {\r\n\ttimeUnit: TimeUnit | \"ytd\" | \"max\";\r\n\tcount?: number;\r\n\tname?: string;\r\n}\r\n\r\nexport interface IPeriodSelectorSettings extends IStockControlSettings {\r\n\r\n\t/**\r\n\t * A list periods to choose from.\r\n\t */\r\n\tperiods?: IPeriod[];\r\n\r\n\t/**\r\n\t * Hide periods that are longer than the actual data.\r\n\t *\r\n\t * @default false\r\n\t * @since 5.3.9\r\n\t */\r\n\thideLongPeriods?: boolean;\r\n\r\n}\r\n\r\nexport interface IPeriodSelectorPrivate extends IStockControlPrivate {\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\taxis?: DateAxis<AxisRenderer>;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tdeferReset?: boolean;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tdeferTimeout?: IDisposer;\r\n\r\n}\r\n\r\nexport interface IPeriodSelectorEvents extends IStockControlEvents {\r\n}\r\n\r\n/**\r\n * A pre-defined period selector control for [[StockToolback]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/period-selector/} for more info\r\n */\r\nexport class PeriodSelector extends StockControl {\r\n\tpublic static className: string = \"PeriodSelector\";\r\n\tpublic static classNames: Array<string> = StockControl.classNames.concat([PeriodSelector.className]);\r\n\r\n\tdeclare public _settings: IPeriodSelectorSettings;\r\n\tdeclare public _privateSettings: IPeriodSelectorPrivate;\r\n\tdeclare public _events: IPeriodSelectorEvents;\r\n\r\n\tprotected _groupChangedDp: IDisposer | undefined;\r\n\tprotected _groupChangedTo: IDisposer | undefined;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\tbutton.className = button.className + \" am5stock-no-hover\";\r\n\r\n\t\tthis._initPeriodButtons();\r\n\t}\r\n\r\n\tprotected _initPeriodButtons(): void {\r\n\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\tcontainer.style.display = \"\";\r\n\r\n\t\tconst periods = this.get(\"periods\", []);\r\n\t\tconst axis = this._getAxis();\r\n\t\tthis.setPrivate(\"deferTimeout\", this.setTimeout(() => this.setPrivate(\"deferReset\", false), axis.get(\"interpolationDuration\", 1000) + 200));\r\n\t\taxis.onPrivate(\"min\", () => this._setPeriodButtonStatus());\r\n\t\taxis.onPrivate(\"max\", () => this._setPeriodButtonStatus());\r\n\t\t$array.each(periods, (period) => {\r\n\t\t\tconst button = document.createElement(\"a\");\r\n\t\t\tbutton.innerHTML = period.name || (period.timeUnit.toUpperCase() + period.count || \"1\");\r\n\t\t\tbutton.className = \"am5stock-link\";\r\n\t\t\tbutton.setAttribute(\"data-period\", period.timeUnit + (period.count || \"\"));\r\n\t\t\tcontainer.appendChild(button);\r\n\r\n\t\t\tthis._disposers.push($utils.addEventListener(button, \"click\", (_ev) => {\r\n\t\t\t\tthis.setPrivate(\"deferReset\", false);\r\n\t\t\t\tthis._resetActiveButtons();\r\n\t\t\t\tthis.selectPeriod(period);\r\n\t\t\t\tthis.setPrivate(\"deferReset\", true);\r\n\t\t\t\t$utils.addClass(button, \"am5stock-active\");\r\n\t\t\t\tconst timeout = this.getPrivate(\"deferTimeout\");\r\n\t\t\t\tif (timeout) {\r\n\t\t\t\t\ttimeout.dispose();\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tprotected _resetActiveButtons(): void {\r\n\t\tif (this.getPrivate(\"deferReset\") !== true) {\r\n\t\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\t\tconst buttons = container.getElementsByClassName(\"am5stock-active\");\r\n\t\t\t$array.each(buttons, (b) => {\r\n\t\t\t\t$utils.removeClass(<HTMLElement>b, \"am5stock-active\");\r\n\t\t\t});\r\n\r\n\t\t\tlet axis = this.getPrivate(\"axis\");\r\n\t\t\tif (!axis) {\r\n\t\t\t\taxis = this._getAxis();\r\n\t\t\t\tthis.setPrivate(\"axis\", axis);\r\n\t\t\t\tthis._disposers.push(new MultiDisposer([\r\n\t\t\t\t\taxis!.on(\"start\", () => this._resetActiveButtons()),\r\n\t\t\t\t\taxis!.on(\"end\", () => this._resetActiveButtons())\r\n\t\t\t\t]));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _setPeriodButtonStatus(): void {\r\n\t\tif (this.get(\"hideLongPeriods\")) {\r\n\t\t\tlet axis = this.getPrivate(\"axis\");\r\n\t\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\t\tconst buttons = container.getElementsByTagName(\"a\");\r\n\t\t\tif (!axis) {\r\n\t\t\t\taxis = this._getAxis();\r\n\t\t\t\tconst min = axis!.getPrivate(\"min\", 0);\r\n\t\t\t\tconst max = axis!.getPrivate(\"max\", 0);\r\n\t\t\t\tif (min && max) {\r\n\t\t\t\t\tconst diff = max - min;\r\n\t\t\t\t\tconst periods = this.get(\"periods\", []);\r\n\t\t\t\t\t$array.each(periods, (period) => {\r\n\t\t\t\t\t\tif (period.timeUnit !== \"ytd\" && period.timeUnit !== \"max\") {\r\n\t\t\t\t\t\t\tconst plen = $time.getDuration(period.timeUnit, period.count || 1);\r\n\t\t\t\t\t\t\tconst id = period.timeUnit + (period.count || \"\");\r\n\t\t\t\t\t\t\tfor (let i = 0; i < buttons.length; i++) {\r\n\t\t\t\t\t\t\t\tconst button = buttons[i];\r\n\t\t\t\t\t\t\t\tif (button.getAttribute(\"data-period\") == id) {\r\n\t\t\t\t\t\t\t\t\tif (plen > diff) {\r\n\t\t\t\t\t\t\t\t\t\t$utils.addClass(button, \"am5stock-hidden\");\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t$utils.removeClass(button, \"am5stock-hidden\");\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// protected _getDefaultIcon(): SVGElement {\r\n\t// \treturn StockIcons.getIcon(\"Period\");\r\n\t// }\r\n\r\n\tpublic _afterChanged() {\r\n\t\tsuper._afterChanged();\r\n\t\t// if (this.isDirty(\"active\")) {\r\n\t\t// \tthis._initDropdown();\r\n\t\t// }\r\n\t}\r\n\r\n\tprotected _getChart(): any {\r\n\t\treturn this.get(\"stockChart\").panels.getIndex(0)!;\r\n\t}\r\n\r\n\tprotected _getAxis(): any {\r\n\t\treturn this._getChart().xAxes.getIndex(0)!;\r\n\t}\r\n\r\n\tpublic selectPeriod(period: IPeriod): void {\r\n\t\tthis._highlightPeriod(period);\r\n\t\tif (period.timeUnit == \"max\") {\r\n\t\t\tthis._getChart().zoomOut();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tconst axis = this._getAxis();\r\n\t\t\tlet end = new Date(axis.getPrivate(\"max\"));\r\n\t\t\tlet start: Date;\r\n\t\t\tif (period.timeUnit == \"ytd\") {\r\n\t\t\t\tstart = new Date(end.getFullYear(), 0, 1, 0, 0, 0, 0);\r\n\t\t\t\tend = new Date(axis.getIntervalMax(axis.get(\"baseInterval\")));\r\n\t\t\t\tif (axis.get(\"groupData\")) {\r\n\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\t}, 10);\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t// some adjustments in case data is grouped\r\n\t\t\t\tif (axis.get(\"groupData\")) {\r\n\t\t\t\t\t// find interval which will be used after zoom\r\n\t\t\t\t\tconst interval = axis.getGroupInterval($time.getDuration(period.timeUnit, period.count))\r\n\t\t\t\t\tif (interval) {\r\n\t\t\t\t\t\t// find max of the base interval\r\n\t\t\t\t\t\tlet endTime = axis.getIntervalMax(axis.get(\"baseInterval\"));\r\n\r\n\t\t\t\t\t\tif (endTime != null) {\r\n\t\t\t\t\t\t\t// round to the future interval\r\n\t\t\t\t\t\t\tconst firstDay = this._root.locale.firstDayOfWeek;\r\n\t\t\t\t\t\t\tconst timezone = this._root.timezone;\r\n\t\t\t\t\t\t\tconst utc = this._root.utc;\r\n\r\n\t\t\t\t\t\t\tend = $time.round(new Date(endTime), interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);\r\n\t\t\t\t\t\t\tend.setTime(end.getTime() + $time.getDuration(interval.timeUnit, interval.count * 1.05));\r\n\t\t\t\t\t\t\tend = $time.round(end, interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tstart = $time.add(new Date(end), period.timeUnit, (period.count || 1) * -1);\r\n\r\n\t\t\t\t\t\tif (this._groupChangedDp) {\r\n\t\t\t\t\t\t\tthis._groupChangedDp.dispose();\r\n\t\t\t\t\t\t\tthis._groupChangedDp = undefined;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (this._groupChangedTo) {\r\n\t\t\t\t\t\t\tthis._groupChangedTo.dispose();\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis._groupChangedDp = axis.events.once(\"groupintervalchanged\", () => {\r\n\t\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\r\n\t\t\t\t\t\tthis._groupChangedTo = this.setTimeout(() => {\r\n\t\t\t\t\t\t\tif (this._groupChangedDp) {\r\n\t\t\t\t\t\t\t\tthis._groupChangedDp.dispose();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis._groupChangedTo = undefined;\r\n\t\t\t\t\t\t}, 500);\r\n\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tstart = $time.add(new Date(end), period.timeUnit, (period.count || 1) * -1);\r\n\t\t\t}\r\n\t\t\taxis.zoomToDates(start, end);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _highlightPeriod(period: IPeriod): void {\r\n\t\tconst id = period.timeUnit + (period.count || \"\");\r\n\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\tconst buttons = container.getElementsByTagName(\"a\");\r\n\t\tfor (let i = 0; i < buttons.length; i++) {\r\n\t\t\tconst button = buttons[i];\r\n\t\t\tif (button.getAttribute(\"data-period\") == id) {\r\n\t\t\t\t$utils.addClass(button, \"am5stock-active\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$utils.removeClass(button, \"am5stock-active\");\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n}"]}
1
+ {"version":3,"file":"PeriodSelector.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/stock/toolbar/PeriodSelector.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TimeUnit } from \"../../../core/util/Time\"\r\nimport type { DateAxis } from \"../../xy/axes/DateAxis\";\r\nimport type { AxisRenderer } from \"../../xy/axes/AxisRenderer\";\r\n\r\nimport { StockControl, IStockControlSettings, IStockControlPrivate, IStockControlEvents } from \"./StockControl\";\r\nimport { MultiDisposer, IDisposer } from \"../../../core/util/Disposer\";\r\n\r\nimport * as $utils from \"../../../core/util/Utils\";\r\nimport * as $time from \"../../../core/util/Time\";\r\nimport * as $array from \"../../../core/util/Array\";\r\n\r\nexport interface IPeriod {\r\n\ttimeUnit: TimeUnit | \"ytd\" | \"max\" | \"custom\";\r\n\tcount?: number;\r\n\tname?: string;\r\n\tstart?: Date;\r\n\tend?: Date;\r\n}\r\n\r\nexport interface IPeriodSelectorSettings extends IStockControlSettings {\r\n\r\n\t/**\r\n\t * A list periods to choose from.\r\n\t */\r\n\tperiods?: IPeriod[];\r\n\r\n\t/**\r\n\t * Hide periods that are longer than the actual data.\r\n\t *\r\n\t * @default false\r\n\t * @since 5.3.9\r\n\t */\r\n\thideLongPeriods?: boolean;\r\n\r\n\t/**\r\n\t * Indicates whether to select periods from the start or end of the axis\r\n\t * scale.\r\n\t *\r\n\t * @default \"end\"\r\n\t * @since 5.5.0\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/period-selector/#Zoom_anchor_point} for more info\r\n\t */\r\n\tzoomTo?: \"end\" | \"start\";\r\n\r\n}\r\n\r\nexport interface IPeriodSelectorPrivate extends IStockControlPrivate {\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\taxis?: DateAxis<AxisRenderer>;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tdeferReset?: boolean;\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tdeferTimeout?: IDisposer;\r\n\r\n}\r\n\r\nexport interface IPeriodSelectorEvents extends IStockControlEvents {\r\n}\r\n\r\n/**\r\n * A pre-defined period selector control for [[StockToolback]].\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/period-selector/} for more info\r\n */\r\nexport class PeriodSelector extends StockControl {\r\n\tpublic static className: string = \"PeriodSelector\";\r\n\tpublic static classNames: Array<string> = StockControl.classNames.concat([PeriodSelector.className]);\r\n\r\n\tdeclare public _settings: IPeriodSelectorSettings;\r\n\tdeclare public _privateSettings: IPeriodSelectorPrivate;\r\n\tdeclare public _events: IPeriodSelectorEvents;\r\n\r\n\tprotected _groupChangedDp: IDisposer | undefined;\r\n\tprotected _groupChangedTo: IDisposer | undefined;\r\n\r\n\tprotected _afterNew() {\r\n\t\tsuper._afterNew();\r\n\r\n\t\tconst button = this.getPrivate(\"button\")!;\r\n\t\tbutton.className = button.className + \" am5stock-no-hover\";\r\n\r\n\t\tthis._initPeriodButtons();\r\n\t}\r\n\r\n\tprotected _initPeriodButtons(): void {\r\n\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\tcontainer.style.display = \"\";\r\n\r\n\t\tconst periods = this.get(\"periods\", []);\r\n\t\tconst axis = this._getAxis();\r\n\t\tthis.setPrivate(\"deferTimeout\", this.setTimeout(() => this.setPrivate(\"deferReset\", false), axis.get(\"interpolationDuration\", 1000) + 200));\r\n\t\taxis.onPrivate(\"min\", () => this._setPeriodButtonStatus());\r\n\t\taxis.onPrivate(\"max\", () => this._setPeriodButtonStatus());\r\n\t\t$array.each(periods, (period) => {\r\n\t\t\tconst button = document.createElement(\"a\");\r\n\t\t\tbutton.innerHTML = period.name || (period.timeUnit.toUpperCase() + period.count || \"1\");\r\n\t\t\tbutton.className = \"am5stock-link\";\r\n\t\t\tbutton.setAttribute(\"data-period\", period.timeUnit + (period.count || \"\"));\r\n\t\t\tcontainer.appendChild(button);\r\n\r\n\t\t\tthis._disposers.push($utils.addEventListener(button, \"click\", (_ev) => {\r\n\t\t\t\tthis.setPrivate(\"deferReset\", false);\r\n\t\t\t\tthis._resetActiveButtons();\r\n\t\t\t\tthis.selectPeriod(period);\r\n\t\t\t\tthis.setPrivate(\"deferReset\", true);\r\n\t\t\t\t$utils.addClass(button, \"am5stock-active\");\r\n\t\t\t\tconst timeout = this.getPrivate(\"deferTimeout\");\r\n\t\t\t\tif (timeout) {\r\n\t\t\t\t\ttimeout.dispose();\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tprotected _resetActiveButtons(): void {\r\n\t\tif (this.getPrivate(\"deferReset\") !== true) {\r\n\t\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\t\tconst buttons = container.getElementsByClassName(\"am5stock-active\");\r\n\t\t\t$array.each(buttons, (b) => {\r\n\t\t\t\t$utils.removeClass(<HTMLElement>b, \"am5stock-active\");\r\n\t\t\t});\r\n\r\n\t\t\tlet axis = this.getPrivate(\"axis\");\r\n\t\t\tif (!axis) {\r\n\t\t\t\taxis = this._getAxis();\r\n\t\t\t\tthis.setPrivate(\"axis\", axis);\r\n\t\t\t\tthis._disposers.push(new MultiDisposer([\r\n\t\t\t\t\taxis!.on(\"start\", () => this._resetActiveButtons()),\r\n\t\t\t\t\taxis!.on(\"end\", () => this._resetActiveButtons())\r\n\t\t\t\t]));\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _setPeriodButtonStatus(): void {\r\n\t\tif (this.get(\"hideLongPeriods\")) {\r\n\t\t\tlet axis = this.getPrivate(\"axis\");\r\n\t\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\t\tconst buttons = container.getElementsByTagName(\"a\");\r\n\t\t\tif (!axis) {\r\n\t\t\t\taxis = this._getAxis();\r\n\t\t\t\tconst min = axis!.getPrivate(\"min\", 0);\r\n\t\t\t\tconst max = axis!.getPrivate(\"max\", 0);\r\n\t\t\t\tif (min && max) {\r\n\t\t\t\t\tconst diff = max - min;\r\n\t\t\t\t\tconst periods = this.get(\"periods\", []);\r\n\t\t\t\t\t$array.each(periods, (period) => {\r\n\t\t\t\t\t\tif (period.timeUnit !== \"ytd\" && period.timeUnit !== \"max\") {\r\n\t\t\t\t\t\t\tconst plen = $time.getDuration(period.timeUnit as TimeUnit, period.count || 1);\r\n\t\t\t\t\t\t\tconst id = period.timeUnit + (period.count || \"\");\r\n\t\t\t\t\t\t\tfor (let i = 0; i < buttons.length; i++) {\r\n\t\t\t\t\t\t\t\tconst button = buttons[i];\r\n\t\t\t\t\t\t\t\tif (button.getAttribute(\"data-period\") == id) {\r\n\t\t\t\t\t\t\t\t\tif (plen > diff) {\r\n\t\t\t\t\t\t\t\t\t\t$utils.addClass(button, \"am5stock-hidden\");\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t$utils.removeClass(button, \"am5stock-hidden\");\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// protected _getDefaultIcon(): SVGElement {\r\n\t// \treturn StockIcons.getIcon(\"Period\");\r\n\t// }\r\n\r\n\tpublic _afterChanged() {\r\n\t\tsuper._afterChanged();\r\n\t\t// if (this.isDirty(\"active\")) {\r\n\t\t// \tthis._initDropdown();\r\n\t\t// }\r\n\t}\r\n\r\n\tprotected _getChart(): any {\r\n\t\treturn this.get(\"stockChart\").panels.getIndex(0)!;\r\n\t}\r\n\r\n\tprotected _getAxis(): any {\r\n\t\treturn this._getChart().xAxes.getIndex(0)!;\r\n\t}\r\n\r\n\tpublic selectPeriod(period: IPeriod): void {\r\n\t\tconst fromStart = this.get(\"zoomTo\", \"end\") == \"start\";\r\n\t\tthis._highlightPeriod(period);\r\n\t\tif (period.timeUnit == \"max\") {\r\n\t\t\tthis._getChart().zoomOut();\r\n\t\t}\r\n\t\telse if (period.timeUnit == \"custom\") {\r\n\t\t\tconst axis = this._getAxis();\r\n\t\t\tlet start = period.start || new Date(axis.getPrivate(\"min\"));\r\n\t\t\tlet end = period.end || new Date(axis.getPrivate(\"max\"));\r\n\t\t\taxis.zoomToDates(start, end);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tconst axis = this._getAxis();\r\n\t\t\tlet end = new Date(axis.getPrivate(\"max\"));\r\n\t\t\tlet start: Date;\r\n\t\t\tif (period.timeUnit == \"ytd\") {\r\n\t\t\t\tstart = new Date(end.getFullYear(), 0, 1, 0, 0, 0, 0);\r\n\t\t\t\tend = new Date(axis.getIntervalMax(axis.get(\"baseInterval\")));\r\n\t\t\t\tif (axis.get(\"groupData\")) {\r\n\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\t}, 10);\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tconst timeUnit = period.timeUnit as TimeUnit;\r\n\t\t\t\t// some adjustments in case data is grouped\r\n\t\t\t\tif (axis.get(\"groupData\")) {\r\n\t\t\t\t\t// find interval which will be used after zoom\r\n\t\t\t\t\tconst interval = axis.getGroupInterval($time.getDuration(timeUnit, period.count))\r\n\t\t\t\t\tif (interval) {\r\n\r\n\t\t\t\t\t\tconst firstDay = this._root.locale.firstDayOfWeek;\r\n\t\t\t\t\t\tconst timezone = this._root.timezone;\r\n\t\t\t\t\t\tconst utc = this._root.utc;\r\n\r\n\t\t\t\t\t\tif (fromStart) {\r\n\t\t\t\t\t\t\tlet startTime = axis.getIntervalMin(axis.get(\"baseInterval\"));\r\n\t\t\t\t\t\t\tstart = new Date(axis.getPrivate(\"max\"));\r\n\r\n\t\t\t\t\t\t\tif (startTime != null) {\r\n\t\t\t\t\t\t\t\t// round to the previuous interval\r\n\t\t\t\t\t\t\t\tstart = $time.round(new Date(startTime), interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);\r\n\t\t\t\t\t\t\t\tstart.setTime(start.getTime() + $time.getDuration(interval.timeUnit, interval.count * .95));\r\n\t\t\t\t\t\t\t\tstart = $time.round(start, interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tend = $time.add(new Date(start), timeUnit, (period.count || 1));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t// find max of the base interval\r\n\t\t\t\t\t\t\tlet endTime = axis.getIntervalMax(axis.get(\"baseInterval\"));\r\n\r\n\t\t\t\t\t\t\tif (endTime != null) {\r\n\t\t\t\t\t\t\t\t// round to the future interval\r\n\t\t\t\t\t\t\t\tend = $time.round(new Date(endTime), interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);\r\n\t\t\t\t\t\t\t\tend.setTime(end.getTime() + $time.getDuration(interval.timeUnit, interval.count * 1.05));\r\n\t\t\t\t\t\t\t\tend = $time.round(end, interval.timeUnit, interval.count, firstDay, utc, undefined, timezone);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tstart = $time.add(new Date(end), timeUnit, (period.count || 1) * -1);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (this._groupChangedDp) {\r\n\t\t\t\t\t\t\tthis._groupChangedDp.dispose();\r\n\t\t\t\t\t\t\tthis._groupChangedDp = undefined;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (this._groupChangedTo) {\r\n\t\t\t\t\t\t\tthis._groupChangedTo.dispose();\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis._groupChangedDp = axis.events.once(\"groupintervalchanged\", () => {\r\n\t\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\taxis.zoomToDates(start, end, 0);\r\n\r\n\t\t\t\t\t\tthis._groupChangedTo = this.setTimeout(() => {\r\n\t\t\t\t\t\t\tif (this._groupChangedDp) {\r\n\t\t\t\t\t\t\t\tthis._groupChangedDp.dispose();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis._groupChangedTo = undefined;\r\n\t\t\t\t\t\t}, 500);\r\n\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (fromStart) {\r\n\t\t\t\t\tstart = new Date(axis.getPrivate(\"min\"));\r\n\t\t\t\t\tend = $time.add(new Date(start), timeUnit, (period.count || 1));\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tstart = $time.add(new Date(end), timeUnit, (period.count || 1) * -1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\taxis.zoomToDates(start, end);\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _highlightPeriod(period: IPeriod): void {\r\n\t\tconst id = period.timeUnit + (period.count || \"\");\r\n\t\tconst container = this.getPrivate(\"label\")!;\r\n\t\tconst buttons = container.getElementsByTagName(\"a\");\r\n\t\tfor (let i = 0; i < buttons.length; i++) {\r\n\t\t\tconst button = buttons[i];\r\n\t\t\tif (button.getAttribute(\"data-period\") == id && id != \"custom\") {\r\n\t\t\t\t$utils.addClass(button, \"am5stock-active\");\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$utils.removeClass(button, \"am5stock-active\");\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n}"]}
@@ -1209,7 +1209,7 @@ export class XYChart extends SerialChart {
1209
1209
  const tooltipSeries = [];
1210
1210
  this.series.each((series) => {
1211
1211
  const tooltip = series.get("tooltip");
1212
- if (tooltip) {
1212
+ if (tooltip && !tooltip.get("forceHidden")) {
1213
1213
  let hidden = false;
1214
1214
  let point = tooltip.get("pointTo");
1215
1215
  if (point) {