@amcharts/amcharts5 5.14.1 → 5.14.2

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 (176) hide show
  1. package/.internal/charts/gantt/GanttCategoryAxis.d.ts.map +1 -1
  2. package/.internal/charts/gantt/GanttCategoryAxis.js +5 -9
  3. package/.internal/charts/gantt/GanttCategoryAxis.js.map +1 -1
  4. package/.internal/charts/gantt/GanttDefaultTheme.d.ts.map +1 -1
  5. package/.internal/charts/gantt/GanttDefaultTheme.js +3 -3
  6. package/.internal/charts/gantt/GanttDefaultTheme.js.map +1 -1
  7. package/.internal/charts/gantt/GanttSeries.d.ts.map +1 -1
  8. package/.internal/charts/gantt/GanttSeries.js +16 -8
  9. package/.internal/charts/gantt/GanttSeries.js.map +1 -1
  10. package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
  11. package/.internal/charts/xy/axes/CategoryAxis.js +13 -6
  12. package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
  13. package/.internal/core/Registry.js +1 -1
  14. package/.internal/core/Registry.js.map +1 -1
  15. package/.internal/core/Root.d.ts +1 -0
  16. package/.internal/core/Root.d.ts.map +1 -1
  17. package/.internal/core/Root.js +13 -1
  18. package/.internal/core/Root.js.map +1 -1
  19. package/CHANGELOG.md +11 -1
  20. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  21. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  22. package/examples/javascript/flow-chord/package.json +1 -1
  23. package/examples/javascript/flow-chord-directed/package.json +1 -1
  24. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  25. package/examples/javascript/flow-sankey/package.json +1 -1
  26. package/examples/javascript/gantt/package.json +1 -1
  27. package/examples/javascript/gantt-multilevel/package.json +1 -1
  28. package/examples/javascript/gantt-simple/package.json +1 -1
  29. package/examples/javascript/gauge/package.json +1 -1
  30. package/examples/javascript/gauge-bands/package.json +1 -1
  31. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  32. package/examples/javascript/hierarchy-pack/package.json +1 -1
  33. package/examples/javascript/hierarchy-partition/package.json +1 -1
  34. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  35. package/examples/javascript/hierarchy-tree/package.json +1 -1
  36. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  37. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  38. package/examples/javascript/jest/package.json +1 -1
  39. package/examples/javascript/json-pie/package.json +1 -1
  40. package/examples/javascript/json-xy/package.json +1 -1
  41. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  42. package/examples/javascript/map-clustered-points/package.json +1 -1
  43. package/examples/javascript/map-day-and-night/package.json +1 -1
  44. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  45. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  46. package/examples/javascript/map-with-bubbles/package.json +1 -1
  47. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  48. package/examples/javascript/misc-40-charts/package.json +1 -1
  49. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  50. package/examples/javascript/pie-chart/package.json +1 -1
  51. package/examples/javascript/pie-donut-chart/package.json +1 -1
  52. package/examples/javascript/pie-variable-radius/package.json +1 -1
  53. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  54. package/examples/javascript/radar-heat-map/package.json +1 -1
  55. package/examples/javascript/radar-line/package.json +1 -1
  56. package/examples/javascript/radar-time-line/package.json +1 -1
  57. package/examples/javascript/sliced-funnel/package.json +1 -1
  58. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  59. package/examples/javascript/sliced-pyramid/package.json +1 -1
  60. package/examples/javascript/stock-chart/package.json +1 -1
  61. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  62. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  63. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  64. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  65. package/examples/javascript/stock-chart-live/package.json +1 -1
  66. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  67. package/examples/javascript/timeline-horizontal-serpentine-chart/package.json +1 -1
  68. package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
  69. package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
  70. package/examples/javascript/timeline-spiral-chart/package.json +1 -1
  71. package/examples/javascript/venn-diagram/package.json +1 -1
  72. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  73. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  74. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  75. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  76. package/examples/javascript/xy-bubble/package.json +1 -1
  77. package/examples/javascript/xy-candlestick/package.json +1 -1
  78. package/examples/javascript/xy-clustered-column/package.json +1 -1
  79. package/examples/javascript/xy-column/package.json +1 -1
  80. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  81. package/examples/javascript/xy-data-grouping/package.json +1 -1
  82. package/examples/javascript/xy-draggable-range/package.json +1 -1
  83. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  84. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  85. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  86. package/examples/javascript/xy-line/package.json +1 -1
  87. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  88. package/examples/javascript/xy-live-data/package.json +1 -1
  89. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  90. package/examples/javascript/xy-ohlc/package.json +1 -1
  91. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  92. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  93. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  94. package/examples/javascript/xy-stacked-column/package.json +1 -1
  95. package/examples/javascript/xy-stacked-step/package.json +1 -1
  96. package/examples/javascript/xy-stock/package.json +1 -1
  97. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  98. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  99. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  100. package/examples/typescript/flow-chord/package.json +1 -1
  101. package/examples/typescript/flow-chord-directed/package.json +1 -1
  102. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  103. package/examples/typescript/flow-sankey/package.json +1 -1
  104. package/examples/typescript/gantt/package.json +1 -1
  105. package/examples/typescript/gantt-multilevel/package.json +1 -1
  106. package/examples/typescript/gantt-simple/package.json +1 -1
  107. package/examples/typescript/gauge/package.json +1 -1
  108. package/examples/typescript/gauge-bands/package.json +1 -1
  109. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  110. package/examples/typescript/hierarchy-pack/package.json +1 -1
  111. package/examples/typescript/hierarchy-partition/package.json +1 -1
  112. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  113. package/examples/typescript/hierarchy-tree/package.json +1 -1
  114. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  115. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  116. package/examples/typescript/jest/package.json +1 -1
  117. package/examples/typescript/json-pie/package.json +1 -1
  118. package/examples/typescript/json-xy/package.json +1 -1
  119. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  120. package/examples/typescript/map-clustered-points/package.json +1 -1
  121. package/examples/typescript/map-day-and-night/package.json +1 -1
  122. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  123. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  124. package/examples/typescript/map-with-bubbles/package.json +1 -1
  125. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  126. package/examples/typescript/misc-40-charts/package.json +1 -1
  127. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  128. package/examples/typescript/pie-chart/package.json +1 -1
  129. package/examples/typescript/pie-donut-chart/package.json +1 -1
  130. package/examples/typescript/pie-variable-radius/package.json +1 -1
  131. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  132. package/examples/typescript/radar-heat-map/package.json +1 -1
  133. package/examples/typescript/radar-line/package.json +1 -1
  134. package/examples/typescript/radar-time-line/package.json +1 -1
  135. package/examples/typescript/sliced-funnel/package.json +1 -1
  136. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  137. package/examples/typescript/sliced-pyramid/package.json +1 -1
  138. package/examples/typescript/stock-chart/package.json +1 -1
  139. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  140. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  141. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  142. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  143. package/examples/typescript/stock-chart-live/package.json +1 -1
  144. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  145. package/examples/typescript/timeline-horizontal-serpentine-chart/package.json +1 -1
  146. package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
  147. package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
  148. package/examples/typescript/timeline-spiral-chart/package.json +1 -1
  149. package/examples/typescript/venn-diagram/package.json +1 -1
  150. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  151. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  152. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  153. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  154. package/examples/typescript/xy-bubble/package.json +1 -1
  155. package/examples/typescript/xy-candlestick/package.json +1 -1
  156. package/examples/typescript/xy-clustered-column/package.json +1 -1
  157. package/examples/typescript/xy-column/package.json +1 -1
  158. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  159. package/examples/typescript/xy-data-grouping/package.json +1 -1
  160. package/examples/typescript/xy-draggable-range/package.json +1 -1
  161. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  162. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  163. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  164. package/examples/typescript/xy-line/package.json +1 -1
  165. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  166. package/examples/typescript/xy-live-data/package.json +1 -1
  167. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  168. package/examples/typescript/xy-ohlc/package.json +1 -1
  169. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  170. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  171. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  172. package/examples/typescript/xy-stacked-column/package.json +1 -1
  173. package/examples/typescript/xy-stacked-step/package.json +1 -1
  174. package/examples/typescript/xy-stock/package.json +1 -1
  175. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  176. package/package.json +1 -1
