@amcharts/amcharts5 5.13.6 → 5.14.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.
- package/.internal/charts/funnel/FunnelSeries.d.ts +1 -1
- package/.internal/charts/funnel/FunnelSeries.d.ts.map +1 -1
- package/.internal/charts/funnel/FunnelSeries.js.map +1 -1
- package/.internal/charts/funnel/FunnelSlice.d.ts +1 -1
- package/.internal/charts/funnel/FunnelSlice.d.ts.map +1 -1
- package/.internal/charts/funnel/FunnelSlice.js.map +1 -1
- package/.internal/charts/funnel/PyramidSeries.d.ts.map +1 -1
- package/.internal/charts/funnel/PyramidSeries.js.map +1 -1
- package/.internal/charts/funnel/SlicedChart.d.ts +1 -1
- package/.internal/charts/funnel/SlicedChart.d.ts.map +1 -1
- package/.internal/charts/funnel/SlicedChart.js.map +1 -1
- package/.internal/charts/gantt/Gantt.d.ts +216 -0
- package/.internal/charts/gantt/Gantt.d.ts.map +1 -0
- package/.internal/charts/gantt/Gantt.js +772 -0
- package/.internal/charts/gantt/Gantt.js.map +1 -0
- package/.internal/charts/gantt/GanttCategoryAxis.d.ts +287 -0
- package/.internal/charts/gantt/GanttCategoryAxis.d.ts.map +1 -0
- package/.internal/charts/gantt/GanttCategoryAxis.js +1238 -0
- package/.internal/charts/gantt/GanttCategoryAxis.js.map +1 -0
- package/.internal/charts/gantt/GanttCategoryAxisRenderer.d.ts +98 -0
- package/.internal/charts/gantt/GanttCategoryAxisRenderer.d.ts.map +1 -0
- package/.internal/charts/gantt/GanttCategoryAxisRenderer.js +270 -0
- package/.internal/charts/gantt/GanttCategoryAxisRenderer.js.map +1 -0
- package/.internal/charts/gantt/GanttDateAxis.d.ts +36 -0
- package/.internal/charts/gantt/GanttDateAxis.d.ts.map +1 -0
- package/.internal/charts/gantt/GanttDateAxis.js +35 -0
- package/.internal/charts/gantt/GanttDateAxis.js.map +1 -0
- package/.internal/charts/gantt/GanttDateAxisRenderer.d.ts +19 -0
- package/.internal/charts/gantt/GanttDateAxisRenderer.d.ts.map +1 -0
- package/.internal/charts/gantt/GanttDateAxisRenderer.js +23 -0
- package/.internal/charts/gantt/GanttDateAxisRenderer.js.map +1 -0
- package/.internal/charts/gantt/GanttDefaultTheme.d.ts +8 -0
- package/.internal/charts/gantt/GanttDefaultTheme.d.ts.map +1 -0
- package/.internal/charts/gantt/GanttDefaultTheme.js +756 -0
- package/.internal/charts/gantt/GanttDefaultTheme.js.map +1 -0
- package/.internal/charts/gantt/GanttSeries.d.ts +348 -0
- package/.internal/charts/gantt/GanttSeries.d.ts.map +1 -0
- package/.internal/charts/gantt/GanttSeries.js +1524 -0
- package/.internal/charts/gantt/GanttSeries.js.map +1 -0
- package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
- package/.internal/charts/hierarchy/HierarchyDefaultTheme.js.map +1 -1
- package/.internal/charts/hierarchy/HierarchyLink.d.ts +1 -1
- package/.internal/charts/hierarchy/HierarchyLink.d.ts.map +1 -1
- package/.internal/charts/hierarchy/HierarchyLink.js.map +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchy.d.ts +2 -2
- package/.internal/charts/hierarchy/LinkedHierarchy.d.ts.map +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchy.js +1 -1
- package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
- package/.internal/charts/hierarchy/Pack.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Pack.js.map +1 -1
- package/.internal/charts/hierarchy/Partition.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Partition.js.map +1 -1
- package/.internal/charts/hierarchy/Treemap.js.map +1 -1
- package/.internal/charts/hierarchy/VoronoiTreemap.d.ts.map +1 -1
- package/.internal/charts/hierarchy/VoronoiTreemap.js +3 -3
- package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -1
- package/.internal/charts/map/MapChart.d.ts.map +1 -1
- package/.internal/charts/map/MapChart.js +1 -3
- package/.internal/charts/map/MapChart.js.map +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.d.ts +1 -0
- package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.js +7 -0
- package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalLineSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalLineSeries.js +2 -1
- package/.internal/charts/stock/drawing/HorizontalLineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalRaySeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/HorizontalRaySeries.js +2 -1
- package/.internal/charts/stock/drawing/HorizontalRaySeries.js.map +1 -1
- package/.internal/charts/stock/drawing/ParallelChannelSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/ParallelChannelSeries.js +2 -1
- package/.internal/charts/stock/drawing/ParallelChannelSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/PolylineSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/PolylineSeries.js +3 -1
- package/.internal/charts/stock/drawing/PolylineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/SimpleLineSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/SimpleLineSeries.js +2 -1
- package/.internal/charts/stock/drawing/SimpleLineSeries.js.map +1 -1
- package/.internal/charts/stock/drawing/VerticalLineSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/VerticalLineSeries.js +2 -1
- package/.internal/charts/stock/drawing/VerticalLineSeries.js.map +1 -1
- package/.internal/charts/timeline/AxisRendererCurveX.js.map +1 -1
- package/.internal/charts/timeline/AxisRendererCurveY.js.map +1 -1
- package/.internal/charts/timeline/CurveChart.js.map +1 -1
- package/.internal/charts/timeline/CurveColumnSeries.js.map +1 -1
- package/.internal/charts/timeline/CurveCursor.js +1 -1
- package/.internal/charts/timeline/CurveCursor.js.map +1 -1
- package/.internal/charts/timeline/SerpentineChart.d.ts +1 -1
- package/.internal/charts/timeline/SerpentineChart.d.ts.map +1 -1
- package/.internal/charts/timeline/SerpentineChart.js.map +1 -1
- package/.internal/charts/timeline/SpiralChart.d.ts +1 -1
- package/.internal/charts/timeline/SpiralChart.d.ts.map +1 -1
- package/.internal/charts/timeline/SpiralChart.js.map +1 -1
- package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
- package/.internal/charts/xy/XYChart.d.ts.map +1 -1
- package/.internal/charts/xy/XYChart.js +16 -8
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/XYChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/xy/XYChartDefaultTheme.js +6 -3
- package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.d.ts +17 -1
- package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/Axis.js +46 -26
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/axes/AxisBullet.d.ts +1 -1
- package/.internal/charts/xy/axes/AxisBullet.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisBullet.js.map +1 -1
- package/.internal/charts/xy/axes/AxisLabel.d.ts +1 -1
- package/.internal/charts/xy/axes/AxisLabel.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisLabel.js.map +1 -1
- package/.internal/charts/xy/axes/AxisLabelRadial.d.ts +1 -1
- package/.internal/charts/xy/axes/AxisLabelRadial.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisLabelRadial.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRenderer.d.ts +5 -5
- package/.internal/charts/xy/axes/AxisRenderer.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererX.d.ts +1 -1
- package/.internal/charts/xy/axes/AxisRendererX.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererX.js +9 -5
- package/.internal/charts/xy/axes/AxisRendererX.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererY.d.ts +1 -1
- package/.internal/charts/xy/axes/AxisRendererY.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisRendererY.js +9 -5
- package/.internal/charts/xy/axes/AxisRendererY.js.map +1 -1
- package/.internal/charts/xy/axes/CategoryAxis.d.ts +34 -3
- package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/CategoryAxis.js +243 -40
- package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
- package/.internal/charts/xy/axes/CategoryDateAxis.d.ts +1 -1
- package/.internal/charts/xy/axes/CategoryDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/CategoryDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts +16 -2
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +20 -5
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/EditableAxisLabel.d.ts +21 -0
- package/.internal/charts/xy/axes/EditableAxisLabel.d.ts.map +1 -0
- package/.internal/charts/xy/axes/EditableAxisLabel.js +31 -0
- package/.internal/charts/xy/axes/EditableAxisLabel.js.map +1 -0
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +2 -2
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts +2 -2
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +4 -3
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.d.ts +5 -1
- package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/BaseColumnSeries.js +60 -32
- package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
- package/.internal/charts/xy/series/CandlestickSeries.d.ts +2 -1
- package/.internal/charts/xy/series/CandlestickSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/CandlestickSeries.js +99 -44
- package/.internal/charts/xy/series/CandlestickSeries.js.map +1 -1
- package/.internal/charts/xy/series/ColumnSeries.d.ts +39 -0
- package/.internal/charts/xy/series/ColumnSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/ColumnSeries.js +77 -1
- package/.internal/charts/xy/series/ColumnSeries.js.map +1 -1
- package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/LineSeries.js.map +1 -1
- package/.internal/charts/xy/series/OHLC.d.ts +6 -0
- package/.internal/charts/xy/series/OHLC.d.ts.map +1 -1
- package/.internal/charts/xy/series/OHLC.js +6 -0
- package/.internal/charts/xy/series/OHLC.js.map +1 -1
- package/.internal/charts/xy/series/SmoothedXLineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/SmoothedXLineSeries.js.map +1 -1
- package/.internal/charts/xy/series/SmoothedXYLineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/SmoothedXYLineSeries.js.map +1 -1
- package/.internal/charts/xy/series/SmoothedYLineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/SmoothedYLineSeries.js.map +1 -1
- package/.internal/charts/xy/series/StepLineSeries.d.ts +8 -2
- package/.internal/charts/xy/series/StepLineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/StepLineSeries.js +6 -0
- package/.internal/charts/xy/series/StepLineSeries.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +4 -1
- package/.internal/charts/xy/series/XYSeries.js.map +1 -1
- package/.internal/core/Classes.d.ts +28 -0
- package/.internal/core/Classes.d.ts.map +1 -1
- package/.internal/core/Classes.js.map +1 -1
- package/.internal/core/Registry.js +1 -1
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/Root.d.ts +8 -0
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +26 -19
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/render/Button.d.ts +4 -1
- package/.internal/core/render/Button.d.ts.map +1 -1
- package/.internal/core/render/Button.js.map +1 -1
- package/.internal/core/render/Component.d.ts +8 -0
- package/.internal/core/render/Component.d.ts.map +1 -1
- package/.internal/core/render/Component.js +17 -0
- package/.internal/core/render/Component.js.map +1 -1
- package/.internal/core/render/ConfirmButton.d.ts +30 -0
- package/.internal/core/render/ConfirmButton.d.ts.map +1 -0
- package/.internal/core/render/ConfirmButton.js +84 -0
- package/.internal/core/render/ConfirmButton.js.map +1 -0
- package/.internal/core/render/Container.d.ts +6 -0
- package/.internal/core/render/Container.d.ts.map +1 -1
- package/.internal/core/render/Container.js +49 -2
- package/.internal/core/render/Container.js.map +1 -1
- package/.internal/core/render/EditableLabel.d.ts.map +1 -1
- package/.internal/core/render/EditableLabel.js +6 -6
- package/.internal/core/render/EditableLabel.js.map +1 -1
- package/.internal/core/render/HeatLegend.d.ts +14 -0
- package/.internal/core/render/HeatLegend.d.ts.map +1 -1
- package/.internal/core/render/HeatLegend.js +16 -3
- package/.internal/core/render/HeatLegend.js.map +1 -1
- package/.internal/core/render/Link.d.ts +28 -0
- package/.internal/core/render/Link.d.ts.map +1 -0
- package/.internal/core/render/Link.js +90 -0
- package/.internal/core/render/Link.js.map +1 -0
- package/.internal/core/render/MonotoneXTension.d.ts.map +1 -1
- package/.internal/core/render/MonotoneXTension.js.map +1 -1
- package/.internal/core/render/MonotoneYTension.d.ts.map +1 -1
- package/.internal/core/render/MonotoneYTension.js.map +1 -1
- package/.internal/core/render/NumericStepper.d.ts +27 -0
- package/.internal/core/render/NumericStepper.d.ts.map +1 -0
- package/.internal/core/render/NumericStepper.js +117 -0
- package/.internal/core/render/NumericStepper.js.map +1 -0
- package/.internal/core/render/OrthogonalLine.d.ts +33 -0
- package/.internal/core/render/OrthogonalLine.d.ts.map +1 -0
- package/.internal/core/render/OrthogonalLine.js +97 -0
- package/.internal/core/render/OrthogonalLine.js.map +1 -0
- package/.internal/core/render/ProgressPie.d.ts +32 -0
- package/.internal/core/render/ProgressPie.d.ts.map +1 -0
- package/.internal/core/render/ProgressPie.js +89 -0
- package/.internal/core/render/ProgressPie.js.map +1 -0
- package/.internal/core/render/Series.d.ts +0 -7
- package/.internal/core/render/Series.d.ts.map +1 -1
- package/.internal/core/render/Series.js +24 -27
- package/.internal/core/render/Series.js.map +1 -1
- package/.internal/core/render/Sprite.d.ts +3 -2
- package/.internal/core/render/Sprite.d.ts.map +1 -1
- package/.internal/core/render/Sprite.js +40 -30
- package/.internal/core/render/Sprite.js.map +1 -1
- package/.internal/core/render/patterns/LinePattern.d.ts +8 -0
- package/.internal/core/render/patterns/LinePattern.d.ts.map +1 -1
- package/.internal/core/render/patterns/LinePattern.js +32 -1
- package/.internal/core/render/patterns/LinePattern.js.map +1 -1
- package/.internal/core/util/Entity.d.ts.map +1 -1
- package/.internal/core/util/Entity.js.map +1 -1
- package/.internal/core/util/EventDispatcher.d.ts +32 -3
- package/.internal/core/util/EventDispatcher.d.ts.map +1 -1
- package/.internal/core/util/EventDispatcher.js +51 -5
- package/.internal/core/util/EventDispatcher.js.map +1 -1
- package/.internal/core/util/Language.d.ts +2 -0
- package/.internal/core/util/Language.d.ts.map +1 -1
- package/.internal/core/util/Language.js.map +1 -1
- package/.internal/core/util/Time.d.ts.map +1 -1
- package/.internal/core/util/Time.js +4 -1
- package/.internal/core/util/Time.js.map +1 -1
- package/.internal/plugins/colorPicker/ColorPicker.d.ts +151 -0
- package/.internal/plugins/colorPicker/ColorPicker.d.ts.map +1 -0
- package/.internal/plugins/colorPicker/ColorPicker.js +665 -0
- package/.internal/plugins/colorPicker/ColorPicker.js.map +1 -0
- package/.internal/plugins/colorPicker/ColorPickerButton.d.ts +28 -0
- package/.internal/plugins/colorPicker/ColorPickerButton.d.ts.map +1 -0
- package/.internal/plugins/colorPicker/ColorPickerButton.js +87 -0
- package/.internal/plugins/colorPicker/ColorPickerButton.js.map +1 -0
- package/.internal/plugins/colorPicker/ColorPickerDefaultTheme.d.ts +8 -0
- package/.internal/plugins/colorPicker/ColorPickerDefaultTheme.d.ts.map +1 -0
- package/.internal/plugins/colorPicker/ColorPickerDefaultTheme.js +248 -0
- package/.internal/plugins/colorPicker/ColorPickerDefaultTheme.js.map +1 -0
- package/.internal/plugins/json/Classes-script.d.ts +28 -0
- package/.internal/plugins/json/Classes-script.d.ts.map +1 -1
- package/.internal/plugins/json/Classes-script.js +14 -0
- package/.internal/plugins/json/Classes-script.js.map +1 -1
- package/.internal/plugins/json/Classes.d.ts +28 -0
- package/.internal/plugins/json/Classes.d.ts.map +1 -1
- package/.internal/plugins/json/Classes.js +14 -0
- package/.internal/plugins/json/Classes.js.map +1 -1
- package/.internal/themes/DefaultTheme.d.ts.map +1 -1
- package/.internal/themes/DefaultTheme.js +227 -2
- package/.internal/themes/DefaultTheme.js.map +1 -1
- package/CHANGELOG.md +27 -0
- package/examples/javascript/flow-arc-horizontal/package.json +1 -1
- package/examples/javascript/flow-arc-vertical/package.json +1 -1
- package/examples/javascript/flow-chord/package.json +1 -1
- package/examples/javascript/flow-chord-directed/package.json +1 -1
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/package.json +1 -1
- package/examples/javascript/gantt/README.md +6 -0
- package/examples/javascript/gantt/index.css +11 -0
- package/examples/javascript/gantt/index.html +12 -0
- package/examples/javascript/gantt/index.js +233 -0
- package/examples/javascript/gantt/package.json +16 -0
- package/examples/javascript/gantt/webpack.config.js +38 -0
- package/examples/javascript/gantt-multilevel/README.md +6 -0
- package/examples/javascript/gantt-multilevel/index.css +11 -0
- package/examples/javascript/gantt-multilevel/index.html +12 -0
- package/examples/javascript/gantt-multilevel/index.js +111 -0
- package/examples/javascript/gantt-multilevel/package.json +16 -0
- package/examples/javascript/gantt-multilevel/webpack.config.js +38 -0
- package/examples/javascript/gantt-simple/README.md +6 -0
- package/examples/javascript/gantt-simple/index.css +11 -0
- package/examples/javascript/gantt-simple/index.html +12 -0
- package/examples/javascript/gantt-simple/index.js +94 -0
- package/examples/javascript/gantt-simple/package.json +16 -0
- package/examples/javascript/gantt-simple/webpack.config.js +38 -0
- package/examples/javascript/gauge/package.json +1 -1
- package/examples/javascript/gauge-bands/package.json +1 -1
- package/examples/javascript/hierarchy-force-directed/package.json +1 -1
- package/examples/javascript/hierarchy-pack/package.json +1 -1
- package/examples/javascript/hierarchy-partition/package.json +1 -1
- package/examples/javascript/hierarchy-sunburst/package.json +1 -1
- package/examples/javascript/hierarchy-tree/package.json +1 -1
- package/examples/javascript/hierarchy-treemap/package.json +1 -1
- package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/javascript/jest/package.json +1 -1
- package/examples/javascript/json-pie/package.json +1 -1
- package/examples/javascript/json-xy/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-clustered-points/package.json +1 -1
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-with-bubbles/package.json +1 -1
- package/examples/javascript/map-zoom-to-country/package.json +1 -1
- package/examples/javascript/misc-40-charts/package.json +1 -1
- package/examples/javascript/misc-microchart-grid/package.json +1 -1
- package/examples/javascript/pie-chart/package.json +1 -1
- package/examples/javascript/pie-donut-chart/package.json +1 -1
- package/examples/javascript/pie-variable-radius/package.json +1 -1
- package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
- package/examples/javascript/radar-heat-map/package.json +1 -1
- package/examples/javascript/radar-line/package.json +1 -1
- package/examples/javascript/radar-time-line/package.json +1 -1
- package/examples/javascript/sliced-funnel/package.json +1 -1
- package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/javascript/sliced-pyramid/package.json +1 -1
- package/examples/javascript/stock-chart/index.js +2 -0
- package/examples/javascript/stock-chart/package.json +1 -1
- package/examples/javascript/stock-chart-comparing-stocks/index.js +2 -0
- package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/javascript/stock-chart-data-granularity/index.js +2 -0
- package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
- package/examples/javascript/stock-chart-data-grouping/index.js +2 -0
- package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
- package/examples/javascript/stock-chart-intraday/index.js +2 -0
- package/examples/javascript/stock-chart-intraday/package.json +1 -1
- package/examples/javascript/stock-chart-live/index.js +1 -0
- package/examples/javascript/stock-chart-live/package.json +1 -1
- package/examples/javascript/stock-chart-volume-separate-panel/index.js +2 -0
- package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/javascript/timeline-horizontal-serpentine-chart/package.json +1 -1
- package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
- package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
- package/examples/javascript/timeline-spiral-chart/package.json +1 -1
- package/examples/javascript/venn-diagram/package.json +1 -1
- package/examples/javascript/wordcloud-with-data/package.json +1 -1
- package/examples/javascript/wordcloud-with-text/package.json +1 -1
- package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/javascript/xy-bubble/package.json +1 -1
- package/examples/javascript/xy-candlestick/index.js +1 -0
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/package.json +1 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/javascript/xy-dumbbell plot/package.json +1 -1
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/javascript/xy-live-data/package.json +1 -1
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/javascript/xy-ohlc/package.json +1 -1
- package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/javascript/xy-smoothed-line/package.json +1 -1
- package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/javascript/xy-stacked-column/package.json +1 -1
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-arc-horizontal/package.json +1 -1
- package/examples/typescript/flow-arc-vertical/package.json +1 -1
- package/examples/typescript/flow-chord/package.json +1 -1
- package/examples/typescript/flow-chord-directed/package.json +1 -1
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/package.json +1 -1
- package/examples/typescript/gantt/README.md +6 -0
- package/examples/typescript/gantt/index.css +11 -0
- package/examples/typescript/gantt/index.html +12 -0
- package/examples/typescript/gantt/index.ts +233 -0
- package/examples/typescript/gantt/package.json +18 -0
- package/examples/typescript/gantt/tsconfig.json +12 -0
- package/examples/typescript/gantt/webpack.config.js +45 -0
- package/examples/typescript/gantt-multilevel/README.md +6 -0
- package/examples/typescript/gantt-multilevel/index.css +11 -0
- package/examples/typescript/gantt-multilevel/index.html +12 -0
- package/examples/typescript/gantt-multilevel/index.ts +111 -0
- package/examples/typescript/gantt-multilevel/package.json +18 -0
- package/examples/typescript/gantt-multilevel/tsconfig.json +12 -0
- package/examples/typescript/gantt-multilevel/webpack.config.js +45 -0
- package/examples/typescript/gantt-simple/README.md +6 -0
- package/examples/typescript/gantt-simple/index.css +11 -0
- package/examples/typescript/gantt-simple/index.html +12 -0
- package/examples/typescript/gantt-simple/index.ts +94 -0
- package/examples/typescript/gantt-simple/package.json +18 -0
- package/examples/typescript/gantt-simple/tsconfig.json +12 -0
- package/examples/typescript/gantt-simple/webpack.config.js +45 -0
- package/examples/typescript/gauge/package.json +1 -1
- package/examples/typescript/gauge-bands/package.json +1 -1
- package/examples/typescript/hierarchy-force-directed/package.json +1 -1
- package/examples/typescript/hierarchy-pack/package.json +1 -1
- package/examples/typescript/hierarchy-partition/package.json +1 -1
- package/examples/typescript/hierarchy-sunburst/package.json +1 -1
- package/examples/typescript/hierarchy-tree/package.json +1 -1
- package/examples/typescript/hierarchy-treemap/package.json +1 -1
- package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/typescript/jest/package.json +1 -1
- package/examples/typescript/json-pie/package.json +1 -1
- package/examples/typescript/json-xy/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-clustered-points/package.json +1 -1
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-with-bubbles/package.json +1 -1
- package/examples/typescript/map-zoom-to-country/package.json +1 -1
- package/examples/typescript/misc-40-charts/package.json +1 -1
- package/examples/typescript/misc-microchart-grid/package.json +1 -1
- package/examples/typescript/pie-chart/package.json +1 -1
- package/examples/typescript/pie-donut-chart/package.json +1 -1
- package/examples/typescript/pie-variable-radius/package.json +1 -1
- package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
- package/examples/typescript/radar-heat-map/package.json +1 -1
- package/examples/typescript/radar-line/package.json +1 -1
- package/examples/typescript/radar-time-line/package.json +1 -1
- package/examples/typescript/sliced-funnel/package.json +1 -1
- package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/typescript/sliced-pyramid/package.json +1 -1
- package/examples/typescript/stock-chart/index.ts +2 -0
- package/examples/typescript/stock-chart/package.json +1 -1
- package/examples/typescript/stock-chart-comparing-stocks/index.ts +2 -0
- package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/typescript/stock-chart-data-granularity/index.ts +2 -0
- package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
- package/examples/typescript/stock-chart-data-grouping/index.ts +2 -0
- package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
- package/examples/typescript/stock-chart-intraday/index.ts +2 -0
- package/examples/typescript/stock-chart-intraday/package.json +1 -1
- package/examples/typescript/stock-chart-live/index.ts +1 -0
- package/examples/typescript/stock-chart-live/package.json +1 -1
- package/examples/typescript/stock-chart-volume-separate-panel/index.ts +2 -0
- package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/typescript/timeline-horizontal-serpentine-chart/package.json +1 -1
- package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
- package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
- package/examples/typescript/timeline-spiral-chart/package.json +1 -1
- package/examples/typescript/venn-diagram/package.json +1 -1
- package/examples/typescript/wordcloud-with-data/package.json +1 -1
- package/examples/typescript/wordcloud-with-text/package.json +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/typescript/xy-bubble/package.json +1 -1
- package/examples/typescript/xy-candlestick/index.ts +1 -0
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/typescript/xy-live-data/package.json +1 -1
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/package.json +1 -1
- package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/typescript/xy-smoothed-line/package.json +1 -1
- package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/typescript/xy-stacked-column/package.json +1 -1
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/gantt.d.ts +9 -0
- package/gantt.d.ts.map +1 -0
- package/gantt.js +9 -0
- package/gantt.js.map +1 -0
- package/index.d.ts +5 -0
- package/index.d.ts.map +1 -1
- package/index.js +5 -0
- package/index.js.map +1 -1
- package/locales/ar.d.ts +4 -0
- package/locales/ar.d.ts.map +1 -1
- package/locales/ar.js +5 -0
- package/locales/ar.js.map +1 -1
- package/locales/bg_BG.d.ts +2 -0
- package/locales/bg_BG.d.ts.map +1 -1
- package/locales/bg_BG.js +3 -1
- package/locales/bg_BG.js.map +1 -1
- package/locales/bs_BA.d.ts +4 -0
- package/locales/bs_BA.d.ts.map +1 -1
- package/locales/bs_BA.js +5 -0
- package/locales/bs_BA.js.map +1 -1
- package/locales/ca_ES.d.ts +4 -0
- package/locales/ca_ES.d.ts.map +1 -1
- package/locales/ca_ES.js +5 -0
- package/locales/ca_ES.js.map +1 -1
- package/locales/cs_CZ.d.ts +4 -0
- package/locales/cs_CZ.d.ts.map +1 -1
- package/locales/cs_CZ.js +5 -0
- package/locales/cs_CZ.js.map +1 -1
- package/locales/da_DK.d.ts +4 -0
- package/locales/da_DK.d.ts.map +1 -1
- package/locales/da_DK.js +5 -0
- package/locales/da_DK.js.map +1 -1
- package/locales/de_CH.d.ts +4 -0
- package/locales/de_CH.d.ts.map +1 -1
- package/locales/de_CH.js +5 -0
- package/locales/de_CH.js.map +1 -1
- package/locales/de_DE.d.ts +4 -0
- package/locales/de_DE.d.ts.map +1 -1
- package/locales/de_DE.js +5 -0
- package/locales/de_DE.js.map +1 -1
- package/locales/el_GR.d.ts +4 -0
- package/locales/el_GR.d.ts.map +1 -1
- package/locales/el_GR.js +5 -0
- package/locales/el_GR.js.map +1 -1
- package/locales/en.d.ts +2 -0
- package/locales/en.d.ts.map +1 -1
- package/locales/en.js +3 -1
- package/locales/en.js.map +1 -1
- package/locales/en_CA.d.ts +4 -0
- package/locales/en_CA.d.ts.map +1 -1
- package/locales/en_CA.js +5 -0
- package/locales/en_CA.js.map +1 -1
- package/locales/en_US.d.ts +4 -0
- package/locales/en_US.d.ts.map +1 -1
- package/locales/en_US.js +5 -0
- package/locales/en_US.js.map +1 -1
- package/locales/es_ES.d.ts +4 -0
- package/locales/es_ES.d.ts.map +1 -1
- package/locales/es_ES.js +6 -1
- package/locales/es_ES.js.map +1 -1
- package/locales/et_EE.d.ts +4 -0
- package/locales/et_EE.d.ts.map +1 -1
- package/locales/et_EE.js +5 -0
- package/locales/et_EE.js.map +1 -1
- package/locales/fi_FI.d.ts +4 -0
- package/locales/fi_FI.d.ts.map +1 -1
- package/locales/fi_FI.js +5 -0
- package/locales/fi_FI.js.map +1 -1
- package/locales/fo_FO.d.ts +2 -0
- package/locales/fo_FO.d.ts.map +1 -1
- package/locales/fo_FO.js +3 -1
- package/locales/fo_FO.js.map +1 -1
- package/locales/fr_FR.d.ts +4 -0
- package/locales/fr_FR.d.ts.map +1 -1
- package/locales/fr_FR.js +5 -0
- package/locales/fr_FR.js.map +1 -1
- package/locales/he_IL.d.ts +4 -0
- package/locales/he_IL.d.ts.map +1 -1
- package/locales/he_IL.js +5 -0
- package/locales/he_IL.js.map +1 -1
- package/locales/hi_IN.d.ts +4 -0
- package/locales/hi_IN.d.ts.map +1 -1
- package/locales/hi_IN.js +5 -0
- package/locales/hi_IN.js.map +1 -1
- package/locales/hr_HR.d.ts +4 -0
- package/locales/hr_HR.d.ts.map +1 -1
- package/locales/hr_HR.js +5 -0
- package/locales/hr_HR.js.map +1 -1
- package/locales/hu_HU.d.ts +4 -0
- package/locales/hu_HU.d.ts.map +1 -1
- package/locales/hu_HU.js +5 -0
- package/locales/hu_HU.js.map +1 -1
- package/locales/id_ID.d.ts +4 -0
- package/locales/id_ID.d.ts.map +1 -1
- package/locales/id_ID.js +5 -0
- package/locales/id_ID.js.map +1 -1
- package/locales/it_IT.d.ts +4 -0
- package/locales/it_IT.d.ts.map +1 -1
- package/locales/it_IT.js +5 -0
- package/locales/it_IT.js.map +1 -1
- package/locales/ja_JP.d.ts +4 -0
- package/locales/ja_JP.d.ts.map +1 -1
- package/locales/ja_JP.js +5 -0
- package/locales/ja_JP.js.map +1 -1
- package/locales/ko_KR.d.ts +4 -0
- package/locales/ko_KR.d.ts.map +1 -1
- package/locales/ko_KR.js +5 -0
- package/locales/ko_KR.js.map +1 -1
- package/locales/lt_LT.d.ts +4 -0
- package/locales/lt_LT.d.ts.map +1 -1
- package/locales/lt_LT.js +5 -0
- package/locales/lt_LT.js.map +1 -1
- package/locales/lv_LV.d.ts +4 -0
- package/locales/lv_LV.d.ts.map +1 -1
- package/locales/lv_LV.js +5 -0
- package/locales/lv_LV.js.map +1 -1
- package/locales/nb_NO.d.ts +4 -0
- package/locales/nb_NO.d.ts.map +1 -1
- package/locales/nb_NO.js +5 -0
- package/locales/nb_NO.js.map +1 -1
- package/locales/nl_NL.d.ts +4 -0
- package/locales/nl_NL.d.ts.map +1 -1
- package/locales/nl_NL.js +5 -0
- package/locales/nl_NL.js.map +1 -1
- package/locales/pl_PL.d.ts +4 -0
- package/locales/pl_PL.d.ts.map +1 -1
- package/locales/pl_PL.js +5 -0
- package/locales/pl_PL.js.map +1 -1
- package/locales/pt_BR.d.ts +4 -0
- package/locales/pt_BR.d.ts.map +1 -1
- package/locales/pt_BR.js +5 -0
- package/locales/pt_BR.js.map +1 -1
- package/locales/pt_PT.d.ts +4 -0
- package/locales/pt_PT.d.ts.map +1 -1
- package/locales/pt_PT.js +5 -0
- package/locales/pt_PT.js.map +1 -1
- package/locales/ro_RO.d.ts +4 -0
- package/locales/ro_RO.d.ts.map +1 -1
- package/locales/ro_RO.js +5 -0
- package/locales/ro_RO.js.map +1 -1
- package/locales/ru_RU.d.ts +4 -0
- package/locales/ru_RU.d.ts.map +1 -1
- package/locales/ru_RU.js +5 -0
- package/locales/ru_RU.js.map +1 -1
- package/locales/sk_SK.d.ts +4 -0
- package/locales/sk_SK.d.ts.map +1 -1
- package/locales/sk_SK.js +5 -0
- package/locales/sk_SK.js.map +1 -1
- package/locales/sl_SL.d.ts +4 -0
- package/locales/sl_SL.d.ts.map +1 -1
- package/locales/sl_SL.js +5 -0
- package/locales/sl_SL.js.map +1 -1
- package/locales/sr_RS.d.ts +4 -0
- package/locales/sr_RS.d.ts.map +1 -1
- package/locales/sr_RS.js +5 -0
- package/locales/sr_RS.js.map +1 -1
- package/locales/sv_SE.d.ts +4 -0
- package/locales/sv_SE.d.ts.map +1 -1
- package/locales/sv_SE.js +5 -0
- package/locales/sv_SE.js.map +1 -1
- package/locales/th_TH.d.ts +4 -0
- package/locales/th_TH.d.ts.map +1 -1
- package/locales/th_TH.js +5 -0
- package/locales/th_TH.js.map +1 -1
- package/locales/tr_TR.d.ts +4 -0
- package/locales/tr_TR.d.ts.map +1 -1
- package/locales/tr_TR.js +5 -0
- package/locales/tr_TR.js.map +1 -1
- package/locales/uk_UA.d.ts +4 -0
- package/locales/uk_UA.d.ts.map +1 -1
- package/locales/uk_UA.js +5 -0
- package/locales/uk_UA.js.map +1 -1
- package/locales/vi_VN.d.ts +4 -0
- package/locales/vi_VN.d.ts.map +1 -1
- package/locales/vi_VN.js +5 -0
- package/locales/vi_VN.js.map +1 -1
- package/locales/zh_Hans.d.ts +4 -0
- package/locales/zh_Hans.d.ts.map +1 -1
- package/locales/zh_Hans.js +5 -0
- package/locales/zh_Hans.js.map +1 -1
- package/locales/zh_Hant.d.ts +4 -0
- package/locales/zh_Hant.d.ts.map +1 -1
- package/locales/zh_Hant.js +5 -0
- package/locales/zh_Hant.js.map +1 -1
- package/package.json +1 -1
- package/plugins/colorPicker.d.ts +3 -0
- package/plugins/colorPicker.d.ts.map +1 -0
- package/plugins/colorPicker.js +3 -0
- package/plugins/colorPicker.js.map +1 -0
- package/xy.d.ts +1 -0
- package/xy.d.ts.map +1 -1
- package/xy.js +1 -0
- package/xy.js.map +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Axis } from "./Axis";
|
|
2
|
+
import { populateString } from "../../../core/util/PopulateString";
|
|
3
|
+
import { ValueAxis } from "./ValueAxis";
|
|
2
4
|
import * as $array from "../../../core/util/Array";
|
|
3
5
|
import * as $type from "../../../core/util/Type";
|
|
4
6
|
import * as $math from "../../../core/util/Math";
|
|
5
7
|
import * as $utils from "../../../core/util/Utils";
|
|
6
|
-
import { populateString } from "../../../core/util/PopulateString";
|
|
7
|
-
import { ValueAxis } from "./ValueAxis";
|
|
8
8
|
/**
|
|
9
9
|
* Creates a category axis.
|
|
10
10
|
*
|
|
@@ -29,11 +29,21 @@ export class CategoryAxis extends Axis {
|
|
|
29
29
|
}
|
|
30
30
|
_afterNew() {
|
|
31
31
|
this._settings.themeTags = $utils.mergeTags(this._settings.themeTags, ["axis"]);
|
|
32
|
-
this.fields.push("category");
|
|
32
|
+
this.fields.push("category", "id", "cellSize");
|
|
33
33
|
this.setPrivateRaw("name", "category");
|
|
34
34
|
this.addTag("category");
|
|
35
35
|
super._afterNew();
|
|
36
36
|
}
|
|
37
|
+
_afterDataChange() {
|
|
38
|
+
super._afterDataChange();
|
|
39
|
+
const len = this.dataItems.length;
|
|
40
|
+
if (len > 0) {
|
|
41
|
+
this.setPrivateRaw("maxZoomFactor", len);
|
|
42
|
+
}
|
|
43
|
+
// fix final indexes
|
|
44
|
+
this.setPrivateRaw("startIndex", Math.min(this.getPrivate("startIndex", 0), len));
|
|
45
|
+
this.setPrivateRaw("endIndex", Math.min(this.getPrivate("endIndex", len), 1));
|
|
46
|
+
}
|
|
37
47
|
_prepareChildren() {
|
|
38
48
|
super._prepareChildren();
|
|
39
49
|
const len = this.dataItems.length;
|
|
@@ -47,8 +57,11 @@ export class CategoryAxis extends Axis {
|
|
|
47
57
|
});
|
|
48
58
|
this.setPrivateRaw("maxZoomFactor", len);
|
|
49
59
|
}
|
|
50
|
-
|
|
51
|
-
|
|
60
|
+
let start = this.get("start", 0);
|
|
61
|
+
let end = this.get("end", 1);
|
|
62
|
+
let indices = this._getIndices(start, end);
|
|
63
|
+
this.setPrivateRaw("startIndex", indices.startIndex);
|
|
64
|
+
this.setPrivateRaw("endIndex", indices.endIndex);
|
|
52
65
|
if (this._sizeDirty || this._valuesDirty || (this.isDirty("start") || this.isDirty("end") || this.isPrivateDirty("endIndex") || this.isPrivateDirty("startIndex") || this.isPrivateDirty("width") || this.isPrivateDirty("height"))) {
|
|
53
66
|
if (this.dataItems.length > 0) {
|
|
54
67
|
this._handleRangeChange();
|
|
@@ -57,6 +70,78 @@ export class CategoryAxis extends Axis {
|
|
|
57
70
|
}
|
|
58
71
|
}
|
|
59
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* @ignore
|
|
75
|
+
*/
|
|
76
|
+
adjustZoom() {
|
|
77
|
+
const len = this.dataItems.length;
|
|
78
|
+
if (len > 1) {
|
|
79
|
+
let maxZoomCount = this.get("maxZoomCount", this.dataItems.length);
|
|
80
|
+
let minZoomCount = this.get("minZoomCount", 1);
|
|
81
|
+
let count = 0;
|
|
82
|
+
let startIndex = this.getPrivate("startIndex", 0);
|
|
83
|
+
let endIndex = this.getPrivate("endIndex", 0);
|
|
84
|
+
const sAnimation = this._sAnimation;
|
|
85
|
+
const eAnimation = this._eAnimation;
|
|
86
|
+
let start = this.get("start", 0);
|
|
87
|
+
let getIndices = false;
|
|
88
|
+
if (sAnimation && !sAnimation.stopped) {
|
|
89
|
+
start = Number(sAnimation.to);
|
|
90
|
+
getIndices = true;
|
|
91
|
+
}
|
|
92
|
+
let end = this.get("end", 1);
|
|
93
|
+
if (eAnimation && !eAnimation.stopped) {
|
|
94
|
+
end = Number(eAnimation.to);
|
|
95
|
+
getIndices = true;
|
|
96
|
+
}
|
|
97
|
+
if (getIndices) {
|
|
98
|
+
const indices = this._getIndices(start, end);
|
|
99
|
+
startIndex = indices.startIndex;
|
|
100
|
+
endIndex = indices.endIndex;
|
|
101
|
+
}
|
|
102
|
+
for (let i = startIndex; i < endIndex; i++) {
|
|
103
|
+
const dataItem = this.dataItems[i];
|
|
104
|
+
count += dataItem.get("finalCellSize", 1);
|
|
105
|
+
}
|
|
106
|
+
;
|
|
107
|
+
if (count <= minZoomCount) {
|
|
108
|
+
// need to zoom out
|
|
109
|
+
let c = 0;
|
|
110
|
+
for (let i = startIndex; i < len; i++) {
|
|
111
|
+
const dataItem = this.dataItems[i];
|
|
112
|
+
c += dataItem.get("finalCellSize", 1);
|
|
113
|
+
endIndex = i + 1;
|
|
114
|
+
if (c >= minZoomCount) {
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (c < minZoomCount) {
|
|
119
|
+
// still not enough, try to extend at the start
|
|
120
|
+
for (let i = startIndex - 1; i >= 0; i--) {
|
|
121
|
+
const dataItem = this.dataItems[i];
|
|
122
|
+
c += dataItem.get("finalCellSize", 1);
|
|
123
|
+
startIndex = i;
|
|
124
|
+
if (c >= minZoomCount) {
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
this.zoomToIndexes(startIndex, endIndex);
|
|
130
|
+
}
|
|
131
|
+
else if (count >= maxZoomCount) {
|
|
132
|
+
let c = count;
|
|
133
|
+
for (let i = endIndex - 1; i >= startIndex; i--) {
|
|
134
|
+
const dataItem = this.dataItems[i];
|
|
135
|
+
c -= dataItem.get("finalCellSize", 1);
|
|
136
|
+
if (c <= maxZoomCount) {
|
|
137
|
+
endIndex = i + 1;
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
this.zoomToIndexes(startIndex, endIndex);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
60
145
|
_handleRangeChange() {
|
|
61
146
|
$array.each(this.series, (series) => {
|
|
62
147
|
let startCategory = this.dataItems[this.startIndex()].get("category");
|
|
@@ -92,36 +177,45 @@ export class CategoryAxis extends Axis {
|
|
|
92
177
|
if (key || openKey) {
|
|
93
178
|
let startDataItem;
|
|
94
179
|
let endDataItem;
|
|
95
|
-
|
|
96
|
-
let dataItem
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
180
|
+
function findDataItem(series, categoryAxis, key, openKey, category, direction) {
|
|
181
|
+
let dataItem;
|
|
182
|
+
let idx = categoryAxis.categoryToIndex(category);
|
|
183
|
+
while (!dataItem && idx >= 0 && idx < categoryAxis.dataItems.length) {
|
|
184
|
+
let searchCategory = categoryAxis.dataItems[idx].get("category");
|
|
185
|
+
if (direction == "previous") {
|
|
186
|
+
for (let i = series.dataItems.length - 1; i >= 0; i--) {
|
|
187
|
+
let item = series.dataItems[i];
|
|
188
|
+
if (key && item.get(key) === searchCategory) {
|
|
189
|
+
dataItem = item;
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
if (openKey && item.get(openKey) === searchCategory) {
|
|
193
|
+
dataItem = item;
|
|
194
|
+
break;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
107
197
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
198
|
+
else {
|
|
199
|
+
for (let i = 0, len = series.dataItems.length; i < len; i++) {
|
|
200
|
+
let item = series.dataItems[i];
|
|
201
|
+
if (key && item.get(key) === searchCategory) {
|
|
202
|
+
dataItem = item;
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
if (openKey && item.get(openKey) === searchCategory) {
|
|
206
|
+
dataItem = item;
|
|
207
|
+
break;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
116
210
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
if (dataItem.get(openKey) === endCategory) {
|
|
120
|
-
endDataItem = dataItem;
|
|
121
|
-
break;
|
|
211
|
+
if (!dataItem) {
|
|
212
|
+
idx += direction === "previous" ? -1 : 1;
|
|
122
213
|
}
|
|
123
214
|
}
|
|
215
|
+
return dataItem;
|
|
124
216
|
}
|
|
217
|
+
startDataItem = findDataItem(series, this, key, openKey, startCategory, "next");
|
|
218
|
+
endDataItem = findDataItem(series, this, key, openKey, endCategory, "previous");
|
|
125
219
|
let startIndex = 0;
|
|
126
220
|
let endIndex = series.dataItems.length;
|
|
127
221
|
if (startDataItem) {
|
|
@@ -231,6 +325,9 @@ export class CategoryAxis extends Axis {
|
|
|
231
325
|
let fillEndPosition;
|
|
232
326
|
if (dataItem.get("isRange")) {
|
|
233
327
|
fillEndIndex = endIndex;
|
|
328
|
+
if (!$type.isNumber(index)) {
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
234
331
|
}
|
|
235
332
|
else {
|
|
236
333
|
fillEndIndex = index + this._frequency - 1;
|
|
@@ -337,19 +434,52 @@ export class CategoryAxis extends Axis {
|
|
|
337
434
|
* @param location Location
|
|
338
435
|
* @return Index
|
|
339
436
|
*/
|
|
340
|
-
indexToPosition(index, location) {
|
|
437
|
+
indexToPosition(index, location, final) {
|
|
438
|
+
let len = this.dataItems.length;
|
|
439
|
+
let position = 0;
|
|
440
|
+
if (len == 0) {
|
|
441
|
+
return 0;
|
|
442
|
+
}
|
|
443
|
+
if (index >= len) {
|
|
444
|
+
index = len - 1;
|
|
445
|
+
location = 1;
|
|
446
|
+
}
|
|
341
447
|
if (!$type.isNumber(location)) {
|
|
342
448
|
location = 0.5;
|
|
343
449
|
}
|
|
344
|
-
|
|
450
|
+
if (!$type.isNumber(index)) {
|
|
451
|
+
return 0;
|
|
452
|
+
}
|
|
345
453
|
let startLocation = this.get("startLocation", 0);
|
|
346
454
|
let endLocation = this.get("endLocation", 1);
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
455
|
+
if (!this.get("cellSizeField")) {
|
|
456
|
+
len -= startLocation;
|
|
457
|
+
len -= (1 - endLocation);
|
|
458
|
+
position = (index + location - startLocation) / len;
|
|
459
|
+
}
|
|
460
|
+
else {
|
|
461
|
+
let name = final ? "finalCellSize" : "cellSize";
|
|
462
|
+
const dataItems = this.dataItems;
|
|
463
|
+
// Calculate total modified count (sum of cell sizes)
|
|
464
|
+
let modCount = 0;
|
|
465
|
+
$array.each(this.dataItems, (dataItem) => {
|
|
466
|
+
modCount += dataItem.get(name, 1);
|
|
467
|
+
});
|
|
468
|
+
modCount -= startLocation * dataItems[0].get(name, 1);
|
|
469
|
+
modCount -= (1 - endLocation) * dataItems[dataItems.length - 1].get(name, 1);
|
|
470
|
+
// Calculate the position based on cell sizes
|
|
471
|
+
let acc = 0;
|
|
472
|
+
for (let i = 0; i < index; i++) {
|
|
473
|
+
acc += dataItems[i].get(name, 1);
|
|
474
|
+
}
|
|
475
|
+
let cellSizeAtIndex = dataItems[index].get(name, 1);
|
|
476
|
+
position = (acc + location * cellSizeAtIndex - startLocation * dataItems[0].get(name, 1)) / modCount;
|
|
477
|
+
}
|
|
478
|
+
if (!final) {
|
|
479
|
+
let dataItem = this.dataItems[index];
|
|
480
|
+
if (dataItem) {
|
|
481
|
+
position += dataItem.get("deltaPosition", 0);
|
|
482
|
+
}
|
|
353
483
|
}
|
|
354
484
|
return position;
|
|
355
485
|
}
|
|
@@ -401,7 +531,38 @@ export class CategoryAxis extends Axis {
|
|
|
401
531
|
*/
|
|
402
532
|
axisPositionToIndex(position) {
|
|
403
533
|
let len = this.dataItems.length;
|
|
404
|
-
|
|
534
|
+
if (len === 0) {
|
|
535
|
+
return 0;
|
|
536
|
+
}
|
|
537
|
+
// Calculate total modified length (sum of cell sizes)
|
|
538
|
+
if (this.get("cellSizeField")) {
|
|
539
|
+
let modifiedLen = 0;
|
|
540
|
+
let cellSizes = [];
|
|
541
|
+
$array.each(this.dataItems, (dataItem) => {
|
|
542
|
+
const cellSize = dataItem.get("cellSize", 1);
|
|
543
|
+
cellSizes.push(cellSize);
|
|
544
|
+
modifiedLen += cellSize;
|
|
545
|
+
});
|
|
546
|
+
// Adjust for startLocation and endLocation
|
|
547
|
+
let startLocation = this.get("startLocation", 0);
|
|
548
|
+
let endLocation = this.get("endLocation", 1);
|
|
549
|
+
modifiedLen -= startLocation;
|
|
550
|
+
modifiedLen -= (1 - endLocation);
|
|
551
|
+
// Find which cell the position falls into
|
|
552
|
+
let rel = position * modifiedLen + startLocation;
|
|
553
|
+
let acc = 0;
|
|
554
|
+
for (let i = 0; i < len; i++) {
|
|
555
|
+
const cellSize = cellSizes[i];
|
|
556
|
+
if (rel < acc + cellSize) {
|
|
557
|
+
return i;
|
|
558
|
+
}
|
|
559
|
+
acc += cellSize;
|
|
560
|
+
}
|
|
561
|
+
return len - 1;
|
|
562
|
+
}
|
|
563
|
+
else {
|
|
564
|
+
return $math.fitToRange(Math.floor(position * len), 0, len - 1);
|
|
565
|
+
}
|
|
405
566
|
}
|
|
406
567
|
/**
|
|
407
568
|
* Returns text to be used in an axis tooltip for specific relative position.
|
|
@@ -452,6 +613,39 @@ export class CategoryAxis extends Axis {
|
|
|
452
613
|
}
|
|
453
614
|
}
|
|
454
615
|
}
|
|
616
|
+
_getIndices(start, end) {
|
|
617
|
+
let len = this.dataItems.length;
|
|
618
|
+
let startIndex = 0;
|
|
619
|
+
let endIndex = len;
|
|
620
|
+
if (this.get("cellSizeField")) {
|
|
621
|
+
let count = 0;
|
|
622
|
+
$array.each(this.dataItems, (dataItem) => {
|
|
623
|
+
count += dataItem.get("cellSize", 1);
|
|
624
|
+
});
|
|
625
|
+
let c = 0;
|
|
626
|
+
for (let i = 0; i < len; i++) {
|
|
627
|
+
c += this.dataItems[i].get("cellSize", 1);
|
|
628
|
+
if (c / count > start) {
|
|
629
|
+
startIndex = i;
|
|
630
|
+
break;
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
for (let i = startIndex + 1; i < len; i++) {
|
|
634
|
+
c += this.dataItems[i].get("cellSize", 1);
|
|
635
|
+
if (c / count > end) {
|
|
636
|
+
endIndex = i + 1;
|
|
637
|
+
break;
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
startIndex = Math.max(startIndex, 0);
|
|
641
|
+
endIndex = Math.min(endIndex, len);
|
|
642
|
+
}
|
|
643
|
+
else {
|
|
644
|
+
startIndex = Math.max(Math.round(this.get("start", 0) * len), 0);
|
|
645
|
+
endIndex = Math.min(Math.round(this.get("end", 1) * len), len);
|
|
646
|
+
}
|
|
647
|
+
return { startIndex, endIndex };
|
|
648
|
+
}
|
|
455
649
|
/**
|
|
456
650
|
* Zooms the axis to specific `start` and `end` indexes.
|
|
457
651
|
*
|
|
@@ -463,7 +657,16 @@ export class CategoryAxis extends Axis {
|
|
|
463
657
|
*/
|
|
464
658
|
zoomToIndexes(start, end, duration) {
|
|
465
659
|
let len = this.dataItems.length;
|
|
466
|
-
this.
|
|
660
|
+
if (this.get("cellSizeField")) {
|
|
661
|
+
start = Math.min(Math.max(start, 0), len);
|
|
662
|
+
end = Math.max(Math.min(end, len), 1);
|
|
663
|
+
this.setPrivateRaw("startIndex", start);
|
|
664
|
+
this.setPrivateRaw("endIndex", end);
|
|
665
|
+
this.zoom(this.indexToPosition(start, 0, true), this.indexToPosition(end, 0, true), duration);
|
|
666
|
+
}
|
|
667
|
+
else {
|
|
668
|
+
this.zoom(start / len, end / len, duration);
|
|
669
|
+
}
|
|
467
670
|
}
|
|
468
671
|
zoomToCategories(startCategory, endCategory, duration) {
|
|
469
672
|
this.zoomToIndexes(this.categoryToIndex(startCategory), this.categoryToIndex(endCategory) + 1, duration);
|
|
@@ -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 { Axis, IAxisSettings, IAxisPrivate, IAxisDataItem, IAxisEvents } from \"./Axis\";\nimport type { IXYSeriesDataItem, XYSeries } from \"../series/XYSeries\";\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\";\nimport { populateString } from \"../../../core/util/PopulateString\";\nimport type { Tooltip } from \"../../../core/render/Tooltip\";\nimport { ValueAxis } from \"./ValueAxis\";\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 * 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}\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}\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\");\n\t\tthis.setPrivateRaw(\"name\", \"category\");\n\t\tthis.addTag(\"category\");\n\t\tsuper._afterNew();\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\tthis.setPrivateRaw(\"startIndex\", Math.max(Math.round(this.get(\"start\", 0) * len), 0));\n\t\tthis.setPrivateRaw(\"endIndex\", Math.min(Math.round(this.get(\"end\", 1) * len), len));\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\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\tfor (let i = 0, len = series.dataItems.length; i < len; i++) {\n\t\t\t\t\t\t\tlet dataItem = series.dataItems[i];\n\t\t\t\t\t\t\tif (key) {\n\t\t\t\t\t\t\t\tif (dataItem.get(key as any) === startCategory) {\n\t\t\t\t\t\t\t\t\tstartDataItem = 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\tif (openKey) {\n\t\t\t\t\t\t\t\tif (dataItem.get(openKey as any) === startCategory) {\n\t\t\t\t\t\t\t\t\tstartDataItem = 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\n\t\t\t\t\t\tfor (let i = series.dataItems.length - 1; i >= 0; i--) {\n\t\t\t\t\t\t\tlet dataItem = series.dataItems[i];\n\t\t\t\t\t\t\tif (key) {\n\t\t\t\t\t\t\t\tif (dataItem.get(key as any) === endCategory) {\n\t\t\t\t\t\t\t\t\tendDataItem = 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\tif (openKey) {\n\t\t\t\t\t\t\t\tif (dataItem.get(openKey as any) === endCategory) {\n\t\t\t\t\t\t\t\t\tendDataItem = 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\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\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\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): number {\n\t\tif (!$type.isNumber(location)) {\n\t\t\tlocation = 0.5;\n\t\t}\n\n\t\tlet len = this.dataItems.length;\n\n\t\tlet startLocation = this.get(\"startLocation\", 0);\n\t\tlet endLocation = this.get(\"endLocation\", 1);\n\n\t\tlen -= startLocation;\n\t\tlen -= (1 - endLocation);\n\n\t\tlet position = (index + location - startLocation) / len;\n\n\t\tlet dataItem = this.dataItems[index];\n\t\tif (dataItem) {\n\t\t\tposition += dataItem.get(\"deltaPosition\", 0);\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}\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\treturn $math.fitToRange(Math.floor(position * len), 0, len - 1);//$math.fitToRange(Math.floor((end - start) * len * position + len * start), 0, len - 1);\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\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\tthis.zoom(start / len, end / len, duration);\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\t\n\t/**\n\t * @ignore\n\t */\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);\t\t\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\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,8 +1,8 @@
|
|
|
1
1
|
import type { DataItem } from "../../../core/render/Component";
|
|
2
2
|
import type { AxisRenderer } from "./AxisRenderer";
|
|
3
|
-
import { CategoryAxis, ICategoryAxisSettings, ICategoryAxisPrivate, ICategoryAxisDataItem, ICategoryAxisEvents } from "./CategoryAxis";
|
|
4
3
|
import type { ITimeInterval } from "../../../core/util/Time";
|
|
5
4
|
import type { Tooltip } from "../../../core/render/Tooltip";
|
|
5
|
+
import { CategoryAxis, ICategoryAxisSettings, ICategoryAxisPrivate, ICategoryAxisDataItem, ICategoryAxisEvents } from "./CategoryAxis";
|
|
6
6
|
export interface ICategoryDateAxisSettings<R extends AxisRenderer> extends ICategoryAxisSettings<R> {
|
|
7
7
|
/**
|
|
8
8
|
* Indicates granularity of data.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CategoryDateAxis.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/CategoryDateAxis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CategoryDateAxis.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/CategoryDateAxis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAOvI,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,qBAAqB,CAAC,CAAC,CAAC;IAElG;;;;OAIG;IACH,YAAY,EAAE,aAAa,CAAC;IAE5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAErC;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,WAAW,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAE1C;;;;OAIG;IACH,uBAAuB,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAEtD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAE3B;AAED,MAAM,WAAW,yBAA0B,SAAQ,qBAAqB;CACvE;AAED,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IAErE;;OAEG;IACH,YAAY,EAAE,aAAa,CAAC;CAE5B;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;CACnE;AAGD;;;;;GAKG;AACH,qBAAa,gBAAgB,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC5E,OAAc,SAAS,EAAE,MAAM,CAAsB;IACrD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAgE;IAExF,SAAS,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACxC,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,iBAAiB,EAAE,yBAAyB,CAAC;IAC7C,OAAO,EAAE,uBAAuB,CAAC;IAEhD,SAAS,CAAC,UAAU,EAAE,MAAM,CAAK;IAEjC,SAAS,CAAC,QAAQ,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAA;KAAE,CAAM;IAElF,SAAS,CAAC,SAAS;IAOnB,SAAS,CAAC,iBAAiB;IA8I3B;;;;OAIG;IACI,YAAY,IAAI,MAAM;IAK7B;;;;;OAKG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAUtF,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;CAI/D"}
|