@ntlab/ntjs-assets 2.0.21 → 2.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/js/cdn.json +1 -1
- package/assets/js/highcharts/css/highcharts.css +74 -0
- package/assets/js/highcharts/es-modules/Accessibility/Components/LegendComponent.js +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +1 -1
- package/assets/js/highcharts/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +9 -2
- package/assets/js/highcharts/es-modules/Core/Axis/Axis.js +25 -15
- package/assets/js/highcharts/es-modules/Core/Axis/AxisDefaults.js +3 -2
- package/assets/js/highcharts/es-modules/Core/Axis/Color/ColorAxis.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Axis/Color/ColorAxisDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Core/Axis/GridAxis.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Axis/OrdinalAxis.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +10 -0
- package/assets/js/highcharts/es-modules/Core/Axis/RadialAxis.js +19 -113
- package/assets/js/highcharts/es-modules/Core/Axis/RadialAxisDefaults.js +128 -0
- package/assets/js/highcharts/es-modules/Core/Axis/Tick.js +9 -13
- package/assets/js/highcharts/es-modules/Core/Chart/Chart.js +21 -17
- package/assets/js/highcharts/es-modules/Core/Chart/ChartDefaults.js +4 -2
- package/assets/js/highcharts/es-modules/Core/Chart/StockChart.js +5 -9
- package/assets/js/highcharts/es-modules/Core/Defaults.js +180 -91
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGElement.js +50 -28
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGLabel.js +6 -3
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGRenderer.js +38 -80
- package/assets/js/highcharts/es-modules/Core/Renderer/SVG/Symbols.js +9 -5
- package/assets/js/highcharts/es-modules/Core/Series/DataLabel.js +17 -10
- package/assets/js/highcharts/es-modules/Core/Series/Point.js +4 -3
- package/assets/js/highcharts/es-modules/Core/Series/Series.js +24 -15
- package/assets/js/highcharts/es-modules/Core/Series/SeriesDefaults.js +15 -0
- package/assets/js/highcharts/es-modules/Core/Templating.js +4 -1
- package/assets/js/highcharts/es-modules/Core/Tooltip.js +17 -55
- package/assets/js/highcharts/es-modules/Core/Utilities.js +16 -0
- package/assets/js/highcharts/es-modules/Data/Converters/CSVConverter.js +1 -1
- package/assets/js/highcharts/es-modules/Data/DataCursor.js +34 -16
- package/assets/js/highcharts/es-modules/Data/DataPool.js +1 -1
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/Controllable.js +3 -0
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +0 -3
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +0 -3
- package/assets/js/highcharts/es-modules/Extensions/Annotations/EventEmitter.js +6 -6
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +2 -0
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/CrookedLine.js +1 -0
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Fibonacci.js +4 -2
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +2 -1
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/InfinityLine.js +2 -1
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Measure.js +4 -3
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Pitchfork.js +11 -5
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/TimeCycles.js +2 -1
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/Tunnel.js +4 -2
- package/assets/js/highcharts/es-modules/Extensions/Annotations/Types/VerticalLine.js +2 -1
- package/assets/js/highcharts/es-modules/Extensions/Boost/BoostChart.js +11 -3
- package/assets/js/highcharts/es-modules/Extensions/Boost/BoostSeries.js +7 -4
- package/assets/js/highcharts/es-modules/Extensions/Boost/WGLRenderer.js +11 -2
- package/assets/js/highcharts/es-modules/Extensions/Data.js +3 -3
- package/assets/js/highcharts/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +1 -0
- package/assets/js/highcharts/es-modules/Extensions/DownloadURL.js +3 -0
- package/assets/js/highcharts/es-modules/Extensions/DragPanes/AxisResizer.js +1 -2
- package/assets/js/highcharts/es-modules/Extensions/DraggablePoints/DragDropProps.js +17 -0
- package/assets/js/highcharts/es-modules/Extensions/DraggablePoints/DraggablePoints.js +1 -0
- package/assets/js/highcharts/es-modules/Extensions/Drilldown/Drilldown.js +14 -14
- package/assets/js/highcharts/es-modules/Extensions/Exporting/Exporting.js +13 -18
- package/assets/js/highcharts/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -6
- package/assets/js/highcharts/es-modules/Extensions/OfflineExporting/OfflineExporting.js +38 -30
- package/assets/js/highcharts/es-modules/Extensions/Pane/PaneDefaults.js +11 -0
- package/assets/js/highcharts/es-modules/Extensions/RegexLimits.js +1 -0
- package/assets/js/highcharts/es-modules/Extensions/ScrollablePlotArea.js +19 -17
- package/assets/js/highcharts/es-modules/Extensions/Themes/BrandDark.js +13 -1
- package/assets/js/highcharts/es-modules/Maps/MapNavigation.js +5 -3
- package/assets/js/highcharts/es-modules/Maps/MapView.js +5 -5
- package/assets/js/highcharts/es-modules/Maps/Projection.js +39 -20
- package/assets/js/highcharts/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +10 -231
- package/assets/js/highcharts/es-modules/Series/ArcDiagram/ArcDiagramSeriesDefaults.js +245 -0
- package/assets/js/highcharts/es-modules/Series/Area/AreaSeries.js +2 -222
- package/assets/js/highcharts/es-modules/Series/Area/AreaSeriesDefaults.js +239 -0
- package/assets/js/highcharts/es-modules/Series/AreaRange/AreaRangeSeries.js +0 -133
- package/assets/js/highcharts/es-modules/Series/AreaRange/AreaRangeSeriesDefaults.js +273 -0
- package/assets/js/highcharts/es-modules/Series/BoxPlot/BoxPlotSeries.js +36 -38
- package/assets/js/highcharts/es-modules/Series/Bubble/BubbleSeries.js +17 -6
- package/assets/js/highcharts/es-modules/Series/Candlestick/CandlestickSeries.js +9 -11
- package/assets/js/highcharts/es-modules/Series/ColorMapComposition.js +28 -4
- package/assets/js/highcharts/es-modules/Series/Column/ColumnDataLabel.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Column/ColumnSeries.js +25 -30
- package/assets/js/highcharts/es-modules/Series/DataModifyComposition.js +26 -2
- package/assets/js/highcharts/es-modules/Series/DotPlot/DotPlotSeries.js +37 -27
- package/assets/js/highcharts/es-modules/Series/DotPlot/DotPlotSeriesDefaults.js +3 -2
- package/assets/js/highcharts/es-modules/Series/Dumbbell/DumbbellSeries.js +1 -39
- package/assets/js/highcharts/es-modules/Series/Dumbbell/DumbbellSeriesDefaults.js +29 -0
- package/assets/js/highcharts/es-modules/Series/Flags/FlagsSeries.js +2 -1
- package/assets/js/highcharts/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +3 -10
- package/assets/js/highcharts/es-modules/Series/HLC/HLCSeries.js +4 -5
- package/assets/js/highcharts/es-modules/Series/MapLine/MapLineSeriesDefaults.js +7 -6
- package/assets/js/highcharts/es-modules/Series/MapPoint/MapPointSeriesDefaults.js +17 -11
- package/assets/js/highcharts/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Networkgraph/ReingoldFruchtermanLayout.js +1 -1
- package/assets/js/highcharts/es-modules/Series/OHLC/OHLCSeries.js +3 -5
- package/assets/js/highcharts/es-modules/Series/Organization/OrganizationSeries.js +17 -19
- package/assets/js/highcharts/es-modules/Series/Organization/OrganizationSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubbleLayout.js +3 -3
- package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -3
- package/assets/js/highcharts/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +0 -1
- package/assets/js/highcharts/es-modules/Series/Pyramid/PyramidSeriesDefaults.js +3 -3
- package/assets/js/highcharts/es-modules/Series/Sankey/SankeySeries.js +5 -6
- package/assets/js/highcharts/es-modules/Series/Sankey/SankeySeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/SeriesOnPointComposition.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Treegraph/TreegraphLink.js +12 -7
- package/assets/js/highcharts/es-modules/Series/Treegraph/TreegraphSeries.js +8 -9
- package/assets/js/highcharts/es-modules/Series/Treemap/TreemapSeries.js +8 -8
- package/assets/js/highcharts/es-modules/Series/Treemap/TreemapSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Series/Variwide/VariwideSeries.js +4 -4
- package/assets/js/highcharts/es-modules/Series/Venn/VennSeriesDefaults.js +2 -2
- package/assets/js/highcharts/es-modules/Series/Waterfall/WaterfallSeries.js +11 -12
- package/assets/js/highcharts/es-modules/Series/XRange/XRangeSeries.js +4 -4
- package/assets/js/highcharts/es-modules/Stock/Navigator/Navigator.js +2 -5
- package/assets/js/highcharts/es-modules/Stock/Navigator/NavigatorDefaults.js +11 -0
- package/assets/js/highcharts/es-modules/Stock/Navigator/NavigatorSymbols.js +9 -10
- package/assets/js/highcharts/es-modules/Stock/RangeSelector/RangeSelector.js +162 -187
- package/assets/js/highcharts/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +32 -74
- package/assets/js/highcharts/es-modules/Stock/Scrollbar/Scrollbar.js +6 -7
- package/assets/js/highcharts/es-modules/masters/highcharts-more.src.js +2 -0
- package/assets/js/highcharts/highcharts-3d.js +1 -1
- package/assets/js/highcharts/highcharts-3d.src.js +1 -1
- package/assets/js/highcharts/highcharts-gantt.js +3 -3
- package/assets/js/highcharts/highcharts-gantt.src.js +2008 -906
- package/assets/js/highcharts/highcharts-more.js +2 -2
- package/assets/js/highcharts/highcharts-more.src.js +234 -313
- package/assets/js/highcharts/highcharts.js +3 -3
- package/assets/js/highcharts/highcharts.src.js +743 -616
- package/assets/js/highcharts/highmaps.js +3 -3
- package/assets/js/highcharts/highmaps.src.js +862 -673
- package/assets/js/highcharts/highstock.js +3 -3
- package/assets/js/highcharts/highstock.src.js +1016 -935
- package/assets/js/highcharts/indicators/acceleration-bands.js +1 -1
- package/assets/js/highcharts/indicators/acceleration-bands.src.js +1 -1
- package/assets/js/highcharts/indicators/accumulation-distribution.js +1 -1
- package/assets/js/highcharts/indicators/accumulation-distribution.src.js +1 -1
- package/assets/js/highcharts/indicators/ao.js +1 -1
- package/assets/js/highcharts/indicators/ao.src.js +1 -1
- package/assets/js/highcharts/indicators/apo.js +1 -1
- package/assets/js/highcharts/indicators/apo.src.js +1 -1
- package/assets/js/highcharts/indicators/aroon-oscillator.js +1 -1
- package/assets/js/highcharts/indicators/aroon-oscillator.src.js +1 -1
- package/assets/js/highcharts/indicators/aroon.js +1 -1
- package/assets/js/highcharts/indicators/aroon.src.js +1 -1
- package/assets/js/highcharts/indicators/atr.js +1 -1
- package/assets/js/highcharts/indicators/atr.src.js +1 -1
- package/assets/js/highcharts/indicators/bollinger-bands.js +1 -1
- package/assets/js/highcharts/indicators/bollinger-bands.src.js +1 -1
- package/assets/js/highcharts/indicators/cci.js +1 -1
- package/assets/js/highcharts/indicators/cci.src.js +1 -1
- package/assets/js/highcharts/indicators/chaikin.js +1 -1
- package/assets/js/highcharts/indicators/chaikin.src.js +1 -1
- package/assets/js/highcharts/indicators/cmf.js +1 -1
- package/assets/js/highcharts/indicators/cmf.src.js +1 -1
- package/assets/js/highcharts/indicators/cmo.js +1 -1
- package/assets/js/highcharts/indicators/cmo.src.js +1 -1
- package/assets/js/highcharts/indicators/dema.js +1 -1
- package/assets/js/highcharts/indicators/dema.src.js +1 -1
- package/assets/js/highcharts/indicators/disparity-index.js +1 -1
- package/assets/js/highcharts/indicators/disparity-index.src.js +1 -1
- package/assets/js/highcharts/indicators/dmi.js +1 -1
- package/assets/js/highcharts/indicators/dmi.src.js +1 -1
- package/assets/js/highcharts/indicators/dpo.js +1 -1
- package/assets/js/highcharts/indicators/dpo.src.js +1 -1
- package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.js +1 -1
- package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/assets/js/highcharts/indicators/indicators-all.js +1 -1
- package/assets/js/highcharts/indicators/indicators-all.src.js +1 -1
- package/assets/js/highcharts/indicators/indicators.js +1 -1
- package/assets/js/highcharts/indicators/indicators.src.js +1 -1
- package/assets/js/highcharts/indicators/keltner-channels.js +1 -1
- package/assets/js/highcharts/indicators/keltner-channels.src.js +1 -1
- package/assets/js/highcharts/indicators/klinger.js +1 -1
- package/assets/js/highcharts/indicators/klinger.src.js +1 -1
- package/assets/js/highcharts/indicators/macd.js +1 -1
- package/assets/js/highcharts/indicators/macd.src.js +1 -1
- package/assets/js/highcharts/indicators/mfi.js +1 -1
- package/assets/js/highcharts/indicators/mfi.src.js +1 -1
- package/assets/js/highcharts/indicators/momentum.js +1 -1
- package/assets/js/highcharts/indicators/momentum.src.js +1 -1
- package/assets/js/highcharts/indicators/natr.js +1 -1
- package/assets/js/highcharts/indicators/natr.src.js +1 -1
- package/assets/js/highcharts/indicators/obv.js +1 -1
- package/assets/js/highcharts/indicators/obv.src.js +1 -1
- package/assets/js/highcharts/indicators/pivot-points.js +1 -1
- package/assets/js/highcharts/indicators/pivot-points.src.js +1 -1
- package/assets/js/highcharts/indicators/ppo.js +1 -1
- package/assets/js/highcharts/indicators/ppo.src.js +1 -1
- package/assets/js/highcharts/indicators/price-channel.js +1 -1
- package/assets/js/highcharts/indicators/price-channel.src.js +1 -1
- package/assets/js/highcharts/indicators/price-envelopes.js +1 -1
- package/assets/js/highcharts/indicators/price-envelopes.src.js +1 -1
- package/assets/js/highcharts/indicators/psar.js +1 -1
- package/assets/js/highcharts/indicators/psar.src.js +1 -1
- package/assets/js/highcharts/indicators/regressions.js +1 -1
- package/assets/js/highcharts/indicators/regressions.src.js +1 -1
- package/assets/js/highcharts/indicators/roc.js +1 -1
- package/assets/js/highcharts/indicators/roc.src.js +1 -1
- package/assets/js/highcharts/indicators/rsi.js +1 -1
- package/assets/js/highcharts/indicators/rsi.src.js +1 -1
- package/assets/js/highcharts/indicators/slow-stochastic.js +1 -1
- package/assets/js/highcharts/indicators/slow-stochastic.src.js +1 -1
- package/assets/js/highcharts/indicators/stochastic.js +1 -1
- package/assets/js/highcharts/indicators/stochastic.src.js +1 -1
- package/assets/js/highcharts/indicators/supertrend.js +1 -1
- package/assets/js/highcharts/indicators/supertrend.src.js +1 -1
- package/assets/js/highcharts/indicators/tema.js +1 -1
- package/assets/js/highcharts/indicators/tema.src.js +1 -1
- package/assets/js/highcharts/indicators/trendline.js +1 -1
- package/assets/js/highcharts/indicators/trendline.src.js +1 -1
- package/assets/js/highcharts/indicators/trix.js +1 -1
- package/assets/js/highcharts/indicators/trix.src.js +1 -1
- package/assets/js/highcharts/indicators/volume-by-price.js +1 -1
- package/assets/js/highcharts/indicators/volume-by-price.src.js +1 -1
- package/assets/js/highcharts/indicators/vwap.js +1 -1
- package/assets/js/highcharts/indicators/vwap.src.js +1 -1
- package/assets/js/highcharts/indicators/williams-r.js +1 -1
- package/assets/js/highcharts/indicators/williams-r.src.js +1 -1
- package/assets/js/highcharts/indicators/wma.js +1 -1
- package/assets/js/highcharts/indicators/wma.src.js +1 -1
- package/assets/js/highcharts/indicators/zigzag.js +1 -1
- package/assets/js/highcharts/indicators/zigzag.src.js +1 -1
- package/assets/js/highcharts/modules/accessibility.js +2 -2
- package/assets/js/highcharts/modules/accessibility.src.js +39 -28
- package/assets/js/highcharts/modules/annotations-advanced.js +2 -2
- package/assets/js/highcharts/modules/annotations-advanced.src.js +46 -31
- package/assets/js/highcharts/modules/annotations.js +2 -2
- package/assets/js/highcharts/modules/annotations.src.js +12 -15
- package/assets/js/highcharts/modules/arc-diagram.js +2 -2
- package/assets/js/highcharts/modules/arc-diagram.src.js +258 -233
- package/assets/js/highcharts/modules/arrow-symbols.js +1 -1
- package/assets/js/highcharts/modules/arrow-symbols.src.js +1 -1
- package/assets/js/highcharts/modules/boost-canvas.js +2 -2
- package/assets/js/highcharts/modules/boost-canvas.src.js +30 -10
- package/assets/js/highcharts/modules/boost.js +2 -2
- package/assets/js/highcharts/modules/boost.src.js +30 -10
- package/assets/js/highcharts/modules/broken-axis.js +1 -1
- package/assets/js/highcharts/modules/broken-axis.src.js +1 -1
- package/assets/js/highcharts/modules/bullet.js +1 -1
- package/assets/js/highcharts/modules/bullet.src.js +1 -1
- package/assets/js/highcharts/modules/coloraxis.js +2 -2
- package/assets/js/highcharts/modules/coloraxis.src.js +4 -4
- package/assets/js/highcharts/modules/current-date-indicator.js +1 -1
- package/assets/js/highcharts/modules/current-date-indicator.src.js +1 -1
- package/assets/js/highcharts/modules/cylinder.js +1 -1
- package/assets/js/highcharts/modules/cylinder.src.js +1 -1
- package/assets/js/highcharts/modules/data-tools.js +2 -2
- package/assets/js/highcharts/modules/data-tools.src.js +37 -19
- package/assets/js/highcharts/modules/data.js +1 -1
- package/assets/js/highcharts/modules/data.src.js +4 -4
- package/assets/js/highcharts/modules/datagrouping.js +2 -2
- package/assets/js/highcharts/modules/datagrouping.src.js +2 -1
- package/assets/js/highcharts/modules/debugger.js +1 -1
- package/assets/js/highcharts/modules/debugger.src.js +1 -1
- package/assets/js/highcharts/modules/dependency-wheel.js +1 -1
- package/assets/js/highcharts/modules/dependency-wheel.src.js +1 -1
- package/assets/js/highcharts/modules/dotplot.js +2 -2
- package/assets/js/highcharts/modules/dotplot.src.js +41 -30
- package/assets/js/highcharts/modules/drag-panes.js +2 -2
- package/assets/js/highcharts/modules/drag-panes.src.js +2 -3
- package/assets/js/highcharts/modules/draggable-points.js +2 -2
- package/assets/js/highcharts/modules/draggable-points.src.js +19 -1
- package/assets/js/highcharts/modules/drilldown.js +2 -2
- package/assets/js/highcharts/modules/drilldown.src.js +15 -15
- package/assets/js/highcharts/modules/dumbbell.js +2 -2
- package/assets/js/highcharts/modules/dumbbell.src.js +31 -40
- package/assets/js/highcharts/modules/export-data.js +2 -2
- package/assets/js/highcharts/modules/export-data.src.js +4 -1
- package/assets/js/highcharts/modules/exporting.js +2 -2
- package/assets/js/highcharts/modules/exporting.src.js +22 -25
- package/assets/js/highcharts/modules/flowmap.js +1 -1
- package/assets/js/highcharts/modules/flowmap.src.js +1 -1
- package/assets/js/highcharts/modules/full-screen.js +1 -1
- package/assets/js/highcharts/modules/full-screen.src.js +1 -1
- package/assets/js/highcharts/modules/funnel.js +2 -2
- package/assets/js/highcharts/modules/funnel.src.js +4 -4
- package/assets/js/highcharts/modules/funnel3d.js +1 -1
- package/assets/js/highcharts/modules/funnel3d.src.js +1 -1
- package/assets/js/highcharts/modules/gantt.js +2 -2
- package/assets/js/highcharts/modules/gantt.src.js +1266 -291
- package/assets/js/highcharts/modules/geoheatmap.js +1 -1
- package/assets/js/highcharts/modules/geoheatmap.src.js +4 -11
- package/assets/js/highcharts/modules/grid-axis.js +2 -2
- package/assets/js/highcharts/modules/grid-axis.src.js +2 -2
- package/assets/js/highcharts/modules/heatmap.js +2 -2
- package/assets/js/highcharts/modules/heatmap.src.js +32 -9
- package/assets/js/highcharts/modules/heikinashi.js +1 -1
- package/assets/js/highcharts/modules/heikinashi.src.js +1 -1
- package/assets/js/highcharts/modules/histogram-bellcurve.js +1 -1
- package/assets/js/highcharts/modules/histogram-bellcurve.src.js +1 -1
- package/assets/js/highcharts/modules/hollowcandlestick.js +1 -1
- package/assets/js/highcharts/modules/hollowcandlestick.src.js +1 -1
- package/assets/js/highcharts/modules/item-series.js +1 -1
- package/assets/js/highcharts/modules/item-series.src.js +1 -1
- package/assets/js/highcharts/modules/lollipop.js +1 -1
- package/assets/js/highcharts/modules/lollipop.src.js +1 -1
- package/assets/js/highcharts/modules/map.js +2 -2
- package/assets/js/highcharts/modules/map.src.js +120 -58
- package/assets/js/highcharts/modules/marker-clusters.js +1 -1
- package/assets/js/highcharts/modules/marker-clusters.src.js +1 -1
- package/assets/js/highcharts/modules/mouse-wheel-zoom.js +1 -1
- package/assets/js/highcharts/modules/mouse-wheel-zoom.src.js +1 -1
- package/assets/js/highcharts/modules/navigator.js +2 -2
- package/assets/js/highcharts/modules/navigator.src.js +28 -24
- package/assets/js/highcharts/modules/networkgraph.js +2 -2
- package/assets/js/highcharts/modules/networkgraph.src.js +3 -3
- package/assets/js/highcharts/modules/no-data-to-display.js +1 -1
- package/assets/js/highcharts/modules/no-data-to-display.src.js +1 -1
- package/assets/js/highcharts/modules/offline-exporting.js +2 -2
- package/assets/js/highcharts/modules/offline-exporting.src.js +43 -32
- package/assets/js/highcharts/modules/organization.js +2 -2
- package/assets/js/highcharts/modules/organization.src.js +19 -21
- package/assets/js/highcharts/modules/overlapping-datalabels.js +1 -1
- package/assets/js/highcharts/modules/overlapping-datalabels.src.js +1 -1
- package/assets/js/highcharts/modules/parallel-coordinates.js +1 -1
- package/assets/js/highcharts/modules/parallel-coordinates.src.js +1 -1
- package/assets/js/highcharts/modules/pareto.js +1 -1
- package/assets/js/highcharts/modules/pareto.src.js +1 -1
- package/assets/js/highcharts/modules/pathfinder.js +1 -1
- package/assets/js/highcharts/modules/pathfinder.src.js +1 -1
- package/assets/js/highcharts/modules/pattern-fill.js +1 -1
- package/assets/js/highcharts/modules/pattern-fill.src.js +1 -1
- package/assets/js/highcharts/modules/pictorial.js +1 -1
- package/assets/js/highcharts/modules/pictorial.src.js +1 -1
- package/assets/js/highcharts/modules/price-indicator.js +1 -1
- package/assets/js/highcharts/modules/price-indicator.src.js +1 -1
- package/assets/js/highcharts/modules/pyramid3d.js +1 -1
- package/assets/js/highcharts/modules/pyramid3d.src.js +1 -1
- package/assets/js/highcharts/modules/sankey.js +2 -2
- package/assets/js/highcharts/modules/sankey.src.js +7 -8
- package/assets/js/highcharts/modules/series-label.js +1 -1
- package/assets/js/highcharts/modules/series-label.src.js +1 -1
- package/assets/js/highcharts/modules/series-on-point.js +2 -2
- package/assets/js/highcharts/modules/series-on-point.src.js +3 -3
- package/assets/js/highcharts/modules/solid-gauge.js +1 -1
- package/assets/js/highcharts/modules/solid-gauge.src.js +1 -1
- package/assets/js/highcharts/modules/sonification.js +2 -2
- package/assets/js/highcharts/modules/sonification.src.js +4 -1
- package/assets/js/highcharts/modules/static-scale.js +1 -1
- package/assets/js/highcharts/modules/static-scale.src.js +1 -1
- package/assets/js/highcharts/modules/stock-tools.js +2 -2
- package/assets/js/highcharts/modules/stock-tools.src.js +3 -3
- package/assets/js/highcharts/modules/stock.js +2 -2
- package/assets/js/highcharts/modules/stock.src.js +274 -320
- package/assets/js/highcharts/modules/streamgraph.js +1 -1
- package/assets/js/highcharts/modules/streamgraph.src.js +1 -1
- package/assets/js/highcharts/modules/sunburst.js +2 -2
- package/assets/js/highcharts/modules/sunburst.src.js +39 -16
- package/assets/js/highcharts/modules/tiledwebmap.js +1 -1
- package/assets/js/highcharts/modules/tiledwebmap.src.js +1 -1
- package/assets/js/highcharts/modules/tilemap.js +1 -1
- package/assets/js/highcharts/modules/tilemap.src.js +1 -1
- package/assets/js/highcharts/modules/timeline.js +1 -1
- package/assets/js/highcharts/modules/timeline.src.js +1 -1
- package/assets/js/highcharts/modules/treegraph.js +2 -2
- package/assets/js/highcharts/modules/treegraph.src.js +21 -17
- package/assets/js/highcharts/modules/treegrid.js +2 -2
- package/assets/js/highcharts/modules/treegrid.src.js +2 -2
- package/assets/js/highcharts/modules/treemap.js +2 -2
- package/assets/js/highcharts/modules/treemap.src.js +38 -15
- package/assets/js/highcharts/modules/variable-pie.js +1 -1
- package/assets/js/highcharts/modules/variable-pie.src.js +1 -1
- package/assets/js/highcharts/modules/variwide.js +2 -2
- package/assets/js/highcharts/modules/variwide.src.js +5 -5
- package/assets/js/highcharts/modules/vector.js +1 -1
- package/assets/js/highcharts/modules/vector.src.js +1 -1
- package/assets/js/highcharts/modules/venn.js +1 -1
- package/assets/js/highcharts/modules/venn.src.js +3 -3
- package/assets/js/highcharts/modules/windbarb.js +1 -1
- package/assets/js/highcharts/modules/windbarb.src.js +1 -1
- package/assets/js/highcharts/modules/wordcloud.js +1 -1
- package/assets/js/highcharts/modules/wordcloud.src.js +1 -1
- package/assets/js/highcharts/modules/xrange.js +2 -2
- package/assets/js/highcharts/modules/xrange.src.js +5 -5
- package/assets/js/highcharts/standalone-navigator.js +2 -2
- package/assets/js/highcharts/standalone-navigator.src.js +769 -638
- package/assets/js/highcharts/themes/avocado.js +1 -1
- package/assets/js/highcharts/themes/avocado.src.js +1 -1
- package/assets/js/highcharts/themes/brand-dark.js +2 -2
- package/assets/js/highcharts/themes/brand-dark.src.js +14 -2
- package/assets/js/highcharts/themes/brand-light.js +1 -1
- package/assets/js/highcharts/themes/brand-light.src.js +1 -1
- package/assets/js/highcharts/themes/dark-blue.js +1 -1
- package/assets/js/highcharts/themes/dark-blue.src.js +1 -1
- package/assets/js/highcharts/themes/dark-green.js +1 -1
- package/assets/js/highcharts/themes/dark-green.src.js +1 -1
- package/assets/js/highcharts/themes/dark-unica.js +1 -1
- package/assets/js/highcharts/themes/dark-unica.src.js +1 -1
- package/assets/js/highcharts/themes/gray.js +1 -1
- package/assets/js/highcharts/themes/gray.src.js +1 -1
- package/assets/js/highcharts/themes/grid-light.js +1 -1
- package/assets/js/highcharts/themes/grid-light.src.js +1 -1
- package/assets/js/highcharts/themes/grid.js +1 -1
- package/assets/js/highcharts/themes/grid.src.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-dark.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-dark.src.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-light.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-light.src.js +1 -1
- package/assets/js/highcharts/themes/sand-signika.js +1 -1
- package/assets/js/highcharts/themes/sand-signika.src.js +1 -1
- package/assets/js/highcharts/themes/skies.js +1 -1
- package/assets/js/highcharts/themes/skies.src.js +1 -1
- package/assets/js/highcharts/themes/sunset.js +1 -1
- package/assets/js/highcharts/themes/sunset.src.js +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.4.
|
|
2
|
+
* @license Highcharts JS v11.4.3 (2024-05-22)
|
|
3
3
|
*
|
|
4
4
|
* Highcharts
|
|
5
5
|
*
|
|
@@ -2403,20 +2403,41 @@
|
|
|
2403
2403
|
e.cursor.type
|
|
2404
2404
|
]).join('\0');
|
|
2405
2405
|
}
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2406
|
+
/**
|
|
2407
|
+
* This function emits a state cursor related to a table. It will provide
|
|
2408
|
+
* lasting state cursors of the table to listeners.
|
|
2409
|
+
*
|
|
2410
|
+
* @example
|
|
2411
|
+
* ```ts
|
|
2412
|
+
* dataCursor.emit(myTable, {
|
|
2413
|
+
* type: 'position',
|
|
2414
|
+
* column: 'city',
|
|
2415
|
+
* row: 4,
|
|
2416
|
+
* state: 'hover',
|
|
2417
|
+
* });
|
|
2418
|
+
* ```
|
|
2419
|
+
*
|
|
2420
|
+
* @param {Data.DataTable} table
|
|
2421
|
+
* The related table of the cursor.
|
|
2422
|
+
*
|
|
2423
|
+
* @param {Data.DataCursor.Type} cursor
|
|
2424
|
+
* The state cursor to emit.
|
|
2425
|
+
*
|
|
2426
|
+
* @param {Event} [event]
|
|
2427
|
+
* Optional event information from a related source.
|
|
2428
|
+
*
|
|
2429
|
+
* @param {boolean} [lasting]
|
|
2430
|
+
* Whether this state cursor should be kept until it is cleared with
|
|
2431
|
+
* {@link DataCursor#remitCursor}.
|
|
2432
|
+
*
|
|
2433
|
+
* @return {Data.DataCursor}
|
|
2434
|
+
* Returns the DataCursor instance for a call chain.
|
|
2435
|
+
*/
|
|
2436
|
+
emitCursor(table, cursor, event, lasting) {
|
|
2437
|
+
const tableId = table.id, state = cursor.state, listeners = (this.listenerMap[tableId] &&
|
|
2415
2438
|
this.listenerMap[tableId][state]);
|
|
2416
|
-
lasting = (lasting || eventOrLasting === true);
|
|
2417
2439
|
if (listeners) {
|
|
2418
|
-
const stateMap = this.stateMap[tableId] = (this.stateMap[tableId]
|
|
2419
|
-
{});
|
|
2440
|
+
const stateMap = this.stateMap[tableId] = (this.stateMap[tableId] ?? {});
|
|
2420
2441
|
const cursors = stateMap[cursor.state] || [];
|
|
2421
2442
|
if (lasting) {
|
|
2422
2443
|
if (!cursors.length) {
|
|
@@ -2434,9 +2455,6 @@
|
|
|
2434
2455
|
if (event) {
|
|
2435
2456
|
e.event = event;
|
|
2436
2457
|
}
|
|
2437
|
-
if (group) {
|
|
2438
|
-
e.group = group;
|
|
2439
|
-
}
|
|
2440
2458
|
const emittingRegister = this.emittingRegister, emittingTag = this.buildEmittingTag(e);
|
|
2441
2459
|
if (emittingRegister.indexOf(emittingTag) >= 0) {
|
|
2442
2460
|
// Break call stack loops
|
|
@@ -2504,7 +2522,7 @@
|
|
|
2504
2522
|
this.listenerMap[tableId][state]);
|
|
2505
2523
|
if (listeners) {
|
|
2506
2524
|
const index = listeners.indexOf(listener);
|
|
2507
|
-
if (index) {
|
|
2525
|
+
if (index >= 0) {
|
|
2508
2526
|
listeners.splice(index, 1);
|
|
2509
2527
|
}
|
|
2510
2528
|
}
|
|
@@ -2781,7 +2799,7 @@
|
|
|
2781
2799
|
waitingList = this.waiting[connectorId] = [];
|
|
2782
2800
|
const connectorOptions = this.getConnectorOptions(connectorId);
|
|
2783
2801
|
if (!connectorOptions) {
|
|
2784
|
-
throw new Error(`Connector
|
|
2802
|
+
throw new Error(`Connector '${connectorId}' not found.`);
|
|
2785
2803
|
}
|
|
2786
2804
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
2787
2805
|
this
|
|
@@ -5678,7 +5696,7 @@
|
|
|
5678
5696
|
read(i);
|
|
5679
5697
|
if (c === '#') {
|
|
5680
5698
|
// If there are hexvalues remaining (#13283)
|
|
5681
|
-
if (!/^#[0-
|
|
5699
|
+
if (!/^#[0-9a-f]{3,3}|[0-9a-f]{6,6}/i.test(columnStr.substring(i))) {
|
|
5682
5700
|
// The rest of the row is a comment
|
|
5683
5701
|
push();
|
|
5684
5702
|
return;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.4.
|
|
2
|
+
* @license Highcharts JS v11.4.3 (2024-05-22)
|
|
3
3
|
*
|
|
4
4
|
* Data module
|
|
5
5
|
*
|
|
@@ -1982,10 +1982,10 @@
|
|
|
1982
1982
|
* @sample {highmaps} highcharts/data/column-types-map/
|
|
1983
1983
|
* Map chart created with fips from CSV
|
|
1984
1984
|
*
|
|
1985
|
-
* @type
|
|
1986
|
-
* @since
|
|
1985
|
+
* @type {Array<'string'|'number'|'float'|'date'>}
|
|
1986
|
+
* @since 11.3.0
|
|
1987
1987
|
* @validvalue ["string", "number", "float", "date"]
|
|
1988
|
-
* @apioption
|
|
1988
|
+
* @apioption data.columnTypes
|
|
1989
1989
|
*/
|
|
1990
1990
|
/**
|
|
1991
1991
|
* The callback that is evaluated when the data is finished loading,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highstock JS v11.4.
|
|
2
|
+
* Highstock JS v11.4.3 (2024-05-22)
|
|
3
3
|
*
|
|
4
4
|
* Data grouping module
|
|
5
5
|
*
|
|
6
6
|
* (c) 2010-2024 Torstein Hønsi
|
|
7
7
|
*
|
|
8
8
|
* License: www.highcharts.com/license
|
|
9
|
-
*/function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/datagrouping",["highcharts"],function(i){return t(i),t.Highcharts=i,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var i=t?t._modules:{};function o(t,i,o,e){t.hasOwnProperty(i)||(t[i]=e.apply(null,o),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}o(i,"Extensions/DataGrouping/ApproximationRegistry.js",[],function(){return{}}),o(i,"Extensions/DataGrouping/ApproximationDefaults.js",[i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Core/Utilities.js"]],function(t,i){let{arrayMax:o,arrayMin:e,correctFloat:a,extend:n,isNumber:s}=i;function r(t){let i=t.length,o=p(t);return s(o)&&i&&(o=a(o/i)),o}function p(t){let i=t.length,o;if(!i&&t.hasNulls)o=null;else if(i)for(o=0;i--;)o+=t[i];return o}let l={average:r,averages:function(){let t=[];return[].forEach.call(arguments,function(i){t.push(r(i))}),void 0===t[0]?void 0:t},close:function(t){return t.length?t[t.length-1]:t.hasNulls?null:void 0},high:function(t){return t.length?o(t):t.hasNulls?null:void 0},hlc:function(i,o,e){if(i=t.high(i),o=t.low(o),e=t.close(e),s(i)||s(o)||s(e))return[i,o,e]},low:function(t){return t.length?e(t):t.hasNulls?null:void 0},ohlc:function(i,o,e,a){if(i=t.open(i),o=t.high(o),e=t.low(e),a=t.close(a),s(i)||s(o)||s(e)||s(a))return[i,o,e,a]},open:function(t){return t.length?t[0]:t.hasNulls?null:void 0},range:function(i,o){return(i=t.low(i),o=t.high(o),s(i)||s(o))?[i,o]:null===i&&null===o?null:void 0},sum:p};return n(t,l),l}),o(i,"Extensions/DataGrouping/DataGroupingDefaults.js",[],function(){return{common:{groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %e %b, %H:%M:%S.%L","%A, %e %b, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %e %b, %H:%M:%S","%A, %e %b, %H:%M:%S","-%H:%M:%S"],minute:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],hour:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],day:["%A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],week:["Week from %A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},seriesSpecific:{line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5},hlc:{groupPixelWidth:5},heikinashi:{groupPixelWidth:10}},units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]]}}),o(i,"Extensions/DataGrouping/DataGroupingAxisComposition.js",[i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Core/Utilities.js"]],function(t,i){let o;let{addEvent:e,extend:a,merge:n,pick:s}=i;function r(t){let i=this,o=i.series;o.forEach(function(t){t.groupPixelWidth=void 0}),o.forEach(function(o){o.groupPixelWidth=i.getGroupPixelWidth&&i.getGroupPixelWidth(),o.groupPixelWidth&&(o.hasProcessed=!0),o.applyGrouping(!!t.hasExtremesChanged)})}function p(){let i=this.series,o=i.length,e=0,a=!1,n,r;for(;o--;)(r=i[o].options.dataGrouping)&&(e=Math.max(e,s(r.groupPixelWidth,t.common.groupPixelWidth)),n=(i[o].processedXData||i[o].data).length,(i[o].groupPixelWidth||n>this.chart.plotSizeX/e||n&&r.forced)&&(a=!0));return a?e:0}function l(){this.series.forEach(function(t){t.hasProcessed=!1})}function u(t,i){let e;if(i=s(i,!0),t||(t={forced:!1,units:null}),this instanceof o)for(e=this.series.length;e--;)this.series[e].update({dataGrouping:t},!1);else this.chart.options.series.forEach(function(i){i.dataGrouping="boolean"==typeof t?t:n(t,i.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),i&&this.chart.redraw()}return{compose:function(t){o=t;let i=t.prototype;i.applyGrouping||(e(t,"afterSetScale",l),e(t,"postProcessData",r),a(i,{applyGrouping:r,getGroupPixelWidth:p,setDataGrouping:u}))}}}),o(i,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Core/Axis/DateTimeAxis.js"],i["Core/Defaults.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,i,o,e,a,n){let{series:{prototype:s}}=a,{addEvent:r,defined:p,error:l,extend:u,isNumber:h,merge:g,pick:d}=n,c=s.generatePoints;function f(t){var e;let a,n;let r=this.chart,u=this.options.dataGrouping,g=!1!==this.allowDG&&u&&d(u.enabled,r.options.isStock),c=this.reserveSpace(),f=this.currentDataGrouping,m,x,D=!1;g&&!this.requireSorting&&(this.requireSorting=D=!0);let G=!1==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)||!g;if(D&&(this.requireSorting=!1),G)return;this.destroyGroupedData();let y=u.groupAll?this.xData:this.processedXData,M=u.groupAll?this.yData:this.processedYData,A=r.plotSizeX,S=this.xAxis,j=S.options.ordinal,P=this.groupPixelWidth;if(P&&y&&y.length&&A){n=!0,this.isDirty=!0,this.points=null;let t=S.getExtremes(),g=t.min,d=t.max,f=j&&S.ordinal&&S.ordinal.getGroupIntervalFactor(g,d,this)||1,D=P*(d-g)/A*f,G=S.getTimeTicks(o.Additions.prototype.normalizeTimeTickInterval(D,u.units||i.units),Math.min(g,y[0]),Math.max(d,y[y.length-1]),S.options.startOfWeek,y,this.closestPointRange),b=s.groupData.apply(this,[y,M,G,u.approximation]),E=b.groupedXData,v=b.groupedYData,C=0;for(u&&u.smoothed&&E.length&&(u.firstAnchor="firstPoint",u.anchor="middle",u.lastAnchor="lastPoint",l(32,!1,r,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),a=1;a<G.length;a++)G.info.segmentStarts&&-1!==G.info.segmentStarts.indexOf(a)||(C=Math.max(G[a]-G[a-1],C));(m=G.info).gapSize=C,this.closestPointRange=G.info.totalRange,this.groupMap=b.groupMap,this.currentDataGrouping=m,function(t,i,o){let e=t.options.dataGrouping,a=t.currentDataGrouping&&t.currentDataGrouping.gapSize;if(!(e&&t.xData&&a&&t.groupMap))return;let n=i.length-1,s=e.anchor,r=e.firstAnchor,p=e.lastAnchor,l=i.length-1,u=0;if(r&&t.xData[0]>=i[0]){let o;u++;let e=t.groupMap[0].start,n=t.groupMap[0].length;h(e)&&h(n)&&(o=e+(n-1)),i[0]=({start:i[0],middle:i[0]+.5*a,end:i[0]+a,firstPoint:t.xData[0],lastPoint:o&&t.xData[o]})[r]}if(n>0&&p&&a&&i[n]>=o-a){l--;let o=t.groupMap[t.groupMap.length-1].start;i[n]=({start:i[n],middle:i[n]+.5*a,end:i[n]+a,firstPoint:o&&t.xData[o],lastPoint:t.xData[t.xData.length-1]})[p]}if(s&&"start"!==s){let t=a*({middle:.5,end:1})[s];for(;l>=u;)i[l]+=t,l--}}(this,E,d),c&&(p((e=E)[0])&&h(S.min)&&h(S.dataMin)&&e[0]<S.min&&((!p(S.options.min)&&S.min<=S.dataMin||S.min===S.dataMin)&&(S.min=Math.min(e[0],S.min)),S.dataMin=Math.min(e[0],S.dataMin)),p(e[e.length-1])&&h(S.max)&&h(S.dataMax)&&e[e.length-1]>S.max&&((!p(S.options.max)&&h(S.dataMax)&&S.max>=S.dataMax||S.max===S.dataMax)&&(S.max=Math.max(e[e.length-1],S.max)),S.dataMax=Math.max(e[e.length-1],S.dataMax))),u.groupAll&&(this.allGroupedData=v,E=(x=this.cropData(E,v,S.min,S.max)).xData,v=x.yData,this.cropStart=x.start),this.processedXData=E,this.processedYData=v}else this.groupMap=null;this.hasGroupedData=n,this.preventGraphAnimation=(f&&f.totalRange)!==(m&&m.totalRange)}function m(){this.groupedData&&(this.groupedData.forEach(function(t,i){t&&(this.groupedData[i]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function x(){c.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function D(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function G(i,o,e,a){let n=this,s=n.data,r=n.options&&n.options.data,l=[],u=[],d=[],c=i.length,f=!!o,m=[],x=n.pointArrayMap,D=x&&x.length,G=["x"].concat(x||["y"]),y=this.options.dataGrouping&&this.options.dataGrouping.groupAll,M,A,S,j=0,P=0,b="function"==typeof a?a:a&&t[a]?t[a]:t[n.getDGApproximation&&n.getDGApproximation()||"average"];if(D){let t=x.length;for(;t--;)m.push([])}else m.push([]);let E=D||1;for(let t=0;t<=c;t++)if(!(i[t]<e[0])){for(;void 0!==e[j+1]&&i[t]>=e[j+1]||t===c;){M=e[j],n.dataGroupInfo={start:y?P:n.cropStart+P,length:m[0].length,groupStart:M},S=b.apply(n,m),n.pointClass&&!p(n.dataGroupInfo.options)&&(n.dataGroupInfo.options=g(n.pointClass.prototype.optionsToObject.call({series:n},n.options.data[n.cropStart+P])),G.forEach(function(t){delete n.dataGroupInfo.options[t]})),void 0!==S&&(l.push(M),u.push(S),d.push(n.dataGroupInfo)),P=t;for(let t=0;t<E;t++)m[t].length=0,m[t].hasNulls=!1;if(j+=1,t===c)break}if(t===c)break;if(x){let i;let o=n.options.dataGrouping&&n.options.dataGrouping.groupAll?t:n.cropStart+t,e=s&&s[o]||n.pointClass.prototype.applyOptions.apply({series:n},[r[o]]);for(let t=0;t<D;t++)h(i=e[x[t]])?m[t].push(i):null===i&&(m[t].hasNulls=!0)}else h(A=f?o[t]:null)?m[0].push(A):null===A&&(m[0].hasNulls=!0)}return{groupedXData:l,groupedYData:u,groupMap:d}}function y(t){let o=t.options,a=this.type,n=this.chart.options.plotOptions,s=this.useCommonDataGrouping&&i.common,r=i.seriesSpecific,p=e.defaultOptions.plotOptions[a].dataGrouping;if(n&&(r[a]||s)){let t=this.chart.rangeSelector;p||(p=g(i.common,r[a])),o.dataGrouping=g(s,p,n.series&&n.series.dataGrouping,n[a].dataGrouping,this.userOptions.dataGrouping,!o.isInternal&&t&&h(t.selected)&&t.buttonOptions[t.selected].dataGrouping)}}return{compose:function(t){let i=t.prototype;i.applyGrouping||(r(t.prototype.pointClass,"update",function(){if(this.dataGroup)return l(24,!1,this.series.chart),!1}),r(t,"afterSetOptions",y),r(t,"destroy",m),u(i,{applyGrouping:f,destroyGroupedData:m,generatePoints:x,getDGApproximation:D,groupData:G}))},groupData:G}}),o(i,"Extensions/DataGrouping/DataGrouping.js",[i["Extensions/DataGrouping/DataGroupingAxisComposition.js"],i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Extensions/DataGrouping/DataGroupingSeriesComposition.js"],i["Core/Templating.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i,o,e,a,n){let{format:s}=e,{composed:r}=a,{addEvent:p,extend:l,isNumber:u,pick:h,pushUnique:g}=n;function d(t){let o=this.chart,e=o.time,a=t.labelConfig,n=a.series,r=a.point,p=n.options,g=n.tooltipOptions,d=p.dataGrouping,c=n.xAxis,f=g.xDateFormat,m,x,D,G,y,M=g[t.isFooter?"footerFormat":"headerFormat"];if(c&&"datetime"===c.options.type&&d&&u(a.key)){x=n.currentDataGrouping,D=d.dateTimeLabelFormats||i.common.dateTimeLabelFormats,x?(G=D[x.unitName],1===x.count?f=G[0]:(f=G[1],m=G[2])):!f&&D&&c.dateTime&&(f=c.dateTime.getXDateFormat(a.x,g.dateTimeLabelFormats));let p=h(n.groupMap?.[r.index].groupStart,a.key),u=p+x?.totalRange-1;y=e.dateFormat(f,p),m&&(y+=e.dateFormat(m,u)),n.chart.styledMode&&(M=this.styledModeFormat(M)),t.text=s(M,{point:l(a.point,{key:y}),series:n},o),t.preventDefault()}}return{compose:function(i,e,a){t.compose(i),o.compose(e),a&&g(r,"DataGrouping")&&p(a,"headerFormatter",d)},groupData:o.groupData}}),o(i,"masters/modules/datagrouping.src.js",[i["Core/Globals.js"],i["Extensions/DataGrouping/ApproximationDefaults.js"],i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Extensions/DataGrouping/DataGrouping.js"]],function(t,i,o,e){return t.dataGrouping=t.dataGrouping||{},t.dataGrouping.approximationDefaults=t.dataGrouping.approximationDefaults||i,t.dataGrouping.approximations=t.dataGrouping.approximations||o,e.compose(t.Axis,t.Series,t.Tooltip),t})});
|
|
9
|
+
*/function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/datagrouping",["highcharts"],function(i){return t(i),t.Highcharts=i,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var i=t?t._modules:{};function o(t,i,o,e){t.hasOwnProperty(i)||(t[i]=e.apply(null,o),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}o(i,"Extensions/DataGrouping/ApproximationRegistry.js",[],function(){return{}}),o(i,"Extensions/DataGrouping/ApproximationDefaults.js",[i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Core/Utilities.js"]],function(t,i){let{arrayMax:o,arrayMin:e,correctFloat:a,extend:n,isNumber:s}=i;function r(t){let i=t.length,o=p(t);return s(o)&&i&&(o=a(o/i)),o}function p(t){let i=t.length,o;if(!i&&t.hasNulls)o=null;else if(i)for(o=0;i--;)o+=t[i];return o}let u={average:r,averages:function(){let t=[];return[].forEach.call(arguments,function(i){t.push(r(i))}),void 0===t[0]?void 0:t},close:function(t){return t.length?t[t.length-1]:t.hasNulls?null:void 0},high:function(t){return t.length?o(t):t.hasNulls?null:void 0},hlc:function(i,o,e){if(i=t.high(i),o=t.low(o),e=t.close(e),s(i)||s(o)||s(e))return[i,o,e]},low:function(t){return t.length?e(t):t.hasNulls?null:void 0},ohlc:function(i,o,e,a){if(i=t.open(i),o=t.high(o),e=t.low(e),a=t.close(a),s(i)||s(o)||s(e)||s(a))return[i,o,e,a]},open:function(t){return t.length?t[0]:t.hasNulls?null:void 0},range:function(i,o){return(i=t.low(i),o=t.high(o),s(i)||s(o))?[i,o]:null===i&&null===o?null:void 0},sum:p};return n(t,u),u}),o(i,"Extensions/DataGrouping/DataGroupingDefaults.js",[],function(){return{common:{groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %e %b, %H:%M:%S.%L","%A, %e %b, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %e %b, %H:%M:%S","%A, %e %b, %H:%M:%S","-%H:%M:%S"],minute:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],hour:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],day:["%A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],week:["Week from %A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},seriesSpecific:{line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5},hlc:{groupPixelWidth:5},heikinashi:{groupPixelWidth:10}},units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]]}}),o(i,"Extensions/DataGrouping/DataGroupingAxisComposition.js",[i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Core/Utilities.js"]],function(t,i){let o;let{addEvent:e,extend:a,merge:n,pick:s}=i;function r(t){let i=this,o=i.series;o.forEach(function(t){t.groupPixelWidth=void 0}),o.forEach(function(o){o.groupPixelWidth=i.getGroupPixelWidth&&i.getGroupPixelWidth(),o.groupPixelWidth&&(o.hasProcessed=!0),o.applyGrouping(!!t.hasExtremesChanged)})}function p(){let i=this.series,o=i.length,e=0,a=!1,n,r;for(;o--;)(r=i[o].options.dataGrouping)&&(e=Math.max(e,s(r.groupPixelWidth,t.common.groupPixelWidth)),n=(i[o].processedXData||i[o].data).length,(i[o].groupPixelWidth||n>this.chart.plotSizeX/e||n&&r.forced)&&(a=!0));return a?e:0}function u(){this.series.forEach(function(t){t.hasProcessed=!1})}function l(t,i){let e;if(i=s(i,!0),t||(t={forced:!1,units:null}),this instanceof o)for(e=this.series.length;e--;)this.series[e].update({dataGrouping:t},!1);else this.chart.options.series.forEach(function(i){i.dataGrouping="boolean"==typeof t?t:n(t,i.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),i&&this.chart.redraw()}return{compose:function(t){o=t;let i=t.prototype;i.applyGrouping||(e(t,"afterSetScale",u),e(t,"postProcessData",r),a(i,{applyGrouping:r,getGroupPixelWidth:p,setDataGrouping:l}))}}}),o(i,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Core/Axis/DateTimeAxis.js"],i["Core/Defaults.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,i,o,e,a,n){let{series:{prototype:s}}=a,{addEvent:r,defined:p,error:u,extend:l,isNumber:h,merge:g,pick:d}=n,c=s.generatePoints;function f(t){var e;let a,n;let r=this.chart,l=this.options.dataGrouping,g=!1!==this.allowDG&&l&&d(l.enabled,r.options.isStock),c=this.reserveSpace(),f=this.currentDataGrouping,m,x,D=!1;g&&!this.requireSorting&&(this.requireSorting=D=!0);let G=!1==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)||!g;if(D&&(this.requireSorting=!1),G)return;this.destroyGroupedData();let y=l.groupAll?this.xData:this.processedXData,M=l.groupAll?this.yData:this.processedYData,A=r.plotSizeX,S=this.xAxis,j=S.options.ordinal,P=this.groupPixelWidth;if(P&&y&&y.length&&A){n=!0,this.isDirty=!0,this.points=null;let t=S.getExtremes(),g=t.min,d=t.max,f=j&&S.ordinal&&S.ordinal.getGroupIntervalFactor(g,d,this)||1,D=P*(d-g)/A*f,G=S.getTimeTicks(o.Additions.prototype.normalizeTimeTickInterval(D,l.units||i.units),Math.min(g,y[0]),Math.max(d,y[y.length-1]),S.options.startOfWeek,y,this.closestPointRange),b=s.groupData.apply(this,[y,M,G,l.approximation]),E=b.groupedXData,v=b.groupedYData,C=0;for(l&&l.smoothed&&E.length&&(l.firstAnchor="firstPoint",l.anchor="middle",l.lastAnchor="lastPoint",u(32,!1,r,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),a=1;a<G.length;a++)G.info.segmentStarts&&-1!==G.info.segmentStarts.indexOf(a)||(C=Math.max(G[a]-G[a-1],C));(m=G.info).gapSize=C,this.closestPointRange=G.info.totalRange,this.groupMap=b.groupMap,this.currentDataGrouping=m,function(t,i,o){let e=t.options.dataGrouping,a=t.currentDataGrouping&&t.currentDataGrouping.gapSize;if(!(e&&t.xData&&a&&t.groupMap))return;let n=i.length-1,s=e.anchor,r=e.firstAnchor,p=e.lastAnchor,u=i.length-1,l=0;if(r&&t.xData[0]>=i[0]){let o;l++;let e=t.groupMap[0].start,n=t.groupMap[0].length;h(e)&&h(n)&&(o=e+(n-1)),i[0]=({start:i[0],middle:i[0]+.5*a,end:i[0]+a,firstPoint:t.xData[0],lastPoint:o&&t.xData[o]})[r]}if(n>0&&p&&a&&i[n]>=o-a){u--;let o=t.groupMap[t.groupMap.length-1].start;i[n]=({start:i[n],middle:i[n]+.5*a,end:i[n]+a,firstPoint:o&&t.xData[o],lastPoint:t.xData[t.xData.length-1]})[p]}if(s&&"start"!==s){let t=a*({middle:.5,end:1})[s];for(;u>=l;)i[u]+=t,u--}}(this,E,d),c&&(p((e=E)[0])&&h(S.min)&&h(S.dataMin)&&e[0]<S.min&&((!p(S.options.min)&&S.min<=S.dataMin||S.min===S.dataMin)&&(S.min=Math.min(e[0],S.min)),S.dataMin=Math.min(e[0],S.dataMin)),p(e[e.length-1])&&h(S.max)&&h(S.dataMax)&&e[e.length-1]>S.max&&((!p(S.options.max)&&h(S.dataMax)&&S.max>=S.dataMax||S.max===S.dataMax)&&(S.max=Math.max(e[e.length-1],S.max)),S.dataMax=Math.max(e[e.length-1],S.dataMax))),l.groupAll&&(this.allGroupedData=v,E=(x=this.cropData(E,v,S.min,S.max)).xData,v=x.yData,this.cropStart=x.start),this.processedXData=E,this.processedYData=v}else this.groupMap=null,this.currentDataGrouping=void 0;this.hasGroupedData=n,this.preventGraphAnimation=(f&&f.totalRange)!==(m&&m.totalRange)}function m(){this.groupedData&&(this.groupedData.forEach(function(t,i){t&&(this.groupedData[i]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function x(){c.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function D(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function G(i,o,e,a){let n=this,s=n.data,r=n.options&&n.options.data,u=[],l=[],d=[],c=i.length,f=!!o,m=[],x=n.pointArrayMap,D=x&&x.length,G=["x"].concat(x||["y"]),y=this.options.dataGrouping&&this.options.dataGrouping.groupAll,M,A,S,j=0,P=0,b="function"==typeof a?a:a&&t[a]?t[a]:t[n.getDGApproximation&&n.getDGApproximation()||"average"];if(D){let t=x.length;for(;t--;)m.push([])}else m.push([]);let E=D||1;for(let t=0;t<=c;t++)if(!(i[t]<e[0])){for(;void 0!==e[j+1]&&i[t]>=e[j+1]||t===c;){M=e[j],n.dataGroupInfo={start:y?P:n.cropStart+P,length:m[0].length,groupStart:M},S=b.apply(n,m),n.pointClass&&!p(n.dataGroupInfo.options)&&(n.dataGroupInfo.options=g(n.pointClass.prototype.optionsToObject.call({series:n},n.options.data[n.cropStart+P])),G.forEach(function(t){delete n.dataGroupInfo.options[t]})),void 0!==S&&(u.push(M),l.push(S),d.push(n.dataGroupInfo)),P=t;for(let t=0;t<E;t++)m[t].length=0,m[t].hasNulls=!1;if(j+=1,t===c)break}if(t===c)break;if(x){let i;let o=n.options.dataGrouping&&n.options.dataGrouping.groupAll?t:n.cropStart+t,e=s&&s[o]||n.pointClass.prototype.applyOptions.apply({series:n},[r[o]]);for(let t=0;t<D;t++)h(i=e[x[t]])?m[t].push(i):null===i&&(m[t].hasNulls=!0)}else h(A=f?o[t]:null)?m[0].push(A):null===A&&(m[0].hasNulls=!0)}return{groupedXData:u,groupedYData:l,groupMap:d}}function y(t){let o=t.options,a=this.type,n=this.chart.options.plotOptions,s=this.useCommonDataGrouping&&i.common,r=i.seriesSpecific,p=e.defaultOptions.plotOptions[a].dataGrouping;if(n&&(r[a]||s)){let t=this.chart.rangeSelector;p||(p=g(i.common,r[a])),o.dataGrouping=g(s,p,n.series&&n.series.dataGrouping,n[a].dataGrouping,this.userOptions.dataGrouping,!o.isInternal&&t&&h(t.selected)&&t.buttonOptions[t.selected].dataGrouping)}}return{compose:function(t){let i=t.prototype;i.applyGrouping||(r(t.prototype.pointClass,"update",function(){if(this.dataGroup)return u(24,!1,this.series.chart),!1}),r(t,"afterSetOptions",y),r(t,"destroy",m),l(i,{applyGrouping:f,destroyGroupedData:m,generatePoints:x,getDGApproximation:D,groupData:G}))},groupData:G}}),o(i,"Extensions/DataGrouping/DataGrouping.js",[i["Extensions/DataGrouping/DataGroupingAxisComposition.js"],i["Extensions/DataGrouping/DataGroupingDefaults.js"],i["Extensions/DataGrouping/DataGroupingSeriesComposition.js"],i["Core/Templating.js"],i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i,o,e,a,n){let{format:s}=e,{composed:r}=a,{addEvent:p,extend:u,isNumber:l,pick:h,pushUnique:g}=n;function d(t){let o=this.chart,e=o.time,a=t.labelConfig,n=a.series,r=a.point,p=n.options,g=n.tooltipOptions,d=p.dataGrouping,c=n.xAxis,f=g.xDateFormat,m,x,D,G,y,M=g[t.isFooter?"footerFormat":"headerFormat"];if(c&&"datetime"===c.options.type&&d&&l(a.key)){x=n.currentDataGrouping,D=d.dateTimeLabelFormats||i.common.dateTimeLabelFormats,x?(G=D[x.unitName],1===x.count?f=G[0]:(f=G[1],m=G[2])):!f&&D&&c.dateTime&&(f=c.dateTime.getXDateFormat(a.x,g.dateTimeLabelFormats));let p=h(n.groupMap?.[r.index].groupStart,a.key),l=p+x?.totalRange-1;y=e.dateFormat(f,p),m&&(y+=e.dateFormat(m,l)),n.chart.styledMode&&(M=this.styledModeFormat(M)),t.text=s(M,{point:u(a.point,{key:y}),series:n},o),t.preventDefault()}}return{compose:function(i,e,a){t.compose(i),o.compose(e),a&&g(r,"DataGrouping")&&p(a,"headerFormatter",d)},groupData:o.groupData}}),o(i,"masters/modules/datagrouping.src.js",[i["Core/Globals.js"],i["Extensions/DataGrouping/ApproximationDefaults.js"],i["Extensions/DataGrouping/ApproximationRegistry.js"],i["Extensions/DataGrouping/DataGrouping.js"]],function(t,i,o,e){return t.dataGrouping=t.dataGrouping||{},t.dataGrouping.approximationDefaults=t.dataGrouping.approximationDefaults||i,t.dataGrouping.approximations=t.dataGrouping.approximations||o,e.compose(t.Axis,t.Series,t.Tooltip),t})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highstock JS v11.4.
|
|
2
|
+
* @license Highstock JS v11.4.3 (2024-05-22)
|
|
3
3
|
*
|
|
4
4
|
* Data grouping module
|
|
5
5
|
*
|
|
@@ -757,6 +757,7 @@
|
|
|
757
757
|
}
|
|
758
758
|
else {
|
|
759
759
|
series.groupMap = null;
|
|
760
|
+
series.currentDataGrouping = void 0;
|
|
760
761
|
}
|
|
761
762
|
series.hasGroupedData = hasGroupedData;
|
|
762
763
|
series.preventGraphAnimation =
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highcharts JS v11.4.
|
|
2
|
+
* Highcharts JS v11.4.3 (2024-05-22)
|
|
3
3
|
*
|
|
4
4
|
* Dot plot series type for Highcharts
|
|
5
5
|
*
|
|
6
6
|
* (c) 2010-2024 Torstein Honsi
|
|
7
7
|
*
|
|
8
8
|
* License: www.highcharts.com/license
|
|
9
|
-
*/function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/dotplot",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function
|
|
9
|
+
*/function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/dotplot",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function s(t,e,s,i){t.hasOwnProperty(e)||(t[e]=i.apply(null,s),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}s(e,"Series/DotPlot/DotPlotSeriesDefaults.js",[],function(){return{itemPadding:.1,marker:{symbol:"circle",states:{hover:{},select:{}}},slotsPerBar:void 0}}),s(e,"Series/DotPlot/DotPlotSeries.js",[e["Series/DotPlot/DotPlotSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,s){let{column:i}=e.seriesTypes,{extend:o,isNumber:r,merge:l,pick:d}=s;class n extends i{drawPoints(){let t=this.options,e=this.chart.renderer,s=t.marker,i=this.points.reduce((t,e)=>t+Math.abs(e.y||0),0),l=this.points.reduce((t,e)=>t+(e.shapeArgs?.height||0),0),n=t.itemPadding||0,a=this.points[0]?.shapeArgs?.width||0,h=t.slotsPerBar,c=a;if(!r(h))for(h=1;h<i&&!(i/h<l/c*1.2);)c=a/++h;let p=l*h/i;for(let t of this.points){let i=t.marker||{},r=i.symbol||s.symbol,l=d(i.radius,s.radius),a="rect"!==r?p:c,u=t.shapeArgs||{},f=(u.x||0)+((u.width||0)-h*a)/2,g=Math.abs(t.y??0),m=u.y||0,y=u.height||0,v,P=f,b=t.negative?m:m+y-p,A=0;t.graphics=v=t.graphics||[];let w=t.pointAttr?t.pointAttr[t.selected?"selected":""]||this.pointAttr[""]:this.pointAttribs(t,t.selected&&"select");if(delete w.r,this.chart.styledMode&&(delete w.stroke,delete w["stroke-width"]),"number"==typeof t.y){t.graphic||(t.graphic=e.g("point").add(this.group));for(let s=0;s<g;s++){let i={x:P+a*n,y:b+p*n,width:a*(1-2*n),height:p*(1-2*n),r:l},d=v[s];d?d.animate(i):d=e.symbol(r).attr(o(i,w)).add(t.graphic),d.isActive=!0,v[s]=d,P+=a,++A>=h&&(A=0,P=f,b=t.negative?b+p:b-p)}}let S=-1;for(let t of v)++S,t&&(t.isActive?t.isActive=!1:(t.destroy(),v.splice(S,1)))}}}return n.defaultOptions=l(i.defaultOptions,t),o(n.prototype,{markerAttribs:void 0}),e.registerSeriesType("dotplot",n),n}),s(e,"masters/modules/dotplot.src.js",[e["Core/Globals.js"]],function(t){return t})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.4.
|
|
2
|
+
* @license Highcharts JS v11.4.3 (2024-05-22)
|
|
3
3
|
*
|
|
4
4
|
* Dot plot series type for Highcharts
|
|
5
5
|
*
|
|
@@ -53,14 +53,15 @@
|
|
|
53
53
|
*
|
|
54
54
|
* */
|
|
55
55
|
const DotPlotSeriesDefaults = {
|
|
56
|
-
itemPadding: 0.
|
|
56
|
+
itemPadding: 0.1,
|
|
57
57
|
marker: {
|
|
58
58
|
symbol: 'circle',
|
|
59
59
|
states: {
|
|
60
60
|
hover: {},
|
|
61
61
|
select: {}
|
|
62
62
|
}
|
|
63
|
-
}
|
|
63
|
+
},
|
|
64
|
+
slotsPerBar: void 0
|
|
64
65
|
};
|
|
65
66
|
/* *
|
|
66
67
|
*
|
|
@@ -90,7 +91,7 @@
|
|
|
90
91
|
* Highcharts symbols.
|
|
91
92
|
*/
|
|
92
93
|
const { column: ColumnSeries } = SeriesRegistry.seriesTypes;
|
|
93
|
-
const { extend, merge, pick } = U;
|
|
94
|
+
const { extend, isNumber, merge, pick } = U;
|
|
94
95
|
/* *
|
|
95
96
|
*
|
|
96
97
|
* Class
|
|
@@ -110,12 +111,26 @@
|
|
|
110
111
|
*
|
|
111
112
|
* */
|
|
112
113
|
drawPoints() {
|
|
113
|
-
const series = this, options = series.options, renderer = series.chart.renderer, seriesMarkerOptions = options.marker,
|
|
114
|
-
|
|
114
|
+
const series = this, options = series.options, renderer = series.chart.renderer, seriesMarkerOptions = options.marker, total = this.points.reduce((acc, point) => acc + Math.abs(point.y || 0), 0), totalHeight = this.points.reduce((acc, point) => acc + (point.shapeArgs?.height || 0), 0), itemPadding = options.itemPadding || 0, columnWidth = this.points[0]?.shapeArgs?.width || 0;
|
|
115
|
+
let slotsPerBar = options.slotsPerBar, slotWidth = columnWidth;
|
|
116
|
+
// Find the suitable number of slots per column
|
|
117
|
+
if (!isNumber(slotsPerBar)) {
|
|
118
|
+
slotsPerBar = 1;
|
|
119
|
+
while (slotsPerBar < total) {
|
|
120
|
+
if (total / slotsPerBar <
|
|
121
|
+
(totalHeight / slotWidth) * 1.2) {
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
slotsPerBar++;
|
|
125
|
+
slotWidth = columnWidth / slotsPerBar;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const height = (totalHeight * slotsPerBar) / total;
|
|
115
129
|
for (const point of series.points) {
|
|
116
130
|
const pointMarkerOptions = point.marker || {}, symbol = (pointMarkerOptions.symbol ||
|
|
117
|
-
seriesMarkerOptions.symbol), radius = pick(pointMarkerOptions.radius, seriesMarkerOptions.radius), isSquare = symbol !== 'rect'
|
|
118
|
-
|
|
131
|
+
seriesMarkerOptions.symbol), radius = pick(pointMarkerOptions.radius, seriesMarkerOptions.radius), isSquare = symbol !== 'rect', width = isSquare ? height : slotWidth, shapeArgs = point.shapeArgs || {}, startX = (shapeArgs.x || 0) + ((shapeArgs.width || 0) -
|
|
132
|
+
slotsPerBar * width) / 2, positiveYValue = Math.abs(point.y ?? 0), shapeY = (shapeArgs.y || 0), shapeHeight = (shapeArgs.height || 0);
|
|
133
|
+
let graphics, x = startX, y = point.negative ? shapeY : shapeY + shapeHeight - height, slotColumn = 0;
|
|
119
134
|
point.graphics = graphics = point.graphics || [];
|
|
120
135
|
const pointAttr = point.pointAttr ?
|
|
121
136
|
(point.pointAttr[point.selected ? 'selected' : ''] ||
|
|
@@ -126,41 +141,37 @@
|
|
|
126
141
|
delete pointAttr.stroke;
|
|
127
142
|
delete pointAttr['stroke-width'];
|
|
128
143
|
}
|
|
129
|
-
if (point.y
|
|
144
|
+
if (typeof point.y === 'number') {
|
|
130
145
|
if (!point.graphic) {
|
|
131
146
|
point.graphic = renderer.g('point').add(series.group);
|
|
132
147
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
0);
|
|
140
|
-
y = series.yAxis.toPixels(yPos, true) +
|
|
141
|
-
itemPaddingTranslated / 2;
|
|
142
|
-
if (series.options.crisp) {
|
|
143
|
-
x = Math.round(x) - crisp;
|
|
144
|
-
y = Math.round(y) + crisp;
|
|
145
|
-
}
|
|
146
|
-
attr = {
|
|
147
|
-
x: x,
|
|
148
|
-
y: y,
|
|
149
|
-
width: Math.round(isSquare ? size : point.pointWidth),
|
|
150
|
-
height: Math.round(size),
|
|
148
|
+
for (let val = 0; val < positiveYValue; val++) {
|
|
149
|
+
const attr = {
|
|
150
|
+
x: x + width * itemPadding,
|
|
151
|
+
y: y + height * itemPadding,
|
|
152
|
+
width: width * (1 - 2 * itemPadding),
|
|
153
|
+
height: height * (1 - 2 * itemPadding),
|
|
151
154
|
r: radius
|
|
152
155
|
};
|
|
153
|
-
let graphic = graphics[
|
|
156
|
+
let graphic = graphics[val];
|
|
154
157
|
if (graphic) {
|
|
155
158
|
graphic.animate(attr);
|
|
156
159
|
}
|
|
157
160
|
else {
|
|
158
|
-
graphic = renderer
|
|
161
|
+
graphic = renderer
|
|
162
|
+
.symbol(symbol)
|
|
159
163
|
.attr(extend(attr, pointAttr))
|
|
160
164
|
.add(point.graphic);
|
|
161
165
|
}
|
|
162
166
|
graphic.isActive = true;
|
|
163
|
-
graphics[
|
|
167
|
+
graphics[val] = graphic;
|
|
168
|
+
x += width;
|
|
169
|
+
slotColumn++;
|
|
170
|
+
if (slotColumn >= slotsPerBar) {
|
|
171
|
+
slotColumn = 0;
|
|
172
|
+
x = startX;
|
|
173
|
+
y = point.negative ? y + height : y - height;
|
|
174
|
+
}
|
|
164
175
|
}
|
|
165
176
|
}
|
|
166
177
|
let i = -1;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highstock JS v11.4.
|
|
2
|
+
* Highstock JS v11.4.3 (2024-05-22)
|
|
3
3
|
*
|
|
4
4
|
* Drag-panes module
|
|
5
5
|
*
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* Author: Kacper Madej
|
|
8
8
|
*
|
|
9
9
|
* License: www.highcharts.com/license
|
|
10
|
-
*/function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/drag-panes",["highcharts","highcharts/modules/stock"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function s(e,t,s,i){e.hasOwnProperty(t)||(e[t]=i.apply(null,s),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}s(t,"Extensions/DragPanes/AxisResizerDefaults.js",[],function(){return{minLength:"10%",maxLength:"100%",resize:{controlledAxis:{next:[],prev:[]},enabled:!1,cursor:"ns-resize",lineColor:"#cccccc",lineDashStyle:"Solid",lineWidth:4,x:0,y:0}}}),s(t,"Extensions/DragPanes/AxisResizer.js",[t["Extensions/DragPanes/AxisResizerDefaults.js"],t["Core/Utilities.js"]],function(e,t){let{addEvent:s,clamp:i,isNumber:o,relativeLength:n}=t;class r{constructor(e){this.init(e)}init(e,t){this.axis=e,this.options=e.options.resize||{},this.render(),t||this.addMouseEvents()}render(){let e=this.axis,t=e.chart,s=this.options,o=s.x||0,n=s.y,r=i(e.top+e.height+n,t.plotTop,t.plotTop+t.plotHeight),a={};t.styledMode||(a={cursor:s.cursor,stroke:s.lineColor,"stroke-width":s.lineWidth,dashstyle:s.lineDashStyle}),this.lastPos=r-n,this.controlLine||(this.controlLine=t.renderer.path().addClass("highcharts-axis-resizer")),this.controlLine.add(e.axisGroup);let h=t.styledMode?this.controlLine.strokeWidth():s.lineWidth;a.d=t.renderer.crispLine([["M",e.left+o,r],["L",e.left+e.width+o,r]],h),this.controlLine.attr(a)}addMouseEvents(){let e,t,i;let o=this,n=o.controlLine.element,r=o.axis.chart.container,a=[];o.mouseMoveHandler=e=e=>o.onMouseMove(e),o.mouseUpHandler=t=e=>o.onMouseUp(e),o.mouseDownHandler=i=()=>o.onMouseDown(),a.push(s(r,"mousemove",e),s(r.ownerDocument,"mouseup",t),s(n,"mousedown",i),s(r,"touchmove",e),s(r.ownerDocument,"touchend",t),s(n,"touchstart",i)),o.eventsToUnbind=a}onMouseMove(e){if(!e.touches||0!==e.touches[0].pageX){let t=this.axis.chart.pointer;this.grabbed&&t&&(this.hasDragged=!0,this.updateAxes(t.normalize(e).chartY-(this.options.y||0)))}}onMouseUp(e){let t=this.axis.chart.pointer;this.hasDragged&&t&&this.updateAxes(t.normalize(e).chartY-(this.options.y||0)),this.grabbed=this.hasDragged=this.axis.chart.activeResizer=void 0}onMouseDown(){this.axis.chart.pointer?.reset(!1,0),this.grabbed=this.axis.chart.activeResizer=!0}updateAxes(e){let t=this.axis.chart,s=this.options.controlledAxis,r=0===s.next.length?[t.yAxis.indexOf(this.axis)+1]:s.next,a=[this.axis].concat(s.prev),h=[],l=t.plotTop,c=t.plotHeight,d=l+c,u=e=>100*e/c+"%",p=(e,t,s)=>Math.round(i(e,t,s));e=i(e,l,d);let x=!1,f=e-this.lastPos;if(f*f<1)return;let g=!0;for(let s of[a,r])for(let i of s){let s,r;let a=o(i)?t.yAxis[i]:g?i:t.get(i),m=a&&a.options,y={};if(!m||
|
|
10
|
+
*/function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/drag-panes",["highcharts","highcharts/modules/stock"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function s(e,t,s,i){e.hasOwnProperty(t)||(e[t]=i.apply(null,s),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}s(t,"Extensions/DragPanes/AxisResizerDefaults.js",[],function(){return{minLength:"10%",maxLength:"100%",resize:{controlledAxis:{next:[],prev:[]},enabled:!1,cursor:"ns-resize",lineColor:"#cccccc",lineDashStyle:"Solid",lineWidth:4,x:0,y:0}}}),s(t,"Extensions/DragPanes/AxisResizer.js",[t["Extensions/DragPanes/AxisResizerDefaults.js"],t["Core/Utilities.js"]],function(e,t){let{addEvent:s,clamp:i,isNumber:o,relativeLength:n}=t;class r{constructor(e){this.init(e)}init(e,t){this.axis=e,this.options=e.options.resize||{},this.render(),t||this.addMouseEvents()}render(){let e=this.axis,t=e.chart,s=this.options,o=s.x||0,n=s.y,r=i(e.top+e.height+n,t.plotTop,t.plotTop+t.plotHeight),a={};t.styledMode||(a={cursor:s.cursor,stroke:s.lineColor,"stroke-width":s.lineWidth,dashstyle:s.lineDashStyle}),this.lastPos=r-n,this.controlLine||(this.controlLine=t.renderer.path().addClass("highcharts-axis-resizer")),this.controlLine.add(e.axisGroup);let h=t.styledMode?this.controlLine.strokeWidth():s.lineWidth;a.d=t.renderer.crispLine([["M",e.left+o,r],["L",e.left+e.width+o,r]],h),this.controlLine.attr(a)}addMouseEvents(){let e,t,i;let o=this,n=o.controlLine.element,r=o.axis.chart.container,a=[];o.mouseMoveHandler=e=e=>o.onMouseMove(e),o.mouseUpHandler=t=e=>o.onMouseUp(e),o.mouseDownHandler=i=()=>o.onMouseDown(),a.push(s(r,"mousemove",e),s(r.ownerDocument,"mouseup",t),s(n,"mousedown",i),s(r,"touchmove",e),s(r.ownerDocument,"touchend",t),s(n,"touchstart",i)),o.eventsToUnbind=a}onMouseMove(e){if(!e.touches||0!==e.touches[0].pageX){let t=this.axis.chart.pointer;this.grabbed&&t&&(this.hasDragged=!0,this.updateAxes(t.normalize(e).chartY-(this.options.y||0)))}}onMouseUp(e){let t=this.axis.chart.pointer;this.hasDragged&&t&&this.updateAxes(t.normalize(e).chartY-(this.options.y||0)),this.grabbed=this.hasDragged=this.axis.chart.activeResizer=void 0}onMouseDown(){this.axis.chart.pointer?.reset(!1,0),this.grabbed=this.axis.chart.activeResizer=!0}updateAxes(e){let t=this.axis.chart,s=this.options.controlledAxis,r=0===s.next.length?[t.yAxis.indexOf(this.axis)+1]:s.next,a=[this.axis].concat(s.prev),h=[],l=t.plotTop,c=t.plotHeight,d=l+c,u=e=>100*e/c+"%",p=(e,t,s)=>Math.round(i(e,t,s));e=i(e,l,d);let x=!1,f=e-this.lastPos;if(f*f<1)return;let g=!0;for(let s of[a,r])for(let i of s){let s,r;let a=o(i)?t.yAxis[i]:g?i:t.get(i),m=a&&a.options,y={};if(!m||m.isInternal){g=!1;continue}r=a.top;let z=Math.round(n(m.minLength||NaN,c)),v=Math.round(n(m.maxLength||NaN,c));if(g)(s=p(e-r,z,v))===v&&(x=!0),e=r+s,h.push({axis:a,options:{height:u(s)}});else{if(f=e-this.lastPos,s=p(a.len-f,z,v),(r=a.top+f)+s>d){let t=d-s-r;e+=t,r+=t}r<l&&(r=l)+s>d&&(s=c),s===z&&(x=!0),h.push({axis:a,options:{top:u(r-l),height:u(s)}})}g=!1,y.height=s}if(!x){for(let e of h)e.axis.update(e.options,!1);t.redraw(!1)}}destroy(){let e=this.axis;for(let t of(delete e.resizer,this.eventsToUnbind&&this.eventsToUnbind.forEach(e=>e()),this.controlLine.destroy(),Object.keys(this)))this[t]=null}}return r.resizerOptions=e,r}),s(t,"Extensions/DragPanes/DragPanes.js",[t["Extensions/DragPanes/AxisResizer.js"],t["Core/Defaults.js"],t["Core/Utilities.js"]],function(e,t,s){let{defaultOptions:i}=t,{addEvent:o,merge:n,wrap:r}=s;function a(){let t=this.resizer,s=this.options.resize;if(s){let i=!1!==s.enabled;t?i?t.init(this,!0):t.destroy():i&&(this.resizer=new e(this))}}function h(e){!e.keepEvents&&this.resizer&&this.resizer.destroy()}function l(e){this.chart.activeResizer||e.apply(this,[].slice.call(arguments,1))}function c(e){this.chart.activeResizer||e.apply(this,[].slice.call(arguments,1))}return{compose:function(t,s){t.keepProps.includes("resizer")||(n(!0,i.yAxis,e.resizerOptions),t.keepProps.push("resizer"),o(t,"afterRender",a),o(t,"destroy",h),r(s.prototype,"runPointActions",c),r(s.prototype,"drag",l))}}}),s(t,"masters/modules/drag-panes.src.js",[t["Core/Globals.js"],t["Extensions/DragPanes/AxisResizer.js"],t["Extensions/DragPanes/DragPanes.js"]],function(e,t,s){return e.AxisResizer=t,s.compose(e.Axis,e.Pointer),e})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highstock JS v11.4.
|
|
2
|
+
* @license Highstock JS v11.4.3 (2024-05-22)
|
|
3
3
|
*
|
|
4
4
|
* Drag-panes module
|
|
5
5
|
*
|
|
@@ -420,8 +420,7 @@
|
|
|
420
420
|
let height, top;
|
|
421
421
|
// Skip if axis is not found
|
|
422
422
|
// or it is navigator's yAxis (#7732)
|
|
423
|
-
if (!axisOptions ||
|
|
424
|
-
axisOptions.id === 'navigator-y-axis') {
|
|
423
|
+
if (!axisOptions || axisOptions.isInternal) {
|
|
425
424
|
isFirst = false;
|
|
426
425
|
continue;
|
|
427
426
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highcharts JS v11.4.
|
|
2
|
+
* Highcharts JS v11.4.3 (2024-05-22)
|
|
3
3
|
*
|
|
4
4
|
* (c) 2009-2024 Torstein Honsi
|
|
5
5
|
*
|
|
6
6
|
* License: www.highcharts.com/license
|
|
7
|
-
*/function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/draggable-points",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function r(e,t,r,o){e.hasOwnProperty(t)||(e[t]=o.apply(null,r),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}r(t,"Extensions/DraggablePoints/DragDropUtilities.js",[t["Core/Utilities.js"]],function(e){let{addEvent:t}=e;return{addEvents:function(e,r,o,a){let i=r.map(r=>t(e,r,o,a));return function(){for(let e of i)e()}},countProps:function(e){return Object.keys(e).length},getFirstProp:function(e){for(let t in e)if(Object.hasOwnProperty.call(e,t))return e[t]},getNormalizedEvent:function(e,t){return(void 0===e.chartX||void 0===e.chartY)&&t.pointer?.normalize(e)||e}}}),r(t,"Extensions/DraggablePoints/DragDropDefaults.js",[],function(){return{dragSensitivity:2,dragHandle:{className:"highcharts-drag-handle",color:"#fff",lineColor:"rgba(0, 0, 0, 0.6)",lineWidth:1,zIndex:901},guideBox:{default:{className:"highcharts-drag-box-default",lineWidth:1,lineColor:"#888",color:"rgba(0, 0, 0, 0.1)",cursor:"move",zIndex:900}}}}),r(t,"Extensions/DraggablePoints/DraggableChart.js",[t["Core/Animation/AnimationUtilities.js"],t["Extensions/DraggablePoints/DragDropUtilities.js"],t["Extensions/DraggablePoints/DragDropDefaults.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,t,r,o,a){let{animObject:i}=e,{addEvents:s,countProps:n,getFirstProp:d,getNormalizedEvent:l}=t,{doc:g}=o,{addEvent:p,merge:h,pick:u}=a;function x(){let e=this.dragHandles||{};if(e){for(let t of Object.keys(e))e[t].destroy&&e[t].destroy();delete this.dragHandles}}function c(e,t){let o=this.dragGuideBox,a=h(r.guideBox,t),i=h(a.default,a[e]);return o.attr({class:i.className,stroke:i.lineColor,strokeWidth:i.lineWidth,fill:i.color,cursor:i.cursor,zIndex:i.zIndex}).css({pointerEvents:"none"})}function m(e){let t=this.options.chart||{},r=t.panKey&&t.panKey+"Key";return e[this.zooming.key&&this.zooming.key+"Key"]||e[r]}function f(e){return({left:"right",right:"left",top:"bottom",bottom:"top"})[e]}function D(e,t){let r;let o=function(e){let t=e.series,r=t.options.data||[],o=t.options.dragDrop.groupBy,a=[];if(t.boosted)for(let e=0,o=r.length;e<o;++e)a.push(new t.pointClass(t,r[e])),a[a.length-1].index=e;else a=t.points;return e.options[o]?a.filter(t=>t.options[o]===e.options[o]):[e]}(t),a=t.series,i=a.chart;u(a.options.dragDrop&&a.options.dragDrop.liveRedraw,!0)||(i.dragGuideBox=r=a.getGuideBox(o),i.setGuideBoxState("default",a.options.dragDrop.guideBox).add(a.group)),i.dragDropData={origin:function(e,t,r){let o={chartX:e.chartX,chartY:e.chartY,guideBox:r&&{x:r.attr("x"),y:r.attr("y"),width:r.attr("width"),height:r.attr("height")},points:{}};for(let r of t){let t=r.series.dragDropProps||{},a={};for(let o of Object.keys(t)){let i=t[o],s=r.series[i.axis+"Axis"];a[o]=r[o],r.series.chart.mapView&&r.plotX&&r.plotY?a[o+"Offset"]="x"===o?r.plotX:r.plotY:a[o+"Offset"]=s.toPixels(r[o])-(s.horiz?e.chartX:e.chartY)}a.point=r,o.points[r.id]=a}return o}(e,o,r),point:t,groupedPoints:o,isDragging:!0}}function y(e,t){let r=t.dragDropData;if(r&&r.isDragging&&r.draggedPastSensitivity&&r.point.series){let o=r.point,a=r.newPoints,i=n(a),s=1===i?d(a):null;t.dragHandles&&t.hideDragHandles(),e.preventDefault(),t.cancelClick=!0,o.firePointEvent("drop",{origin:r.origin,chartX:e.chartX,chartY:e.chartY,newPoints:a,numNewPoints:i,newPoint:s&&s.newValues,newPointId:s&&s.point.id},function(){v(t)})}delete t.dragDropData,t.dragGuideBox&&(t.dragGuideBox.destroy(),delete t.dragGuideBox)}function P(){this.hasAddedDragDropEvents||function(e){let t=e.container;(function(e){let t=e.series?e.series.length:0;if(e.hasCartesianSeries&&!e.polar||e.mapView){for(;t--;)if(e.series[t].options.dragDrop&&function(e){let t;let r=["draggableX","draggableY"],o=e.dragDropProps||{};for(let e of Object.keys(o))(t=o[e]).optionName&&r.push(t.optionName);let a=r.length;for(;a--;)if(e.options.dragDrop[r[a]])return!0}(e.series[t]))return!0}return!1})(e)&&(s(t,["mousedown","touchstart"],t=>{(function(e,t){let r=t.hoverPoint,o=h(r&&r.series.options.dragDrop,r&&r.options.dragDrop),a=o.draggableX||!1,i=o.draggableY||!1;if(t.cancelClick=!1,!(!(a||i)||t.zoomOrPanKeyPressed(e))&&!t.hasDraggedAnnotation){if(t.dragDropData&&t.dragDropData.isDragging){y(e,t);return}r&&function(e){let t,r,o;let a=e.series,i=a.chart,s=a.options.dragDrop||{},n=e.options&&e.options.dragDrop,d=a.dragDropProps;for(let e in d)"x"===(t=d[e]).axis&&t.move?r=!0:"y"===t.axis&&t.move&&(o=!0);return(s.draggableX&&r||s.draggableY&&o)&&!(n&&!1===n.draggableX&&!1===n.draggableY)&&(!!(a.yAxis&&a.xAxis)||i.mapView)}(r)&&(t.mouseIsDown=!1,D(e,r),r.firePointEvent("dragStart",e))}})(l(t,e),e)}),s(t,["mousemove","touchmove"],t=>{(function(e,t){if(t.zoomOrPanKeyPressed(e))return;let o=t.dragDropData,a,i,s,l=0,g;o&&o.isDragging&&o.point.series&&(i=(a=o.point).series.options.dragDrop,e.preventDefault(),o.draggedPastSensitivity||(o.draggedPastSensitivity=function(e,t,r){let o=t.dragDropData.origin,a=o.chartX,i=o.chartY,s=e.chartX,n=e.chartY;return Math.sqrt((s-a)*(s-a)+(n-i)*(n-i))>r}(e,t,u(a.options.dragDrop&&a.options.dragDrop.dragSensitivity,i&&i.dragSensitivity,r.dragSensitivity))),o.draggedPastSensitivity&&(o.newPoints=function(e,t){let r=e.point,o=r.series,a=o.chart,i=h(o.options.dragDrop,r.options.dragDrop),s={},n=e.updateProp,d={},l=r.series.dragDropProps;for(let e in l){let t=l[e];(!n||n===e&&t.resize&&(!t.optionName||!1!==i[t.optionName]))&&(n||t.move&&("x"===t.axis&&i.draggableX||"y"===t.axis&&i.draggableY))&&(a.mapView?s["x"===e?"lon":"lat"]=t:s[e]=t)}for(let o of n?[r]:e.groupedPoints)d[o.id]={point:o,newValues:o.getDropValues(e.origin,t,s)};return d}(o,e),g=1===(l=n(s=o.newPoints))?d(s):null,a.firePointEvent("drag",{origin:o.origin,newPoints:o.newPoints,newPoint:g&&g.newValues,newPointId:g&&g.point.id,numNewPoints:l,chartX:e.chartX,chartY:e.chartY},function(){!function(e,t){let r=t.series,o=r.chart,a=o.dragDropData,i=h(r.options.dragDrop,t.options.dragDrop),s=i.draggableX,n=i.draggableY,d=a.origin,l=a.updateProp,g=e.chartX-d.chartX,p=e.chartY-d.chartY,x=g;o.inverted&&(g=-p,p=-x),u(i.liveRedraw,!0)?(v(o,!1),t.showDragHandles()):l?function(e,t,r){let o=e.series,a=o.chart,i=a.dragDropData,s=o.dragDropProps[i.updateProp],n=i.newPoints[e.id].newValues,d="function"==typeof s.resizeSide?s.resizeSide(n,e):s.resizeSide;s.beforeResize&&s.beforeResize(a.dragGuideBox,n,e),function(e,t,r){let o;switch(t){case"left":o={x:e.attr("x")+r.x,width:Math.max(1,e.attr("width")-r.x)};break;case"right":o={width:Math.max(1,e.attr("width")+r.x)};break;case"top":o={y:e.attr("y")+r.y,height:Math.max(1,e.attr("height")-r.y)};break;case"bottom":o={height:Math.max(1,e.attr("height")+r.y)}}e.attr(o)}(a.dragGuideBox,"x"===s.axis&&o.xAxis.reversed||"y"===s.axis&&o.yAxis.reversed?f(d):d,{x:"x"===s.axis?t-(i.origin.prevdX||0):0,y:"y"===s.axis?r-(i.origin.prevdY||0):0})}(t,g,p):o.dragGuideBox.translate(s?g:0,n?p:0),d.prevdX=g,d.prevdY=p}(e,a)})))})(l(t,e),e)},{passive:!1}),p(t,"mouseleave",t=>{y(l(t,e),e)}),e.unbindDragDropMouseUp=s(g,["mouseup","touchend"],t=>{y(l(t,e),e)},{passive:!1}),e.hasAddedDragDropEvents=!0,p(e,"destroy",()=>{e.unbindDragDropMouseUp&&e.unbindDragDropMouseUp()}))}(this)}function v(e,t){let r;let o=e.dragDropData.newPoints,a=i(t);for(let t of(e.isDragDropAnimating=!0,Object.keys(o)))(r=o[t]).point.update(r.newValues,!1);e.redraw(a),setTimeout(()=>{delete e.isDragDropAnimating,e.hoverPoint&&!e.dragHandles&&e.hoverPoint.showDragHandles()},a.duration)}return{compose:function(e){let t=e.prototype;t.hideDragHandles||(t.hideDragHandles=x,t.setGuideBoxState=c,t.zoomOrPanKeyPressed=m,p(e,"render",P))},flipResizeSide:f,initDragDrop:D}}),r(t,"Extensions/DraggablePoints/DragDropProps.js",[t["Extensions/DraggablePoints/DraggableChart.js"],t["Core/Utilities.js"]],function(e,t){let{flipResizeSide:r}=e,{isNumber:o,merge:a,pick:i}=t,s={x:{axis:"x",move:!0},y:{axis:"y",move:!0}},n={x:{axis:"x",move:!0},y:{axis:"y",move:!1,resize:!0,beforeResize:(e,t,r)=>{let a,s;let n=i(r.yBottom,r.series.translatedThreshold),d=e.attr("y"),l=o(r.stackY)?r.stackY-(r.y||0):r.series.options.threshold||0,g=l+t.y;(r.series.yAxis.reversed?g<l:g>=l)?(a=e.attr("height"),s=n?n-d-a:0,e.attr({height:Math.max(0,Math.round(a+s))})):e.attr({y:Math.round(d+(n?n-d:0))})},resizeSide:(e,t)=>{let o=t.series.chart.dragHandles,a=e.y>=(t.series.options.threshold||0)?"top":"bottom",i=r(a);return o&&o[i]&&(o[i].destroy(),delete o[i]),a},handlePositioner:e=>{let t=e.shapeArgs||e.graphic&&e.graphic.getBBox()||{},r=e.series.yAxis.reversed,o=e.series.options.threshold||0,a=e.y||0;return{x:t.x||0,y:!r&&a>=o||r&&a<o?t.y||0:(t.y||0)+(t.height||0)}},handleFormatter:e=>{let t=e.shapeArgs||{},r=t.r||0,o=t.width||0,a=o/2;return[["M",r,0],["L",a-5,0],["A",1,1,0,0,0,a+5,0],["A",1,1,0,0,0,a-5,0],["M",a+5,0],["L",o-r,0]]}}},d={x:n.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>({x:e.shapeArgs.x||0,y:e.lowPlot}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e<=t.q1},q1:{optionName:"draggableQ1",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>({x:e.shapeArgs.x||0,y:e.q1Plot}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e<=t.median&&e>=t.low},median:{axis:"y",move:!0},q3:{optionName:"draggableQ3",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>({x:e.shapeArgs.x||0,y:e.q3Plot}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e<=t.high&&e>=t.median},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>({x:e.shapeArgs.x||0,y:e.highPlot}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e>=t.q3}},l={x:n.x,y:n.y,target:{optionName:"draggableTarget",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>{let t=e.targetGraphic.getBBox();return{x:e.barX,y:t.y+t.height/2}},handleFormatter:n.y.handleFormatter}},g={x:n.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>({x:e.shapeArgs.x,y:e.plotLow}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e<=t.open&&e<=t.close},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>({x:e.shapeArgs.x,y:e.plotHigh}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e>=t.open&&e>=t.close},open:{optionName:"draggableOpen",axis:"y",move:!0,resize:!0,resizeSide:e=>e.open>=e.close?"top":"bottom",handlePositioner:e=>({x:e.shapeArgs.x,y:e.plotOpen}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e<=t.high&&e>=t.low},close:{optionName:"draggableClose",axis:"y",move:!0,resize:!0,resizeSide:e=>e.open>=e.close?"bottom":"top",handlePositioner:e=>({x:e.shapeArgs.x,y:e.plotClose}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e<=t.high&&e>=t.low}},p={x:n.x,y:a(n.y,{handleFormatter:e=>e.isSum||e.isIntermediateSum?null:n.y.handleFormatter(e)})},h={x:{axis:"x",move:!0},low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>{let t=e.shapeArgs||e.graphic.getBBox();return{x:t.x||0,y:(t.y||0)+(t.height||0)}},handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e<=t.high},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>{let t=e.shapeArgs||e.graphic.getBBox();return{x:t.x||0,y:t.y||0}},handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e>=t.low}},u={x:h.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>{let t=e.graphics&&e.graphics[0]&&e.graphics[0].getBBox();return t?{x:t.x+t.width/2,y:t.y+t.height/2}:{x:-999,y:-999}},handleFormatter:c,propValidate:h.low.propValidate},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>{let t=e.graphics&&e.graphics[1]&&e.graphics[1].getBBox();return t?{x:t.x+t.width/2,y:t.y+t.height/2}:{x:-999,y:-999}},handleFormatter:c,propValidate:h.high.propValidate}},x={y:{axis:"y",move:!0},x:{optionName:"draggableX1",axis:"x",move:!0,resize:!0,resizeSide:"left",handlePositioner:e=>f(e,"x"),handleFormatter:m,propValidate:(e,t)=>e<=t.x2},x2:{optionName:"draggableX2",axis:"x",move:!0,resize:!0,resizeSide:"right",handlePositioner:e=>f(e,"x2"),handleFormatter:m,propValidate:(e,t)=>e>=t.x}};function c(e){let t=e.graphic?e.graphic.getBBox().width/2+1:4;return[["M",0-t,0],["a",t,t,0,1,0,2*t,0],["a",t,t,0,1,0,-2*t,0]]}function m(e){let t=e.shapeArgs||e.graphic.getBBox(),r=t.r||0,o=t.height-r,a=t.height/2;return[["M",0,r],["L",0,a-5],["A",1,1,0,0,0,0,a+5],["A",1,1,0,0,0,0,a-5],["M",0,a+5],["L",0,o]]}function f(e,t){let r=e.series,o=r.xAxis,a=r.yAxis,i=r.chart.inverted,s=r.columnMetrics?r.columnMetrics.offset:-e.shapeArgs.height/2,n=o.toPixels(e[t],!0),d=a.toPixels(e.y,!0);return i&&(n=o.len-n,d=a.len-d),{x:Math.round(n),y:Math.round(d+=s)}}return{arearange:u,boxplot:d,bullet:l,column:n,columnrange:h,flags:s,gantt:{y:x.y,start:a(x.x,{optionName:"draggableStart",validateIndividualDrag:e=>!e.milestone}),end:a(x.x2,{optionName:"draggableEnd",validateIndividualDrag:e=>!e.milestone})},line:s,ohlc:g,waterfall:p,xrange:x}}),r(t,"Extensions/DraggablePoints/DraggablePoints.js",[t["Extensions/DraggablePoints/DragDropUtilities.js"],t["Extensions/DraggablePoints/DraggableChart.js"],t["Extensions/DraggablePoints/DragDropDefaults.js"],t["Extensions/DraggablePoints/DragDropProps.js"],t["Core/Utilities.js"]],function(e,t,r,o,a){let{addEvents:i,getNormalizedEvent:s}=e,{initDragDrop:n}=t,{addEvent:d,clamp:l,isNumber:g,merge:p,pick:h}=a;function u(e){let t=e.series&&e.series.chart,r=t&&t.dragDropData;t&&t.dragHandles&&!(r&&(r.isDragging&&r.draggedPastSensitivity||r.isHoveringHandle===e.id))&&t.hideDragHandles()}function x(){let e=this;setTimeout(()=>{e.series&&u(e)},10)}function c(){let e=this;setTimeout(()=>(function(e){let t=e.series,r=t&&t.chart,o=r&&r.dragDropData,a=r&&r.is3d&&r.is3d();!r||o&&o.isDragging&&o.draggedPastSensitivity||r.isDragDropAnimating||!t.options.dragDrop||a||(r.dragHandles&&r.hideDragHandles(),e.showDragHandles())})(e),12)}function m(){let e=this.series.chart,t=e.dragHandles;t&&t.point===this.id&&e.hideDragHandles()}function f(e,t,r){let o=this.series,a=o.chart,i=a.mapView,s=p(o.options.dragDrop,this.options.dragDrop),n={},d=e.points[this.id],u=1===Object.keys(r).length,x=(e,t)=>{let r=o[t.toLowerCase()+"Axis"].categories?1:0,a=h(s["dragPrecision"+t],r),i=h(s["dragMin"+t],-1/0),n=h(s["dragMax"+t],1/0),d=e;return a&&(d=Math.round(d/a)*a),l(d,i,n)},c=(e,t,r)=>{if(i){let o=h(s["dragPrecision"+t],0),n=i.pixelsToLonLat({x:0,y:0}),d=i.pixelsToLonLat({x:a.plotBox.width,y:a.plotBox.height}),g=h(s["dragMin"+t],n&&n[r],-1/0),p=h(s["dragMax"+t],d&&d[r],1/0),u=e[r];if("Orthographic"===i.projection.options.name)return u;if("lat"===r){(isNaN(g)||g>i.projection.maxLatitude)&&(g=i.projection.maxLatitude),(isNaN(p)||p<-1*i.projection.maxLatitude)&&(p=-1*i.projection.maxLatitude);let e=p;p=g,g=e}if(!i.projection.hasCoordinates){let t=i.pixelsToLonLat({x:e.chartX-a.plotLeft,y:a.plotHeight-e.chartY+a.plotTop});t&&(u=t[r])}return o&&(u=Math.round(u/o)*o),l(u,g,p)}};for(let e of Object.keys(r)){let a=r[e],s=d.point[e],l=o[a.axis+"Axis"],p=i?c(t,a.axis.toUpperCase(),e):x(l.toValue((l.horiz?t.chartX:t.chartY)+d[e+"Offset"]),a.axis.toUpperCase());g(p)&&!(u&&a.propValidate&&!a.propValidate(p,this))&&void 0!==s&&(n[e]=p)}return n}function D(){let e=this,t=e.series,o=t.chart,{inverted:a,renderer:l}=o,g=p(t.options.dragDrop,e.options.dragDrop),h=t.dragDropProps||{},x=o.dragHandles;for(let c of Object.keys(h)){let m,f,D;let y=h[c],P=p(r.dragHandle,y.handleOptions,g.dragHandle),v={class:P.className,"stroke-width":P.lineWidth,fill:P.color,stroke:P.lineColor},b=P.pathFormatter||y.handleFormatter,w=y.handlePositioner,z=!y.validateIndividualDrag||y.validateIndividualDrag(e);if(y.resize&&z&&y.resizeSide&&b&&(g["draggable"+y.axis.toUpperCase()]||g[y.optionName])&&!1!==g[y.optionName]){x?x.point=e.id:x=o.dragHandles={group:l.g("drag-drop-handles").add(t.markerGroup||t.group),point:e.id},m=w(e),v.d=D=b(e);let r=e.series.xAxis.categories?-.5:0;if(!D||m.x<r||m.y<0)return;v.cursor=P.cursor||("x"===y.axis!=!!a?"ew-resize":"ns-resize"),(f=x[y.optionName])||(f=x[y.optionName]=l.path().add(x.group)),v.translateX=a?t.yAxis.len-m.y:m.x,v.translateY=a?t.xAxis.len-m.x:m.y,a&&(v.rotation=-90),f.attr(v),i(f.element,["touchstart","mousedown"],t=>{!function(e,t,r){let o=t.series.chart;o.zoomOrPanKeyPressed(e)||(o.mouseIsDown=!1,n(e,t),o.dragDropData.updateProp=e.updateProp=r,t.firePointEvent("dragStart",e),e.stopPropagation(),e.preventDefault())}(s(t,o),e,c)},{passive:!1}),d(x.group.element,"mouseover",()=>{o.dragDropData=o.dragDropData||{},o.dragDropData.isHoveringHandle=e.id}),i(x.group.element,["touchend","mouseout"],()=>{!function(e){let t=e.series.chart;t.dragDropData&&e.id===t.dragDropData.isHoveringHandle&&delete t.dragDropData.isHoveringHandle,t.hoverPoint||u(e)}(e)})}}}function y(e){let t=this.chart,r=1/0,o=-1/0,a=1/0,i=-1/0,s;for(let t of e){let e=t.graphic&&t.graphic.getBBox()||t.shapeArgs;if(e){let n;let d=t.x2;g(d)&&(n=t.series.xAxis.translate(d,!1,!1,!1,!0));let l=!(e.width||e.height||e.x||e.y);s=!0,r=Math.min(t.plotX||0,n||0,l?1/0:e.x||0,r),o=Math.max(t.plotX||0,n||0,(e.x||0)+(e.width||0),o),a=Math.min(t.plotY||0,l?1/0:e.y||0,a),i=Math.max((e.y||0)+(e.height||0),i)}}return s?t.renderer.rect(r,a,o-r,i-a):t.renderer.g()}return{compose:function(e,r){t.compose(e);let a=r.prototype;if(!a.dragDropProps){let e=r.prototype.pointClass,t=r.types,i=e.prototype;for(let r of(i.getDropValues=f,i.showDragHandles=D,d(e,"mouseOut",x),d(e,"mouseOver",c),d(e,"remove",m),a.dragDropProps=o.line,a.getGuideBox=y,["arearange","boxplot","bullet","column","columnrange","flags","gantt","ohlc","waterfall","xrange"]))t[r]&&(t[r].prototype.dragDropProps=o[r]);for(let e of["bellcurve","gauge","histogram","map","mapline","pareto","pie","sankey","sma","sunburst","treemap","vector","windbarb","wordcloud"])t[e]&&(t[e].prototype.dragDropProps=null)}}}}),r(t,"masters/modules/draggable-points.src.js",[t["Core/Globals.js"],t["Extensions/DraggablePoints/DraggablePoints.js"]],function(e,t){return t.compose(e.Chart,e.Series),e})});
|
|
7
|
+
*/function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/draggable-points",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function r(e,t,r,o){e.hasOwnProperty(t)||(e[t]=o.apply(null,r),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}r(t,"Extensions/DraggablePoints/DragDropUtilities.js",[t["Core/Utilities.js"]],function(e){let{addEvent:t}=e;return{addEvents:function(e,r,o,a){let i=r.map(r=>t(e,r,o,a));return function(){for(let e of i)e()}},countProps:function(e){return Object.keys(e).length},getFirstProp:function(e){for(let t in e)if(Object.hasOwnProperty.call(e,t))return e[t]},getNormalizedEvent:function(e,t){return(void 0===e.chartX||void 0===e.chartY)&&t.pointer?.normalize(e)||e}}}),r(t,"Extensions/DraggablePoints/DragDropDefaults.js",[],function(){return{dragSensitivity:2,dragHandle:{className:"highcharts-drag-handle",color:"#fff",lineColor:"rgba(0, 0, 0, 0.6)",lineWidth:1,zIndex:901},guideBox:{default:{className:"highcharts-drag-box-default",lineWidth:1,lineColor:"#888",color:"rgba(0, 0, 0, 0.1)",cursor:"move",zIndex:900}}}}),r(t,"Extensions/DraggablePoints/DraggableChart.js",[t["Core/Animation/AnimationUtilities.js"],t["Extensions/DraggablePoints/DragDropUtilities.js"],t["Extensions/DraggablePoints/DragDropDefaults.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,t,r,o,a){let{animObject:i}=e,{addEvents:s,countProps:n,getFirstProp:d,getNormalizedEvent:l}=t,{doc:g}=o,{addEvent:p,merge:h,pick:u}=a;function x(){let e=this.dragHandles||{};if(e){for(let t of Object.keys(e))e[t].destroy&&e[t].destroy();delete this.dragHandles}}function c(e,t){let o=this.dragGuideBox,a=h(r.guideBox,t),i=h(a.default,a[e]);return o.attr({class:i.className,stroke:i.lineColor,strokeWidth:i.lineWidth,fill:i.color,cursor:i.cursor,zIndex:i.zIndex}).css({pointerEvents:"none"})}function m(e){let t=this.options.chart||{},r=t.panKey&&t.panKey+"Key";return e[this.zooming.key&&this.zooming.key+"Key"]||e[r]}function f(e){return({left:"right",right:"left",top:"bottom",bottom:"top"})[e]}function D(e,t){let r;let o=function(e){let t=e.series,r=t.options.data||[],o=t.options.dragDrop.groupBy,a=[];if(t.boosted)for(let e=0,o=r.length;e<o;++e)a.push(new t.pointClass(t,r[e])),a[a.length-1].index=e;else a=t.points;return e.options[o]?a.filter(t=>t.options[o]===e.options[o]):[e]}(t),a=t.series,i=a.chart;u(a.options.dragDrop&&a.options.dragDrop.liveRedraw,!0)||(i.dragGuideBox=r=a.getGuideBox(o),i.setGuideBoxState("default",a.options.dragDrop.guideBox).add(a.group)),i.dragDropData={origin:function(e,t,r){let o={chartX:e.chartX,chartY:e.chartY,guideBox:r&&{x:r.attr("x"),y:r.attr("y"),width:r.attr("width"),height:r.attr("height")},points:{}};for(let r of t){let t=r.series.dragDropProps||{},a={};for(let o of Object.keys(t)){let i=t[o],s=r.series[i.axis+"Axis"];a[o]=r[o],r.series.chart.mapView&&r.plotX&&r.plotY?a[o+"Offset"]="x"===o?r.plotX:r.plotY:a[o+"Offset"]=s.toPixels(r[o])-(s.horiz?e.chartX:e.chartY)}a.point=r,o.points[r.id]=a}return o}(e,o,r),point:t,groupedPoints:o,isDragging:!0}}function y(e,t){let r=t.dragDropData;if(r&&r.isDragging&&r.draggedPastSensitivity&&r.point.series){let o=r.point,a=r.newPoints,i=n(a),s=1===i?d(a):null;t.dragHandles&&t.hideDragHandles(),e.preventDefault(),t.cancelClick=!0,o.firePointEvent("drop",{origin:r.origin,chartX:e.chartX,chartY:e.chartY,newPoints:a,numNewPoints:i,newPoint:s&&s.newValues,newPointId:s&&s.point.id},function(){v(t)})}delete t.dragDropData,t.dragGuideBox&&(t.dragGuideBox.destroy(),delete t.dragGuideBox)}function P(){this.hasAddedDragDropEvents||function(e){let t=e.container;(function(e){let t=e.series?e.series.length:0;if(e.hasCartesianSeries&&!e.polar||e.mapView){for(;t--;)if(e.series[t].options.dragDrop&&function(e){let t;let r=["draggableX","draggableY"],o=e.dragDropProps||{};for(let e of Object.keys(o))(t=o[e]).optionName&&r.push(t.optionName);let a=r.length;for(;a--;)if(e.options.dragDrop[r[a]])return!0}(e.series[t]))return!0}return!1})(e)&&(s(t,["mousedown","touchstart"],t=>{(function(e,t){let r=t.hoverPoint,o=h(r&&r.series.options.dragDrop,r&&r.options.dragDrop),a=o.draggableX||!1,i=o.draggableY||!1;if(t.cancelClick=!1,!(!(a||i)||t.zoomOrPanKeyPressed(e))&&!t.hasDraggedAnnotation){if(t.dragDropData&&t.dragDropData.isDragging){y(e,t);return}r&&function(e){let t,r,o;let a=e.series,i=a.chart,s=a.options.dragDrop||{},n=e.options&&e.options.dragDrop,d=a.dragDropProps;for(let e in d)"x"===(t=d[e]).axis&&t.move?r=!0:"y"===t.axis&&t.move&&(o=!0);return(s.draggableX&&r||s.draggableY&&o)&&!(n&&!1===n.draggableX&&!1===n.draggableY)&&(!!(a.yAxis&&a.xAxis)||i.mapView)}(r)&&(t.mouseIsDown=!1,D(e,r),r.firePointEvent("dragStart",e))}})(l(t,e),e)}),s(t,["mousemove","touchmove"],t=>{(function(e,t){if(t.zoomOrPanKeyPressed(e))return;let o=t.dragDropData,a,i,s,l=0,g;o&&o.isDragging&&o.point.series&&(i=(a=o.point).series.options.dragDrop,e.preventDefault(),o.draggedPastSensitivity||(o.draggedPastSensitivity=function(e,t,r){let o=t.dragDropData.origin,a=o.chartX,i=o.chartY,s=e.chartX,n=e.chartY;return Math.sqrt((s-a)*(s-a)+(n-i)*(n-i))>r}(e,t,u(a.options.dragDrop&&a.options.dragDrop.dragSensitivity,i&&i.dragSensitivity,r.dragSensitivity))),o.draggedPastSensitivity&&(o.newPoints=function(e,t){let r=e.point,o=r.series,a=o.chart,i=h(o.options.dragDrop,r.options.dragDrop),s={},n=e.updateProp,d={},l=r.series.dragDropProps;for(let e in l){let t=l[e];(!n||n===e&&t.resize&&(!t.optionName||!1!==i[t.optionName]))&&(n||t.move&&("x"===t.axis&&i.draggableX||"y"===t.axis&&i.draggableY))&&(a.mapView?s["x"===e?"lon":"lat"]=t:s[e]=t)}for(let o of n?[r]:e.groupedPoints)d[o.id]={point:o,newValues:o.getDropValues(e.origin,t,s)};return d}(o,e),g=1===(l=n(s=o.newPoints))?d(s):null,a.firePointEvent("drag",{origin:o.origin,newPoints:o.newPoints,newPoint:g&&g.newValues,newPointId:g&&g.point.id,numNewPoints:l,chartX:e.chartX,chartY:e.chartY},function(){!function(e,t){let r=t.series,o=r.chart,a=o.dragDropData,i=h(r.options.dragDrop,t.options.dragDrop),s=i.draggableX,n=i.draggableY,d=a.origin,l=a.updateProp,g=e.chartX-d.chartX,p=e.chartY-d.chartY,x=g;o.inverted&&(g=-p,p=-x),u(i.liveRedraw,!0)?(v(o,!1),t.showDragHandles()):l?function(e,t,r){let o=e.series,a=o.chart,i=a.dragDropData,s=o.dragDropProps[i.updateProp],n=i.newPoints[e.id].newValues,d="function"==typeof s.resizeSide?s.resizeSide(n,e):s.resizeSide;s.beforeResize&&s.beforeResize(a.dragGuideBox,n,e),function(e,t,r){let o;switch(t){case"left":o={x:e.attr("x")+r.x,width:Math.max(1,e.attr("width")-r.x)};break;case"right":o={width:Math.max(1,e.attr("width")+r.x)};break;case"top":o={y:e.attr("y")+r.y,height:Math.max(1,e.attr("height")-r.y)};break;case"bottom":o={height:Math.max(1,e.attr("height")+r.y)}}e.attr(o)}(a.dragGuideBox,"x"===s.axis&&o.xAxis.reversed||"y"===s.axis&&o.yAxis.reversed?f(d):d,{x:"x"===s.axis?t-(i.origin.prevdX||0):0,y:"y"===s.axis?r-(i.origin.prevdY||0):0})}(t,g,p):o.dragGuideBox.translate(s?g:0,n?p:0),d.prevdX=g,d.prevdY=p}(e,a)})))})(l(t,e),e)},{passive:!1}),p(t,"mouseleave",t=>{y(l(t,e),e)}),e.unbindDragDropMouseUp=s(g,["mouseup","touchend"],t=>{y(l(t,e),e)},{passive:!1}),e.hasAddedDragDropEvents=!0,p(e,"destroy",()=>{e.unbindDragDropMouseUp&&e.unbindDragDropMouseUp()}))}(this)}function v(e,t){let r;let o=e.dragDropData.newPoints,a=i(t);for(let t of(e.isDragDropAnimating=!0,Object.keys(o)))(r=o[t]).point.update(r.newValues,!1);e.redraw(a),setTimeout(()=>{delete e.isDragDropAnimating,e.hoverPoint&&!e.dragHandles&&e.hoverPoint.showDragHandles()},a.duration)}return{compose:function(e){let t=e.prototype;t.hideDragHandles||(t.hideDragHandles=x,t.setGuideBoxState=c,t.zoomOrPanKeyPressed=m,p(e,"render",P))},flipResizeSide:f,initDragDrop:D}}),r(t,"Extensions/DraggablePoints/DragDropProps.js",[t["Extensions/DraggablePoints/DraggableChart.js"],t["Core/Utilities.js"]],function(e,t){let{flipResizeSide:r}=e,{isNumber:o,merge:a,pick:i}=t,s={x:{axis:"x",move:!0},y:{axis:"y",move:!0}},n={x:{axis:"x",move:!0},y:{axis:"y",move:!1,resize:!0,beforeResize:(e,t,r)=>{let a,s;let n=i(r.yBottom,r.series.translatedThreshold),d=e.attr("y"),l=o(r.stackY)?r.stackY-(r.y||0):r.series.options.threshold||0,g=l+t.y;(r.series.yAxis.reversed?g<l:g>=l)?(a=e.attr("height"),s=n?n-d-a:0,e.attr({height:Math.max(0,Math.round(a+s))})):e.attr({y:Math.round(d+(n?n-d:0))})},resizeSide:(e,t)=>{let o=t.series.chart.dragHandles,a=e.y>=(t.series.options.threshold||0)?"top":"bottom",i=r(a);return o&&o[i]&&(o[i].destroy(),delete o[i]),a},handlePositioner:e=>{let t=e.shapeArgs||e.graphic&&e.graphic.getBBox()||{},r=e.series.yAxis.reversed,o=e.series.options.threshold||0,a=e.y||0;return{x:t.x||0,y:!r&&a>=o||r&&a<o?t.y||0:(t.y||0)+(t.height||0)}},handleFormatter:e=>{let t=e.shapeArgs||{},r=t.r||0,o=t.width||0,a=o/2;return[["M",r,0],["L",a-5,0],["A",1,1,0,0,0,a+5,0],["A",1,1,0,0,0,a-5,0],["M",a+5,0],["L",o-r,0]]}}},d={x:n.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>({x:e.shapeArgs.x||0,y:e.lowPlot}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e<=t.q1},q1:{optionName:"draggableQ1",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>({x:e.shapeArgs.x||0,y:e.q1Plot}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e<=t.median&&e>=t.low},median:{axis:"y",move:!0},q3:{optionName:"draggableQ3",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>({x:e.shapeArgs.x||0,y:e.q3Plot}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e<=t.high&&e>=t.median},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>({x:e.shapeArgs.x||0,y:e.highPlot}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e>=t.q3}},l={x:n.x,low:{...d.low,propValidate:(e,t)=>e<=t.high},high:{...d.high,propValidate:(e,t)=>e>=t.low}},g={x:n.x,y:n.y,target:{optionName:"draggableTarget",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>{let t=e.targetGraphic.getBBox();return{x:e.barX,y:t.y+t.height/2}},handleFormatter:n.y.handleFormatter}},p={x:n.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>({x:e.shapeArgs.x,y:e.plotLow}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e<=t.open&&e<=t.close},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>({x:e.shapeArgs.x,y:e.plotHigh}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e>=t.open&&e>=t.close},open:{optionName:"draggableOpen",axis:"y",move:!0,resize:!0,resizeSide:e=>e.open>=e.close?"top":"bottom",handlePositioner:e=>({x:e.shapeArgs.x,y:e.plotOpen}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e<=t.high&&e>=t.low},close:{optionName:"draggableClose",axis:"y",move:!0,resize:!0,resizeSide:e=>e.open>=e.close?"bottom":"top",handlePositioner:e=>({x:e.shapeArgs.x,y:e.plotClose}),handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e<=t.high&&e>=t.low}},h={x:n.x,y:a(n.y,{handleFormatter:e=>e.isSum||e.isIntermediateSum?null:n.y.handleFormatter(e)})},u={x:{axis:"x",move:!0},low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>{let t=e.shapeArgs||e.graphic.getBBox();return{x:t.x||0,y:(t.y||0)+(t.height||0)}},handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e<=t.high},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>{let t=e.shapeArgs||e.graphic.getBBox();return{x:t.x||0,y:t.y||0}},handleFormatter:n.y.handleFormatter,propValidate:(e,t)=>e>=t.low}},x={x:u.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:e=>{let t=e.graphics&&e.graphics[0]&&e.graphics[0].getBBox();return t?{x:t.x+t.width/2,y:t.y+t.height/2}:{x:-999,y:-999}},handleFormatter:m,propValidate:u.low.propValidate},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:e=>{let t=e.graphics&&e.graphics[1]&&e.graphics[1].getBBox();return t?{x:t.x+t.width/2,y:t.y+t.height/2}:{x:-999,y:-999}},handleFormatter:m,propValidate:u.high.propValidate}},c={y:{axis:"y",move:!0},x:{optionName:"draggableX1",axis:"x",move:!0,resize:!0,resizeSide:"left",handlePositioner:e=>D(e,"x"),handleFormatter:f,propValidate:(e,t)=>e<=t.x2},x2:{optionName:"draggableX2",axis:"x",move:!0,resize:!0,resizeSide:"right",handlePositioner:e=>D(e,"x2"),handleFormatter:f,propValidate:(e,t)=>e>=t.x}};function m(e){let t=e.graphic?e.graphic.getBBox().width/2+1:4;return[["M",0-t,0],["a",t,t,0,1,0,2*t,0],["a",t,t,0,1,0,-2*t,0]]}function f(e){let t=e.shapeArgs||e.graphic.getBBox(),r=t.r||0,o=t.height-r,a=t.height/2;return[["M",0,r],["L",0,a-5],["A",1,1,0,0,0,0,a+5],["A",1,1,0,0,0,0,a-5],["M",0,a+5],["L",0,o]]}function D(e,t){let r=e.series,o=r.xAxis,a=r.yAxis,i=r.chart.inverted,s=r.columnMetrics?r.columnMetrics.offset:-e.shapeArgs.height/2,n=o.toPixels(e[t],!0),d=a.toPixels(e.y,!0);return i&&(n=o.len-n,d=a.len-d),{x:Math.round(n),y:Math.round(d+=s)}}return{arearange:x,boxplot:d,bullet:g,column:n,columnrange:u,errorbar:l,flags:s,gantt:{y:c.y,start:a(c.x,{optionName:"draggableStart",validateIndividualDrag:e=>!e.milestone}),end:a(c.x2,{optionName:"draggableEnd",validateIndividualDrag:e=>!e.milestone})},line:s,ohlc:p,waterfall:h,xrange:c}}),r(t,"Extensions/DraggablePoints/DraggablePoints.js",[t["Extensions/DraggablePoints/DragDropUtilities.js"],t["Extensions/DraggablePoints/DraggableChart.js"],t["Extensions/DraggablePoints/DragDropDefaults.js"],t["Extensions/DraggablePoints/DragDropProps.js"],t["Core/Utilities.js"]],function(e,t,r,o,a){let{addEvents:i,getNormalizedEvent:s}=e,{initDragDrop:n}=t,{addEvent:d,clamp:l,isNumber:g,merge:p,pick:h}=a;function u(e){let t=e.series&&e.series.chart,r=t&&t.dragDropData;t&&t.dragHandles&&!(r&&(r.isDragging&&r.draggedPastSensitivity||r.isHoveringHandle===e.id))&&t.hideDragHandles()}function x(){let e=this;setTimeout(()=>{e.series&&u(e)},10)}function c(){let e=this;setTimeout(()=>(function(e){let t=e.series,r=t&&t.chart,o=r&&r.dragDropData,a=r&&r.is3d&&r.is3d();!r||o&&o.isDragging&&o.draggedPastSensitivity||r.isDragDropAnimating||!t.options.dragDrop||a||(r.dragHandles&&r.hideDragHandles(),e.showDragHandles())})(e),12)}function m(){let e=this.series.chart,t=e.dragHandles;t&&t.point===this.id&&e.hideDragHandles()}function f(e,t,r){let o=this.series,a=o.chart,i=a.mapView,s=p(o.options.dragDrop,this.options.dragDrop),n={},d=e.points[this.id],u=1===Object.keys(r).length,x=(e,t)=>{let r=o[t.toLowerCase()+"Axis"].categories?1:0,a=h(s["dragPrecision"+t],r),i=h(s["dragMin"+t],-1/0),n=h(s["dragMax"+t],1/0),d=e;return a&&(d=Math.round(d/a)*a),l(d,i,n)},c=(e,t,r)=>{if(i){let o=h(s["dragPrecision"+t],0),n=i.pixelsToLonLat({x:0,y:0}),d=i.pixelsToLonLat({x:a.plotBox.width,y:a.plotBox.height}),g=h(s["dragMin"+t],n&&n[r],-1/0),p=h(s["dragMax"+t],d&&d[r],1/0),u=e[r];if("Orthographic"===i.projection.options.name)return u;if("lat"===r){(isNaN(g)||g>i.projection.maxLatitude)&&(g=i.projection.maxLatitude),(isNaN(p)||p<-1*i.projection.maxLatitude)&&(p=-1*i.projection.maxLatitude);let e=p;p=g,g=e}if(!i.projection.hasCoordinates){let t=i.pixelsToLonLat({x:e.chartX-a.plotLeft,y:a.plotHeight-e.chartY+a.plotTop});t&&(u=t[r])}return o&&(u=Math.round(u/o)*o),l(u,g,p)}};for(let e of Object.keys(r)){let a=r[e],s=d.point[e],l=o[a.axis+"Axis"],p=i?c(t,a.axis.toUpperCase(),e):x(l.toValue((l.horiz?t.chartX:t.chartY)+d[e+"Offset"]),a.axis.toUpperCase());g(p)&&!(u&&a.propValidate&&!a.propValidate(p,this))&&void 0!==s&&(n[e]=p)}return n}function D(){let e=this,t=e.series,o=t.chart,{inverted:a,renderer:l}=o,g=p(t.options.dragDrop,e.options.dragDrop),h=t.dragDropProps||{},x=o.dragHandles;for(let c of Object.keys(h)){let m,f,D;let y=h[c],P=p(r.dragHandle,y.handleOptions,g.dragHandle),v={class:P.className,"stroke-width":P.lineWidth,fill:P.color,stroke:P.lineColor},b=P.pathFormatter||y.handleFormatter,w=y.handlePositioner,z=!y.validateIndividualDrag||y.validateIndividualDrag(e);if(y.resize&&z&&y.resizeSide&&b&&(g["draggable"+y.axis.toUpperCase()]||g[y.optionName])&&!1!==g[y.optionName]){x?x.point=e.id:x=o.dragHandles={group:l.g("drag-drop-handles").add(t.markerGroup||t.group),point:e.id},m=w(e),v.d=D=b(e);let r=e.series.xAxis.categories?-.5:0;if(!D||m.x<r||m.y<0)return;v.cursor=P.cursor||("x"===y.axis!=!!a?"ew-resize":"ns-resize"),(f=x[y.optionName])||(f=x[y.optionName]=l.path().add(x.group)),v.translateX=a?t.yAxis.len-m.y:m.x,v.translateY=a?t.xAxis.len-m.x:m.y,a&&(v.rotation=-90),f.attr(v),i(f.element,["touchstart","mousedown"],t=>{!function(e,t,r){let o=t.series.chart;o.zoomOrPanKeyPressed(e)||(o.mouseIsDown=!1,n(e,t),o.dragDropData.updateProp=e.updateProp=r,t.firePointEvent("dragStart",e),e.stopPropagation(),e.preventDefault())}(s(t,o),e,c)},{passive:!1}),d(x.group.element,"mouseover",()=>{o.dragDropData=o.dragDropData||{},o.dragDropData.isHoveringHandle=e.id}),i(x.group.element,["touchend","mouseout"],()=>{!function(e){let t=e.series.chart;t.dragDropData&&e.id===t.dragDropData.isHoveringHandle&&delete t.dragDropData.isHoveringHandle,t.hoverPoint||u(e)}(e)})}}}function y(e){let t=this.chart,r=1/0,o=-1/0,a=1/0,i=-1/0,s;for(let t of e){let e=t.graphic&&t.graphic.getBBox()||t.shapeArgs;if(e){let n;let d=t.x2;g(d)&&(n=t.series.xAxis.translate(d,!1,!1,!1,!0));let l=!(e.width||e.height||e.x||e.y);s=!0,r=Math.min(t.plotX||0,n||0,l?1/0:e.x||0,r),o=Math.max(t.plotX||0,n||0,(e.x||0)+(e.width||0),o),a=Math.min(t.plotY||0,l?1/0:e.y||0,a),i=Math.max((e.y||0)+(e.height||0),i)}}return s?t.renderer.rect(r,a,o-r,i-a):t.renderer.g()}return{compose:function(e,r){t.compose(e);let a=r.prototype;if(!a.dragDropProps){let e=r.prototype.pointClass,t=r.types,i=e.prototype;for(let r of(i.getDropValues=f,i.showDragHandles=D,d(e,"mouseOut",x),d(e,"mouseOver",c),d(e,"remove",m),a.dragDropProps=o.line,a.getGuideBox=y,["arearange","boxplot","bullet","column","columnrange","errorbar","flags","gantt","ohlc","waterfall","xrange"]))t[r]&&(t[r].prototype.dragDropProps=o[r]);for(let e of["bellcurve","gauge","histogram","map","mapline","pareto","pie","sankey","sma","sunburst","treemap","vector","windbarb","wordcloud"])t[e]&&(t[e].prototype.dragDropProps=null)}}}}),r(t,"masters/modules/draggable-points.src.js",[t["Core/Globals.js"],t["Extensions/DraggablePoints/DraggablePoints.js"]],function(e,t){return t.compose(e.Chart,e.Series),e})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.4.
|
|
2
|
+
* @license Highcharts JS v11.4.3 (2024-05-22)
|
|
3
3
|
*
|
|
4
4
|
* (c) 2009-2024 Torstein Honsi
|
|
5
5
|
*
|
|
@@ -1475,6 +1475,22 @@
|
|
|
1475
1475
|
propValidate: (val, point) => (val >= point.q3)
|
|
1476
1476
|
}
|
|
1477
1477
|
};
|
|
1478
|
+
// Errorbar series - move x, resize or move low/high
|
|
1479
|
+
const errorbar = {
|
|
1480
|
+
x: column.x,
|
|
1481
|
+
low: {
|
|
1482
|
+
...boxplot.low,
|
|
1483
|
+
propValidate: (val, point) => (val <= point.high)
|
|
1484
|
+
},
|
|
1485
|
+
high: {
|
|
1486
|
+
...boxplot.high,
|
|
1487
|
+
propValidate: (val, point) => (val >= point.low)
|
|
1488
|
+
}
|
|
1489
|
+
};
|
|
1490
|
+
/**
|
|
1491
|
+
* @exclude draggableQ1, draggableQ3
|
|
1492
|
+
* @optionparent plotOptions.errorbar.dragDrop
|
|
1493
|
+
*/
|
|
1478
1494
|
// Bullet graph, x/y same as column, but also allow target to be dragged.
|
|
1479
1495
|
const bullet = {
|
|
1480
1496
|
x: column.x,
|
|
@@ -1856,6 +1872,7 @@
|
|
|
1856
1872
|
bullet,
|
|
1857
1873
|
column,
|
|
1858
1874
|
columnrange,
|
|
1875
|
+
errorbar,
|
|
1859
1876
|
flags,
|
|
1860
1877
|
gantt,
|
|
1861
1878
|
line,
|
|
@@ -1948,6 +1965,7 @@
|
|
|
1948
1965
|
'bullet',
|
|
1949
1966
|
'column',
|
|
1950
1967
|
'columnrange',
|
|
1968
|
+
'errorbar',
|
|
1951
1969
|
'flags',
|
|
1952
1970
|
'gantt',
|
|
1953
1971
|
'ohlc',
|