@amcharts/amcharts5 5.9.13 → 5.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/.internal/charts/flow/ArcDiagramNodes.d.ts.map +1 -1
  2. package/.internal/charts/flow/ArcDiagramNodes.js +2 -0
  3. package/.internal/charts/flow/ArcDiagramNodes.js.map +1 -1
  4. package/.internal/charts/flow/ChordNodes.d.ts.map +1 -1
  5. package/.internal/charts/flow/ChordNodes.js +2 -0
  6. package/.internal/charts/flow/ChordNodes.js.map +1 -1
  7. package/.internal/charts/flow/FlowNodes.d.ts +17 -1
  8. package/.internal/charts/flow/FlowNodes.d.ts.map +1 -1
  9. package/.internal/charts/flow/FlowNodes.js +13 -0
  10. package/.internal/charts/flow/FlowNodes.js.map +1 -1
  11. package/.internal/charts/flow/SankeyNodes.d.ts.map +1 -1
  12. package/.internal/charts/flow/SankeyNodes.js +2 -0
  13. package/.internal/charts/flow/SankeyNodes.js.map +1 -1
  14. package/.internal/charts/funnel/FunnelSeries.d.ts.map +1 -1
  15. package/.internal/charts/funnel/FunnelSeries.js +2 -0
  16. package/.internal/charts/funnel/FunnelSeries.js.map +1 -1
  17. package/.internal/charts/hierarchy/Hierarchy.d.ts +16 -0
  18. package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
  19. package/.internal/charts/hierarchy/Hierarchy.js +25 -4
  20. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  21. package/.internal/charts/hierarchy/LinkedHierarchy.d.ts.map +1 -1
  22. package/.internal/charts/hierarchy/LinkedHierarchy.js +5 -0
  23. package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
  24. package/.internal/charts/hierarchy/Pack.d.ts.map +1 -1
  25. package/.internal/charts/hierarchy/Pack.js +2 -0
  26. package/.internal/charts/hierarchy/Pack.js.map +1 -1
  27. package/.internal/charts/hierarchy/Partition.d.ts.map +1 -1
  28. package/.internal/charts/hierarchy/Partition.js +2 -0
  29. package/.internal/charts/hierarchy/Partition.js.map +1 -1
  30. package/.internal/charts/hierarchy/Sunburst.d.ts.map +1 -1
  31. package/.internal/charts/hierarchy/Sunburst.js +2 -0
  32. package/.internal/charts/hierarchy/Sunburst.js.map +1 -1
  33. package/.internal/charts/hierarchy/Treemap.d.ts.map +1 -1
  34. package/.internal/charts/hierarchy/Treemap.js +2 -0
  35. package/.internal/charts/hierarchy/Treemap.js.map +1 -1
  36. package/.internal/charts/hierarchy/VoronoiTreemap.d.ts.map +1 -1
  37. package/.internal/charts/hierarchy/VoronoiTreemap.js +2 -0
  38. package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -1
  39. package/.internal/charts/percent/PercentSeries.d.ts +16 -0
  40. package/.internal/charts/percent/PercentSeries.d.ts.map +1 -1
  41. package/.internal/charts/percent/PercentSeries.js +13 -0
  42. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  43. package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
  44. package/.internal/charts/pie/PieSeries.js +2 -0
  45. package/.internal/charts/pie/PieSeries.js.map +1 -1
  46. package/.internal/charts/stock/indicators/ChartIndicator.js +2 -2
  47. package/.internal/charts/stock/indicators/ChartIndicator.js.map +1 -1
  48. package/.internal/charts/venn/Venn.d.ts +19 -3
  49. package/.internal/charts/venn/Venn.d.ts.map +1 -1
  50. package/.internal/charts/venn/Venn.js +13 -0
  51. package/.internal/charts/venn/Venn.js.map +1 -1
  52. package/.internal/charts/xy/XYChart.d.ts +1 -1
  53. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  54. package/.internal/charts/xy/XYChart.js +7 -0
  55. package/.internal/charts/xy/XYChart.js.map +1 -1
  56. package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
  57. package/.internal/charts/xy/series/BaseColumnSeries.js +5 -0
  58. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  59. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  60. package/.internal/charts/xy/series/LineSeries.js +8 -0
  61. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  62. package/.internal/core/Classes.d.ts +2 -0
  63. package/.internal/core/Classes.d.ts.map +1 -1
  64. package/.internal/core/Classes.js.map +1 -1
  65. package/.internal/core/Registry.js +1 -1
  66. package/.internal/core/Registry.js.map +1 -1
  67. package/.internal/core/render/Component.d.ts +12 -4
  68. package/.internal/core/render/Component.d.ts.map +1 -1
  69. package/.internal/core/render/Component.js +14 -6
  70. package/.internal/core/render/Component.js.map +1 -1
  71. package/.internal/core/render/SerialChart.d.ts +9 -1
  72. package/.internal/core/render/SerialChart.d.ts.map +1 -1
  73. package/.internal/core/render/SerialChart.js +4 -0
  74. package/.internal/core/render/SerialChart.js.map +1 -1
  75. package/.internal/core/render/Series.d.ts +12 -4
  76. package/.internal/core/render/Series.d.ts.map +1 -1
  77. package/.internal/core/render/Series.js +4 -3
  78. package/.internal/core/render/Series.js.map +1 -1
  79. package/.internal/core/render/Sprite.d.ts.map +1 -1
  80. package/.internal/core/render/Sprite.js +45 -39
  81. package/.internal/core/render/Sprite.js.map +1 -1
  82. package/.internal/core/util/DurationFormatter.d.ts.map +1 -1
  83. package/.internal/core/util/DurationFormatter.js +9 -2
  84. package/.internal/core/util/DurationFormatter.js.map +1 -1
  85. package/.internal/core/util/PatternSet.d.ts +91 -0
  86. package/.internal/core/util/PatternSet.d.ts.map +1 -0
  87. package/.internal/core/util/PatternSet.js +236 -0
  88. package/.internal/core/util/PatternSet.js.map +1 -0
  89. package/.internal/plugins/json/Classes-script.d.ts +2 -0
  90. package/.internal/plugins/json/Classes-script.d.ts.map +1 -1
  91. package/.internal/plugins/json/Classes-script.js +1 -0
  92. package/.internal/plugins/json/Classes-script.js.map +1 -1
  93. package/.internal/plugins/json/Classes.d.ts +2 -0
  94. package/.internal/plugins/json/Classes.d.ts.map +1 -1
  95. package/.internal/plugins/json/Classes.js +1 -0
  96. package/.internal/plugins/json/Classes.js.map +1 -1
  97. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  98. package/.internal/themes/DefaultTheme.js +7 -0
  99. package/.internal/themes/DefaultTheme.js.map +1 -1
  100. package/CHANGELOG.md +18 -1
  101. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  102. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  103. package/examples/javascript/flow-chord/package.json +1 -1
  104. package/examples/javascript/flow-chord-directed/package.json +1 -1
  105. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  106. package/examples/javascript/flow-sankey/package.json +1 -1
  107. package/examples/javascript/gauge/package.json +1 -1
  108. package/examples/javascript/gauge-bands/package.json +1 -1
  109. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  110. package/examples/javascript/hierarchy-pack/package.json +1 -1
  111. package/examples/javascript/hierarchy-partition/package.json +1 -1
  112. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  113. package/examples/javascript/hierarchy-tree/package.json +1 -1
  114. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  115. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  116. package/examples/javascript/jest/package.json +1 -1
  117. package/examples/javascript/json-pie/package.json +1 -1
  118. package/examples/javascript/json-xy/package.json +1 -1
  119. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  120. package/examples/javascript/map-clustered-points/package.json +1 -1
  121. package/examples/javascript/map-day-and-night/package.json +1 -1
  122. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  123. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  124. package/examples/javascript/map-with-bubbles/package.json +1 -1
  125. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  126. package/examples/javascript/misc-40-charts/package.json +1 -1
  127. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  128. package/examples/javascript/pie-chart/package.json +1 -1
  129. package/examples/javascript/pie-donut-chart/package.json +1 -1
  130. package/examples/javascript/pie-variable-radius/package.json +1 -1
  131. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  132. package/examples/javascript/radar-heat-map/package.json +1 -1
  133. package/examples/javascript/radar-line/package.json +1 -1
  134. package/examples/javascript/radar-time-line/package.json +1 -1
  135. package/examples/javascript/sliced-funnel/package.json +1 -1
  136. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  137. package/examples/javascript/sliced-pyramid/package.json +1 -1
  138. package/examples/javascript/stock-chart/package.json +1 -1
  139. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  140. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  141. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  142. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  143. package/examples/javascript/stock-chart-live/package.json +1 -1
  144. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  145. package/examples/javascript/venn-diagram/package.json +1 -1
  146. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  147. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  148. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  149. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  150. package/examples/javascript/xy-bubble/package.json +1 -1
  151. package/examples/javascript/xy-candlestick/package.json +1 -1
  152. package/examples/javascript/xy-clustered-column/package.json +1 -1
  153. package/examples/javascript/xy-column/package.json +1 -1
  154. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  155. package/examples/javascript/xy-data-grouping/package.json +1 -1
  156. package/examples/javascript/xy-draggable-range/package.json +1 -1
  157. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  158. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  159. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  160. package/examples/javascript/xy-line/package.json +1 -1
  161. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  162. package/examples/javascript/xy-live-data/package.json +1 -1
  163. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  164. package/examples/javascript/xy-ohlc/package.json +1 -1
  165. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  166. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  167. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  168. package/examples/javascript/xy-stacked-column/package.json +1 -1
  169. package/examples/javascript/xy-stacked-step/package.json +1 -1
  170. package/examples/javascript/xy-stock/package.json +1 -1
  171. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  172. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  173. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  174. package/examples/typescript/flow-chord/package.json +1 -1
  175. package/examples/typescript/flow-chord-directed/package.json +1 -1
  176. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  177. package/examples/typescript/flow-sankey/package.json +1 -1
  178. package/examples/typescript/gauge/package.json +1 -1
  179. package/examples/typescript/gauge-bands/package.json +1 -1
  180. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  181. package/examples/typescript/hierarchy-pack/package.json +1 -1
  182. package/examples/typescript/hierarchy-partition/package.json +1 -1
  183. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  184. package/examples/typescript/hierarchy-tree/package.json +1 -1
  185. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  186. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  187. package/examples/typescript/jest/package.json +1 -1
  188. package/examples/typescript/json-pie/package.json +1 -1
  189. package/examples/typescript/json-xy/package.json +1 -1
  190. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  191. package/examples/typescript/map-clustered-points/package.json +1 -1
  192. package/examples/typescript/map-day-and-night/package.json +1 -1
  193. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  194. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  195. package/examples/typescript/map-with-bubbles/package.json +1 -1
  196. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  197. package/examples/typescript/misc-40-charts/package.json +1 -1
  198. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  199. package/examples/typescript/pie-chart/package.json +1 -1
  200. package/examples/typescript/pie-donut-chart/package.json +1 -1
  201. package/examples/typescript/pie-variable-radius/package.json +1 -1
  202. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  203. package/examples/typescript/radar-heat-map/package.json +1 -1
  204. package/examples/typescript/radar-line/package.json +1 -1
  205. package/examples/typescript/radar-time-line/package.json +1 -1
  206. package/examples/typescript/sliced-funnel/package.json +1 -1
  207. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  208. package/examples/typescript/sliced-pyramid/package.json +1 -1
  209. package/examples/typescript/stock-chart/package.json +1 -1
  210. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  211. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  212. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  213. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  214. package/examples/typescript/stock-chart-live/package.json +1 -1
  215. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  216. package/examples/typescript/venn-diagram/package.json +1 -1
  217. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  218. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  219. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  220. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  221. package/examples/typescript/xy-bubble/package.json +1 -1
  222. package/examples/typescript/xy-candlestick/package.json +1 -1
  223. package/examples/typescript/xy-clustered-column/package.json +1 -1
  224. package/examples/typescript/xy-column/package.json +1 -1
  225. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  226. package/examples/typescript/xy-data-grouping/package.json +1 -1
  227. package/examples/typescript/xy-draggable-range/package.json +1 -1
  228. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  229. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  230. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  231. package/examples/typescript/xy-line/package.json +1 -1
  232. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  233. package/examples/typescript/xy-live-data/package.json +1 -1
  234. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  235. package/examples/typescript/xy-ohlc/package.json +1 -1
  236. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  237. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  238. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  239. package/examples/typescript/xy-stacked-column/package.json +1 -1
  240. package/examples/typescript/xy-stacked-step/package.json +1 -1
  241. package/examples/typescript/xy-stock/package.json +1 -1
  242. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  243. package/index.d.ts +1 -0
  244. package/index.d.ts.map +1 -1
  245. package/index.js +1 -0
  246. package/index.js.map +1 -1
  247. package/package.json +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BaseColumnSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/series/BaseColumnSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../../core/render/Component\";\nimport type { Graphics } from \"../../../core/render/Graphics\";\nimport type { Template } from \"../../../core/util/Template\";\nimport type { ListTemplate } from \"../../../core/util/List\";\nimport type { CategoryAxis } from \"../axes/CategoryAxis\";\nimport type { DateAxis } from \"../axes/DateAxis\";\nimport type { ValueAxis } from \"../axes/ValueAxis\";\nimport type { IAxisDataItem } from \"../axes/Axis\";\nimport type { ILegendDataItem } from \"../../../core/render/Legend\";\nimport type { Sprite } from \"../../../core/render/Sprite\";\n\nimport { XYSeries, IXYSeriesPrivate, IXYSeriesSettings, IXYSeriesDataItem, IXYSeriesAxisRange } from \"./XYSeries\";\nimport { Percent } from \"../../../core/util/Percent\";\nimport { visualSettings } from \"../../../core/render/Graphics\";\n\nimport * as $array from \"../../../core/util/Array\";\nimport * as $type from \"../../../core/util/Type\";\n\nexport interface IBaseColumnSeriesDataItem extends IXYSeriesDataItem {\n\n\t/**\n\t * An actual [[Graphics]] element (Column/Slice/Candlestick/OHLC).\n\t */\n\tgraphics?: Graphics;\n\n\t/**\n\t * In case axis ranges are added to the series, it creates a separate\n\t * element ([[Graphics]]) for each axis range. This array holds them all.\n\t */\n\trangeGraphics?: Array<Graphics>;\n\n\t/**\n\t * If data items from this series are used to feed a [[Legend]], this\n\t * will hold a reference to the equivalent Legend data item.\n\t * \n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/legend/#Data_item_list} for more info\n\t */\n\tlegendDataItem?: DataItem<ILegendDataItem>;\n}\n\nexport interface IBaseColumnSeriesSettings extends IXYSeriesSettings {\n\n\t/**\n\t * Indicates if series must divvy up available space with other column\n\t * series (`true`; default) or take up the whole available space (`false`).\n\t *\n\t * @default true\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/column-series/#Clustering} for more info\n\t */\n\tclustered?: boolean;\n\n\t/**\n\t * Whether positions of bullets should be calculated based on portion of\n\t * column currently visual (`true`) or the whole length/height of the\n\t * column (`false`).\n\t *\n\t * @default true\n\t */\n\tadjustBulletPosition?: boolean;\n\n\t/**\n\t * If set to `true` will use color of the last visible column for legend\n\t * marker. Otherwise, series `fill`/`stroke` will be used.\n\t *\n\t * @since 5.1.13\n\t */\n\tuseLastColorForLegendMarker?: boolean\n\n}\n\nexport interface IBaseColumnSeriesPrivate extends IXYSeriesPrivate { }\n\nexport interface IBaseColumnSeriesAxisRange extends IXYSeriesAxisRange {\n\n\t/**\n\t * A list of actual [[Graphics]] elements for an axis range.\n\t *\n\t * Can be used to ajust the look of the axis range columns.\n\t */\n\tcolumns: ListTemplate<Graphics>;\n\n}\n\n/**\n * Base class for all \"column-based\" series\n */\nexport abstract class BaseColumnSeries extends XYSeries {\n\n\tdeclare public _settings: IBaseColumnSeriesSettings;\n\tdeclare public _privateSettings: IBaseColumnSeriesPrivate;\n\tdeclare public _dataItemSettings: IBaseColumnSeriesDataItem;\n\tdeclare public _axisRangeType: IBaseColumnSeriesAxisRange;\n\n\tpublic static className: string = \"BaseColumnSeries\";\n\tpublic static classNames: Array<string> = XYSeries.classNames.concat([BaseColumnSeries.className]);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract makeColumn(dataItem: DataItem<this[\"_dataItemSettings\"]>, listTemplate: ListTemplate<Graphics>): Graphics\n\n\t/**\n\t * ListTemplate of columns in series.\n\t */\n\tpublic abstract columns: ListTemplate<Graphics>;\n\n\tprotected _makeGraphics(listTemplate: ListTemplate<Graphics>, dataItem: DataItem<this[\"_dataItemSettings\"]>): Graphics {\n\t\treturn this.makeColumn(dataItem, listTemplate);\n\t}\n\n\tprotected _ph: number = 0;\n\tprotected _pw: number = 0;\n\n\tpublic _makeFieldNames() {\n\t\tsuper._makeFieldNames();\n\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\n\t\tconst categoryAxis = \"CategoryAxis\";\n\t\tconst valueAxis = \"ValueAxis\";\n\n\t\tif (xAxis.isType<CategoryAxis<any>>(categoryAxis)) {\n\t\t\tif (!this.get(\"openCategoryXField\")) {\n\t\t\t\tthis._xOpenField = this._xField;\n\t\t\t}\n\t\t}\n\n\t\tif (xAxis.isType<DateAxis<any>>(valueAxis)) {\n\t\t\tif (!this.get(\"openValueXField\")) {\n\t\t\t\tthis._xOpenField = this._xField;\n\t\t\t}\n\t\t}\n\n\t\tif (yAxis.isType<CategoryAxis<any>>(categoryAxis)) {\n\t\t\tif (!this.get(\"openCategoryYField\")) {\n\t\t\t\tthis._yOpenField = this._yField;\n\t\t\t}\n\t\t}\n\n\t\tif (yAxis.isType<DateAxis<any>>(valueAxis)) {\n\t\t\tif (!this.get(\"openValueYField\")) {\n\t\t\t\tthis._yOpenField = this._yField;\n\t\t\t}\n\t\t}\n\t}\n\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\n\t\tconst len = this.dataItems.length;\n\t\tconst startIndex = Math.max(0, this.startIndex() - 2);\n\t\tconst endIndex = Math.min(this.endIndex() + 2, len - 1);\n\n\t\tif (xAxis.inited && yAxis.inited) {\n\t\t\tfor (let i = startIndex; i <= endIndex; i++) {\n\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\tthis._createGraphics(dataItem);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _updateChildren() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tthis._ph = chart.plotContainer.height();\n\t\t\tthis._pw = chart.plotContainer.width();\n\t\t}\n\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\t\tconst baseAxis = this.get(\"baseAxis\")!;\n\n\t\tconst columnsTemplate = this.columns.template;\n\t\tif (this.isDirty(\"fill\")) {\n\t\t\tif (columnsTemplate.get(\"fill\") == null) {\n\t\t\t\tcolumnsTemplate.set(\"fill\", this.get(\"fill\"));\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"stroke\")) {\n\t\t\tif (columnsTemplate.get(\"stroke\") == null) {\n\t\t\t\tcolumnsTemplate.set(\"stroke\", this.get(\"stroke\"));\n\t\t\t}\n\t\t}\n\n\t\tlet index = 0;\n\t\tlet clusterCount = 0;\n\t\tlet i = 0;\n\n\t\t$array.each(baseAxis.series, (series) => {\n\t\t\tif (series instanceof BaseColumnSeries) {\n\t\t\t\tconst stacked = series.get(\"stacked\");\n\n\t\t\t\tif (stacked && i == 0) {\n\t\t\t\t\tclusterCount++;\n\t\t\t\t}\n\n\t\t\t\tif (!stacked && series.get(\"clustered\")) {\n\t\t\t\t\tclusterCount++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (series === this) {\n\t\t\t\tindex = clusterCount - 1;\n\t\t\t}\n\t\t\ti++;\n\t\t})\n\n\t\tif (!this.get(\"clustered\")) {\n\t\t\tindex = 0;\n\t\t\tclusterCount = 1;\n\t\t}\n\n\t\tif (clusterCount === 0) {\n\t\t\tclusterCount = 1;\n\t\t\tindex = 0;\n\t\t}\n\n\t\tconst xRenderer = xAxis.get(\"renderer\");\n\t\tconst yRenderer = yAxis.get(\"renderer\");\n\n\t\tconst cellStartLocation = \"cellStartLocation\";\n\t\tconst cellEndLocation = \"cellEndLocation\";\n\n\t\tconst cellLocationX0 = xRenderer.get(cellStartLocation, 0);\n\t\tconst cellLocationX1 = xRenderer.get(cellEndLocation, 1);\n\n\t\tconst cellLocationY0 = yRenderer.get(cellStartLocation, 0);\n\t\tconst cellLocationY1 = yRenderer.get(cellEndLocation, 1);\n\n\t\tthis._aLocationX0 = cellLocationX0 + (index / clusterCount) * (cellLocationX1 - cellLocationX0);\n\t\tthis._aLocationX1 = cellLocationX0 + (index + 1) / clusterCount * (cellLocationX1 - cellLocationX0);;\n\n\t\tthis._aLocationY0 = cellLocationY0 + (index / clusterCount) * (cellLocationY1 - cellLocationY0);\n\t\tthis._aLocationY1 = cellLocationY0 + (index + 1) / clusterCount * (cellLocationY1 - cellLocationY0);\n\n\t\tif (xAxis.inited && yAxis.inited) {\n\t\t\tif (this._axesDirty || this._valuesDirty || this._stackDirty || this.isDirty(\"vcx\") || this.isDirty(\"vcy\") || this._sizeDirty) {\n\t\t\t\tconst len = this.dataItems.length;\n\n\t\t\t\tlet startIndex = Math.max(0, this.startIndex() - 2);\n\t\t\t\tlet endIndex = Math.min(this.endIndex() + 2, len - 1);\n\n\t\t\t\tfor (let i = 0; i < startIndex; i++) {\n\t\t\t\t\tthis._toggleColumn(this.dataItems[i], false);\n\t\t\t\t}\n\t\t\t\tlet previous = this.dataItems[startIndex];\n\n\t\t\t\tfor (let i = startIndex; i <= endIndex; i++) {\n\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\tif (dataItem.get(\"valueX\") != null && dataItem.get(\"valueY\") != null) {\n\t\t\t\t\t\tprevious = dataItem;\n\t\t\t\t\t\tif (i > 0 && startIndex > 0) {\n\t\t\t\t\t\t\tfor (let j = i - 1; j >= 0; j--) {\n\t\t\t\t\t\t\t\tlet dataItem = this.dataItems[j];\n\t\t\t\t\t\t\t\tif (dataItem.get(\"valueX\") != null && dataItem.get(\"valueY\") != null) {\n\t\t\t\t\t\t\t\t\tprevious = dataItem;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis._toggleColumn(dataItem, false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (let i = startIndex; i <= endIndex; i++) {\n\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\tthis._updateGraphics(dataItem, previous);\n\t\t\t\t\tif (dataItem.get(\"valueX\") != null && dataItem.get(\"valueY\") != null) {\n\t\t\t\t\t\tprevious = dataItem;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfor (let i = endIndex + 1; i < len; i++) {\n\t\t\t\t\tthis._toggleColumn(this.dataItems[i], false);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis._skipped = true;\n\t\t}\n\t\tthis.updateLegendMarker(this.get(\"tooltipDataItem\"));\n\t\tsuper._updateChildren();\n\t}\n\n\n\tprotected _createGraphics(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet graphics = dataItem.get(\"graphics\");\n\t\tif (!graphics) {\n\n\t\t\tgraphics = this._makeGraphics(this.columns, dataItem);\n\t\t\tdataItem.set(\"graphics\", graphics);\n\t\t\tgraphics._setDataItem(dataItem);\n\n\t\t\tconst legendDataItem = dataItem.get(\"legendDataItem\");\n\t\t\tif (legendDataItem) {\n\t\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\t\t\t\tif (markerRectangle) {\n\t\t\t\t\tconst ds = markerRectangle.states.lookup(\"default\")!;\n\t\t\t\t\t$array.each(visualSettings, (setting: any) => {\n\t\t\t\t\t\tconst value = graphics!.get(setting, this.get(setting));\n\t\t\t\t\t\tmarkerRectangle.set(setting, value);\n\t\t\t\t\t\tds.set(setting, value);\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet graphicsArray: Array<Graphics> | undefined = dataItem.get(\"rangeGraphics\");\n\t\t\tif (graphicsArray) {\n\t\t\t\t$array.each(graphicsArray, (graphics) => {\n\t\t\t\t\tgraphics.dispose();\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tgraphicsArray = [];\n\t\t\tdataItem.setRaw(\"rangeGraphics\", graphicsArray);\n\n\t\t\tthis.axisRanges.each((axisRange) => {\n\t\t\t\tconst container = axisRange.container!;\n\t\t\t\tconst rangeGraphics = this._makeGraphics(axisRange.columns, dataItem);\n\t\t\t\tif (graphicsArray) {\n\t\t\t\t\tgraphicsArray.push(rangeGraphics);\n\t\t\t\t}\n\t\t\t\trangeGraphics.setPrivate(\"list\", axisRange.columns);\n\t\t\t\tcontainer.children.push(rangeGraphics);\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic createAxisRange(axisDataItem: DataItem<IAxisDataItem>): this[\"_axisRangeType\"] {\n\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\tconst graphics = dataItem.get(\"graphics\");\n\t\t\tif (graphics) {\n\t\t\t\tgraphics.dispose();\n\t\t\t\tdataItem.set(\"graphics\", undefined);\n\t\t\t}\n\t\t})\n\n\t\treturn super.createAxisRange(axisDataItem);\n\t}\n\n\tprotected _updateGraphics(dataItem: DataItem<this[\"_dataItemSettings\"]>, previousDataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet graphics = dataItem.get(\"graphics\")!;\n\n\t\t//if (!graphics) {\n\t\t//\tthis._createGraphics(dataItem);\n\t\t//\tgraphics = dataItem.get(\"graphics\")!;\n\t\t//}\n\n\t\tconst xField = this._xField;\n\t\tconst yField = this._yField;\n\n\t\tconst valueX = dataItem.get(xField as any);\n\t\tconst valueY = dataItem.get(yField as any);\n\n\t\tif (valueX != null && valueY != null) {\n\t\t\tconst xOpenField = this._xOpenField;\n\t\t\tconst yOpenField = this._yOpenField;\n\n\t\t\tconst locationX = this.get(\"locationX\", dataItem.get(\"locationX\", 0.5));\n\t\t\tconst locationY = this.get(\"locationY\", dataItem.get(\"locationY\", 0.5));\n\n\t\t\tconst openLocationX = this.get(\"openLocationX\", dataItem.get(\"openLocationX\", locationX));\n\t\t\tconst openLocationY = this.get(\"openLocationY\", dataItem.get(\"openLocationY\", locationY));\n\n\t\t\tconst width = graphics.get(\"width\");\n\t\t\tconst height = graphics.get(\"height\");\n\n\t\t\tconst stacked = this.get(\"stacked\");\n\n\t\t\tconst xAxis = this.get(\"xAxis\");\n\t\t\tconst yAxis = this.get(\"yAxis\");\n\t\t\tconst baseAxis = this.get(\"baseAxis\");\n\n\t\t\tconst xStart = xAxis.get(\"start\");\n\t\t\tconst xEnd = xAxis.get(\"end\");\n\n\t\t\tconst yStart = yAxis.get(\"start\");\n\t\t\tconst yEnd = yAxis.get(\"end\");\n\n\t\t\tlet l!: number;\n\t\t\tlet r!: number;\n\t\t\tlet t!: number;\n\t\t\tlet b!: number;\n\n\t\t\tlet vcy = this.get(\"vcy\", 1);\n\t\t\tlet vcx = this.get(\"vcx\", 1);\n\n\t\t\tlet fitW = false;\n\t\t\tlet fitH = false;\n\n\t\t\tif (yAxis.isType<CategoryAxis<any>>(\"CategoryAxis\") && xAxis.isType<CategoryAxis<any>>(\"CategoryAxis\")) {\n\n\t\t\t\tlet startLocation = this._aLocationX0 + openLocationX - 0.5;\n\t\t\t\tlet endLocation = this._aLocationX1 + locationX - 0.5;\n\n\t\t\t\tif (width instanceof Percent) {\n\t\t\t\t\tlet offset: number = (endLocation - startLocation) * (1 - width.value) / 2;\n\t\t\t\t\tstartLocation += offset;\n\t\t\t\t\tendLocation -= offset;\n\t\t\t\t}\n\n\t\t\t\tl = xAxis.getDataItemPositionX(dataItem, xOpenField, startLocation, vcx);\n\t\t\t\tr = xAxis.getDataItemPositionX(dataItem, xField, endLocation, vcx);\n\n\t\t\t\tstartLocation = this._aLocationY0 + openLocationY - 0.5;\n\t\t\t\tendLocation = this._aLocationY1 + locationY - 0.5;\n\n\t\t\t\tif (height instanceof Percent) {\n\t\t\t\t\tlet offset: number = (endLocation - startLocation) * (1 - height.value) / 2;\n\t\t\t\t\tstartLocation += offset;\n\t\t\t\t\tendLocation -= offset;\n\t\t\t\t}\n\n\t\t\t\tt = yAxis.getDataItemPositionY(dataItem, yOpenField, startLocation, vcy);\n\t\t\t\tb = yAxis.getDataItemPositionY(dataItem, yField, endLocation, vcy);\n\n\t\t\t\tdataItem.setRaw(\"point\", { x: l + (r - l) / 2, y: t + (b - t) / 2 });\n\t\t\t}\n\t\t\telse if (xAxis === baseAxis) {\n\n\t\t\t\tlet startLocation = this._aLocationX0 + openLocationX - 0.5;\n\t\t\t\tlet endLocation = this._aLocationX1 + locationX - 0.5;\n\n\t\t\t\tif (width instanceof Percent) {\n\t\t\t\t\tlet offset: number = (endLocation - startLocation) * (1 - width.value) / 2;\n\t\t\t\t\tstartLocation += offset;\n\t\t\t\t\tendLocation -= offset;\n\t\t\t\t}\n\n\t\t\t\tl = xAxis.getDataItemPositionX(dataItem, xOpenField, startLocation, vcx);\n\t\t\t\tr = xAxis.getDataItemPositionX(dataItem, xField, endLocation, vcx);\n\t\t\t\tt = yAxis.getDataItemPositionY(dataItem, yField, locationY, vcy);\n\n\t\t\t\tif (this._yOpenField !== this._yField) {\n\t\t\t\t\tb = yAxis.getDataItemPositionY(dataItem, yOpenField, openLocationY, vcy);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (stacked) {\n\t\t\t\t\t\tlet stackToItemY = dataItem.get(\"stackToItemY\")!;\n\t\t\t\t\t\tif (stackToItemY) {\n\t\t\t\t\t\t\tb = yAxis.getDataItemPositionY(stackToItemY, yField, openLocationY, (stackToItemY.component as XYSeries).get(\"vcy\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tb = yAxis.basePosition();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tb = yAxis.basePosition();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdataItem.setRaw(\"point\", { x: l + (r - l) / 2, y: t });\n\n\t\t\t\tfitH = true;\n\t\t\t}\n\t\t\telse if (yAxis === baseAxis) {\n\t\t\t\tlet startLocation = this._aLocationY0 + openLocationY - 0.5;\n\t\t\t\tlet endLocation = this._aLocationY1 + locationY - 0.5;\n\n\t\t\t\tif (height instanceof Percent) {\n\t\t\t\t\tlet offset: number = (endLocation - startLocation) * (1 - height.value) / 2;\n\t\t\t\t\tstartLocation += offset;\n\t\t\t\t\tendLocation -= offset;\n\t\t\t\t}\n\n\t\t\t\tt = yAxis.getDataItemPositionY(dataItem, yOpenField, startLocation, vcy);\n\t\t\t\tb = yAxis.getDataItemPositionY(dataItem, yField, endLocation, vcy);\n\t\t\t\tr = xAxis.getDataItemPositionX(dataItem, xField, locationX, vcx);\n\n\t\t\t\tif (this._xOpenField !== this._xField) {\n\t\t\t\t\tl = xAxis.getDataItemPositionX(dataItem, xOpenField, openLocationX, vcx);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (stacked) {\n\t\t\t\t\t\tlet stackToItemX = dataItem.get(\"stackToItemX\")!;\n\t\t\t\t\t\tif (stackToItemX) {\n\t\t\t\t\t\t\tl = xAxis.getDataItemPositionX(stackToItemX, xField, openLocationX, (stackToItemX.component as XYSeries).get(\"vcx\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tl = xAxis.basePosition();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tl = xAxis.basePosition();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfitW = true;\n\n\t\t\t\tdataItem.setRaw(\"point\", { x: r, y: t + (b - t) / 2 });\n\t\t\t}\n\n\t\t\tthis._updateSeriesGraphics(dataItem, graphics!, l, r, t, b, fitW, fitH);\n\n\t\t\tif ((l < xStart && r < xStart) || (l > xEnd && r > xEnd) || (t < yStart && b <= yStart) || (t >= yEnd && b > yEnd) || $type.isNaN(l) || $type.isNaN(t)) {\n\t\t\t\tthis._toggleColumn(dataItem, false);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._toggleColumn(dataItem, true);\n\t\t\t}\n\n\t\t\tlet rangeGraphics = dataItem.get(\"rangeGraphics\")!;\n\t\t\tif (rangeGraphics) {\n\t\t\t\t$array.each(rangeGraphics, (graphics) => {\n\t\t\t\t\tthis._updateSeriesGraphics(dataItem, graphics, l, r, t, b, fitW, fitH);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tthis._applyGraphicsStates(dataItem, previousDataItem);\n\t\t}\n\t}\n\n\tprotected _updateSeriesGraphics(dataItem: DataItem<this[\"_dataItemSettings\"]>, graphics: Graphics, l: number, r: number, t: number, b: number, fitW: boolean, fitH: boolean) {\n\t\tconst width = graphics.get(\"width\");\n\t\tconst height = graphics.get(\"height\");\n\t\tconst maxWidth = graphics.get(\"maxWidth\");\n\t\tconst maxHeight = graphics.get(\"maxHeight\");\n\n\t\tconst ptl = this.getPoint(l, t);\n\t\tconst pbr = this.getPoint(r, b);\n\n\t\tconst tooltipPoint = dataItem.get(\"point\");\n\n\t\tif (tooltipPoint) {\n\t\t\tconst point = this.getPoint(tooltipPoint.x, tooltipPoint.y);\n\t\t\ttooltipPoint.x = point.x + this._x;\n\t\t\ttooltipPoint.y = point.y + this._y;\n\t\t}\n\n\t\tl = ptl.x;\n\t\tr = pbr.x;\n\n\t\tt = ptl.y;\n\t\tb = pbr.y;\n\n\t\tif ($type.isNumber(width)) {\n\t\t\tconst offset: number = ((r - l) - width) / 2;\n\t\t\tl += offset;\n\t\t\tr -= offset;\n\t\t}\n\n\t\tif ($type.isNumber(maxWidth) && maxWidth < Math.abs(r - l)) {\n\t\t\tconst offset: number = ((r - l) - maxWidth) / 2;\n\t\t\tl += offset;\n\t\t\tr -= offset;\n\t\t}\n\n\t\tif ($type.isNumber(height)) {\n\t\t\tconst offset: number = ((b - t) - height) / 2;\n\t\t\tt += offset;\n\t\t\tb -= offset;\n\t\t}\n\n\t\tif ($type.isNumber(maxHeight) && maxHeight < Math.abs(b - t)) {\n\t\t\tconst offset: number = ((b - t) - maxHeight) / 2;\n\t\t\tt += offset;\n\t\t\tb -= offset;\n\t\t}\n\n\t\tif (this.get(\"adjustBulletPosition\")) {\n\t\t\tif (fitW) {\n\t\t\t\tr = Math.min(Math.max(0, r), this._pw);\n\t\t\t\tl = Math.min(Math.max(0, l), this._pw);\n\t\t\t}\n\n\t\t\tif (fitH) {\n\t\t\t\tt = Math.min(Math.max(0, t), this._ph);\n\t\t\t\tb = Math.min(Math.max(0, b), this._ph);\n\t\t\t}\n\t\t}\n\n\t\tdataItem.setRaw(\"left\", l);\n\t\tdataItem.setRaw(\"right\", r);\n\t\tdataItem.setRaw(\"top\", t);\n\t\tdataItem.setRaw(\"bottom\", b);\n\n\t\tgraphics.setPrivate(\"width\", r - l);\n\t\tgraphics.setPrivate(\"height\", b - t);\n\t\tgraphics.set(\"x\", l);\n\t\tgraphics.set(\"y\", b - (b - t));\n\t}\n\n\tprotected _handleDataSetChange() {\n\t\tsuper._handleDataSetChange();\n\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\tthis._toggleColumn(dataItem, false);\n\t\t})\n\t}\n\n\tpublic _applyGraphicsStates(dataItem: DataItem<this[\"_dataItemSettings\"]>, previousDataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t\tconst graphics = dataItem.get(\"graphics\")!;\n\n\t\tconst dropFromOpen = graphics.states.lookup(\"dropFromOpen\");\n\t\tconst riseFromOpen = graphics.states.lookup(\"riseFromOpen\");\n\n\t\tconst dropFromPrevious = graphics.states.lookup(\"dropFromPrevious\");\n\t\tconst riseFromPrevious = graphics.states.lookup(\"riseFromPrevious\");\n\n\t\tif (dropFromOpen || dropFromPrevious || riseFromOpen || riseFromPrevious) {\n\t\t\tconst xAxis = this.get(\"xAxis\");\n\t\t\tconst yAxis = this.get(\"yAxis\");\n\t\t\tconst baseAxis = this.get(\"baseAxis\");\n\n\t\t\tlet open: number | undefined;\n\t\t\tlet close: number | undefined;\n\t\t\tlet previousClose: number | undefined;\n\n\t\t\tif (baseAxis === xAxis && yAxis.isType<ValueAxis<any>>(\"ValueAxis\")) {\n\t\t\t\topen = dataItem.get(this._yOpenField as any);\n\t\t\t\tclose = dataItem.get(this._yField as any);\n\n\t\t\t\tpreviousClose = previousDataItem.get(this._yField as any);\n\t\t\t}\n\t\t\telse if (baseAxis === yAxis && xAxis.isType<ValueAxis<any>>(\"ValueAxis\")) {\n\t\t\t\topen = dataItem.get(this._xOpenField as any);\n\t\t\t\tclose = dataItem.get(this._xField as any);\n\n\t\t\t\tpreviousClose = previousDataItem.get(this._xField as any);\n\t\t\t}\n\n\t\t\tif ($type.isNumber(open) && $type.isNumber(close)) {\n\t\t\t\tif (close < open) {\n\t\t\t\t\tif (dropFromOpen) {\n\t\t\t\t\t\tdropFromOpen.apply();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (riseFromOpen) {\n\t\t\t\t\t\triseFromOpen.apply();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif ($type.isNumber(previousClose)) {\n\t\t\t\t\tif (close < previousClose) {\n\t\t\t\t\t\tif (dropFromPrevious) {\n\t\t\t\t\t\t\tdropFromPrevious.apply();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (riseFromPrevious) {\n\t\t\t\t\t\t\triseFromPrevious.apply();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tconst graphics = dataItem.get(\"graphics\");\n\t\tif (graphics) {\n\t\t\tthis.columns.removeValue(graphics);\n\t\t\tgraphics.dispose();\n\t\t}\n\n\t\tconst rangeGraphics = dataItem.get(\"rangeGraphics\")!;\n\t\tif (rangeGraphics) {\n\t\t\t$array.each(rangeGraphics, (graphics) => {\n\t\t\t\tconst list = graphics.getPrivate(\"list\");\n\t\t\t\tif (list) {\n\t\t\t\t\tlist.removeValue(graphics);\n\t\t\t\t}\n\t\t\t\tgraphics.dispose();\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Hides series's data item.\n\t * \n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\t\tconst graphics = dataItem.get(\"graphics\");\n\t\tif (graphics) {\n\t\t\tpromises.push(graphics.hide(duration));\n\t\t}\n\n\t\tconst rangeGraphics = dataItem.get(\"rangeGraphics\")!;\n\t\tif (rangeGraphics) {\n\t\t\t$array.each(rangeGraphics, (graphics) => {\n\t\t\t\tpromises.push(graphics.hide(duration));\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tprotected _toggleColumn(dataItem: DataItem<this[\"_dataItemSettings\"]>, visible: boolean) {\n\t\tconst graphics = dataItem.get(\"graphics\");\n\t\tif (graphics) {\n\t\t\tgraphics.setPrivate(\"visible\", visible);\n\t\t}\n\n\t\tconst rangeGraphics = dataItem.get(\"rangeGraphics\")!;\n\t\tif (rangeGraphics) {\n\t\t\t$array.each(rangeGraphics, (graphics) => {\n\t\t\t\tgraphics.setPrivate(\"visible\", visible);\n\t\t\t})\n\t\t}\n\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tbullet.setPrivate(\"hidden\", !visible);\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Shows series's data item.\n\t * \n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\t\tconst graphics = dataItem.get(\"graphics\");\n\t\tif (graphics) {\n\t\t\tpromises.push(graphics.show(duration));\n\t\t}\n\n\t\tconst rangeGraphics = dataItem.get(\"rangeGraphics\")!;\n\t\tif (rangeGraphics) {\n\t\t\t$array.each(rangeGraphics, (graphics) => {\n\t\t\t\tpromises.push(graphics.show(duration));\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendMarker(dataItem?: DataItem<IBaseColumnSeriesDataItem>) {\n\t\tlet legendDataItem = this.get(\"legendDataItem\");\n\n\t\tif (this.get(\"useLastColorForLegendMarker\")) {\n\t\t\tif (!dataItem) {\n\t\t\t\tconst lastDataItem = this.dataItems[this.endIndex() - 1];\n\t\t\t\tif (lastDataItem) {\n\t\t\t\t\tdataItem = lastDataItem;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (legendDataItem) {\n\n\t\t\tlet graphics: Template<Graphics> | Graphics = this.columns.template;\n\t\t\tif (dataItem) {\n\t\t\t\tlet column = dataItem.get(\"graphics\");\n\t\t\t\tif (column) {\n\t\t\t\t\tgraphics = column;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\n\t\t\tif (markerRectangle) {\n\t\t\t\tif (!legendDataItem.get(\"itemContainer\").get(\"disabled\")) {\n\t\t\t\t\tconst ds = markerRectangle.states.lookup(\"default\")!;\n\t\t\t\t\t$array.each(visualSettings, (setting: any) => {\n\t\t\t\t\t\tconst value = graphics.get(setting, this.get(setting));\n\t\t\t\t\t\tmarkerRectangle.set(setting, value);\n\t\t\t\t\t\tds.set(setting, value);\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t}\n\n\tprotected _getTooltipTarget(dataItem: DataItem<this[\"_dataItemSettings\"]>): Sprite {\n\t\tif (this.get(\"seriesTooltipTarget\") == \"bullet\") {\n\t\t\treturn super._getTooltipTarget(dataItem);\n\t\t}\n\n\t\tlet column = dataItem.get(\"graphics\");\n\t\tif (column) {\n\t\t\treturn column;\n\t\t}\n\t\treturn this;\n\t}\n}\n"]}
