highcharts 10.2.1 → 10.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +1 -1
- package/es-modules/Accessibility/Accessibility.js +1 -1
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +9 -6
- package/es-modules/Accessibility/Components/LegendComponent.js +36 -32
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +1 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +16 -16
- package/es-modules/Accessibility/Options/LangDefaults.js +4 -0
- package/es-modules/Core/Axis/Axis.js +42 -32
- package/es-modules/Core/Axis/Axis3DComposition.js +501 -0
- package/es-modules/Core/Axis/Axis3DDefaults.js +130 -0
- package/es-modules/Core/Axis/AxisDefaults.js +20 -7
- package/es-modules/Core/Axis/Color/ColorAxis.js +46 -52
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +4 -2
- package/es-modules/Core/Axis/NavigatorAxisComposition.js +161 -0
- package/es-modules/Core/Axis/OrdinalAxis.js +2 -1
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +1 -1
- package/es-modules/Core/Axis/RadialAxis.js +19 -5
- package/es-modules/Core/Axis/Tick.js +1 -1
- package/es-modules/Core/Axis/Tick3DComposition.js +71 -0
- package/es-modules/Core/Chart/Chart.js +16 -20
- package/es-modules/Core/Chart/Chart3D.js +4 -4
- package/es-modules/Core/Chart/ChartDefaults.js +33 -43
- package/es-modules/Core/Chart/GanttChart.js +1 -1
- package/es-modules/Core/Chart/MapChart.js +1 -1
- package/es-modules/Core/Chart/StockChart.js +11 -28
- package/es-modules/Core/{DefaultOptions.js → Defaults.js} +21 -37
- package/es-modules/Core/FormatUtilities.js +1 -1
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/Legend/Legend.js +114 -110
- package/es-modules/Core/Legend/LegendSymbol.js +9 -6
- package/es-modules/Core/MSPointer.js +4 -2
- package/es-modules/Core/Pointer.js +125 -75
- package/es-modules/Core/Renderer/SVG/SVGElement.js +0 -3
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +28 -14
- package/es-modules/Core/Series/DataLabel.js +8 -5
- package/es-modules/Core/Series/Point.js +38 -22
- package/es-modules/Core/Series/Series.js +12 -9
- package/es-modules/Core/Series/SeriesDefaults.js +36 -24
- package/es-modules/Core/Series/SeriesRegistry.js +2 -2
- package/es-modules/Core/Time.js +6 -5
- package/es-modules/Core/Tooltip.js +6 -28
- package/es-modules/Core/Utilities.js +6 -8
- package/es-modules/Extensions/Annotations/Annotation.js +1 -1
- package/es-modules/Extensions/Annotations/AnnotationDefaults.js +13 -8
- package/es-modules/Extensions/Annotations/MockPoint.js +2 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +4 -5
- package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +1 -1
- package/es-modules/Extensions/Annotations/Popup/Popup.js +2 -2
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +4 -4
- package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +1 -1
- package/es-modules/Extensions/Boost/BoostSeries.js +11 -8
- package/es-modules/Extensions/Breadcrumbs.js +2 -2
- package/es-modules/Extensions/Data.js +2 -2
- package/es-modules/Extensions/DataGrouping/ApproximationDefaults.js +157 -0
- package/es-modules/Extensions/DataGrouping/ApproximationRegistry.js +35 -0
- package/es-modules/Extensions/DataGrouping/DataGrouping.js +469 -0
- package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +174 -0
- package/es-modules/Extensions/DataGrouping/DataGroupingDefaults.js +143 -0
- package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +479 -0
- package/es-modules/Extensions/Debugger/Debugger.js +1 -1
- package/es-modules/Extensions/DraggablePoints.js +6 -2
- package/es-modules/Extensions/Drilldown.js +3 -5
- package/es-modules/Extensions/ExportData/ExportData.js +31 -5
- package/es-modules/Extensions/Exporting/Exporting.js +47 -60
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +22 -24
- package/es-modules/Extensions/GeoJSON.js +3 -1
- package/es-modules/Extensions/MarkerClusters.js +1 -1
- package/es-modules/Extensions/NoDataToDisplay.js +1 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +5 -5
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +3 -3
- package/es-modules/Extensions/Oldie/VMLRenderer3D.js +1 -1
- package/es-modules/Extensions/OldiePolyfills.js +3 -1
- package/es-modules/Extensions/Pane.js +42 -5
- package/es-modules/Extensions/ParallelCoordinates.js +5 -1
- package/es-modules/Extensions/PatternFill.js +10 -10
- package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +2 -2
- package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +4 -0
- package/es-modules/Extensions/Sonification/Sonification.js +1 -1
- package/es-modules/Extensions/Themes/Avocado.js +1 -1
- package/es-modules/Extensions/Themes/BrandDark.js +1 -1
- package/es-modules/Extensions/Themes/BrandLight.js +1 -1
- package/es-modules/Extensions/Themes/DarkBlue.js +1 -1
- package/es-modules/Extensions/Themes/DarkGreen.js +1 -1
- package/es-modules/Extensions/Themes/DarkUnica.js +1 -1
- package/es-modules/Extensions/Themes/Gray.js +1 -1
- package/es-modules/Extensions/Themes/Grid.js +1 -1
- package/es-modules/Extensions/Themes/GridLight.js +1 -1
- package/es-modules/Extensions/Themes/HighContrastDark.js +1 -1
- package/es-modules/Extensions/Themes/HighContrastLight.js +1 -1
- package/es-modules/Extensions/Themes/SandSignika.js +1 -1
- package/es-modules/Extensions/Themes/Skies.js +1 -1
- package/es-modules/Extensions/Themes/Sunset.js +1 -1
- package/es-modules/Gantt/Connection.js +5 -5
- package/es-modules/Gantt/Pathfinder.js +6 -6
- package/es-modules/Maps/MapNavigation.js +1 -1
- package/es-modules/Maps/{MapNavigationOptionsDefault.js → MapNavigationDefaults.js} +4 -4
- package/es-modules/Maps/MapViewOptionsDefault.js +4 -4
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +3 -5
- package/es-modules/Series/AreaRange/AreaRangePoint.js +6 -10
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +59 -48
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -1
- package/es-modules/Series/Bubble/BubbleLegendComposition.js +22 -16
- package/es-modules/Series/Bubble/BubbleLegendItem.js +17 -21
- package/es-modules/Series/Candlestick/CandlestickSeries.js +15 -175
- package/es-modules/Series/Candlestick/CandlestickSeriesDefaults.js +179 -0
- package/es-modules/Series/Column/ColumnSeries.js +25 -506
- package/es-modules/Series/Column/ColumnSeriesDefaults.js +487 -0
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +40 -36
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +2 -106
- package/es-modules/Series/DependencyWheel/DependencyWheelSeriesDefaults.js +183 -0
- package/es-modules/Series/DotPlot/DotPlotSeries.js +11 -12
- package/es-modules/Series/DrawPointUtilities.js +2 -14
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +5 -4
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +11 -7
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +19 -136
- package/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js +147 -0
- package/es-modules/Series/Flags/FlagsPoint.js +2 -3
- package/es-modules/Series/Flags/FlagsSeries.js +31 -298
- package/es-modules/Series/Flags/FlagsSeriesDefaults.js +295 -0
- package/es-modules/Series/Flags/FlagsSymbols.js +96 -71
- package/es-modules/Series/HLC/HLCPoint.js +2 -2
- package/es-modules/Series/HLC/HLCSeries.js +7 -172
- package/es-modules/Series/HLC/HLCSeriesDefaults.js +184 -0
- package/es-modules/Series/Heatmap/HeatmapSeries.js +3 -0
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -20
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +78 -139
- package/es-modules/Series/HeikinAshi/HeikinAshiSeriesDefaults.js +102 -0
- package/es-modules/Series/Item/ItemPoint.js +0 -1
- package/es-modules/Series/Item/ItemSeries.js +13 -8
- package/es-modules/Series/Line/LineSeries.js +8 -4
- package/es-modules/Series/Map/MapPoint.js +19 -1
- package/es-modules/Series/Map/MapSeries.js +7 -3
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +4 -0
- package/es-modules/Series/MapPoint/MapPointPoint.js +0 -5
- package/es-modules/Series/MapPoint/MapPointSeries.js +24 -9
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +2 -5
- package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +2 -0
- package/es-modules/Series/OHLC/OHLCPoint.js +0 -2
- package/es-modules/Series/OHLC/OHLCSeries.js +64 -160
- package/es-modules/Series/OHLC/OHLCSeriesDefaults.js +151 -0
- package/es-modules/Series/Organization/OrganizationPoint.js +0 -2
- package/es-modules/Series/Organization/OrganizationSeries.js +96 -469
- package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +415 -0
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -10
- package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +2 -0
- package/es-modules/Series/PathUtilities.js +74 -0
- package/es-modules/Series/Pie/PieSeries.js +2 -644
- package/es-modules/Series/Pie/PieSeriesDefaults.js +660 -0
- package/es-modules/Series/PolarComposition.js +233 -15
- package/es-modules/Series/Sankey/SankeySeries.js +27 -530
- package/es-modules/Series/Sankey/SankeySeriesDefaults.js +522 -0
- package/es-modules/Series/Scatter/ScatterSeries.js +2 -172
- package/es-modules/Series/Scatter/ScatterSeriesDefaults.js +188 -0
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +12 -182
- package/es-modules/Series/SolidGauge/SolidGaugeSeriesDefaults.js +199 -0
- package/es-modules/Series/Sunburst/SunburstNode.js +34 -0
- package/es-modules/Series/Sunburst/SunburstPoint.js +2 -1
- package/es-modules/Series/Sunburst/SunburstSeries.js +3 -1
- package/es-modules/Series/Timeline/TimelineSeries.js +2 -231
- package/es-modules/Series/Timeline/TimelineSeriesDefaults.js +248 -0
- package/es-modules/Series/TreeUtilities.js +1 -2
- package/es-modules/Series/Treegraph/TreegraphLayout.js +338 -0
- package/es-modules/Series/Treegraph/TreegraphLink.js +92 -0
- package/es-modules/Series/Treegraph/TreegraphNode.js +206 -0
- package/es-modules/Series/Treegraph/TreegraphPoint.js +175 -0
- package/es-modules/Series/Treegraph/TreegraphSeries.js +510 -0
- package/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +231 -0
- package/es-modules/Series/Treemap/TreemapNode.js +48 -0
- package/es-modules/Series/Treemap/TreemapPoint.js +2 -1
- package/es-modules/Series/Treemap/TreemapSeries.js +29 -27
- package/es-modules/Series/Variwide/VariwideComposition.js +70 -26
- package/es-modules/Series/Variwide/VariwidePoint.js +8 -7
- package/es-modules/Series/Variwide/VariwideSeries.js +19 -14
- package/es-modules/Series/Vector/VectorSeries.js +2 -2
- package/es-modules/Series/Venn/VennSeries.js +14 -0
- package/es-modules/Series/Waterfall/WaterfallSeries.js +0 -1
- package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -2
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +3 -0
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +1 -2
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +15 -4
- package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +21 -18
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +1 -2
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -2
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +1 -1
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +0 -1
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +3 -4
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +1 -2
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +6 -7
- package/es-modules/{Core → Stock/Navigator}/Navigator.js +112 -686
- package/es-modules/Stock/Navigator/NavigatorComposition.js +218 -0
- package/es-modules/Stock/Navigator/NavigatorDefaults.js +490 -0
- package/es-modules/Stock/Navigator/NavigatorSymbols.js +44 -0
- package/es-modules/{Extensions → Stock/RangeSelector}/RangeSelector.js +154 -818
- package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +286 -0
- package/es-modules/Stock/RangeSelector/RangeSelectorDefaults.js +521 -0
- package/es-modules/{Core → Stock/Scrollbar}/Scrollbar.js +4 -4
- package/es-modules/{Core → Stock/Scrollbar}/ScrollbarDefaults.js +1 -1
- package/es-modules/Stock/{StockToolbar.js → StockTools/StockToolbar.js} +2 -2
- package/es-modules/Stock/{StockTools.js → StockTools/StockTools.js} +3 -3
- package/es-modules/Stock/{StockToolsBindings.js → StockTools/StockToolsBindings.js} +3 -3
- package/es-modules/Stock/{StockToolsDefaults.js → StockTools/StockToolsDefaults.js} +4 -4
- package/es-modules/Stock/{StockToolsGui.js → StockTools/StockToolsGui.js} +4 -4
- package/es-modules/Stock/{StockToolsUtilities.js → StockTools/StockToolsUtilities.js} +4 -4
- package/es-modules/masters/highcharts-3d.src.js +3 -5
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +1 -1
- package/es-modules/masters/highcharts.src.js +6 -6
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +1 -1
- package/es-modules/masters/indicators/indicators.src.js +1 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arc-diagram.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +1 -1
- package/es-modules/masters/modules/datagrouping.src.js +11 -3
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +9 -5
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/heikinashi.src.js +5 -2
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +1 -1
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/series-on-point.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +1 -1
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +4 -4
- package/es-modules/masters/modules/stock.src.js +17 -11
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegraph.src.js +13 -0
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +5 -2
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/brand-dark.src.js +1 -1
- package/es-modules/masters/themes/brand-light.src.js +1 -1
- package/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/es-modules/masters/themes/dark-green.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/gray.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/grid.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/skies.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +97 -98
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +476 -449
- package/highcharts-gantt.js +811 -808
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +14619 -14112
- package/highcharts-more.d.ts +0 -8
- package/highcharts-more.js +208 -201
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.d.ts +0 -8
- package/highcharts-more.src.js +679 -289
- package/highcharts.d.ts +30739 -6156
- package/highcharts.js +590 -589
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +30739 -6156
- package/highcharts.src.js +1988 -1799
- package/highmaps.js +759 -757
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +2339 -2077
- package/highstock.js +802 -794
- package/highstock.js.map +1 -1
- package/highstock.src.js +12349 -11416
- package/indicators/acceleration-bands.js +1 -1
- package/indicators/acceleration-bands.src.js +1 -1
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +4 -3
- package/indicators/apo.js +1 -1
- package/indicators/apo.src.js +1 -1
- package/indicators/aroon-oscillator.js +1 -1
- package/indicators/aroon-oscillator.src.js +1 -1
- package/indicators/aroon.js +1 -1
- package/indicators/aroon.src.js +1 -1
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +1 -1
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.js +16 -5
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +1 -1
- package/indicators/chaikin.src.js +1 -1
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/cmo.d.ts +17 -0
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.d.ts +17 -0
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +1 -1
- package/indicators/dema.src.js +1 -1
- package/indicators/disparity-index.d.ts +17 -0
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.d.ts +17 -0
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.d.ts +17 -0
- package/indicators/dmi.js +1 -1
- package/indicators/dmi.src.d.ts +17 -0
- package/indicators/dmi.src.js +1 -1
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.src.js +1 -1
- package/indicators/ichimoku-kinko-hyo.js +14 -14
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +22 -19
- package/indicators/indicators-all.js +198 -199
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +63 -57
- package/indicators/indicators.js +13 -13
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +1 -15
- package/indicators/keltner-channels.js +1 -1
- package/indicators/keltner-channels.src.js +1 -1
- package/indicators/klinger.d.ts +17 -0
- package/indicators/klinger.js +12 -12
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.d.ts +17 -0
- package/indicators/klinger.src.js +4 -3
- package/indicators/macd.js +1 -1
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +4 -3
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +1 -1
- package/indicators/natr.src.js +1 -1
- package/indicators/obv.d.ts +17 -0
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.d.ts +17 -0
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +2 -2
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +2 -2
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.src.js +1 -1
- package/indicators/price-channel.js +1 -1
- package/indicators/price-channel.src.js +1 -1
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +1 -1
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +1 -1
- package/indicators/slow-stochastic.js +5 -5
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +6 -5
- package/indicators/stochastic.js +1 -1
- package/indicators/stochastic.src.js +1 -1
- package/indicators/supertrend.js +7 -7
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +4 -3
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +1 -1
- package/indicators/trix.src.js +1 -1
- package/indicators/volume-by-price.js +17 -17
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +9 -8
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.src.js +1 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.js +214 -213
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +991 -835
- package/modules/annotations-advanced.js +16 -16
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +29 -24
- package/modules/annotations.js +91 -91
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +29 -24
- package/modules/arc-diagram.d.ts +17 -0
- package/modules/arc-diagram.js +15 -15
- package/modules/arc-diagram.js.map +1 -1
- package/modules/arc-diagram.src.d.ts +17 -0
- package/modules/arc-diagram.src.js +6 -6
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +19 -19
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +13 -8
- package/modules/boost.js +37 -37
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +13 -8
- package/modules/broken-axis.js +1 -1
- package/modules/broken-axis.src.js +1 -1
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +1 -1
- package/modules/coloraxis.js +25 -24
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +77 -58
- package/modules/current-date-indicator.js +1 -1
- package/modules/current-date-indicator.src.js +1 -1
- package/modules/cylinder.js +1 -1
- package/modules/cylinder.src.js +1 -1
- package/modules/data.js +27 -27
- package/modules/data.js.map +1 -1
- package/modules/data.src.js +3 -3
- package/modules/datagrouping.d.ts +31 -0
- package/modules/datagrouping.js +23 -21
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.d.ts +31 -0
- package/modules/datagrouping.src.js +921 -640
- package/modules/debugger.js +3 -3
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +2 -2
- package/modules/dependency-wheel.js +12 -12
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +191 -108
- package/modules/dotplot.js +6 -6
- package/modules/dotplot.js.map +1 -1
- package/modules/dotplot.src.js +10 -13
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +1 -1
- package/modules/draggable-points.js +5 -5
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +7 -3
- package/modules/drilldown.js +37 -37
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.js +5 -6
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.js +27 -22
- package/modules/export-data.js +26 -25
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +33 -6
- package/modules/exporting.js +36 -35
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +81 -88
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.src.js +1 -1
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +1 -1
- package/modules/funnel3d.js +1 -1
- package/modules/funnel3d.src.js +1 -1
- package/modules/gantt.js +221 -219
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +12842 -12524
- package/modules/grid-axis.js +1 -1
- package/modules/grid-axis.src.js +1 -1
- package/modules/heatmap.js +40 -40
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +80 -58
- package/modules/heikinashi.d.ts +17 -0
- package/modules/heikinashi.js +9 -8
- package/modules/heikinashi.js.map +1 -1
- package/modules/heikinashi.src.d.ts +17 -0
- package/modules/heikinashi.src.js +192 -165
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +1 -1
- package/modules/hollowcandlestick.d.ts +17 -0
- package/modules/hollowcandlestick.js +1 -1
- package/modules/hollowcandlestick.src.d.ts +17 -0
- package/modules/hollowcandlestick.src.js +1 -1
- package/modules/item-series.js +12 -12
- package/modules/item-series.js.map +1 -1
- package/modules/item-series.src.js +14 -10
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.js +172 -171
- package/modules/map.js.map +1 -1
- package/modules/map.src.js +194 -121
- package/modules/marker-clusters.js +2 -2
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +2 -2
- package/modules/networkgraph.js +8 -8
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.js +5 -6
- package/modules/no-data-to-display.js +4 -4
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +2 -2
- package/modules/offline-exporting.js +4 -4
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +7 -7
- package/modules/oldie-polyfills.js +7 -7
- package/modules/oldie-polyfills.js.map +1 -1
- package/modules/oldie-polyfills.src.js +9 -7
- package/modules/oldie.js +30 -30
- package/modules/oldie.js.map +1 -1
- package/modules/oldie.src.js +5 -5
- package/modules/organization.js +18 -16
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +659 -495
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +10 -10
- package/modules/parallel-coordinates.js.map +1 -1
- package/modules/parallel-coordinates.src.js +6 -2
- package/modules/pareto.js +1 -1
- package/modules/pareto.src.js +1 -1
- package/modules/pathfinder.js +31 -31
- package/modules/pathfinder.js.map +1 -1
- package/modules/pathfinder.src.js +19 -23
- package/modules/pattern-fill.js +2 -2
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +11 -11
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/sankey.js +33 -32
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.js +571 -550
- package/modules/series-label.js +17 -17
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +7 -3
- package/modules/series-on-point.d.ts +17 -0
- package/modules/series-on-point.js +1 -1
- package/modules/series-on-point.src.d.ts +17 -0
- package/modules/series-on-point.src.js +1 -1
- package/modules/solid-gauge.js +11 -10
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +220 -192
- package/modules/sonification.js +2 -2
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +2 -2
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +59 -59
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +19 -21
- package/modules/stock.d.ts +26 -6
- package/modules/stock.js +212 -205
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.d.ts +26 -6
- package/modules/stock.src.js +11361 -10617
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +75 -73
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +133 -57
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.src.js +1 -1
- package/modules/timeline.js +18 -18
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +257 -233
- package/modules/treegraph.d.ts +17 -0
- package/modules/treegraph.js +44 -0
- package/modules/treegraph.js.map +1 -0
- package/modules/treegraph.src.d.ts +17 -0
- package/modules/treegraph.src.js +1829 -0
- package/modules/treegrid.js +2 -2
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +2 -3
- package/modules/treemap.js +54 -53
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +90 -52
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +12 -12
- package/modules/variwide.js.map +1 -1
- package/modules/variwide.src.js +158 -106
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +3 -3
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +17 -16
- package/modules/windbarb.js +15 -15
- package/modules/windbarb.js.map +1 -1
- package/modules/windbarb.src.js +41 -4
- package/modules/wordcloud.js +23 -23
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +6 -15
- package/modules/xrange.js +1 -1
- package/modules/xrange.src.js +1 -1
- package/package.json +1 -1
- package/themes/avocado.js +2 -3
- package/themes/avocado.js.map +1 -1
- package/themes/avocado.src.js +2 -2
- package/themes/brand-dark.d.ts +22 -0
- package/themes/brand-dark.js +3 -3
- package/themes/brand-dark.js.map +1 -1
- package/themes/brand-dark.src.d.ts +22 -0
- package/themes/brand-dark.src.js +2 -2
- package/themes/brand-light.d.ts +22 -0
- package/themes/brand-light.js +2 -2
- package/themes/brand-light.js.map +1 -1
- package/themes/brand-light.src.d.ts +22 -0
- package/themes/brand-light.src.js +2 -2
- package/themes/dark-blue.js +2 -2
- package/themes/dark-blue.js.map +1 -1
- package/themes/dark-blue.src.js +2 -2
- package/themes/dark-green.js +2 -2
- package/themes/dark-green.js.map +1 -1
- package/themes/dark-green.src.js +2 -2
- package/themes/dark-unica.js +2 -2
- package/themes/dark-unica.js.map +1 -1
- package/themes/dark-unica.src.js +2 -2
- package/themes/gray.js +2 -2
- package/themes/gray.js.map +1 -1
- package/themes/gray.src.js +2 -2
- package/themes/grid-light.js +2 -2
- package/themes/grid-light.js.map +1 -1
- package/themes/grid-light.src.js +2 -2
- package/themes/grid.js +2 -2
- package/themes/grid.js.map +1 -1
- package/themes/grid.src.js +2 -2
- package/themes/high-contrast-dark.d.ts +22 -0
- package/themes/high-contrast-dark.js +2 -2
- package/themes/high-contrast-dark.js.map +1 -1
- package/themes/high-contrast-dark.src.d.ts +22 -0
- package/themes/high-contrast-dark.src.js +2 -2
- package/themes/high-contrast-light.d.ts +22 -0
- package/themes/high-contrast-light.js +2 -2
- package/themes/high-contrast-light.js.map +1 -1
- package/themes/high-contrast-light.src.d.ts +22 -0
- package/themes/high-contrast-light.src.js +2 -2
- package/themes/sand-signika.js +2 -2
- package/themes/sand-signika.js.map +1 -1
- package/themes/sand-signika.src.js +2 -2
- package/themes/skies.js +2 -2
- package/themes/skies.js.map +1 -1
- package/themes/skies.src.js +2 -2
- package/themes/sunset.js +2 -2
- package/themes/sunset.js.map +1 -1
- package/themes/sunset.src.js +2 -2
- package/es-modules/Core/Axis/Axis3D.js +0 -612
- package/es-modules/Core/Axis/NavigatorAxis.js +0 -159
- package/es-modules/Core/Axis/Tick3D.js +0 -68
- package/es-modules/Extensions/DataGrouping.js +0 -1177
- package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -12
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v10.
|
|
2
|
+
* @license Highcharts JS v10.3.1 (2022-10-31)
|
|
3
3
|
*
|
|
4
4
|
* Accessibility module
|
|
5
5
|
*
|
|
@@ -2267,12 +2267,15 @@
|
|
|
2267
2267
|
this.addEvent(chart, 'aftergetTableAST', function (e) {
|
|
2268
2268
|
component.onDataTableCreated(e);
|
|
2269
2269
|
});
|
|
2270
|
-
this.addEvent(chart, 'afterViewData', function (
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2270
|
+
this.addEvent(chart, 'afterViewData', function (e) {
|
|
2271
|
+
if (e.wasHidden) {
|
|
2272
|
+
component.dataTableDiv = e.element;
|
|
2273
|
+
// Use a small delay to give browsers & AT time to
|
|
2274
|
+
// register the new table.
|
|
2275
|
+
setTimeout(function () {
|
|
2276
|
+
component.focusDataTable();
|
|
2277
|
+
}, 300);
|
|
2278
|
+
}
|
|
2276
2279
|
});
|
|
2277
2280
|
this.announcer = new Announcer(chart, 'assertive');
|
|
2278
2281
|
};
|
|
@@ -3666,7 +3669,7 @@
|
|
|
3666
3669
|
* @private
|
|
3667
3670
|
*/
|
|
3668
3671
|
function scrollLegendToItem(legend, itemIx) {
|
|
3669
|
-
var itemPage = legend.allItems[itemIx].pageIx,
|
|
3672
|
+
var itemPage = (legend.allItems[itemIx].legendItem || {}).pageIx,
|
|
3670
3673
|
curPage = legend.currentPage;
|
|
3671
3674
|
if (typeof itemPage !== 'undefined' && itemPage + 1 !== curPage) {
|
|
3672
3675
|
legend.scroll(1 + itemPage - curPage);
|
|
@@ -3686,15 +3689,17 @@
|
|
|
3686
3689
|
/**
|
|
3687
3690
|
* @private
|
|
3688
3691
|
*/
|
|
3689
|
-
function setLegendItemHoverState(hoverActive,
|
|
3690
|
-
legendItem
|
|
3691
|
-
|
|
3692
|
-
|
|
3693
|
-
var
|
|
3694
|
-
|
|
3695
|
-
|
|
3692
|
+
function setLegendItemHoverState(hoverActive, item) {
|
|
3693
|
+
var legendItem = item.legendItem || {};
|
|
3694
|
+
item.setState(hoverActive ? 'hover' : '', true);
|
|
3695
|
+
for (var _i = 0, _a = ['group', 'label', 'symbol']; _i < _a.length; _i++) {
|
|
3696
|
+
var key = _a[_i];
|
|
3697
|
+
var svgElement = legendItem[key];
|
|
3698
|
+
var element = svgElement && svgElement.element || svgElement;
|
|
3699
|
+
if (element) {
|
|
3700
|
+
fireEvent(element, hoverActive ? 'mouseover' : 'mouseout');
|
|
3696
3701
|
}
|
|
3697
|
-
}
|
|
3702
|
+
}
|
|
3698
3703
|
}
|
|
3699
3704
|
/* *
|
|
3700
3705
|
*
|
|
@@ -3771,16 +3776,18 @@
|
|
|
3771
3776
|
var items = legend.allItems || [];
|
|
3772
3777
|
var curPage = legend.currentPage || 1;
|
|
3773
3778
|
var clipHeight = legend.clipHeight || 0;
|
|
3779
|
+
var legendItem;
|
|
3774
3780
|
items.forEach(function (item) {
|
|
3775
3781
|
if (item.a11yProxyElement) {
|
|
3776
3782
|
var hasPages = legend.pages && legend.pages.length;
|
|
3777
3783
|
var proxyEl = item.a11yProxyElement.element;
|
|
3778
3784
|
var hide = false;
|
|
3785
|
+
legendItem = item.legendItem || {};
|
|
3779
3786
|
if (hasPages) {
|
|
3780
|
-
var itemPage =
|
|
3781
|
-
var y =
|
|
3782
|
-
var h =
|
|
3783
|
-
Math.round(
|
|
3787
|
+
var itemPage = legendItem.pageIx || 0;
|
|
3788
|
+
var y = legendItem.y || 0;
|
|
3789
|
+
var h = legendItem.label ?
|
|
3790
|
+
Math.round(legendItem.label.getBBox().height) :
|
|
3784
3791
|
0;
|
|
3785
3792
|
hide = y + h - legend.pages[itemPage] > clipHeight ||
|
|
3786
3793
|
itemPage !== curPage - 1;
|
|
@@ -3818,15 +3825,17 @@
|
|
|
3818
3825
|
var newPageIx = curPageIx + direction;
|
|
3819
3826
|
var pages = legend.pages || [];
|
|
3820
3827
|
if (newPageIx > 0 && newPageIx <= pages.length) {
|
|
3821
|
-
var
|
|
3822
|
-
|
|
3823
|
-
|
|
3824
|
-
|
|
3828
|
+
var i = 0,
|
|
3829
|
+
res = void 0;
|
|
3830
|
+
for (var _i = 0, _a = legend.allItems; _i < _a.length; _i++) {
|
|
3831
|
+
var item = _a[_i];
|
|
3832
|
+
if (((item.legendItem || {}).pageIx || 0) + 1 === newPageIx) {
|
|
3833
|
+
res = chart.highlightLegendItem(i);
|
|
3825
3834
|
if (res) {
|
|
3826
3835
|
this.highlightedLegendItemIx = i;
|
|
3827
3836
|
}
|
|
3828
|
-
return;
|
|
3829
3837
|
}
|
|
3838
|
+
++i;
|
|
3830
3839
|
}
|
|
3831
3840
|
}
|
|
3832
3841
|
};
|
|
@@ -3904,10 +3913,11 @@
|
|
|
3904
3913
|
*/
|
|
3905
3914
|
LegendComponent.prototype.proxyLegendItems = function () {
|
|
3906
3915
|
var component = this,
|
|
3907
|
-
items = (this.chart.legend
|
|
3908
|
-
|
|
3916
|
+
items = (this.chart.legend || {}).allItems || [];
|
|
3917
|
+
var legendItem;
|
|
3909
3918
|
items.forEach(function (item) {
|
|
3910
|
-
|
|
3919
|
+
legendItem = item.legendItem || {};
|
|
3920
|
+
if (legendItem.label && legendItem.label.element) {
|
|
3911
3921
|
component.proxyLegendItem(item);
|
|
3912
3922
|
}
|
|
3913
3923
|
});
|
|
@@ -3917,7 +3927,8 @@
|
|
|
3917
3927
|
* @param {Highcharts.BubbleLegendItem|Point|Highcharts.Series} item
|
|
3918
3928
|
*/
|
|
3919
3929
|
LegendComponent.prototype.proxyLegendItem = function (item) {
|
|
3920
|
-
|
|
3930
|
+
var legendItem = item.legendItem || {};
|
|
3931
|
+
if (!legendItem.label || !legendItem.group) {
|
|
3921
3932
|
return;
|
|
3922
3933
|
}
|
|
3923
3934
|
var itemLabel = this.chart.langFormat('accessibility.legend.legendItem', {
|
|
@@ -3931,11 +3942,11 @@
|
|
|
3931
3942
|
'aria-label': itemLabel
|
|
3932
3943
|
};
|
|
3933
3944
|
// Considers useHTML
|
|
3934
|
-
var proxyPositioningElement =
|
|
3935
|
-
|
|
3936
|
-
|
|
3945
|
+
var proxyPositioningElement = legendItem.group.div ?
|
|
3946
|
+
legendItem.label :
|
|
3947
|
+
legendItem.group;
|
|
3937
3948
|
item.a11yProxyElement = this.proxyProvider.addProxyElement('legend', {
|
|
3938
|
-
click:
|
|
3949
|
+
click: legendItem.label,
|
|
3939
3950
|
visual: proxyPositioningElement.element
|
|
3940
3951
|
}, attribs);
|
|
3941
3952
|
};
|
|
@@ -3957,10 +3968,7 @@
|
|
|
3957
3968
|
],
|
|
3958
3969
|
[
|
|
3959
3970
|
[keys.enter, keys.space],
|
|
3960
|
-
function (
|
|
3961
|
-
if (H.isFirefox && keyCode === keys.space) { // #15520
|
|
3962
|
-
return this.response.success;
|
|
3963
|
-
}
|
|
3971
|
+
function () {
|
|
3964
3972
|
return component.onKbdClick(this);
|
|
3965
3973
|
}
|
|
3966
3974
|
],
|
|
@@ -4068,13 +4076,14 @@
|
|
|
4068
4076
|
var items = this.legend.allItems;
|
|
4069
4077
|
var oldIx = this.accessibility &&
|
|
4070
4078
|
this.accessibility.components.legend.highlightedLegendItemIx;
|
|
4071
|
-
var itemToHighlight = items[ix]
|
|
4079
|
+
var itemToHighlight = items[ix],
|
|
4080
|
+
legendItem = itemToHighlight.legendItem || {};
|
|
4072
4081
|
if (itemToHighlight) {
|
|
4073
4082
|
if (isNumber(oldIx) && items[oldIx]) {
|
|
4074
4083
|
setLegendItemHoverState(false, items[oldIx]);
|
|
4075
4084
|
}
|
|
4076
4085
|
scrollLegendToItem(this.legend, ix);
|
|
4077
|
-
var legendItemProp =
|
|
4086
|
+
var legendItemProp = legendItem.label;
|
|
4078
4087
|
var proxyBtn = itemToHighlight.a11yProxyElement &&
|
|
4079
4088
|
itemToHighlight.a11yProxyElement.buttonElement;
|
|
4080
4089
|
if (legendItemProp && legendItemProp.element && proxyBtn) {
|
|
@@ -4169,11 +4178,11 @@
|
|
|
4169
4178
|
}) || null;
|
|
4170
4179
|
}
|
|
4171
4180
|
/**
|
|
4172
|
-
* Whether or not we should add a
|
|
4181
|
+
* Whether or not we should add a mock point element in
|
|
4173
4182
|
* order to describe a point that has no graphic.
|
|
4174
4183
|
* @private
|
|
4175
4184
|
*/
|
|
4176
|
-
function
|
|
4185
|
+
function shouldAddMockPoint(point) {
|
|
4177
4186
|
// Note: Sunburst series use isNull for hidden points on drilldown.
|
|
4178
4187
|
// Ignore these.
|
|
4179
4188
|
var series = point.series,
|
|
@@ -4188,30 +4197,30 @@
|
|
|
4188
4197
|
/**
|
|
4189
4198
|
* @private
|
|
4190
4199
|
*/
|
|
4191
|
-
function
|
|
4200
|
+
function makeMockElement(point, pos) {
|
|
4192
4201
|
var renderer = point.series.chart.renderer,
|
|
4193
|
-
|
|
4202
|
+
mock = renderer.rect(pos.x,
|
|
4194
4203
|
pos.y, 1, 1);
|
|
4195
|
-
|
|
4196
|
-
'class': 'highcharts-a11y-
|
|
4204
|
+
mock.attr({
|
|
4205
|
+
'class': 'highcharts-a11y-mock-point',
|
|
4197
4206
|
fill: 'none',
|
|
4198
4207
|
opacity: 0,
|
|
4199
4208
|
'fill-opacity': 0,
|
|
4200
4209
|
'stroke-opacity': 0
|
|
4201
4210
|
});
|
|
4202
|
-
return
|
|
4211
|
+
return mock;
|
|
4203
4212
|
}
|
|
4204
4213
|
/**
|
|
4205
4214
|
* @private
|
|
4206
4215
|
*/
|
|
4207
|
-
function
|
|
4216
|
+
function addMockPointElement(point) {
|
|
4208
4217
|
var series = point.series,
|
|
4209
4218
|
firstPointWithGraphic = findFirstPointWithGraphic(point),
|
|
4210
4219
|
firstGraphic = firstPointWithGraphic && firstPointWithGraphic.graphic,
|
|
4211
4220
|
parentGroup = firstGraphic ?
|
|
4212
4221
|
firstGraphic.parentGroup :
|
|
4213
4222
|
series.graph || series.group,
|
|
4214
|
-
|
|
4223
|
+
mockPos = firstPointWithGraphic ? {
|
|
4215
4224
|
x: pick(point.plotX,
|
|
4216
4225
|
firstPointWithGraphic.plotX, 0),
|
|
4217
4226
|
y: pick(point.plotY,
|
|
@@ -4220,15 +4229,15 @@
|
|
|
4220
4229
|
x: pick(point.plotX, 0),
|
|
4221
4230
|
y: pick(point.plotY, 0)
|
|
4222
4231
|
},
|
|
4223
|
-
|
|
4224
|
-
|
|
4232
|
+
mockElement = makeMockElement(point,
|
|
4233
|
+
mockPos);
|
|
4225
4234
|
if (parentGroup && parentGroup.element) {
|
|
4226
|
-
point.graphic =
|
|
4227
|
-
point.
|
|
4228
|
-
|
|
4235
|
+
point.graphic = mockElement;
|
|
4236
|
+
point.hasMockGraphic = true;
|
|
4237
|
+
mockElement.add(parentGroup);
|
|
4229
4238
|
// Move to correct pos in DOM
|
|
4230
|
-
parentGroup.element.insertBefore(
|
|
4231
|
-
return
|
|
4239
|
+
parentGroup.element.insertBefore(mockElement.element, firstGraphic ? firstGraphic.element : null);
|
|
4240
|
+
return mockElement.element;
|
|
4232
4241
|
}
|
|
4233
4242
|
}
|
|
4234
4243
|
/**
|
|
@@ -4471,7 +4480,7 @@
|
|
|
4471
4480
|
if (setScreenReaderProps || setKeyboardProps) {
|
|
4472
4481
|
series.points.forEach(function (point) {
|
|
4473
4482
|
var pointEl = point.graphic && point.graphic.element ||
|
|
4474
|
-
|
|
4483
|
+
shouldAddMockPoint(point) && addMockPointElement(point),
|
|
4475
4484
|
pointA11yDisabled = (point.options &&
|
|
4476
4485
|
point.options.accessibility &&
|
|
4477
4486
|
point.options.accessibility.enabled === false);
|
|
@@ -5467,7 +5476,7 @@
|
|
|
5467
5476
|
|
|
5468
5477
|
return ProxyProvider;
|
|
5469
5478
|
});
|
|
5470
|
-
_registerModule(_modules, '
|
|
5479
|
+
_registerModule(_modules, 'Stock/RangeSelector/RangeSelectorDefaults.js', [], function () {
|
|
5471
5480
|
/* *
|
|
5472
5481
|
*
|
|
5473
5482
|
* (c) 2010-2021 Torstein Honsi
|
|
@@ -5477,65 +5486,67 @@
|
|
|
5477
5486
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
5478
5487
|
*
|
|
5479
5488
|
* */
|
|
5480
|
-
|
|
5481
|
-
var addEvent = U.addEvent,
|
|
5482
|
-
createElement = U.createElement,
|
|
5483
|
-
css = U.css,
|
|
5484
|
-
defined = U.defined,
|
|
5485
|
-
destroyObjectProperties = U.destroyObjectProperties,
|
|
5486
|
-
discardElement = U.discardElement,
|
|
5487
|
-
extend = U.extend,
|
|
5488
|
-
find = U.find,
|
|
5489
|
-
fireEvent = U.fireEvent,
|
|
5490
|
-
isNumber = U.isNumber,
|
|
5491
|
-
merge = U.merge,
|
|
5492
|
-
objectEach = U.objectEach,
|
|
5493
|
-
pad = U.pad,
|
|
5494
|
-
pick = U.pick,
|
|
5495
|
-
pInt = U.pInt,
|
|
5496
|
-
splat = U.splat;
|
|
5497
|
-
/**
|
|
5498
|
-
* Define the time span for the button
|
|
5489
|
+
/* *
|
|
5499
5490
|
*
|
|
5500
|
-
*
|
|
5501
|
-
*/
|
|
5502
|
-
/**
|
|
5503
|
-
* Callback function to react on button clicks.
|
|
5491
|
+
* Declarations
|
|
5504
5492
|
*
|
|
5505
|
-
*
|
|
5493
|
+
* */
|
|
5494
|
+
/**
|
|
5495
|
+
* Language object. The language object is global and it can't be set
|
|
5496
|
+
* on each chart initialization. Instead, use `Highcharts.setOptions` to
|
|
5497
|
+
* set it before any chart is initialized.
|
|
5506
5498
|
*
|
|
5507
|
-
*
|
|
5508
|
-
*
|
|
5499
|
+
* ```js
|
|
5500
|
+
* Highcharts.setOptions({
|
|
5501
|
+
* lang: {
|
|
5502
|
+
* months: [
|
|
5503
|
+
* 'Janvier', 'Février', 'Mars', 'Avril',
|
|
5504
|
+
* 'Mai', 'Juin', 'Juillet', 'Août',
|
|
5505
|
+
* 'Septembre', 'Octobre', 'Novembre', 'Décembre'
|
|
5506
|
+
* ],
|
|
5507
|
+
* weekdays: [
|
|
5508
|
+
* 'Dimanche', 'Lundi', 'Mardi', 'Mercredi',
|
|
5509
|
+
* 'Jeudi', 'Vendredi', 'Samedi'
|
|
5510
|
+
* ]
|
|
5511
|
+
* }
|
|
5512
|
+
* });
|
|
5513
|
+
* ```
|
|
5509
5514
|
*
|
|
5510
|
-
* @
|
|
5511
|
-
* Return false to cancel the default button event.
|
|
5515
|
+
* @optionparent lang
|
|
5512
5516
|
*/
|
|
5517
|
+
var lang = {
|
|
5518
|
+
/**
|
|
5519
|
+
* The text for the label for the range selector buttons.
|
|
5520
|
+
*
|
|
5521
|
+
* @product highstock gantt
|
|
5522
|
+
*/
|
|
5523
|
+
rangeSelectorZoom: 'Zoom',
|
|
5524
|
+
/**
|
|
5525
|
+
* The text for the label for the "from" input box in the range
|
|
5526
|
+
* selector. Since v9.0,
|
|
5527
|
+
this string is empty as the label is not
|
|
5528
|
+
* rendered by default.
|
|
5529
|
+
*
|
|
5530
|
+
* @product highstock gantt
|
|
5531
|
+
*/
|
|
5532
|
+
rangeSelectorFrom: '',
|
|
5533
|
+
/**
|
|
5534
|
+
* The text for the label for the "to" input box in the range selector.
|
|
5535
|
+
*
|
|
5536
|
+
* @product highstock gantt
|
|
5537
|
+
*/
|
|
5538
|
+
rangeSelectorTo: '→'
|
|
5539
|
+
};
|
|
5513
5540
|
/**
|
|
5514
|
-
*
|
|
5515
|
-
*
|
|
5516
|
-
*
|
|
5517
|
-
*
|
|
5518
|
-
*
|
|
5519
|
-
* @param {string} value
|
|
5520
|
-
* Input value to parse.
|
|
5541
|
+
* The range selector is a tool for selecting ranges to display within
|
|
5542
|
+
* the chart. It provides buttons to select preconfigured ranges in
|
|
5543
|
+
* the chart, like 1 day, 1 week, 1 month etc. It also provides input
|
|
5544
|
+
* boxes where min and max dates can be manually input.
|
|
5521
5545
|
*
|
|
5522
|
-
* @
|
|
5523
|
-
*
|
|
5546
|
+
* @product highstock gantt
|
|
5547
|
+
* @optionparent rangeSelector
|
|
5524
5548
|
*/
|
|
5525
|
-
|
|
5526
|
-
* Start Range Selector code *
|
|
5527
|
-
* ************************************************************************** */
|
|
5528
|
-
extend(defaultOptions, {
|
|
5529
|
-
/**
|
|
5530
|
-
* The range selector is a tool for selecting ranges to display within
|
|
5531
|
-
* the chart. It provides buttons to select preconfigured ranges in
|
|
5532
|
-
* the chart, like 1 day, 1 week, 1 month etc. It also provides input
|
|
5533
|
-
* boxes where min and max dates can be manually input.
|
|
5534
|
-
*
|
|
5535
|
-
* @product highstock gantt
|
|
5536
|
-
* @optionparent rangeSelector
|
|
5537
|
-
*/
|
|
5538
|
-
rangeSelector: {
|
|
5549
|
+
var rangeSelector = {
|
|
5539
5550
|
/**
|
|
5540
5551
|
* Whether to enable all buttons from the start. By default buttons are
|
|
5541
5552
|
* only enabled if the corresponding time range exists on the X axis,
|
|
@@ -5592,7 +5603,8 @@
|
|
|
5592
5603
|
buttons: void 0,
|
|
5593
5604
|
/**
|
|
5594
5605
|
* How many units of the defined type the button should span. If `type`
|
|
5595
|
-
* is "month" and `count` is 3,
|
|
5606
|
+
* is "month" and `count` is 3,
|
|
5607
|
+
the button spans three months.
|
|
5596
5608
|
*
|
|
5597
5609
|
* @type {number}
|
|
5598
5610
|
* @default 1
|
|
@@ -5600,431 +5612,770 @@
|
|
|
5600
5612
|
*/
|
|
5601
5613
|
/**
|
|
5602
5614
|
* Fires when clicking on the rangeSelector button. One parameter,
|
|
5603
|
-
* event,
|
|
5615
|
+
* event,
|
|
5616
|
+
is passed to the function,
|
|
5617
|
+
containing common event
|
|
5604
5618
|
* information.
|
|
5605
5619
|
*
|
|
5606
5620
|
* ```js
|
|
5607
5621
|
* click: function(e) {
|
|
5608
5622
|
* console.log(this);
|
|
5609
|
-
|
|
5610
|
-
|
|
5611
|
-
|
|
5612
|
-
|
|
5613
|
-
|
|
5614
|
-
|
|
5615
|
-
|
|
5616
|
-
|
|
5617
|
-
|
|
5618
|
-
|
|
5619
|
-
|
|
5620
|
-
|
|
5621
|
-
|
|
5622
|
-
|
|
5623
|
-
|
|
5624
|
-
|
|
5625
|
-
|
|
5626
|
-
|
|
5627
|
-
|
|
5628
|
-
|
|
5629
|
-
|
|
5630
|
-
|
|
5631
|
-
|
|
5632
|
-
|
|
5633
|
-
|
|
5634
|
-
|
|
5635
|
-
|
|
5636
|
-
|
|
5637
|
-
|
|
5638
|
-
|
|
5639
|
-
|
|
5640
|
-
|
|
5641
|
-
|
|
5642
|
-
|
|
5643
|
-
|
|
5644
|
-
|
|
5645
|
-
|
|
5646
|
-
|
|
5647
|
-
|
|
5648
|
-
|
|
5649
|
-
|
|
5650
|
-
|
|
5651
|
-
|
|
5652
|
-
|
|
5653
|
-
|
|
5654
|
-
|
|
5655
|
-
|
|
5656
|
-
|
|
5657
|
-
|
|
5658
|
-
|
|
5659
|
-
|
|
5660
|
-
|
|
5661
|
-
|
|
5662
|
-
|
|
5663
|
-
|
|
5664
|
-
|
|
5665
|
-
|
|
5666
|
-
|
|
5667
|
-
|
|
5668
|
-
|
|
5669
|
-
|
|
5670
|
-
|
|
5671
|
-
|
|
5672
|
-
|
|
5673
|
-
|
|
5674
|
-
|
|
5675
|
-
|
|
5676
|
-
|
|
5677
|
-
|
|
5678
|
-
|
|
5679
|
-
|
|
5680
|
-
|
|
5681
|
-
|
|
5682
|
-
|
|
5683
|
-
|
|
5684
|
-
|
|
5685
|
-
|
|
5686
|
-
|
|
5687
|
-
|
|
5688
|
-
|
|
5689
|
-
|
|
5690
|
-
|
|
5691
|
-
|
|
5692
|
-
|
|
5693
|
-
|
|
5694
|
-
|
|
5695
|
-
|
|
5696
|
-
|
|
5697
|
-
|
|
5698
|
-
|
|
5699
|
-
|
|
5700
|
-
|
|
5701
|
-
|
|
5702
|
-
|
|
5703
|
-
|
|
5704
|
-
|
|
5705
|
-
|
|
5706
|
-
|
|
5707
|
-
|
|
5708
|
-
|
|
5709
|
-
|
|
5710
|
-
|
|
5711
|
-
|
|
5712
|
-
|
|
5713
|
-
|
|
5714
|
-
|
|
5715
|
-
|
|
5716
|
-
|
|
5717
|
-
|
|
5718
|
-
|
|
5719
|
-
|
|
5720
|
-
|
|
5623
|
+
* }
|
|
5624
|
+
* ```
|
|
5625
|
+
*
|
|
5626
|
+
* Return false to stop default button's click action.
|
|
5627
|
+
*
|
|
5628
|
+
* @sample {highstock} stock/rangeselector/button-click/
|
|
5629
|
+
* Click event on the button
|
|
5630
|
+
*
|
|
5631
|
+
* @type {Highcharts.RangeSelectorClickCallbackFunction}
|
|
5632
|
+
* @apioption rangeSelector.buttons.events.click
|
|
5633
|
+
*/
|
|
5634
|
+
/**
|
|
5635
|
+
* Additional range (in milliseconds) added to the end of the calculated
|
|
5636
|
+
* time span.
|
|
5637
|
+
*
|
|
5638
|
+
* @sample {highstock} stock/rangeselector/min-max-offsets/
|
|
5639
|
+
* Button offsets
|
|
5640
|
+
*
|
|
5641
|
+
* @type {number}
|
|
5642
|
+
* @default 0
|
|
5643
|
+
* @since 6.0.0
|
|
5644
|
+
* @apioption rangeSelector.buttons.offsetMax
|
|
5645
|
+
*/
|
|
5646
|
+
/**
|
|
5647
|
+
* Additional range (in milliseconds) added to the start of the
|
|
5648
|
+
* calculated time span.
|
|
5649
|
+
*
|
|
5650
|
+
* @sample {highstock} stock/rangeselector/min-max-offsets/
|
|
5651
|
+
* Button offsets
|
|
5652
|
+
*
|
|
5653
|
+
* @type {number}
|
|
5654
|
+
* @default 0
|
|
5655
|
+
* @since 6.0.0
|
|
5656
|
+
* @apioption rangeSelector.buttons.offsetMin
|
|
5657
|
+
*/
|
|
5658
|
+
/**
|
|
5659
|
+
* When buttons apply dataGrouping on a series, by default zooming
|
|
5660
|
+
* in/out will deselect buttons and unset dataGrouping. Enable this
|
|
5661
|
+
* option to keep buttons selected when extremes change.
|
|
5662
|
+
*
|
|
5663
|
+
* @sample {highstock} stock/rangeselector/preserve-datagrouping/
|
|
5664
|
+
* Different preserveDataGrouping settings
|
|
5665
|
+
*
|
|
5666
|
+
* @type {boolean}
|
|
5667
|
+
* @default false
|
|
5668
|
+
* @since 6.1.2
|
|
5669
|
+
* @apioption rangeSelector.buttons.preserveDataGrouping
|
|
5670
|
+
*/
|
|
5671
|
+
/**
|
|
5672
|
+
* A custom data grouping object for each button.
|
|
5673
|
+
*
|
|
5674
|
+
* @see [series.dataGrouping](#plotOptions.series.dataGrouping)
|
|
5675
|
+
*
|
|
5676
|
+
* @sample {highstock} stock/rangeselector/datagrouping/
|
|
5677
|
+
* Data grouping by range selector buttons
|
|
5678
|
+
*
|
|
5679
|
+
* @type {*}
|
|
5680
|
+
* @extends plotOptions.series.dataGrouping
|
|
5681
|
+
* @apioption rangeSelector.buttons.dataGrouping
|
|
5682
|
+
*/
|
|
5683
|
+
/**
|
|
5684
|
+
* The text for the button itself.
|
|
5685
|
+
*
|
|
5686
|
+
* @type {string}
|
|
5687
|
+
* @apioption rangeSelector.buttons.text
|
|
5688
|
+
*/
|
|
5689
|
+
/**
|
|
5690
|
+
* Explanation for the button, shown as a tooltip on hover, and used by
|
|
5691
|
+
* assistive technology.
|
|
5692
|
+
*
|
|
5693
|
+
* @type {string}
|
|
5694
|
+
* @apioption rangeSelector.buttons.title
|
|
5695
|
+
*/
|
|
5696
|
+
/**
|
|
5697
|
+
* Defined the time span for the button. Can be one of `millisecond`,
|
|
5698
|
+
* `second`, `minute`, `hour`, `day`, `week`, `month`, `year`, `ytd`,
|
|
5699
|
+
* and `all`.
|
|
5700
|
+
*
|
|
5701
|
+
* @type {Highcharts.RangeSelectorButtonTypeValue}
|
|
5702
|
+
* @apioption rangeSelector.buttons.type
|
|
5703
|
+
*/
|
|
5704
|
+
/**
|
|
5705
|
+
* The space in pixels between the buttons in the range selector.
|
|
5706
|
+
*/
|
|
5707
|
+
buttonSpacing: 5,
|
|
5708
|
+
/**
|
|
5709
|
+
* Whether to collapse the range selector buttons into a dropdown when
|
|
5710
|
+
* there is not enough room to show everything in a single row, instead
|
|
5711
|
+
* of dividing the range selector into multiple rows.
|
|
5712
|
+
* Can be one of the following:
|
|
5713
|
+
* - `always`: Always collapse
|
|
5714
|
+
* - `responsive`: Only collapse when there is not enough room
|
|
5715
|
+
* - `never`: Never collapse
|
|
5716
|
+
*
|
|
5717
|
+
* @sample {highstock} stock/rangeselector/dropdown/
|
|
5718
|
+
* Dropdown option
|
|
5719
|
+
*
|
|
5720
|
+
* @validvalue ["always", "responsive", "never"]
|
|
5721
|
+
* @since 9.0.0
|
|
5722
|
+
*/
|
|
5723
|
+
dropdown: 'responsive',
|
|
5724
|
+
/**
|
|
5725
|
+
* Enable or disable the range selector. Default to `true` for stock
|
|
5726
|
+
* charts, using the `stockChart` factory.
|
|
5727
|
+
*
|
|
5728
|
+
* @sample {highstock} stock/rangeselector/enabled/
|
|
5729
|
+
* Disable the range selector
|
|
5730
|
+
*
|
|
5731
|
+
* @type {boolean|undefined}
|
|
5732
|
+
* @default {highstock} true
|
|
5733
|
+
*/
|
|
5734
|
+
enabled: void 0,
|
|
5735
|
+
/**
|
|
5736
|
+
* The vertical alignment of the rangeselector box. Allowed properties
|
|
5737
|
+
* are `top`, `middle`, `bottom`.
|
|
5738
|
+
*
|
|
5739
|
+
* @sample {highstock} stock/rangeselector/vertical-align-middle/
|
|
5740
|
+
* Middle
|
|
5741
|
+
* @sample {highstock} stock/rangeselector/vertical-align-bottom/
|
|
5742
|
+
* Bottom
|
|
5743
|
+
*
|
|
5744
|
+
* @type {Highcharts.VerticalAlignValue}
|
|
5745
|
+
* @since 6.0.0
|
|
5746
|
+
*/
|
|
5747
|
+
verticalAlign: 'top',
|
|
5748
|
+
/**
|
|
5749
|
+
* A collection of attributes for the buttons. The object takes SVG
|
|
5750
|
+
* attributes like `fill`, `stroke`, `stroke-width`, as well as `style`,
|
|
5751
|
+
* a collection of CSS properties for the text.
|
|
5752
|
+
*
|
|
5753
|
+
* The object can also be extended with states, so you can set
|
|
5754
|
+
* presentational options for `hover`, `select` or `disabled` button
|
|
5755
|
+
* states.
|
|
5756
|
+
*
|
|
5757
|
+
* CSS styles for the text label.
|
|
5758
|
+
*
|
|
5759
|
+
* In styled mode, the buttons are styled by the
|
|
5760
|
+
* `.highcharts-range-selector-buttons .highcharts-button` rule with its
|
|
5761
|
+
* different states.
|
|
5762
|
+
*
|
|
5763
|
+
* @sample {highstock} stock/rangeselector/styling/
|
|
5764
|
+
* Styling the buttons and inputs
|
|
5765
|
+
*
|
|
5766
|
+
* @type {Highcharts.SVGAttributes}
|
|
5767
|
+
*/
|
|
5768
|
+
buttonTheme: {
|
|
5769
|
+
/** @ignore */
|
|
5770
|
+
width: 28,
|
|
5771
|
+
/** @ignore */
|
|
5772
|
+
height: 18,
|
|
5773
|
+
/** @ignore */
|
|
5774
|
+
padding: 2,
|
|
5775
|
+
/** @ignore */
|
|
5776
|
+
zIndex: 7 // #484, #852
|
|
5777
|
+
},
|
|
5778
|
+
/**
|
|
5779
|
+
* When the rangeselector is floating, the plot area does not reserve
|
|
5780
|
+
* space for it. This opens for positioning anywhere on the chart.
|
|
5781
|
+
*
|
|
5782
|
+
* @sample {highstock} stock/rangeselector/floating/
|
|
5783
|
+
* Placing the range selector between the plot area and the
|
|
5784
|
+
* navigator
|
|
5785
|
+
*
|
|
5786
|
+
* @since 6.0.0
|
|
5787
|
+
*/
|
|
5788
|
+
floating: false,
|
|
5789
|
+
/**
|
|
5790
|
+
* The x offset of the range selector relative to its horizontal
|
|
5791
|
+
* alignment within `chart.spacingLeft` and `chart.spacingRight`.
|
|
5792
|
+
*
|
|
5793
|
+
* @since 6.0.0
|
|
5794
|
+
*/
|
|
5795
|
+
x: 0,
|
|
5796
|
+
/**
|
|
5797
|
+
* The y offset of the range selector relative to its horizontal
|
|
5798
|
+
* alignment within `chart.spacingLeft` and `chart.spacingRight`.
|
|
5799
|
+
*
|
|
5800
|
+
* @since 6.0.0
|
|
5801
|
+
*/
|
|
5802
|
+
y: 0,
|
|
5803
|
+
/**
|
|
5804
|
+
* Deprecated. The height of the range selector. Currently it is
|
|
5805
|
+
* calculated dynamically.
|
|
5806
|
+
*
|
|
5807
|
+
* @deprecated
|
|
5808
|
+
* @type {number|undefined}
|
|
5809
|
+
* @since 2.1.9
|
|
5810
|
+
*/
|
|
5811
|
+
height: void 0,
|
|
5812
|
+
/**
|
|
5813
|
+
* The border color of the date input boxes.
|
|
5814
|
+
*
|
|
5815
|
+
* @sample {highstock} stock/rangeselector/styling/
|
|
5816
|
+
* Styling the buttons and inputs
|
|
5817
|
+
*
|
|
5818
|
+
* @type {Highcharts.ColorString}
|
|
5819
|
+
* @since 1.3.7
|
|
5820
|
+
*/
|
|
5821
|
+
inputBoxBorderColor: 'none',
|
|
5822
|
+
/**
|
|
5823
|
+
* The pixel height of the date input boxes.
|
|
5824
|
+
*
|
|
5825
|
+
* @sample {highstock} stock/rangeselector/styling/
|
|
5826
|
+
* Styling the buttons and inputs
|
|
5827
|
+
*
|
|
5828
|
+
* @since 1.3.7
|
|
5829
|
+
*/
|
|
5830
|
+
inputBoxHeight: 17,
|
|
5831
|
+
/**
|
|
5832
|
+
* The pixel width of the date input boxes. When `undefined`, the width
|
|
5833
|
+
* is fitted to the rendered content.
|
|
5834
|
+
*
|
|
5835
|
+
* @sample {highstock} stock/rangeselector/styling/
|
|
5836
|
+
* Styling the buttons and inputs
|
|
5837
|
+
*
|
|
5838
|
+
* @type {number|undefined}
|
|
5839
|
+
* @since 1.3.7
|
|
5840
|
+
*/
|
|
5841
|
+
inputBoxWidth: void 0,
|
|
5842
|
+
/**
|
|
5843
|
+
* The date format in the input boxes when not selected for editing.
|
|
5844
|
+
* Defaults to `%b %e, %Y`.
|
|
5845
|
+
*
|
|
5846
|
+
* This is used to determine which type of input to show,
|
|
5847
|
+
* `datetime-local`, `date` or `time` and falling back to `text` when
|
|
5848
|
+
* the browser does not support the input type or the format contains
|
|
5849
|
+
* milliseconds.
|
|
5850
|
+
*
|
|
5851
|
+
* @sample {highstock} stock/rangeselector/input-type/
|
|
5852
|
+
* Input types
|
|
5853
|
+
* @sample {highstock} stock/rangeselector/input-format/
|
|
5854
|
+
* Milliseconds in the range selector
|
|
5855
|
+
*
|
|
5856
|
+
*/
|
|
5857
|
+
inputDateFormat: '%b %e, %Y',
|
|
5858
|
+
/**
|
|
5859
|
+
* A custom callback function to parse values entered in the input boxes
|
|
5860
|
+
* and return a valid JavaScript time as milliseconds since 1970.
|
|
5861
|
+
* The first argument passed is a value to parse,
|
|
5862
|
+
* second is a boolean indicating use of the UTC time.
|
|
5863
|
+
*
|
|
5864
|
+
* This will only get called for inputs of type `text`. Since v8.2.3,
|
|
5865
|
+
* the input type is dynamically determined based on the granularity
|
|
5866
|
+
* of the `inputDateFormat` and the browser support.
|
|
5867
|
+
*
|
|
5868
|
+
* @sample {highstock} stock/rangeselector/input-format/
|
|
5869
|
+
* Milliseconds in the range selector
|
|
5870
|
+
*
|
|
5871
|
+
* @type {Highcharts.RangeSelectorParseCallbackFunction}
|
|
5872
|
+
* @since 1.3.3
|
|
5873
|
+
*/
|
|
5874
|
+
inputDateParser: void 0,
|
|
5875
|
+
/**
|
|
5876
|
+
* The date format in the input boxes when they are selected for
|
|
5877
|
+
* editing. This must be a format that is recognized by JavaScript
|
|
5878
|
+
* Date.parse.
|
|
5879
|
+
*
|
|
5880
|
+
* This will only be used for inputs of type `text`. Since v8.2.3,
|
|
5881
|
+
* the input type is dynamically determined based on the granularity
|
|
5882
|
+
* of the `inputDateFormat` and the browser support.
|
|
5883
|
+
*
|
|
5884
|
+
* @sample {highstock} stock/rangeselector/input-format/
|
|
5885
|
+
* Milliseconds in the range selector
|
|
5886
|
+
*
|
|
5887
|
+
*/
|
|
5888
|
+
inputEditDateFormat: '%Y-%m-%d',
|
|
5889
|
+
/**
|
|
5890
|
+
* Enable or disable the date input boxes.
|
|
5891
|
+
*/
|
|
5892
|
+
inputEnabled: true,
|
|
5893
|
+
/**
|
|
5894
|
+
* Positioning for the input boxes. Allowed properties are `align`,
|
|
5895
|
+
* `x` and `y`.
|
|
5896
|
+
*
|
|
5897
|
+
* @since 1.2.4
|
|
5898
|
+
*/
|
|
5899
|
+
inputPosition: {
|
|
5721
5900
|
/**
|
|
5722
|
-
* The
|
|
5723
|
-
*
|
|
5901
|
+
* The alignment of the input box. Allowed properties are `left`,
|
|
5902
|
+
* `center`, `right`.
|
|
5724
5903
|
*
|
|
5725
|
-
* @sample {highstock} stock/rangeselector/
|
|
5726
|
-
*
|
|
5727
|
-
* @sample {highstock} stock/rangeselector/vertical-align-bottom/
|
|
5728
|
-
* Bottom
|
|
5904
|
+
* @sample {highstock} stock/rangeselector/input-button-position/
|
|
5905
|
+
* Alignment
|
|
5729
5906
|
*
|
|
5730
|
-
* @type {Highcharts.
|
|
5907
|
+
* @type {Highcharts.AlignValue}
|
|
5731
5908
|
* @since 6.0.0
|
|
5732
5909
|
*/
|
|
5733
|
-
|
|
5910
|
+
align: 'right',
|
|
5734
5911
|
/**
|
|
5735
|
-
*
|
|
5736
|
-
* attributes like `fill`, `stroke`, `stroke-width`, as well as `style`,
|
|
5737
|
-
* a collection of CSS properties for the text.
|
|
5738
|
-
*
|
|
5739
|
-
* The object can also be extended with states, so you can set
|
|
5740
|
-
* presentational options for `hover`, `select` or `disabled` button
|
|
5741
|
-
* states.
|
|
5742
|
-
*
|
|
5743
|
-
* CSS styles for the text label.
|
|
5744
|
-
*
|
|
5745
|
-
* In styled mode, the buttons are styled by the
|
|
5746
|
-
* `.highcharts-range-selector-buttons .highcharts-button` rule with its
|
|
5747
|
-
* different states.
|
|
5748
|
-
*
|
|
5749
|
-
* @sample {highstock} stock/rangeselector/styling/
|
|
5750
|
-
* Styling the buttons and inputs
|
|
5751
|
-
*
|
|
5752
|
-
* @type {Highcharts.SVGAttributes}
|
|
5912
|
+
* X offset of the input row.
|
|
5753
5913
|
*/
|
|
5754
|
-
|
|
5755
|
-
/** @ignore */
|
|
5756
|
-
width: 28,
|
|
5757
|
-
/** @ignore */
|
|
5758
|
-
height: 18,
|
|
5759
|
-
/** @ignore */
|
|
5760
|
-
padding: 2,
|
|
5761
|
-
/** @ignore */
|
|
5762
|
-
zIndex: 7 // #484, #852
|
|
5763
|
-
},
|
|
5914
|
+
x: 0,
|
|
5764
5915
|
/**
|
|
5765
|
-
*
|
|
5766
|
-
* space for it. This opens for positioning anywhere on the chart.
|
|
5767
|
-
*
|
|
5768
|
-
* @sample {highstock} stock/rangeselector/floating/
|
|
5769
|
-
* Placing the range selector between the plot area and the
|
|
5770
|
-
* navigator
|
|
5771
|
-
*
|
|
5772
|
-
* @since 6.0.0
|
|
5916
|
+
* Y offset of the input row.
|
|
5773
5917
|
*/
|
|
5774
|
-
|
|
5918
|
+
y: 0
|
|
5919
|
+
},
|
|
5920
|
+
/**
|
|
5921
|
+
* The space in pixels between the labels and the date input boxes in
|
|
5922
|
+
* the range selector.
|
|
5923
|
+
*
|
|
5924
|
+
* @since 9.0.0
|
|
5925
|
+
*/
|
|
5926
|
+
inputSpacing: 5,
|
|
5927
|
+
/**
|
|
5928
|
+
* The index of the button to appear pre-selected.
|
|
5929
|
+
*
|
|
5930
|
+
* @type {number}
|
|
5931
|
+
*/
|
|
5932
|
+
selected: void 0,
|
|
5933
|
+
/**
|
|
5934
|
+
* Positioning for the button row.
|
|
5935
|
+
*
|
|
5936
|
+
* @since 1.2.4
|
|
5937
|
+
*/
|
|
5938
|
+
buttonPosition: {
|
|
5775
5939
|
/**
|
|
5776
|
-
* The
|
|
5777
|
-
*
|
|
5940
|
+
* The alignment of the input box. Allowed properties are `left`,
|
|
5941
|
+
* `center`, `right`.
|
|
5778
5942
|
*
|
|
5779
|
-
* @
|
|
5780
|
-
|
|
5781
|
-
x: 0,
|
|
5782
|
-
/**
|
|
5783
|
-
* The y offset of the range selector relative to its horizontal
|
|
5784
|
-
* alignment within `chart.spacingLeft` and `chart.spacingRight`.
|
|
5943
|
+
* @sample {highstock} stock/rangeselector/input-button-position/
|
|
5944
|
+
* Alignment
|
|
5785
5945
|
*
|
|
5946
|
+
* @type {Highcharts.AlignValue}
|
|
5786
5947
|
* @since 6.0.0
|
|
5787
5948
|
*/
|
|
5788
|
-
|
|
5949
|
+
align: 'left',
|
|
5789
5950
|
/**
|
|
5790
|
-
*
|
|
5791
|
-
* calculated dynamically.
|
|
5792
|
-
*
|
|
5793
|
-
* @deprecated
|
|
5794
|
-
* @type {number|undefined}
|
|
5795
|
-
* @since 2.1.9
|
|
5951
|
+
* X offset of the button row.
|
|
5796
5952
|
*/
|
|
5797
|
-
|
|
5953
|
+
x: 0,
|
|
5798
5954
|
/**
|
|
5799
|
-
*
|
|
5800
|
-
*
|
|
5801
|
-
* @sample {highstock} stock/rangeselector/styling/
|
|
5802
|
-
* Styling the buttons and inputs
|
|
5803
|
-
*
|
|
5804
|
-
* @type {Highcharts.ColorString}
|
|
5805
|
-
* @since 1.3.7
|
|
5955
|
+
* Y offset of the button row.
|
|
5806
5956
|
*/
|
|
5807
|
-
|
|
5808
|
-
|
|
5809
|
-
|
|
5810
|
-
|
|
5811
|
-
|
|
5812
|
-
|
|
5813
|
-
|
|
5814
|
-
|
|
5815
|
-
|
|
5816
|
-
|
|
5817
|
-
|
|
5818
|
-
|
|
5819
|
-
|
|
5820
|
-
|
|
5821
|
-
|
|
5822
|
-
|
|
5823
|
-
|
|
5824
|
-
|
|
5825
|
-
|
|
5826
|
-
|
|
5827
|
-
|
|
5828
|
-
|
|
5829
|
-
|
|
5830
|
-
|
|
5831
|
-
|
|
5832
|
-
|
|
5833
|
-
|
|
5834
|
-
|
|
5835
|
-
|
|
5836
|
-
|
|
5837
|
-
|
|
5838
|
-
|
|
5839
|
-
|
|
5840
|
-
|
|
5841
|
-
|
|
5842
|
-
|
|
5843
|
-
|
|
5844
|
-
|
|
5845
|
-
|
|
5846
|
-
|
|
5847
|
-
|
|
5848
|
-
|
|
5849
|
-
|
|
5850
|
-
|
|
5851
|
-
|
|
5852
|
-
|
|
5853
|
-
|
|
5854
|
-
|
|
5855
|
-
|
|
5856
|
-
|
|
5857
|
-
|
|
5858
|
-
|
|
5859
|
-
|
|
5860
|
-
|
|
5861
|
-
|
|
5862
|
-
|
|
5863
|
-
|
|
5864
|
-
|
|
5865
|
-
|
|
5866
|
-
|
|
5867
|
-
|
|
5868
|
-
|
|
5869
|
-
|
|
5870
|
-
|
|
5871
|
-
|
|
5872
|
-
|
|
5873
|
-
|
|
5874
|
-
|
|
5875
|
-
|
|
5876
|
-
|
|
5877
|
-
|
|
5878
|
-
|
|
5879
|
-
|
|
5880
|
-
|
|
5881
|
-
|
|
5882
|
-
|
|
5883
|
-
|
|
5884
|
-
|
|
5885
|
-
|
|
5886
|
-
|
|
5887
|
-
|
|
5888
|
-
|
|
5889
|
-
|
|
5890
|
-
|
|
5891
|
-
|
|
5892
|
-
|
|
5893
|
-
|
|
5894
|
-
|
|
5895
|
-
|
|
5896
|
-
|
|
5897
|
-
|
|
5898
|
-
|
|
5899
|
-
|
|
5900
|
-
|
|
5901
|
-
|
|
5902
|
-
|
|
5903
|
-
|
|
5904
|
-
|
|
5905
|
-
|
|
5906
|
-
|
|
5907
|
-
|
|
5908
|
-
|
|
5909
|
-
|
|
5910
|
-
|
|
5911
|
-
|
|
5912
|
-
|
|
5913
|
-
|
|
5914
|
-
|
|
5915
|
-
|
|
5916
|
-
|
|
5917
|
-
|
|
5918
|
-
|
|
5919
|
-
|
|
5920
|
-
|
|
5921
|
-
|
|
5922
|
-
|
|
5923
|
-
|
|
5924
|
-
|
|
5925
|
-
|
|
5926
|
-
|
|
5927
|
-
|
|
5928
|
-
|
|
5929
|
-
|
|
5930
|
-
|
|
5931
|
-
|
|
5932
|
-
|
|
5933
|
-
|
|
5934
|
-
|
|
5935
|
-
|
|
5936
|
-
|
|
5937
|
-
|
|
5938
|
-
|
|
5939
|
-
|
|
5940
|
-
|
|
5941
|
-
|
|
5942
|
-
|
|
5943
|
-
|
|
5944
|
-
|
|
5945
|
-
|
|
5946
|
-
|
|
5947
|
-
|
|
5948
|
-
|
|
5949
|
-
|
|
5950
|
-
|
|
5951
|
-
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
|
|
5955
|
-
|
|
5956
|
-
|
|
5957
|
-
|
|
5958
|
-
|
|
5959
|
-
|
|
5960
|
-
|
|
5961
|
-
|
|
5962
|
-
|
|
5963
|
-
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
|
|
5974
|
-
|
|
5975
|
-
|
|
5976
|
-
|
|
5977
|
-
|
|
5957
|
+
y: 0
|
|
5958
|
+
},
|
|
5959
|
+
/**
|
|
5960
|
+
* CSS for the HTML inputs in the range selector.
|
|
5961
|
+
*
|
|
5962
|
+
* In styled mode, the inputs are styled by the
|
|
5963
|
+
* `.highcharts-range-input text` rule in SVG mode, and
|
|
5964
|
+
* `input.highcharts-range-selector` when active.
|
|
5965
|
+
*
|
|
5966
|
+
* @sample {highstock} stock/rangeselector/styling/
|
|
5967
|
+
* Styling the buttons and inputs
|
|
5968
|
+
*
|
|
5969
|
+
* @type {Highcharts.CSSObject}
|
|
5970
|
+
* @apioption rangeSelector.inputStyle
|
|
5971
|
+
*/
|
|
5972
|
+
inputStyle: {
|
|
5973
|
+
/** @ignore */
|
|
5974
|
+
color: "#335cad" /* Palette.highlightColor80 */,
|
|
5975
|
+
/** @ignore */
|
|
5976
|
+
cursor: 'pointer'
|
|
5977
|
+
},
|
|
5978
|
+
/**
|
|
5979
|
+
* CSS styles for the labels - the Zoom, From and To texts.
|
|
5980
|
+
*
|
|
5981
|
+
* In styled mode, the labels are styled by the
|
|
5982
|
+
* `.highcharts-range-label` class.
|
|
5983
|
+
*
|
|
5984
|
+
* @sample {highstock} stock/rangeselector/styling/
|
|
5985
|
+
* Styling the buttons and inputs
|
|
5986
|
+
*
|
|
5987
|
+
* @type {Highcharts.CSSObject}
|
|
5988
|
+
*/
|
|
5989
|
+
labelStyle: {
|
|
5990
|
+
/** @ignore */
|
|
5991
|
+
color: "#666666" /* Palette.neutralColor60 */
|
|
5992
|
+
}
|
|
5993
|
+
};
|
|
5994
|
+
/* *
|
|
5995
|
+
*
|
|
5996
|
+
* Default Export
|
|
5997
|
+
*
|
|
5998
|
+
* */
|
|
5999
|
+
var RangeSelectorDefaults = {
|
|
6000
|
+
lang: lang,
|
|
6001
|
+
rangeSelector: rangeSelector
|
|
6002
|
+
};
|
|
6003
|
+
|
|
6004
|
+
return RangeSelectorDefaults;
|
|
6005
|
+
});
|
|
6006
|
+
_registerModule(_modules, 'Stock/RangeSelector/RangeSelectorComposition.js', [_modules['Core/Defaults.js'], _modules['Stock/RangeSelector/RangeSelectorDefaults.js'], _modules['Core/Utilities.js']], function (D, RangeSelectorDefaults, U) {
|
|
6007
|
+
/* *
|
|
6008
|
+
*
|
|
6009
|
+
* (c) 2010-2021 Torstein Honsi
|
|
6010
|
+
*
|
|
6011
|
+
* License: www.highcharts.com/license
|
|
6012
|
+
*
|
|
6013
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
6014
|
+
*
|
|
6015
|
+
* */
|
|
6016
|
+
var defaultOptions = D.defaultOptions,
|
|
6017
|
+
setOptions = D.setOptions;
|
|
6018
|
+
var addEvent = U.addEvent,
|
|
6019
|
+
defined = U.defined,
|
|
6020
|
+
extend = U.extend,
|
|
6021
|
+
find = U.find,
|
|
6022
|
+
isNumber = U.isNumber,
|
|
6023
|
+
merge = U.merge,
|
|
6024
|
+
pick = U.pick;
|
|
6025
|
+
/* *
|
|
6026
|
+
*
|
|
6027
|
+
* Constants
|
|
6028
|
+
*
|
|
6029
|
+
* */
|
|
6030
|
+
var chartDestroyEvents = [];
|
|
6031
|
+
var composedMembers = [];
|
|
6032
|
+
/* *
|
|
6033
|
+
*
|
|
6034
|
+
* Variables
|
|
6035
|
+
*
|
|
6036
|
+
* */
|
|
6037
|
+
var RangeSelectorConstructor;
|
|
6038
|
+
/* *
|
|
6039
|
+
*
|
|
6040
|
+
* Functions
|
|
6041
|
+
*
|
|
6042
|
+
* */
|
|
6043
|
+
/**
|
|
6044
|
+
* Get the axis min value based on the range option and the current max. For
|
|
6045
|
+
* stock charts this is extended via the {@link RangeSelector} so that if the
|
|
6046
|
+
* selected range is a multiple of months or years, it is compensated for
|
|
6047
|
+
* various month lengths.
|
|
6048
|
+
*
|
|
6049
|
+
* @private
|
|
6050
|
+
* @function Highcharts.Axis#minFromRange
|
|
6051
|
+
* @return {number|undefined}
|
|
6052
|
+
* The new minimum value.
|
|
6053
|
+
*/
|
|
6054
|
+
function axisMinFromRange() {
|
|
6055
|
+
var rangeOptions = this.range,
|
|
6056
|
+
type = rangeOptions.type,
|
|
6057
|
+
max = this.max,
|
|
6058
|
+
time = this.chart.time,
|
|
6059
|
+
// Get the true range from a start date
|
|
6060
|
+
getTrueRange = function (base,
|
|
6061
|
+
count) {
|
|
6062
|
+
var timeName = type === 'year' ?
|
|
6063
|
+
'FullYear' : 'Month';
|
|
6064
|
+
var date = new time.Date(base);
|
|
6065
|
+
var basePeriod = time.get(timeName,
|
|
6066
|
+
date);
|
|
6067
|
+
time.set(timeName, date, basePeriod + count);
|
|
6068
|
+
if (basePeriod === time.get(timeName, date)) {
|
|
6069
|
+
time.set('Date', date, 0); // #6537
|
|
6070
|
+
}
|
|
6071
|
+
return date.getTime() - base;
|
|
6072
|
+
};
|
|
6073
|
+
var min,
|
|
6074
|
+
range;
|
|
6075
|
+
if (isNumber(rangeOptions)) {
|
|
6076
|
+
min = max - rangeOptions;
|
|
6077
|
+
range = rangeOptions;
|
|
6078
|
+
}
|
|
6079
|
+
else if (rangeOptions) {
|
|
6080
|
+
min = max + getTrueRange(max, -(rangeOptions.count || 1));
|
|
6081
|
+
// Let the fixedRange reflect initial settings (#5930)
|
|
6082
|
+
if (this.chart) {
|
|
6083
|
+
this.chart.fixedRange = max - min;
|
|
6084
|
+
}
|
|
6085
|
+
}
|
|
6086
|
+
var dataMin = pick(this.dataMin,
|
|
6087
|
+
Number.MIN_VALUE);
|
|
6088
|
+
if (!isNumber(min)) {
|
|
6089
|
+
min = dataMin;
|
|
6090
|
+
}
|
|
6091
|
+
if (min <= dataMin) {
|
|
6092
|
+
min = dataMin;
|
|
6093
|
+
if (typeof range === 'undefined') { // #4501
|
|
6094
|
+
range = getTrueRange(min, rangeOptions.count);
|
|
6095
|
+
}
|
|
6096
|
+
this.newMax = Math.min(min + range, pick(this.dataMax, Number.MAX_VALUE));
|
|
6097
|
+
}
|
|
6098
|
+
if (!isNumber(max)) {
|
|
6099
|
+
min = void 0;
|
|
6100
|
+
}
|
|
6101
|
+
else if (!isNumber(rangeOptions) &&
|
|
6102
|
+
rangeOptions &&
|
|
6103
|
+
rangeOptions._offsetMin) {
|
|
6104
|
+
min += rangeOptions._offsetMin;
|
|
6105
|
+
}
|
|
6106
|
+
return min;
|
|
6107
|
+
}
|
|
6108
|
+
/**
|
|
6109
|
+
* @private
|
|
6110
|
+
*/
|
|
6111
|
+
function compose(AxisClass, ChartClass, RangeSelectorClass) {
|
|
6112
|
+
RangeSelectorConstructor = RangeSelectorClass;
|
|
6113
|
+
if (composedMembers.indexOf(AxisClass) === -1) {
|
|
6114
|
+
composedMembers.push(AxisClass);
|
|
6115
|
+
AxisClass.prototype.minFromRange = axisMinFromRange;
|
|
6116
|
+
}
|
|
6117
|
+
if (composedMembers.indexOf(ChartClass) === -1) {
|
|
6118
|
+
composedMembers.push(ChartClass);
|
|
6119
|
+
addEvent(ChartClass, 'afterGetContainer', onChartAfterGetContainer);
|
|
6120
|
+
addEvent(ChartClass, 'beforeRender', onChartBeforeRender);
|
|
6121
|
+
addEvent(ChartClass, 'destroy', onChartDestroy);
|
|
6122
|
+
addEvent(ChartClass, 'getMargins', onChartGetMargins);
|
|
6123
|
+
addEvent(ChartClass, 'render', onChartRender);
|
|
6124
|
+
addEvent(ChartClass, 'update', onChartUpdate);
|
|
6125
|
+
var chartProto = ChartClass.prototype;
|
|
6126
|
+
chartProto.callbacks.push(onChartCallback);
|
|
6127
|
+
}
|
|
6128
|
+
if (composedMembers.indexOf(setOptions) === -1) {
|
|
6129
|
+
extend(defaultOptions, { rangeSelector: RangeSelectorDefaults.rangeSelector });
|
|
6130
|
+
extend(defaultOptions.lang, RangeSelectorDefaults.lang);
|
|
6131
|
+
}
|
|
6132
|
+
}
|
|
6133
|
+
/**
|
|
6134
|
+
* Initialize rangeselector for stock charts
|
|
6135
|
+
* @private
|
|
6136
|
+
*/
|
|
6137
|
+
function onChartAfterGetContainer() {
|
|
6138
|
+
if (this.options.rangeSelector &&
|
|
6139
|
+
this.options.rangeSelector.enabled) {
|
|
6140
|
+
this.rangeSelector = new RangeSelectorConstructor(this);
|
|
6141
|
+
}
|
|
6142
|
+
}
|
|
6143
|
+
/**
|
|
6144
|
+
* @private
|
|
6145
|
+
*/
|
|
6146
|
+
function onChartBeforeRender() {
|
|
6147
|
+
var chart = this,
|
|
6148
|
+
axes = chart.axes,
|
|
6149
|
+
rangeSelector = chart.rangeSelector;
|
|
6150
|
+
if (rangeSelector) {
|
|
6151
|
+
if (isNumber(rangeSelector.deferredYTDClick)) {
|
|
6152
|
+
rangeSelector.clickButton(rangeSelector.deferredYTDClick);
|
|
6153
|
+
delete rangeSelector.deferredYTDClick;
|
|
6154
|
+
}
|
|
6155
|
+
axes.forEach(function (axis) {
|
|
6156
|
+
axis.updateNames();
|
|
6157
|
+
axis.setScale();
|
|
6158
|
+
});
|
|
6159
|
+
chart.getAxisMargins();
|
|
6160
|
+
rangeSelector.render();
|
|
6161
|
+
var verticalAlign = rangeSelector.options.verticalAlign;
|
|
6162
|
+
if (!rangeSelector.options.floating) {
|
|
6163
|
+
if (verticalAlign === 'bottom') {
|
|
6164
|
+
this.extraBottomMargin = true;
|
|
6165
|
+
}
|
|
6166
|
+
else if (verticalAlign !== 'middle') {
|
|
6167
|
+
this.extraTopMargin = true;
|
|
6168
|
+
}
|
|
6169
|
+
}
|
|
6170
|
+
}
|
|
6171
|
+
}
|
|
6172
|
+
/**
|
|
6173
|
+
* @private
|
|
6174
|
+
*/
|
|
6175
|
+
function onChartCallback(chart) {
|
|
6176
|
+
var extremes,
|
|
6177
|
+
legend,
|
|
6178
|
+
alignTo,
|
|
6179
|
+
verticalAlign;
|
|
6180
|
+
var rangeSelector = chart.rangeSelector,
|
|
6181
|
+
redraw = function () {
|
|
6182
|
+
if (rangeSelector) {
|
|
6183
|
+
extremes = chart.xAxis[0].getExtremes();
|
|
6184
|
+
legend = chart.legend;
|
|
6185
|
+
verticalAlign = (rangeSelector &&
|
|
6186
|
+
rangeSelector.options.verticalAlign);
|
|
6187
|
+
if (isNumber(extremes.min)) {
|
|
6188
|
+
rangeSelector.render(extremes.min, extremes.max);
|
|
6189
|
+
}
|
|
6190
|
+
// Re-align the legend so that it's below the rangeselector
|
|
6191
|
+
if (legend.display &&
|
|
6192
|
+
verticalAlign === 'top' &&
|
|
6193
|
+
verticalAlign === legend.options.verticalAlign) {
|
|
6194
|
+
// Create a new alignment box for the legend.
|
|
6195
|
+
alignTo = merge(chart.spacingBox);
|
|
6196
|
+
if (legend.options.layout === 'vertical') {
|
|
6197
|
+
alignTo.y = chart.plotTop;
|
|
6198
|
+
}
|
|
6199
|
+
else {
|
|
6200
|
+
alignTo.y += rangeSelector.getHeight();
|
|
6201
|
+
}
|
|
6202
|
+
legend.group.placed = false; // Don't animate the alignment.
|
|
6203
|
+
legend.align(alignTo);
|
|
6204
|
+
}
|
|
6205
|
+
}
|
|
6206
|
+
};
|
|
6207
|
+
if (rangeSelector) {
|
|
6208
|
+
var events = find(chartDestroyEvents,
|
|
6209
|
+
function (e) { return e[0] === chart; });
|
|
6210
|
+
if (!events) {
|
|
6211
|
+
chartDestroyEvents.push([chart, [
|
|
6212
|
+
// redraw the scroller on setExtremes
|
|
6213
|
+
addEvent(chart.xAxis[0], 'afterSetExtremes', function (e) {
|
|
6214
|
+
if (rangeSelector) {
|
|
6215
|
+
rangeSelector.render(e.min, e.max);
|
|
6216
|
+
}
|
|
6217
|
+
}),
|
|
6218
|
+
// redraw the scroller chart resize
|
|
6219
|
+
addEvent(chart, 'redraw', redraw)
|
|
6220
|
+
]]);
|
|
6221
|
+
}
|
|
6222
|
+
// do it now
|
|
6223
|
+
redraw();
|
|
6224
|
+
}
|
|
6225
|
+
}
|
|
6226
|
+
/**
|
|
6227
|
+
* Remove resize/afterSetExtremes at chart destroy.
|
|
6228
|
+
* @private
|
|
6229
|
+
*/
|
|
6230
|
+
function onChartDestroy() {
|
|
6231
|
+
for (var i = 0, iEnd = chartDestroyEvents.length; i < iEnd; ++i) {
|
|
6232
|
+
var events = chartDestroyEvents[i];
|
|
6233
|
+
if (events[0] === this) {
|
|
6234
|
+
events[1].forEach(function (unbind) { return unbind(); });
|
|
6235
|
+
chartDestroyEvents.splice(i, 1);
|
|
6236
|
+
return;
|
|
6237
|
+
}
|
|
6238
|
+
}
|
|
6239
|
+
}
|
|
6240
|
+
function onChartGetMargins() {
|
|
6241
|
+
var rangeSelector = this.rangeSelector;
|
|
6242
|
+
if (rangeSelector) {
|
|
6243
|
+
var rangeSelectorHeight = rangeSelector.getHeight();
|
|
6244
|
+
if (this.extraTopMargin) {
|
|
6245
|
+
this.plotTop += rangeSelectorHeight;
|
|
5978
6246
|
}
|
|
6247
|
+
if (this.extraBottomMargin) {
|
|
6248
|
+
this.marginBottom += rangeSelectorHeight;
|
|
6249
|
+
}
|
|
6250
|
+
}
|
|
6251
|
+
}
|
|
6252
|
+
/**
|
|
6253
|
+
* @private
|
|
6254
|
+
*/
|
|
6255
|
+
function onChartRender() {
|
|
6256
|
+
var chart = this,
|
|
6257
|
+
rangeSelector = chart.rangeSelector;
|
|
6258
|
+
if (rangeSelector && !rangeSelector.options.floating) {
|
|
6259
|
+
rangeSelector.render();
|
|
6260
|
+
var verticalAlign = rangeSelector.options.verticalAlign;
|
|
6261
|
+
if (verticalAlign === 'bottom') {
|
|
6262
|
+
this.extraBottomMargin = true;
|
|
6263
|
+
}
|
|
6264
|
+
else if (verticalAlign !== 'middle') {
|
|
6265
|
+
this.extraTopMargin = true;
|
|
6266
|
+
}
|
|
6267
|
+
}
|
|
6268
|
+
}
|
|
6269
|
+
/**
|
|
6270
|
+
* @private
|
|
6271
|
+
*/
|
|
6272
|
+
function onChartUpdate(e) {
|
|
6273
|
+
var chart = this,
|
|
6274
|
+
options = e.options,
|
|
6275
|
+
optionsRangeSelector = options.rangeSelector,
|
|
6276
|
+
extraBottomMarginWas = this.extraBottomMargin,
|
|
6277
|
+
extraTopMarginWas = this.extraTopMargin;
|
|
6278
|
+
var rangeSelector = chart.rangeSelector;
|
|
6279
|
+
if (optionsRangeSelector &&
|
|
6280
|
+
optionsRangeSelector.enabled &&
|
|
6281
|
+
!defined(rangeSelector) &&
|
|
6282
|
+
this.options.rangeSelector) {
|
|
6283
|
+
this.options.rangeSelector.enabled = true;
|
|
6284
|
+
this.rangeSelector = rangeSelector = new RangeSelectorConstructor(this);
|
|
6285
|
+
}
|
|
6286
|
+
this.extraBottomMargin = false;
|
|
6287
|
+
this.extraTopMargin = false;
|
|
6288
|
+
if (rangeSelector) {
|
|
6289
|
+
onChartCallback(this);
|
|
6290
|
+
var verticalAlign = (optionsRangeSelector &&
|
|
6291
|
+
optionsRangeSelector.verticalAlign) || (rangeSelector.options && rangeSelector.options.verticalAlign);
|
|
6292
|
+
if (!rangeSelector.options.floating) {
|
|
6293
|
+
if (verticalAlign === 'bottom') {
|
|
6294
|
+
this.extraBottomMargin = true;
|
|
6295
|
+
}
|
|
6296
|
+
else if (verticalAlign !== 'middle') {
|
|
6297
|
+
this.extraTopMargin = true;
|
|
6298
|
+
}
|
|
6299
|
+
}
|
|
6300
|
+
if (this.extraBottomMargin !== extraBottomMarginWas ||
|
|
6301
|
+
this.extraTopMargin !== extraTopMarginWas) {
|
|
6302
|
+
this.isDirtyBox = true;
|
|
6303
|
+
}
|
|
6304
|
+
}
|
|
6305
|
+
}
|
|
6306
|
+
/* *
|
|
6307
|
+
*
|
|
6308
|
+
* Default Export
|
|
6309
|
+
*
|
|
6310
|
+
* */
|
|
6311
|
+
var RangeSelectorComposition = {
|
|
6312
|
+
compose: compose
|
|
6313
|
+
};
|
|
6314
|
+
|
|
6315
|
+
return RangeSelectorComposition;
|
|
6316
|
+
});
|
|
6317
|
+
_registerModule(_modules, 'Stock/RangeSelector/RangeSelector.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Defaults.js'], _modules['Core/Globals.js'], _modules['Stock/RangeSelector/RangeSelectorComposition.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Utilities.js']], function (Axis, D, H, RangeSelectorComposition, SVGElement, U) {
|
|
6318
|
+
/* *
|
|
6319
|
+
*
|
|
6320
|
+
* (c) 2010-2021 Torstein Honsi
|
|
6321
|
+
*
|
|
6322
|
+
* License: www.highcharts.com/license
|
|
6323
|
+
*
|
|
6324
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
6325
|
+
*
|
|
6326
|
+
* */
|
|
6327
|
+
var defaultOptions = D.defaultOptions;
|
|
6328
|
+
var addEvent = U.addEvent,
|
|
6329
|
+
createElement = U.createElement,
|
|
6330
|
+
css = U.css,
|
|
6331
|
+
defined = U.defined,
|
|
6332
|
+
destroyObjectProperties = U.destroyObjectProperties,
|
|
6333
|
+
discardElement = U.discardElement,
|
|
6334
|
+
extend = U.extend,
|
|
6335
|
+
fireEvent = U.fireEvent,
|
|
6336
|
+
isNumber = U.isNumber,
|
|
6337
|
+
merge = U.merge,
|
|
6338
|
+
objectEach = U.objectEach,
|
|
6339
|
+
pad = U.pad,
|
|
6340
|
+
pick = U.pick,
|
|
6341
|
+
pInt = U.pInt,
|
|
6342
|
+
splat = U.splat;
|
|
6343
|
+
/* *
|
|
6344
|
+
*
|
|
6345
|
+
* Functions
|
|
6346
|
+
*
|
|
6347
|
+
* */
|
|
6348
|
+
/**
|
|
6349
|
+
* Get the preferred input type based on a date format string.
|
|
6350
|
+
*
|
|
6351
|
+
* @private
|
|
6352
|
+
* @function preferredInputType
|
|
6353
|
+
*/
|
|
6354
|
+
function preferredInputType(format) {
|
|
6355
|
+
var ms = format.indexOf('%L') !== -1;
|
|
6356
|
+
if (ms) {
|
|
6357
|
+
return 'text';
|
|
6358
|
+
}
|
|
6359
|
+
var date = ['a', 'A', 'd', 'e', 'w', 'b', 'B', 'm', 'o', 'y', 'Y']
|
|
6360
|
+
.some(function (char) { return format.indexOf('%' + char) !== -1; });
|
|
6361
|
+
var time = ['H', 'k', 'I', 'l', 'M', 'S']
|
|
6362
|
+
.some(function (char) { return format.indexOf('%' + char) !== -1; });
|
|
6363
|
+
if (date && time) {
|
|
6364
|
+
return 'datetime-local';
|
|
5979
6365
|
}
|
|
5980
|
-
|
|
5981
|
-
|
|
5982
|
-
|
|
5983
|
-
|
|
5984
|
-
|
|
5985
|
-
|
|
6366
|
+
if (date) {
|
|
6367
|
+
return 'date';
|
|
6368
|
+
}
|
|
6369
|
+
if (time) {
|
|
6370
|
+
return 'time';
|
|
6371
|
+
}
|
|
6372
|
+
return 'text';
|
|
6373
|
+
}
|
|
6374
|
+
/* *
|
|
5986
6375
|
*
|
|
5987
|
-
*
|
|
5988
|
-
* Highcharts.setOptions({
|
|
5989
|
-
* lang: {
|
|
5990
|
-
* months: [
|
|
5991
|
-
* 'Janvier', 'Février', 'Mars', 'Avril',
|
|
5992
|
-
* 'Mai', 'Juin', 'Juillet', 'Août',
|
|
5993
|
-
* 'Septembre', 'Octobre', 'Novembre', 'Décembre'
|
|
5994
|
-
* ],
|
|
5995
|
-
* weekdays: [
|
|
5996
|
-
* 'Dimanche', 'Lundi', 'Mardi', 'Mercredi',
|
|
5997
|
-
* 'Jeudi', 'Vendredi', 'Samedi'
|
|
5998
|
-
* ]
|
|
5999
|
-
* }
|
|
6000
|
-
* });
|
|
6001
|
-
* ```
|
|
6376
|
+
* Class
|
|
6002
6377
|
*
|
|
6003
|
-
*
|
|
6004
|
-
*/
|
|
6005
|
-
{
|
|
6006
|
-
/**
|
|
6007
|
-
* The text for the label for the range selector buttons.
|
|
6008
|
-
*
|
|
6009
|
-
* @product highstock gantt
|
|
6010
|
-
*/
|
|
6011
|
-
rangeSelectorZoom: 'Zoom',
|
|
6012
|
-
/**
|
|
6013
|
-
* The text for the label for the "from" input box in the range
|
|
6014
|
-
* selector. Since v9.0, this string is empty as the label is not
|
|
6015
|
-
* rendered by default.
|
|
6016
|
-
*
|
|
6017
|
-
* @product highstock gantt
|
|
6018
|
-
*/
|
|
6019
|
-
rangeSelectorFrom: '',
|
|
6020
|
-
/**
|
|
6021
|
-
* The text for the label for the "to" input box in the range selector.
|
|
6022
|
-
*
|
|
6023
|
-
* @product highstock gantt
|
|
6024
|
-
*/
|
|
6025
|
-
rangeSelectorTo: '→'
|
|
6026
|
-
});
|
|
6027
|
-
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
6378
|
+
* */
|
|
6028
6379
|
/**
|
|
6029
6380
|
* The range selector.
|
|
6030
6381
|
*
|
|
@@ -6034,10 +6385,15 @@
|
|
|
6034
6385
|
* @param {Highcharts.Chart} chart
|
|
6035
6386
|
*/
|
|
6036
6387
|
var RangeSelector = /** @class */ (function () {
|
|
6388
|
+
/* *
|
|
6389
|
+
*
|
|
6390
|
+
* Constructor
|
|
6391
|
+
*
|
|
6392
|
+
* */
|
|
6037
6393
|
function RangeSelector(chart) {
|
|
6038
6394
|
/* *
|
|
6039
6395
|
*
|
|
6040
|
-
*
|
|
6396
|
+
* Properties
|
|
6041
6397
|
*
|
|
6042
6398
|
* */
|
|
6043
6399
|
this.buttons = void 0;
|
|
@@ -6045,9 +6401,24 @@
|
|
|
6045
6401
|
this.initialButtonGroupWidth = 0;
|
|
6046
6402
|
this.options = void 0;
|
|
6047
6403
|
this.chart = chart;
|
|
6048
|
-
// Run RangeSelector
|
|
6049
6404
|
this.init(chart);
|
|
6050
6405
|
}
|
|
6406
|
+
/* *
|
|
6407
|
+
*
|
|
6408
|
+
* Static Functions
|
|
6409
|
+
*
|
|
6410
|
+
* */
|
|
6411
|
+
/**
|
|
6412
|
+
* @private
|
|
6413
|
+
*/
|
|
6414
|
+
RangeSelector.compose = function (AxisClass, ChartClass) {
|
|
6415
|
+
RangeSelectorComposition.compose(AxisClass, ChartClass, RangeSelector);
|
|
6416
|
+
};
|
|
6417
|
+
/* *
|
|
6418
|
+
*
|
|
6419
|
+
* Functions
|
|
6420
|
+
*
|
|
6421
|
+
* */
|
|
6051
6422
|
/**
|
|
6052
6423
|
* The method to run when one of the buttons in the range selectors is
|
|
6053
6424
|
* clicked
|
|
@@ -6064,13 +6435,14 @@
|
|
|
6064
6435
|
rangeOptions = rangeSelector.buttonOptions[i],
|
|
6065
6436
|
baseAxis = chart.xAxis[0],
|
|
6066
6437
|
unionExtremes = (chart.scroller && chart.scroller.getUnionExtremes()) || baseAxis || {},
|
|
6067
|
-
|
|
6438
|
+
type = rangeOptions.type,
|
|
6439
|
+
dataGrouping = rangeOptions.dataGrouping;
|
|
6440
|
+
var dataMin = unionExtremes.dataMin,
|
|
6068
6441
|
dataMax = unionExtremes.dataMax,
|
|
6069
6442
|
newMin,
|
|
6070
6443
|
newMax = baseAxis && Math.round(Math.min(baseAxis.max,
|
|
6071
6444
|
pick(dataMax,
|
|
6072
6445
|
baseAxis.max))), // #1568
|
|
6073
|
-
type = rangeOptions.type,
|
|
6074
6446
|
baseXAxisOptions,
|
|
6075
6447
|
range = rangeOptions._range,
|
|
6076
6448
|
rangeMin,
|
|
@@ -6078,7 +6450,6 @@
|
|
|
6078
6450
|
rangeSetting,
|
|
6079
6451
|
ctx,
|
|
6080
6452
|
ytdExtremes,
|
|
6081
|
-
dataGrouping = rangeOptions.dataGrouping,
|
|
6082
6453
|
addOffsetMin = true;
|
|
6083
6454
|
// chart has no data, base series is removed
|
|
6084
6455
|
if (dataMin === null || dataMax === null) {
|
|
@@ -6290,17 +6661,14 @@
|
|
|
6290
6661
|
ytdMin = ytdExtremes.min,
|
|
6291
6662
|
ytdMax = ytdExtremes.max,
|
|
6292
6663
|
selected = rangeSelector.selected,
|
|
6293
|
-
selectedExists = isNumber(selected),
|
|
6294
6664
|
allButtonsEnabled = rangeSelector.options.allButtonsEnabled,
|
|
6295
6665
|
buttons = rangeSelector.buttons;
|
|
6666
|
+
var selectedExists = isNumber(selected);
|
|
6296
6667
|
rangeSelector.buttonOptions.forEach(function (rangeOptions, i) {
|
|
6297
6668
|
var range = rangeOptions._range,
|
|
6298
6669
|
type = rangeOptions.type,
|
|
6299
6670
|
count = rangeOptions.count || 1,
|
|
6300
6671
|
button = buttons[i],
|
|
6301
|
-
state = 0,
|
|
6302
|
-
disable,
|
|
6303
|
-
select,
|
|
6304
6672
|
offsetRange = rangeOptions._offsetMax -
|
|
6305
6673
|
rangeOptions._offsetMin,
|
|
6306
6674
|
isSelected = i === selected,
|
|
@@ -6310,7 +6678,8 @@
|
|
|
6310
6678
|
dataMax - dataMin,
|
|
6311
6679
|
// Disable buttons where the range is smaller than the minimum
|
|
6312
6680
|
// range
|
|
6313
|
-
isTooSmallRange = range < baseAxis.minRange
|
|
6681
|
+
isTooSmallRange = range < baseAxis.minRange;
|
|
6682
|
+
var state = 0,
|
|
6314
6683
|
// Do not select the YTD button if not explicitly told so
|
|
6315
6684
|
isYTDButNotSelected = false,
|
|
6316
6685
|
// Disable the All button if we're already showing all
|
|
@@ -6339,14 +6708,14 @@
|
|
|
6339
6708
|
// it selected. This happens when scrolling across an ordinal gap.
|
|
6340
6709
|
// It can be seen in the intraday demos when selecting 1h and scroll
|
|
6341
6710
|
// across the night gap.
|
|
6342
|
-
disable = (!allButtonsEnabled &&
|
|
6343
|
-
|
|
6344
|
-
|
|
6345
|
-
|
|
6346
|
-
|
|
6347
|
-
select = ((isSelected && isSameRange) ||
|
|
6348
|
-
|
|
6349
|
-
|
|
6711
|
+
var disable = (!allButtonsEnabled &&
|
|
6712
|
+
(isTooGreatRange ||
|
|
6713
|
+
isTooSmallRange ||
|
|
6714
|
+
isAllButAlreadyShowingAll ||
|
|
6715
|
+
hasNoData));
|
|
6716
|
+
var select = ((isSelected && isSameRange) ||
|
|
6717
|
+
(isSameRange && !selectedExists && !isYTDButNotSelected) ||
|
|
6718
|
+
(isSelected && rangeSelector.frozenStates));
|
|
6350
6719
|
if (disable) {
|
|
6351
6720
|
state = 3;
|
|
6352
6721
|
}
|
|
@@ -6585,15 +6954,15 @@
|
|
|
6585
6954
|
* @private
|
|
6586
6955
|
*/
|
|
6587
6956
|
function updateExtremes() {
|
|
6588
|
-
var
|
|
6957
|
+
var maxInput = rangeSelector.maxInput,
|
|
6958
|
+
minInput = rangeSelector.minInput,
|
|
6589
6959
|
chartAxis = chart.xAxis[0],
|
|
6590
6960
|
dataAxis = chart.scroller && chart.scroller.xAxis ?
|
|
6591
6961
|
chart.scroller.xAxis :
|
|
6592
6962
|
chartAxis,
|
|
6593
6963
|
dataMin = dataAxis.dataMin,
|
|
6594
6964
|
dataMax = dataAxis.dataMax;
|
|
6595
|
-
var
|
|
6596
|
-
minInput = rangeSelector.minInput;
|
|
6965
|
+
var value = rangeSelector.getInputValue(name);
|
|
6597
6966
|
if (value !== Number(input.getAttribute('data-hc-time-previous')) &&
|
|
6598
6967
|
isNumber(value)) {
|
|
6599
6968
|
input.setAttribute('data-hc-time-previous', value);
|
|
@@ -6761,15 +7130,15 @@
|
|
|
6761
7130
|
*/
|
|
6762
7131
|
RangeSelector.prototype.getYTDExtremes = function (dataMax, dataMin, useUTC) {
|
|
6763
7132
|
var time = this.chart.time,
|
|
6764
|
-
min,
|
|
6765
7133
|
now = new time.Date(dataMax),
|
|
6766
7134
|
year = time.get('FullYear',
|
|
6767
7135
|
now),
|
|
6768
7136
|
startOfYear = useUTC ?
|
|
6769
7137
|
time.Date.UTC(year, 0, 1) : // eslint-disable-line new-cap
|
|
6770
|
-
+new time.Date(year, 0, 1)
|
|
6771
|
-
|
|
6772
|
-
|
|
7138
|
+
+new time.Date(year, 0, 1),
|
|
7139
|
+
min = Math.max(dataMin,
|
|
7140
|
+
startOfYear),
|
|
7141
|
+
ts = now.getTime();
|
|
6773
7142
|
return {
|
|
6774
7143
|
max: Math.min(dataMax || ts, ts),
|
|
6775
7144
|
min: min
|
|
@@ -6946,9 +7315,8 @@
|
|
|
6946
7315
|
buttons[i] = renderer
|
|
6947
7316
|
.button(rangeOptions.text, 0, 0, function (e) {
|
|
6948
7317
|
// extract events from button object and call
|
|
6949
|
-
var buttonEvents = (rangeOptions.events &&
|
|
6950
|
-
|
|
6951
|
-
callDefaultEvent;
|
|
7318
|
+
var buttonEvents = (rangeOptions.events && rangeOptions.events.click);
|
|
7319
|
+
var callDefaultEvent;
|
|
6952
7320
|
if (buttonEvents) {
|
|
6953
7321
|
callDefaultEvent =
|
|
6954
7322
|
buttonEvents.call(rangeOptions, e);
|
|
@@ -7177,7 +7545,7 @@
|
|
|
7177
7545
|
buttonLeft += buttonPosition.x +
|
|
7178
7546
|
zoomText.getBBox().width + 5;
|
|
7179
7547
|
}
|
|
7180
|
-
this.buttonOptions.
|
|
7548
|
+
for (var i = 0, iEnd = this.buttonOptions.length; i < iEnd; ++i) {
|
|
7181
7549
|
if (buttons[i].visibility !== 'hidden') {
|
|
7182
7550
|
buttons[i][verb]({ x: buttonLeft });
|
|
7183
7551
|
// increase button position for the next button
|
|
@@ -7186,7 +7554,7 @@
|
|
|
7186
7554
|
else {
|
|
7187
7555
|
buttons[i][verb]({ x: plotLeft });
|
|
7188
7556
|
}
|
|
7189
|
-
}
|
|
7557
|
+
}
|
|
7190
7558
|
};
|
|
7191
7559
|
/**
|
|
7192
7560
|
* Handle collision between the button group and the input group
|
|
@@ -7445,9 +7813,8 @@
|
|
|
7445
7813
|
buttonPosition = options.buttonPosition,
|
|
7446
7814
|
yPosition = options.y,
|
|
7447
7815
|
buttonPositionY = buttonPosition.y,
|
|
7448
|
-
inputPositionY = inputPosition.y
|
|
7449
|
-
|
|
7450
|
-
minPosition;
|
|
7816
|
+
inputPositionY = inputPosition.y;
|
|
7817
|
+
var rangeSelectorHeight = 0;
|
|
7451
7818
|
if (options.height) {
|
|
7452
7819
|
return options.height;
|
|
7453
7820
|
}
|
|
@@ -7459,7 +7826,8 @@
|
|
|
7459
7826
|
(rangeSelectorGroup.getBBox(true).height) + 13 +
|
|
7460
7827
|
yPosition :
|
|
7461
7828
|
0;
|
|
7462
|
-
minPosition = Math.min(inputPositionY,
|
|
7829
|
+
var minPosition = Math.min(inputPositionY,
|
|
7830
|
+
buttonPositionY);
|
|
7463
7831
|
if ((inputPositionY < 0 && buttonPositionY < 0) ||
|
|
7464
7832
|
(inputPositionY > 0 && buttonPositionY > 0)) {
|
|
7465
7833
|
rangeSelectorHeight += Math.abs(minPosition);
|
|
@@ -7534,309 +7902,93 @@
|
|
|
7534
7902
|
};
|
|
7535
7903
|
return RangeSelector;
|
|
7536
7904
|
}());
|
|
7905
|
+
extend(RangeSelector.prototype, {
|
|
7906
|
+
/**
|
|
7907
|
+
* The default buttons for pre-selecting time frames.
|
|
7908
|
+
* @private
|
|
7909
|
+
*/
|
|
7910
|
+
defaultButtons: [{
|
|
7911
|
+
type: 'month',
|
|
7912
|
+
count: 1,
|
|
7913
|
+
text: '1m',
|
|
7914
|
+
title: 'View 1 month'
|
|
7915
|
+
}, {
|
|
7916
|
+
type: 'month',
|
|
7917
|
+
count: 3,
|
|
7918
|
+
text: '3m',
|
|
7919
|
+
title: 'View 3 months'
|
|
7920
|
+
}, {
|
|
7921
|
+
type: 'month',
|
|
7922
|
+
count: 6,
|
|
7923
|
+
text: '6m',
|
|
7924
|
+
title: 'View 6 months'
|
|
7925
|
+
}, {
|
|
7926
|
+
type: 'ytd',
|
|
7927
|
+
text: 'YTD',
|
|
7928
|
+
title: 'View year to date'
|
|
7929
|
+
}, {
|
|
7930
|
+
type: 'year',
|
|
7931
|
+
count: 1,
|
|
7932
|
+
text: '1y',
|
|
7933
|
+
title: 'View 1 year'
|
|
7934
|
+
}, {
|
|
7935
|
+
type: 'all',
|
|
7936
|
+
text: 'All',
|
|
7937
|
+
title: 'View all'
|
|
7938
|
+
}],
|
|
7939
|
+
/**
|
|
7940
|
+
* The date formats to use when setting min, max and value on date inputs.
|
|
7941
|
+
* @private
|
|
7942
|
+
*/
|
|
7943
|
+
inputTypeFormats: {
|
|
7944
|
+
'datetime-local': '%Y-%m-%dT%H:%M:%S',
|
|
7945
|
+
'date': '%Y-%m-%d',
|
|
7946
|
+
'time': '%H:%M:%S'
|
|
7947
|
+
}
|
|
7948
|
+
});
|
|
7949
|
+
/* *
|
|
7950
|
+
*
|
|
7951
|
+
* Default Export
|
|
7952
|
+
*
|
|
7953
|
+
* */
|
|
7954
|
+
/* *
|
|
7955
|
+
*
|
|
7956
|
+
* API Options
|
|
7957
|
+
*
|
|
7958
|
+
* */
|
|
7537
7959
|
/**
|
|
7538
|
-
*
|
|
7539
|
-
|
|
7540
|
-
|
|
7541
|
-
|
|
7542
|
-
count: 1,
|
|
7543
|
-
text: '1m',
|
|
7544
|
-
title: 'View 1 month'
|
|
7545
|
-
}, {
|
|
7546
|
-
type: 'month',
|
|
7547
|
-
count: 3,
|
|
7548
|
-
text: '3m',
|
|
7549
|
-
title: 'View 3 months'
|
|
7550
|
-
}, {
|
|
7551
|
-
type: 'month',
|
|
7552
|
-
count: 6,
|
|
7553
|
-
text: '6m',
|
|
7554
|
-
title: 'View 6 months'
|
|
7555
|
-
}, {
|
|
7556
|
-
type: 'ytd',
|
|
7557
|
-
text: 'YTD',
|
|
7558
|
-
title: 'View year to date'
|
|
7559
|
-
}, {
|
|
7560
|
-
type: 'year',
|
|
7561
|
-
count: 1,
|
|
7562
|
-
text: '1y',
|
|
7563
|
-
title: 'View 1 year'
|
|
7564
|
-
}, {
|
|
7565
|
-
type: 'all',
|
|
7566
|
-
text: 'All',
|
|
7567
|
-
title: 'View all'
|
|
7568
|
-
}];
|
|
7569
|
-
/**
|
|
7570
|
-
* The date formats to use when setting min, max and value on date inputs
|
|
7571
|
-
*/
|
|
7572
|
-
RangeSelector.prototype.inputTypeFormats = {
|
|
7573
|
-
'datetime-local': '%Y-%m-%dT%H:%M:%S',
|
|
7574
|
-
'date': '%Y-%m-%d',
|
|
7575
|
-
'time': '%H:%M:%S'
|
|
7576
|
-
};
|
|
7960
|
+
* Define the time span for the button
|
|
7961
|
+
*
|
|
7962
|
+
* @typedef {"all"|"day"|"hour"|"millisecond"|"minute"|"month"|"second"|"week"|"year"|"ytd"} Highcharts.RangeSelectorButtonTypeValue
|
|
7963
|
+
*/
|
|
7577
7964
|
/**
|
|
7578
|
-
*
|
|
7965
|
+
* Callback function to react on button clicks.
|
|
7579
7966
|
*
|
|
7580
|
-
* @
|
|
7581
|
-
*
|
|
7967
|
+
* @callback Highcharts.RangeSelectorClickCallbackFunction
|
|
7968
|
+
*
|
|
7969
|
+
* @param {global.Event} e
|
|
7970
|
+
* Event arguments.
|
|
7971
|
+
*
|
|
7972
|
+
* @param {boolean|undefined}
|
|
7973
|
+
* Return false to cancel the default button event.
|
|
7582
7974
|
*/
|
|
7583
|
-
function preferredInputType(format) {
|
|
7584
|
-
var ms = format.indexOf('%L') !== -1;
|
|
7585
|
-
if (ms) {
|
|
7586
|
-
return 'text';
|
|
7587
|
-
}
|
|
7588
|
-
var date = ['a', 'A', 'd', 'e', 'w', 'b', 'B', 'm', 'o', 'y', 'Y']
|
|
7589
|
-
.some(function (char) { return format.indexOf('%' + char) !== -1; });
|
|
7590
|
-
var time = ['H', 'k', 'I', 'l', 'M', 'S'].some(function (char) {
|
|
7591
|
-
return format.indexOf('%' + char) !== -1;
|
|
7592
|
-
});
|
|
7593
|
-
if (date && time) {
|
|
7594
|
-
return 'datetime-local';
|
|
7595
|
-
}
|
|
7596
|
-
if (date) {
|
|
7597
|
-
return 'date';
|
|
7598
|
-
}
|
|
7599
|
-
if (time) {
|
|
7600
|
-
return 'time';
|
|
7601
|
-
}
|
|
7602
|
-
return 'text';
|
|
7603
|
-
}
|
|
7604
7975
|
/**
|
|
7605
|
-
*
|
|
7606
|
-
*
|
|
7607
|
-
* selected range is a multiple of months or years, it is compensated for
|
|
7608
|
-
* various month lengths.
|
|
7976
|
+
* Callback function to parse values entered in the input boxes and return a
|
|
7977
|
+
* valid JavaScript time as milliseconds since 1970.
|
|
7609
7978
|
*
|
|
7610
|
-
* @
|
|
7611
|
-
*
|
|
7612
|
-
* @
|
|
7613
|
-
*
|
|
7979
|
+
* @callback Highcharts.RangeSelectorParseCallbackFunction
|
|
7980
|
+
*
|
|
7981
|
+
* @param {string} value
|
|
7982
|
+
* Input value to parse.
|
|
7983
|
+
*
|
|
7984
|
+
* @return {number}
|
|
7985
|
+
* Parsed JavaScript time value.
|
|
7614
7986
|
*/
|
|
7615
|
-
|
|
7616
|
-
var rangeOptions = this.range,
|
|
7617
|
-
type = rangeOptions.type,
|
|
7618
|
-
min,
|
|
7619
|
-
max = this.max,
|
|
7620
|
-
dataMin,
|
|
7621
|
-
range,
|
|
7622
|
-
time = this.chart.time,
|
|
7623
|
-
// Get the true range from a start date
|
|
7624
|
-
getTrueRange = function (base,
|
|
7625
|
-
count) {
|
|
7626
|
-
var timeName = type === 'year' ?
|
|
7627
|
-
'FullYear' : 'Month';
|
|
7628
|
-
var date = new time.Date(base);
|
|
7629
|
-
var basePeriod = time.get(timeName,
|
|
7630
|
-
date);
|
|
7631
|
-
time.set(timeName, date, basePeriod + count);
|
|
7632
|
-
if (basePeriod === time.get(timeName, date)) {
|
|
7633
|
-
time.set('Date', date, 0); // #6537
|
|
7634
|
-
}
|
|
7635
|
-
return date.getTime() - base;
|
|
7636
|
-
};
|
|
7637
|
-
if (isNumber(rangeOptions)) {
|
|
7638
|
-
min = max - rangeOptions;
|
|
7639
|
-
range = rangeOptions;
|
|
7640
|
-
}
|
|
7641
|
-
else if (rangeOptions) {
|
|
7642
|
-
min = max + getTrueRange(max, -(rangeOptions.count || 1));
|
|
7643
|
-
// Let the fixedRange reflect initial settings (#5930)
|
|
7644
|
-
if (this.chart) {
|
|
7645
|
-
this.chart.fixedRange = max - min;
|
|
7646
|
-
}
|
|
7647
|
-
}
|
|
7648
|
-
dataMin = pick(this.dataMin, Number.MIN_VALUE);
|
|
7649
|
-
if (!isNumber(min)) {
|
|
7650
|
-
min = dataMin;
|
|
7651
|
-
}
|
|
7652
|
-
if (min <= dataMin) {
|
|
7653
|
-
min = dataMin;
|
|
7654
|
-
if (typeof range === 'undefined') { // #4501
|
|
7655
|
-
range = getTrueRange(min, rangeOptions.count);
|
|
7656
|
-
}
|
|
7657
|
-
this.newMax = Math.min(min + range, pick(this.dataMax, Number.MAX_VALUE));
|
|
7658
|
-
}
|
|
7659
|
-
if (!isNumber(max)) {
|
|
7660
|
-
min = void 0;
|
|
7661
|
-
}
|
|
7662
|
-
else if (!isNumber(rangeOptions) &&
|
|
7663
|
-
rangeOptions &&
|
|
7664
|
-
rangeOptions._offsetMin) {
|
|
7665
|
-
min += rangeOptions._offsetMin;
|
|
7666
|
-
}
|
|
7667
|
-
return min;
|
|
7668
|
-
};
|
|
7669
|
-
if (!H.RangeSelector) {
|
|
7670
|
-
var chartDestroyEvents_1 = [];
|
|
7671
|
-
var initRangeSelector_1 = function (chart) {
|
|
7672
|
-
var extremes,
|
|
7673
|
-
rangeSelector = chart.rangeSelector,
|
|
7674
|
-
legend,
|
|
7675
|
-
alignTo,
|
|
7676
|
-
verticalAlign;
|
|
7677
|
-
/**
|
|
7678
|
-
* @private
|
|
7679
|
-
*/
|
|
7680
|
-
function render() {
|
|
7681
|
-
if (rangeSelector) {
|
|
7682
|
-
extremes = chart.xAxis[0].getExtremes();
|
|
7683
|
-
legend = chart.legend;
|
|
7684
|
-
verticalAlign = (rangeSelector &&
|
|
7685
|
-
rangeSelector.options.verticalAlign);
|
|
7686
|
-
if (isNumber(extremes.min)) {
|
|
7687
|
-
rangeSelector.render(extremes.min, extremes.max);
|
|
7688
|
-
}
|
|
7689
|
-
// Re-align the legend so that it's below the rangeselector
|
|
7690
|
-
if (legend.display &&
|
|
7691
|
-
verticalAlign === 'top' &&
|
|
7692
|
-
verticalAlign === legend.options.verticalAlign) {
|
|
7693
|
-
// Create a new alignment box for the legend.
|
|
7694
|
-
alignTo = merge(chart.spacingBox);
|
|
7695
|
-
if (legend.options.layout === 'vertical') {
|
|
7696
|
-
alignTo.y = chart.plotTop;
|
|
7697
|
-
}
|
|
7698
|
-
else {
|
|
7699
|
-
alignTo.y += rangeSelector.getHeight();
|
|
7700
|
-
}
|
|
7701
|
-
legend.group.placed = false; // Don't animate the alignment.
|
|
7702
|
-
legend.align(alignTo);
|
|
7703
|
-
}
|
|
7704
|
-
}
|
|
7705
|
-
}
|
|
7706
|
-
if (rangeSelector) {
|
|
7707
|
-
var events = find(chartDestroyEvents_1,
|
|
7708
|
-
function (e) { return e[0] === chart; });
|
|
7709
|
-
if (!events) {
|
|
7710
|
-
chartDestroyEvents_1.push([chart, [
|
|
7711
|
-
// redraw the scroller on setExtremes
|
|
7712
|
-
addEvent(chart.xAxis[0], 'afterSetExtremes', function (e) {
|
|
7713
|
-
if (rangeSelector) {
|
|
7714
|
-
rangeSelector.render(e.min, e.max);
|
|
7715
|
-
}
|
|
7716
|
-
}),
|
|
7717
|
-
// redraw the scroller chart resize
|
|
7718
|
-
addEvent(chart, 'redraw', render)
|
|
7719
|
-
]]);
|
|
7720
|
-
}
|
|
7721
|
-
// do it now
|
|
7722
|
-
render();
|
|
7723
|
-
}
|
|
7724
|
-
};
|
|
7725
|
-
// Initialize rangeselector for stock charts
|
|
7726
|
-
addEvent(Chart, 'afterGetContainer', function () {
|
|
7727
|
-
if (this.options.rangeSelector &&
|
|
7728
|
-
this.options.rangeSelector.enabled) {
|
|
7729
|
-
this.rangeSelector = new RangeSelector(this);
|
|
7730
|
-
}
|
|
7731
|
-
});
|
|
7732
|
-
addEvent(Chart, 'beforeRender', function () {
|
|
7733
|
-
var chart = this,
|
|
7734
|
-
axes = chart.axes,
|
|
7735
|
-
rangeSelector = chart.rangeSelector,
|
|
7736
|
-
verticalAlign;
|
|
7737
|
-
if (rangeSelector) {
|
|
7738
|
-
if (isNumber(rangeSelector.deferredYTDClick)) {
|
|
7739
|
-
rangeSelector.clickButton(rangeSelector.deferredYTDClick);
|
|
7740
|
-
delete rangeSelector.deferredYTDClick;
|
|
7741
|
-
}
|
|
7742
|
-
axes.forEach(function (axis) {
|
|
7743
|
-
axis.updateNames();
|
|
7744
|
-
axis.setScale();
|
|
7745
|
-
});
|
|
7746
|
-
chart.getAxisMargins();
|
|
7747
|
-
rangeSelector.render();
|
|
7748
|
-
verticalAlign = rangeSelector.options.verticalAlign;
|
|
7749
|
-
if (!rangeSelector.options.floating) {
|
|
7750
|
-
if (verticalAlign === 'bottom') {
|
|
7751
|
-
this.extraBottomMargin = true;
|
|
7752
|
-
}
|
|
7753
|
-
else if (verticalAlign !== 'middle') {
|
|
7754
|
-
this.extraTopMargin = true;
|
|
7755
|
-
}
|
|
7756
|
-
}
|
|
7757
|
-
}
|
|
7758
|
-
});
|
|
7759
|
-
addEvent(Chart, 'update', function (e) {
|
|
7760
|
-
var chart = this,
|
|
7761
|
-
options = e.options,
|
|
7762
|
-
optionsRangeSelector = options.rangeSelector,
|
|
7763
|
-
rangeSelector = chart.rangeSelector,
|
|
7764
|
-
verticalAlign,
|
|
7765
|
-
extraBottomMarginWas = this.extraBottomMargin,
|
|
7766
|
-
extraTopMarginWas = this.extraTopMargin;
|
|
7767
|
-
if (optionsRangeSelector &&
|
|
7768
|
-
optionsRangeSelector.enabled &&
|
|
7769
|
-
!defined(rangeSelector) &&
|
|
7770
|
-
this.options.rangeSelector) {
|
|
7771
|
-
this.options.rangeSelector.enabled = true;
|
|
7772
|
-
this.rangeSelector = rangeSelector = new RangeSelector(this);
|
|
7773
|
-
}
|
|
7774
|
-
this.extraBottomMargin = false;
|
|
7775
|
-
this.extraTopMargin = false;
|
|
7776
|
-
if (rangeSelector) {
|
|
7777
|
-
initRangeSelector_1(this);
|
|
7778
|
-
verticalAlign = (optionsRangeSelector &&
|
|
7779
|
-
optionsRangeSelector.verticalAlign) || (rangeSelector.options && rangeSelector.options.verticalAlign);
|
|
7780
|
-
if (!rangeSelector.options.floating) {
|
|
7781
|
-
if (verticalAlign === 'bottom') {
|
|
7782
|
-
this.extraBottomMargin = true;
|
|
7783
|
-
}
|
|
7784
|
-
else if (verticalAlign !== 'middle') {
|
|
7785
|
-
this.extraTopMargin = true;
|
|
7786
|
-
}
|
|
7787
|
-
}
|
|
7788
|
-
if (this.extraBottomMargin !== extraBottomMarginWas ||
|
|
7789
|
-
this.extraTopMargin !== extraTopMarginWas) {
|
|
7790
|
-
this.isDirtyBox = true;
|
|
7791
|
-
}
|
|
7792
|
-
}
|
|
7793
|
-
});
|
|
7794
|
-
addEvent(Chart, 'render', function () {
|
|
7795
|
-
var chart = this,
|
|
7796
|
-
rangeSelector = chart.rangeSelector,
|
|
7797
|
-
verticalAlign;
|
|
7798
|
-
if (rangeSelector && !rangeSelector.options.floating) {
|
|
7799
|
-
rangeSelector.render();
|
|
7800
|
-
verticalAlign = rangeSelector.options.verticalAlign;
|
|
7801
|
-
if (verticalAlign === 'bottom') {
|
|
7802
|
-
this.extraBottomMargin = true;
|
|
7803
|
-
}
|
|
7804
|
-
else if (verticalAlign !== 'middle') {
|
|
7805
|
-
this.extraTopMargin = true;
|
|
7806
|
-
}
|
|
7807
|
-
}
|
|
7808
|
-
});
|
|
7809
|
-
addEvent(Chart, 'getMargins', function () {
|
|
7810
|
-
var rangeSelector = this.rangeSelector,
|
|
7811
|
-
rangeSelectorHeight;
|
|
7812
|
-
if (rangeSelector) {
|
|
7813
|
-
rangeSelectorHeight = rangeSelector.getHeight();
|
|
7814
|
-
if (this.extraTopMargin) {
|
|
7815
|
-
this.plotTop += rangeSelectorHeight;
|
|
7816
|
-
}
|
|
7817
|
-
if (this.extraBottomMargin) {
|
|
7818
|
-
this.marginBottom += rangeSelectorHeight;
|
|
7819
|
-
}
|
|
7820
|
-
}
|
|
7821
|
-
});
|
|
7822
|
-
Chart.prototype.callbacks.push(initRangeSelector_1);
|
|
7823
|
-
// Remove resize/afterSetExtremes at chart destroy
|
|
7824
|
-
addEvent(Chart, 'destroy', function destroyEvents() {
|
|
7825
|
-
for (var i = 0; i < chartDestroyEvents_1.length; i++) {
|
|
7826
|
-
var events = chartDestroyEvents_1[i];
|
|
7827
|
-
if (events[0] === this) {
|
|
7828
|
-
events[1].forEach(function (unbind) { return unbind(); });
|
|
7829
|
-
chartDestroyEvents_1.splice(i, 1);
|
|
7830
|
-
return;
|
|
7831
|
-
}
|
|
7832
|
-
}
|
|
7833
|
-
});
|
|
7834
|
-
H.RangeSelector = RangeSelector;
|
|
7835
|
-
}
|
|
7987
|
+
(''); // keeps doclets above in JS file
|
|
7836
7988
|
|
|
7837
7989
|
return RangeSelector;
|
|
7838
7990
|
});
|
|
7839
|
-
_registerModule(_modules, 'Accessibility/Components/RangeSelectorComponent.js', [_modules['
|
|
7991
|
+
_registerModule(_modules, 'Accessibility/Components/RangeSelectorComponent.js', [_modules['Stock/RangeSelector/RangeSelector.js'], _modules['Accessibility/AccessibilityComponent.js'], _modules['Accessibility/Utils/ChartUtilities.js'], _modules['Accessibility/Utils/Announcer.js'], _modules['Accessibility/KeyboardNavigationHandler.js'], _modules['Core/Utilities.js']], function (RangeSelector, AccessibilityComponent, ChartUtilities, Announcer, KeyboardNavigationHandler, U) {
|
|
7840
7992
|
/* *
|
|
7841
7993
|
*
|
|
7842
7994
|
* (c) 2009-2021 Øystein Moseng
|
|
@@ -11086,6 +11238,10 @@
|
|
|
11086
11238
|
* @optionparent lang.accessibility
|
|
11087
11239
|
*/
|
|
11088
11240
|
accessibility: {
|
|
11241
|
+
/**
|
|
11242
|
+
* @deprecated 10.2.1
|
|
11243
|
+
* @apioption lang.accessibility.resetZoomButton
|
|
11244
|
+
*/
|
|
11089
11245
|
defaultChartTitle: 'Chart',
|
|
11090
11246
|
chartContainerLabel: '{title}. Highcharts interactive chart.',
|
|
11091
11247
|
svgContainerLabel: 'Interactive chart',
|
|
@@ -11675,7 +11831,7 @@
|
|
|
11675
11831
|
|
|
11676
11832
|
return copyDeprecatedOptions;
|
|
11677
11833
|
});
|
|
11678
|
-
_registerModule(_modules, 'Accessibility/Accessibility.js', [_modules['Core/
|
|
11834
|
+
_registerModule(_modules, 'Accessibility/Accessibility.js', [_modules['Core/Defaults.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js'], _modules['Accessibility/Utils/HTMLUtilities.js'], _modules['Accessibility/A11yI18n.js'], _modules['Accessibility/Components/ContainerComponent.js'], _modules['Accessibility/FocusBorder.js'], _modules['Accessibility/Components/InfoRegionsComponent.js'], _modules['Accessibility/KeyboardNavigation.js'], _modules['Accessibility/Components/LegendComponent.js'], _modules['Accessibility/Components/MenuComponent.js'], _modules['Accessibility/Components/SeriesComponent/NewDataAnnouncer.js'], _modules['Accessibility/ProxyProvider.js'], _modules['Accessibility/Components/RangeSelectorComponent.js'], _modules['Accessibility/Components/SeriesComponent/SeriesComponent.js'], _modules['Accessibility/Components/ZoomComponent.js'], _modules['Accessibility/HighContrastMode.js'], _modules['Accessibility/HighContrastTheme.js'], _modules['Accessibility/Options/A11yDefaults.js'], _modules['Accessibility/Options/LangDefaults.js'], _modules['Accessibility/Options/DeprecatedOptions.js']], function (D, H, U, HU, A11yI18n, ContainerComponent, FocusBorder, InfoRegionsComponent, KeyboardNavigation, LegendComponent, MenuComponent, NewDataAnnouncer, ProxyProvider, RangeSelectorComponent, SeriesComponent, ZoomComponent, whcm, highContrastTheme, defaultOptionsA11Y, defaultLangOptions, copyDeprecatedOptions) {
|
|
11679
11835
|
/* *
|
|
11680
11836
|
*
|
|
11681
11837
|
* (c) 2009-2021 Øystein Moseng
|