highcharts 10.0.0 → 10.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +1 -1
- package/css/highcharts.css +10 -20
- package/css/themes/dark-unica.css +10 -20
- package/css/themes/grid-light.css +10 -20
- package/css/themes/sand-signika.css +10 -20
- package/es-modules/Accessibility/A11yI18n.js +4 -4
- package/es-modules/Accessibility/Accessibility.js +8 -3
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
- package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
- package/es-modules/Accessibility/Components/LegendComponent.js +11 -11
- package/es-modules/Accessibility/Components/MenuComponent.js +3 -1
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +3 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -17
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +35 -10
- package/es-modules/Accessibility/Components/ZoomComponent.js +30 -70
- package/es-modules/Accessibility/FocusBorder.js +6 -5
- package/es-modules/Accessibility/HighContrastMode.js +1 -1
- package/es-modules/Accessibility/KeyboardNavigation.js +2 -2
- package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +73 -5
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
- package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
- package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
- package/es-modules/Core/Animation/Fx.js +1 -1
- package/es-modules/Core/Axis/Axis.js +51 -46
- package/es-modules/Core/Axis/Axis3D.js +1 -1
- package/es-modules/Core/Axis/AxisDefaults.js +9 -9
- package/es-modules/Core/Axis/BrokenAxis.js +1 -1
- package/es-modules/Core/Axis/Color/ColorAxis.js +4 -2
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +7 -3
- package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
- package/es-modules/Core/Axis/GridAxis.js +821 -822
- package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
- package/es-modules/Core/Axis/NavigatorAxis.js +2 -2
- package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
- package/es-modules/Core/Axis/RadialAxis.js +1 -1
- package/es-modules/Core/Axis/Stacking/StackItem.js +262 -0
- package/es-modules/Core/Axis/Stacking/StackingAxis.js +468 -0
- package/es-modules/Core/Axis/Tick.js +22 -18
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +732 -0
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +313 -0
- package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
- package/es-modules/Core/Axis/ZAxis.js +76 -71
- package/es-modules/Core/Chart/Chart.js +42 -9
- package/es-modules/Core/Chart/Chart3D.js +2 -2
- package/es-modules/Core/Chart/ChartDefaults.js +165 -5
- package/es-modules/Core/Chart/GanttChart.js +3 -1
- package/es-modules/Core/Chart/MapChart.js +3 -1
- package/es-modules/Core/Chart/StockChart.js +12 -8
- package/es-modules/Core/Color/Color.js +1 -1
- package/es-modules/Core/DefaultOptions.js +19 -16
- package/es-modules/Core/Geometry/CircleUtilities.js +4 -4
- package/es-modules/Core/Globals.js +2 -1
- package/es-modules/Core/HttpUtilities.js +39 -37
- package/es-modules/Core/Legend/Legend.js +4 -4
- package/es-modules/Core/MSPointer.js +3 -1
- package/es-modules/{Extensions → Core}/Math3D.js +48 -43
- package/es-modules/Core/Navigator.js +31 -14
- package/es-modules/Core/Pointer.js +8 -10
- package/es-modules/Core/Renderer/HTML/AST.js +13 -7
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
- package/es-modules/Core/Renderer/SVG/SVGElement.js +132 -192
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +32 -28
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +50 -45
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +5 -3
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +5 -3
- package/es-modules/Core/Scrollbar.js +12 -6
- package/es-modules/Core/ScrollbarDefaults.js +8 -8
- package/es-modules/Core/Series/DataLabel.js +63 -40
- package/es-modules/Core/Series/Point.js +11 -2
- package/es-modules/Core/Series/Series.js +60 -43
- package/es-modules/Core/Series/Series3D.js +4 -2
- package/es-modules/Core/Series/SeriesDefaults.js +11 -6
- package/es-modules/Core/Series/SeriesRegistry.js +6 -29
- package/es-modules/Core/Time.js +6 -7
- package/es-modules/Core/Tooltip.js +17 -6
- package/es-modules/Core/Utilities.js +7 -9
- package/es-modules/Data/DataConverter.js +6 -1
- package/es-modules/Data/DataPromise.js +1 -1
- package/es-modules/Data/DataSeriesComposition.js +288 -0
- package/es-modules/Data/DataSeriesConverter.js +1 -1
- package/es-modules/Data/DataTable.js +14 -12
- package/es-modules/Data/Modifiers/ChainModifier.js +4 -2
- package/es-modules/Data/Modifiers/DataModifier.js +1 -1
- package/es-modules/Data/Modifiers/GroupModifier.js +4 -2
- package/es-modules/Data/Modifiers/InvertModifier.js +10 -8
- package/es-modules/Data/Modifiers/RangeModifier.js +4 -2
- package/es-modules/Data/Modifiers/SeriesPointsModifier.js +4 -2
- package/es-modules/Data/Modifiers/SortModifier.js +4 -2
- package/es-modules/Data/Parsers/CSVParser.js +3 -1
- package/es-modules/Data/Parsers/DataParser.js +2 -2
- package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
- package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
- package/es-modules/Data/Stores/CSVStore.js +8 -5
- package/es-modules/Data/Stores/DataStore.js +1 -1
- package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
- package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
- package/es-modules/Extensions/Annotations/Annotation.js +652 -0
- package/es-modules/Extensions/Annotations/AnnotationChart.js +291 -0
- package/es-modules/Extensions/Annotations/AnnotationDefaults.js +624 -0
- package/es-modules/Extensions/Annotations/ControlPoint.js +89 -64
- package/es-modules/Extensions/Annotations/{Mixins/ControllableMixin.js → Controllables/Controllable.js} +300 -241
- package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +63 -50
- package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +95 -0
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +95 -63
- package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +50 -44
- package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +95 -78
- package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +167 -51
- package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +53 -52
- package/es-modules/Extensions/Annotations/{Mixins/EventEmitterMixin.js → EventEmitter.js} +136 -116
- package/es-modules/Extensions/Annotations/MockPoint.js +210 -145
- package/es-modules/Extensions/Annotations/NavigationBindings.js +272 -663
- package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +396 -0
- package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +98 -0
- package/es-modules/Extensions/Annotations/Popup/Popup.js +295 -0
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +177 -0
- package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +81 -0
- package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +609 -0
- package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +134 -0
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +23 -23
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +15 -21
- package/es-modules/Extensions/Annotations/Types/ElliottWave.js +14 -12
- package/es-modules/Extensions/Annotations/Types/Fibonacci.js +33 -23
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +67 -65
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +14 -21
- package/es-modules/Extensions/Annotations/Types/Measure.js +259 -251
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +15 -19
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +24 -19
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +17 -15
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +15 -17
- package/es-modules/Extensions/Boost/Boost.js +320 -15
- package/es-modules/Extensions/Boost/BoostChart.js +245 -0
- package/es-modules/Extensions/Boost/BoostSeries.js +927 -0
- package/es-modules/Extensions/Boost/BoostableMap.js +21 -5
- package/es-modules/Extensions/Boost/Boostables.js +13 -2
- package/es-modules/Extensions/Boost/NamedColors.js +15 -6
- package/es-modules/Extensions/Boost/WGLDrawMode.js +36 -0
- package/es-modules/Extensions/Boost/WGLRenderer.js +288 -295
- package/es-modules/Extensions/Boost/WGLShader.js +370 -376
- package/es-modules/Extensions/Boost/WGLVertexBuffer.js +192 -0
- package/es-modules/Extensions/BoostCanvas.js +70 -48
- package/es-modules/Extensions/Breadcrumbs.js +37 -9
- package/es-modules/Extensions/CurrentDateIndication.js +1 -1
- package/es-modules/Extensions/Data.js +638 -602
- package/es-modules/Extensions/DataGrouping.js +68 -28
- package/es-modules/Extensions/Debugger/Debugger.js +60 -22
- package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
- package/es-modules/Extensions/DownloadURL.js +3 -3
- package/es-modules/Extensions/DragPanes.js +1 -1
- package/es-modules/Extensions/DraggablePoints.js +4 -3
- package/es-modules/Extensions/Drilldown.js +15 -14
- package/es-modules/Extensions/{ExportData.js → ExportData/ExportData.js} +358 -498
- package/es-modules/Extensions/ExportData/ExportDataDefaults.js +272 -0
- package/es-modules/Extensions/Exporting/Exporting.js +30 -17
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +10 -8
- package/es-modules/Extensions/Exporting/Fullscreen.js +352 -0
- package/es-modules/Extensions/GeoJSON.js +3 -4
- package/es-modules/Extensions/MarkerClusters.js +5 -3
- package/es-modules/Extensions/NoDataToDisplay.js +1 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +2 -2
- package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
- package/es-modules/Extensions/Pane.js +3 -3
- package/es-modules/Extensions/ParallelCoordinates.js +12 -8
- package/es-modules/Extensions/PatternFill.js +14 -2
- package/es-modules/Extensions/RangeSelector.js +29 -18
- package/es-modules/Extensions/ScrollablePlotArea.js +4 -4
- package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +264 -386
- package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
- package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
- package/es-modules/Extensions/Sonification/ChartSonify.js +1 -1
- package/es-modules/Extensions/Sonification/Earcon.js +1 -1
- package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
- package/es-modules/Extensions/Themes/HighContrastLight.js +9 -9
- package/es-modules/Maps/MapNavigation.js +3 -7
- package/es-modules/Maps/MapPointer.js +1 -1
- package/es-modules/Maps/MapView.js +31 -19
- package/es-modules/Maps/MapViewInsetsOptionsDefault.js +1 -1
- package/es-modules/Maps/MapViewOptionsDefault.js +3 -1
- package/es-modules/Maps/Projection.js +13 -11
- package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +3 -1
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +12 -2
- package/es-modules/Series/Area/AreaSeries.js +21 -14
- package/es-modules/Series/{Area3DSeries.js → Area3D/Area3DSeries.js} +42 -20
- package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +162 -149
- package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
- package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
- package/es-modules/Series/Bar/BarSeries.js +3 -1
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
- package/es-modules/Series/Bubble/BubbleLegendComposition.js +223 -231
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
- package/es-modules/Series/Bubble/BubbleLegendItem.js +46 -45
- package/es-modules/Series/Bubble/BubblePoint.js +3 -1
- package/es-modules/Series/Bubble/BubbleSeries.js +96 -68
- package/es-modules/Series/Bullet/BulletPoint.js +3 -1
- package/es-modules/Series/Bullet/BulletSeries.js +4 -3
- package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
- package/es-modules/Series/CenteredUtilities.js +8 -2
- package/es-modules/Series/ColorMapComposition.js +111 -0
- package/es-modules/Series/Column/ColumnSeries.js +8 -4
- package/es-modules/Series/Column3D/Column3DComposition.js +2 -2
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +4 -2
- package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
- package/es-modules/Series/Cylinder/CylinderComposition.js +1 -1
- package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
- package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +27 -12
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +19 -3
- package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
- package/es-modules/Series/DragNodesComposition.js +166 -0
- package/es-modules/Series/DrawPointUtilities.js +87 -0
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
- package/es-modules/Series/Flags/FlagsPoint.js +4 -1
- package/es-modules/Series/Flags/FlagsSeries.js +13 -16
- package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
- package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +4 -2
- package/es-modules/Series/Gantt/GanttPoint.js +3 -1
- package/es-modules/Series/Gantt/GanttSeries.js +4 -2
- package/es-modules/Series/Gauge/GaugePoint.js +3 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
- package/es-modules/Series/GraphLayoutComposition.js +130 -0
- package/es-modules/Series/HLC/HLCPoint.js +3 -1
- package/es-modules/Series/HLC/HLCSeries.js +4 -2
- package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
- package/es-modules/Series/Heatmap/HeatmapSeries.js +34 -34
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
- package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
- package/es-modules/Series/Item/ItemPoint.js +3 -1
- package/es-modules/Series/Item/ItemSeries.js +3 -1
- package/es-modules/Series/Line/LineSeries.js +4 -2
- package/es-modules/Series/Lollipop/LollipopPoint.js +24 -12
- package/es-modules/Series/Lollipop/LollipopSeries.js +18 -11
- package/es-modules/Series/Map/MapPoint.js +8 -6
- package/es-modules/Series/Map/MapSeries.js +115 -28
- package/es-modules/Series/MapBubble/MapBubblePoint.js +18 -18
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +69 -21
- package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
- package/es-modules/Series/MapPoint/MapPointPoint.js +4 -2
- package/es-modules/Series/MapPoint/MapPointSeries.js +14 -2
- package/es-modules/Series/Networkgraph/EulerIntegration.js +199 -0
- package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +290 -0
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +401 -0
- package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +545 -0
- package/es-modules/Series/Networkgraph/QuadTree.js +66 -272
- package/es-modules/Series/Networkgraph/QuadTreeNode.js +271 -0
- package/es-modules/Series/Networkgraph/{Layouts.js → ReingoldFruchtermanLayout.js} +240 -259
- package/es-modules/Series/Networkgraph/VerletIntegration.js +193 -0
- package/es-modules/Series/NodesComposition.js +45 -40
- package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
- package/es-modules/Series/OHLC/OHLCSeries.js +3 -1
- package/es-modules/Series/Organization/OrganizationPoint.js +3 -1
- package/es-modules/Series/Organization/OrganizationSeries.js +14 -4
- package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +81 -0
- package/es-modules/Series/PackedBubble/{PackedBubbleComposition.js → PackedBubbleLayout.js} +114 -79
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +5 -3
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +200 -571
- package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +394 -0
- package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
- package/es-modules/Series/Pie/PieDataLabel.js +4 -2
- package/es-modules/Series/Pie/PiePoint.js +3 -1
- package/es-modules/Series/Pie/PieSeries.js +54 -38
- package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +3 -1
- package/es-modules/Series/PolarComposition.js +819 -0
- package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
- package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
- package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
- package/es-modules/Series/Sankey/SankeyPoint.js +3 -1
- package/es-modules/Series/Sankey/SankeySeries.js +38 -10
- package/es-modules/Series/Scatter/ScatterSeries.js +14 -6
- package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
- package/es-modules/Series/Scatter3D/Scatter3DSeries.js +4 -2
- package/es-modules/Series/SeriesOnPointComposition.js +395 -0
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +6 -4
- package/es-modules/Series/Spline/SplineSeries.js +13 -4
- package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
- package/es-modules/Series/Sunburst/SunburstPoint.js +8 -9
- package/es-modules/Series/Sunburst/SunburstSeries.js +32 -5
- package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
- package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
- package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
- package/es-modules/Series/Timeline/TimelineSeries.js +8 -4
- package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
- package/es-modules/Series/Treemap/TreemapSeries.js +12 -10
- package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
- package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
- package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
- package/es-modules/Series/Vector/VectorSeries.js +5 -5
- package/es-modules/Series/Venn/VennPoint.js +5 -5
- package/es-modules/Series/Venn/VennSeries.js +9 -6
- package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
- package/es-modules/Series/Waterfall/WaterfallSeries.js +14 -12
- package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
- package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
- package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +12 -9
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +1 -1
- package/es-modules/Series/XRange/XRangePoint.js +57 -46
- package/es-modules/Series/XRange/XRangeSeries.js +124 -274
- package/es-modules/Series/XRange/XRangeSeriesDefaults.js +211 -0
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +13 -3
- package/es-modules/Stock/Indicators/AD/ADIndicator.js +8 -1
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +27 -14
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +9 -2
- package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +19 -4
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +18 -3
- package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +9 -3
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +11 -5
- package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +19 -4
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +23 -1
- package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +18 -2
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +10 -3
- package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +28 -1
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +18 -7
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +22 -9
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +13 -1
- package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +37 -16
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +28 -1
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +15 -2
- package/es-modules/Stock/Indicators/LinearRegression/{LinearRegression.js → LinearRegressionIndicator.js} +14 -2
- package/es-modules/Stock/Indicators/LinearRegressionAngle/{LinearRegressionAngle.js → LinearRegressionAngleIndicator.js} +15 -8
- package/es-modules/Stock/Indicators/LinearRegressionIntercept/{LinearRegressionIntercept.js → LinearRegressionInterceptIndicator.js} +14 -2
- package/es-modules/Stock/Indicators/LinearRegressionSlopes/{LinearRegressionSlopes.js → LinearRegressionSlopesIndicator.js} +14 -2
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +47 -23
- package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +26 -11
- package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +33 -3
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +19 -2
- package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +13 -1
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +16 -9
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +17 -5
- package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +19 -4
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +19 -7
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +19 -13
- package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +28 -1
- package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +18 -3
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +23 -3
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +4 -2
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +28 -1
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +18 -1
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +23 -7
- package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +28 -1
- package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +17 -5
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +35 -4
- package/es-modules/Stock/Indicators/VBP/VBPPoint.js +9 -7
- package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +14 -2
- package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +33 -3
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +13 -1
- package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +14 -2
- package/es-modules/Stock/StockToolbar.js +568 -0
- package/es-modules/Stock/StockTools.js +256 -0
- package/es-modules/Stock/StockToolsBindings.js +140 -647
- package/es-modules/Stock/StockToolsDefaults.js +1190 -0
- package/es-modules/Stock/StockToolsGui.js +150 -1771
- package/es-modules/Stock/StockToolsUtilities.js +423 -0
- package/es-modules/masters/highcharts-3d.src.js +5 -4
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +7 -6
- package/es-modules/masters/highcharts.src.js +5 -2
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +5 -7
- package/es-modules/masters/indicators/indicators.src.js +1 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +5 -5
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +6 -4
- package/es-modules/masters/modules/annotations.src.js +6 -4
- package/es-modules/masters/modules/arc-diagram.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +6 -2
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +2 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +5 -3
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +5 -2
- package/es-modules/masters/modules/exporting.src.js +1 -2
- package/es-modules/masters/modules/full-screen.src.js +6 -2
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +3 -2
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +2 -2
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +5 -2
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +5 -2
- package/es-modules/masters/modules/series-on-point.src.js +16 -0
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +2 -6
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +10 -3
- package/es-modules/masters/modules/stock.src.js +1 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +2 -2
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +5 -2
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/brand-dark.src.js +1 -1
- package/es-modules/masters/themes/brand-light.src.js +1 -1
- package/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/es-modules/masters/themes/dark-green.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/gray.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/grid.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/skies.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +98 -99
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +233 -212
- package/highcharts-gantt.js +809 -805
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +3817 -3470
- package/highcharts-more.d.ts +15 -8
- package/highcharts-more.js +201 -195
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.d.ts +15 -8
- package/highcharts-more.src.js +7994 -7461
- package/highcharts.d.ts +11364 -1136
- package/highcharts.js +593 -591
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +11364 -1136
- package/highcharts.src.js +1408 -1117
- package/highmaps.js +762 -758
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +2237 -1721
- package/highstock.js +796 -792
- package/highstock.js.map +1 -1
- package/highstock.src.js +1617 -1224
- package/indicators/acceleration-bands.d.ts +1 -17
- package/indicators/acceleration-bands.js +11 -12
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.d.ts +1 -17
- package/indicators/acceleration-bands.src.js +99 -101
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.js.map +1 -1
- package/indicators/accumulation-distribution.src.js +6 -1
- package/indicators/ao.js +6 -6
- package/indicators/ao.js.map +1 -1
- package/indicators/ao.src.js +25 -16
- package/indicators/apo.js +1 -1
- package/indicators/apo.js.map +1 -1
- package/indicators/apo.src.js +6 -1
- package/indicators/aroon-oscillator.d.ts +1 -17
- package/indicators/aroon-oscillator.js +10 -10
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.d.ts +1 -17
- package/indicators/aroon-oscillator.src.js +95 -101
- package/indicators/aroon.d.ts +1 -17
- package/indicators/aroon.js +11 -11
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.d.ts +1 -17
- package/indicators/aroon.src.js +104 -101
- package/indicators/atr.js +1 -1
- package/indicators/atr.js.map +1 -1
- package/indicators/atr.src.js +17 -4
- package/indicators/bollinger-bands.d.ts +1 -17
- package/indicators/bollinger-bands.js +11 -12
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.d.ts +1 -17
- package/indicators/bollinger-bands.src.js +97 -103
- package/indicators/cci.js +1 -1
- package/indicators/cci.js.map +1 -1
- package/indicators/cci.src.js +17 -4
- package/indicators/chaikin.js +8 -8
- package/indicators/chaikin.js.map +1 -1
- package/indicators/chaikin.src.js +13 -5
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.js.map +1 -1
- package/indicators/cmf.src.js +21 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.js.map +1 -1
- package/indicators/cmo.src.js +16 -2
- package/indicators/dema.js +1 -1
- package/indicators/dema.js.map +1 -1
- package/indicators/dema.src.js +26 -1
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.js +12 -12
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +104 -105
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.js.map +1 -1
- package/indicators/dpo.src.js +20 -9
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.js.map +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +35 -16
- package/indicators/indicators-all.d.ts +1 -17
- package/indicators/indicators-all.js +200 -199
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.d.ts +1 -17
- package/indicators/indicators-all.src.js +882 -284
- package/indicators/indicators.js +1 -1
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +12 -2
- package/indicators/keltner-channels.d.ts +1 -17
- package/indicators/keltner-channels.js +11 -12
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.d.ts +1 -17
- package/indicators/keltner-channels.src.js +114 -99
- package/indicators/klinger.js +14 -14
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +101 -102
- package/indicators/macd.js +10 -9
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +46 -25
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.js.map +1 -1
- package/indicators/mfi.src.js +24 -11
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.js.map +1 -1
- package/indicators/momentum.src.js +31 -3
- package/indicators/natr.js +1 -1
- package/indicators/natr.js.map +1 -1
- package/indicators/natr.src.js +17 -3
- package/indicators/obv.js +1 -1
- package/indicators/obv.js.map +1 -1
- package/indicators/obv.src.js +11 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.js.map +1 -1
- package/indicators/pivot-points.src.js +32 -19
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.js.map +1 -1
- package/indicators/ppo.src.js +15 -5
- package/indicators/price-channel.d.ts +1 -17
- package/indicators/price-channel.js +11 -11
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.d.ts +1 -17
- package/indicators/price-channel.src.js +102 -107
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.js.map +1 -1
- package/indicators/price-envelopes.src.js +26 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.js.map +1 -1
- package/indicators/psar.src.js +17 -4
- package/indicators/regressions.js +12 -11
- package/indicators/regressions.js.map +1 -1
- package/indicators/regressions.src.js +50 -15
- package/indicators/roc.js +1 -1
- package/indicators/roc.js.map +1 -1
- package/indicators/roc.src.js +16 -3
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.js.map +1 -1
- package/indicators/rsi.src.js +21 -3
- package/indicators/slow-stochastic.js +1 -1
- package/indicators/slow-stochastic.js.map +1 -1
- package/indicators/slow-stochastic.src.js +26 -1
- package/indicators/stochastic.d.ts +1 -17
- package/indicators/stochastic.js +12 -12
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.d.ts +1 -17
- package/indicators/stochastic.src.js +104 -99
- package/indicators/supertrend.js +7 -7
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +21 -9
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.js.map +1 -1
- package/indicators/trendline.src.js +15 -5
- package/indicators/trix.js +1 -1
- package/indicators/trix.js.map +1 -1
- package/indicators/trix.src.js +26 -1
- package/indicators/volume-by-price.js +17 -17
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +38 -10
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.js.map +1 -1
- package/indicators/vwap.src.js +12 -2
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.js.map +1 -1
- package/indicators/williams-r.src.js +11 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.js.map +1 -1
- package/indicators/wma.src.js +31 -3
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.js.map +1 -1
- package/indicators/zigzag.src.js +12 -2
- package/modules/accessibility.js +246 -242
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +797 -664
- package/modules/annotations-advanced.d.ts +1 -1
- package/modules/annotations-advanced.js +193 -192
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.d.ts +1 -1
- package/modules/annotations-advanced.src.js +9229 -8589
- package/modules/annotations.d.ts +1 -1
- package/modules/annotations.js +128 -126
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.d.ts +1 -1
- package/modules/annotations.src.js +6190 -5528
- package/modules/arc-diagram.js +7 -7
- package/modules/arc-diagram.js.map +1 -1
- package/modules/arc-diagram.src.js +10 -2
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.d.ts +19 -0
- package/modules/boost-canvas.js +81 -15
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.d.ts +19 -0
- package/modules/boost-canvas.src.js +3342 -52
- package/modules/boost.d.ts +8 -26
- package/modules/boost.js +88 -80
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.d.ts +8 -26
- package/modules/boost.src.js +2435 -1889
- package/modules/broken-axis.js +2 -2
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +2 -2
- package/modules/bullet.js +1 -1
- package/modules/bullet.js.map +1 -1
- package/modules/bullet.src.js +2 -5
- package/modules/coloraxis.js +2 -2
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +9 -5
- package/modules/current-date-indicator.js +1 -1
- package/modules/current-date-indicator.src.js +2 -2
- package/modules/cylinder.js +9 -9
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +2 -2
- package/modules/data.d.ts +12 -12
- package/modules/data.js +33 -34
- package/modules/data.js.map +1 -1
- package/modules/data.src.d.ts +12 -12
- package/modules/data.src.js +862 -829
- package/modules/datagrouping.d.ts +22 -0
- package/modules/datagrouping.js +9 -9
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.d.ts +22 -0
- package/modules/datagrouping.src.js +69 -29
- package/modules/debugger.js +8 -6
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +85 -40
- package/modules/dependency-wheel.js +12 -12
- package/modules/dependency-wheel.js.map +1 -1
- package/modules/dependency-wheel.src.js +41 -14
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +2 -2
- package/modules/draggable-points.js +5 -5
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +5 -4
- package/modules/drilldown.d.ts +0 -10
- package/modules/drilldown.js +37 -37
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +0 -10
- package/modules/drilldown.src.js +59 -25
- package/modules/dumbbell.d.ts +4 -0
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.d.ts +4 -0
- package/modules/dumbbell.src.js +24 -12
- package/modules/export-data.js +25 -22
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +641 -469
- package/modules/exporting.d.ts +8 -8
- package/modules/exporting.js +39 -39
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.d.ts +8 -8
- package/modules/exporting.src.js +442 -319
- package/modules/full-screen.js +8 -8
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +196 -78
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +3 -3
- package/modules/funnel3d.js +2 -2
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +2 -2
- package/modules/gantt.js +219 -217
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +2420 -2364
- package/modules/grid-axis.js +23 -23
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +890 -891
- package/modules/heatmap.js +40 -40
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +137 -108
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +1 -1
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +1 -1
- package/modules/hollowcandlestick.js +1 -1
- package/modules/hollowcandlestick.src.js +9 -9
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +6 -6
- package/modules/lollipop.js.map +1 -1
- package/modules/lollipop.src.js +37 -22
- package/modules/map.d.ts +3 -3
- package/modules/map.js +171 -169
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +3 -3
- package/modules/map.src.js +830 -605
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +4 -6
- package/modules/networkgraph.d.ts +1 -17
- package/modules/networkgraph.js +55 -50
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +1 -17
- package/modules/networkgraph.src.js +2339 -2008
- package/modules/no-data-to-display.js +1 -1
- package/modules/no-data-to-display.src.js +2 -2
- package/modules/offline-exporting.js +3 -3
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +5 -5
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +1 -1
- package/modules/oldie.js +2 -2
- package/modules/oldie.src.js +3 -3
- package/modules/organization.js +15 -15
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +12 -4
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +11 -11
- package/modules/parallel-coordinates.js.map +1 -1
- package/modules/parallel-coordinates.src.js +14 -9
- package/modules/pareto.js +1 -1
- package/modules/pareto.src.js +1 -1
- package/modules/pathfinder.js +1 -1
- package/modules/pathfinder.src.js +1 -1
- package/modules/pattern-fill.js +15 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +15 -2
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/sankey.d.ts +1 -17
- package/modules/sankey.js +32 -32
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +1 -17
- package/modules/sankey.src.js +102 -57
- package/modules/series-label.js +18 -18
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +474 -387
- package/modules/series-on-point.js +18 -0
- package/modules/series-on-point.js.map +1 -0
- package/modules/series-on-point.src.js +468 -0
- package/modules/solid-gauge.js +4 -4
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +6 -6
- package/modules/sonification.d.ts +2 -2
- package/modules/sonification.js +1 -1
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.d.ts +2 -2
- package/modules/sonification.src.js +4 -8
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.d.ts +1 -23
- package/modules/stock-tools.js +109 -179
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.d.ts +1 -23
- package/modules/stock-tools.src.js +2652 -6347
- package/modules/stock.d.ts +8 -0
- package/modules/stock.js +205 -204
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.d.ts +8 -0
- package/modules/stock.src.js +208 -106
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +73 -73
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +251 -193
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.src.js +1 -1
- package/modules/timeline.js +1 -1
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +6 -4
- package/modules/treegrid.js +57 -57
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +1908 -1901
- package/modules/treemap.js +54 -53
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +217 -183
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.src.js +1 -1
- package/modules/vector.js +2 -2
- package/modules/vector.js.map +1 -1
- package/modules/vector.src.js +3 -5
- package/modules/venn.js +31 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +82 -111
- package/modules/windbarb.js +1 -1
- package/modules/windbarb.src.js +1 -1
- package/modules/wordcloud.js +23 -23
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +84 -113
- package/modules/xrange.js +17 -17
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +411 -397
- package/package.json +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/brand-dark.js +1 -1
- package/themes/brand-dark.src.js +1 -1
- package/themes/brand-light.js +1 -1
- package/themes/brand-light.src.js +1 -1
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/grid.js +1 -1
- package/themes/grid.src.js +1 -1
- package/themes/high-contrast-dark.js +2 -2
- package/themes/high-contrast-dark.src.js +11 -11
- package/themes/high-contrast-light.js +2 -2
- package/themes/high-contrast-light.src.js +10 -10
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
- package/es-modules/Core/Axis/StackingAxis.js +0 -216
- package/es-modules/Core/Axis/TreeGridAxis.js +0 -720
- package/es-modules/Core/Axis/TreeGridTick.js +0 -317
- package/es-modules/Extensions/Annotations/Annotations.js +0 -1449
- package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +0 -179
- package/es-modules/Extensions/Annotations/Popup.js +0 -1123
- package/es-modules/Extensions/Boost/BoostAttach.js +0 -150
- package/es-modules/Extensions/Boost/BoostInit.js +0 -323
- package/es-modules/Extensions/Boost/BoostOptions.js +0 -245
- package/es-modules/Extensions/Boost/BoostOverrides.js +0 -386
- package/es-modules/Extensions/Boost/BoostUtils.js +0 -255
- package/es-modules/Extensions/Boost/WGLVBuffer.js +0 -153
- package/es-modules/Extensions/FullScreen.js +0 -240
- package/es-modules/Extensions/Polar.js +0 -740
- package/es-modules/Extensions/Stacking.js +0 -517
- package/es-modules/Series/ColorMapMixin.js +0 -84
- package/es-modules/Series/DrawPointComposition.js +0 -114
- package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -132
- package/es-modules/Series/Networkgraph/Integrations.js +0 -348
- package/es-modules/Series/Networkgraph/Networkgraph.js +0 -1178
- package/es-modules/Series/XRange/XRangeComposition.js +0 -49
|
@@ -13,317 +13,138 @@
|
|
|
13
13
|
// - Set up systematic tests for all series types, paired with tests of the data
|
|
14
14
|
// module importing the same data.
|
|
15
15
|
'use strict';
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
17
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
18
|
+
if (ar || !(i in from)) {
|
|
19
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
20
|
+
ar[i] = from[i];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
24
|
+
};
|
|
25
|
+
import AST from '../../Core/Renderer/HTML/AST.js';
|
|
26
|
+
import ExportDataDefaults from './ExportDataDefaults.js';
|
|
27
|
+
import H from '../../Core/Globals.js';
|
|
28
|
+
var doc = H.doc, win = H.win;
|
|
29
|
+
import D from '../../Core/DefaultOptions.js';
|
|
22
30
|
var getOptions = D.getOptions, setOptions = D.setOptions;
|
|
23
|
-
import
|
|
31
|
+
import DownloadURL from '../DownloadURL.js';
|
|
32
|
+
var downloadURL = DownloadURL.downloadURL;
|
|
33
|
+
import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
|
|
34
|
+
var SeriesClass = SeriesRegistry.series, _a = SeriesRegistry.seriesTypes, AreaRangeSeries = _a.arearange, GanttSeries = _a.gantt, MapSeries = _a.map, MapBubbleSeries = _a.mapbubble, TreemapSeries = _a.treemap;
|
|
35
|
+
import U from '../../Core/Utilities.js';
|
|
24
36
|
var addEvent = U.addEvent, defined = U.defined, extend = U.extend, find = U.find, fireEvent = U.fireEvent, isNumber = U.isNumber, pick = U.pick;
|
|
37
|
+
/* *
|
|
38
|
+
*
|
|
39
|
+
* Constants
|
|
40
|
+
*
|
|
41
|
+
* */
|
|
42
|
+
var composedClasses = [];
|
|
43
|
+
/* *
|
|
44
|
+
*
|
|
45
|
+
* Functions
|
|
46
|
+
*
|
|
47
|
+
* */
|
|
25
48
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* format.
|
|
49
|
+
* Generates a data URL of CSV for local download in the browser. This is the
|
|
50
|
+
* default action for a click on the 'Download CSV' button.
|
|
29
51
|
*
|
|
30
|
-
* @
|
|
31
|
-
* @extends Highcharts.EventCallbackFunction<Highcharts.Chart>
|
|
52
|
+
* See {@link Highcharts.Chart#getCSV} to get the CSV data itself.
|
|
32
53
|
*
|
|
33
|
-
* @
|
|
34
|
-
* Chart context where the event occured.
|
|
54
|
+
* @function Highcharts.Chart#downloadCSV
|
|
35
55
|
*
|
|
36
|
-
* @
|
|
37
|
-
* Event object with data rows that can be modified.
|
|
56
|
+
* @requires modules/exporting
|
|
38
57
|
*/
|
|
58
|
+
function chartDownloadCSV() {
|
|
59
|
+
var csv = this.getCSV(true);
|
|
60
|
+
downloadURL(getBlobFromContent(csv, 'text/csv') ||
|
|
61
|
+
'data:text/csv,\uFEFF' + encodeURIComponent(csv), this.getFilename() + '.csv');
|
|
62
|
+
}
|
|
39
63
|
/**
|
|
40
|
-
*
|
|
64
|
+
* Generates a data URL of an XLS document for local download in the browser.
|
|
65
|
+
* This is the default action for a click on the 'Download XLS' button.
|
|
41
66
|
*
|
|
42
|
-
* @
|
|
43
|
-
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* @
|
|
47
|
-
*/
|
|
48
|
-
|
|
49
|
-
var
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
*/
|
|
72
|
-
/**
|
|
73
|
-
* @optionparent exporting
|
|
74
|
-
* @private
|
|
75
|
-
*/
|
|
76
|
-
exporting: {
|
|
77
|
-
/**
|
|
78
|
-
* Caption for the data table. Same as chart title by default. Set to
|
|
79
|
-
* `false` to disable.
|
|
80
|
-
*
|
|
81
|
-
* @sample highcharts/export-data/multilevel-table
|
|
82
|
-
* Multiple table headers
|
|
83
|
-
*
|
|
84
|
-
* @type {boolean|string}
|
|
85
|
-
* @since 6.0.4
|
|
86
|
-
* @requires modules/export-data
|
|
87
|
-
* @apioption exporting.tableCaption
|
|
88
|
-
*/
|
|
89
|
-
/**
|
|
90
|
-
* Options for exporting data to CSV or ExCel, or displaying the data
|
|
91
|
-
* in a HTML table or a JavaScript structure.
|
|
92
|
-
*
|
|
93
|
-
* This module adds data export options to the export menu and provides
|
|
94
|
-
* functions like `Chart.getCSV`, `Chart.getTable`, `Chart.getDataRows`
|
|
95
|
-
* and `Chart.viewData`.
|
|
96
|
-
*
|
|
97
|
-
* The XLS converter is limited and only creates a HTML string that is
|
|
98
|
-
* passed for download, which works but creates a warning before
|
|
99
|
-
* opening. The workaround for this is to use a third party XLSX
|
|
100
|
-
* converter, as demonstrated in the sample below.
|
|
101
|
-
*
|
|
102
|
-
* @sample highcharts/export-data/categorized/ Categorized data
|
|
103
|
-
* @sample highcharts/export-data/stock-timeaxis/ Highcharts Stock time axis
|
|
104
|
-
* @sample highcharts/export-data/xlsx/
|
|
105
|
-
* Using a third party XLSX converter
|
|
106
|
-
*
|
|
107
|
-
* @since 6.0.0
|
|
108
|
-
* @requires modules/export-data
|
|
109
|
-
*/
|
|
110
|
-
csv: {
|
|
111
|
-
/**
|
|
112
|
-
*
|
|
113
|
-
* Options for annotations in the export-data table.
|
|
114
|
-
*
|
|
115
|
-
* @since 8.2.0
|
|
116
|
-
* @requires modules/export-data
|
|
117
|
-
* @requires modules/annotations
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*/
|
|
121
|
-
annotations: {
|
|
122
|
-
/**
|
|
123
|
-
* The way to mark the separator for annotations
|
|
124
|
-
* combined in one export-data table cell.
|
|
125
|
-
*
|
|
126
|
-
* @since 8.2.0
|
|
127
|
-
* @requires modules/annotations
|
|
128
|
-
*/
|
|
129
|
-
itemDelimiter: '; ',
|
|
130
|
-
/**
|
|
131
|
-
* When several labels are assigned to a specific point,
|
|
132
|
-
* they will be displayed in one field in the table.
|
|
133
|
-
*
|
|
134
|
-
* @sample highcharts/export-data/join-annotations/
|
|
135
|
-
* Concatenate point annotations with itemDelimiter set.
|
|
136
|
-
*
|
|
137
|
-
* @since 8.2.0
|
|
138
|
-
* @requires modules/annotations
|
|
139
|
-
*/
|
|
140
|
-
join: false
|
|
141
|
-
},
|
|
142
|
-
/**
|
|
143
|
-
* Formatter callback for the column headers. Parameters are:
|
|
144
|
-
* - `item` - The series or axis object)
|
|
145
|
-
* - `key` - The point key, for example y or z
|
|
146
|
-
* - `keyLength` - The amount of value keys for this item, for
|
|
147
|
-
* example a range series has the keys `low` and `high` so the
|
|
148
|
-
* key length is 2.
|
|
149
|
-
*
|
|
150
|
-
* If [useMultiLevelHeaders](#exporting.useMultiLevelHeaders) is
|
|
151
|
-
* true, columnHeaderFormatter by default returns an object with
|
|
152
|
-
* columnTitle and topLevelColumnTitle for each key. Columns with
|
|
153
|
-
* the same topLevelColumnTitle have their titles merged into a
|
|
154
|
-
* single cell with colspan for table/Excel export.
|
|
155
|
-
*
|
|
156
|
-
* If `useMultiLevelHeaders` is false, or for CSV export, it returns
|
|
157
|
-
* the series name, followed by the key if there is more than one
|
|
158
|
-
* key.
|
|
159
|
-
*
|
|
160
|
-
* For the axis it returns the axis title or "Category" or
|
|
161
|
-
* "DateTime" by default.
|
|
162
|
-
*
|
|
163
|
-
* Return `false` to use Highcharts' proposed header.
|
|
164
|
-
*
|
|
165
|
-
* @sample highcharts/export-data/multilevel-table
|
|
166
|
-
* Multiple table headers
|
|
167
|
-
*
|
|
168
|
-
* @type {Function|null}
|
|
169
|
-
*/
|
|
170
|
-
columnHeaderFormatter: null,
|
|
171
|
-
/**
|
|
172
|
-
* Which date format to use for exported dates on a datetime X axis.
|
|
173
|
-
* See `Highcharts.dateFormat`.
|
|
174
|
-
*/
|
|
175
|
-
dateFormat: '%Y-%m-%d %H:%M:%S',
|
|
176
|
-
/**
|
|
177
|
-
* Which decimal point to use for exported CSV. Defaults to the same
|
|
178
|
-
* as the browser locale, typically `.` (English) or `,` (German,
|
|
179
|
-
* French etc).
|
|
180
|
-
*
|
|
181
|
-
* @type {string|null}
|
|
182
|
-
* @since 6.0.4
|
|
183
|
-
*/
|
|
184
|
-
decimalPoint: null,
|
|
185
|
-
/**
|
|
186
|
-
* The item delimiter in the exported data. Use `;` for direct
|
|
187
|
-
* exporting to Excel. Defaults to a best guess based on the browser
|
|
188
|
-
* locale. If the locale _decimal point_ is `,`, the `itemDelimiter`
|
|
189
|
-
* defaults to `;`, otherwise the `itemDelimiter` defaults to `,`.
|
|
190
|
-
*
|
|
191
|
-
* @type {string|null}
|
|
192
|
-
*/
|
|
193
|
-
itemDelimiter: null,
|
|
194
|
-
/**
|
|
195
|
-
* The line delimiter in the exported data, defaults to a newline.
|
|
196
|
-
*/
|
|
197
|
-
lineDelimiter: '\n'
|
|
198
|
-
},
|
|
199
|
-
/**
|
|
200
|
-
* Show a HTML table below the chart with the chart's current data.
|
|
201
|
-
*
|
|
202
|
-
* @sample highcharts/export-data/showtable/
|
|
203
|
-
* Show the table
|
|
204
|
-
* @sample highcharts/studies/exporting-table-html
|
|
205
|
-
* Experiment with putting the table inside the subtitle to
|
|
206
|
-
* allow exporting it.
|
|
207
|
-
*
|
|
208
|
-
* @since 6.0.0
|
|
209
|
-
* @requires modules/export-data
|
|
210
|
-
*/
|
|
211
|
-
showTable: false,
|
|
212
|
-
/**
|
|
213
|
-
* Use multi level headers in data table. If [csv.columnHeaderFormatter
|
|
214
|
-
* ](#exporting.csv.columnHeaderFormatter) is defined, it has to return
|
|
215
|
-
* objects in order for multi level headers to work.
|
|
216
|
-
*
|
|
217
|
-
* @sample highcharts/export-data/multilevel-table
|
|
218
|
-
* Multiple table headers
|
|
219
|
-
*
|
|
220
|
-
* @since 6.0.4
|
|
221
|
-
* @requires modules/export-data
|
|
222
|
-
*/
|
|
223
|
-
useMultiLevelHeaders: true,
|
|
224
|
-
/**
|
|
225
|
-
* If using multi level table headers, use rowspans for headers that
|
|
226
|
-
* have only one level.
|
|
227
|
-
*
|
|
228
|
-
* @sample highcharts/export-data/multilevel-table
|
|
229
|
-
* Multiple table headers
|
|
230
|
-
*
|
|
231
|
-
* @since 6.0.4
|
|
232
|
-
* @requires modules/export-data
|
|
233
|
-
*/
|
|
234
|
-
useRowspanHeaders: true
|
|
235
|
-
},
|
|
236
|
-
/**
|
|
237
|
-
* @optionparent lang
|
|
238
|
-
*
|
|
239
|
-
* @private
|
|
240
|
-
*/
|
|
241
|
-
lang: {
|
|
242
|
-
/**
|
|
243
|
-
* The text for the menu item.
|
|
244
|
-
*
|
|
245
|
-
* @since 6.0.0
|
|
246
|
-
* @requires modules/export-data
|
|
247
|
-
*/
|
|
248
|
-
downloadCSV: 'Download CSV',
|
|
249
|
-
/**
|
|
250
|
-
* The text for the menu item.
|
|
251
|
-
*
|
|
252
|
-
* @since 6.0.0
|
|
253
|
-
* @requires modules/export-data
|
|
254
|
-
*/
|
|
255
|
-
downloadXLS: 'Download XLS',
|
|
256
|
-
/**
|
|
257
|
-
* The text for exported table.
|
|
258
|
-
*
|
|
259
|
-
* @since 8.1.0
|
|
260
|
-
* @requires modules/export-data
|
|
261
|
-
*/
|
|
262
|
-
exportData: {
|
|
263
|
-
/**
|
|
264
|
-
* The annotation column title.
|
|
265
|
-
*/
|
|
266
|
-
annotationHeader: 'Annotations',
|
|
267
|
-
/**
|
|
268
|
-
* The category column title.
|
|
269
|
-
*/
|
|
270
|
-
categoryHeader: 'Category',
|
|
271
|
-
/**
|
|
272
|
-
* The category column title when axis type set to "datetime".
|
|
273
|
-
*/
|
|
274
|
-
categoryDatetimeHeader: 'DateTime'
|
|
275
|
-
},
|
|
276
|
-
/**
|
|
277
|
-
* The text for the menu item.
|
|
278
|
-
*
|
|
279
|
-
* @since 6.0.0
|
|
280
|
-
* @requires modules/export-data
|
|
281
|
-
*/
|
|
282
|
-
viewData: 'View data table',
|
|
283
|
-
/**
|
|
284
|
-
* The text for the menu item.
|
|
285
|
-
*
|
|
286
|
-
* @since 8.2.0
|
|
287
|
-
* @requires modules/export-data
|
|
288
|
-
*/
|
|
289
|
-
hideData: 'Hide data table'
|
|
290
|
-
}
|
|
291
|
-
});
|
|
292
|
-
/* eslint-disable no-invalid-this */
|
|
293
|
-
// Add an event listener to handle the showTable option
|
|
294
|
-
addEvent(Chart, 'render', function () {
|
|
295
|
-
if (this.options &&
|
|
296
|
-
this.options.exporting &&
|
|
297
|
-
this.options.exporting.showTable &&
|
|
298
|
-
!this.options.chart.forExport &&
|
|
299
|
-
!this.dataTableDiv) {
|
|
300
|
-
this.viewData();
|
|
301
|
-
}
|
|
302
|
-
});
|
|
303
|
-
/* eslint-enable no-invalid-this */
|
|
67
|
+
* See {@link Highcharts.Chart#getTable} to get the table data itself.
|
|
68
|
+
*
|
|
69
|
+
* @function Highcharts.Chart#downloadXLS
|
|
70
|
+
*
|
|
71
|
+
* @requires modules/exporting
|
|
72
|
+
*/
|
|
73
|
+
function chartDownloadXLS() {
|
|
74
|
+
var uri = 'data:application/vnd.ms-excel;base64,', template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" ' +
|
|
75
|
+
'xmlns:x="urn:schemas-microsoft-com:office:excel" ' +
|
|
76
|
+
'xmlns="http://www.w3.org/TR/REC-html40">' +
|
|
77
|
+
'<head><!--[if gte mso 9]><xml><x:ExcelWorkbook>' +
|
|
78
|
+
'<x:ExcelWorksheets><x:ExcelWorksheet>' +
|
|
79
|
+
'<x:Name>Ark1</x:Name>' +
|
|
80
|
+
'<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions>' +
|
|
81
|
+
'</x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook>' +
|
|
82
|
+
'</xml><![endif]-->' +
|
|
83
|
+
'<style>td{border:none;font-family: Calibri, sans-serif;} ' +
|
|
84
|
+
'.number{mso-number-format:"0.00";} ' +
|
|
85
|
+
'.text{ mso-number-format:"\@";}</style>' +
|
|
86
|
+
'<meta name=ProgId content=Excel.Sheet>' +
|
|
87
|
+
'<meta charset=UTF-8>' +
|
|
88
|
+
'</head><body>' +
|
|
89
|
+
this.getTable(true) +
|
|
90
|
+
'</body></html>', base64 = function (s) {
|
|
91
|
+
return win.btoa(unescape(encodeURIComponent(s))); // #50
|
|
92
|
+
};
|
|
93
|
+
downloadURL(getBlobFromContent(template, 'application/vnd.ms-excel') ||
|
|
94
|
+
uri + base64(template), this.getFilename() + '.xls');
|
|
95
|
+
}
|
|
304
96
|
/**
|
|
305
|
-
*
|
|
306
|
-
* categorized. For example in an arearange series, the low and high values
|
|
307
|
-
* should be formatted according to the Y axis type, and in order to link them
|
|
308
|
-
* we need this map.
|
|
97
|
+
* Export-data module required. Returns the current chart data as a CSV string.
|
|
309
98
|
*
|
|
310
|
-
* @
|
|
311
|
-
*
|
|
99
|
+
* @function Highcharts.Chart#getCSV
|
|
100
|
+
*
|
|
101
|
+
* @param {boolean} [useLocalDecimalPoint]
|
|
102
|
+
* Whether to use the local decimal point as detected from the browser.
|
|
103
|
+
* This makes it easier to export data to Excel in the same locale as the
|
|
104
|
+
* user is.
|
|
105
|
+
*
|
|
106
|
+
* @return {string}
|
|
107
|
+
* CSV representation of the data
|
|
312
108
|
*/
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
109
|
+
function chartGetCSV(useLocalDecimalPoint) {
|
|
110
|
+
var csv = '';
|
|
111
|
+
var rows = this.getDataRows(), csvOptions = this.options.exporting.csv, decimalPoint = pick(csvOptions.decimalPoint, csvOptions.itemDelimiter !== ',' && useLocalDecimalPoint ?
|
|
112
|
+
(1.1).toLocaleString()[1] :
|
|
113
|
+
'.'),
|
|
114
|
+
// use ';' for direct to Excel
|
|
115
|
+
itemDelimiter = pick(csvOptions.itemDelimiter, decimalPoint === ',' ? ';' : ','),
|
|
116
|
+
// '\n' isn't working with the js csv data extraction
|
|
117
|
+
lineDelimiter = csvOptions.lineDelimiter;
|
|
118
|
+
// Transform the rows to CSV
|
|
119
|
+
rows.forEach(function (row, i) {
|
|
120
|
+
var val = '', j = row.length;
|
|
121
|
+
while (j--) {
|
|
122
|
+
val = row[j];
|
|
123
|
+
if (typeof val === 'string') {
|
|
124
|
+
val = '"' + val + '"';
|
|
125
|
+
}
|
|
126
|
+
if (typeof val === 'number') {
|
|
127
|
+
if (decimalPoint !== '.') {
|
|
128
|
+
val = val.toString().replace('.', decimalPoint);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
row[j] = val;
|
|
132
|
+
}
|
|
133
|
+
// The first row is the header - it defines the number of columns.
|
|
134
|
+
// Empty columns between not-empty cells are covered in the getDataRows
|
|
135
|
+
// method.
|
|
136
|
+
// Now add empty values only to the end of the row so all rows have
|
|
137
|
+
// the same number of columns, #17186
|
|
138
|
+
row.length = rows.length ? rows[0].length : 0;
|
|
139
|
+
// Add the values
|
|
140
|
+
csv += row.join(itemDelimiter);
|
|
141
|
+
// Add the line delimiter
|
|
142
|
+
if (i < rows.length - 1) {
|
|
143
|
+
csv += lineDelimiter;
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
return csv;
|
|
147
|
+
}
|
|
327
148
|
/**
|
|
328
149
|
* Export-data module required. Returns a two-dimensional array containing the
|
|
329
150
|
* current chart data.
|
|
@@ -340,8 +161,8 @@ Chart.prototype.setUpKeyToAxis = function () {
|
|
|
340
161
|
*
|
|
341
162
|
* @emits Highcharts.Chart#event:exportData
|
|
342
163
|
*/
|
|
343
|
-
|
|
344
|
-
var hasParallelCoords = this.hasParallelCoordinates, time = this.time, csvOptions = ((this.options.exporting && this.options.exporting.csv) || {}),
|
|
164
|
+
function chartGetDataRows(multiLevelHeaders) {
|
|
165
|
+
var hasParallelCoords = this.hasParallelCoordinates, time = this.time, csvOptions = ((this.options.exporting && this.options.exporting.csv) || {}), xAxes = this.xAxis, rows = {}, rowArr = [], topLevelColumnTitles = [], columnTitles = [], langOptions = this.options.lang, exportDataOptions = langOptions.exportData, categoryHeader = exportDataOptions.categoryHeader, categoryDatetimeHeader = exportDataOptions.categoryDatetimeHeader,
|
|
345
166
|
// Options
|
|
346
167
|
columnHeaderFormatter = function (item, key, keyLength) {
|
|
347
168
|
if (csvOptions.columnHeaderFormatter) {
|
|
@@ -353,7 +174,7 @@ Chart.prototype.getDataRows = function (multiLevelHeaders) {
|
|
|
353
174
|
if (!item) {
|
|
354
175
|
return categoryHeader;
|
|
355
176
|
}
|
|
356
|
-
if (item instanceof
|
|
177
|
+
if (!(item instanceof SeriesClass)) {
|
|
357
178
|
return (item.options.title && item.options.title.text) ||
|
|
358
179
|
(item.dateTime ? categoryDatetimeHeader : categoryHeader);
|
|
359
180
|
}
|
|
@@ -408,9 +229,8 @@ Chart.prototype.getDataRows = function (multiLevelHeaders) {
|
|
|
408
229
|
}
|
|
409
230
|
return series.pointArrayMap || ['y'];
|
|
410
231
|
}, xAxisIndices = [];
|
|
411
|
-
// Loop the series and index values
|
|
412
|
-
|
|
413
|
-
this.setUpKeyToAxis();
|
|
232
|
+
var xAxis, dataRows, columnTitleObj, i = 0, // Loop the series and index values
|
|
233
|
+
x, xTitle;
|
|
414
234
|
this.series.forEach(function (series) {
|
|
415
235
|
var keys = series.options.keys, xAxis = series.xAxis, pointArrayMap = keys || getPointArray(series, xAxis), valueCount = pointArrayMap.length, xTaken = !series.requireSorting && {}, xAxisIndex = xAxes.indexOf(xAxis);
|
|
416
236
|
var categoryAndDatetimeMap = getCategoryAndDateTimeMap(series, pointArrayMap), mockSeries, j;
|
|
@@ -447,16 +267,16 @@ Chart.prototype.getDataRows = function (multiLevelHeaders) {
|
|
|
447
267
|
// Export directly from options.data because we need the uncropped
|
|
448
268
|
// data (#7913), and we need to support Boost (#7026).
|
|
449
269
|
series.options.data.forEach(function eachData(options, pIdx) {
|
|
450
|
-
var
|
|
270
|
+
var mockPoint = { series: mockSeries };
|
|
271
|
+
var key, prop, val;
|
|
451
272
|
// In parallel coordinates chart, each data point is connected
|
|
452
273
|
// to a separate yAxis, conform this
|
|
453
274
|
if (hasParallelCoords) {
|
|
454
275
|
categoryAndDatetimeMap = getCategoryAndDateTimeMap(series, pointArrayMap, pIdx);
|
|
455
276
|
}
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
name = series.data[pIdx] && series.data[pIdx].name;
|
|
277
|
+
series.pointClass.prototype.applyOptions.apply(mockPoint, [options]);
|
|
278
|
+
key = mockPoint.x;
|
|
279
|
+
var name = series.data[pIdx] && series.data[pIdx].name;
|
|
460
280
|
j = 0;
|
|
461
281
|
// Pies, funnels, geo maps etc. use point name in X row
|
|
462
282
|
if (!xAxis ||
|
|
@@ -476,12 +296,12 @@ Chart.prototype.getDataRows = function (multiLevelHeaders) {
|
|
|
476
296
|
// Contain the X values from one or more X axes
|
|
477
297
|
rows[key].xValues = [];
|
|
478
298
|
}
|
|
479
|
-
rows[key].x =
|
|
299
|
+
rows[key].x = mockPoint.x;
|
|
480
300
|
rows[key].name = name;
|
|
481
|
-
rows[key].xValues[xAxisIndex] =
|
|
301
|
+
rows[key].xValues[xAxisIndex] = mockPoint.x;
|
|
482
302
|
while (j < valueCount) {
|
|
483
303
|
prop = pointArrayMap[j]; // y, z etc
|
|
484
|
-
val =
|
|
304
|
+
val = mockPoint[prop];
|
|
485
305
|
rows[key][i + j] = pick(
|
|
486
306
|
// Y axis category if present
|
|
487
307
|
categoryAndDatetimeMap.categoryMap[prop][val],
|
|
@@ -550,53 +370,7 @@ Chart.prototype.getDataRows = function (multiLevelHeaders) {
|
|
|
550
370
|
dataRows = dataRows.concat(rowArr);
|
|
551
371
|
fireEvent(this, 'exportData', { dataRows: dataRows });
|
|
552
372
|
return dataRows;
|
|
553
|
-
}
|
|
554
|
-
/**
|
|
555
|
-
* Export-data module required. Returns the current chart data as a CSV string.
|
|
556
|
-
*
|
|
557
|
-
* @function Highcharts.Chart#getCSV
|
|
558
|
-
*
|
|
559
|
-
* @param {boolean} [useLocalDecimalPoint]
|
|
560
|
-
* Whether to use the local decimal point as detected from the browser.
|
|
561
|
-
* This makes it easier to export data to Excel in the same locale as the
|
|
562
|
-
* user is.
|
|
563
|
-
*
|
|
564
|
-
* @return {string}
|
|
565
|
-
* CSV representation of the data
|
|
566
|
-
*/
|
|
567
|
-
Chart.prototype.getCSV = function (useLocalDecimalPoint) {
|
|
568
|
-
var csv = '';
|
|
569
|
-
var rows = this.getDataRows(), csvOptions = this.options.exporting.csv, decimalPoint = pick(csvOptions.decimalPoint, csvOptions.itemDelimiter !== ',' && useLocalDecimalPoint ?
|
|
570
|
-
(1.1).toLocaleString()[1] :
|
|
571
|
-
'.'),
|
|
572
|
-
// use ';' for direct to Excel
|
|
573
|
-
itemDelimiter = pick(csvOptions.itemDelimiter, decimalPoint === ',' ? ';' : ','),
|
|
574
|
-
// '\n' isn't working with the js csv data extraction
|
|
575
|
-
lineDelimiter = csvOptions.lineDelimiter;
|
|
576
|
-
// Transform the rows to CSV
|
|
577
|
-
rows.forEach(function (row, i) {
|
|
578
|
-
var val = '', j = row.length;
|
|
579
|
-
while (j--) {
|
|
580
|
-
val = row[j];
|
|
581
|
-
if (typeof val === 'string') {
|
|
582
|
-
val = '"' + val + '"';
|
|
583
|
-
}
|
|
584
|
-
if (typeof val === 'number') {
|
|
585
|
-
if (decimalPoint !== '.') {
|
|
586
|
-
val = val.toString().replace('.', decimalPoint);
|
|
587
|
-
}
|
|
588
|
-
}
|
|
589
|
-
row[j] = val;
|
|
590
|
-
}
|
|
591
|
-
// Add the values
|
|
592
|
-
csv += row.join(itemDelimiter);
|
|
593
|
-
// Add the line delimiter
|
|
594
|
-
if (i < rows.length - 1) {
|
|
595
|
-
csv += lineDelimiter;
|
|
596
|
-
}
|
|
597
|
-
});
|
|
598
|
-
return csv;
|
|
599
|
-
};
|
|
373
|
+
}
|
|
600
374
|
/**
|
|
601
375
|
* Export-data module required. Build a HTML table with the chart's current
|
|
602
376
|
* data.
|
|
@@ -616,18 +390,19 @@ Chart.prototype.getCSV = function (useLocalDecimalPoint) {
|
|
|
616
390
|
*
|
|
617
391
|
* @emits Highcharts.Chart#event:afterGetTable
|
|
618
392
|
*/
|
|
619
|
-
|
|
393
|
+
function chartGetTable(useLocalDecimalPoint) {
|
|
620
394
|
var serialize = function (node) {
|
|
621
395
|
if (!node.tagName || node.tagName === '#text') {
|
|
622
396
|
// Text node
|
|
623
397
|
return node.textContent || '';
|
|
624
398
|
}
|
|
625
399
|
var attributes = node.attributes;
|
|
626
|
-
var html = "<"
|
|
400
|
+
var html = "<".concat(node.tagName);
|
|
627
401
|
if (attributes) {
|
|
628
|
-
Object.keys(attributes)
|
|
402
|
+
Object.keys(attributes)
|
|
403
|
+
.forEach(function (key) {
|
|
629
404
|
var value = attributes[key];
|
|
630
|
-
html += " "
|
|
405
|
+
html += " ".concat(key, "=\"").concat(value, "\"");
|
|
631
406
|
});
|
|
632
407
|
}
|
|
633
408
|
html += '>';
|
|
@@ -635,12 +410,12 @@ Chart.prototype.getTable = function (useLocalDecimalPoint) {
|
|
|
635
410
|
(node.children || []).forEach(function (child) {
|
|
636
411
|
html += serialize(child);
|
|
637
412
|
});
|
|
638
|
-
html += "</"
|
|
413
|
+
html += "</".concat(node.tagName, ">");
|
|
639
414
|
return html;
|
|
640
415
|
};
|
|
641
416
|
var tree = this.getTableAST(useLocalDecimalPoint);
|
|
642
417
|
return serialize(tree);
|
|
643
|
-
}
|
|
418
|
+
}
|
|
644
419
|
/**
|
|
645
420
|
* Get the AST of a HTML table representing the chart data.
|
|
646
421
|
*
|
|
@@ -656,7 +431,7 @@ Chart.prototype.getTable = function (useLocalDecimalPoint) {
|
|
|
656
431
|
* @return {Highcharts.ASTNode}
|
|
657
432
|
* The abstract syntax tree
|
|
658
433
|
*/
|
|
659
|
-
|
|
434
|
+
function chartGetTableAST(useLocalDecimalPoint) {
|
|
660
435
|
var rowLength = 0;
|
|
661
436
|
var treeChildren = [];
|
|
662
437
|
var options = this.options, decimalPoint = useLocalDecimalPoint ? (1.1).toLocaleString()[1] : '.', useMultiLevelHeaders = pick(options.exporting.useMultiLevelHeaders, true), rows = this.getDataRows(useMultiLevelHeaders), topHeaders = useMultiLevelHeaders ? rows.shift() : null, subHeaders = rows.shift(),
|
|
@@ -677,17 +452,17 @@ Chart.prototype.getTableAST = function (useLocalDecimalPoint) {
|
|
|
677
452
|
},
|
|
678
453
|
// Get table cell HTML from value
|
|
679
454
|
getCellHTMLFromValue = function (tagName, classes, attributes, value) {
|
|
680
|
-
var textContent = pick(value, ''), className = 'text' + (classes ? ' ' + classes : '');
|
|
455
|
+
var textContent = pick(value, ''), className = 'highcharts-text' + (classes ? ' ' + classes : '');
|
|
681
456
|
// Convert to string if number
|
|
682
457
|
if (typeof textContent === 'number') {
|
|
683
458
|
textContent = textContent.toString();
|
|
684
459
|
if (decimalPoint === ',') {
|
|
685
460
|
textContent = textContent.replace('.', decimalPoint);
|
|
686
461
|
}
|
|
687
|
-
className = 'number';
|
|
462
|
+
className = 'highcharts-number';
|
|
688
463
|
}
|
|
689
464
|
else if (!value) {
|
|
690
|
-
className = 'empty';
|
|
465
|
+
className = 'highcharts-empty';
|
|
691
466
|
}
|
|
692
467
|
attributes = extend({ 'class': className }, attributes);
|
|
693
468
|
return {
|
|
@@ -813,113 +588,25 @@ Chart.prototype.getTableAST = function (useLocalDecimalPoint) {
|
|
|
813
588
|
var e = {
|
|
814
589
|
tree: {
|
|
815
590
|
tagName: 'table',
|
|
816
|
-
id: "highcharts-data-table-"
|
|
591
|
+
id: "highcharts-data-table-".concat(this.index),
|
|
817
592
|
children: treeChildren
|
|
818
593
|
}
|
|
819
594
|
};
|
|
820
595
|
fireEvent(this, 'aftergetTableAST', e);
|
|
821
596
|
return e.tree;
|
|
822
|
-
};
|
|
823
|
-
/**
|
|
824
|
-
* Get a blob object from content, if blob is supported
|
|
825
|
-
*
|
|
826
|
-
* @private
|
|
827
|
-
* @param {string} content
|
|
828
|
-
* The content to create the blob from.
|
|
829
|
-
* @param {string} type
|
|
830
|
-
* The type of the content.
|
|
831
|
-
* @return {string|undefined}
|
|
832
|
-
* The blob object, or undefined if not supported.
|
|
833
|
-
*/
|
|
834
|
-
function getBlobFromContent(content, type) {
|
|
835
|
-
var nav = win.navigator, webKit = (nav.userAgent.indexOf('WebKit') > -1 &&
|
|
836
|
-
nav.userAgent.indexOf('Chrome') < 0), domurl = win.URL || win.webkitURL || win;
|
|
837
|
-
try {
|
|
838
|
-
// MS specific
|
|
839
|
-
if ((nav.msSaveOrOpenBlob) && win.MSBlobBuilder) {
|
|
840
|
-
var blob = new win.MSBlobBuilder();
|
|
841
|
-
blob.append(content);
|
|
842
|
-
return blob.getBlob('image/svg+xml');
|
|
843
|
-
}
|
|
844
|
-
// Safari requires data URI since it doesn't allow navigation to blob
|
|
845
|
-
// URLs.
|
|
846
|
-
if (!webKit) {
|
|
847
|
-
return domurl.createObjectURL(new win.Blob(['\uFEFF' + content], // #7084
|
|
848
|
-
{ type: type }));
|
|
849
|
-
}
|
|
850
|
-
}
|
|
851
|
-
catch (e) {
|
|
852
|
-
// Ignore
|
|
853
|
-
}
|
|
854
597
|
}
|
|
855
|
-
/* eslint-disable valid-jsdoc */
|
|
856
|
-
/**
|
|
857
|
-
* Generates a data URL of CSV for local download in the browser. This is the
|
|
858
|
-
* default action for a click on the 'Download CSV' button.
|
|
859
|
-
*
|
|
860
|
-
* See {@link Highcharts.Chart#getCSV} to get the CSV data itself.
|
|
861
|
-
*
|
|
862
|
-
* @function Highcharts.Chart#downloadCSV
|
|
863
|
-
*
|
|
864
|
-
* @requires modules/exporting
|
|
865
|
-
*/
|
|
866
|
-
Chart.prototype.downloadCSV = function () {
|
|
867
|
-
var csv = this.getCSV(true);
|
|
868
|
-
downloadURL(getBlobFromContent(csv, 'text/csv') ||
|
|
869
|
-
'data:text/csv,\uFEFF' + encodeURIComponent(csv), this.getFilename() + '.csv');
|
|
870
|
-
};
|
|
871
|
-
/**
|
|
872
|
-
* Generates a data URL of an XLS document for local download in the browser.
|
|
873
|
-
* This is the default action for a click on the 'Download XLS' button.
|
|
874
|
-
*
|
|
875
|
-
* See {@link Highcharts.Chart#getTable} to get the table data itself.
|
|
876
|
-
*
|
|
877
|
-
* @function Highcharts.Chart#downloadXLS
|
|
878
|
-
*
|
|
879
|
-
* @requires modules/exporting
|
|
880
|
-
*/
|
|
881
|
-
Chart.prototype.downloadXLS = function () {
|
|
882
|
-
var uri = 'data:application/vnd.ms-excel;base64,', template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" ' +
|
|
883
|
-
'xmlns:x="urn:schemas-microsoft-com:office:excel" ' +
|
|
884
|
-
'xmlns="http://www.w3.org/TR/REC-html40">' +
|
|
885
|
-
'<head><!--[if gte mso 9]><xml><x:ExcelWorkbook>' +
|
|
886
|
-
'<x:ExcelWorksheets><x:ExcelWorksheet>' +
|
|
887
|
-
'<x:Name>Ark1</x:Name>' +
|
|
888
|
-
'<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions>' +
|
|
889
|
-
'</x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook>' +
|
|
890
|
-
'</xml><![endif]-->' +
|
|
891
|
-
'<style>td{border:none;font-family: Calibri, sans-serif;} ' +
|
|
892
|
-
'.number{mso-number-format:"0.00";} ' +
|
|
893
|
-
'.text{ mso-number-format:"\@";}</style>' +
|
|
894
|
-
'<meta name=ProgId content=Excel.Sheet>' +
|
|
895
|
-
'<meta charset=UTF-8>' +
|
|
896
|
-
'</head><body>' +
|
|
897
|
-
this.getTable(true) +
|
|
898
|
-
'</body></html>', base64 = function (s) {
|
|
899
|
-
return win.btoa(unescape(encodeURIComponent(s))); // #50
|
|
900
|
-
};
|
|
901
|
-
downloadURL(getBlobFromContent(template, 'application/vnd.ms-excel') ||
|
|
902
|
-
uri + base64(template), this.getFilename() + '.xls');
|
|
903
|
-
};
|
|
904
|
-
/**
|
|
905
|
-
* Export-data module required. View the data in a table below the chart.
|
|
906
|
-
*
|
|
907
|
-
* @function Highcharts.Chart#viewData
|
|
908
|
-
*
|
|
909
|
-
* @emits Highcharts.Chart#event:afterViewData
|
|
910
|
-
*/
|
|
911
|
-
Chart.prototype.viewData = function () {
|
|
912
|
-
this.toggleDataTable(true);
|
|
913
|
-
};
|
|
914
598
|
/**
|
|
915
599
|
* Export-data module required. Hide the data table when visible.
|
|
916
600
|
*
|
|
917
601
|
* @function Highcharts.Chart#hideData
|
|
918
602
|
*/
|
|
919
|
-
|
|
603
|
+
function chartHideData() {
|
|
920
604
|
this.toggleDataTable(false);
|
|
921
|
-
}
|
|
922
|
-
|
|
605
|
+
}
|
|
606
|
+
/**
|
|
607
|
+
* @private
|
|
608
|
+
*/
|
|
609
|
+
function chartToggleDataTable(show) {
|
|
923
610
|
show = pick(show, !this.isDataTableVisible);
|
|
924
611
|
// Create the div
|
|
925
612
|
if (show && !this.dataTableDiv) {
|
|
@@ -945,8 +632,8 @@ Chart.prototype.toggleDataTable = function (show) {
|
|
|
945
632
|
var exportDivElements = this.exportDivElements, options = this.options.exporting, menuItems = options &&
|
|
946
633
|
options.buttons &&
|
|
947
634
|
options.buttons.contextButton.menuItems, lang = this.options.lang;
|
|
948
|
-
if (
|
|
949
|
-
|
|
635
|
+
if (options &&
|
|
636
|
+
options.menuItemDefinitions &&
|
|
950
637
|
lang &&
|
|
951
638
|
lang.viewData &&
|
|
952
639
|
lang.hideData &&
|
|
@@ -957,41 +644,214 @@ Chart.prototype.toggleDataTable = function (show) {
|
|
|
957
644
|
AST.setElementHTML(exportDivElement, this.isDataTableVisible ? lang.hideData : lang.viewData);
|
|
958
645
|
}
|
|
959
646
|
}
|
|
960
|
-
}
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
647
|
+
}
|
|
648
|
+
/**
|
|
649
|
+
* Export-data module required. View the data in a table below the chart.
|
|
650
|
+
*
|
|
651
|
+
* @function Highcharts.Chart#viewData
|
|
652
|
+
*
|
|
653
|
+
* @emits Highcharts.Chart#event:afterViewData
|
|
654
|
+
*/
|
|
655
|
+
function chartViewData() {
|
|
656
|
+
this.toggleDataTable(true);
|
|
657
|
+
}
|
|
658
|
+
/**
|
|
659
|
+
* @private
|
|
660
|
+
*/
|
|
661
|
+
function compose(ChartClass) {
|
|
662
|
+
if (composedClasses.indexOf(ChartClass) === -1) {
|
|
663
|
+
composedClasses.push(ChartClass);
|
|
664
|
+
// Add an event listener to handle the showTable option
|
|
665
|
+
addEvent(ChartClass, 'afterViewData', onChartAfterViewData);
|
|
666
|
+
addEvent(ChartClass, 'render', onChartRenderer);
|
|
667
|
+
var chartProto = ChartClass.prototype;
|
|
668
|
+
chartProto.downloadCSV = chartDownloadCSV;
|
|
669
|
+
chartProto.downloadXLS = chartDownloadXLS;
|
|
670
|
+
chartProto.getCSV = chartGetCSV;
|
|
671
|
+
chartProto.getDataRows = chartGetDataRows;
|
|
672
|
+
chartProto.getTable = chartGetTable;
|
|
673
|
+
chartProto.getTableAST = chartGetTableAST;
|
|
674
|
+
chartProto.hideData = chartHideData;
|
|
675
|
+
chartProto.toggleDataTable = chartToggleDataTable;
|
|
676
|
+
chartProto.viewData = chartViewData;
|
|
677
|
+
}
|
|
678
|
+
if (composedClasses.indexOf(setOptions) === -1) {
|
|
679
|
+
composedClasses.push(setOptions);
|
|
680
|
+
var exportingOptions = getOptions().exporting;
|
|
681
|
+
// Add "Download CSV" to the exporting menu.
|
|
682
|
+
// @todo consider move to defaults
|
|
683
|
+
if (exportingOptions) {
|
|
684
|
+
extend(exportingOptions.menuItemDefinitions, {
|
|
685
|
+
downloadCSV: {
|
|
686
|
+
textKey: 'downloadCSV',
|
|
687
|
+
onclick: function () {
|
|
688
|
+
this.downloadCSV();
|
|
689
|
+
}
|
|
690
|
+
},
|
|
691
|
+
downloadXLS: {
|
|
692
|
+
textKey: 'downloadXLS',
|
|
693
|
+
onclick: function () {
|
|
694
|
+
this.downloadXLS();
|
|
695
|
+
}
|
|
696
|
+
},
|
|
697
|
+
viewData: {
|
|
698
|
+
textKey: 'viewData',
|
|
699
|
+
onclick: function () {
|
|
700
|
+
this.toggleDataTable();
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
});
|
|
704
|
+
if (exportingOptions.buttons &&
|
|
705
|
+
exportingOptions.buttons.contextButton.menuItems) {
|
|
706
|
+
exportingOptions.buttons.contextButton.menuItems.push('separator', 'downloadCSV', 'downloadXLS', 'viewData');
|
|
981
707
|
}
|
|
982
708
|
}
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
709
|
+
setOptions(ExportDataDefaults);
|
|
710
|
+
}
|
|
711
|
+
if (AreaRangeSeries && composedClasses.indexOf(AreaRangeSeries) === -1) {
|
|
712
|
+
composedClasses.push(AreaRangeSeries);
|
|
713
|
+
AreaRangeSeries.prototype.keyToAxis = {
|
|
714
|
+
low: 'y',
|
|
715
|
+
high: 'y'
|
|
716
|
+
};
|
|
717
|
+
}
|
|
718
|
+
if (GanttSeries && composedClasses.indexOf(GanttSeries) === -1) {
|
|
719
|
+
composedClasses.push(GanttSeries);
|
|
720
|
+
GanttSeries.prototype.keyToAxis = {
|
|
721
|
+
start: 'x',
|
|
722
|
+
end: 'x'
|
|
723
|
+
};
|
|
724
|
+
}
|
|
725
|
+
if (MapSeries && composedClasses.indexOf(MapSeries) === -1) {
|
|
726
|
+
composedClasses.push(MapSeries);
|
|
727
|
+
MapSeries.prototype.exportKey = 'name';
|
|
728
|
+
}
|
|
729
|
+
if (MapBubbleSeries && composedClasses.indexOf(MapBubbleSeries) === -1) {
|
|
730
|
+
composedClasses.push(MapBubbleSeries);
|
|
731
|
+
MapBubbleSeries.prototype.exportKey = 'name';
|
|
732
|
+
}
|
|
733
|
+
if (TreemapSeries && composedClasses.indexOf(TreemapSeries) === -1) {
|
|
734
|
+
composedClasses.push(TreemapSeries);
|
|
735
|
+
TreemapSeries.prototype.exportKey = 'name';
|
|
986
736
|
}
|
|
987
737
|
}
|
|
988
|
-
|
|
989
|
-
if
|
|
990
|
-
|
|
738
|
+
/**
|
|
739
|
+
* Get a blob object from content, if blob is supported
|
|
740
|
+
*
|
|
741
|
+
* @private
|
|
742
|
+
* @param {string} content
|
|
743
|
+
* The content to create the blob from.
|
|
744
|
+
* @param {string} type
|
|
745
|
+
* The type of the content.
|
|
746
|
+
* @return {string|undefined}
|
|
747
|
+
* The blob object, or undefined if not supported.
|
|
748
|
+
*/
|
|
749
|
+
function getBlobFromContent(content, type) {
|
|
750
|
+
var nav = win.navigator, webKit = (nav.userAgent.indexOf('WebKit') > -1 &&
|
|
751
|
+
nav.userAgent.indexOf('Chrome') < 0), domurl = win.URL || win.webkitURL || win;
|
|
752
|
+
try {
|
|
753
|
+
// MS specific
|
|
754
|
+
if ((nav.msSaveOrOpenBlob) && win.MSBlobBuilder) {
|
|
755
|
+
var blob = new win.MSBlobBuilder();
|
|
756
|
+
blob.append(content);
|
|
757
|
+
return blob.getBlob('image/svg+xml');
|
|
758
|
+
}
|
|
759
|
+
// Safari requires data URI since it doesn't allow navigation to blob
|
|
760
|
+
// URLs.
|
|
761
|
+
if (!webKit) {
|
|
762
|
+
return domurl.createObjectURL(new win.Blob(['\uFEFF' + content], // #7084
|
|
763
|
+
{ type: type }));
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
catch (e) {
|
|
767
|
+
// Ignore
|
|
768
|
+
}
|
|
991
769
|
}
|
|
992
|
-
|
|
993
|
-
|
|
770
|
+
/**
|
|
771
|
+
* @private
|
|
772
|
+
*/
|
|
773
|
+
function onChartAfterViewData() {
|
|
774
|
+
var chart = this, dataTableDiv = chart.dataTableDiv, row = document.querySelectorAll('thead')[0].querySelectorAll('tr')[0], getCellValue = function (tr, index) {
|
|
775
|
+
return tr.children[index].textContent;
|
|
776
|
+
}, comparer = function (index, ascending) {
|
|
777
|
+
return function (a, b) {
|
|
778
|
+
var sort = function (v1, v2) { return (v1 !== '' && v2 !== '' && !isNaN(v1) && !isNaN(v2) ?
|
|
779
|
+
v1 - v2 :
|
|
780
|
+
v1.toString().localeCompare(v2)); };
|
|
781
|
+
return sort(getCellValue(ascending ? a : b, index), getCellValue(ascending ? b : a, index));
|
|
782
|
+
};
|
|
783
|
+
};
|
|
784
|
+
if (dataTableDiv) {
|
|
785
|
+
row.childNodes.forEach(function (th) {
|
|
786
|
+
var table = th.closest('table');
|
|
787
|
+
th.addEventListener('click', function () {
|
|
788
|
+
var rows = __spreadArray([], dataTableDiv.querySelectorAll('tr:not(thead tr)'), true), headers = __spreadArray([], th.parentNode.children, true);
|
|
789
|
+
rows.sort(comparer(headers.indexOf(th), chart.ascendingOrderInTable =
|
|
790
|
+
!chart.ascendingOrderInTable)).forEach(function (tr) {
|
|
791
|
+
table.appendChild(tr);
|
|
792
|
+
});
|
|
793
|
+
headers.forEach(function (th) {
|
|
794
|
+
['highcharts-sort-ascending', 'highcharts-sort-descending']
|
|
795
|
+
.forEach(function (className) {
|
|
796
|
+
if (th.classList.contains(className)) {
|
|
797
|
+
th.classList.remove(className);
|
|
798
|
+
}
|
|
799
|
+
});
|
|
800
|
+
});
|
|
801
|
+
th.classList.add(chart.ascendingOrderInTable ?
|
|
802
|
+
'highcharts-sort-ascending' :
|
|
803
|
+
'highcharts-sort-descending');
|
|
804
|
+
});
|
|
805
|
+
});
|
|
806
|
+
}
|
|
994
807
|
}
|
|
995
|
-
|
|
996
|
-
|
|
808
|
+
/**
|
|
809
|
+
* Handle the showTable option
|
|
810
|
+
* @private
|
|
811
|
+
*/
|
|
812
|
+
function onChartRenderer() {
|
|
813
|
+
if (this.options &&
|
|
814
|
+
this.options.exporting &&
|
|
815
|
+
this.options.exporting.showTable &&
|
|
816
|
+
!this.options.chart.forExport) {
|
|
817
|
+
this.viewData();
|
|
818
|
+
}
|
|
997
819
|
}
|
|
820
|
+
/* *
|
|
821
|
+
*
|
|
822
|
+
* Default Export
|
|
823
|
+
*
|
|
824
|
+
* */
|
|
825
|
+
var ExportData = {
|
|
826
|
+
compose: compose
|
|
827
|
+
};
|
|
828
|
+
export default ExportData;
|
|
829
|
+
/* *
|
|
830
|
+
*
|
|
831
|
+
* API Declarations
|
|
832
|
+
*
|
|
833
|
+
* */
|
|
834
|
+
/**
|
|
835
|
+
* Function callback to execute while data rows are processed for exporting.
|
|
836
|
+
* This allows the modification of data rows before processed into the final
|
|
837
|
+
* format.
|
|
838
|
+
*
|
|
839
|
+
* @callback Highcharts.ExportDataCallbackFunction
|
|
840
|
+
* @extends Highcharts.EventCallbackFunction<Highcharts.Chart>
|
|
841
|
+
*
|
|
842
|
+
* @param {Highcharts.Chart} this
|
|
843
|
+
* Chart context where the event occured.
|
|
844
|
+
*
|
|
845
|
+
* @param {Highcharts.ExportDataEventObject} event
|
|
846
|
+
* Event object with data rows that can be modified.
|
|
847
|
+
*/
|
|
848
|
+
/**
|
|
849
|
+
* Contains information about the export data event.
|
|
850
|
+
*
|
|
851
|
+
* @interface Highcharts.ExportDataEventObject
|
|
852
|
+
*/ /**
|
|
853
|
+
* Contains the data rows for the current export task and can be modified.
|
|
854
|
+
* @name Highcharts.ExportDataEventObject#dataRows
|
|
855
|
+
* @type {Array<Array<string>>}
|
|
856
|
+
*/
|
|
857
|
+
(''); // keeps doclets above in JS file
|