@ntlab/ntjs-assets 2.0.38 → 2.0.39
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/assets/js/cdn.json +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/Accessibility.js +15 -3
- package/assets/js/highcharts/es-modules/Accessibility/AccessibilityComponent.js +38 -30
- package/assets/js/highcharts/es-modules/Core/Axis/Axis.js +15 -12
- package/assets/js/highcharts/es-modules/Core/Axis/AxisDefaults.js +4 -2
- package/assets/js/highcharts/es-modules/Core/Axis/DateTimeAxis.js +3 -3
- package/assets/js/highcharts/es-modules/Core/Axis/GridAxis.js +2 -2
- package/assets/js/highcharts/es-modules/Core/Axis/LogarithmicAxis.js +5 -10
- package/assets/js/highcharts/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +54 -13
- package/assets/js/highcharts/es-modules/Core/Axis/ScrollbarAxis.js +12 -2
- package/assets/js/highcharts/es-modules/Core/Axis/Tick.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +6 -9
- package/assets/js/highcharts/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +2 -2
- package/assets/js/highcharts/es-modules/Core/Chart/Chart.js +30 -8
- package/assets/js/highcharts/es-modules/Core/Color/Color.js +1 -0
- package/assets/js/highcharts/es-modules/Core/Defaults.js +9 -7
- package/assets/js/highcharts/es-modules/Core/Legend/LegendSymbol.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGRenderer.js +1 -0
- package/assets/js/highcharts/es-modules/Core/Series/DataLabel.js +9 -0
- package/assets/js/highcharts/es-modules/Core/Series/Series.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Tooltip.js +9 -0
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Annotation.js +4 -0
- package/assets/js/highcharts/es-modules/Extensions/Boost/BoostSeries.js +2 -0
- package/assets/js/highcharts/es-modules/Extensions/Data.js +125 -98
- package/assets/js/highcharts/es-modules/Extensions/Exporting/Exporting.js +5 -1
- package/assets/js/highcharts/es-modules/Extensions/OfflineExporting/OfflineExporting.js +4 -1
- package/assets/js/highcharts/es-modules/Maps/GeoJSONComposition.js +0 -5
- package/assets/js/highcharts/es-modules/Series/Funnel3D/Funnel3DSeries.js +1 -0
- package/assets/js/highcharts/es-modules/Series/MapBubble/MapBubbleSeries.js +3 -3
- package/assets/js/highcharts/es-modules/Series/Pictorial/PictorialSeries.js +2 -1
- package/assets/js/highcharts/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +1 -0
- package/assets/js/highcharts/es-modules/Series/Treegraph/TreegraphSeries.js +1 -1
- package/assets/js/highcharts/es-modules/Stock/Navigator/Navigator.js +7 -2
- package/assets/js/highcharts/es-modules/masters/highcharts.src.js +1 -1
- package/assets/js/highcharts/highcharts-3d.js +1 -1
- package/assets/js/highcharts/highcharts-3d.src.js +1 -1
- package/assets/js/highcharts/highcharts-gantt.js +3 -3
- package/assets/js/highcharts/highcharts-gantt.src.js +176 -79
- package/assets/js/highcharts/highcharts-more.js +1 -1
- package/assets/js/highcharts/highcharts-more.src.js +1 -1
- package/assets/js/highcharts/highcharts.js +3 -3
- package/assets/js/highcharts/highcharts.src.js +147 -62
- package/assets/js/highcharts/highmaps.js +3 -3
- package/assets/js/highcharts/highmaps.src.js +150 -70
- package/assets/js/highcharts/highstock.js +3 -3
- package/assets/js/highcharts/highstock.src.js +166 -66
- package/assets/js/highcharts/indicators/acceleration-bands.js +1 -1
- package/assets/js/highcharts/indicators/acceleration-bands.src.js +1 -1
- package/assets/js/highcharts/indicators/accumulation-distribution.js +1 -1
- package/assets/js/highcharts/indicators/accumulation-distribution.src.js +1 -1
- package/assets/js/highcharts/indicators/ao.js +1 -1
- package/assets/js/highcharts/indicators/ao.src.js +1 -1
- package/assets/js/highcharts/indicators/apo.js +1 -1
- package/assets/js/highcharts/indicators/apo.src.js +1 -1
- package/assets/js/highcharts/indicators/aroon-oscillator.js +1 -1
- package/assets/js/highcharts/indicators/aroon-oscillator.src.js +1 -1
- package/assets/js/highcharts/indicators/aroon.js +1 -1
- package/assets/js/highcharts/indicators/aroon.src.js +1 -1
- package/assets/js/highcharts/indicators/atr.js +1 -1
- package/assets/js/highcharts/indicators/atr.src.js +1 -1
- package/assets/js/highcharts/indicators/bollinger-bands.js +1 -1
- package/assets/js/highcharts/indicators/bollinger-bands.src.js +1 -1
- package/assets/js/highcharts/indicators/cci.js +1 -1
- package/assets/js/highcharts/indicators/cci.src.js +1 -1
- package/assets/js/highcharts/indicators/chaikin.js +1 -1
- package/assets/js/highcharts/indicators/chaikin.src.js +1 -1
- package/assets/js/highcharts/indicators/cmf.js +1 -1
- package/assets/js/highcharts/indicators/cmf.src.js +1 -1
- package/assets/js/highcharts/indicators/cmo.js +1 -1
- package/assets/js/highcharts/indicators/cmo.src.js +1 -1
- package/assets/js/highcharts/indicators/dema.js +1 -1
- package/assets/js/highcharts/indicators/dema.src.js +1 -1
- package/assets/js/highcharts/indicators/disparity-index.js +1 -1
- package/assets/js/highcharts/indicators/disparity-index.src.js +1 -1
- package/assets/js/highcharts/indicators/dmi.js +1 -1
- package/assets/js/highcharts/indicators/dmi.src.js +1 -1
- package/assets/js/highcharts/indicators/dpo.js +1 -1
- package/assets/js/highcharts/indicators/dpo.src.js +1 -1
- package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.js +1 -1
- package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/assets/js/highcharts/indicators/indicators-all.js +1 -1
- package/assets/js/highcharts/indicators/indicators-all.src.js +1 -1
- package/assets/js/highcharts/indicators/indicators.js +1 -1
- package/assets/js/highcharts/indicators/indicators.src.js +1 -1
- package/assets/js/highcharts/indicators/keltner-channels.js +1 -1
- package/assets/js/highcharts/indicators/keltner-channels.src.js +1 -1
- package/assets/js/highcharts/indicators/klinger.js +1 -1
- package/assets/js/highcharts/indicators/klinger.src.js +1 -1
- package/assets/js/highcharts/indicators/macd.js +1 -1
- package/assets/js/highcharts/indicators/macd.src.js +1 -1
- package/assets/js/highcharts/indicators/mfi.js +1 -1
- package/assets/js/highcharts/indicators/mfi.src.js +1 -1
- package/assets/js/highcharts/indicators/momentum.js +1 -1
- package/assets/js/highcharts/indicators/momentum.src.js +1 -1
- package/assets/js/highcharts/indicators/natr.js +1 -1
- package/assets/js/highcharts/indicators/natr.src.js +1 -1
- package/assets/js/highcharts/indicators/obv.js +1 -1
- package/assets/js/highcharts/indicators/obv.src.js +1 -1
- package/assets/js/highcharts/indicators/pivot-points.js +1 -1
- package/assets/js/highcharts/indicators/pivot-points.src.js +1 -1
- package/assets/js/highcharts/indicators/ppo.js +1 -1
- package/assets/js/highcharts/indicators/ppo.src.js +1 -1
- package/assets/js/highcharts/indicators/price-channel.js +1 -1
- package/assets/js/highcharts/indicators/price-channel.src.js +1 -1
- package/assets/js/highcharts/indicators/price-envelopes.js +1 -1
- package/assets/js/highcharts/indicators/price-envelopes.src.js +1 -1
- package/assets/js/highcharts/indicators/psar.js +1 -1
- package/assets/js/highcharts/indicators/psar.src.js +1 -1
- package/assets/js/highcharts/indicators/regressions.js +1 -1
- package/assets/js/highcharts/indicators/regressions.src.js +1 -1
- package/assets/js/highcharts/indicators/roc.js +1 -1
- package/assets/js/highcharts/indicators/roc.src.js +1 -1
- package/assets/js/highcharts/indicators/rsi.js +1 -1
- package/assets/js/highcharts/indicators/rsi.src.js +1 -1
- package/assets/js/highcharts/indicators/slow-stochastic.js +1 -1
- package/assets/js/highcharts/indicators/slow-stochastic.src.js +1 -1
- package/assets/js/highcharts/indicators/stochastic.js +1 -1
- package/assets/js/highcharts/indicators/stochastic.src.js +1 -1
- package/assets/js/highcharts/indicators/supertrend.js +1 -1
- package/assets/js/highcharts/indicators/supertrend.src.js +1 -1
- package/assets/js/highcharts/indicators/tema.js +1 -1
- package/assets/js/highcharts/indicators/tema.src.js +1 -1
- package/assets/js/highcharts/indicators/trendline.js +1 -1
- package/assets/js/highcharts/indicators/trendline.src.js +1 -1
- package/assets/js/highcharts/indicators/trix.js +1 -1
- package/assets/js/highcharts/indicators/trix.src.js +1 -1
- package/assets/js/highcharts/indicators/volume-by-price.js +1 -1
- package/assets/js/highcharts/indicators/volume-by-price.src.js +1 -1
- package/assets/js/highcharts/indicators/vwap.js +1 -1
- package/assets/js/highcharts/indicators/vwap.src.js +1 -1
- package/assets/js/highcharts/indicators/williams-r.js +1 -1
- package/assets/js/highcharts/indicators/williams-r.src.js +1 -1
- package/assets/js/highcharts/indicators/wma.js +1 -1
- package/assets/js/highcharts/indicators/wma.src.js +1 -1
- package/assets/js/highcharts/indicators/zigzag.js +1 -1
- package/assets/js/highcharts/indicators/zigzag.src.js +1 -1
- package/assets/js/highcharts/modules/accessibility.js +2 -2
- package/assets/js/highcharts/modules/accessibility.src.js +74 -38
- package/assets/js/highcharts/modules/annotations-advanced.js +2 -2
- package/assets/js/highcharts/modules/annotations-advanced.src.js +7 -3
- package/assets/js/highcharts/modules/annotations.js +2 -2
- package/assets/js/highcharts/modules/annotations.src.js +7 -3
- package/assets/js/highcharts/modules/arc-diagram.js +2 -2
- package/assets/js/highcharts/modules/arc-diagram.src.js +5 -4
- package/assets/js/highcharts/modules/arrow-symbols.js +1 -1
- package/assets/js/highcharts/modules/arrow-symbols.src.js +1 -1
- package/assets/js/highcharts/modules/boost-canvas.js +2 -2
- package/assets/js/highcharts/modules/boost-canvas.src.js +3 -1
- package/assets/js/highcharts/modules/boost.js +2 -2
- package/assets/js/highcharts/modules/boost.src.js +3 -1
- package/assets/js/highcharts/modules/broken-axis.js +1 -1
- package/assets/js/highcharts/modules/broken-axis.src.js +1 -1
- package/assets/js/highcharts/modules/bullet.js +1 -1
- package/assets/js/highcharts/modules/bullet.src.js +1 -1
- package/assets/js/highcharts/modules/coloraxis.js +1 -1
- package/assets/js/highcharts/modules/coloraxis.src.js +1 -1
- package/assets/js/highcharts/modules/current-date-indicator.js +1 -1
- package/assets/js/highcharts/modules/current-date-indicator.src.js +1 -1
- package/assets/js/highcharts/modules/cylinder.js +1 -1
- package/assets/js/highcharts/modules/cylinder.src.js +1 -1
- package/assets/js/highcharts/modules/data-tools.js +1 -1
- package/assets/js/highcharts/modules/data-tools.src.js +1 -1
- package/assets/js/highcharts/modules/data.js +2 -2
- package/assets/js/highcharts/modules/data.src.js +126 -100
- package/assets/js/highcharts/modules/datagrouping.js +1 -1
- package/assets/js/highcharts/modules/datagrouping.src.js +1 -1
- package/assets/js/highcharts/modules/debugger.js +1 -1
- package/assets/js/highcharts/modules/debugger.src.js +1 -1
- package/assets/js/highcharts/modules/dependency-wheel.js +1 -1
- package/assets/js/highcharts/modules/dependency-wheel.src.js +1 -1
- package/assets/js/highcharts/modules/dotplot.js +1 -1
- package/assets/js/highcharts/modules/dotplot.src.js +1 -1
- package/assets/js/highcharts/modules/drag-panes.js +1 -1
- package/assets/js/highcharts/modules/drag-panes.src.js +1 -1
- package/assets/js/highcharts/modules/draggable-points.js +1 -1
- package/assets/js/highcharts/modules/draggable-points.src.js +1 -1
- package/assets/js/highcharts/modules/drilldown.js +1 -1
- package/assets/js/highcharts/modules/drilldown.src.js +1 -1
- package/assets/js/highcharts/modules/dumbbell.js +1 -1
- package/assets/js/highcharts/modules/dumbbell.src.js +1 -1
- package/assets/js/highcharts/modules/export-data.js +1 -1
- package/assets/js/highcharts/modules/export-data.src.js +1 -1
- package/assets/js/highcharts/modules/exporting.js +2 -2
- package/assets/js/highcharts/modules/exporting.src.js +6 -2
- package/assets/js/highcharts/modules/flowmap.js +1 -1
- package/assets/js/highcharts/modules/flowmap.src.js +1 -1
- package/assets/js/highcharts/modules/full-screen.js +1 -1
- package/assets/js/highcharts/modules/full-screen.src.js +1 -1
- package/assets/js/highcharts/modules/funnel.js +1 -1
- package/assets/js/highcharts/modules/funnel.src.js +1 -1
- package/assets/js/highcharts/modules/funnel3d.js +1 -1
- package/assets/js/highcharts/modules/funnel3d.src.js +2 -1
- package/assets/js/highcharts/modules/gantt.js +2 -2
- package/assets/js/highcharts/modules/gantt.src.js +30 -18
- package/assets/js/highcharts/modules/geoheatmap.js +1 -1
- package/assets/js/highcharts/modules/geoheatmap.src.js +1 -1
- package/assets/js/highcharts/modules/grid-axis.js +2 -2
- package/assets/js/highcharts/modules/grid-axis.src.js +3 -3
- package/assets/js/highcharts/modules/heatmap.js +1 -1
- package/assets/js/highcharts/modules/heatmap.src.js +1 -1
- package/assets/js/highcharts/modules/heikinashi.js +1 -1
- package/assets/js/highcharts/modules/heikinashi.src.js +1 -1
- package/assets/js/highcharts/modules/histogram-bellcurve.js +1 -1
- package/assets/js/highcharts/modules/histogram-bellcurve.src.js +1 -1
- package/assets/js/highcharts/modules/hollowcandlestick.js +1 -1
- package/assets/js/highcharts/modules/hollowcandlestick.src.js +1 -1
- package/assets/js/highcharts/modules/item-series.js +1 -1
- package/assets/js/highcharts/modules/item-series.src.js +1 -1
- package/assets/js/highcharts/modules/lollipop.js +1 -1
- package/assets/js/highcharts/modules/lollipop.src.js +1 -1
- package/assets/js/highcharts/modules/map.js +2 -2
- package/assets/js/highcharts/modules/map.src.js +4 -9
- package/assets/js/highcharts/modules/marker-clusters.js +1 -1
- package/assets/js/highcharts/modules/marker-clusters.src.js +1 -1
- package/assets/js/highcharts/modules/mouse-wheel-zoom.js +1 -1
- package/assets/js/highcharts/modules/mouse-wheel-zoom.src.js +1 -1
- package/assets/js/highcharts/modules/navigator.js +2 -2
- package/assets/js/highcharts/modules/navigator.src.js +20 -5
- package/assets/js/highcharts/modules/networkgraph.js +1 -1
- package/assets/js/highcharts/modules/networkgraph.src.js +1 -1
- package/assets/js/highcharts/modules/no-data-to-display.js +1 -1
- package/assets/js/highcharts/modules/no-data-to-display.src.js +1 -1
- package/assets/js/highcharts/modules/offline-exporting.js +2 -2
- package/assets/js/highcharts/modules/offline-exporting.src.js +6 -3
- package/assets/js/highcharts/modules/organization.js +1 -1
- package/assets/js/highcharts/modules/organization.src.js +1 -1
- package/assets/js/highcharts/modules/overlapping-datalabels.js +1 -1
- package/assets/js/highcharts/modules/overlapping-datalabels.src.js +1 -1
- package/assets/js/highcharts/modules/parallel-coordinates.js +1 -1
- package/assets/js/highcharts/modules/parallel-coordinates.src.js +1 -1
- package/assets/js/highcharts/modules/pareto.js +1 -1
- package/assets/js/highcharts/modules/pareto.src.js +1 -1
- package/assets/js/highcharts/modules/pathfinder.js +1 -1
- package/assets/js/highcharts/modules/pathfinder.src.js +1 -1
- package/assets/js/highcharts/modules/pattern-fill.js +1 -1
- package/assets/js/highcharts/modules/pattern-fill.src.js +1 -1
- package/assets/js/highcharts/modules/pictorial.js +1 -1
- package/assets/js/highcharts/modules/pictorial.src.js +3 -2
- package/assets/js/highcharts/modules/price-indicator.js +1 -1
- package/assets/js/highcharts/modules/price-indicator.src.js +1 -1
- package/assets/js/highcharts/modules/pyramid3d.js +1 -1
- package/assets/js/highcharts/modules/pyramid3d.src.js +2 -1
- package/assets/js/highcharts/modules/sankey.js +1 -1
- package/assets/js/highcharts/modules/sankey.src.js +1 -1
- package/assets/js/highcharts/modules/series-label.js +1 -1
- package/assets/js/highcharts/modules/series-label.src.js +1 -1
- package/assets/js/highcharts/modules/series-on-point.js +1 -1
- package/assets/js/highcharts/modules/series-on-point.src.js +1 -1
- package/assets/js/highcharts/modules/solid-gauge.js +1 -1
- package/assets/js/highcharts/modules/solid-gauge.src.js +1 -1
- package/assets/js/highcharts/modules/sonification.js +1 -1
- package/assets/js/highcharts/modules/sonification.src.js +1 -1
- package/assets/js/highcharts/modules/static-scale.js +1 -1
- package/assets/js/highcharts/modules/static-scale.src.js +1 -1
- package/assets/js/highcharts/modules/stock-tools.js +2 -2
- package/assets/js/highcharts/modules/stock-tools.src.js +3 -3
- package/assets/js/highcharts/modules/stock.js +2 -2
- package/assets/js/highcharts/modules/stock.src.js +20 -5
- package/assets/js/highcharts/modules/streamgraph.js +1 -1
- package/assets/js/highcharts/modules/streamgraph.src.js +1 -1
- package/assets/js/highcharts/modules/sunburst.js +1 -1
- package/assets/js/highcharts/modules/sunburst.src.js +1 -1
- package/assets/js/highcharts/modules/textpath.js +1 -1
- package/assets/js/highcharts/modules/textpath.src.js +1 -1
- package/assets/js/highcharts/modules/tiledwebmap.js +1 -1
- package/assets/js/highcharts/modules/tiledwebmap.src.js +1 -1
- package/assets/js/highcharts/modules/tilemap.js +1 -1
- package/assets/js/highcharts/modules/tilemap.src.js +1 -1
- package/assets/js/highcharts/modules/timeline.js +1 -1
- package/assets/js/highcharts/modules/timeline.src.js +1 -1
- package/assets/js/highcharts/modules/treegraph.js +2 -2
- package/assets/js/highcharts/modules/treegraph.src.js +2 -2
- package/assets/js/highcharts/modules/treegrid.js +2 -2
- package/assets/js/highcharts/modules/treegrid.src.js +11 -14
- package/assets/js/highcharts/modules/treemap.js +1 -1
- package/assets/js/highcharts/modules/treemap.src.js +1 -1
- package/assets/js/highcharts/modules/variable-pie.js +1 -1
- package/assets/js/highcharts/modules/variable-pie.src.js +1 -1
- package/assets/js/highcharts/modules/variwide.js +1 -1
- package/assets/js/highcharts/modules/variwide.src.js +1 -1
- package/assets/js/highcharts/modules/vector.js +1 -1
- package/assets/js/highcharts/modules/vector.src.js +1 -1
- package/assets/js/highcharts/modules/venn.js +1 -1
- package/assets/js/highcharts/modules/venn.src.js +1 -1
- package/assets/js/highcharts/modules/windbarb.js +1 -1
- package/assets/js/highcharts/modules/windbarb.src.js +1 -1
- package/assets/js/highcharts/modules/wordcloud.js +1 -1
- package/assets/js/highcharts/modules/wordcloud.src.js +1 -1
- package/assets/js/highcharts/modules/xrange.js +1 -1
- package/assets/js/highcharts/modules/xrange.src.js +1 -1
- package/assets/js/highcharts/standalone-navigator.js +2 -2
- package/assets/js/highcharts/standalone-navigator.src.js +165 -65
- package/assets/js/highcharts/themes/avocado.js +1 -1
- package/assets/js/highcharts/themes/avocado.src.js +1 -1
- package/assets/js/highcharts/themes/brand-dark.js +1 -1
- package/assets/js/highcharts/themes/brand-dark.src.js +1 -1
- package/assets/js/highcharts/themes/brand-light.js +1 -1
- package/assets/js/highcharts/themes/brand-light.src.js +1 -1
- package/assets/js/highcharts/themes/dark-blue.js +1 -1
- package/assets/js/highcharts/themes/dark-blue.src.js +1 -1
- package/assets/js/highcharts/themes/dark-green.js +1 -1
- package/assets/js/highcharts/themes/dark-green.src.js +1 -1
- package/assets/js/highcharts/themes/dark-unica.js +1 -1
- package/assets/js/highcharts/themes/dark-unica.src.js +1 -1
- package/assets/js/highcharts/themes/gray.js +1 -1
- package/assets/js/highcharts/themes/gray.src.js +1 -1
- package/assets/js/highcharts/themes/grid-light.js +1 -1
- package/assets/js/highcharts/themes/grid-light.src.js +1 -1
- package/assets/js/highcharts/themes/grid.js +1 -1
- package/assets/js/highcharts/themes/grid.src.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-dark.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-dark.src.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-light.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-light.src.js +1 -1
- package/assets/js/highcharts/themes/sand-signika.js +1 -1
- package/assets/js/highcharts/themes/sand-signika.src.js +1 -1
- package/assets/js/highcharts/themes/skies.js +1 -1
- package/assets/js/highcharts/themes/skies.src.js +1 -1
- package/assets/js/highcharts/themes/sunset.js +1 -1
- package/assets/js/highcharts/themes/sunset.src.js +1 -1
- package/package.json +1 -1
- package/assets/js/highcharts/es-modules/Core/Series/KDPointSearchObjectLike.js +0 -10
package/assets/js/cdn.json
CHANGED
|
@@ -287,7 +287,7 @@ class Accessibility {
|
|
|
287
287
|
*/
|
|
288
288
|
function chartUpdateA11yEnabled() {
|
|
289
289
|
let a11y = this.accessibility;
|
|
290
|
-
const accessibilityOptions = this.options.accessibility;
|
|
290
|
+
const accessibilityOptions = this.options.accessibility, svg = this.renderer.boxWrapper.element, title = this.title;
|
|
291
291
|
if (accessibilityOptions && accessibilityOptions.enabled) {
|
|
292
292
|
if (a11y && !a11y.zombie) {
|
|
293
293
|
a11y.update();
|
|
@@ -297,6 +297,10 @@ class Accessibility {
|
|
|
297
297
|
if (a11y && !a11y.zombie) {
|
|
298
298
|
a11y.update();
|
|
299
299
|
}
|
|
300
|
+
// If a11y has been disabled, and is now enabled
|
|
301
|
+
if (svg.getAttribute('role') === 'img') {
|
|
302
|
+
svg.removeAttribute('role');
|
|
303
|
+
}
|
|
300
304
|
}
|
|
301
305
|
}
|
|
302
306
|
else if (a11y) {
|
|
@@ -307,8 +311,16 @@ class Accessibility {
|
|
|
307
311
|
delete this.accessibility;
|
|
308
312
|
}
|
|
309
313
|
else {
|
|
310
|
-
//
|
|
311
|
-
this.renderTo.setAttribute('
|
|
314
|
+
// If a11y has been disabled dynamically or is disabled
|
|
315
|
+
this.renderTo.setAttribute('role', 'img');
|
|
316
|
+
this.renderTo.setAttribute('aria-hidden', false);
|
|
317
|
+
this.renderTo.setAttribute('aria-label', ((title && title.element.textContent) || '').replace(/</g, '<'));
|
|
318
|
+
svg.setAttribute('aria-hidden', true);
|
|
319
|
+
const description = document.getElementsByClassName('highcharts-description')[0];
|
|
320
|
+
if (description) {
|
|
321
|
+
description.setAttribute('aria-hidden', false);
|
|
322
|
+
description.classList.remove('highcharts-linked-description');
|
|
323
|
+
}
|
|
312
324
|
}
|
|
313
325
|
}
|
|
314
326
|
/**
|
|
@@ -16,8 +16,6 @@ import DOMElementProvider from './Utils/DOMElementProvider.js';
|
|
|
16
16
|
import EventProvider from './Utils/EventProvider.js';
|
|
17
17
|
import HU from './Utils/HTMLUtilities.js';
|
|
18
18
|
const { getFakeMouseEvent } = HU;
|
|
19
|
-
import U from '../Core/Utilities.js';
|
|
20
|
-
const { extend } = U;
|
|
21
19
|
/* *
|
|
22
20
|
*
|
|
23
21
|
* Class
|
|
@@ -29,8 +27,8 @@ const { extend } = U;
|
|
|
29
27
|
* create a custom accessibility component for a chart.
|
|
30
28
|
*
|
|
31
29
|
* Components should take care to destroy added elements and unregister event
|
|
32
|
-
* handlers on destroy. This is handled automatically if using this.addEvent
|
|
33
|
-
* this.createElement
|
|
30
|
+
* handlers on destroy. This is handled automatically if using `this.addEvent`
|
|
31
|
+
* and `this.createElement`.
|
|
34
32
|
*
|
|
35
33
|
* @sample highcharts/accessibility/custom-component
|
|
36
34
|
* Custom accessibility component
|
|
@@ -45,6 +43,41 @@ class AccessibilityComponent {
|
|
|
45
43
|
* Functions
|
|
46
44
|
*
|
|
47
45
|
* */
|
|
46
|
+
/**
|
|
47
|
+
* Called when accessibility is disabled or chart is destroyed.
|
|
48
|
+
*
|
|
49
|
+
* @function Highcharts.AccessibilityComponent#destroy
|
|
50
|
+
*/
|
|
51
|
+
destroy() { }
|
|
52
|
+
/**
|
|
53
|
+
* Get keyboard navigation handler for this component.
|
|
54
|
+
*
|
|
55
|
+
* @function Highcharts.AccessibilityComponent#getKeyboardNavigation
|
|
56
|
+
* @return {Highcharts.KeyboardNavigationHandler|Array<Highcharts.KeyboardNavigationHandler>}
|
|
57
|
+
* The keyboard navigation handler(s) for this component.
|
|
58
|
+
*/
|
|
59
|
+
getKeyboardNavigation() {
|
|
60
|
+
return [];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Called on component initialization.
|
|
64
|
+
*
|
|
65
|
+
* @function Highcharts.AccessibilityComponent#init
|
|
66
|
+
*/
|
|
67
|
+
init() { }
|
|
68
|
+
/**
|
|
69
|
+
* Called on every chart render.
|
|
70
|
+
*
|
|
71
|
+
* @function Highcharts.AccessibilityComponent#onChartRender
|
|
72
|
+
*/
|
|
73
|
+
onChartRender() { }
|
|
74
|
+
/**
|
|
75
|
+
* Called on updates to the chart, including options changes.
|
|
76
|
+
* Note that this is also called on first render of chart.
|
|
77
|
+
*
|
|
78
|
+
* @function Highcharts.AccessibilityComponent#onChartUpdate
|
|
79
|
+
*/
|
|
80
|
+
onChartUpdate() { }
|
|
48
81
|
/**
|
|
49
82
|
* Initialize the class
|
|
50
83
|
* @private
|
|
@@ -91,6 +124,7 @@ class AccessibilityComponent {
|
|
|
91
124
|
/**
|
|
92
125
|
* Fire a fake click event on an element. It is useful to have this on
|
|
93
126
|
* AccessibilityComponent for users of custom components.
|
|
127
|
+
* @private
|
|
94
128
|
*/
|
|
95
129
|
fakeClickEvent(el) {
|
|
96
130
|
const fakeEvent = getFakeMouseEvent('click');
|
|
@@ -105,32 +139,6 @@ class AccessibilityComponent {
|
|
|
105
139
|
this.eventProvider.removeAddedEvents();
|
|
106
140
|
}
|
|
107
141
|
}
|
|
108
|
-
extend(AccessibilityComponent.prototype,
|
|
109
|
-
/** @lends Highcharts.AccessibilityComponent */
|
|
110
|
-
{
|
|
111
|
-
/**
|
|
112
|
-
* Called on component initialization.
|
|
113
|
-
*/
|
|
114
|
-
init() { },
|
|
115
|
-
/**
|
|
116
|
-
* Get keyboard navigation handler for this component.
|
|
117
|
-
* @private
|
|
118
|
-
*/
|
|
119
|
-
getKeyboardNavigation: function () { },
|
|
120
|
-
/**
|
|
121
|
-
* Called on updates to the chart, including options changes.
|
|
122
|
-
* Note that this is also called on first render of chart.
|
|
123
|
-
*/
|
|
124
|
-
onChartUpdate() { },
|
|
125
|
-
/**
|
|
126
|
-
* Called on every chart render.
|
|
127
|
-
*/
|
|
128
|
-
onChartRender() { },
|
|
129
|
-
/**
|
|
130
|
-
* Called when accessibility is disabled or chart is destroyed.
|
|
131
|
-
*/
|
|
132
|
-
destroy() { }
|
|
133
|
-
});
|
|
134
142
|
/* *
|
|
135
143
|
*
|
|
136
144
|
* Default Export
|
|
@@ -150,7 +150,11 @@ class Axis {
|
|
|
150
150
|
* @type {Highcharts.AxisOptions}
|
|
151
151
|
*/
|
|
152
152
|
axis.setOptions(userOptions);
|
|
153
|
-
const options =
|
|
153
|
+
const options = axis.options, labelsOptions = options.labels;
|
|
154
|
+
// Set the type and fire an event
|
|
155
|
+
axis.type ?? (axis.type = options.type || 'linear');
|
|
156
|
+
axis.uniqueNames ?? (axis.uniqueNames = options.uniqueNames ?? true);
|
|
157
|
+
fireEvent(axis, 'afterSetType');
|
|
154
158
|
/**
|
|
155
159
|
* User's options for this axis without defaults.
|
|
156
160
|
*
|
|
@@ -170,7 +174,7 @@ class Axis {
|
|
|
170
174
|
axis.visible = options.visible;
|
|
171
175
|
axis.zoomEnabled = options.zoomEnabled;
|
|
172
176
|
// Initial categories
|
|
173
|
-
axis.hasNames = type === 'category' || options.categories === true;
|
|
177
|
+
axis.hasNames = this.type === 'category' || options.categories === true;
|
|
174
178
|
/**
|
|
175
179
|
* If categories are present for the axis, names are used instead of
|
|
176
180
|
* numbers for that axis.
|
|
@@ -543,7 +547,7 @@ class Axis {
|
|
|
543
547
|
* @param {number} value
|
|
544
548
|
* A value in terms of axis units.
|
|
545
549
|
*
|
|
546
|
-
* @param {boolean} paneCoordinates
|
|
550
|
+
* @param {boolean} [paneCoordinates=false]
|
|
547
551
|
* Whether to return the pixel coordinate relative to the chart or just the
|
|
548
552
|
* axis/pane itself.
|
|
549
553
|
*
|
|
@@ -618,7 +622,7 @@ class Axis {
|
|
|
618
622
|
translatedValue = pick(translatedValue, axis.translate(value, void 0, void 0, old));
|
|
619
623
|
// Keep the translated value within sane bounds, and avoid Infinity
|
|
620
624
|
// to fail the isNumber test (#7709).
|
|
621
|
-
translatedValue = clamp(translatedValue, -
|
|
625
|
+
translatedValue = clamp(translatedValue, -1e9, 1e9);
|
|
622
626
|
x1 = x2 = translatedValue + transB;
|
|
623
627
|
y1 = y2 = cHeight - translatedValue - transB;
|
|
624
628
|
if (!isNumber(translatedValue)) { // No min or max
|
|
@@ -893,7 +897,7 @@ class Axis {
|
|
|
893
897
|
let nameX = point.options.x, x;
|
|
894
898
|
point.series.requireSorting = false;
|
|
895
899
|
if (!defined(nameX)) {
|
|
896
|
-
nameX = this.
|
|
900
|
+
nameX = this.uniqueNames && names ?
|
|
897
901
|
(explicitCategories ?
|
|
898
902
|
names.indexOf(point.name) :
|
|
899
903
|
pick(names.keys[point.name], -1)) :
|
|
@@ -1079,7 +1083,7 @@ class Axis {
|
|
|
1079
1083
|
linkedParentExtremes = linkedParent.getExtremes();
|
|
1080
1084
|
axis.min = pick(linkedParentExtremes.min, linkedParentExtremes.dataMin);
|
|
1081
1085
|
axis.max = pick(linkedParentExtremes.max, linkedParentExtremes.dataMax);
|
|
1082
|
-
if (
|
|
1086
|
+
if (this.type !== linkedParent.type) {
|
|
1083
1087
|
// Can't link axes of different type
|
|
1084
1088
|
error(11, true, chart);
|
|
1085
1089
|
}
|
|
@@ -1286,12 +1290,6 @@ class Axis {
|
|
|
1286
1290
|
this.tickmarkOffset = (this.categories &&
|
|
1287
1291
|
options.tickmarkPlacement === 'between' &&
|
|
1288
1292
|
this.tickInterval === 1) ? 0.5 : 0; // #3202
|
|
1289
|
-
// Get minorTickInterval
|
|
1290
|
-
this.minorTickInterval =
|
|
1291
|
-
minorTickIntervalOption === 'auto' &&
|
|
1292
|
-
this.tickInterval ?
|
|
1293
|
-
this.tickInterval / options.minorTicksPerMajor :
|
|
1294
|
-
minorTickIntervalOption;
|
|
1295
1293
|
// When there is only one point, or all points have the same value on
|
|
1296
1294
|
// this axis, then min and max are equal and tickPositions.length is 0
|
|
1297
1295
|
// or 1. In this case, add some padding in order to center the point,
|
|
@@ -1379,6 +1377,11 @@ class Axis {
|
|
|
1379
1377
|
}
|
|
1380
1378
|
}
|
|
1381
1379
|
this.tickPositions = tickPositions;
|
|
1380
|
+
// Get minorTickInterval
|
|
1381
|
+
this.minorTickInterval =
|
|
1382
|
+
minorTickIntervalOption === 'auto' && this.tickInterval ?
|
|
1383
|
+
this.tickInterval / options.minorTicksPerMajor :
|
|
1384
|
+
minorTickIntervalOption;
|
|
1382
1385
|
// Reset min/max or remove extremes based on start/end on tick
|
|
1383
1386
|
this.paddedTicks = tickPositions.slice(0); // Used for logarithmic minor
|
|
1384
1387
|
this.trimTicks(tickPositions, startOnTick, endOnTick);
|
|
@@ -1958,9 +1958,10 @@ var AxisDefaults;
|
|
|
1958
1958
|
* Logarithmic with extension to emulate negative values
|
|
1959
1959
|
*
|
|
1960
1960
|
* @type {Highcharts.AxisTypeValue}
|
|
1961
|
+
* @default linear
|
|
1961
1962
|
* @product highcharts gantt
|
|
1963
|
+
* @apioption xAxis.type
|
|
1962
1964
|
*/
|
|
1963
|
-
type: 'linear',
|
|
1964
1965
|
/**
|
|
1965
1966
|
* If there are multiple axes on the same side of the chart, the pixel
|
|
1966
1967
|
* margin between the axes. Defaults to 0 on vertical axes, 15 on
|
|
@@ -1986,8 +1987,9 @@ var AxisDefaults;
|
|
|
1986
1987
|
*
|
|
1987
1988
|
* @since 4.2.7
|
|
1988
1989
|
* @product highcharts gantt
|
|
1990
|
+
* @type {boolean}
|
|
1991
|
+
* @default true
|
|
1989
1992
|
*/
|
|
1990
|
-
uniqueNames: true,
|
|
1991
1993
|
/**
|
|
1992
1994
|
* Datetime axis only. An array determining what time intervals the
|
|
1993
1995
|
* ticks are allowed to fall on. Each array item is an array where the
|
|
@@ -37,7 +37,7 @@ var DateTimeAxis;
|
|
|
37
37
|
AxisClass.keepProps.push('dateTime');
|
|
38
38
|
const axisProto = AxisClass.prototype;
|
|
39
39
|
axisProto.getTimeTicks = getTimeTicks;
|
|
40
|
-
addEvent(AxisClass, '
|
|
40
|
+
addEvent(AxisClass, 'afterSetType', onAfterSetType);
|
|
41
41
|
}
|
|
42
42
|
return AxisClass;
|
|
43
43
|
}
|
|
@@ -63,8 +63,8 @@ var DateTimeAxis;
|
|
|
63
63
|
/**
|
|
64
64
|
* @private
|
|
65
65
|
*/
|
|
66
|
-
function
|
|
67
|
-
if (this.
|
|
66
|
+
function onAfterSetType() {
|
|
67
|
+
if (this.type !== 'datetime') {
|
|
68
68
|
this.dateTime = void 0;
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
@@ -151,7 +151,7 @@ function getMaxLabelDimensions(ticks, tickPositions) {
|
|
|
151
151
|
}
|
|
152
152
|
});
|
|
153
153
|
// For tree grid, add indentation
|
|
154
|
-
if (this.
|
|
154
|
+
if (this.type === 'treegrid' &&
|
|
155
155
|
this.treeGrid &&
|
|
156
156
|
this.treeGrid.mapOfPosToGridNode) {
|
|
157
157
|
const treeDepth = this.treeGrid.mapOfPosToGridNode[-1].height || 0;
|
|
@@ -465,7 +465,7 @@ function onAfterSetAxisTranslation() {
|
|
|
465
465
|
else {
|
|
466
466
|
// Don't trim ticks which not in min/max range but
|
|
467
467
|
// they are still in the min/max plus tickInterval.
|
|
468
|
-
if (this.
|
|
468
|
+
if (this.type !== 'treegrid' &&
|
|
469
469
|
axis.grid &&
|
|
470
470
|
axis.grid.columns) {
|
|
471
471
|
this.minPointOffset = this.tickInterval;
|
|
@@ -37,7 +37,7 @@ var LogarithmicAxis;
|
|
|
37
37
|
function compose(AxisClass) {
|
|
38
38
|
if (!AxisClass.keepProps.includes('logarithmic')) {
|
|
39
39
|
AxisClass.keepProps.push('logarithmic');
|
|
40
|
-
addEvent(AxisClass, '
|
|
40
|
+
addEvent(AxisClass, 'afterSetType', onAfterSetType);
|
|
41
41
|
addEvent(AxisClass, 'afterInit', onAfterInit);
|
|
42
42
|
}
|
|
43
43
|
return AxisClass;
|
|
@@ -46,17 +46,12 @@ var LogarithmicAxis;
|
|
|
46
46
|
/**
|
|
47
47
|
* @private
|
|
48
48
|
*/
|
|
49
|
-
function
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
let logarithmic = axis.logarithmic;
|
|
53
|
-
if (options.type !== 'logarithmic') {
|
|
54
|
-
axis.logarithmic = void 0;
|
|
49
|
+
function onAfterSetType() {
|
|
50
|
+
if (this.type !== 'logarithmic') {
|
|
51
|
+
this.logarithmic = void 0;
|
|
55
52
|
}
|
|
56
53
|
else {
|
|
57
|
-
|
|
58
|
-
logarithmic = axis.logarithmic = new Additions(axis);
|
|
59
|
-
}
|
|
54
|
+
this.logarithmic ?? (this.logarithmic = new Additions(this));
|
|
60
55
|
}
|
|
61
56
|
}
|
|
62
57
|
/**
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
'use strict';
|
|
11
11
|
import PlotLineOrBandAxis from './PlotLineOrBandAxis.js';
|
|
12
12
|
import U from '../../Utilities.js';
|
|
13
|
-
const { arrayMax, arrayMin, defined, destroyObjectProperties, erase, fireEvent, merge, objectEach, pick } = U;
|
|
13
|
+
const { addEvent, arrayMax, arrayMin, defined, destroyObjectProperties, erase, fireEvent, merge, objectEach, pick } = U;
|
|
14
14
|
/* *
|
|
15
15
|
*
|
|
16
16
|
* Class
|
|
@@ -34,7 +34,20 @@ class PlotLineOrBand {
|
|
|
34
34
|
* Static Functions
|
|
35
35
|
*
|
|
36
36
|
* */
|
|
37
|
-
static compose(AxisClass) {
|
|
37
|
+
static compose(ChartClass, AxisClass) {
|
|
38
|
+
addEvent(ChartClass, 'afterInit', function () {
|
|
39
|
+
this.labelCollectors.push(() => {
|
|
40
|
+
const labels = [];
|
|
41
|
+
for (const axis of this.axes) {
|
|
42
|
+
for (const { label, options } of axis.plotLinesAndBands) {
|
|
43
|
+
if (label && !options?.label?.allowOverlap) {
|
|
44
|
+
labels.push(label);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return labels;
|
|
49
|
+
});
|
|
50
|
+
});
|
|
38
51
|
return PlotLineOrBandAxis.compose(PlotLineOrBand, AxisClass);
|
|
39
52
|
}
|
|
40
53
|
/* *
|
|
@@ -173,7 +186,8 @@ class PlotLineOrBand {
|
|
|
173
186
|
x: horiz ? !isBand && 4 : 10,
|
|
174
187
|
verticalAlign: !horiz && isBand ? 'middle' : void 0,
|
|
175
188
|
y: horiz ? isBand ? 16 : 10 : isBand ? 6 : -4,
|
|
176
|
-
rotation: horiz && !isBand ? 90 : 0
|
|
189
|
+
rotation: horiz && !isBand ? 90 : 0,
|
|
190
|
+
...(isBand ? { inside: true } : {})
|
|
177
191
|
}, optionsLabel);
|
|
178
192
|
this.renderLabel(optionsLabel, path, isBand, zIndex);
|
|
179
193
|
// Move out of sight
|
|
@@ -190,7 +204,7 @@ class PlotLineOrBand {
|
|
|
190
204
|
* @function Highcharts.PlotLineOrBand#renderLabel
|
|
191
205
|
*/
|
|
192
206
|
renderLabel(optionsLabel, path, isBand, zIndex) {
|
|
193
|
-
const plotLine = this, axis = plotLine.axis, renderer = axis.chart.renderer;
|
|
207
|
+
const plotLine = this, axis = plotLine.axis, renderer = axis.chart.renderer, inside = optionsLabel.inside;
|
|
194
208
|
let label = plotLine.label;
|
|
195
209
|
// Add the SVG element
|
|
196
210
|
if (!label) {
|
|
@@ -212,7 +226,7 @@ class PlotLineOrBand {
|
|
|
212
226
|
if (!axis.chart.styledMode) {
|
|
213
227
|
label.css(merge({
|
|
214
228
|
fontSize: '0.8em',
|
|
215
|
-
textOverflow: 'ellipsis'
|
|
229
|
+
textOverflow: (isBand && !inside) ? '' : 'ellipsis'
|
|
216
230
|
}, optionsLabel.style));
|
|
217
231
|
}
|
|
218
232
|
label.add();
|
|
@@ -221,20 +235,24 @@ class PlotLineOrBand {
|
|
|
221
235
|
// #3000 changed to better handle choice between plotband or plotline
|
|
222
236
|
const xBounds = path.xBounds ||
|
|
223
237
|
[path[0][1], path[1][1], (isBand ? path[2][1] : path[0][1])], yBounds = path.yBounds ||
|
|
224
|
-
[path[0][2], path[1][2], (isBand ? path[2][2] : path[0][2])], x = arrayMin(xBounds), y = arrayMin(yBounds);
|
|
238
|
+
[path[0][2], path[1][2], (isBand ? path[2][2] : path[0][2])], x = arrayMin(xBounds), y = arrayMin(yBounds), bBoxWidth = arrayMax(xBounds) - x;
|
|
225
239
|
label.align(optionsLabel, false, {
|
|
226
240
|
x,
|
|
227
241
|
y,
|
|
228
|
-
width:
|
|
242
|
+
width: bBoxWidth,
|
|
229
243
|
height: arrayMax(yBounds) - y
|
|
230
244
|
});
|
|
231
|
-
if (!label.alignValue ||
|
|
232
|
-
|
|
233
|
-
|
|
245
|
+
if (!label.alignValue ||
|
|
246
|
+
label.alignValue === 'left' ||
|
|
247
|
+
defined(inside)) {
|
|
234
248
|
label.css({
|
|
235
|
-
width: (
|
|
236
|
-
|
|
237
|
-
|
|
249
|
+
width: (optionsLabel.style?.width || ((!isBand ||
|
|
250
|
+
!inside) ? (label.rotation === 90 ?
|
|
251
|
+
axis.height - (label.alignAttr.y -
|
|
252
|
+
axis.top) : (optionsLabel.clip ?
|
|
253
|
+
axis.width :
|
|
254
|
+
axis.chart.chartWidth) - (label.alignAttr.x - axis.left)) :
|
|
255
|
+
bBoxWidth)) + 'px'
|
|
238
256
|
});
|
|
239
257
|
}
|
|
240
258
|
label.show(true);
|
|
@@ -474,6 +492,29 @@ export default PlotLineOrBand;
|
|
|
474
492
|
* @since 2.1
|
|
475
493
|
* @apioption xAxis.plotBands.label.align
|
|
476
494
|
*/
|
|
495
|
+
/**
|
|
496
|
+
* Whether or not the label can be hidden if it overlaps with another label.
|
|
497
|
+
*
|
|
498
|
+
* @sample {highcharts} highcharts/xaxis/plotbands-label-allowoverlap/
|
|
499
|
+
* A Plotband label overlapping another
|
|
500
|
+
*
|
|
501
|
+
* @type {boolean}
|
|
502
|
+
* @default undefined
|
|
503
|
+
* @since 11.4.8
|
|
504
|
+
* @apioption xAxis.plotBands.label.allowOverlap
|
|
505
|
+
*/
|
|
506
|
+
/**
|
|
507
|
+
* Wether or not the text of the label can exceed the width of the label.
|
|
508
|
+
*
|
|
509
|
+
* @type {boolean}
|
|
510
|
+
* @product highcharts highstock gantt
|
|
511
|
+
* @sample {highcharts} highcharts/xaxis/plotbands-label-textwidth/
|
|
512
|
+
* Displaying text with text-wrapping/ellipsis, or the full text.
|
|
513
|
+
*
|
|
514
|
+
* @default true
|
|
515
|
+
* @since 11.4.6
|
|
516
|
+
* @apioption xAxis.plotBands.label.inside
|
|
517
|
+
*/
|
|
477
518
|
/**
|
|
478
519
|
* Rotation of the text label in degrees .
|
|
479
520
|
*
|
|
@@ -174,13 +174,23 @@ var ScrollbarAxis;
|
|
|
174
174
|
isNaN(scrollMax) ||
|
|
175
175
|
!defined(axis.min) ||
|
|
176
176
|
!defined(axis.max) ||
|
|
177
|
-
axis.
|
|
177
|
+
axis.dataMin === axis.dataMax // #10733
|
|
178
178
|
) {
|
|
179
|
-
// Default action: when extremes are the same or there is
|
|
179
|
+
// Default action: when data extremes are the same or there is
|
|
180
180
|
// not extremes on the axis, but scrollbar exists, make it
|
|
181
181
|
// full size
|
|
182
182
|
scrollbar.setRange(0, 1);
|
|
183
183
|
}
|
|
184
|
+
else if (axis.min === axis.max) { // #20359
|
|
185
|
+
// When the extremes are the same, set the scrollbar to a point
|
|
186
|
+
// within the extremes range. Utilize pointRange to perform the
|
|
187
|
+
// calculations. (#20359)
|
|
188
|
+
const interval = axis.pointRange / (axis.dataMax +
|
|
189
|
+
1);
|
|
190
|
+
from = interval * axis.min;
|
|
191
|
+
to = interval * (axis.max + 1);
|
|
192
|
+
scrollbar.setRange(from, to);
|
|
193
|
+
}
|
|
184
194
|
else {
|
|
185
195
|
from = ((axis.min - scrollMin) /
|
|
186
196
|
(scrollMax - scrollMin));
|
|
@@ -74,8 +74,7 @@ function getBreakFromNode(node, max) {
|
|
|
74
74
|
* @todo Add unit-tests.
|
|
75
75
|
*/
|
|
76
76
|
function getTreeGridFromData(data, uniqueNames, numberOfSeries) {
|
|
77
|
-
const categories = [], collapsedNodes = [], mapOfIdToNode = {}, uniqueNamesEnabled =
|
|
78
|
-
uniqueNames : false;
|
|
77
|
+
const categories = [], collapsedNodes = [], mapOfIdToNode = {}, uniqueNamesEnabled = uniqueNames || false;
|
|
79
78
|
let mapOfPosToGridNode = {}, posIterator = -1;
|
|
80
79
|
// Build the tree from the series data.
|
|
81
80
|
const treeParams = {
|
|
@@ -200,10 +199,8 @@ function getTreeGridFromData(data, uniqueNames, numberOfSeries) {
|
|
|
200
199
|
*/
|
|
201
200
|
function onBeforeRender(e) {
|
|
202
201
|
const chart = e.target, axes = chart.axes;
|
|
203
|
-
axes.filter(function (axis) {
|
|
204
|
-
|
|
205
|
-
}).forEach(function (axis) {
|
|
206
|
-
const options = axis.options || {}, labelOptions = options.labels, uniqueNames = options.uniqueNames, max = options.max,
|
|
202
|
+
axes.filter((axis) => axis.type === 'treegrid').forEach(function (axis) {
|
|
203
|
+
const options = axis.options || {}, labelOptions = options.labels, uniqueNames = axis.uniqueNames, max = options.max,
|
|
207
204
|
// Check whether any of series is rendering for the first
|
|
208
205
|
// time, visibility has changed, or its data is dirty, and
|
|
209
206
|
// only then update. #10570, #10580. Also check if
|
|
@@ -311,7 +308,7 @@ function onBeforeRender(e) {
|
|
|
311
308
|
* The tick position in axis values.
|
|
312
309
|
*/
|
|
313
310
|
function wrapGenerateTick(proceed, pos) {
|
|
314
|
-
const axis = this, mapOptionsToLevel = axis.treeGrid.mapOptionsToLevel || {}, isTreeGrid = axis.
|
|
311
|
+
const axis = this, mapOptionsToLevel = axis.treeGrid.mapOptionsToLevel || {}, isTreeGrid = axis.type === 'treegrid', ticks = axis.ticks;
|
|
315
312
|
let tick = ticks[pos], levelOptions, options, gridNode;
|
|
316
313
|
if (isTreeGrid &&
|
|
317
314
|
axis.treeGrid.mapOfPosToGridNode) {
|
|
@@ -491,7 +488,7 @@ function wrapInit(proceed, chart, userOptions, coll) {
|
|
|
491
488
|
function wrapSetTickInterval(proceed) {
|
|
492
489
|
const axis = this, options = axis.options, linkedParent = typeof options.linkedTo === 'number' ?
|
|
493
490
|
this.chart[axis.coll]?.[options.linkedTo] :
|
|
494
|
-
void 0, isTreeGrid =
|
|
491
|
+
void 0, isTreeGrid = axis.type === 'treegrid';
|
|
495
492
|
if (isTreeGrid) {
|
|
496
493
|
axis.min = pick(axis.userMin, options.min, axis.dataMin);
|
|
497
494
|
axis.max = pick(axis.userMax, options.max, axis.dataMax);
|
|
@@ -526,7 +523,7 @@ function wrapSetTickInterval(proceed) {
|
|
|
526
523
|
* The original setTickInterval function.
|
|
527
524
|
*/
|
|
528
525
|
function wrapRedraw(proceed) {
|
|
529
|
-
const axis = this,
|
|
526
|
+
const axis = this, isTreeGrid = this.type === 'treegrid';
|
|
530
527
|
if (isTreeGrid && axis.visible) {
|
|
531
528
|
axis.tickPositions.forEach(function (pos) {
|
|
532
529
|
const tick = axis.ticks[pos];
|
|
@@ -85,7 +85,7 @@ function renderLabelIcon(tick, params) {
|
|
|
85
85
|
* @private
|
|
86
86
|
*/
|
|
87
87
|
function wrapGetLabelPosition(proceed, x, y, label, horiz, labelOptions, tickmarkOffset, index, step) {
|
|
88
|
-
const tick = this, lbOptions = pick(tick.options && tick.options.labels, labelOptions), pos = tick.pos, axis = tick.axis,
|
|
88
|
+
const tick = this, lbOptions = pick(tick.options && tick.options.labels, labelOptions), pos = tick.pos, axis = tick.axis, isTreeGrid = axis.type === 'treegrid', result = proceed.apply(tick, [x, y, label, horiz, lbOptions, tickmarkOffset, index, step]);
|
|
89
89
|
let mapOfPosToGridNode, node, level;
|
|
90
90
|
if (isTreeGrid) {
|
|
91
91
|
const { width = 0, padding = axis.linkedParent ? 0 : 5 } = (lbOptions && isObject(lbOptions.symbol, true) ?
|
|
@@ -110,7 +110,7 @@ function wrapGetLabelPosition(proceed, x, y, label, horiz, labelOptions, tickmar
|
|
|
110
110
|
function wrapRenderLabel(proceed) {
|
|
111
111
|
const tick = this, { pos, axis, label, treeGrid: tickGrid, options: tickOptions } = tick, icon = tickGrid?.labelIcon, labelElement = label?.element, { treeGrid: axisGrid, options: axisOptions, chart, tickPositions } = axis, mapOfPosToGridNode = axisGrid.mapOfPosToGridNode, labelOptions = pick(tickOptions?.labels, axisOptions?.labels), symbolOptions = (labelOptions && isObject(labelOptions.symbol, true) ?
|
|
112
112
|
labelOptions.symbol :
|
|
113
|
-
{}), node = mapOfPosToGridNode && mapOfPosToGridNode[pos], { descendants, depth } = node || {}, hasDescendants = node && descendants && descendants > 0, level = depth, isTreeGridElement = (
|
|
113
|
+
{}), node = mapOfPosToGridNode && mapOfPosToGridNode[pos], { descendants, depth } = node || {}, hasDescendants = node && descendants && descendants > 0, level = depth, isTreeGridElement = (axis.type === 'treegrid') && labelElement, shouldRender = tickPositions.indexOf(pos) > -1, prefixClassName = 'highcharts-treegrid-node-', prefixLevelClass = prefixClassName + 'level-', styledMode = chart.styledMode;
|
|
114
114
|
let collapsed, addClassName, removeClassName;
|
|
115
115
|
if (isTreeGridElement && node) {
|
|
116
116
|
// Add class name for hierarchical styling.
|
|
@@ -852,10 +852,22 @@ class Chart {
|
|
|
852
852
|
* @function Highcharts.Chart#getContainerBox
|
|
853
853
|
*/
|
|
854
854
|
getContainerBox() {
|
|
855
|
-
|
|
855
|
+
// Temporarily hide support divs from a11y and others, #21888
|
|
856
|
+
const nonContainers = [].map.call(this.renderTo.children, (child) => {
|
|
857
|
+
if (child !== this.container) {
|
|
858
|
+
const display = child.style.display;
|
|
859
|
+
child.style.display = 'none';
|
|
860
|
+
return [child, display];
|
|
861
|
+
}
|
|
862
|
+
}), box = {
|
|
856
863
|
width: getStyle(this.renderTo, 'width', true) || 0,
|
|
857
|
-
height: getStyle(this.renderTo, 'height', true) || 0
|
|
864
|
+
height: (getStyle(this.renderTo, 'height', true) || 0)
|
|
858
865
|
};
|
|
866
|
+
// Restore the non-containers
|
|
867
|
+
nonContainers.filter(Boolean).forEach(([div, display]) => {
|
|
868
|
+
div.style.display = display;
|
|
869
|
+
});
|
|
870
|
+
return box;
|
|
859
871
|
}
|
|
860
872
|
/**
|
|
861
873
|
* Internal function to get the chart width and height according to options
|
|
@@ -866,7 +878,10 @@ class Chart {
|
|
|
866
878
|
* @function Highcharts.Chart#getChartSize
|
|
867
879
|
*/
|
|
868
880
|
getChartSize() {
|
|
869
|
-
const chart = this, optionsChart = chart.options.chart, widthOption = optionsChart.width, heightOption = optionsChart.height, containerBox = chart.getContainerBox()
|
|
881
|
+
const chart = this, optionsChart = chart.options.chart, widthOption = optionsChart.width, heightOption = optionsChart.height, containerBox = chart.getContainerBox(), enableDefaultHeight = containerBox.height > 1 &&
|
|
882
|
+
!( // #21510, prevent infinite reflow
|
|
883
|
+
!chart.renderTo.parentElement?.style.height &&
|
|
884
|
+
chart.renderTo.style.height === '100%');
|
|
870
885
|
/**
|
|
871
886
|
* The current pixel width of the chart.
|
|
872
887
|
*
|
|
@@ -883,7 +898,7 @@ class Chart {
|
|
|
883
898
|
* @type {number}
|
|
884
899
|
*/
|
|
885
900
|
chart.chartHeight = Math.max(0, relativeLength(heightOption, chart.chartWidth) ||
|
|
886
|
-
(
|
|
901
|
+
(enableDefaultHeight ? containerBox.height : 400));
|
|
887
902
|
chart.containerBox = containerBox;
|
|
888
903
|
}
|
|
889
904
|
/**
|
|
@@ -1031,7 +1046,8 @@ class Chart {
|
|
|
1031
1046
|
'-webkit-tap-highlight-color': 'rgba(0,0,0,0)',
|
|
1032
1047
|
userSelect: 'none', // #13503
|
|
1033
1048
|
'touch-action': 'manipulation',
|
|
1034
|
-
outline: 'none'
|
|
1049
|
+
outline: 'none',
|
|
1050
|
+
padding: '0px'
|
|
1035
1051
|
}, optionsChart.style || {});
|
|
1036
1052
|
}
|
|
1037
1053
|
/**
|
|
@@ -2599,8 +2615,11 @@ class Chart {
|
|
|
2599
2615
|
}
|
|
2600
2616
|
let newMin = axis.toValue(minPx, true) +
|
|
2601
2617
|
// Don't apply offset for selection (#20784)
|
|
2602
|
-
(selection
|
|
2603
|
-
|
|
2618
|
+
(selection || axis.isOrdinal ?
|
|
2619
|
+
0 : minPointOffset * pointRangeDirection), newMax = axis.toValue(minPx + len / scale, true) -
|
|
2620
|
+
(
|
|
2621
|
+
// Don't apply offset for selection (#20784)
|
|
2622
|
+
selection || axis.isOrdinal ?
|
|
2604
2623
|
0 :
|
|
2605
2624
|
((minPointOffset * pointRangeDirection) ||
|
|
2606
2625
|
// Polar zoom tests failed when this was not
|
|
@@ -2645,7 +2664,10 @@ class Chart {
|
|
|
2645
2664
|
// It is not necessary to calculate extremes on ordinal axis,
|
|
2646
2665
|
// because they are already calculated, so we don't want to override
|
|
2647
2666
|
// them.
|
|
2648
|
-
if (!axis.isOrdinal ||
|
|
2667
|
+
if (!axis.isOrdinal ||
|
|
2668
|
+
axis.options.overscroll || // #21316
|
|
2669
|
+
scale !== 1 ||
|
|
2670
|
+
reset) {
|
|
2649
2671
|
// If the new range spills over, either to the min or max,
|
|
2650
2672
|
// adjust it.
|
|
2651
2673
|
if (newMin < floor) {
|