1
+ {"version":3,"file":"BaseColumnSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/series/BaseColumnSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../../core/render/Component\";\nimport type { Graphics } from \"../../../core/render/Graphics\";\nimport type { Template } from \"../../../core/util/Template\";\nimport type { ListTemplate } from \"../../../core/util/List\";\nimport type { CategoryAxis } from \"../axes/CategoryAxis\";\nimport type { DateAxis } from \"../axes/DateAxis\";\nimport type { ValueAxis } from \"../axes/ValueAxis\";\nimport type { IAxisDataItem } from \"../axes/Axis\";\nimport type { ILegendDataItem } from \"../../../core/render/Legend\";\nimport type { Sprite } from \"../../../core/render/Sprite\";\n\nimport { XYSeries, IXYSeriesPrivate, IXYSeriesSettings, IXYSeriesDataItem, IXYSeriesAxisRange } from \"./XYSeries\";\nimport { Percent } from \"../../../core/util/Percent\";\nimport { visualSettings } from \"../../../core/render/Graphics\";\n\nimport * as $array from \"../../../core/util/Array\";\nimport * as $type from \"../../../core/util/Type\";\n\nexport interface IBaseColumnSeriesDataItem extends IXYSeriesDataItem {\n\n\t/**\n\t * An actual [[Graphics]] element (Column/Slice/Candlestick/OHLC).\n\t */\n\tgraphics?: Graphics;\n\n\t/**\n\t * In case axis ranges are added to the series, it creates a separate\n\t * element ([[Graphics]]) for each axis range. This array holds them all.\n\t */\n\trangeGraphics?: Array<Graphics>;\n\n\t/**\n\t * If data items from this series are used to feed a [[Legend]], this\n\t * will hold a reference to the equivalent Legend data item.\n\t * \n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/legend/#Data_item_list} for more info\n\t */\n\tlegendDataItem?: DataItem<ILegendDataItem>;\n}\n\nexport interface IBaseColumnSeriesSettings extends IXYSeriesSettings {\n\n\t/**\n\t * Indicates if series must divvy up available space with other column\n\t * series (`true`; default) or take up the whole available space (`false`).\n\t *\n\t * @default true\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/column-series/#Clustering} for more info\n\t */\n\tclustered?: boolean;\n\n\t/**\n\t * Whether positions of bullets should be calculated based on portion of\n\t * column currently visual (`true`) or the whole length/height of the\n\t * column (`false`).\n\t *\n\t * @default true\n\t */\n\tadjustBulletPosition?: boolean;\n\n\t/**\n\t * If set to `true` will use color of the last visible column for legend\n\t * marker. Otherwise, series `fill`/`stroke` will be used.\n\t *\n\t * @since 5.1.13\n\t */\n\tuseLastColorForLegendMarker?: boolean\n\n}\n\nexport interface IBaseColumnSeriesPrivate extends IXYSeriesPrivate { }\n\nexport interface IBaseColumnSeriesAxisRange extends IXYSeriesAxisRange {\n\n\t/**\n\t * A list of actual [[Graphics]] elements for an axis range.\n\t *\n\t * Can be used to ajust the look of the axis range columns.\n\t */\n\tcolumns: ListTemplate<Graphics>;\n\n}\n\n/**\n * Base class for all \"column-based\" series\n */\nexport abstract class BaseColumnSeries extends XYSeries {\n\n\tdeclare public _settings: IBaseColumnSeriesSettings;\n\tdeclare public _privateSettings: IBaseColumnSeriesPrivate;\n\tdeclare public _dataItemSettings: IBaseColumnSeriesDataItem;\n\tdeclare public _axisRangeType: IBaseColumnSeriesAxisRange;\n\n\tpublic static className: string = \"BaseColumnSeries\";\n\tpublic static classNames: Array<string> = XYSeries.classNames.concat([BaseColumnSeries.className]);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract makeColumn(dataItem: DataItem<this[\"_dataItemSettings\"]>, listTemplate: ListTemplate<Graphics>): Graphics\n\n\t/**\n\t * ListTemplate of columns in series.\n\t */\n\tpublic abstract columns: ListTemplate<Graphics>;\n\n\tprotected _makeGraphics(listTemplate: ListTemplate<Graphics>, dataItem: DataItem<this[\"_dataItemSettings\"]>): Graphics {\n\t\treturn this.makeColumn(dataItem, listTemplate);\n\t}\n\n\tprotected _ph: number = 0;\n\tprotected _pw: number = 0;\n\n\tpublic _makeFieldNames() {\n\t\tsuper._makeFieldNames();\n\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\n\t\tconst categoryAxis = \"CategoryAxis\";\n\t\tconst valueAxis = \"ValueAxis\";\n\n\t\tif (xAxis.isType<CategoryAxis<any>>(categoryAxis)) {\n\t\t\tif (!this.get(\"openCategoryXField\")) {\n\t\t\t\tthis._xOpenField = this._xField;\n\t\t\t}\n\t\t}\n\n\t\tif (xAxis.isType<DateAxis<any>>(valueAxis)) {\n\t\t\tif (!this.get(\"openValueXField\")) {\n\t\t\t\tthis._xOpenField = this._xField;\n\t\t\t}\n\t\t}\n\n\t\tif (yAxis.isType<CategoryAxis<any>>(categoryAxis)) {\n\t\t\tif (!this.get(\"openCategoryYField\")) {\n\t\t\t\tthis._yOpenField = this._yField;\n\t\t\t}\n\t\t}\n\n\t\tif (yAxis.isType<DateAxis<any>>(valueAxis)) {\n\t\t\tif (!this.get(\"openValueYField\")) {\n\t\t\t\tthis._yOpenField = this._yField;\n\t\t\t}\n\t\t}\n\t}\n\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\n\t\tconst len = this.dataItems.length;\n\t\tconst startIndex = Math.max(0, this.startIndex() - 2);\n\t\tconst endIndex = Math.min(this.endIndex() + 2, len - 1);\n\n\t\tif (xAxis.inited && yAxis.inited) {\n\t\t\tfor (let i = startIndex; i <= endIndex; i++) {\n\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\tthis._createGraphics(dataItem);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _updateChildren() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tthis._ph = chart.plotContainer.height();\n\t\t\tthis._pw = chart.plotContainer.width();\n\t\t}\n\n\t\tconst xAxis = this.get(\"xAxis\");\n\t\tconst yAxis = this.get(\"yAxis\");\n\t\tconst baseAxis = this.get(\"baseAxis\")!;\n\n\t\tconst columnsTemplate = this.columns.template;\n\t\tif (this.isDirty(\"fill\")) {\n\t\t\tif (columnsTemplate.get(\"fill\") == null) {\n\t\t\t\tcolumnsTemplate.set(\"fill\", this.get(\"fill\"));\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"fillPattern\")) {\n\t\t\tif (columnsTemplate.get(\"fillPattern\") == null) {\n\t\t\t\tcolumnsTemplate.set(\"fillPattern\", this.get(\"fillPattern\"));\n\t\t\t}\n\t\t}\t\t\n\n\t\tif (this.isDirty(\"stroke\")) {\n\t\t\tif (columnsTemplate.get(\"stroke\") == null) {\n\t\t\t\tcolumnsTemplate.set(\"stroke\", this.get(\"stroke\"));\n\t\t\t}\n\t\t}\n\n\t\tlet index = 0;\n\t\tlet clusterCount = 0;\n\t\tlet i = 0;\n\n\t\t$array.each(baseAxis.series, (series) => {\n\t\t\tif (series instanceof BaseColumnSeries) {\n\t\t\t\tconst stacked = series.get(\"stacked\");\n\n\t\t\t\tif (stacked && i == 0) {\n\t\t\t\t\tclusterCount++;\n\t\t\t\t}\n\n\t\t\t\tif (!stacked && series.get(\"clustered\")) {\n\t\t\t\t\tclusterCount++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (series === this) {\n\t\t\t\tindex = clusterCount - 1;\n\t\t\t}\n\t\t\ti++;\n\t\t})\n\n\t\tif (!this.get(\"clustered\")) {\n\t\t\tindex = 0;\n\t\t\tclusterCount = 1;\n\t\t}\n\n\t\tif (clusterCount === 0) {\n\t\t\tclusterCount = 1;\n\t\t\tindex = 0;\n\t\t}\n\n\t\tconst xRenderer = xAxis.get(\"renderer\");\n\t\tconst yRenderer = yAxis.get(\"renderer\");\n\n\t\tconst cellStartLocation = \"cellStartLocation\";\n\t\tconst cellEndLocation = \"cellEndLocation\";\n\n\t\tconst cellLocationX0 = xRenderer.get(cellStartLocation, 0);\n\t\tconst cellLocationX1 = xRenderer.get(cellEndLocation, 1);\n\n\t\tconst cellLocationY0 = yRenderer.get(cellStartLocation, 0);\n\t\tconst cellLocationY1 = yRenderer.get(cellEndLocation, 1);\n\n\t\tthis._aLocationX0 = cellLocationX0 + (index / clusterCount) * (cellLocationX1 - cellLocationX0);\n\t\tthis._aLocationX1 = cellLocationX0 + (index + 1) / clusterCount * (cellLocationX1 - cellLocationX0);;\n\n\t\tthis._aLocationY0 = cellLocationY0 + (index / clusterCount) * (cellLocationY1 - cellLocationY0);\n\t\tthis._aLocationY1 = cellLocationY0 + (index + 1) / clusterCount * (cellLocationY1 - cellLocationY0);\n\n\t\tif (xAxis.inited && yAxis.inited) {\n\t\t\tif (this._axesDirty || this._valuesDirty || this._stackDirty || this.isDirty(\"vcx\") || this.isDirty(\"vcy\") || this._sizeDirty) {\n\t\t\t\tconst len = this.dataItems.length;\n\n\t\t\t\tlet startIndex = Math.max(0, this.startIndex() - 2);\n\t\t\t\tlet endIndex = Math.min(this.endIndex() + 2, len - 1);\n\n\t\t\t\tfor (let i = 0; i < startIndex; i++) {\n\t\t\t\t\tthis._toggleColumn(this.dataItems[i], false);\n\t\t\t\t}\n\t\t\t\tlet previous = this.dataItems[startIndex];\n\n\t\t\t\tfor (let i = startIndex; i <= endIndex; i++) {\n\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\tif (dataItem.get(\"valueX\") != null && dataItem.get(\"valueY\") != null) {\n\t\t\t\t\t\tprevious = dataItem;\n\t\t\t\t\t\tif (i > 0 && startIndex > 0) {\n\t\t\t\t\t\t\tfor (let j = i - 1; j >= 0; j--) {\n\t\t\t\t\t\t\t\tlet dataItem = this.dataItems[j];\n\t\t\t\t\t\t\t\tif (dataItem.get(\"valueX\") != null && dataItem.get(\"valueY\") != null) {\n\t\t\t\t\t\t\t\t\tprevious = dataItem;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis._toggleColumn(dataItem, false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (let i = startIndex; i <= endIndex; i++) {\n\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\tthis._updateGraphics(dataItem, previous);\n\t\t\t\t\tif (dataItem.get(\"valueX\") != null && dataItem.get(\"valueY\") != null) {\n\t\t\t\t\t\tprevious = dataItem;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfor (let i = endIndex + 1; i < len; i++) {\n\t\t\t\t\tthis._toggleColumn(this.dataItems[i], false);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis._skipped = true;\n\t\t}\n\t\tthis.updateLegendMarker(this.get(\"tooltipDataItem\"));\n\t\tsuper._updateChildren();\n\t}\n\n\n\tprotected _createGraphics(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet graphics = dataItem.get(\"graphics\");\n\t\tif (!graphics) {\n\n\t\t\tgraphics = this._makeGraphics(this.columns, dataItem);\n\t\t\tdataItem.set(\"graphics\", graphics);\n\t\t\tgraphics._setDataItem(dataItem);\n\n\t\t\tconst legendDataItem = dataItem.get(\"legendDataItem\");\n\t\t\tif (legendDataItem) {\n\t\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\t\t\t\tif (markerRectangle) {\n\t\t\t\t\tconst ds = markerRectangle.states.lookup(\"default\")!;\n\t\t\t\t\t$array.each(visualSettings, (setting: any) => {\n\t\t\t\t\t\tconst value = graphics!.get(setting, this.get(setting));\n\t\t\t\t\t\tmarkerRectangle.set(setting, value);\n\t\t\t\t\t\tds.set(setting, value);\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet graphicsArray: Array<Graphics> | undefined = dataItem.get(\"rangeGraphics\");\n\t\t\tif (graphicsArray) {\n\t\t\t\t$array.each(graphicsArray, (graphics) => {\n\t\t\t\t\tgraphics.dispose();\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tgraphicsArray = [];\n\t\t\tdataItem.setRaw(\"rangeGraphics\", graphicsArray);\n\n\t\t\tthis.axisRanges.each((axisRange) => {\n\t\t\t\tconst container = axisRange.container!;\n\t\t\t\tconst rangeGraphics = this._makeGraphics(axisRange.columns, dataItem);\n\t\t\t\tif (graphicsArray) {\n\t\t\t\t\tgraphicsArray.push(rangeGraphics);\n\t\t\t\t}\n\t\t\t\trangeGraphics.setPrivate(\"list\", axisRange.columns);\n\t\t\t\tcontainer.children.push(rangeGraphics);\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic createAxisRange(axisDataItem: DataItem<IAxisDataItem>): this[\"_axisRangeType\"] {\n\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\tconst graphics = dataItem.get(\"graphics\");\n\t\t\tif (graphics) {\n\t\t\t\tgraphics.dispose();\n\t\t\t\tdataItem.set(\"graphics\", undefined);\n\t\t\t}\n\t\t})\n\n\t\treturn super.createAxisRange(axisDataItem);\n\t}\n\n\tprotected _updateGraphics(dataItem: DataItem<this[\"_dataItemSettings\"]>, previousDataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet graphics = dataItem.get(\"graphics\")!;\n\n\t\t//if (!graphics) {\n\t\t//\tthis._createGraphics(dataItem);\n\t\t//\tgraphics = dataItem.get(\"graphics\")!;\n\t\t//}\n\n\t\tconst xField = this._xField;\n\t\tconst yField = this._yField;\n\n\t\tconst valueX = dataItem.get(xField as any);\n\t\tconst valueY = dataItem.get(yField as any);\n\n\t\tif (valueX != null && valueY != null) {\n\t\t\tconst xOpenField = this._xOpenField;\n\t\t\tconst yOpenField = this._yOpenField;\n\n\t\t\tconst locationX = this.get(\"locationX\", dataItem.get(\"locationX\", 0.5));\n\t\t\tconst locationY = this.get(\"locationY\", dataItem.get(\"locationY\", 0.5));\n\n\t\t\tconst openLocationX = this.get(\"openLocationX\", dataItem.get(\"openLocationX\", locationX));\n\t\t\tconst openLocationY = this.get(\"openLocationY\", dataItem.get(\"openLocationY\", locationY));\n\n\t\t\tconst width = graphics.get(\"width\");\n\t\t\tconst height = graphics.get(\"height\");\n\n\t\t\tconst stacked = this.get(\"stacked\");\n\n\t\t\tconst xAxis = this.get(\"xAxis\");\n\t\t\tconst yAxis = this.get(\"yAxis\");\n\t\t\tconst baseAxis = this.get(\"baseAxis\");\n\n\t\t\tconst xStart = xAxis.get(\"start\");\n\t\t\tconst xEnd = xAxis.get(\"end\");\n\n\t\t\tconst yStart = yAxis.get(\"start\");\n\t\t\tconst yEnd = yAxis.get(\"end\");\n\n\t\t\tlet l!: number;\n\t\t\tlet r!: number;\n\t\t\tlet t!: number;\n\t\t\tlet b!: number;\n\n\t\t\tlet vcy = this.get(\"vcy\", 1);\n\t\t\tlet vcx = this.get(\"vcx\", 1);\n\n\t\t\tlet fitW = false;\n\t\t\tlet fitH = false;\n\n\t\t\tif (yAxis.isType<CategoryAxis<any>>(\"CategoryAxis\") && xAxis.isType<CategoryAxis<any>>(\"CategoryAxis\")) {\n\n\t\t\t\tlet startLocation = this._aLocationX0 + openLocationX - 0.5;\n\t\t\t\tlet endLocation = this._aLocationX1 + locationX - 0.5;\n\n\t\t\t\tif (width instanceof Percent) {\n\t\t\t\t\tlet offset: number = (endLocation - startLocation) * (1 - width.value) / 2;\n\t\t\t\t\tstartLocation += offset;\n\t\t\t\t\tendLocation -= offset;\n\t\t\t\t}\n\n\t\t\t\tl = xAxis.getDataItemPositionX(dataItem, xOpenField, startLocation, vcx);\n\t\t\t\tr = xAxis.getDataItemPositionX(dataItem, xField, endLocation, vcx);\n\n\t\t\t\tstartLocation = this._aLocationY0 + openLocationY - 0.5;\n\t\t\t\tendLocation = this._aLocationY1 + locationY - 0.5;\n\n\t\t\t\tif (height instanceof Percent) {\n\t\t\t\t\tlet offset: number = (endLocation - startLocation) * (1 - height.value) / 2;\n\t\t\t\t\tstartLocation += offset;\n\t\t\t\t\tendLocation -= offset;\n\t\t\t\t}\n\n\t\t\t\tt = yAxis.getDataItemPositionY(dataItem, yOpenField, startLocation, vcy);\n\t\t\t\tb = yAxis.getDataItemPositionY(dataItem, yField, endLocation, vcy);\n\n\t\t\t\tdataItem.setRaw(\"point\", { x: l + (r - l) / 2, y: t + (b - t) / 2 });\n\t\t\t}\n\t\t\telse if (xAxis === baseAxis) {\n\n\t\t\t\tlet startLocation = this._aLocationX0 + openLocationX - 0.5;\n\t\t\t\tlet endLocation = this._aLocationX1 + locationX - 0.5;\n\n\t\t\t\tif (width instanceof Percent) {\n\t\t\t\t\tlet offset: number = (endLocation - startLocation) * (1 - width.value) / 2;\n\t\t\t\t\tstartLocation += offset;\n\t\t\t\t\tendLocation -= offset;\n\t\t\t\t}\n\n\t\t\t\tl = xAxis.getDataItemPositionX(dataItem, xOpenField, startLocation, vcx);\n\t\t\t\tr = xAxis.getDataItemPositionX(dataItem, xField, endLocation, vcx);\n\t\t\t\tt = yAxis.getDataItemPositionY(dataItem, yField, locationY, vcy);\n\n\t\t\t\tif (this._yOpenField !== this._yField) {\n\t\t\t\t\tb = yAxis.getDataItemPositionY(dataItem, yOpenField, openLocationY, vcy);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (stacked) {\n\t\t\t\t\t\tlet stackToItemY = dataItem.get(\"stackToItemY\")!;\n\t\t\t\t\t\tif (stackToItemY) {\n\t\t\t\t\t\t\tb = yAxis.getDataItemPositionY(stackToItemY, yField, openLocationY, (stackToItemY.component as XYSeries).get(\"vcy\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tb = yAxis.basePosition();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tb = yAxis.basePosition();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdataItem.setRaw(\"point\", { x: l + (r - l) / 2, y: t });\n\n\t\t\t\tfitH = true;\n\t\t\t}\n\t\t\telse if (yAxis === baseAxis) {\n\t\t\t\tlet startLocation = this._aLocationY0 + openLocationY - 0.5;\n\t\t\t\tlet endLocation = this._aLocationY1 + locationY - 0.5;\n\n\t\t\t\tif (height instanceof Percent) {\n\t\t\t\t\tlet offset: number = (endLocation - startLocation) * (1 - height.value) / 2;\n\t\t\t\t\tstartLocation += offset;\n\t\t\t\t\tendLocation -= offset;\n\t\t\t\t}\n\n\t\t\t\tt = yAxis.getDataItemPositionY(dataItem, yOpenField, startLocation, vcy);\n\t\t\t\tb = yAxis.getDataItemPositionY(dataItem, yField, endLocation, vcy);\n\t\t\t\tr = xAxis.getDataItemPositionX(dataItem, xField, locationX, vcx);\n\n\t\t\t\tif (this._xOpenField !== this._xField) {\n\t\t\t\t\tl = xAxis.getDataItemPositionX(dataItem, xOpenField, openLocationX, vcx);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (stacked) {\n\t\t\t\t\t\tlet stackToItemX = dataItem.get(\"stackToItemX\")!;\n\t\t\t\t\t\tif (stackToItemX) {\n\t\t\t\t\t\t\tl = xAxis.getDataItemPositionX(stackToItemX, xField, openLocationX, (stackToItemX.component as XYSeries).get(\"vcx\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tl = xAxis.basePosition();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tl = xAxis.basePosition();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfitW = true;\n\n\t\t\t\tdataItem.setRaw(\"point\", { x: r, y: t + (b - t) / 2 });\n\t\t\t}\n\n\t\t\tthis._updateSeriesGraphics(dataItem, graphics!, l, r, t, b, fitW, fitH);\n\n\t\t\tif ((l < xStart && r < xStart) || (l > xEnd && r > xEnd) || (t < yStart && b <= yStart) || (t >= yEnd && b > yEnd) || $type.isNaN(l) || $type.isNaN(t)) {\n\t\t\t\tthis._toggleColumn(dataItem, false);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._toggleColumn(dataItem, true);\n\t\t\t}\n\n\t\t\tlet rangeGraphics = dataItem.get(\"rangeGraphics\")!;\n\t\t\tif (rangeGraphics) {\n\t\t\t\t$array.each(rangeGraphics, (graphics) => {\n\t\t\t\t\tthis._updateSeriesGraphics(dataItem, graphics, l, r, t, b, fitW, fitH);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tthis._applyGraphicsStates(dataItem, previousDataItem);\n\t\t}\n\t}\n\n\tprotected _updateSeriesGraphics(dataItem: DataItem<this[\"_dataItemSettings\"]>, graphics: Graphics, l: number, r: number, t: number, b: number, fitW: boolean, fitH: boolean) {\n\t\tconst width = graphics.get(\"width\");\n\t\tconst height = graphics.get(\"height\");\n\t\tconst maxWidth = graphics.get(\"maxWidth\");\n\t\tconst maxHeight = graphics.get(\"maxHeight\");\n\n\t\tconst ptl = this.getPoint(l, t);\n\t\tconst pbr = this.getPoint(r, b);\n\n\t\tconst tooltipPoint = dataItem.get(\"point\");\n\n\t\tif (tooltipPoint) {\n\t\t\tconst point = this.getPoint(tooltipPoint.x, tooltipPoint.y);\n\t\t\ttooltipPoint.x = point.x + this._x;\n\t\t\ttooltipPoint.y = point.y + this._y;\n\t\t}\n\n\t\tl = ptl.x;\n\t\tr = pbr.x;\n\n\t\tt = ptl.y;\n\t\tb = pbr.y;\n\n\t\tif ($type.isNumber(width)) {\n\t\t\tconst offset: number = ((r - l) - width) / 2;\n\t\t\tl += offset;\n\t\t\tr -= offset;\n\t\t}\n\n\t\tif ($type.isNumber(maxWidth) && maxWidth < Math.abs(r - l)) {\n\t\t\tconst offset: number = ((r - l) - maxWidth) / 2;\n\t\t\tl += offset;\n\t\t\tr -= offset;\n\t\t}\n\n\t\tif ($type.isNumber(height)) {\n\t\t\tconst offset: number = ((b - t) - height) / 2;\n\t\t\tt += offset;\n\t\t\tb -= offset;\n\t\t}\n\n\t\tif ($type.isNumber(maxHeight) && maxHeight < Math.abs(b - t)) {\n\t\t\tconst offset: number = ((b - t) - maxHeight) / 2;\n\t\t\tt += offset;\n\t\t\tb -= offset;\n\t\t}\n\n\t\tif (this.get(\"adjustBulletPosition\")) {\n\t\t\tif (fitW) {\n\t\t\t\tr = Math.min(Math.max(0, r), this._pw);\n\t\t\t\tl = Math.min(Math.max(0, l), this._pw);\n\t\t\t}\n\n\t\t\tif (fitH) {\n\t\t\t\tt = Math.min(Math.max(0, t), this._ph);\n\t\t\t\tb = Math.min(Math.max(0, b), this._ph);\n\t\t\t}\n\t\t}\n\n\t\tdataItem.setRaw(\"left\", l);\n\t\tdataItem.setRaw(\"right\", r);\n\t\tdataItem.setRaw(\"top\", t);\n\t\tdataItem.setRaw(\"bottom\", b);\n\n\t\tgraphics.setPrivate(\"width\", r - l);\n\t\tgraphics.setPrivate(\"height\", b - t);\n\t\tgraphics.set(\"x\", l);\n\t\tgraphics.set(\"y\", b - (b - t));\n\t}\n\n\tprotected _handleDataSetChange() {\n\t\tsuper._handleDataSetChange();\n\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\tthis._toggleColumn(dataItem, false);\n\t\t})\n\t}\n\n\tpublic _applyGraphicsStates(dataItem: DataItem<this[\"_dataItemSettings\"]>, previousDataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t\tconst graphics = dataItem.get(\"graphics\")!;\n\n\t\tconst dropFromOpen = graphics.states.lookup(\"dropFromOpen\");\n\t\tconst riseFromOpen = graphics.states.lookup(\"riseFromOpen\");\n\n\t\tconst dropFromPrevious = graphics.states.lookup(\"dropFromPrevious\");\n\t\tconst riseFromPrevious = graphics.states.lookup(\"riseFromPrevious\");\n\n\t\tif (dropFromOpen || dropFromPrevious || riseFromOpen || riseFromPrevious) {\n\t\t\tconst xAxis = this.get(\"xAxis\");\n\t\t\tconst yAxis = this.get(\"yAxis\");\n\t\t\tconst baseAxis = this.get(\"baseAxis\");\n\n\t\t\tlet open: number | undefined;\n\t\t\tlet close: number | undefined;\n\t\t\tlet previousClose: number | undefined;\n\n\t\t\tif (baseAxis === xAxis && yAxis.isType<ValueAxis<any>>(\"ValueAxis\")) {\n\t\t\t\topen = dataItem.get(this._yOpenField as any);\n\t\t\t\tclose = dataItem.get(this._yField as any);\n\n\t\t\t\tpreviousClose = previousDataItem.get(this._yField as any);\n\t\t\t}\n\t\t\telse if (baseAxis === yAxis && xAxis.isType<ValueAxis<any>>(\"ValueAxis\")) {\n\t\t\t\topen = dataItem.get(this._xOpenField as any);\n\t\t\t\tclose = dataItem.get(this._xField as any);\n\n\t\t\t\tpreviousClose = previousDataItem.get(this._xField as any);\n\t\t\t}\n\n\t\t\tif ($type.isNumber(open) && $type.isNumber(close)) {\n\t\t\t\tif (close < open) {\n\t\t\t\t\tif (dropFromOpen) {\n\t\t\t\t\t\tdropFromOpen.apply();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (riseFromOpen) {\n\t\t\t\t\t\triseFromOpen.apply();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif ($type.isNumber(previousClose)) {\n\t\t\t\t\tif (close < previousClose) {\n\t\t\t\t\t\tif (dropFromPrevious) {\n\t\t\t\t\t\t\tdropFromPrevious.apply();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (riseFromPrevious) {\n\t\t\t\t\t\t\triseFromPrevious.apply();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tconst graphics = dataItem.get(\"graphics\");\n\t\tif (graphics) {\n\t\t\tthis.columns.removeValue(graphics);\n\t\t\tgraphics.dispose();\n\t\t}\n\n\t\tconst rangeGraphics = dataItem.get(\"rangeGraphics\")!;\n\t\tif (rangeGraphics) {\n\t\t\t$array.each(rangeGraphics, (graphics) => {\n\t\t\t\tconst list = graphics.getPrivate(\"list\");\n\t\t\t\tif (list) {\n\t\t\t\t\tlist.removeValue(graphics);\n\t\t\t\t}\n\t\t\t\tgraphics.dispose();\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Hides series's data item.\n\t * \n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\t\tconst graphics = dataItem.get(\"graphics\");\n\t\tif (graphics) {\n\t\t\tpromises.push(graphics.hide(duration));\n\t\t}\n\n\t\tconst rangeGraphics = dataItem.get(\"rangeGraphics\")!;\n\t\tif (rangeGraphics) {\n\t\t\t$array.each(rangeGraphics, (graphics) => {\n\t\t\t\tpromises.push(graphics.hide(duration));\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tprotected _toggleColumn(dataItem: DataItem<this[\"_dataItemSettings\"]>, visible: boolean) {\n\t\tconst graphics = dataItem.get(\"graphics\");\n\t\tif (graphics) {\n\t\t\tgraphics.setPrivate(\"visible\", visible);\n\t\t}\n\n\t\tconst rangeGraphics = dataItem.get(\"rangeGraphics\")!;\n\t\tif (rangeGraphics) {\n\t\t\t$array.each(rangeGraphics, (graphics) => {\n\t\t\t\tgraphics.setPrivate(\"visible\", visible);\n\t\t\t})\n\t\t}\n\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tbullet.setPrivate(\"hidden\", !visible);\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Shows series's data item.\n\t * \n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\t\tconst graphics = dataItem.get(\"graphics\");\n\t\tif (graphics) {\n\t\t\tpromises.push(graphics.show(duration));\n\t\t}\n\n\t\tconst rangeGraphics = dataItem.get(\"rangeGraphics\")!;\n\t\tif (rangeGraphics) {\n\t\t\t$array.each(rangeGraphics, (graphics) => {\n\t\t\t\tpromises.push(graphics.show(duration));\n\t\t\t})\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendMarker(dataItem?: DataItem<IBaseColumnSeriesDataItem>) {\n\t\tlet legendDataItem = this.get(\"legendDataItem\");\n\n\t\tif (this.get(\"useLastColorForLegendMarker\")) {\n\t\t\tif (!dataItem) {\n\t\t\t\tconst lastDataItem = this.dataItems[this.endIndex() - 1];\n\t\t\t\tif (lastDataItem) {\n\t\t\t\t\tdataItem = lastDataItem;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (legendDataItem) {\n\n\t\t\tlet graphics: Template<Graphics> | Graphics = this.columns.template;\n\t\t\tif (dataItem) {\n\t\t\t\tlet column = dataItem.get(\"graphics\");\n\t\t\t\tif (column) {\n\t\t\t\t\tgraphics = column;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\n\t\t\tif (markerRectangle) {\n\t\t\t\tif (!legendDataItem.get(\"itemContainer\").get(\"disabled\")) {\n\t\t\t\t\tconst ds = markerRectangle.states.lookup(\"default\")!;\n\t\t\t\t\t$array.each(visualSettings, (setting: any) => {\n\t\t\t\t\t\tconst value = graphics.get(setting, this.get(setting));\n\t\t\t\t\t\tmarkerRectangle.set(setting, value);\n\t\t\t\t\t\tds.set(setting, value);\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t}\n\n\tprotected _getTooltipTarget(dataItem: DataItem<this[\"_dataItemSettings\"]>): Sprite {\n\t\tif (this.get(\"seriesTooltipTarget\") == \"bullet\") {\n\t\t\treturn super._getTooltipTarget(dataItem);\n\t\t}\n\n\t\tlet column = dataItem.get(\"graphics\");\n\t\tif (column) {\n\t\t\treturn column;\n\t\t}\n\t\treturn this;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"LineSeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/series/LineSeries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LineSeries.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/series/LineSeries.ts"],"names":[],"mappings":"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"}
@@ -164,6 +164,14 @@ export class LineSeries extends XYSeries {
164
164
  legendFill.states.lookup("default").set("fill", fill);
165
165
  }
166
166
  }