@@ -617,22 +617,29 @@ export class CategoryAxis extends Axis {
617
617
  let len = this.dataItems.length;
618
618
  let startIndex = 0;
619
619
  let endIndex = len;
620
+ let name = "cellSize";
620
621
  if (this.get("cellSizeField")) {
621
622
  let count = 0;
622
- $array.each(this.dataItems, (dataItem) => {
623
- count += dataItem.get("cellSize", 1);
623
+ const dataItems = this.dataItems;
624
+ if (dataItems.length == 0) {
625
+ return { startIndex: 0, endIndex: 0 };
626
+ }
627
+ $array.each(dataItems, (dataItem) => {
628
+ count += dataItem.get(name, 1);
624
629
  });
630
+ count -= this.get("startLocation", 0) * dataItems[0].get(name, 1);
631
+ count -= (1 - this.get("endLocation", 1)) * dataItems[dataItems.length - 1].get(name, 1);
625
632
  let c = 0;
626
633
  for (let i = 0; i < len; i++) {
627
- c += this.dataItems[i].get("cellSize", 1);
628
- if (c / count > start) {
634
+ c += this.dataItems[i].get(name, 1);
635
+ if (Math.round(c) > Math.round(start * count)) {
629
636
  startIndex = i;
630
637
  break;
631
638
  }
632
639
  }
633
640
  for (let i = startIndex + 1; i < len; i++) {
634
- c += this.dataItems[i].get("cellSize", 1);
635
- if (c / count > end) {
641
+ c += this.dataItems[i].get(name, 1);
642
+ if (Math.round(c) >= Math.round(end * count)) {
636
643
  endIndex = i + 1;
637
644
  break;
638
645
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryAxis.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/CategoryAxis.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../../core/render/Component\";\nimport type { AxisRenderer } from \"./AxisRenderer\";\nimport type { Tooltip } from \"../../../core/render/Tooltip\";\nimport type { IXYSeriesDataItem, XYSeries } from \"../series/XYSeries\";\n\nimport { Axis, IAxisSettings, IAxisPrivate, IAxisDataItem, IAxisEvents } from \"./Axis\";\nimport { populateString } from \"../../../core/util/PopulateString\";\nimport { ValueAxis } from \"./ValueAxis\";\n\nimport * as $array from \"../../../core/util/Array\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $math from \"../../../core/util/Math\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface ICategoryAxisSettings<R extends AxisRenderer> extends IAxisSettings<R> {\n\n\t/**\n\t * A function that can be used to specify how to configure axis fills.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Axis_fills} for more info\n\t */\n\tfillRule?: (dataItem: DataItem<ICategoryAxisDataItem>, index?: number) => void;\n\n\t/**\n\t * A field in data which holds categories.\n\t */\n\tcategoryField: string;\n\n\t/**\n\t * A key to look up in data for an id of the data item.\n\t */\n\tidField?: string;\n\n\t/**\n\t * A key to look up in data for a relative size value of the data item. \n\t */\n\tcellSizeField?: string;\n\n\t/**\n\t * Relative location of where axis cell starts: 0 - beginning, 1 - end.\n\t *\n\t * @default 0\n\t */\n\tstartLocation?: number;\n\n\t/**\n\t * Relative location of where axis cell ends: 0 - beginning, 1 - end.\n\t *\n\t * @default 1\n\t */\n\tendLocation?: number;\n}\n\nexport interface ICategoryAxisDataItem extends IAxisDataItem {\n\n\t/**\n\t * Named category.\n\t */\n\tcategory?: string;\n\n\t/**\n\t * Named end category (for axis items that span multiple categories, like\n\t * axis ranges).\n\t */\n\tendCategory?: string;\n\n\t/**\n\t * Index of the data item.\n\t */\n\tindex?: number;\n\n\t/**\n\t * Relative location of the category within cell: 0 - start, 1 - end.\n\t */\n\tcategoryLocation?: number;\n\n\t/**\n\t * Relative location of the end category within cell: 0 - start, 1 - end.\n\t */\n\tendCategoryLocation?: number;\n\n\t/**\n\t * A distance to shift data item relative to its original position.\n\t *\n\t * The value is 0 to 1, where 1 is full witdth of the axis.\n\t *\n\t * Can be used to sort data items without modifying order of the actual data.\n\t */\n\tdeltaPosition?: number;\n\n\t/**\n\t * A size of the category cell.\n\t *\n\t * NOTE: This value is used only if `cellSizeField` is set on the series.\n\t */\n\tcellSize?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tfinalCellSize?: number;\n\n\t/**\n\t * A unique id of the data item.\n\t */\n\tid?: string;\n}\n\nexport interface ICategoryAxisPrivate extends IAxisPrivate {\n\n\t/**\n\t * Start index of the current zoom scope.\n\t */\n\tstartIndex?: number;\n\n\t/**\n\t * End index of the current zoom scope.\n\t */\n\tendIndex?: number;\n}\n\nexport interface ICategoryAxisEvents extends IAxisEvents {\n\n}\n\n/**\n * Creates a category axis.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/category-axis/} for more info\n * @important\n */\nexport class CategoryAxis<R extends AxisRenderer> extends Axis<R> {\n\tpublic static className: string = \"CategoryAxis\";\n\tpublic static classNames: Array<string> = Axis.classNames.concat([CategoryAxis.className]);\n\n\tdeclare public _settings: ICategoryAxisSettings<R>;\n\tdeclare public _privateSettings: ICategoryAxisPrivate;\n\tdeclare public _dataItemSettings: ICategoryAxisDataItem;\n\tdeclare public _events: ICategoryAxisEvents;\n\n\tprotected _frequency: number = 1;\n\n\tprotected _itemMap: { [index: string]: DataItem<ICategoryAxisDataItem> } = {};\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"axis\"]);\n\t\tthis.fields.push(\"category\", \"id\", \"cellSize\");\n\t\tthis.setPrivateRaw(\"name\", \"category\");\n\t\tthis.addTag(\"category\");\n\t\tsuper._afterNew();\n\t}\n\n\tpublic _afterDataChange(): void {\n\t\tsuper._afterDataChange();\n\t\tconst len = this.dataItems.length;\n\t\tif (len > 0) {\n\t\t\tthis.setPrivateRaw(\"maxZoomFactor\", len);\n\t\t}\n\n\t\t// fix final indexes\t\t\n\t\tthis.setPrivateRaw(\"startIndex\", Math.min(this.getPrivate(\"startIndex\", 0), len));\n\t\tthis.setPrivateRaw(\"endIndex\", Math.min(this.getPrivate(\"endIndex\", len), 1));\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tconst len = this.dataItems.length;\n\t\tlet i = 0;\n\t\tif (this._valuesDirty) {\n\t\t\tthis._itemMap = {};\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tdataItem.setRaw(\"index\", i);\n\t\t\t\tthis._itemMap[dataItem.get(\"category\") as string] = dataItem;\n\t\t\t\ti++;\n\t\t\t})\n\n\t\t\tthis.setPrivateRaw(\"maxZoomFactor\", len);\n\t\t}\n\n\t\tlet start = this.get(\"start\", 0);\n\t\tlet end = this.get(\"end\", 1);\n\n\t\tlet indices = this._getIndices(start, end);\n\n\t\tthis.setPrivateRaw(\"startIndex\", indices.startIndex);\n\t\tthis.setPrivateRaw(\"endIndex\", indices.endIndex);\n\n\t\tif (this._sizeDirty || this._valuesDirty || (this.isDirty(\"start\") || this.isDirty(\"end\") || this.isPrivateDirty(\"endIndex\") || this.isPrivateDirty(\"startIndex\") || this.isPrivateDirty(\"width\") || this.isPrivateDirty(\"height\"))) {\n\t\t\tif (this.dataItems.length > 0) {\n\t\t\t\tthis._handleRangeChange();\n\t\t\t\tthis._prepareAxisItems();\n\t\t\t\tthis._updateAxisRanges();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic adjustZoom(): void {\n\t\tconst len = this.dataItems.length;\n\t\tif (len > 1) {\n\t\t\tlet maxZoomCount = this.get(\"maxZoomCount\", this.dataItems.length);\n\t\t\tlet minZoomCount = this.get(\"minZoomCount\", 1);\n\n\t\t\tlet count = 0;\n\t\t\tlet startIndex = this.getPrivate(\"startIndex\", 0);\n\t\t\tlet endIndex = this.getPrivate(\"endIndex\", 0);\n\n\t\t\tconst sAnimation = this._sAnimation;\n\t\t\tconst eAnimation = this._eAnimation;\n\n\t\t\tlet start = this.get(\"start\", 0);\n\t\t\tlet getIndices = false;\n\t\t\tif (sAnimation && !sAnimation.stopped) {\n\t\t\t\tstart = Number(sAnimation.to);\n\t\t\t\tgetIndices = true;\n\t\t\t}\n\t\t\tlet end = this.get(\"end\", 1);\n\t\t\tif (eAnimation && !eAnimation.stopped) {\n\t\t\t\tend = Number(eAnimation.to);\n\t\t\t\tgetIndices = true;\n\t\t\t}\n\n\t\t\tif (getIndices) {\n\t\t\t\tconst indices = this._getIndices(start, end);\n\t\t\t\tstartIndex = indices.startIndex;\n\t\t\t\tendIndex = indices.endIndex;\n\t\t\t}\n\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\tcount += dataItem.get(\"finalCellSize\", 1);\n\t\t\t};\n\n\t\t\tif (count <= minZoomCount) {\n\t\t\t\t// need to zoom out\n\t\t\t\tlet c = 0;\n\n\t\t\t\tfor (let i = startIndex; i < len; i++) {\n\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\tc += dataItem.get(\"finalCellSize\", 1);\n\n\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\tif (c >= minZoomCount) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (c < minZoomCount) {\n\t\t\t\t\t// still not enough, try to extend at the start\n\t\t\t\t\tfor (let i = startIndex - 1; i >= 0; i--) {\n\t\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\t\tc += dataItem.get(\"finalCellSize\", 1);\n\t\t\t\t\t\tstartIndex = i;\n\t\t\t\t\t\tif (c >= minZoomCount) {\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\tthis.zoomToIndexes(startIndex, endIndex);\n\t\t\t}\n\t\t\telse if (count >= maxZoomCount) {\n\t\t\t\tlet c = count;\n\t\t\t\tfor (let i = endIndex - 1; i >= startIndex; i--) {\n\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\tc -= dataItem.get(\"finalCellSize\", 1);\n\t\t\t\t\tif (c <= maxZoomCount) {\n\t\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.zoomToIndexes(startIndex, endIndex);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handleRangeChange() {\n\t\t$array.each(this.series, (series) => {\n\t\t\tlet startCategory = this.dataItems[this.startIndex()].get(\"category\")!;\n\t\t\tlet endCategory = this.dataItems[this.endIndex() - 1].get(\"category\")!;\n\n\t\t\tlet baseAxis = series.get(\"baseAxis\");\n\t\t\tlet xAxis = series.get(\"xAxis\");\n\t\t\tlet yAxis = series.get(\"yAxis\");\n\n\t\t\tif (xAxis instanceof CategoryAxis && yAxis instanceof CategoryAxis) {\n\t\t\t\tseries._markDirtyAxes();\n\t\t\t}\n\t\t\telse if (baseAxis === this) {\n\t\t\t\tlet key: string | undefined;\n\t\t\t\tlet openKey: string | undefined;\n\t\t\t\tlet otherAxis = yAxis;\n\t\t\t\tif (xAxis === baseAxis) {\n\t\t\t\t\tif (series.get(\"categoryXField\")) {\n\t\t\t\t\t\tkey = \"categoryX\";\n\t\t\t\t\t}\n\t\t\t\t\tif (series.get(\"openCategoryXField\")) {\n\t\t\t\t\t\topenKey = \"openCategoryX\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (yAxis === baseAxis) {\n\t\t\t\t\tif (series.get(\"categoryYField\")) {\n\t\t\t\t\t\tkey = \"categoryY\";\n\t\t\t\t\t}\n\t\t\t\t\tif (series.get(\"openCategoryYField\")) {\n\t\t\t\t\t\topenKey = \"openCategoryY\";\n\t\t\t\t\t}\n\t\t\t\t\totherAxis = xAxis;\n\t\t\t\t}\n\n\t\t\t\tif (otherAxis instanceof ValueAxis) {\n\n\t\t\t\t\tif (key || openKey) {\n\t\t\t\t\t\tlet startDataItem: DataItem<IXYSeriesDataItem> | undefined;\n\t\t\t\t\t\tlet endDataItem: DataItem<IXYSeriesDataItem> | undefined;\n\n\t\t\t\t\t\tfunction findDataItem(\n\t\t\t\t\t\t\tseries: XYSeries,\n\t\t\t\t\t\t\tcategoryAxis: CategoryAxis<any>,\n\t\t\t\t\t\t\tkey: string | undefined,\n\t\t\t\t\t\t\topenKey: string | undefined,\n\t\t\t\t\t\t\tcategory: string,\n\t\t\t\t\t\t\tdirection: \"previous\" | \"next\"\n\t\t\t\t\t\t): DataItem<IXYSeriesDataItem> | undefined {\n\t\t\t\t\t\t\tlet dataItem: DataItem<IXYSeriesDataItem> | undefined;\n\t\t\t\t\t\t\tlet idx = categoryAxis.categoryToIndex(category!);\n\n\t\t\t\t\t\t\twhile (!dataItem && idx >= 0 && idx < categoryAxis.dataItems.length) {\n\t\t\t\t\t\t\t\tlet searchCategory = categoryAxis.dataItems[idx].get(\"category\");\n\t\t\t\t\t\t\t\tif (direction == \"previous\") {\n\t\t\t\t\t\t\t\t\tfor (let i = series.dataItems.length - 1; i >= 0; i--) {\n\t\t\t\t\t\t\t\t\t\tlet item = series.dataItems[i];\n\t\t\t\t\t\t\t\t\t\tif (key && item.get(key as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (openKey && item.get(openKey as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tfor (let i = 0, len = series.dataItems.length; i < len; i++) {\n\t\t\t\t\t\t\t\t\t\tlet item = series.dataItems[i];\n\t\t\t\t\t\t\t\t\t\tif (key && item.get(key as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (openKey && item.get(openKey as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (!dataItem) {\n\t\t\t\t\t\t\t\t\tidx += direction === \"previous\" ? -1 : 1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn dataItem;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstartDataItem = findDataItem(series, this, key, openKey, startCategory, \"next\");\n\t\t\t\t\t\tendDataItem = findDataItem(series, this, key, openKey, endCategory, \"previous\");\n\n\t\t\t\t\t\tlet startIndex = 0;\n\t\t\t\t\t\tlet endIndex = series.dataItems.length;\n\n\t\t\t\t\t\tif (startDataItem) {\n\t\t\t\t\t\t\tstartIndex = series.dataItems.indexOf(startDataItem);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (endDataItem) {\n\t\t\t\t\t\t\tendIndex = series.dataItems.indexOf(endDataItem) + 1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tseries.setPrivate(\"startIndex\", startIndex);\n\t\t\t\t\t\tseries.setPrivate(\"endIndex\", endIndex);\n\n\t\t\t\t\t\tlet hasValue = false;\n\t\t\t\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\t\t\t\tconst dataItem = series.dataItems[i];\n\n\t\t\t\t\t\t\t$array.each(series.__valueXShowFields, (key) => {\n\t\t\t\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\t\t\t\thasValue = true;\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\t$array.each(series.__valueYShowFields, (key) => {\n\t\t\t\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\t\t\t\thasValue = true;\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 (hasValue) {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tseries.setPrivate(\"outOfSelection\", !hasValue);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tseries._markDirtyAxes();\t// must be outside\n\t\t\t}\n\t\t})\n\t}\n\n\n\tprotected _prepareAxisItems() {\n\t\tconst renderer = this.get(\"renderer\");\n\t\tconst len = this.dataItems.length;\n\n\t\tlet startIndex = this.startIndex();\n\t\tif (startIndex > 0) {\n\t\t\tstartIndex--;\n\t\t}\n\n\t\tlet endIndex = this.endIndex();\n\t\tif (endIndex < len) {\n\t\t\tendIndex++;\n\t\t}\n\n\t\tconst minorLabelsEnabled = renderer.get(\"minorLabelsEnabled\");\n\t\tconst minorGridEnabled = renderer.get(\"minorGridEnabled\", minorLabelsEnabled);\n\n\t\tlet maxCount = renderer.axisLength() / Math.max(renderer.get(\"minGridDistance\")!, 1);\n\n\t\tlet frequency = Math.max(1, Math.min(len, Math.ceil((endIndex - startIndex) / maxCount)));\n\n\t\tstartIndex = Math.floor(startIndex / frequency) * frequency;\n\t\tthis._frequency = frequency;\n\n\t\tfor (let j = 0; j < len; j++) {\n\t\t\tthis._toggleDataItem(this.dataItems[j], false);\n\t\t}\n\n\t\tlet f = this.dataItems[startIndex].get(\"index\", 0);\n\n\t\tfor (let i = startIndex; i < endIndex; i = i + frequency) {\n\t\t\tlet dataItem = this.dataItems[i];\n\n\t\t\tthis._createAssets(dataItem, []);\n\t\t\tthis._toggleDataItem(dataItem, true);\n\n\t\t\tlet count = frequency;\n\t\t\tif (minorGridEnabled) {\n\t\t\t\tcount = 1;\n\t\t\t}\n\n\t\t\tthis._prepareDataItem(dataItem, f, count);\n\n\t\t\tf++;\n\t\t}\n\n\t\tif (renderer.get(\"minorGridEnabled\")) {\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\tif (i % frequency != 0) {\n\t\t\t\t\tthis._createAssets(dataItem, [\"minor\"], true);\n\t\t\t\t\tthis._toggleDataItem(dataItem, true);\n\t\t\t\t\tthis._prepareDataItem(dataItem, 0, 1);\n\n\t\t\t\t\tif (!minorLabelsEnabled) {\n\t\t\t\t\t\tdataItem.get(\"label\")?.setPrivate(\"visible\", false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._updateGhost();\n\t}\n\n\n\tpublic _prepareDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, fillIndex?: number, count?: number) {\n\t\tlet renderer = this.get(\"renderer\");\n\n\t\tlet categoryLocation = dataItem.get(\"categoryLocation\", 0);\n\t\tlet endCategoryLocation = dataItem.get(\"endCategoryLocation\", 1);\n\n\t\tlet index: number | undefined = dataItem.get(\"index\");\n\n\t\tif (!$type.isNumber(index)) {\n\t\t\tindex = this.categoryToIndex(dataItem.get(\"category\")!);\n\t\t}\n\n\t\tlet position = this.indexToPosition(index, categoryLocation);\n\n\t\tlet endCategory = dataItem.get(\"endCategory\")!;\n\t\tlet endIndex: number;\n\t\tif (endCategory) {\n\t\t\tendIndex = this.categoryToIndex(endCategory);\n\t\t\tif (!$type.isNumber(endIndex)) {\n\t\t\t\tendIndex = index;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tendIndex = index;\n\t\t}\n\n\t\tlet endPosition = this.indexToPosition(endIndex, endCategoryLocation);\n\n\t\tlet fillEndIndex: number;\n\t\tlet fillEndPosition: number;\n\n\t\tif (dataItem.get(\"isRange\")) {\n\t\t\tfillEndIndex = endIndex;\n\n\t\t\tif (!$type.isNumber(index)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tfillEndIndex = index + this._frequency - 1;\n\t\t}\n\n\t\tfillEndPosition = this.indexToPosition(fillEndIndex, endCategoryLocation);\n\n\t\trenderer.updateLabel(dataItem.get(\"label\"), position, endPosition, count);\n\t\trenderer.updateGrid(dataItem.get(\"grid\"), position, endPosition);\n\t\trenderer.updateTick(dataItem.get(\"tick\"), position, endPosition, count);\n\t\trenderer.updateFill(dataItem.get(\"axisFill\"), position, fillEndPosition);\n\n\t\tthis._processBullet(dataItem);\n\t\trenderer.updateBullet(dataItem.get(\"bullet\"), position, endPosition);\n\n\t\tconst fillRule = this.get(\"fillRule\");\n\t\tif (fillRule) {\n\t\t\tfillRule(dataItem, fillIndex)\n\t\t}\n\t}\n\n\tpublic startIndex() {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.min(Math.max(this.getPrivate(\"startIndex\", 0), 0), len - 1);\n\t}\n\n\tpublic endIndex() {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.max(1, Math.min(this.getPrivate(\"endIndex\", len), len));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic baseValue(): any {\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic basePosition() {\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Returns X coordinate in pixels corresponding to specific category index.\n\t *\n\t * @param value Index\n\t * @return X coordinate\n\t */\n\tpublic getX(value: string): number {\n\t\tlet axisDataItem = this._itemMap[value];\n\t\tif (axisDataItem) {\n\t\t\treturn this._settings.renderer.positionToCoordinate(this.indexToPosition(axisDataItem.get(\"index\", 0)));\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * Returns Y coordinate in pixels corresponding to specific category index.\n\t *\n\t * @param value Index\n\t * @return Y coordinate\n\t */\n\tpublic getY(value: string): number {\n\t\tlet axisDataItem = this._itemMap[value];\n\t\tif (axisDataItem) {\n\t\t\treturn this._settings.renderer.positionToCoordinate(this.indexToPosition(axisDataItem.get(\"index\", 0)));\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemPositionX(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\tconst category = dataItem.get(field as any);\n\t\tconst axisDataItem = this._itemMap[category];\n\n\t\tif (axisDataItem) {\n\t\t\treturn this.indexToPosition(axisDataItem.get(\"index\", 0), cellLocation);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemCoordinateX(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\treturn this._settings.renderer.positionToCoordinate(this.getDataItemPositionX(dataItem, field, cellLocation, _axisLocation));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemPositionY(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\tconst category = dataItem.get(field as any);\n\t\tconst axisDataItem = this._itemMap[category];\n\t\tif (axisDataItem) {\n\t\t\treturn this.indexToPosition(axisDataItem.get(\"index\", 0), cellLocation);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemCoordinateY(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\treturn this._settings.renderer.positionToCoordinate(this.getDataItemPositionY(dataItem, field, cellLocation, _axisLocation));\n\t}\n\n\t/**\n\t * Converts category index to a relative position.\n\t *\n\t * `location` indicates relative position within category: 0 - start, 1 - end.\n\t *\n\t * If not set, will use middle (0.5) of the category.\n\t *\n\t * @param index Index\n\t * @param location Location\n\t * @return Index\n\t */\n\tpublic indexToPosition(index: number, location?: number, final?: boolean): number {\n\t\tlet len = this.dataItems.length;\n\t\tlet position = 0;\n\n\t\tif (len == 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (index >= len) {\n\t\t\tindex = len - 1;\n\t\t\tlocation = 1;\n\t\t}\n\n\t\tif (!$type.isNumber(location)) {\n\t\t\tlocation = 0.5;\n\t\t}\n\n\t\tif (!$type.isNumber(index)) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tlet startLocation = this.get(\"startLocation\", 0);\n\t\tlet endLocation = this.get(\"endLocation\", 1);\n\n\t\tif (!this.get(\"cellSizeField\")) {\n\t\t\tlen -= startLocation;\n\t\t\tlen -= (1 - endLocation);\n\n\t\t\tposition = (index + location - startLocation) / len;\n\t\t}\n\t\telse {\n\t\t\tlet name: \"finalCellSize\" | \"cellSize\" = final ? \"finalCellSize\" : \"cellSize\";\n\n\t\t\tconst dataItems = this.dataItems;\n\n\t\t\t// Calculate total modified count (sum of cell sizes)\n\t\t\tlet modCount = 0;\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tmodCount += dataItem.get(name, 1);\n\t\t\t});\n\n\t\t\tmodCount -= startLocation * dataItems[0].get(name, 1);\n\t\t\tmodCount -= (1 - endLocation) * dataItems[dataItems.length - 1].get(name, 1);\n\n\t\t\t// Calculate the position based on cell sizes\n\t\t\tlet acc = 0;\n\t\t\tfor (let i = 0; i < index; i++) {\n\t\t\t\tacc += dataItems[i].get(name, 1);\n\t\t\t}\n\t\t\tlet cellSizeAtIndex = dataItems[index].get(name, 1);\n\n\t\t\tposition = (acc + location * cellSizeAtIndex - startLocation * dataItems[0].get(name, 1)) / modCount;\n\t\t}\n\n\t\tif (!final) {\n\t\t\tlet dataItem = this.dataItems[index];\n\t\t\tif (dataItem) {\n\t\t\t\tposition += dataItem.get(\"deltaPosition\", 0);\n\t\t\t}\n\t\t}\n\n\t\treturn position;\n\t}\n\n\t/**\n\t * Returns a position of a category.\n\t *\n\t * @param category Category to look up\n\t * @return Position\n\t */\n\tpublic categoryToPosition(category: string): number {\n\t\tlet dataItem = this._itemMap[category];\n\t\tif (dataItem) {\n\t\t\treturn this.indexToPosition(dataItem.get(\"index\")!);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\n\t/**\n\t * Returns an index of a category.\n\t *\n\t * @param category Category to look up\n\t * @return Index\n\t */\n\tpublic categoryToIndex(category: string): number {\n\t\tlet dataItem = this._itemMap[category];\n\t\tif (dataItem) {\n\t\t\treturn dataItem.get(\"index\")!;\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic dataItemToPosition(dataItem: DataItem<this[\"_dataItemSettings\"]>): number {\n\t\treturn this.indexToPosition(dataItem.get(\"index\")!);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic roundAxisPosition(position: number, location: number): number {\n\t\tposition += (0.5 - location) / this.dataItems.length;\n\t\treturn this.indexToPosition(this.axisPositionToIndex(position), location);\n\t}\n\n\t/**\n\t * Returns an index of the category that corresponds to specific pixel\n\t * position within axis.\n\t *\n\t * @param position Position (px)\n\t * @return Category index\n\t */\n\tpublic axisPositionToIndex(position: number): number {\n\t\tlet len = this.dataItems.length;\n\t\tif (len === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Calculate total modified length (sum of cell sizes)\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tlet modifiedLen = 0;\n\t\t\tlet cellSizes: number[] = [];\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tconst cellSize = dataItem.get(\"cellSize\", 1);\n\t\t\t\tcellSizes.push(cellSize);\n\t\t\t\tmodifiedLen += cellSize;\n\t\t\t});\n\t\t\t// Adjust for startLocation and endLocation\n\t\t\tlet startLocation = this.get(\"startLocation\", 0);\n\t\t\tlet endLocation = this.get(\"endLocation\", 1);\n\t\t\tmodifiedLen -= startLocation;\n\t\t\tmodifiedLen -= (1 - endLocation);\n\n\t\t\t// Find which cell the position falls into\n\t\t\tlet rel = position * modifiedLen + startLocation;\n\t\t\tlet acc = 0;\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\tconst cellSize = cellSizes[i];\n\t\t\t\tif (rel < acc + cellSize) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t\tacc += cellSize;\n\t\t\t}\n\t\t\treturn len - 1;\n\t\t}\n\t\telse {\n\t\t\treturn $math.fitToRange(Math.floor(position * len), 0, len - 1);\n\t\t}\n\t}\n\n\t/**\n\t * Returns text to be used in an axis tooltip for specific relative position.\n\t *\n\t * @param position Position\n\t * @return Tooltip text\n\t */\n\tpublic getTooltipText(position: number, _adjustPosition?: boolean): string | undefined {\n\t\t//@todo number formatter + tag\n\t\tconst dataItem = this.dataItems[this.axisPositionToIndex(position)];\n\t\tif (dataItem) {\n\t\t\tconst label = dataItem.get(\"label\")\n\t\t\tif (label) {\n\t\t\t\treturn populateString(label, this.get(\"tooltipText\", \"\"));\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTooltipText(tooltip: Tooltip, position: number) {\n\t\ttooltip._setDataItem(this.dataItems[this.axisPositionToIndex(position)]);\n\t\ttooltip.label.text.markDirtyText();\n\t}\n\n\t/**\n\t * Returns a data item from series that is closest to the `position`.\n\t *\n\t * @param series Series\n\t * @param position Relative position\n\t * @return Data item\n\t */\n\tpublic getSeriesItem(series: XYSeries, position: number): DataItem<IXYSeriesDataItem> | undefined {\n\t\tif (this.dataItems.length > 0) {\n\t\t\tlet fieldName = <any>(this.getPrivate(\"name\")! + this.get(\"renderer\").getPrivate(\"letter\")!);\n\t\t\tlet index = this.axisPositionToIndex(position);\n\t\t\t// try simple first\n\t\t\tlet seriesDataItem = series.dataItems[index];\n\t\t\tlet axisDataItem = this.dataItems[index];\n\t\t\tlet category = axisDataItem.get(\"category\");\n\n\t\t\tif (seriesDataItem && axisDataItem) {\n\t\t\t\tif (seriesDataItem.get(fieldName) === category) {\n\t\t\t\t\treturn seriesDataItem;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if not found, try looking\n\t\t\tfor (let i = 0, len = series.dataItems.length; i < len; i++) {\n\t\t\t\tlet dataItem = series.dataItems[i];\n\t\t\t\tif (dataItem.get(fieldName) === category) {\n\t\t\t\t\treturn dataItem;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _getIndices(start: number, end: number): { startIndex: number, endIndex: number } {\n\t\tlet len = this.dataItems.length;\n\t\tlet startIndex = 0;\n\t\tlet endIndex = len;\n\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tlet count = 0;\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tcount += dataItem.get(\"cellSize\", 1);\n\t\t\t});\n\n\t\t\tlet c = 0;\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\tc += this.dataItems[i].get(\"cellSize\", 1);\n\t\t\t\tif (c / count > start) {\n\t\t\t\t\tstartIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (let i = startIndex + 1; i < len; i++) {\n\t\t\t\tc += this.dataItems[i].get(\"cellSize\", 1);\n\t\t\t\tif (c / count > end) {\n\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tstartIndex = Math.max(startIndex, 0);\n\t\t\tendIndex = Math.min(endIndex, len);\n\t\t}\n\t\telse {\n\t\t\tstartIndex = Math.max(Math.round(this.get(\"start\", 0) * len), 0);\n\t\t\tendIndex = Math.min(Math.round(this.get(\"end\", 1) * len), len);\n\t\t}\n\n\t\treturn { startIndex, endIndex };\n\t}\n\n\t/**\n\t * Zooms the axis to specific `start` and `end` indexes.\n\t *\n\t * Optional `duration` specifies duration of zoom animation in milliseconds.\n\t *\n\t * @param start Start index\n\t * @param end End index\n\t * @param duration Duration in milliseconds\n\t */\n\tpublic zoomToIndexes(start: number, end: number, duration?: number) {\n\t\tlet len = this.dataItems.length;\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tstart = Math.min(Math.max(start, 0), len);\n\t\t\tend = Math.max(Math.min(end, len), 1);\n\t\t\tthis.setPrivateRaw(\"startIndex\", start);\n\t\t\tthis.setPrivateRaw(\"endIndex\", end);\n\t\t\tthis.zoom(this.indexToPosition(start, 0, true), this.indexToPosition(end, 0, true), duration);\n\t\t}\n\t\telse {\n\t\t\tthis.zoom(start / len, end / len, duration);\n\t\t}\n\t}\n\n\tpublic zoomToCategories(startCategory: string, endCategory: string, duration?: number) {\n\t\tthis.zoomToIndexes(this.categoryToIndex(startCategory), this.categoryToIndex(endCategory) + 1, duration);\n\t}\n\n\t/**\n\t * Returns position span between start and end of a single cell in axis.\n\t *\n\t * @since 5.2.30\n\t * @return Position\n\t */\n\tpublic getCellWidthPosition(): number {\n\t\treturn this._frequency / this.dataItems.length / (this.get(\"end\", 1) - this.get(\"start\", 0));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic nextPosition(count?: number) {\n\t\tif (count == null) {\n\t\t\tcount = 1;\n\t\t}\n\n\t\tif (this.get(\"renderer\").getPrivate(\"letter\") == \"Y\") {\n\t\t\tcount *= -1;\n\t\t}\n\n\t\tconst position = this.getPrivate(\"tooltipPosition\", 0);\n\n\t\tconst index = $math.fitToRange(this.axisPositionToIndex(position) + count, 0, this.dataItems.length - 1);\n\t\treturn this.toGlobalPosition(this.indexToPosition(index));\n\t}\n}\n"]}
1
+ {"version":3,"file":"CategoryAxis.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/CategoryAxis.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../../core/render/Component\";\nimport type { AxisRenderer } from \"./AxisRenderer\";\nimport type { Tooltip } from \"../../../core/render/Tooltip\";\nimport type { IXYSeriesDataItem, XYSeries } from \"../series/XYSeries\";\n\nimport { Axis, IAxisSettings, IAxisPrivate, IAxisDataItem, IAxisEvents } from \"./Axis\";\nimport { populateString } from \"../../../core/util/PopulateString\";\nimport { ValueAxis } from \"./ValueAxis\";\n\nimport * as $array from \"../../../core/util/Array\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $math from \"../../../core/util/Math\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface ICategoryAxisSettings<R extends AxisRenderer> extends IAxisSettings<R> {\n\n\t/**\n\t * A function that can be used to specify how to configure axis fills.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Axis_fills} for more info\n\t */\n\tfillRule?: (dataItem: DataItem<ICategoryAxisDataItem>, index?: number) => void;\n\n\t/**\n\t * A field in data which holds categories.\n\t */\n\tcategoryField: string;\n\n\t/**\n\t * A key to look up in data for an id of the data item.\n\t */\n\tidField?: string;\n\n\t/**\n\t * A key to look up in data for a relative size value of the data item. \n\t */\n\tcellSizeField?: string;\n\n\t/**\n\t * Relative location of where axis cell starts: 0 - beginning, 1 - end.\n\t *\n\t * @default 0\n\t */\n\tstartLocation?: number;\n\n\t/**\n\t * Relative location of where axis cell ends: 0 - beginning, 1 - end.\n\t *\n\t * @default 1\n\t */\n\tendLocation?: number;\n}\n\nexport interface ICategoryAxisDataItem extends IAxisDataItem {\n\n\t/**\n\t * Named category.\n\t */\n\tcategory?: string;\n\n\t/**\n\t * Named end category (for axis items that span multiple categories, like\n\t * axis ranges).\n\t */\n\tendCategory?: string;\n\n\t/**\n\t * Index of the data item.\n\t */\n\tindex?: number;\n\n\t/**\n\t * Relative location of the category within cell: 0 - start, 1 - end.\n\t */\n\tcategoryLocation?: number;\n\n\t/**\n\t * Relative location of the end category within cell: 0 - start, 1 - end.\n\t */\n\tendCategoryLocation?: number;\n\n\t/**\n\t * A distance to shift data item relative to its original position.\n\t *\n\t * The value is 0 to 1, where 1 is full witdth of the axis.\n\t *\n\t * Can be used to sort data items without modifying order of the actual data.\n\t */\n\tdeltaPosition?: number;\n\n\t/**\n\t * A size of the category cell.\n\t *\n\t * NOTE: This value is used only if `cellSizeField` is set on the series.\n\t */\n\tcellSize?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tfinalCellSize?: number;\n\n\t/**\n\t * A unique id of the data item.\n\t */\n\tid?: string;\n}\n\nexport interface ICategoryAxisPrivate extends IAxisPrivate {\n\n\t/**\n\t * Start index of the current zoom scope.\n\t */\n\tstartIndex?: number;\n\n\t/**\n\t * End index of the current zoom scope.\n\t */\n\tendIndex?: number;\n}\n\nexport interface ICategoryAxisEvents extends IAxisEvents {\n\n}\n\n/**\n * Creates a category axis.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/category-axis/} for more info\n * @important\n */\nexport class CategoryAxis<R extends AxisRenderer> extends Axis<R> {\n\tpublic static className: string = \"CategoryAxis\";\n\tpublic static classNames: Array<string> = Axis.classNames.concat([CategoryAxis.className]);\n\n\tdeclare public _settings: ICategoryAxisSettings<R>;\n\tdeclare public _privateSettings: ICategoryAxisPrivate;\n\tdeclare public _dataItemSettings: ICategoryAxisDataItem;\n\tdeclare public _events: ICategoryAxisEvents;\n\n\tprotected _frequency: number = 1;\n\n\tprotected _itemMap: { [index: string]: DataItem<ICategoryAxisDataItem> } = {};\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"axis\"]);\n\t\tthis.fields.push(\"category\", \"id\", \"cellSize\");\n\t\tthis.setPrivateRaw(\"name\", \"category\");\n\t\tthis.addTag(\"category\");\n\t\tsuper._afterNew();\n\t}\n\n\tpublic _afterDataChange(): void {\n\t\tsuper._afterDataChange();\n\t\tconst len = this.dataItems.length;\n\t\tif (len > 0) {\n\t\t\tthis.setPrivateRaw(\"maxZoomFactor\", len);\n\t\t}\n\n\t\t// fix final indexes\t\t\n\t\tthis.setPrivateRaw(\"startIndex\", Math.min(this.getPrivate(\"startIndex\", 0), len));\n\t\tthis.setPrivateRaw(\"endIndex\", Math.min(this.getPrivate(\"endIndex\", len), 1));\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tconst len = this.dataItems.length;\n\t\tlet i = 0;\n\t\tif (this._valuesDirty) {\n\t\t\tthis._itemMap = {};\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tdataItem.setRaw(\"index\", i);\n\t\t\t\tthis._itemMap[dataItem.get(\"category\") as string] = dataItem;\n\t\t\t\ti++;\n\t\t\t})\n\n\t\t\tthis.setPrivateRaw(\"maxZoomFactor\", len);\n\t\t}\n\n\t\tlet start = this.get(\"start\", 0);\n\t\tlet end = this.get(\"end\", 1);\n\t\t\n\t\tlet indices = this._getIndices(start, end);\n\n\t\tthis.setPrivateRaw(\"startIndex\", indices.startIndex);\n\t\tthis.setPrivateRaw(\"endIndex\", indices.endIndex);\n\n\t\tif (this._sizeDirty || this._valuesDirty || (this.isDirty(\"start\") || this.isDirty(\"end\") || this.isPrivateDirty(\"endIndex\") || this.isPrivateDirty(\"startIndex\") || this.isPrivateDirty(\"width\") || this.isPrivateDirty(\"height\"))) {\n\t\t\tif (this.dataItems.length > 0) {\n\t\t\t\tthis._handleRangeChange();\n\t\t\t\tthis._prepareAxisItems();\n\t\t\t\tthis._updateAxisRanges();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic adjustZoom(): void {\n\t\tconst len = this.dataItems.length;\n\t\tif (len > 1) {\n\t\t\tlet maxZoomCount = this.get(\"maxZoomCount\", this.dataItems.length);\n\t\t\tlet minZoomCount = this.get(\"minZoomCount\", 1);\n\n\t\t\tlet count = 0;\n\t\t\tlet startIndex = this.getPrivate(\"startIndex\", 0);\n\t\t\tlet endIndex = this.getPrivate(\"endIndex\", 0);\n\n\t\t\tconst sAnimation = this._sAnimation;\n\t\t\tconst eAnimation = this._eAnimation;\n\n\t\t\tlet start = this.get(\"start\", 0);\n\t\t\tlet getIndices = false;\n\t\t\tif (sAnimation && !sAnimation.stopped) {\n\t\t\t\tstart = Number(sAnimation.to);\n\t\t\t\tgetIndices = true;\n\t\t\t}\n\t\t\tlet end = this.get(\"end\", 1);\n\t\t\tif (eAnimation && !eAnimation.stopped) {\n\t\t\t\tend = Number(eAnimation.to);\n\t\t\t\tgetIndices = true;\n\t\t\t}\n\n\t\t\tif (getIndices) {\n\t\t\t\tconst indices = this._getIndices(start, end);\n\t\t\t\tstartIndex = indices.startIndex;\n\t\t\t\tendIndex = indices.endIndex;\n\t\t\t}\n\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\tcount += dataItem.get(\"finalCellSize\", 1);\n\t\t\t};\n\n\t\t\tif (count <= minZoomCount) {\n\t\t\t\t// need to zoom out\n\t\t\t\tlet c = 0;\n\n\t\t\t\tfor (let i = startIndex; i < len; i++) {\n\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\tc += dataItem.get(\"finalCellSize\", 1);\n\n\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\tif (c >= minZoomCount) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (c < minZoomCount) {\n\t\t\t\t\t// still not enough, try to extend at the start\n\t\t\t\t\tfor (let i = startIndex - 1; i >= 0; i--) {\n\t\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\t\tc += dataItem.get(\"finalCellSize\", 1);\n\t\t\t\t\t\tstartIndex = i;\n\t\t\t\t\t\tif (c >= minZoomCount) {\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\tthis.zoomToIndexes(startIndex, endIndex);\n\t\t\t}\n\t\t\telse if (count >= maxZoomCount) {\n\t\t\t\tlet c = count;\n\t\t\t\tfor (let i = endIndex - 1; i >= startIndex; i--) {\n\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\tc -= dataItem.get(\"finalCellSize\", 1);\n\t\t\t\t\tif (c <= maxZoomCount) {\n\t\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.zoomToIndexes(startIndex, endIndex);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handleRangeChange() {\n\t\t$array.each(this.series, (series) => {\n\t\t\tlet startCategory = this.dataItems[this.startIndex()].get(\"category\")!;\n\t\t\tlet endCategory = this.dataItems[this.endIndex() - 1].get(\"category\")!;\n\n\t\t\tlet baseAxis = series.get(\"baseAxis\");\n\t\t\tlet xAxis = series.get(\"xAxis\");\n\t\t\tlet yAxis = series.get(\"yAxis\");\n\n\t\t\tif (xAxis instanceof CategoryAxis && yAxis instanceof CategoryAxis) {\n\t\t\t\tseries._markDirtyAxes();\n\t\t\t}\n\t\t\telse if (baseAxis === this) {\n\t\t\t\tlet key: string | undefined;\n\t\t\t\tlet openKey: string | undefined;\n\t\t\t\tlet otherAxis = yAxis;\n\t\t\t\tif (xAxis === baseAxis) {\n\t\t\t\t\tif (series.get(\"categoryXField\")) {\n\t\t\t\t\t\tkey = \"categoryX\";\n\t\t\t\t\t}\n\t\t\t\t\tif (series.get(\"openCategoryXField\")) {\n\t\t\t\t\t\topenKey = \"openCategoryX\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (yAxis === baseAxis) {\n\t\t\t\t\tif (series.get(\"categoryYField\")) {\n\t\t\t\t\t\tkey = \"categoryY\";\n\t\t\t\t\t}\n\t\t\t\t\tif (series.get(\"openCategoryYField\")) {\n\t\t\t\t\t\topenKey = \"openCategoryY\";\n\t\t\t\t\t}\n\t\t\t\t\totherAxis = xAxis;\n\t\t\t\t}\n\n\t\t\t\tif (otherAxis instanceof ValueAxis) {\n\n\t\t\t\t\tif (key || openKey) {\n\t\t\t\t\t\tlet startDataItem: DataItem<IXYSeriesDataItem> | undefined;\n\t\t\t\t\t\tlet endDataItem: DataItem<IXYSeriesDataItem> | undefined;\n\n\t\t\t\t\t\tfunction findDataItem(\n\t\t\t\t\t\t\tseries: XYSeries,\n\t\t\t\t\t\t\tcategoryAxis: CategoryAxis<any>,\n\t\t\t\t\t\t\tkey: string | undefined,\n\t\t\t\t\t\t\topenKey: string | undefined,\n\t\t\t\t\t\t\tcategory: string,\n\t\t\t\t\t\t\tdirection: \"previous\" | \"next\"\n\t\t\t\t\t\t): DataItem<IXYSeriesDataItem> | undefined {\n\t\t\t\t\t\t\tlet dataItem: DataItem<IXYSeriesDataItem> | undefined;\n\t\t\t\t\t\t\tlet idx = categoryAxis.categoryToIndex(category!);\n\n\t\t\t\t\t\t\twhile (!dataItem && idx >= 0 && idx < categoryAxis.dataItems.length) {\n\t\t\t\t\t\t\t\tlet searchCategory = categoryAxis.dataItems[idx].get(\"category\");\n\t\t\t\t\t\t\t\tif (direction == \"previous\") {\n\t\t\t\t\t\t\t\t\tfor (let i = series.dataItems.length - 1; i >= 0; i--) {\n\t\t\t\t\t\t\t\t\t\tlet item = series.dataItems[i];\n\t\t\t\t\t\t\t\t\t\tif (key && item.get(key as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (openKey && item.get(openKey as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tfor (let i = 0, len = series.dataItems.length; i < len; i++) {\n\t\t\t\t\t\t\t\t\t\tlet item = series.dataItems[i];\n\t\t\t\t\t\t\t\t\t\tif (key && item.get(key as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (openKey && item.get(openKey as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (!dataItem) {\n\t\t\t\t\t\t\t\t\tidx += direction === \"previous\" ? -1 : 1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn dataItem;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstartDataItem = findDataItem(series, this, key, openKey, startCategory, \"next\");\n\t\t\t\t\t\tendDataItem = findDataItem(series, this, key, openKey, endCategory, \"previous\");\n\n\t\t\t\t\t\tlet startIndex = 0;\n\t\t\t\t\t\tlet endIndex = series.dataItems.length;\n\n\t\t\t\t\t\tif (startDataItem) {\n\t\t\t\t\t\t\tstartIndex = series.dataItems.indexOf(startDataItem);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (endDataItem) {\n\t\t\t\t\t\t\tendIndex = series.dataItems.indexOf(endDataItem) + 1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tseries.setPrivate(\"startIndex\", startIndex);\n\t\t\t\t\t\tseries.setPrivate(\"endIndex\", endIndex);\n\n\t\t\t\t\t\tlet hasValue = false;\n\t\t\t\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\t\t\t\tconst dataItem = series.dataItems[i];\n\n\t\t\t\t\t\t\t$array.each(series.__valueXShowFields, (key) => {\n\t\t\t\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\t\t\t\thasValue = true;\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\t$array.each(series.__valueYShowFields, (key) => {\n\t\t\t\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\t\t\t\thasValue = true;\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 (hasValue) {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tseries.setPrivate(\"outOfSelection\", !hasValue);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tseries._markDirtyAxes();\t// must be outside\n\t\t\t}\n\t\t})\n\t}\n\n\n\tprotected _prepareAxisItems() {\n\t\tconst renderer = this.get(\"renderer\");\n\t\tconst len = this.dataItems.length;\n\n\t\tlet startIndex = this.startIndex();\n\t\tif (startIndex > 0) {\n\t\t\tstartIndex--;\n\t\t}\n\n\t\tlet endIndex = this.endIndex();\n\t\tif (endIndex < len) {\n\t\t\tendIndex++;\n\t\t}\n\n\t\tconst minorLabelsEnabled = renderer.get(\"minorLabelsEnabled\");\n\t\tconst minorGridEnabled = renderer.get(\"minorGridEnabled\", minorLabelsEnabled);\n\n\t\tlet maxCount = renderer.axisLength() / Math.max(renderer.get(\"minGridDistance\")!, 1);\n\n\t\tlet frequency = Math.max(1, Math.min(len, Math.ceil((endIndex - startIndex) / maxCount)));\n\n\t\tstartIndex = Math.floor(startIndex / frequency) * frequency;\n\t\tthis._frequency = frequency;\n\n\t\tfor (let j = 0; j < len; j++) {\n\t\t\tthis._toggleDataItem(this.dataItems[j], false);\n\t\t}\n\n\t\tlet f = this.dataItems[startIndex].get(\"index\", 0);\n\n\t\tfor (let i = startIndex; i < endIndex; i = i + frequency) {\n\t\t\tlet dataItem = this.dataItems[i];\n\n\t\t\tthis._createAssets(dataItem, []);\n\t\t\tthis._toggleDataItem(dataItem, true);\n\n\t\t\tlet count = frequency;\n\t\t\tif (minorGridEnabled) {\n\t\t\t\tcount = 1;\n\t\t\t}\n\n\t\t\tthis._prepareDataItem(dataItem, f, count);\n\n\t\t\tf++;\n\t\t}\n\n\t\tif (renderer.get(\"minorGridEnabled\")) {\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\tif (i % frequency != 0) {\n\t\t\t\t\tthis._createAssets(dataItem, [\"minor\"], true);\n\t\t\t\t\tthis._toggleDataItem(dataItem, true);\n\t\t\t\t\tthis._prepareDataItem(dataItem, 0, 1);\n\n\t\t\t\t\tif (!minorLabelsEnabled) {\n\t\t\t\t\t\tdataItem.get(\"label\")?.setPrivate(\"visible\", false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._updateGhost();\n\t}\n\n\n\tpublic _prepareDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, fillIndex?: number, count?: number) {\n\t\tlet renderer = this.get(\"renderer\");\n\n\t\tlet categoryLocation = dataItem.get(\"categoryLocation\", 0);\n\t\tlet endCategoryLocation = dataItem.get(\"endCategoryLocation\", 1);\n\n\t\tlet index: number | undefined = dataItem.get(\"index\");\n\n\t\tif (!$type.isNumber(index)) {\n\t\t\tindex = this.categoryToIndex(dataItem.get(\"category\")!);\n\t\t}\n\n\t\tlet position = this.indexToPosition(index, categoryLocation);\n\n\t\tlet endCategory = dataItem.get(\"endCategory\")!;\n\t\tlet endIndex: number;\n\t\tif (endCategory) {\n\t\t\tendIndex = this.categoryToIndex(endCategory);\n\t\t\tif (!$type.isNumber(endIndex)) {\n\t\t\t\tendIndex = index;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tendIndex = index;\n\t\t}\n\n\t\tlet endPosition = this.indexToPosition(endIndex, endCategoryLocation);\n\n\t\tlet fillEndIndex: number;\n\t\tlet fillEndPosition: number;\n\n\t\tif (dataItem.get(\"isRange\")) {\n\t\t\tfillEndIndex = endIndex;\n\n\t\t\tif (!$type.isNumber(index)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tfillEndIndex = index + this._frequency - 1;\n\t\t}\n\n\t\tfillEndPosition = this.indexToPosition(fillEndIndex, endCategoryLocation);\n\n\t\trenderer.updateLabel(dataItem.get(\"label\"), position, endPosition, count);\n\t\trenderer.updateGrid(dataItem.get(\"grid\"), position, endPosition);\n\t\trenderer.updateTick(dataItem.get(\"tick\"), position, endPosition, count);\n\t\trenderer.updateFill(dataItem.get(\"axisFill\"), position, fillEndPosition);\n\n\t\tthis._processBullet(dataItem);\n\t\trenderer.updateBullet(dataItem.get(\"bullet\"), position, endPosition);\n\n\t\tconst fillRule = this.get(\"fillRule\");\n\t\tif (fillRule) {\n\t\t\tfillRule(dataItem, fillIndex)\n\t\t}\n\t}\n\n\tpublic startIndex() {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.min(Math.max(this.getPrivate(\"startIndex\", 0), 0), len - 1);\n\t}\n\n\tpublic endIndex() {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.max(1, Math.min(this.getPrivate(\"endIndex\", len), len));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic baseValue(): any {\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic basePosition() {\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Returns X coordinate in pixels corresponding to specific category index.\n\t *\n\t * @param value Index\n\t * @return X coordinate\n\t */\n\tpublic getX(value: string): number {\n\t\tlet axisDataItem = this._itemMap[value];\n\t\tif (axisDataItem) {\n\t\t\treturn this._settings.renderer.positionToCoordinate(this.indexToPosition(axisDataItem.get(\"index\", 0)));\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * Returns Y coordinate in pixels corresponding to specific category index.\n\t *\n\t * @param value Index\n\t * @return Y coordinate\n\t */\n\tpublic getY(value: string): number {\n\t\tlet axisDataItem = this._itemMap[value];\n\t\tif (axisDataItem) {\n\t\t\treturn this._settings.renderer.positionToCoordinate(this.indexToPosition(axisDataItem.get(\"index\", 0)));\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemPositionX(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\tconst category = dataItem.get(field as any);\n\t\tconst axisDataItem = this._itemMap[category];\n\n\t\tif (axisDataItem) {\n\t\t\treturn this.indexToPosition(axisDataItem.get(\"index\", 0), cellLocation);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemCoordinateX(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\treturn this._settings.renderer.positionToCoordinate(this.getDataItemPositionX(dataItem, field, cellLocation, _axisLocation));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemPositionY(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\tconst category = dataItem.get(field as any);\n\t\tconst axisDataItem = this._itemMap[category];\n\t\tif (axisDataItem) {\n\t\t\treturn this.indexToPosition(axisDataItem.get(\"index\", 0), cellLocation);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemCoordinateY(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\treturn this._settings.renderer.positionToCoordinate(this.getDataItemPositionY(dataItem, field, cellLocation, _axisLocation));\n\t}\n\n\t/**\n\t * Converts category index to a relative position.\n\t *\n\t * `location` indicates relative position within category: 0 - start, 1 - end.\n\t *\n\t * If not set, will use middle (0.5) of the category.\n\t *\n\t * @param index Index\n\t * @param location Location\n\t * @return Index\n\t */\n\tpublic indexToPosition(index: number, location?: number, final?: boolean): number {\n\t\tlet len = this.dataItems.length;\n\t\tlet position = 0;\n\n\t\tif (len == 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (index >= len) {\n\t\t\tindex = len - 1;\n\t\t\tlocation = 1;\n\t\t}\n\n\t\tif (!$type.isNumber(location)) {\n\t\t\tlocation = 0.5;\n\t\t}\n\n\t\tif (!$type.isNumber(index)) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tlet startLocation = this.get(\"startLocation\", 0);\n\t\tlet endLocation = this.get(\"endLocation\", 1);\n\n\t\tif (!this.get(\"cellSizeField\")) {\n\t\t\tlen -= startLocation;\n\t\t\tlen -= (1 - endLocation);\n\n\t\t\tposition = (index + location - startLocation) / len;\n\t\t}\n\t\telse {\n\t\t\tlet name: \"finalCellSize\" | \"cellSize\" = final ? \"finalCellSize\" : \"cellSize\";\n\n\t\t\tconst dataItems = this.dataItems;\n\n\t\t\t// Calculate total modified count (sum of cell sizes)\n\t\t\tlet modCount = 0;\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tmodCount += dataItem.get(name, 1);\n\t\t\t});\n\n\t\t\tmodCount -= startLocation * dataItems[0].get(name, 1);\n\t\t\tmodCount -= (1 - endLocation) * dataItems[dataItems.length - 1].get(name, 1);\n\n\t\t\t// Calculate the position based on cell sizes\n\t\t\tlet acc = 0;\n\t\t\tfor (let i = 0; i < index; i++) {\n\t\t\t\tacc += dataItems[i].get(name, 1);\n\t\t\t}\n\t\t\tlet cellSizeAtIndex = dataItems[index].get(name, 1);\n\n\t\t\tposition = (acc + location * cellSizeAtIndex - startLocation * dataItems[0].get(name, 1)) / modCount;\n\t\t}\n\n\t\tif (!final) {\n\t\t\tlet dataItem = this.dataItems[index];\n\t\t\tif (dataItem) {\n\t\t\t\tposition += dataItem.get(\"deltaPosition\", 0);\n\t\t\t}\n\t\t}\n\n\t\treturn position;\n\t}\n\n\t/**\n\t * Returns a position of a category.\n\t *\n\t * @param category Category to look up\n\t * @return Position\n\t */\n\tpublic categoryToPosition(category: string): number {\n\t\tlet dataItem = this._itemMap[category];\n\t\tif (dataItem) {\n\t\t\treturn this.indexToPosition(dataItem.get(\"index\")!);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\n\t/**\n\t * Returns an index of a category.\n\t *\n\t * @param category Category to look up\n\t * @return Index\n\t */\n\tpublic categoryToIndex(category: string): number {\n\t\tlet dataItem = this._itemMap[category];\n\t\tif (dataItem) {\n\t\t\treturn dataItem.get(\"index\")!;\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic dataItemToPosition(dataItem: DataItem<this[\"_dataItemSettings\"]>): number {\n\t\treturn this.indexToPosition(dataItem.get(\"index\")!);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic roundAxisPosition(position: number, location: number): number {\n\t\tposition += (0.5 - location) / this.dataItems.length;\n\t\treturn this.indexToPosition(this.axisPositionToIndex(position), location);\n\t}\n\n\t/**\n\t * Returns an index of the category that corresponds to specific pixel\n\t * position within axis.\n\t *\n\t * @param position Position (px)\n\t * @return Category index\n\t */\n\tpublic axisPositionToIndex(position: number): number {\n\t\tlet len = this.dataItems.length;\n\t\tif (len === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Calculate total modified length (sum of cell sizes)\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tlet modifiedLen = 0;\n\t\t\tlet cellSizes: number[] = [];\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tconst cellSize = dataItem.get(\"cellSize\", 1);\n\t\t\t\tcellSizes.push(cellSize);\n\t\t\t\tmodifiedLen += cellSize;\n\t\t\t});\n\t\t\t// Adjust for startLocation and endLocation\n\t\t\tlet startLocation = this.get(\"startLocation\", 0);\n\t\t\tlet endLocation = this.get(\"endLocation\", 1);\n\t\t\tmodifiedLen -= startLocation;\n\t\t\tmodifiedLen -= (1 - endLocation);\n\n\t\t\t// Find which cell the position falls into\n\t\t\tlet rel = position * modifiedLen + startLocation;\n\t\t\tlet acc = 0;\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\tconst cellSize = cellSizes[i];\n\t\t\t\tif (rel < acc + cellSize) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t\tacc += cellSize;\n\t\t\t}\n\t\t\treturn len - 1;\n\t\t}\n\t\telse {\n\t\t\treturn $math.fitToRange(Math.floor(position * len), 0, len - 1);\n\t\t}\n\t}\n\n\t/**\n\t * Returns text to be used in an axis tooltip for specific relative position.\n\t *\n\t * @param position Position\n\t * @return Tooltip text\n\t */\n\tpublic getTooltipText(position: number, _adjustPosition?: boolean): string | undefined {\n\t\t//@todo number formatter + tag\n\t\tconst dataItem = this.dataItems[this.axisPositionToIndex(position)];\n\t\tif (dataItem) {\n\t\t\tconst label = dataItem.get(\"label\")\n\t\t\tif (label) {\n\t\t\t\treturn populateString(label, this.get(\"tooltipText\", \"\"));\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTooltipText(tooltip: Tooltip, position: number) {\n\t\ttooltip._setDataItem(this.dataItems[this.axisPositionToIndex(position)]);\n\t\ttooltip.label.text.markDirtyText();\n\t}\n\n\t/**\n\t * Returns a data item from series that is closest to the `position`.\n\t *\n\t * @param series Series\n\t * @param position Relative position\n\t * @return Data item\n\t */\n\tpublic getSeriesItem(series: XYSeries, position: number): DataItem<IXYSeriesDataItem> | undefined {\n\t\tif (this.dataItems.length > 0) {\n\t\t\tlet fieldName = <any>(this.getPrivate(\"name\")! + this.get(\"renderer\").getPrivate(\"letter\")!);\n\t\t\tlet index = this.axisPositionToIndex(position);\n\t\t\t// try simple first\n\t\t\tlet seriesDataItem = series.dataItems[index];\n\t\t\tlet axisDataItem = this.dataItems[index];\n\t\t\tlet category = axisDataItem.get(\"category\");\n\n\t\t\tif (seriesDataItem && axisDataItem) {\n\t\t\t\tif (seriesDataItem.get(fieldName) === category) {\n\t\t\t\t\treturn seriesDataItem;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if not found, try looking\n\t\t\tfor (let i = 0, len = series.dataItems.length; i < len; i++) {\n\t\t\t\tlet dataItem = series.dataItems[i];\n\t\t\t\tif (dataItem.get(fieldName) === category) {\n\t\t\t\t\treturn dataItem;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _getIndices(start: number, end: number): { startIndex: number, endIndex: number } {\n\t\tlet len = this.dataItems.length;\n\t\tlet startIndex = 0;\n\t\tlet endIndex = len;\n\t\tlet name: \"cellSize\" | \"finalCellSize\" = \"cellSize\";\n\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tlet count = 0;\n\t\t\tconst dataItems = this.dataItems;\n\t\t\tif(dataItems.length == 0){\n\t\t\t\treturn { startIndex: 0, endIndex: 0 };\n\t\t\t}\n\n\t\t\t$array.each(dataItems, (dataItem) => {\n\t\t\t\tcount += dataItem.get(name, 1);\n\t\t\t});\n\n\t\t\tcount -= this.get(\"startLocation\", 0) * dataItems[0].get(name, 1);\n\t\t\tcount -= (1 - this.get(\"endLocation\", 1)) * dataItems[dataItems.length - 1].get(name, 1);\n\n\t\t\tlet c = 0;\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\tc += this.dataItems[i].get(name, 1);\n\t\t\t\tif (Math.round(c) > Math.round(start * count)) {\n\t\t\t\t\tstartIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (let i = startIndex + 1; i < len; i++) {\n\t\t\t\tc += this.dataItems[i].get(name, 1);\n\t\t\t\tif (Math.round(c) >= Math.round(end * count)) {\n\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tstartIndex = Math.max(startIndex, 0);\n\t\t\tendIndex = Math.min(endIndex, len);\n\t\t}\n\t\telse {\n\t\t\tstartIndex = Math.max(Math.round(this.get(\"start\", 0) * len), 0);\n\t\t\tendIndex = Math.min(Math.round(this.get(\"end\", 1) * len), len);\n\t\t}\n\n\t\treturn { startIndex, endIndex };\n\t}\n\n\t/**\n\t * Zooms the axis to specific `start` and `end` indexes.\n\t *\n\t * Optional `duration` specifies duration of zoom animation in milliseconds.\n\t *\n\t * @param start Start index\n\t * @param end End index\n\t * @param duration Duration in milliseconds\n\t */\n\tpublic zoomToIndexes(start: number, end: number, duration?: number) {\n\t\tlet len = this.dataItems.length;\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tstart = Math.min(Math.max(start, 0), len);\n\t\t\tend = Math.max(Math.min(end, len), 1);\n\t\t\tthis.setPrivateRaw(\"startIndex\", start);\n\t\t\tthis.setPrivateRaw(\"endIndex\", end);\n\t\t\tthis.zoom(this.indexToPosition(start, 0, true), this.indexToPosition(end, 0, true), duration);\n\t\t}\n\t\telse {\n\t\t\tthis.zoom(start / len, end / len, duration);\n\t\t}\n\t}\n\n\tpublic zoomToCategories(startCategory: string, endCategory: string, duration?: number) {\n\t\tthis.zoomToIndexes(this.categoryToIndex(startCategory), this.categoryToIndex(endCategory) + 1, duration);\n\t}\n\n\t/**\n\t * Returns position span between start and end of a single cell in axis.\n\t *\n\t * @since 5.2.30\n\t * @return Position\n\t */\n\tpublic getCellWidthPosition(): number {\n\t\treturn this._frequency / this.dataItems.length / (this.get(\"end\", 1) - this.get(\"start\", 0));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic nextPosition(count?: number) {\n\t\tif (count == null) {\n\t\t\tcount = 1;\n\t\t}\n\n\t\tif (this.get(\"renderer\").getPrivate(\"letter\") == \"Y\") {\n\t\t\tcount *= -1;\n\t\t}\n\n\t\tconst position = this.getPrivate(\"tooltipPosition\", 0);\n\n\t\tconst index = $math.fitToRange(this.axisPositionToIndex(position) + count, 0, this.dataItems.length - 1);\n\t\treturn this.toGlobalPosition(this.indexToPosition(index));\n\t}\n}\n"]}
@@ -10,7 +10,7 @@ export class Registry {
10
10
  enumerable: true,
11
11
  configurable: true,
12
12
  writable: true,
13
- value: "5.14.1"
13
+ value: "5.14.2"
14
14
  });
15
15
  /**
16
16
  * List of applied licenses.
@@ -1 +1 @@
1
- {"version":3,"file":"Registry.js","sourceRoot":"","sources":["../../../../src/.internal/core/Registry.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,OAAO,QAAQ;IAArB;QACC;;WAEG;QACH;;;;mBAA2B,QAAQ;WAAC;QAEpC;;;WAGG;QACH;;;;mBAAqB,EAAE;WAAC;QAExB;;WAEG;QACH;;;;mBAAyC,EAAE;WAAC;QAE5C;;WAEG;QACH;;;;mBAAsB,EAAE;WAAC;IAE1B,CAAC;CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAEvC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACzC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAGD;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACrC,IAAI,IAAI,CAAC;IACT,OAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;KACf;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,EAAU;IACrC,IAAI,KAAK,CAAC;IACV,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE;YACtB,KAAK,GAAG,IAAI,CAAC;SACb;IACF,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC","sourcesContent":["\r\n/**\r\n * @ignore\r\n */\r\nexport class Registry {\r\n\t/**\r\n\t * Currently running version of amCharts.\r\n\t */\r\n\treadonly version: string = \"5.14.1\";\r\n\r\n\t/**\r\n\t * List of applied licenses.\r\n\t * @ignore\r\n\t */\r\n\tlicenses: String[] = [];\r\n\r\n\t/**\r\n\t * Entities that have their `id` setting set.\r\n\t */\r\n\tentitiesById: { [index: string]: any } = {};\r\n\r\n\t/**\r\n\t * All created [[Root]] elements.\r\n\t */\r\n\trootElements: any[] = [];\r\n\r\n}\r\n\r\n/**\r\n\t* @ignore\r\n */\r\nexport const registry = new Registry();\r\n\r\n/**\r\n * Adds a license, e.g.:\r\n *\r\n * ```TypeScript\r\n * am5.addLicense(\"xxxxxxxx\");\r\n * ```\r\n * ```JavaScript\r\n * am5.addLicense(\"xxxxxxxx\");\r\n * ```\r\n *\r\n * Multiple licenses can be added to cover for multiple products.\r\n *\r\n * @param license License key\r\n */\r\nexport function addLicense(license: string): void {\r\n\tregistry.licenses.push(license);\r\n}\r\n\r\n\r\n/**\r\n * Disposes all [[Root]] elements.\r\n */\r\nexport function disposeAllRootElements(): void {\r\n\tlet root;\r\n\twhile(root = registry.rootElements.pop()) {\r\n\t\troot.dispose();\r\n\t}\r\n}\r\n\r\n/**\r\n * Finds and returns a `Root` element assigned to a container with `id`.\r\n * \r\n * @param id Container ID\r\n * @return Root\r\n * @since 5.9.2\r\n */\r\nexport function getRootById(id: string): any {\r\n\tlet found;\r\n\tregistry.rootElements.forEach((item) => {\r\n\t\tif (item.dom.id == id) {\r\n\t\t\tfound = item;\r\n\t\t}\r\n\t});\r\n\treturn found;\r\n}"]}
1
+ {"version":3,"file":"Registry.js","sourceRoot":"","sources":["../../../../src/.internal/core/Registry.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,OAAO,QAAQ;IAArB;QACC;;WAEG;QACH;;;;mBAA2B,QAAQ;WAAC;QAEpC;;;WAGG;QACH;;;;mBAAqB,EAAE;WAAC;QAExB;;WAEG;QACH;;;;mBAAyC,EAAE;WAAC;QAE5C;;WAEG;QACH;;;;mBAAsB,EAAE;WAAC;IAE1B,CAAC;CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAEvC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACzC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAGD;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACrC,IAAI,IAAI,CAAC;IACT,OAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;KACf;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,EAAU;IACrC,IAAI,KAAK,CAAC;IACV,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE;YACtB,KAAK,GAAG,IAAI,CAAC;SACb;IACF,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC","sourcesContent":["\r\n/**\r\n * @ignore\r\n */\r\nexport class Registry {\r\n\t/**\r\n\t * Currently running version of amCharts.\r\n\t */\r\n\treadonly version: string = \"5.14.2\";\r\n\r\n\t/**\r\n\t * List of applied licenses.\r\n\t * @ignore\r\n\t */\r\n\tlicenses: String[] = [];\r\n\r\n\t/**\r\n\t * Entities that have their `id` setting set.\r\n\t */\r\n\tentitiesById: { [index: string]: any } = {};\r\n\r\n\t/**\r\n\t * All created [[Root]] elements.\r\n\t */\r\n\trootElements: any[] = [];\r\n\r\n}\r\n\r\n/**\r\n\t* @ignore\r\n */\r\nexport const registry = new Registry();\r\n\r\n/**\r\n * Adds a license, e.g.:\r\n *\r\n * ```TypeScript\r\n * am5.addLicense(\"xxxxxxxx\");\r\n * ```\r\n * ```JavaScript\r\n * am5.addLicense(\"xxxxxxxx\");\r\n * ```\r\n *\r\n * Multiple licenses can be added to cover for multiple products.\r\n *\r\n * @param license License key\r\n */\r\nexport function addLicense(license: string): void {\r\n\tregistry.licenses.push(license);\r\n}\r\n\r\n\r\n/**\r\n * Disposes all [[Root]] elements.\r\n */\r\nexport function disposeAllRootElements(): void {\r\n\tlet root;\r\n\twhile(root = registry.rootElements.pop()) {\r\n\t\troot.dispose();\r\n\t}\r\n}\r\n\r\n/**\r\n * Finds and returns a `Root` element assigned to a container with `id`.\r\n * \r\n * @param id Container ID\r\n * @return Root\r\n * @since 5.9.2\r\n */\r\nexport function getRootById(id: string): any {\r\n\tlet found;\r\n\tregistry.rootElements.forEach((item) => {\r\n\t\tif (item.dom.id == id) {\r\n\t\t\tfound = item;\r\n\t\t}\r\n\t});\r\n\treturn found;\r\n}"]}
@@ -239,6 +239,7 @@ export declare class Root implements IDisposer {
239
239
  protected _keyboardDragPoint: IPoint | undefined;
240
240
  protected _tooltipElementContainer: HTMLDivElement | undefined;
241
241
  protected _readerAlertElement: HTMLDivElement | undefined;
242
+ protected _skipNextGroupJump: boolean;
242
243
  _logo?: Container;
243
244
  _tooltipDiv: HTMLDivElement | undefined;
244
245
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../../../src/.internal/core/Root.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../../../src/.internal/core/Root.ts"],"names":[],"mappings":"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"}
@@ -360,6 +360,12 @@ export class Root {
360
360
  writable: true,
361
361
  value: void 0
362
362
  });
363
+ Object.defineProperty(this, "_skipNextGroupJump", {
364
+ enumerable: true,
365
+ configurable: true,
366
+ writable: true,
367
+ value: true
368
+ });
363
369
  Object.defineProperty(this, "_logo", {
364
370
  enumerable: true,
365
371
  configurable: true,
@@ -911,7 +917,10 @@ export class Root {
911
917
  case "Tab":
912
918
  const group = focusedSprite.get("focusableGroup");
913
919
  if (group && this._isShift) {
914
- this._focusNext(focusedSprite.getPrivate("focusElement").dom, -1, group);
920
+ if (!this._skipNextGroupJump) {
921
+ this._focusNext(focusedSprite.getPrivate("focusElement").dom, -1, group);
922
+ this._skipNextGroupJump = true;
923
+ }
915
924
  return;
916
925
  }
917
926
  break;
@@ -1649,6 +1658,9 @@ export class Root {
1649
1658
  target: focused
1650
1659
  });
1651
1660
  }
1661
+ if (focused.getPrivate("focusElement").dom.tabIndex == -1) {
1662
+ this._skipNextGroupJump = false;
1663
+ }
1652
1664
  }
1653
1665
  _focusNext(el, direction, group) {
1654
1666
  if (this._a11yD == true) {