167
+ if (this.isDirty("fillPattern")) {
168
+ const fillPattern = this.get("fillPattern");
169
+ this.fills.template.set("fillPattern", fillPattern);
170
+ const legendFill = this._legendFill;
171
+ if (legendFill) {
172
+ legendFill.states.lookup("default").set("fillPattern", fillPattern);
173
+ }
174
+ }
167
175
  if (this.isDirty("curveFactory")) {
168
176
  const curveFactory = this.get("curveFactory");
169
177
  if (curveFactory) {
@@ -1 +1 @@
1
- {"version":3,"file":"LineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/series/LineSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Axis } from \"../axes/Axis\";\nimport type { AxisRenderer } from \"../axes/AxisRenderer\";\n\nimport { XYSeries, IXYSeriesPrivate, IXYSeriesSettings, IXYSeriesDataItem, IXYSeriesAxisRange } from \"./XYSeries\";\nimport { Graphics } from \"../../../core/render/Graphics\";\nimport { CurveFactory, line, area } from \"d3-shape\";\nimport { Template } from \"../../../core/util/Template\";\nimport { ListTemplate } from \"../../../core/util/List\";\nimport { color } from \"../../../core/util/Color\";\nimport { DataItem } from \"../../../core/render/Component\";\nimport { Rectangle } from \"../../../core/render/Rectangle\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $array from \"../../../core/util/Array\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface IPointOptions {\n}\n\nexport interface ILineSeriesDataItem extends IXYSeriesDataItem {\n}\n\nexport interface ILineSeriesSettings extends IXYSeriesSettings {\n\n\t/**\n\t * If set to `true` the line will connect over \"gaps\" - categories or time\n\t * intervals with no data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Gaps} for more info\n\t * @default true\n\t */\n\tconnect?: boolean;\n\n\t/**\n\t * If there are more than `autoGapCount` base time intervals (e.g. days) with\n\t * no data, the line will break and will display gap.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Auto_gaps_with_dates} for more info\n\t * @default 1.1\n\t */\n\tautoGapCount?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tcurveFactory?: CurveFactory;\n\n\t/**\n\t * Allows simplifying the line with many points.\n\t *\n\t * If set, the series will skip points that are closer than X pixels to each\n\t * other.\n\t *\n\t * With many data points, this allows having smoother, less cluttered lines.\n\t *\n\t * @default 0\n\t * @since 5.2.7\n\t */\n\tminDistance?: number;\n\n\n}\n\nexport interface ILineSeriesPrivate extends IXYSeriesPrivate {\n}\n\n/**\n * Interface representing a [[LineSeries]] axis range.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/#Series_axis_ranges} for more info\n */\nexport interface ILineSeriesAxisRange extends IXYSeriesAxisRange {\n\n\t/**\n\t * A list template to use when applying line settings to the line segments covered\n\t * by an axis range.\n\t */\n\tstrokes?: ListTemplate<Graphics>;\n\n\t/**\n\t * A list template to use when applying fill settings to the fill segments covered\n\t * by an axis range.\n\t */\n\tfills?: ListTemplate<Graphics>;\n}\n\n/**\n * Used to plot line and/or area series.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/} for more info\n * @important\n */\nexport class LineSeries extends XYSeries {\n\n\tdeclare public _settings: ILineSeriesSettings;\n\tdeclare public _privateSettings: ILineSeriesPrivate;\n\tdeclare public _dataItemSettings: ILineSeriesDataItem;\n\tdeclare public _axisRangeType: ILineSeriesAxisRange;\n\n\tpublic static className: string = \"LineSeries\";\n\tpublic static classNames: Array<string> = XYSeries.classNames.concat([LineSeries.className]);\n\n\tprotected _endIndex!: number;\n\n\tprotected _strokeGenerator = line();\n\tprotected _fillGenerator = area();\n\n\tprotected _legendStroke?: Graphics;\n\tprotected _legendFill?: Graphics;\n\n\tprotected _afterNew() {\n\t\tthis._fillGenerator.y0(function(p: number[]) {\n\t\t\treturn p[3];\n\t\t});\n\n\t\tthis._fillGenerator.x0(function(p: number[]) {\n\t\t\treturn p[2];\n\t\t});\n\n\t\tthis._fillGenerator.y1(function(p: number[]) {\n\t\t\treturn p[1];\n\t\t});\n\n\t\tthis._fillGenerator.x1(function(p: number[]) {\n\t\t\treturn p[0];\n\t\t});\n\n\t\tsuper._afterNew();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeStroke(strokes: ListTemplate<Graphics>): Graphics {\n\t\tconst stroke = this.mainContainer.children.push(strokes.make());\n\t\tstrokes.push(stroke);\n\t\treturn stroke;\n\t}\n\n\t/**\n\t * A [[TemplateList]] of all line segments in series.\n\t *\n\t * `strokes.template` can be used to set default settings for all line\n\t * segments, or to change on existing ones.\n\t *\n\t * @default new ListTemplate<Graphics>\n\t */\n\tpublic readonly strokes: ListTemplate<Graphics> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Graphics._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.strokes.template.get(\"themeTags\", []), [\"line\", \"series\", \"stroke\"])\n\t\t}, [this.strokes.template]),\n\t);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeFill(fills: ListTemplate<Graphics>): Graphics {\n\t\tconst fill = this.mainContainer.children.push(fills.make());\n\t\tfills.push(fill);\n\t\treturn fill;\n\t}\n\n\t/**\n\t * A [[TemplateList]] of all segment fills in series.\n\t *\n\t * `fills.template` can be used to set default settings for all segment\n\t * fills, or to change on existing ones.\n\t *\n\t * @default new ListTemplate<Graphics>\n\t */\n\tpublic readonly fills: ListTemplate<Graphics> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Graphics._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.strokes.template.get(\"themeTags\", []), [\"line\", \"series\", \"fill\"])\n\t\t}, [this.fills.template]),\n\t);\n\n\t// custom set from data\n\tprotected _fillTemplate: Template<Graphics> | undefined;\n\tprotected _strokeTemplate: Template<Graphics> | undefined;\n\n\tprotected _previousPoint: Array<number> = [0, 0, 0, 0];\n\n\tprotected _dindex = 0;\n\tprotected _sindex = 0;\n\n\tpublic _updateChildren() {\n\n\t\tthis._strokeTemplate = undefined;\n\t\tthis._fillTemplate = undefined;\n\n\t\tlet xAxis = this.get(\"xAxis\");\n\t\tlet yAxis = this.get(\"yAxis\");\n\n\t\tif (this.isDirty(\"stroke\")) {\n\t\t\tconst stroke = this.get(\"stroke\");\n\t\t\tthis.strokes.template.set(\"stroke\", stroke);\n\t\t\tconst legendStroke = this._legendStroke;\n\t\t\tif (legendStroke) {\n\t\t\t\tlegendStroke.states.lookup(\"default\")!.set(\"stroke\", stroke);\n\t\t\t}\n\t\t}\n\t\tif (this.isDirty(\"fill\")) {\n\t\t\tconst fill = this.get(\"fill\");\n\t\t\tthis.fills.template.set(\"fill\", fill);\n\t\t\tconst legendFill = this._legendFill;\n\t\t\tif (legendFill) {\n\t\t\t\tlegendFill.states.lookup(\"default\")!.set(\"fill\", fill);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"curveFactory\")) {\n\t\t\tconst curveFactory = this.get(\"curveFactory\")!;\n\t\t\tif (curveFactory) {\n\t\t\t\tthis._strokeGenerator.curve(curveFactory);\n\t\t\t\tthis._fillGenerator.curve(curveFactory);\n\t\t\t}\n\t\t}\n\n\t\tif (xAxis.inited && yAxis.inited) {\n\t\t\tif (this._axesDirty || this._valuesDirty || this._stackDirty || this.isDirty(\"vcx\") || this.isDirty(\"vcy\") || this._sizeDirty || this.isDirty(\"connect\") || this.isDirty(\"curveFactory\")) {\n\n\t\t\t\tthis.fills.each((fill) => {\n\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t})\n\n\t\t\t\tthis.strokes.each((fill) => {\n\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t})\n\n\t\t\t\tthis.axisRanges.each((axisRange) => {\n\t\t\t\t\tlet fills = axisRange.fills;\n\t\t\t\t\tif (fills) {\n\t\t\t\t\t\tfills.each((fill) => {\n\t\t\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tlet strokes = axisRange.strokes;\n\t\t\t\t\tif (strokes) {\n\t\t\t\t\t\tstrokes.each((stroke) => {\n\t\t\t\t\t\t\tstroke.setPrivate(\"visible\", false);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tlet startIndex = this.startIndex();\n\n\t\t\t\tlet strokeTemplateField = this.strokes.template.get(\"templateField\");\n\t\t\t\tlet fillTemplateField = this.fills.template.get(\"templateField\");\n\n\t\t\t\tlet strokeTemplateFound = true;\n\t\t\t\tlet fillTemplateFound = true;\n\n\t\t\t\tif (strokeTemplateField) {\n\t\t\t\t\tstrokeTemplateFound = false;\n\t\t\t\t}\n\t\t\t\tif (fillTemplateField) {\n\t\t\t\t\tfillTemplateFound = false;\n\t\t\t\t}\n\n\t\t\t\tfor (let i = startIndex - 1; i >= 0; i--) {\n\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\tlet hasValues = true;\n\t\t\t\t\tlet dataContext = dataItem.dataContext as any;\n\t\t\t\t\tif (strokeTemplateField) {\n\t\t\t\t\t\tif (dataContext[strokeTemplateField]) {\n\t\t\t\t\t\t\tstrokeTemplateFound = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (fillTemplateField) {\n\t\t\t\t\t\tif (dataContext[fillTemplateField]) {\n\t\t\t\t\t\t\tfillTemplateFound = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$array.each(this._valueFields, (field) => {\n\t\t\t\t\t\tif (!$type.isNumber(dataItem.get(field as any))) {\n\t\t\t\t\t\t\thasValues = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tif (hasValues && strokeTemplateFound && fillTemplateFound) {\n\t\t\t\t\t\tstartIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t\tlet len = this.dataItems.length;\n\t\t\t\tlet endIndex = this.endIndex();\n\n\t\t\t\tif (endIndex < len) {\n\t\t\t\t\tendIndex++;\n\t\t\t\t\tfor (let i = endIndex; i < len; i++) {\n\t\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\t\tlet hasValues = true;\n\t\t\t\t\t\t$array.each(this._valueFields, (field) => {\n\t\t\t\t\t\t\tif (!$type.isNumber(dataItem.get(field as any))) {\n\t\t\t\t\t\t\t\thasValues = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\tif (hasValues) {\n\t\t\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (startIndex > 0) {\n\t\t\t\t\tstartIndex--;\n\t\t\t\t}\n\n\t\t\t\tthis._endIndex = endIndex;\n\n\t\t\t\tthis._clearGraphics();\n\t\t\t\tthis._sindex = 0;\n\t\t\t\tthis._dindex = startIndex;\n\t\t\t\tif (this.dataItems.length == 1) {\n\t\t\t\t\tthis._startSegment(0);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// this is done to avoid recursion with a lot of segments \n\t\t\t\t\twhile (this._dindex < endIndex - 1) {\n\t\t\t\t\t\tthis._startSegment(this._dindex);\n\t\t\t\t\t\tthis._sindex++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis._skipped = true;\n\t\t}\n\n\t\tsuper._updateChildren();\n\t}\n\n\tprotected _clearGraphics() {\n\t\tthis.strokes.clear();\n\t\tthis.fills.clear();\n\t}\n\n\tprotected _startSegment(dataItemIndex: number) {\n\t\tlet endIndex = this._endIndex;\n\t\tlet currentEndIndex = endIndex;\n\n\t\tconst autoGapCount = this.get(\"autoGapCount\")!;\n\t\tconst connect = this.get(\"connect\");\n\n\t\tconst fill = this.makeFill(this.fills);\n\n\t\tconst fillTemplate = this._fillTemplate;\n\t\tconst originalTemplate = this.fills.template;\n\t\tif (fillTemplate && fillTemplate != originalTemplate) {\n\t\t\tfill.template = fillTemplate;\n\t\t}\n\n\t\tfill.setPrivate(\"visible\", true);\n\n\t\tconst stroke = this.makeStroke(this.strokes);\n\n\t\tconst strokeTemplate = this._strokeTemplate;\n\t\tif (strokeTemplate && strokeTemplate != this.strokes.template) {\n\t\t\tstroke.template = strokeTemplate;\n\t\t}\n\n\t\tstroke.setPrivate(\"visible\", true);\n\n\t\tlet xAxis = this.get(\"xAxis\");\n\t\tlet yAxis = this.get(\"yAxis\");\n\t\tlet baseAxis = this.get(\"baseAxis\")!;\n\n\t\tlet vcx = this.get(\"vcx\", 1);\n\t\tlet vcy = this.get(\"vcy\", 1);\n\n\t\tlet xField = this._xField;\n\t\tlet yField = this._yField;\n\n\t\tlet xOpenField = this._xOpenField;\n\t\tlet yOpenField = this._yOpenField;\n\n\t\tconst xOpenFieldValue = this.get(\"openValueXField\");\n\t\tconst yOpenFieldValue = this.get(\"openValueYField\");\n\n\t\tif (!xOpenFieldValue) {\n\t\t\txOpenField = this._xField;\n\t\t}\n\n\t\tif (!yOpenFieldValue) {\n\t\t\tyOpenField = this._yField;\n\t\t}\n\n\t\tconst stacked = this.get(\"stacked\");\n\n\t\tconst basePosX = xAxis.basePosition();\n\t\tconst basePosY = yAxis.basePosition();\n\n\t\tlet baseField: string;\n\t\tif (baseAxis === yAxis) {\n\t\t\tbaseField = this._yField;\n\t\t}\n\t\telse {\n\t\t\tbaseField = this._xField;\n\t\t}\n\n\t\tconst segments: Array<Array<Array<number>>> = [];\n\t\tlet points: Array<Array<number>> = [];\n\t\tsegments.push(points);\n\n\t\tconst strokeTemplateField = this.strokes.template.get(\"templateField\");\n\t\tconst fillTemplateField = this.fills.template.get(\"templateField\");\n\n\t\tlet locationX = this.get(\"locationX\", 0.5);\n\t\tlet locationY = this.get(\"locationY\", 0.5);\n\n\t\tlet openLocationX = this.get(\"openLocationX\", locationX);\n\t\tlet openLocationY = this.get(\"openLocationY\", locationY);\n\n\t\tconst minDistance = this.get(\"minDistance\", 0);\n\n\t\tlet i: number;\n\n\t\tlet fillVisible = this.fills.template.get(\"visible\");\n\t\tif (this.axisRanges.length > 0) {\n\t\t\tfillVisible = true;\n\t\t}\n\n\t\tlet getOpen = false;\n\t\tif (stacked || xOpenFieldValue || yOpenFieldValue) {\n\t\t\tgetOpen = true;\n\t\t}\n\n\t\tconst o = {\n\t\t\tpoints, segments, stacked, getOpen, basePosX, basePosY, fillVisible, xField, yField, xOpenField, yOpenField, vcx, vcy, baseAxis, xAxis, yAxis, locationX, locationY, openLocationX, openLocationY, minDistance\n\t\t}\n\n\n\t\tlet rangeStrokeTemplate = this._strokeTemplate;\n\t\tlet rangeFillTemplate = this._fillTemplate;\n\n\t\tfor (i = dataItemIndex; i < currentEndIndex; i++) {\n\t\t\tthis._dindex = i;\n\t\t\tconst dataItem = this._dataItems[i];\n\n\t\t\tlet valueX = dataItem.get(xField as any);\n\t\t\tlet valueY = dataItem.get(yField as any);\n\n\t\t\tif (valueX == null || valueY == null) {\n\t\t\t\tif (!connect) {\n\t\t\t\t\tpoints = [];\n\t\t\t\t\tsegments.push(points);\n\t\t\t\t\to.points = points;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._getPoints(dataItem, o);\n\t\t\t}\n\n\t\t\tif (strokeTemplateField) {\n\t\t\t\tlet strokeTemplate = (dataItem.dataContext as any)[strokeTemplateField]\n\t\t\t\tif (strokeTemplate) {\n\t\t\t\t\tif (!(strokeTemplate instanceof Template)) {\n\t\t\t\t\t\tstrokeTemplate = Template.new(strokeTemplate);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._strokeTemplate = strokeTemplate;\n\t\t\t\t\tif (i > dataItemIndex) {\n\t\t\t\t\t\tcurrentEndIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\trangeStrokeTemplate = strokeTemplate;\n\t\t\t\t\t\tstroke.template = strokeTemplate;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (fillTemplateField) {\n\t\t\t\tlet fillTemplate = (dataItem.dataContext as any)[fillTemplateField]\n\t\t\t\tif (fillTemplate) {\n\t\t\t\t\tif (!(fillTemplate instanceof Template)) {\n\t\t\t\t\t\tfillTemplate = Template.new(fillTemplate);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._fillTemplate = fillTemplate;\n\t\t\t\t\tif (i > dataItemIndex) {\n\t\t\t\t\t\tcurrentEndIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\trangeFillTemplate = fillTemplate;\n\t\t\t\t\t\tfill.template = fillTemplate;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!connect) {\n\t\t\t\tlet nextItem = this.dataItems[i + 1];\n\t\t\t\tif (nextItem) {\n\t\t\t\t\tif (baseAxis.shouldGap(dataItem, nextItem, autoGapCount, baseField)) {\n\t\t\t\t\t\tpoints = [];\n\t\t\t\t\t\tsegments.push(points);\n\t\t\t\t\t\to.points = points;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfill.setRaw(\"userData\", [dataItemIndex, i]);\n\t\tstroke.setRaw(\"userData\", [dataItemIndex, i]);\n\n\t\tif (i === endIndex) {\n\t\t\tthis._endLine(points, segments[0][0]);\n\t\t}\n\n\t\tif (stroke) {\n\t\t\tthis._drawStroke(stroke, segments);\n\t\t}\n\n\t\tif (fill) {\n\t\t\tthis._drawFill(fill, segments);\n\t\t}\n\n\t\tthis.axisRanges.each((axisRange) => {\n\t\t\tconst container = axisRange.container;\n\t\t\tconst fills = axisRange.fills!;\n\t\t\tconst fill = this.makeFill(fills);\n\n\t\t\tif (container) {\n\t\t\t\tcontainer.children.push(fill);\n\t\t\t}\n\n\t\t\tfill.setPrivate(\"visible\", true);\n\t\t\tthis._drawFill(fill, segments);\n\n\t\t\tconst strokes = axisRange.strokes!;\n\t\t\tconst stroke = this.makeStroke(strokes);\n\t\t\tif (container) {\n\t\t\t\tcontainer.children.push(stroke);\n\t\t\t}\n\n\t\t\tif (rangeStrokeTemplate && rangeStrokeTemplate != this.strokes.template) {\n\t\t\t\tstroke.template = rangeStrokeTemplate;\n\t\t\t}\t\t\t\n\n\t\t\tif (rangeFillTemplate && rangeFillTemplate != this.fills.template) {\n\t\t\t\tfill.template = rangeFillTemplate;\n\t\t\t}\t\t\t\t\t\t\n\n\t\t\tstroke.setPrivate(\"visible\", true);\n\t\t\tthis._drawStroke(stroke, segments);\n\n\t\t\tfill.setRaw(\"userData\", [dataItemIndex, i]);\n\t\t\tstroke.setRaw(\"userData\", [dataItemIndex, i]);\n\t\t})\n\t}\n\n\tprotected _getPoints(dataItem: DataItem<this[\"_dataItemSettings\"]>, o: { points: Array<Array<number>>, segments: number[][][], stacked: boolean | undefined, getOpen: boolean, basePosX: number, basePosY: number, fillVisible: boolean | undefined, xField: string, yField: string, xOpenField: string, yOpenField: string, vcx: number, vcy: number, baseAxis: Axis<AxisRenderer>, xAxis: Axis<AxisRenderer>, yAxis: Axis<AxisRenderer>, locationX: number, locationY: number, openLocationX: number, openLocationY: number, minDistance: number }) {\n\t\tlet points = o.points;\n\n\t\tlet itemLocationX = dataItem.get(\"locationX\", o.locationX);\n\t\tlet itemLocationY = dataItem.get(\"locationY\", o.locationY);\n\n\t\tlet xPos = o.xAxis.getDataItemPositionX(dataItem, o.xField, itemLocationX, o.vcx);\n\t\tlet yPos = o.yAxis.getDataItemPositionY(dataItem, o.yField, itemLocationY, o.vcy);\n\n\t\tif (this._shouldInclude(xPos)) {\n\n\t\t\tconst iPoint = this.getPoint(xPos, yPos);\n\t\t\tconst point = [iPoint.x, iPoint.y];\n\n\t\t\tiPoint.x += this._x;\n\t\t\tiPoint.y += this._y;\n\n\t\t\tdataItem.set(\"point\", iPoint);\n\n\t\t\tif (o.fillVisible) {\n\t\t\t\tlet xPos0: number = xPos;\n\t\t\t\tlet yPos0: number = yPos;\n\n\t\t\t\tif (o.baseAxis === o.xAxis) {\n\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t}\n\t\t\t\telse if (o.baseAxis === o.yAxis) {\n\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t}\n\n\t\t\t\tif (o.getOpen) {\n\t\t\t\t\tlet valueX = dataItem.get(o.xOpenField as any);\n\t\t\t\t\tlet valueY = dataItem.get(o.yOpenField as any);\n\n\t\t\t\t\tif (valueX != null && valueY != null) {\n\t\t\t\t\t\tlet itemLocationX = dataItem.get(\"openLocationX\", o.openLocationX);\n\t\t\t\t\t\tlet itemLocationY = dataItem.get(\"openLocationY\", o.openLocationY);\n\n\t\t\t\t\t\tif (o.stacked) {\n\t\t\t\t\t\t\tlet stackToItemX = dataItem.get(\"stackToItemX\")!;\n\t\t\t\t\t\t\tlet stackToItemY = dataItem.get(\"stackToItemY\")!;\n\n\t\t\t\t\t\t\tif (stackToItemX) {\n\t\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(stackToItemX, o.xField, itemLocationX, (stackToItemX.component as XYSeries).get(\"vcx\"));\n\t\t\t\t\t\t\t\tif ($type.isNaN(xPos0)) {\n\t\t\t\t\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (o.yAxis === o.baseAxis) {\n\t\t\t\t\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX, o.vcx);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (stackToItemY) {\n\t\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(stackToItemY, o.yField, itemLocationY, (stackToItemY.component as XYSeries).get(\"vcy\"));\n\t\t\t\t\t\t\t\tif ($type.isNaN(yPos0)) {\n\t\t\t\t\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (o.xAxis === o.baseAxis) {\n\t\t\t\t\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY, o.vcy);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX, o.vcx);\n\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY, o.vcy);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet closeIPoint = this.getPoint(xPos0, yPos0);\n\n\t\t\t\tpoint[2] = closeIPoint.x;\n\t\t\t\tpoint[3] = closeIPoint.y;\n\t\t\t}\n\n\t\t\tif (o.minDistance > 0) {\n\t\t\t\tconst p0 = point[0];\n\t\t\t\tconst p1 = point[1];\n\t\t\t\tconst p2 = point[2];\n\t\t\t\tconst p3 = point[3];\n\n\t\t\t\tconst prev = this._previousPoint;\n\n\t\t\t\tconst pp0 = prev[0];\n\t\t\t\tconst pp1 = prev[1];\n\t\t\t\tconst pp2 = prev[2];\n\t\t\t\tconst pp3 = prev[3];\n\n\t\t\t\tif (Math.hypot(p0 - pp0, p1 - pp1) > o.minDistance || (p2 && p3 && Math.hypot(p2 - pp2, p3 - pp3) > o.minDistance)) {\n\t\t\t\t\tpoints.push(point);\n\t\t\t\t\tthis._previousPoint = point;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tpoints.push(point);\n\t\t\t}\n\t\t}\n\t}\n\n\n\tprotected _endLine(_points: Array<Array<number>>, _firstPoint: Array<number>) {\n\n\t}\n\n\tprotected _drawStroke(graphics: Graphics, segments: number[][][]) {\n\t\tif (graphics.get(\"visible\") && !graphics.get(\"forceHidden\")) {\n\t\t\tgraphics.set(\"draw\", (display) => {\n\t\t\t\t$array.each(segments, (segment) => {\n\t\t\t\t\tthis._strokeGenerator.context(display as any);\n\t\t\t\t\tthis._strokeGenerator(segment as [number, number][]);\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _drawFill(graphics: Graphics, segments: number[][][]) {\n\t\tif (graphics.get(\"visible\") && !graphics.get(\"forceHidden\")) {\n\t\t\tgraphics.set(\"draw\", (display) => {\n\t\t\t\t$array.each(segments, (segment) => {\n\t\t\t\t\tthis._fillGenerator.context(display as any);\n\t\t\t\t\tthis._fillGenerator(segment as [number, number][]);\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _processAxisRange(axisRange: this[\"_axisRangeType\"]) {\n\t\tsuper._processAxisRange(axisRange);\n\t\taxisRange.fills = new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Graphics._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(axisRange.fills!.template.get(\"themeTags\", []), [\"line\", \"series\", \"fill\"]),\n\t\t\t}, [this.fills.template, axisRange.fills!.template]),\n\t\t);\n\n\t\taxisRange.strokes = new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Graphics._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(axisRange.strokes!.template.get(\"themeTags\", []), [\"line\", \"series\", \"stroke\"]),\n\t\t\t}, [this.strokes.template, axisRange.strokes!.template])\n\t\t);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic createLegendMarker(_dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t\tconst legendDataItem = this.get(\"legendDataItem\");\n\n\t\tif (legendDataItem) {\n\t\t\tconst marker = legendDataItem.get(\"marker\");\n\n\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\t\t\tif (markerRectangle) {\n\t\t\t\tmarkerRectangle.setPrivate(\"visible\", false);\n\t\t\t}\n\n\t\t\tmarker.set(\"background\", Rectangle.new(marker._root, { fillOpacity: 0, fill: color(0x000000) }))\n\n\t\t\tconst legendStroke = marker.children.push(Graphics._new(marker._root, {\n\t\t\t\tthemeTags: [\"line\", \"series\", \"legend\", \"marker\", \"stroke\"], interactive: false\n\t\t\t}, [this.strokes.template]));\n\n\t\t\tthis._legendStroke = legendStroke;\n\n\t\t\tconst legendFill = marker.children.push(Graphics._new(marker._root, {\n\t\t\t\tthemeTags: [\"line\", \"series\", \"legend\", \"marker\", \"fill\"]\n\t\t\t}, [this.fills.template]));\n\n\t\t\tthis._legendFill = legendFill;\n\n\t\t\tconst disabledColor = this._root.interfaceColors.get(\"disabled\");\n\n\t\t\tlegendStroke.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\t\t\tlegendFill.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\n\t\t\tif (this.bullets.length > 0) {\n\t\t\t\tconst bulletFunction = this.bullets.getIndex(0);\n\t\t\t\tif (bulletFunction) {\n\t\t\t\t\tconst bullet = bulletFunction(marker._root, this, new DataItem(this, { legend: true }, {}));\n\t\t\t\t\tif (bullet) {\n\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\t\t\tif (sprite instanceof Graphics) {\n\t\t\t\t\t\t\tsprite.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (sprite) {\n\t\t\t\t\t\t\tsprite.set(\"tooltipText\", undefined);\n\t\t\t\t\t\t\tsprite.set(\"tooltipHTML\", undefined);\n\n\t\t\t\t\t\t\tmarker.children.push(sprite);\n\t\t\t\t\t\t\tsprite.setAll({ x: marker.width() / 2, y: marker.height() / 2 });\n\n\t\t\t\t\t\t\tmarker.events.on(\"boundschanged\", ()=>{\n\t\t\t\t\t\t\t\tsprite.setAll({ x: marker.width() / 2, y: marker.height() / 2 });\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"LineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/series/LineSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Axis } from \"../axes/Axis\";\nimport type { AxisRenderer } from \"../axes/AxisRenderer\";\n\nimport { XYSeries, IXYSeriesPrivate, IXYSeriesSettings, IXYSeriesDataItem, IXYSeriesAxisRange } from \"./XYSeries\";\nimport { Graphics } from \"../../../core/render/Graphics\";\nimport { CurveFactory, line, area } from \"d3-shape\";\nimport { Template } from \"../../../core/util/Template\";\nimport { ListTemplate } from \"../../../core/util/List\";\nimport { color } from \"../../../core/util/Color\";\nimport { DataItem } from \"../../../core/render/Component\";\nimport { Rectangle } from \"../../../core/render/Rectangle\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $array from \"../../../core/util/Array\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface IPointOptions {\n}\n\nexport interface ILineSeriesDataItem extends IXYSeriesDataItem {\n}\n\nexport interface ILineSeriesSettings extends IXYSeriesSettings {\n\n\t/**\n\t * If set to `true` the line will connect over \"gaps\" - categories or time\n\t * intervals with no data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Gaps} for more info\n\t * @default true\n\t */\n\tconnect?: boolean;\n\n\t/**\n\t * If there are more than `autoGapCount` base time intervals (e.g. days) with\n\t * no data, the line will break and will display gap.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Auto_gaps_with_dates} for more info\n\t * @default 1.1\n\t */\n\tautoGapCount?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tcurveFactory?: CurveFactory;\n\n\t/**\n\t * Allows simplifying the line with many points.\n\t *\n\t * If set, the series will skip points that are closer than X pixels to each\n\t * other.\n\t *\n\t * With many data points, this allows having smoother, less cluttered lines.\n\t *\n\t * @default 0\n\t * @since 5.2.7\n\t */\n\tminDistance?: number;\n\n\n}\n\nexport interface ILineSeriesPrivate extends IXYSeriesPrivate {\n}\n\n/**\n * Interface representing a [[LineSeries]] axis range.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/#Series_axis_ranges} for more info\n */\nexport interface ILineSeriesAxisRange extends IXYSeriesAxisRange {\n\n\t/**\n\t * A list template to use when applying line settings to the line segments covered\n\t * by an axis range.\n\t */\n\tstrokes?: ListTemplate<Graphics>;\n\n\t/**\n\t * A list template to use when applying fill settings to the fill segments covered\n\t * by an axis range.\n\t */\n\tfills?: ListTemplate<Graphics>;\n}\n\n/**\n * Used to plot line and/or area series.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/} for more info\n * @important\n */\nexport class LineSeries extends XYSeries {\n\n\tdeclare public _settings: ILineSeriesSettings;\n\tdeclare public _privateSettings: ILineSeriesPrivate;\n\tdeclare public _dataItemSettings: ILineSeriesDataItem;\n\tdeclare public _axisRangeType: ILineSeriesAxisRange;\n\n\tpublic static className: string = \"LineSeries\";\n\tpublic static classNames: Array<string> = XYSeries.classNames.concat([LineSeries.className]);\n\n\tprotected _endIndex!: number;\n\n\tprotected _strokeGenerator = line();\n\tprotected _fillGenerator = area();\n\n\tprotected _legendStroke?: Graphics;\n\tprotected _legendFill?: Graphics;\n\n\tprotected _afterNew() {\n\t\tthis._fillGenerator.y0(function(p: number[]) {\n\t\t\treturn p[3];\n\t\t});\n\n\t\tthis._fillGenerator.x0(function(p: number[]) {\n\t\t\treturn p[2];\n\t\t});\n\n\t\tthis._fillGenerator.y1(function(p: number[]) {\n\t\t\treturn p[1];\n\t\t});\n\n\t\tthis._fillGenerator.x1(function(p: number[]) {\n\t\t\treturn p[0];\n\t\t});\n\n\t\tsuper._afterNew();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeStroke(strokes: ListTemplate<Graphics>): Graphics {\n\t\tconst stroke = this.mainContainer.children.push(strokes.make());\n\t\tstrokes.push(stroke);\n\t\treturn stroke;\n\t}\n\n\t/**\n\t * A [[TemplateList]] of all line segments in series.\n\t *\n\t * `strokes.template` can be used to set default settings for all line\n\t * segments, or to change on existing ones.\n\t *\n\t * @default new ListTemplate<Graphics>\n\t */\n\tpublic readonly strokes: ListTemplate<Graphics> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Graphics._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.strokes.template.get(\"themeTags\", []), [\"line\", \"series\", \"stroke\"])\n\t\t}, [this.strokes.template]),\n\t);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeFill(fills: ListTemplate<Graphics>): Graphics {\n\t\tconst fill = this.mainContainer.children.push(fills.make());\n\t\tfills.push(fill);\n\t\treturn fill;\n\t}\n\n\t/**\n\t * A [[TemplateList]] of all segment fills in series.\n\t *\n\t * `fills.template` can be used to set default settings for all segment\n\t * fills, or to change on existing ones.\n\t *\n\t * @default new ListTemplate<Graphics>\n\t */\n\tpublic readonly fills: ListTemplate<Graphics> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Graphics._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.strokes.template.get(\"themeTags\", []), [\"line\", \"series\", \"fill\"])\n\t\t}, [this.fills.template]),\n\t);\n\n\t// custom set from data\n\tprotected _fillTemplate: Template<Graphics> | undefined;\n\tprotected _strokeTemplate: Template<Graphics> | undefined;\n\n\tprotected _previousPoint: Array<number> = [0, 0, 0, 0];\n\n\tprotected _dindex = 0;\n\tprotected _sindex = 0;\n\n\tpublic _updateChildren() {\n\n\t\tthis._strokeTemplate = undefined;\n\t\tthis._fillTemplate = undefined;\n\n\t\tlet xAxis = this.get(\"xAxis\");\n\t\tlet yAxis = this.get(\"yAxis\");\n\n\t\tif (this.isDirty(\"stroke\")) {\n\t\t\tconst stroke = this.get(\"stroke\");\n\t\t\tthis.strokes.template.set(\"stroke\", stroke);\n\t\t\tconst legendStroke = this._legendStroke;\n\t\t\tif (legendStroke) {\n\t\t\t\tlegendStroke.states.lookup(\"default\")!.set(\"stroke\", stroke);\n\t\t\t}\n\t\t}\n\t\tif (this.isDirty(\"fill\")) {\n\t\t\tconst fill = this.get(\"fill\");\n\t\t\tthis.fills.template.set(\"fill\", fill);\n\t\t\tconst legendFill = this._legendFill;\n\t\t\tif (legendFill) {\n\t\t\t\tlegendFill.states.lookup(\"default\")!.set(\"fill\", fill);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"fillPattern\")) {\n\t\t\tconst fillPattern = this.get(\"fillPattern\");\n\t\t\tthis.fills.template.set(\"fillPattern\", fillPattern);\n\t\t\tconst legendFill = this._legendFill;\n\t\t\tif (legendFill) {\n\t\t\t\tlegendFill.states.lookup(\"default\")!.set(\"fillPattern\", fillPattern);\n\t\t\t}\n\t\t}\t\t\n\n\t\tif (this.isDirty(\"curveFactory\")) {\n\t\t\tconst curveFactory = this.get(\"curveFactory\")!;\n\t\t\tif (curveFactory) {\n\t\t\t\tthis._strokeGenerator.curve(curveFactory);\n\t\t\t\tthis._fillGenerator.curve(curveFactory);\n\t\t\t}\n\t\t}\n\n\t\tif (xAxis.inited && yAxis.inited) {\n\t\t\tif (this._axesDirty || this._valuesDirty || this._stackDirty || this.isDirty(\"vcx\") || this.isDirty(\"vcy\") || this._sizeDirty || this.isDirty(\"connect\") || this.isDirty(\"curveFactory\")) {\n\n\t\t\t\tthis.fills.each((fill) => {\n\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t})\n\n\t\t\t\tthis.strokes.each((fill) => {\n\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t})\n\n\t\t\t\tthis.axisRanges.each((axisRange) => {\n\t\t\t\t\tlet fills = axisRange.fills;\n\t\t\t\t\tif (fills) {\n\t\t\t\t\t\tfills.each((fill) => {\n\t\t\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tlet strokes = axisRange.strokes;\n\t\t\t\t\tif (strokes) {\n\t\t\t\t\t\tstrokes.each((stroke) => {\n\t\t\t\t\t\t\tstroke.setPrivate(\"visible\", false);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tlet startIndex = this.startIndex();\n\n\t\t\t\tlet strokeTemplateField = this.strokes.template.get(\"templateField\");\n\t\t\t\tlet fillTemplateField = this.fills.template.get(\"templateField\");\n\n\t\t\t\tlet strokeTemplateFound = true;\n\t\t\t\tlet fillTemplateFound = true;\n\n\t\t\t\tif (strokeTemplateField) {\n\t\t\t\t\tstrokeTemplateFound = false;\n\t\t\t\t}\n\t\t\t\tif (fillTemplateField) {\n\t\t\t\t\tfillTemplateFound = false;\n\t\t\t\t}\n\n\t\t\t\tfor (let i = startIndex - 1; i >= 0; i--) {\n\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\tlet hasValues = true;\n\t\t\t\t\tlet dataContext = dataItem.dataContext as any;\n\t\t\t\t\tif (strokeTemplateField) {\n\t\t\t\t\t\tif (dataContext[strokeTemplateField]) {\n\t\t\t\t\t\t\tstrokeTemplateFound = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (fillTemplateField) {\n\t\t\t\t\t\tif (dataContext[fillTemplateField]) {\n\t\t\t\t\t\t\tfillTemplateFound = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$array.each(this._valueFields, (field) => {\n\t\t\t\t\t\tif (!$type.isNumber(dataItem.get(field as any))) {\n\t\t\t\t\t\t\thasValues = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tif (hasValues && strokeTemplateFound && fillTemplateFound) {\n\t\t\t\t\t\tstartIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t\tlet len = this.dataItems.length;\n\t\t\t\tlet endIndex = this.endIndex();\n\n\t\t\t\tif (endIndex < len) {\n\t\t\t\t\tendIndex++;\n\t\t\t\t\tfor (let i = endIndex; i < len; i++) {\n\t\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\t\tlet hasValues = true;\n\t\t\t\t\t\t$array.each(this._valueFields, (field) => {\n\t\t\t\t\t\t\tif (!$type.isNumber(dataItem.get(field as any))) {\n\t\t\t\t\t\t\t\thasValues = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\tif (hasValues) {\n\t\t\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (startIndex > 0) {\n\t\t\t\t\tstartIndex--;\n\t\t\t\t}\n\n\t\t\t\tthis._endIndex = endIndex;\n\n\t\t\t\tthis._clearGraphics();\n\t\t\t\tthis._sindex = 0;\n\t\t\t\tthis._dindex = startIndex;\n\t\t\t\tif (this.dataItems.length == 1) {\n\t\t\t\t\tthis._startSegment(0);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// this is done to avoid recursion with a lot of segments \n\t\t\t\t\twhile (this._dindex < endIndex - 1) {\n\t\t\t\t\t\tthis._startSegment(this._dindex);\n\t\t\t\t\t\tthis._sindex++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis._skipped = true;\n\t\t}\n\n\t\tsuper._updateChildren();\n\t}\n\n\tprotected _clearGraphics() {\n\t\tthis.strokes.clear();\n\t\tthis.fills.clear();\n\t}\n\n\tprotected _startSegment(dataItemIndex: number) {\n\t\tlet endIndex = this._endIndex;\n\t\tlet currentEndIndex = endIndex;\n\n\t\tconst autoGapCount = this.get(\"autoGapCount\")!;\n\t\tconst connect = this.get(\"connect\");\n\n\t\tconst fill = this.makeFill(this.fills);\n\n\t\tconst fillTemplate = this._fillTemplate;\n\t\tconst originalTemplate = this.fills.template;\n\t\tif (fillTemplate && fillTemplate != originalTemplate) {\n\t\t\tfill.template = fillTemplate;\n\t\t}\n\n\t\tfill.setPrivate(\"visible\", true);\n\n\t\tconst stroke = this.makeStroke(this.strokes);\n\n\t\tconst strokeTemplate = this._strokeTemplate;\n\t\tif (strokeTemplate && strokeTemplate != this.strokes.template) {\n\t\t\tstroke.template = strokeTemplate;\n\t\t}\n\n\t\tstroke.setPrivate(\"visible\", true);\n\n\t\tlet xAxis = this.get(\"xAxis\");\n\t\tlet yAxis = this.get(\"yAxis\");\n\t\tlet baseAxis = this.get(\"baseAxis\")!;\n\n\t\tlet vcx = this.get(\"vcx\", 1);\n\t\tlet vcy = this.get(\"vcy\", 1);\n\n\t\tlet xField = this._xField;\n\t\tlet yField = this._yField;\n\n\t\tlet xOpenField = this._xOpenField;\n\t\tlet yOpenField = this._yOpenField;\n\n\t\tconst xOpenFieldValue = this.get(\"openValueXField\");\n\t\tconst yOpenFieldValue = this.get(\"openValueYField\");\n\n\t\tif (!xOpenFieldValue) {\n\t\t\txOpenField = this._xField;\n\t\t}\n\n\t\tif (!yOpenFieldValue) {\n\t\t\tyOpenField = this._yField;\n\t\t}\n\n\t\tconst stacked = this.get(\"stacked\");\n\n\t\tconst basePosX = xAxis.basePosition();\n\t\tconst basePosY = yAxis.basePosition();\n\n\t\tlet baseField: string;\n\t\tif (baseAxis === yAxis) {\n\t\t\tbaseField = this._yField;\n\t\t}\n\t\telse {\n\t\t\tbaseField = this._xField;\n\t\t}\n\n\t\tconst segments: Array<Array<Array<number>>> = [];\n\t\tlet points: Array<Array<number>> = [];\n\t\tsegments.push(points);\n\n\t\tconst strokeTemplateField = this.strokes.template.get(\"templateField\");\n\t\tconst fillTemplateField = this.fills.template.get(\"templateField\");\n\n\t\tlet locationX = this.get(\"locationX\", 0.5);\n\t\tlet locationY = this.get(\"locationY\", 0.5);\n\n\t\tlet openLocationX = this.get(\"openLocationX\", locationX);\n\t\tlet openLocationY = this.get(\"openLocationY\", locationY);\n\n\t\tconst minDistance = this.get(\"minDistance\", 0);\n\n\t\tlet i: number;\n\n\t\tlet fillVisible = this.fills.template.get(\"visible\");\n\t\tif (this.axisRanges.length > 0) {\n\t\t\tfillVisible = true;\n\t\t}\n\n\t\tlet getOpen = false;\n\t\tif (stacked || xOpenFieldValue || yOpenFieldValue) {\n\t\t\tgetOpen = true;\n\t\t}\n\n\t\tconst o = {\n\t\t\tpoints, segments, stacked, getOpen, basePosX, basePosY, fillVisible, xField, yField, xOpenField, yOpenField, vcx, vcy, baseAxis, xAxis, yAxis, locationX, locationY, openLocationX, openLocationY, minDistance\n\t\t}\n\n\n\t\tlet rangeStrokeTemplate = this._strokeTemplate;\n\t\tlet rangeFillTemplate = this._fillTemplate;\n\n\t\tfor (i = dataItemIndex; i < currentEndIndex; i++) {\n\t\t\tthis._dindex = i;\n\t\t\tconst dataItem = this._dataItems[i];\n\n\t\t\tlet valueX = dataItem.get(xField as any);\n\t\t\tlet valueY = dataItem.get(yField as any);\n\n\t\t\tif (valueX == null || valueY == null) {\n\t\t\t\tif (!connect) {\n\t\t\t\t\tpoints = [];\n\t\t\t\t\tsegments.push(points);\n\t\t\t\t\to.points = points;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._getPoints(dataItem, o);\n\t\t\t}\n\n\t\t\tif (strokeTemplateField) {\n\t\t\t\tlet strokeTemplate = (dataItem.dataContext as any)[strokeTemplateField]\n\t\t\t\tif (strokeTemplate) {\n\t\t\t\t\tif (!(strokeTemplate instanceof Template)) {\n\t\t\t\t\t\tstrokeTemplate = Template.new(strokeTemplate);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._strokeTemplate = strokeTemplate;\n\t\t\t\t\tif (i > dataItemIndex) {\n\t\t\t\t\t\tcurrentEndIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\trangeStrokeTemplate = strokeTemplate;\n\t\t\t\t\t\tstroke.template = strokeTemplate;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (fillTemplateField) {\n\t\t\t\tlet fillTemplate = (dataItem.dataContext as any)[fillTemplateField]\n\t\t\t\tif (fillTemplate) {\n\t\t\t\t\tif (!(fillTemplate instanceof Template)) {\n\t\t\t\t\t\tfillTemplate = Template.new(fillTemplate);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._fillTemplate = fillTemplate;\n\t\t\t\t\tif (i > dataItemIndex) {\n\t\t\t\t\t\tcurrentEndIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\trangeFillTemplate = fillTemplate;\n\t\t\t\t\t\tfill.template = fillTemplate;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!connect) {\n\t\t\t\tlet nextItem = this.dataItems[i + 1];\n\t\t\t\tif (nextItem) {\n\t\t\t\t\tif (baseAxis.shouldGap(dataItem, nextItem, autoGapCount, baseField)) {\n\t\t\t\t\t\tpoints = [];\n\t\t\t\t\t\tsegments.push(points);\n\t\t\t\t\t\to.points = points;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfill.setRaw(\"userData\", [dataItemIndex, i]);\n\t\tstroke.setRaw(\"userData\", [dataItemIndex, i]);\n\n\t\tif (i === endIndex) {\n\t\t\tthis._endLine(points, segments[0][0]);\n\t\t}\n\n\t\tif (stroke) {\n\t\t\tthis._drawStroke(stroke, segments);\n\t\t}\n\n\t\tif (fill) {\n\t\t\tthis._drawFill(fill, segments);\n\t\t}\n\n\t\tthis.axisRanges.each((axisRange) => {\n\t\t\tconst container = axisRange.container;\n\t\t\tconst fills = axisRange.fills!;\n\t\t\tconst fill = this.makeFill(fills);\n\n\t\t\tif (container) {\n\t\t\t\tcontainer.children.push(fill);\n\t\t\t}\n\n\t\t\tfill.setPrivate(\"visible\", true);\n\t\t\tthis._drawFill(fill, segments);\n\n\t\t\tconst strokes = axisRange.strokes!;\n\t\t\tconst stroke = this.makeStroke(strokes);\n\t\t\tif (container) {\n\t\t\t\tcontainer.children.push(stroke);\n\t\t\t}\n\n\t\t\tif (rangeStrokeTemplate && rangeStrokeTemplate != this.strokes.template) {\n\t\t\t\tstroke.template = rangeStrokeTemplate;\n\t\t\t}\t\t\t\n\n\t\t\tif (rangeFillTemplate && rangeFillTemplate != this.fills.template) {\n\t\t\t\tfill.template = rangeFillTemplate;\n\t\t\t}\t\t\t\t\t\t\n\n\t\t\tstroke.setPrivate(\"visible\", true);\n\t\t\tthis._drawStroke(stroke, segments);\n\n\t\t\tfill.setRaw(\"userData\", [dataItemIndex, i]);\n\t\t\tstroke.setRaw(\"userData\", [dataItemIndex, i]);\n\t\t})\n\t}\n\n\tprotected _getPoints(dataItem: DataItem<this[\"_dataItemSettings\"]>, o: { points: Array<Array<number>>, segments: number[][][], stacked: boolean | undefined, getOpen: boolean, basePosX: number, basePosY: number, fillVisible: boolean | undefined, xField: string, yField: string, xOpenField: string, yOpenField: string, vcx: number, vcy: number, baseAxis: Axis<AxisRenderer>, xAxis: Axis<AxisRenderer>, yAxis: Axis<AxisRenderer>, locationX: number, locationY: number, openLocationX: number, openLocationY: number, minDistance: number }) {\n\t\tlet points = o.points;\n\n\t\tlet itemLocationX = dataItem.get(\"locationX\", o.locationX);\n\t\tlet itemLocationY = dataItem.get(\"locationY\", o.locationY);\n\n\t\tlet xPos = o.xAxis.getDataItemPositionX(dataItem, o.xField, itemLocationX, o.vcx);\n\t\tlet yPos = o.yAxis.getDataItemPositionY(dataItem, o.yField, itemLocationY, o.vcy);\n\n\t\tif (this._shouldInclude(xPos)) {\n\n\t\t\tconst iPoint = this.getPoint(xPos, yPos);\n\t\t\tconst point = [iPoint.x, iPoint.y];\n\n\t\t\tiPoint.x += this._x;\n\t\t\tiPoint.y += this._y;\n\n\t\t\tdataItem.set(\"point\", iPoint);\n\n\t\t\tif (o.fillVisible) {\n\t\t\t\tlet xPos0: number = xPos;\n\t\t\t\tlet yPos0: number = yPos;\n\n\t\t\t\tif (o.baseAxis === o.xAxis) {\n\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t}\n\t\t\t\telse if (o.baseAxis === o.yAxis) {\n\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t}\n\n\t\t\t\tif (o.getOpen) {\n\t\t\t\t\tlet valueX = dataItem.get(o.xOpenField as any);\n\t\t\t\t\tlet valueY = dataItem.get(o.yOpenField as any);\n\n\t\t\t\t\tif (valueX != null && valueY != null) {\n\t\t\t\t\t\tlet itemLocationX = dataItem.get(\"openLocationX\", o.openLocationX);\n\t\t\t\t\t\tlet itemLocationY = dataItem.get(\"openLocationY\", o.openLocationY);\n\n\t\t\t\t\t\tif (o.stacked) {\n\t\t\t\t\t\t\tlet stackToItemX = dataItem.get(\"stackToItemX\")!;\n\t\t\t\t\t\t\tlet stackToItemY = dataItem.get(\"stackToItemY\")!;\n\n\t\t\t\t\t\t\tif (stackToItemX) {\n\t\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(stackToItemX, o.xField, itemLocationX, (stackToItemX.component as XYSeries).get(\"vcx\"));\n\t\t\t\t\t\t\t\tif ($type.isNaN(xPos0)) {\n\t\t\t\t\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (o.yAxis === o.baseAxis) {\n\t\t\t\t\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX, o.vcx);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (stackToItemY) {\n\t\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(stackToItemY, o.yField, itemLocationY, (stackToItemY.component as XYSeries).get(\"vcy\"));\n\t\t\t\t\t\t\t\tif ($type.isNaN(yPos0)) {\n\t\t\t\t\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (o.xAxis === o.baseAxis) {\n\t\t\t\t\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY, o.vcy);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX, o.vcx);\n\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY, o.vcy);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet closeIPoint = this.getPoint(xPos0, yPos0);\n\n\t\t\t\tpoint[2] = closeIPoint.x;\n\t\t\t\tpoint[3] = closeIPoint.y;\n\t\t\t}\n\n\t\t\tif (o.minDistance > 0) {\n\t\t\t\tconst p0 = point[0];\n\t\t\t\tconst p1 = point[1];\n\t\t\t\tconst p2 = point[2];\n\t\t\t\tconst p3 = point[3];\n\n\t\t\t\tconst prev = this._previousPoint;\n\n\t\t\t\tconst pp0 = prev[0];\n\t\t\t\tconst pp1 = prev[1];\n\t\t\t\tconst pp2 = prev[2];\n\t\t\t\tconst pp3 = prev[3];\n\n\t\t\t\tif (Math.hypot(p0 - pp0, p1 - pp1) > o.minDistance || (p2 && p3 && Math.hypot(p2 - pp2, p3 - pp3) > o.minDistance)) {\n\t\t\t\t\tpoints.push(point);\n\t\t\t\t\tthis._previousPoint = point;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tpoints.push(point);\n\t\t\t}\n\t\t}\n\t}\n\n\n\tprotected _endLine(_points: Array<Array<number>>, _firstPoint: Array<number>) {\n\n\t}\n\n\tprotected _drawStroke(graphics: Graphics, segments: number[][][]) {\n\t\tif (graphics.get(\"visible\") && !graphics.get(\"forceHidden\")) {\n\t\t\tgraphics.set(\"draw\", (display) => {\n\t\t\t\t$array.each(segments, (segment) => {\n\t\t\t\t\tthis._strokeGenerator.context(display as any);\n\t\t\t\t\tthis._strokeGenerator(segment as [number, number][]);\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _drawFill(graphics: Graphics, segments: number[][][]) {\n\t\tif (graphics.get(\"visible\") && !graphics.get(\"forceHidden\")) {\n\t\t\tgraphics.set(\"draw\", (display) => {\n\t\t\t\t$array.each(segments, (segment) => {\n\t\t\t\t\tthis._fillGenerator.context(display as any);\n\t\t\t\t\tthis._fillGenerator(segment as [number, number][]);\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _processAxisRange(axisRange: this[\"_axisRangeType\"]) {\n\t\tsuper._processAxisRange(axisRange);\n\t\taxisRange.fills = new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Graphics._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(axisRange.fills!.template.get(\"themeTags\", []), [\"line\", \"series\", \"fill\"]),\n\t\t\t}, [this.fills.template, axisRange.fills!.template]),\n\t\t);\n\n\t\taxisRange.strokes = new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Graphics._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(axisRange.strokes!.template.get(\"themeTags\", []), [\"line\", \"series\", \"stroke\"]),\n\t\t\t}, [this.strokes.template, axisRange.strokes!.template])\n\t\t);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic createLegendMarker(_dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t\tconst legendDataItem = this.get(\"legendDataItem\");\n\n\t\tif (legendDataItem) {\n\t\t\tconst marker = legendDataItem.get(\"marker\");\n\n\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\t\t\tif (markerRectangle) {\n\t\t\t\tmarkerRectangle.setPrivate(\"visible\", false);\n\t\t\t}\n\n\t\t\tmarker.set(\"background\", Rectangle.new(marker._root, { fillOpacity: 0, fill: color(0x000000) }))\n\n\t\t\tconst legendStroke = marker.children.push(Graphics._new(marker._root, {\n\t\t\t\tthemeTags: [\"line\", \"series\", \"legend\", \"marker\", \"stroke\"], interactive: false\n\t\t\t}, [this.strokes.template]));\n\n\t\t\tthis._legendStroke = legendStroke;\n\n\t\t\tconst legendFill = marker.children.push(Graphics._new(marker._root, {\n\t\t\t\tthemeTags: [\"line\", \"series\", \"legend\", \"marker\", \"fill\"]\n\t\t\t}, [this.fills.template]));\n\n\t\t\tthis._legendFill = legendFill;\n\n\t\t\tconst disabledColor = this._root.interfaceColors.get(\"disabled\");\n\n\t\t\tlegendStroke.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\t\t\tlegendFill.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\n\t\t\tif (this.bullets.length > 0) {\n\t\t\t\tconst bulletFunction = this.bullets.getIndex(0);\n\t\t\t\tif (bulletFunction) {\n\t\t\t\t\tconst bullet = bulletFunction(marker._root, this, new DataItem(this, { legend: true }, {}));\n\t\t\t\t\tif (bullet) {\n\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\t\t\tif (sprite instanceof Graphics) {\n\t\t\t\t\t\t\tsprite.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (sprite) {\n\t\t\t\t\t\t\tsprite.set(\"tooltipText\", undefined);\n\t\t\t\t\t\t\tsprite.set(\"tooltipHTML\", undefined);\n\n\t\t\t\t\t\t\tmarker.children.push(sprite);\n\t\t\t\t\t\t\tsprite.setAll({ x: marker.width() / 2, y: marker.height() / 2 });\n\n\t\t\t\t\t\t\tmarker.events.on(\"boundschanged\", ()=>{\n\t\t\t\t\t\t\t\tsprite.setAll({ x: marker.width() / 2, y: marker.height() / 2 });\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -141,6 +141,7 @@ import type { ParallelChannelSeries } from "./../charts/stock/drawing/ParallelCh
141
141
  import type { Partition } from "./../charts/hierarchy/Partition.js";
142
142
  import type { PathPattern } from "./render/patterns/PathPattern.js";
143
143
  import type { Pattern } from "./render/patterns/Pattern.js";
144
+ import type { PatternSet } from "./util/PatternSet.js";
144
145
  import type { PercentChart } from "./../charts/percent/PercentChart.js";
145
146
  import type { PercentSeries } from "./../charts/percent/PercentSeries.js";
146
147
  import type { PeriodSelector } from "./../charts/stock/toolbar/PeriodSelector.js";
@@ -367,6 +368,7 @@ export interface IClasses {
367
368
  "Partition": Partition;
368
369
  "PathPattern": PathPattern;
369
370
  "Pattern": Pattern;
371
+ "PatternSet": PatternSet;
370
372
  "PercentChart": PercentChart;
371
373
  "PercentSeries": PercentSeries;
372
374
  "PeriodSelector": PeriodSelector;