ps-toolkit-ui 0.0.207 → 0.0.211
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/karma.conf.js +32 -0
- package/ng-package.json +16 -0
- package/package.json +19 -22
- package/src/assets/plugins/highcharts/code/css/annotations/popup.css +276 -0
- package/src/assets/plugins/highcharts/code/css/annotations/popup.scss +289 -0
- package/src/assets/plugins/highcharts/code/css/highcharts.css +1013 -0
- package/src/assets/plugins/highcharts/code/css/highcharts.scss +896 -0
- package/src/assets/plugins/highcharts/code/css/stocktools/gui.css +271 -0
- package/src/assets/plugins/highcharts/code/css/stocktools/gui.scss +271 -0
- package/src/assets/plugins/highcharts/code/css/themes/dark-unica.css +1074 -0
- package/src/assets/plugins/highcharts/code/css/themes/dark-unica.scss +122 -0
- package/src/assets/plugins/highcharts/code/css/themes/grid-light.css +1027 -0
- package/src/assets/plugins/highcharts/code/css/themes/grid-light.scss +33 -0
- package/src/assets/plugins/highcharts/code/css/themes/sand-signika.css +1043 -0
- package/src/assets/plugins/highcharts/code/css/themes/sand-signika.scss +74 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/A11yI18n.js +299 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Accessibility.js +401 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/AccessibilityComponent.js +153 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/AnnotationsA11y.js +160 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/ContainerComponent.js +159 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/InfoRegionsComponent.js +543 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/LegendComponent.js +478 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/MenuComponent.js +451 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/RangeSelectorComponent.js +506 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +217 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +324 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +148 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +390 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +650 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/ZoomComponent.js +375 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/FocusBorder.js +302 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/HighContrastMode.js +96 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/HighContrastTheme.js +221 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/KeyboardNavigation.js +449 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/KeyboardNavigationHandler.js +128 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Options/DeprecatedOptions.js +250 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Options/LangOptions.js +339 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Options/Options.js +831 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/ProxyElement.js +218 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/ProxyProvider.js +302 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/Announcer.js +91 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/ChartUtilities.js +294 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/DOMElementProvider.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/EventProvider.js +58 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/HTMLUtilities.js +305 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Animation/AnimationUtilities.js +200 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Animation/Fx.js +387 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Axis.js +3225 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Axis3D.js +612 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/AxisDefaults.js +2935 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/BrokenAxis.js +601 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Color/ColorAxis.js +668 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Color/ColorAxisComposition.js +287 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Color/ColorAxisDefaults.js +434 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/DateTimeAxis.js +196 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/GridAxis.js +1046 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/LogarithmicAxis.js +202 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/NavigatorAxis.js +159 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/OrdinalAxis.js +992 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +873 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +287 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/RadialAxis.js +954 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/ScrollbarAxis.js +182 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/SolidGaugeAxis.js +127 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/StackingAxis.js +216 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Tick.js +723 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Tick3D.js +68 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/TreeGridAxis.js +720 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/TreeGridTick.js +306 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/WaterfallAxis.js +149 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/ZAxis.js +156 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/Chart.js +2909 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/Chart3D.js +1695 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/ChartDefaults.js +1053 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/GanttChart.js +177 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/MapChart.js +179 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/StockChart.js +644 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Color/Color.js +419 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Color/Palettes.js +22 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/DefaultOptions.js +2743 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/FormatUtilities.js +246 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Foundation.js +61 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Geometry/CircleUtilities.js +386 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Geometry/GeometryUtilities.js +83 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Globals.js +131 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/HttpUtilities.js +195 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Legend/Legend.js +1284 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Legend/LegendSymbol.js +109 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/MSPointer.js +170 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Navigator.js +1958 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Pointer.js +1518 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/HTML/AST.js +475 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/HTML/HTMLElement.js +261 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/HTML/HTMLRenderer.js +272 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/RendererRegistry.js +77 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/RendererUtilities.js +159 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGElement.js +2176 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGElement3D.js +160 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGLabel.js +408 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGRenderer.js +1900 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +842 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/Symbols.js +197 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/TextBuilder.js +452 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Responsive.js +334 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Scrollbar.js +658 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/ScrollbarDefaults.js +218 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/DataLabel.js +568 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/Point.js +1307 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/Series.js +3718 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/Series3D.js +126 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/SeriesDefaults.js +2293 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/SeriesRegistry.js +127 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Time.js +741 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Tooltip.js +1378 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Utilities.js +1967 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/DataConverter.js +483 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/DataPromise.js +252 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/DataSeriesConverter.js +207 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/DataTable.js +1205 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/ChainModifier.js +299 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/DataModifier.js +303 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/GroupModifier.js +144 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/InvertModifier.js +254 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/RangeModifier.js +143 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/SortModifier.js +249 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/CSVParser.js +400 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/DataParser.js +101 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/GoogleSheetsParser.js +223 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/CSVStore.js +317 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/DataStore.js +276 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/GoogleSheetsStore.js +169 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/HTMLTableStore.js +353 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Annotations.js +1442 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/ControlPoint.js +141 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +117 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +111 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +387 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +181 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +121 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +378 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +221 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +179 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/MockPoint.js +428 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/NavigationBindings.js +1212 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Popup.js +1123 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +237 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/CrookedLine.js +185 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/ElliottWave.js +95 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Fibonacci.js +205 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/InfinityLine.js +161 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Measure.js +791 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Pitchfork.js +194 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/TimeCycles.js +211 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Tunnel.js +211 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/VerticalLine.js +156 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/ArrowSymbols.js +166 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/Boost.js +34 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostAttach.js +150 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostInit.js +318 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostOptions.js +219 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostOverrides.js +386 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostUtils.js +255 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostableMap.js +18 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/Boostables.js +25 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/NamedColors.js +162 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/WGLRenderer.js +1188 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/WGLShader.js +470 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/WGLVBuffer.js +153 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/BoostCanvas.js +509 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/CurrentDateIndication.js +100 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Data.js +2037 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/DataGrouping.js +1134 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Debugger/Debugger.js +101 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Debugger/ErrorMessages.js +106 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/DownloadURL.js +106 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/DragPanes.js +512 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/DraggablePoints.js +2259 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Drilldown.js +1170 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/ExportData.js +997 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Exporting/Exporting.js +1260 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Exporting/ExportingDefaults.js +796 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Exporting/ExportingSymbols.js +73 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/FullScreen.js +240 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/GeoJSON.js +436 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/MarkerClusters.js +1436 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Math3D.js +245 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/NoDataToDisplay.js +189 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/OfflineExporting/OfflineExporting.js +617 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +58 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Oldie/Oldie.js +1182 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Oldie/VMLAxis3D.js +101 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Oldie/VMLRenderer3D.js +47 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/OldiePolyfills.js +167 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/OverlappingDataLabels.js +226 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Pane.js +404 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/ParallelCoordinates.js +464 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/PatternFill.js +580 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Polar.js +740 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/PriceIndication.js +292 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/RangeSelector.js +2175 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/ScrollablePlotArea.js +387 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/SeriesLabel.js +765 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/ChartSonify.js +724 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Earcon.js +197 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Instrument.js +606 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/MusicalFrequencies.js +122 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Options.js +44 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/PointSonify.js +391 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/SeriesSonify.js +474 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/SignalHandler.js +122 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Sonification.js +97 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/SonificationUtilities.js +150 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Timeline.js +308 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/TimelineEvent.js +157 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Stacking.js +516 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/StaticScale.js +76 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Avocado.js +67 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/BrandDark.js +293 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/BrandLight.js +259 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/DarkBlue.js +279 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/DarkGreen.js +279 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/DarkUnica.js +249 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Gray.js +287 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Grid.js +140 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/GridLight.js +111 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/HighContrastDark.js +239 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/HighContrastLight.js +69 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/SandSignika.js +144 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Skies.js +131 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Sunset.js +66 -0
- package/src/assets/plugins/highcharts/code/es-modules/Gantt/Connection.js +838 -0
- package/src/assets/plugins/highcharts/code/es-modules/Gantt/Pathfinder.js +818 -0
- package/src/assets/plugins/highcharts/code/es-modules/Gantt/PathfinderAlgorithms.js +657 -0
- package/src/assets/plugins/highcharts/code/es-modules/Gantt/Tree.js +110 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapNavigation.js +278 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapNavigationOptionsDefault.js +264 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapPointer.js +83 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapSymbols.js +80 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapView.js +450 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapViewOptionsDefault.js +97 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projection.js +436 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/ProjectionDefinition.js +9 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/EqualEarth.js +42 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/LambertConformalConic.js +52 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/Miller.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/Orthographic.js +26 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/ProjectionRegistry.js +19 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/WebMercator.js +24 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Area/AreaSeries.js +563 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Area3DSeries.js +70 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/AreaRange/AreaRangePoint.js +129 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/AreaRange/AreaRangeSeries.js +650 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/AreaSpline/AreaSplineSeries.js +203 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +199 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bar/BarSeries.js +171 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bellcurve/BellcurveSeries.js +241 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/BoxPlot/BoxPlotSeries.js +681 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleLegendComposition.js +279 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleLegendDefaults.js +266 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleLegendItem.js +462 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubblePoint.js +77 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleSeries.js +676 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bullet/BulletPoint.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bullet/BulletSeries.js +365 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Candlestick/CandlestickSeries.js +333 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/CenteredUtilities.js +128 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ColorMapMixin.js +84 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Column/ColumnDataLabel.js +109 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Column/ColumnSeries.js +1171 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Column3D/Column3DComposition.js +508 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +308 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ColumnRange/ColumnRangePoint.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ColumnRange/ColumnRangeSeries.js +308 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Cylinder/CylinderComposition.js +274 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Cylinder/CylinderPoint.js +60 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Cylinder/CylinderSeries.js +175 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DataModifyComposition.js +539 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +100 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +368 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DerivedComposition.js +137 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DotPlot/DotPlotSeries.js +158 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DrawPointComposition.js +111 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Dumbbell/DumbbellPoint.js +104 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Dumbbell/DumbbellSeries.js +464 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ErrorBar/ErrorBarSeries.js +228 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Flags/FlagsPoint.js +74 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Flags/FlagsSeries.js +614 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Flags/FlagsSymbols.js +90 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel/FunnelSeries.js +517 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel3D/Funnel3DComposition.js +383 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel3D/Funnel3DPoint.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel3D/Funnel3DSeries.js +447 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Gantt/GanttPoint.js +109 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Gantt/GanttSeries.js +352 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Gauge/GaugePoint.js +66 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Gauge/GaugeSeries.js +568 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HLC/HLCPoint.js +55 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HLC/HLCSeries.js +378 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Heatmap/HeatmapPoint.js +144 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Heatmap/HeatmapSeries.js +946 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +60 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +278 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Histogram/HistogramSeries.js +253 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +80 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +368 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Item/ItemPoint.js +59 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Item/ItemSeries.js +505 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Line/LineSeries.js +541 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Lollipop/LollipopPoint.js +60 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Lollipop/LollipopSeries.js +209 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Map/MapPoint.js +136 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Map/MapSeries.js +1100 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapBubble/MapBubblePoint.js +73 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapBubble/MapBubbleSeries.js +283 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapLine/MapLineSeries.js +181 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapPoint/MapPointPoint.js +71 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapPoint/MapPointSeries.js +309 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/DraggableNodes.js +132 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/Integrations.js +348 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/Layouts.js +555 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/Networkgraph.js +1178 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/QuadTree.js +352 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/NodesComposition.js +229 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/OHLC/OHLCPoint.js +116 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/OHLC/OHLCSeries.js +254 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/OnSeriesComposition.js +168 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Organization/OrganizationPoint.js +71 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Organization/OrganizationSeries.js +594 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/PackedBubble/PackedBubbleComposition.js +172 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/PackedBubble/PackedBubblePoint.js +98 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/PackedBubble/PackedBubbleSeries.js +1284 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ParetoSeries/ParetoSeries.js +195 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie/PieDataLabel.js +447 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie/PiePoint.js +270 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie/PieSeries.js +1074 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie3D/Pie3DComposition.js +27 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie3D/Pie3DPoint.js +72 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie3D/Pie3DSeries.js +200 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Polygon/PolygonSeries.js +195 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pyramid/PyramidSeries.js +161 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +172 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sankey/SankeyPoint.js +97 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sankey/SankeySeries.js +1195 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Scatter/ScatterSeries.js +306 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Scatter3D/Scatter3DPoint.js +66 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Scatter3D/Scatter3DSeries.js +194 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/SolidGauge/SolidGaugeComposition.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/SolidGauge/SolidGaugeSeries.js +358 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Spline/SplineSeries.js +279 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Streamgraph/StreamgraphSeries.js +213 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sunburst/SunburstPoint.js +115 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sunburst/SunburstSeries.js +907 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sunburst/SunburstUtilities.js +138 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapComposition.js +61 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapPoint.js +77 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapSeries.js +368 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapShapes.js +275 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Timeline/TimelinePoint.js +168 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Timeline/TimelineSeries.js +552 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/TreeUtilities.js +192 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapAlgorithmGroup.js +93 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapComposition.js +58 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapPoint.js +107 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapSeries.js +1473 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapUtilities.js +65 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/VariablePie/VariablePieSeries.js +446 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Variwide/VariwideComposition.js +78 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Variwide/VariwidePoint.js +63 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Variwide/VariwideSeries.js +317 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Vector/VectorSeries.js +362 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Venn/VennPoint.js +76 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Venn/VennSeries.js +633 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Venn/VennUtils.js +607 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Waterfall/WaterfallPoint.js +68 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Waterfall/WaterfallSeries.js +743 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Windbarb/WindbarbPoint.js +64 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Windbarb/WindbarbSeries.js +462 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Wordcloud/WordcloudPoint.js +66 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Wordcloud/WordcloudSeries.js +503 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Wordcloud/WordcloudUtils.js +718 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/XRange/XRangeComposition.js +49 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/XRange/XRangePoint.js +168 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/XRange/XRangeSeries.js +608 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +243 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/AD/ADIndicator.js +160 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/AO/AOIndicator.js +212 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/APO/APOIndicator.js +167 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ATR/ATRIndicator.js +162 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +197 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +141 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/BB/BBIndicator.js +241 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/CCI/CCIIndicator.js +154 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/CMF/CMFIndicator.js +243 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/CMO/CMOIndicator.js +166 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +187 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +149 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DMI/DMIIndicator.js +276 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DPO/DPOIndicator.js +163 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +179 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/EMA/EMAIndicator.js +154 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/IKH/IKHIndicator.js +682 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +217 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +270 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +282 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +119 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +104 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +104 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/MACD/MACDIndicator.js +402 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/MFI/MFIIndicator.js +198 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +121 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/MultipleLinesComposition.js +294 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/NATR/NATRIndicator.js +111 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/OBV/OBVIndicator.js +170 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PC/PCIndicator.js +197 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PPO/PPOIndicator.js +164 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +280 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +310 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +78 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +240 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ROC/ROCIndicator.js +176 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/RSI/RSIIndicator.js +171 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/SMA/SMAComposition.js +12 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/SMA/SMAIndicator.js +367 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +134 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +208 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +485 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +208 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +98 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +148 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/VBP/VBPIndicator.js +556 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/VBP/VBPPoint.js +49 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +193 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/WMA/WMAIndicator.js +153 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +135 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +228 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/StockToolsBindings.js +2009 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/StockToolsGui.js +1816 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/highcharts-3d.src.js +28 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/highcharts-more.src.js +28 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/highcharts.src.js +147 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/accessibility.src.js +28 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/annotations-advanced.src.js +26 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/annotations.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/arrow-symbols.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/boost-canvas.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/boost.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/broken-axis.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/bullet.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/coloraxis.src.js +17 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/current-date-indicator.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/cylinder.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/data.src.js +23 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/datagrouping.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/debugger.src.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/dependency-wheel.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/dotplot.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/drag-panes.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/draggable-points.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/drilldown.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/dumbbell.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/export-data.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/exporting.src.js +22 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/full-screen.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/funnel.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/funnel3d.src.js +18 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/gantt.src.js +26 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/grid-axis.src.js +17 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/heatmap.src.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/heikinashi.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/histogram-bellcurve.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/hollowcandlestick.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/item-series.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/lollipop.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/marker-clusters.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/networkgraph.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/no-data-to-display.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/offline-exporting.src.js +20 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/oldie-polyfills.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/oldie.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/organization.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/overlapping-datalabels.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/parallel-coordinates.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pareto.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pathfinder.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pattern-fill.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/price-indicator.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pyramid3d.src.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/sankey.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/series-label.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/solid-gauge.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/sonification.src.js +44 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/static-scale.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/stock-tools.src.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/stock.src.js +33 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/streamgraph.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/sunburst.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/tilemap.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/timeline.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/treegrid.src.js +17 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/treemap.src.js +12 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/variable-pie.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/variwide.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/vector.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/venn.src.js +12 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/windbarb.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/wordcloud.src.js +12 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/xrange.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/avocado.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/brand-dark.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/brand-light.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/dark-blue.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/dark-green.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/dark-unica.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/gray.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/grid-light.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/grid.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/high-contrast-dark.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/high-contrast-light.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/sand-signika.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/skies.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/sunset.src.js +14 -0
- package/src/assets/plugins/highcharts/code/highcharts-3d.js +105 -0
- package/src/assets/plugins/highcharts/code/highcharts-3d.js.map +1 -0
- package/src/assets/plugins/highcharts/code/highcharts-3d.src.js +5439 -0
- package/src/assets/plugins/highcharts/code/highcharts-more.js +201 -0
- package/src/assets/plugins/highcharts/code/highcharts-more.js.map +1 -0
- package/src/assets/plugins/highcharts/code/highcharts-more.src.js +12004 -0
- package/src/assets/plugins/highcharts/code/highcharts.js +593 -0
- package/src/assets/plugins/highcharts/code/highcharts.js.map +1 -0
- package/src/assets/plugins/highcharts/code/highcharts.src.js +47519 -0
- package/src/assets/plugins/highcharts/code/lib/canvg.js +8 -0
- package/src/assets/plugins/highcharts/code/lib/jspdf.js +283 -0
- package/src/assets/plugins/highcharts/code/lib/jspdf.src.js +21627 -0
- package/src/assets/plugins/highcharts/code/lib/svg2pdf.js +38 -0
- package/src/assets/plugins/highcharts/code/lib/svg2pdf.src.js +4390 -0
- package/src/assets/plugins/highcharts/code/modules/accessibility.js +256 -0
- package/src/assets/plugins/highcharts/code/modules/accessibility.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/accessibility.src.js +11868 -0
- package/src/assets/plugins/highcharts/code/modules/annotations-advanced.js +201 -0
- package/src/assets/plugins/highcharts/code/modules/annotations-advanced.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/annotations-advanced.src.js +9616 -0
- package/src/assets/plugins/highcharts/code/modules/annotations.js +135 -0
- package/src/assets/plugins/highcharts/code/modules/annotations.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/annotations.src.js +6712 -0
- package/src/assets/plugins/highcharts/code/modules/arrow-symbols.js +12 -0
- package/src/assets/plugins/highcharts/code/modules/arrow-symbols.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/arrow-symbols.src.js +202 -0
- package/src/assets/plugins/highcharts/code/modules/boost-canvas.js +25 -0
- package/src/assets/plugins/highcharts/code/modules/boost-canvas.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/boost-canvas.src.js +593 -0
- package/src/assets/plugins/highcharts/code/modules/boost.js +90 -0
- package/src/assets/plugins/highcharts/code/modules/boost.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/boost.src.js +3834 -0
- package/src/assets/plugins/highcharts/code/modules/broken-axis.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/broken-axis.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/broken-axis.src.js +682 -0
- package/src/assets/plugins/highcharts/code/modules/bullet.js +18 -0
- package/src/assets/plugins/highcharts/code/modules/bullet.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/bullet.src.js +489 -0
- package/src/assets/plugins/highcharts/code/modules/coloraxis.js +33 -0
- package/src/assets/plugins/highcharts/code/modules/coloraxis.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/coloraxis.src.js +1484 -0
- package/src/assets/plugins/highcharts/code/modules/current-date-indicator.js +13 -0
- package/src/assets/plugins/highcharts/code/modules/current-date-indicator.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/current-date-indicator.src.js +138 -0
- package/src/assets/plugins/highcharts/code/modules/cylinder.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/cylinder.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/cylinder.src.js +585 -0
- package/src/assets/plugins/highcharts/code/modules/data.js +42 -0
- package/src/assets/plugins/highcharts/code/modules/data.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/data.src.js +2383 -0
- package/src/assets/plugins/highcharts/code/modules/datagrouping.js +29 -0
- package/src/assets/plugins/highcharts/code/modules/datagrouping.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/datagrouping.src.js +1275 -0
- package/src/assets/plugins/highcharts/code/modules/debugger.js +30 -0
- package/src/assets/plugins/highcharts/code/modules/debugger.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/debugger.src.js +250 -0
- package/src/assets/plugins/highcharts/code/modules/dependency-wheel.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/dependency-wheel.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/dependency-wheel.src.js +533 -0
- package/src/assets/plugins/highcharts/code/modules/dotplot.js +15 -0
- package/src/assets/plugins/highcharts/code/modules/dotplot.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/dotplot.src.js +216 -0
- package/src/assets/plugins/highcharts/code/modules/drag-panes.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/drag-panes.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/drag-panes.src.js +586 -0
- package/src/assets/plugins/highcharts/code/modules/draggable-points.js +41 -0
- package/src/assets/plugins/highcharts/code/modules/draggable-points.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/draggable-points.src.js +2405 -0
- package/src/assets/plugins/highcharts/code/modules/drilldown.js +34 -0
- package/src/assets/plugins/highcharts/code/modules/drilldown.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/drilldown.src.js +1266 -0
- package/src/assets/plugins/highcharts/code/modules/dumbbell.js +24 -0
- package/src/assets/plugins/highcharts/code/modules/dumbbell.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/dumbbell.src.js +798 -0
- package/src/assets/plugins/highcharts/code/modules/export-data.js +30 -0
- package/src/assets/plugins/highcharts/code/modules/export-data.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/export-data.src.js +1203 -0
- package/src/assets/plugins/highcharts/code/modules/exporting.js +48 -0
- package/src/assets/plugins/highcharts/code/modules/exporting.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/exporting.src.js +2789 -0
- package/src/assets/plugins/highcharts/code/modules/full-screen.js +17 -0
- package/src/assets/plugins/highcharts/code/modules/full-screen.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/full-screen.src.js +284 -0
- package/src/assets/plugins/highcharts/code/modules/funnel.js +21 -0
- package/src/assets/plugins/highcharts/code/modules/funnel.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/funnel.src.js +777 -0
- package/src/assets/plugins/highcharts/code/modules/funnel3d.js +30 -0
- package/src/assets/plugins/highcharts/code/modules/funnel3d.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/funnel3d.src.js +1004 -0
- package/src/assets/plugins/highcharts/code/modules/gantt.js +226 -0
- package/src/assets/plugins/highcharts/code/modules/gantt.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/gantt.src.js +13485 -0
- package/src/assets/plugins/highcharts/code/modules/grid-axis.js +32 -0
- package/src/assets/plugins/highcharts/code/modules/grid-axis.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/grid-axis.src.js +1160 -0
- package/src/assets/plugins/highcharts/code/modules/heatmap.js +46 -0
- package/src/assets/plugins/highcharts/code/modules/heatmap.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/heatmap.src.js +2726 -0
- package/src/assets/plugins/highcharts/code/modules/heikinashi.js +17 -0
- package/src/assets/plugins/highcharts/code/modules/heikinashi.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/heikinashi.src.js +396 -0
- package/src/assets/plugins/highcharts/code/modules/histogram-bellcurve.js +21 -0
- package/src/assets/plugins/highcharts/code/modules/histogram-bellcurve.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/histogram-bellcurve.src.js +699 -0
- package/src/assets/plugins/highcharts/code/modules/hollowcandlestick.js +18 -0
- package/src/assets/plugins/highcharts/code/modules/hollowcandlestick.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/hollowcandlestick.src.js +500 -0
- package/src/assets/plugins/highcharts/code/modules/item-series.js +21 -0
- package/src/assets/plugins/highcharts/code/modules/item-series.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/item-series.src.js +660 -0
- package/src/assets/plugins/highcharts/code/modules/lollipop.js +14 -0
- package/src/assets/plugins/highcharts/code/modules/lollipop.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/lollipop.src.js +318 -0
- package/src/assets/plugins/highcharts/code/modules/marker-clusters.js +45 -0
- package/src/assets/plugins/highcharts/code/modules/marker-clusters.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/marker-clusters.src.js +1713 -0
- package/src/assets/plugins/highcharts/code/modules/networkgraph.js +58 -0
- package/src/assets/plugins/highcharts/code/modules/networkgraph.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/networkgraph.src.js +2926 -0
- package/src/assets/plugins/highcharts/code/modules/no-data-to-display.js +15 -0
- package/src/assets/plugins/highcharts/code/modules/no-data-to-display.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/no-data-to-display.src.js +231 -0
- package/src/assets/plugins/highcharts/code/modules/offline-exporting.js +27 -0
- package/src/assets/plugins/highcharts/code/modules/offline-exporting.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/offline-exporting.src.js +847 -0
- package/src/assets/plugins/highcharts/code/modules/oldie-polyfills.js +17 -0
- package/src/assets/plugins/highcharts/code/modules/oldie-polyfills.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/oldie-polyfills.src.js +220 -0
- package/src/assets/plugins/highcharts/code/modules/oldie.js +40 -0
- package/src/assets/plugins/highcharts/code/modules/oldie.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/oldie.src.js +1443 -0
- package/src/assets/plugins/highcharts/code/modules/organization.js +22 -0
- package/src/assets/plugins/highcharts/code/modules/organization.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/organization.src.js +736 -0
- package/src/assets/plugins/highcharts/code/modules/overlapping-datalabels.js +9 -0
- package/src/assets/plugins/highcharts/code/modules/overlapping-datalabels.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/overlapping-datalabels.src.js +33 -0
- package/src/assets/plugins/highcharts/code/modules/parallel-coordinates.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/parallel-coordinates.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/parallel-coordinates.src.js +555 -0
- package/src/assets/plugins/highcharts/code/modules/pareto.js +16 -0
- package/src/assets/plugins/highcharts/code/modules/pareto.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/pareto.src.js +382 -0
- package/src/assets/plugins/highcharts/code/modules/pathfinder.js +40 -0
- package/src/assets/plugins/highcharts/code/modules/pathfinder.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/pathfinder.src.js +2693 -0
- package/src/assets/plugins/highcharts/code/modules/pattern-fill.js +24 -0
- package/src/assets/plugins/highcharts/code/modules/pattern-fill.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/pattern-fill.src.js +640 -0
- package/src/assets/plugins/highcharts/code/modules/price-indicator.js +15 -0
- package/src/assets/plugins/highcharts/code/modules/price-indicator.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/price-indicator.src.js +346 -0
- package/src/assets/plugins/highcharts/code/modules/pyramid3d.js +13 -0
- package/src/assets/plugins/highcharts/code/modules/pyramid3d.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/pyramid3d.src.js +211 -0
- package/src/assets/plugins/highcharts/code/modules/sankey.js +38 -0
- package/src/assets/plugins/highcharts/code/modules/sankey.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/sankey.src.js +1868 -0
- package/src/assets/plugins/highcharts/code/modules/series-label.js +24 -0
- package/src/assets/plugins/highcharts/code/modules/series-label.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/series-label.src.js +852 -0
- package/src/assets/plugins/highcharts/code/modules/solid-gauge.js +19 -0
- package/src/assets/plugins/highcharts/code/modules/solid-gauge.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/solid-gauge.src.js +650 -0
- package/src/assets/plugins/highcharts/code/modules/sonification.js +68 -0
- package/src/assets/plugins/highcharts/code/modules/sonification.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/sonification.src.js +3869 -0
- package/src/assets/plugins/highcharts/code/modules/static-scale.js +13 -0
- package/src/assets/plugins/highcharts/code/modules/static-scale.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/static-scale.src.js +117 -0
- package/src/assets/plugins/highcharts/code/modules/stock-tools.js +189 -0
- package/src/assets/plugins/highcharts/code/modules/stock-tools.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/stock-tools.src.js +9592 -0
- package/src/assets/plugins/highcharts/code/modules/stock.js +213 -0
- package/src/assets/plugins/highcharts/code/modules/stock.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/stock.src.js +12237 -0
- package/src/assets/plugins/highcharts/code/modules/streamgraph.js +13 -0
- package/src/assets/plugins/highcharts/code/modules/streamgraph.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/streamgraph.src.js +253 -0
- package/src/assets/plugins/highcharts/code/modules/sunburst.js +68 -0
- package/src/assets/plugins/highcharts/code/modules/sunburst.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/sunburst.src.js +3721 -0
- package/src/assets/plugins/highcharts/code/modules/tilemap.js +26 -0
- package/src/assets/plugins/highcharts/code/modules/tilemap.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/tilemap.src.js +878 -0
- package/src/assets/plugins/highcharts/code/modules/timeline.js +28 -0
- package/src/assets/plugins/highcharts/code/modules/timeline.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/timeline.src.js +815 -0
- package/src/assets/plugins/highcharts/code/modules/treegrid.js +65 -0
- package/src/assets/plugins/highcharts/code/modules/treegrid.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/treegrid.src.js +3294 -0
- package/src/assets/plugins/highcharts/code/modules/treemap.js +49 -0
- package/src/assets/plugins/highcharts/code/modules/treemap.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/treemap.src.js +2416 -0
- package/src/assets/plugins/highcharts/code/modules/variable-pie.js +18 -0
- package/src/assets/plugins/highcharts/code/modules/variable-pie.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/variable-pie.src.js +533 -0
- package/src/assets/plugins/highcharts/code/modules/variwide.js +21 -0
- package/src/assets/plugins/highcharts/code/modules/variwide.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/variwide.src.js +529 -0
- package/src/assets/plugins/highcharts/code/modules/vector.js +16 -0
- package/src/assets/plugins/highcharts/code/modules/vector.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/vector.src.js +409 -0
- package/src/assets/plugins/highcharts/code/modules/venn.js +39 -0
- package/src/assets/plugins/highcharts/code/modules/venn.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/venn.src.js +2095 -0
- package/src/assets/plugins/highcharts/code/modules/windbarb.js +24 -0
- package/src/assets/plugins/highcharts/code/modules/windbarb.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/windbarb.src.js +772 -0
- package/src/assets/plugins/highcharts/code/modules/wordcloud.js +31 -0
- package/src/assets/plugins/highcharts/code/modules/wordcloud.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/wordcloud.src.js +1584 -0
- package/src/assets/plugins/highcharts/code/modules/xrange.js +26 -0
- package/src/assets/plugins/highcharts/code/modules/xrange.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/xrange.src.js +940 -0
- package/src/assets/plugins/highcharts/code/themes/avocado.js +10 -0
- package/src/assets/plugins/highcharts/code/themes/avocado.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/avocado.src.js +103 -0
- package/src/assets/plugins/highcharts/code/themes/brand-dark.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/brand-dark.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/brand-dark.src.js +328 -0
- package/src/assets/plugins/highcharts/code/themes/brand-light.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/brand-light.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/brand-light.src.js +294 -0
- package/src/assets/plugins/highcharts/code/themes/dark-blue.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/dark-blue.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/dark-blue.src.js +315 -0
- package/src/assets/plugins/highcharts/code/themes/dark-green.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/dark-green.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/dark-green.src.js +315 -0
- package/src/assets/plugins/highcharts/code/themes/dark-unica.js +14 -0
- package/src/assets/plugins/highcharts/code/themes/dark-unica.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/dark-unica.src.js +284 -0
- package/src/assets/plugins/highcharts/code/themes/gray.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/gray.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/gray.src.js +323 -0
- package/src/assets/plugins/highcharts/code/themes/grid-light.js +11 -0
- package/src/assets/plugins/highcharts/code/themes/grid-light.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/grid-light.src.js +146 -0
- package/src/assets/plugins/highcharts/code/themes/grid.js +12 -0
- package/src/assets/plugins/highcharts/code/themes/grid.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/grid.src.js +176 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-dark.js +14 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-dark.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-dark.src.js +275 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-light.js +10 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-light.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-light.src.js +105 -0
- package/src/assets/plugins/highcharts/code/themes/sand-signika.js +12 -0
- package/src/assets/plugins/highcharts/code/themes/sand-signika.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/sand-signika.src.js +179 -0
- package/src/assets/plugins/highcharts/code/themes/skies.js +12 -0
- package/src/assets/plugins/highcharts/code/themes/skies.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/skies.src.js +167 -0
- package/src/assets/plugins/highcharts/code/themes/sunset.js +10 -0
- package/src/assets/plugins/highcharts/code/themes/sunset.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/sunset.src.js +102 -0
- package/src/assets/plugins/highcharts/examples/3d-area-multiple/index.html +192 -0
- package/src/assets/plugins/highcharts/examples/3d-column-interactive/index.html +111 -0
- package/src/assets/plugins/highcharts/examples/3d-column-null-values/index.html +118 -0
- package/src/assets/plugins/highcharts/examples/3d-column-stacking-grouping/index.html +144 -0
- package/src/assets/plugins/highcharts/examples/3d-pie/index.html +130 -0
- package/src/assets/plugins/highcharts/examples/3d-pie-donut/index.html +112 -0
- package/src/assets/plugins/highcharts/examples/3d-scatter-draggable/index.html +221 -0
- package/src/assets/plugins/highcharts/examples/accessible-line/index.html +198 -0
- package/src/assets/plugins/highcharts/examples/accessible-pie/index.html +213 -0
- package/src/assets/plugins/highcharts/examples/advanced-accessible/index.html +271 -0
- package/src/assets/plugins/highcharts/examples/annotations/index.html +2170 -0
- package/src/assets/plugins/highcharts/examples/area-basic/index.html +157 -0
- package/src/assets/plugins/highcharts/examples/area-inverted/index.html +135 -0
- package/src/assets/plugins/highcharts/examples/area-missing/index.html +125 -0
- package/src/assets/plugins/highcharts/examples/area-negative/index.html +101 -0
- package/src/assets/plugins/highcharts/examples/area-stacked/index.html +136 -0
- package/src/assets/plugins/highcharts/examples/area-stacked-percent/index.html +141 -0
- package/src/assets/plugins/highcharts/examples/arearange/index.html +132 -0
- package/src/assets/plugins/highcharts/examples/arearange-line/index.html +195 -0
- package/src/assets/plugins/highcharts/examples/areaspline/index.html +137 -0
- package/src/assets/plugins/highcharts/examples/bar-basic/index.html +143 -0
- package/src/assets/plugins/highcharts/examples/bar-negative-stack/index.html +173 -0
- package/src/assets/plugins/highcharts/examples/bar-stacked/index.html +112 -0
- package/src/assets/plugins/highcharts/examples/bellcurve/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/box-plot/index.html +149 -0
- package/src/assets/plugins/highcharts/examples/bubble/index.html +209 -0
- package/src/assets/plugins/highcharts/examples/bubble-3d/index.html +159 -0
- package/src/assets/plugins/highcharts/examples/bullet-graph/index.html +233 -0
- package/src/assets/plugins/highcharts/examples/chart-update/index.html +137 -0
- package/src/assets/plugins/highcharts/examples/column-basic/index.html +144 -0
- package/src/assets/plugins/highcharts/examples/column-comparison/index.html +350 -0
- package/src/assets/plugins/highcharts/examples/column-drilldown/index.html +387 -0
- package/src/assets/plugins/highcharts/examples/column-negative/index.html +101 -0
- package/src/assets/plugins/highcharts/examples/column-parsed/index.html +138 -0
- package/src/assets/plugins/highcharts/examples/column-placement/index.html +160 -0
- package/src/assets/plugins/highcharts/examples/column-pyramid/index.html +117 -0
- package/src/assets/plugins/highcharts/examples/column-rotated-labels/index.html +147 -0
- package/src/assets/plugins/highcharts/examples/column-stacked/index.html +138 -0
- package/src/assets/plugins/highcharts/examples/column-stacked-and-grouped/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/column-stacked-percent/index.html +113 -0
- package/src/assets/plugins/highcharts/examples/columnrange/index.html +145 -0
- package/src/assets/plugins/highcharts/examples/combo/index.html +146 -0
- package/src/assets/plugins/highcharts/examples/combo-dual-axes/index.html +153 -0
- package/src/assets/plugins/highcharts/examples/combo-meteogram/index.html +768 -0
- package/src/assets/plugins/highcharts/examples/combo-multi-axes/index.html +222 -0
- package/src/assets/plugins/highcharts/examples/combo-regression/index.html +110 -0
- package/src/assets/plugins/highcharts/examples/combo-timeline/index.html +592 -0
- package/src/assets/plugins/highcharts/examples/cylinder/index.html +104 -0
- package/src/assets/plugins/highcharts/examples/dependency-wheel/index.html +165 -0
- package/src/assets/plugins/highcharts/examples/dumbbell/index.html +230 -0
- package/src/assets/plugins/highcharts/examples/dynamic-click-to-add/index.html +147 -0
- package/src/assets/plugins/highcharts/examples/dynamic-master-detail/index.html +316 -0
- package/src/assets/plugins/highcharts/examples/dynamic-update/index.html +163 -0
- package/src/assets/plugins/highcharts/examples/error-bar/index.html +154 -0
- package/src/assets/plugins/highcharts/examples/euler-diagram/index.html +119 -0
- package/src/assets/plugins/highcharts/examples/flame/index.html +1324 -0
- package/src/assets/plugins/highcharts/examples/funnel/index.html +131 -0
- package/src/assets/plugins/highcharts/examples/funnel3d/index.html +117 -0
- package/src/assets/plugins/highcharts/examples/gauge-activity/index.html +272 -0
- package/src/assets/plugins/highcharts/examples/gauge-clock/index.html +261 -0
- package/src/assets/plugins/highcharts/examples/gauge-dual/index.html +181 -0
- package/src/assets/plugins/highcharts/examples/gauge-solid/index.html +248 -0
- package/src/assets/plugins/highcharts/examples/gauge-speedometer/index.html +189 -0
- package/src/assets/plugins/highcharts/examples/gauge-vu-meter/index.html +210 -0
- package/src/assets/plugins/highcharts/examples/heatmap/index.html +168 -0
- package/src/assets/plugins/highcharts/examples/heatmap-canvas/index.html +8928 -0
- package/src/assets/plugins/highcharts/examples/histogram/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/honeycomb-usa/index.html +518 -0
- package/src/assets/plugins/highcharts/examples/line-ajax/index.html +206 -0
- package/src/assets/plugins/highcharts/examples/line-basic/index.html +147 -0
- package/src/assets/plugins/highcharts/examples/line-boost/index.html +144 -0
- package/src/assets/plugins/highcharts/examples/line-labels/index.html +108 -0
- package/src/assets/plugins/highcharts/examples/line-log-axis/index.html +106 -0
- package/src/assets/plugins/highcharts/examples/line-time-series/index.html +136 -0
- package/src/assets/plugins/highcharts/examples/live-data/index.html +155 -0
- package/src/assets/plugins/highcharts/examples/lollipop/index.html +161 -0
- package/src/assets/plugins/highcharts/examples/network-graph/index.html +277 -0
- package/src/assets/plugins/highcharts/examples/organization-chart/index.html +224 -0
- package/src/assets/plugins/highcharts/examples/packed-bubble/index.html +588 -0
- package/src/assets/plugins/highcharts/examples/packed-bubble-split/index.html +589 -0
- package/src/assets/plugins/highcharts/examples/parallel-coordinates/index.html +176 -0
- package/src/assets/plugins/highcharts/examples/pareto/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/parliament-chart/index.html +138 -0
- package/src/assets/plugins/highcharts/examples/pie-basic/index.html +141 -0
- package/src/assets/plugins/highcharts/examples/pie-donut/index.html +347 -0
- package/src/assets/plugins/highcharts/examples/pie-drilldown/index.html +418 -0
- package/src/assets/plugins/highcharts/examples/pie-gradient/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/pie-legend/index.html +128 -0
- package/src/assets/plugins/highcharts/examples/pie-monochrome/index.html +139 -0
- package/src/assets/plugins/highcharts/examples/pie-semi-circle/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/polar/index.html +136 -0
- package/src/assets/plugins/highcharts/examples/polar-radial-bar/index.html +169 -0
- package/src/assets/plugins/highcharts/examples/polar-spider/index.html +148 -0
- package/src/assets/plugins/highcharts/examples/polar-wind-rose/index.html +351 -0
- package/src/assets/plugins/highcharts/examples/polygon/index.html +190 -0
- package/src/assets/plugins/highcharts/examples/pyramid/index.html +126 -0
- package/src/assets/plugins/highcharts/examples/pyramid3d/index.html +117 -0
- package/src/assets/plugins/highcharts/examples/renderer/index.html +334 -0
- package/src/assets/plugins/highcharts/examples/responsive/index.html +176 -0
- package/src/assets/plugins/highcharts/examples/sankey-diagram/index.html +145 -0
- package/src/assets/plugins/highcharts/examples/scatter/index.html +246 -0
- package/src/assets/plugins/highcharts/examples/scatter-boost/index.html +142 -0
- package/src/assets/plugins/highcharts/examples/sonification/index.html +331 -0
- package/src/assets/plugins/highcharts/examples/sparkline/index.html +676 -0
- package/src/assets/plugins/highcharts/examples/spline-inverted/index.html +135 -0
- package/src/assets/plugins/highcharts/examples/spline-irregular-time/index.html +255 -0
- package/src/assets/plugins/highcharts/examples/spline-plot-bands/index.html +223 -0
- package/src/assets/plugins/highcharts/examples/spline-symbols/index.html +139 -0
- package/src/assets/plugins/highcharts/examples/streamgraph/index.html +447 -0
- package/src/assets/plugins/highcharts/examples/styled-mode-column/index.html +146 -0
- package/src/assets/plugins/highcharts/examples/styled-mode-pie/index.html +119 -0
- package/src/assets/plugins/highcharts/examples/sunburst/index.html +1520 -0
- package/src/assets/plugins/highcharts/examples/synchronized-charts/index.html +238 -0
- package/src/assets/plugins/highcharts/examples/timeline/index.html +142 -0
- package/src/assets/plugins/highcharts/examples/treemap-coloraxis/index.html +119 -0
- package/src/assets/plugins/highcharts/examples/treemap-large-dataset/index.html +172 -0
- package/src/assets/plugins/highcharts/examples/treemap-with-levels/index.html +151 -0
- package/src/assets/plugins/highcharts/examples/variable-radius-pie/index.html +131 -0
- package/src/assets/plugins/highcharts/examples/variwide/index.html +146 -0
- package/src/assets/plugins/highcharts/examples/vector-plot/index.html +494 -0
- package/src/assets/plugins/highcharts/examples/venn-diagram/index.html +124 -0
- package/src/assets/plugins/highcharts/examples/waterfall/index.html +143 -0
- package/src/assets/plugins/highcharts/examples/windbarb-series/index.html +189 -0
- package/src/assets/plugins/highcharts/examples/wordcloud/index.html +110 -0
- package/src/assets/plugins/highcharts/examples/x-range/index.html +142 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/annotations-hidden.svg +19 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/annotations-visible.svg +20 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-bottom.svg +9 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-left.svg +9 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-line.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-ray.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-right.svg +9 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-segment.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/circle.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/close.svg +8 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/crooked-3.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/crooked-5.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/current-price-hide.svg +40 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/current-price-show.svg +41 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/destroy.svg +14 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/drawing.svg +18 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/edit.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/elliott-3.svg +59 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/elliott-5.svg +41 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/ellipse.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/fibonacci-timezone.svg +16 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/fibonacci.svg +25 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/flag-basic.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/flag-diamond.svg +12 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/flag-elipse.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/flag-trapeze.svg +14 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/fullscreen.svg +15 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/horizontal-line.svg +8 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/indicators.svg +27 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/label.svg +16 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/line.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/linear.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/logarithmic.svg +1 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/measure-x.svg +23 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/measure-xy.svg +28 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/measure-y.svg +24 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/panning.svg +17 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/parallel-channel.svg +15 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/pitchfork.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/ray.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/rectangle.svg +8 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/remove-annotations.svg +15 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/save-chart.svg +12 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/segment.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/separator.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-candlestick.svg +12 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-heikin-ashi.svg +1 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-hlc.svg +1 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-hollow-candlestick.svg +1 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-line.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-ohlc.svg +14 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/text.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/time-cycles.svg +35 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-arrow.svg +7 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-counter.svg +23 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-double-arrow.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-label.svg +14 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-line.svg +8 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/zoom-x.svg +17 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/zoom-xy.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/zoom-y.svg +17 -0
- package/src/assets/plugins/highcharts/gfx/vml-radial-gradient.png +0 -0
- package/src/assets/plugins/highcharts/graphics/color-picker.svg +12 -0
- package/src/assets/plugins/highcharts/graphics/cursor.svg +11 -0
- package/src/assets/plugins/highcharts/graphics/earth.svg +432 -0
- package/src/assets/plugins/highcharts/graphics/feature.svg +13 -0
- package/src/assets/plugins/highcharts/graphics/flag-circle.svg +17 -0
- package/src/assets/plugins/highcharts/graphics/flag-circlepin.svg +15 -0
- package/src/assets/plugins/highcharts/graphics/flag-diamondpin.svg +15 -0
- package/src/assets/plugins/highcharts/graphics/flag-flag.svg +14 -0
- package/src/assets/plugins/highcharts/graphics/flag-rectangle.svg +18 -0
- package/src/assets/plugins/highcharts/graphics/flag-squarepin.svg +16 -0
- package/src/assets/plugins/highcharts/graphics/flag.svg +15 -0
- package/src/assets/plugins/highcharts/graphics/homepage/apple.svg +55 -0
- package/src/assets/plugins/highcharts/graphics/homepage/award.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/cloud.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/earth.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/jupiter.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/mars.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/mercury.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/moon.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/neptune.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p1.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p1.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p2.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p2.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p3.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p3.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p4.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p4.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p5.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p5.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p6.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p6.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/product.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/saturn.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/sun.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/uranus.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/venus.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/version.png +0 -0
- package/src/assets/plugins/highcharts/graphics/rect.svg +12 -0
- package/src/assets/plugins/highcharts/graphics/reset.svg +16 -0
- package/src/assets/plugins/highcharts/graphics/sand.png +0 -0
- package/src/assets/plugins/highcharts/graphics/save-chart-cloud.svg +14 -0
- package/src/assets/plugins/highcharts/graphics/save.svg +14 -0
- package/src/assets/plugins/highcharts/graphics/search.png +0 -0
- package/src/assets/plugins/highcharts/graphics/skies.jpg +0 -0
- package/src/assets/plugins/highcharts/graphics/snow.png +0 -0
- package/src/assets/plugins/highcharts/graphics/sun.png +0 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/blue-flake-big.svg +32 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/blue-star-big.svg +16 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/car-tree.svg +429 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/green-flake-big.svg +119 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/green-star.svg +20 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/hill.svg +193 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/hill2.svg +164 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/horse.svg +1 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/people.svg +2336 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/pines.svg +777 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/pond-skate.svg +1 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-flake.svg +30 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-house.svg +85 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-star-big.svg +36 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-star.svg +20 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/santa-b.svg +91 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/santa.svg +91 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/snow-mound.svg +146 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/snow.svg +20788 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/sun-disk.svg +597 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/tree-cluster.svg +2735 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/white-flake-big.svg +99 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/white-flake.big.svg +96 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/white-star-big.svg +36 -0
- package/src/assets/plugins/highcharts/index.html +133 -0
- package/src/lib/classes/chart.class.ts +140 -0
- package/src/lib/classes/enum.class.ts +193 -0
- package/src/lib/classes/excel.class.ts +46 -0
- package/src/lib/classes/form.class.ts +528 -0
- package/src/lib/classes/helper.class.ts +283 -0
- package/src/lib/classes/lang.class.ts +32 -0
- package/src/lib/classes/login.class.ts +27 -0
- package/src/lib/classes/modal.class.ts +59 -0
- package/src/lib/classes/permission.class.ts +55 -0
- package/src/lib/classes/request.class.ts +255 -0
- package/src/lib/classes/safestyle.class.ts +4 -0
- package/src/lib/classes/sidebar.class.ts +20 -0
- package/src/lib/classes/steps.class.ts +19 -0
- package/src/lib/classes/string.class.ts +219 -0
- package/src/lib/classes/table.class.ts +228 -0
- package/src/lib/components/accordion/accordion.component.css +116 -0
- package/src/lib/components/accordion/accordion.component.html +19 -0
- package/src/lib/components/accordion/accordion.component.ts +41 -0
- package/src/lib/components/alert/alert.component.css +112 -0
- package/src/lib/components/alert/alert.component.html +1 -0
- package/src/lib/components/alert/alert.component.ts +35 -0
- package/src/lib/components/base.component.ts +38 -0
- package/src/lib/components/calendar/calendar.component.css +206 -0
- package/src/lib/components/calendar/calendar.component.html +36 -0
- package/src/lib/components/calendar/calendar.component.ts +99 -0
- package/src/lib/components/chart/chart.component.css +24 -0
- package/src/lib/components/chart/chart.component.html +6 -0
- package/src/lib/components/chart/chart.component.ts +14 -0
- package/src/lib/components/clock/clock.component.css +141 -0
- package/src/lib/components/clock/clock.component.html +10 -0
- package/src/lib/components/clock/clock.component.ts +37 -0
- package/src/lib/components/confirm/confirm.component.css +112 -0
- package/src/lib/components/confirm/confirm.component.html +1 -0
- package/src/lib/components/confirm/confirm.component.ts +47 -0
- package/src/lib/components/footer/footer.component.css +46 -0
- package/src/lib/components/footer/footer.component.html +9 -0
- package/src/lib/components/footer/footer.component.ts +18 -0
- package/src/lib/components/form/bank-card/form.bank-card.component.css +115 -0
- package/src/lib/components/form/bank-card/form.bank-card.component.html +13 -0
- package/src/lib/components/form/bank-card/form.bank-card.component.ts +144 -0
- package/src/lib/components/form/button/form.button.component.css +222 -0
- package/src/lib/components/form/button/form.button.component.html +16 -0
- package/src/lib/components/form/button/form.button.component.ts +65 -0
- package/src/lib/components/form/car/form.car.component.css +287 -0
- package/src/lib/components/form/car/form.car.component.html +11 -0
- package/src/lib/components/form/car/form.car.component.ts +82 -0
- package/src/lib/components/form/car/search/form.car.search.component.css +287 -0
- package/src/lib/components/form/car/search/form.car.search.component.html +15 -0
- package/src/lib/components/form/car/search/form.car.search.component.ts +170 -0
- package/src/lib/components/form/checkbox/form.checkbox.component.css +128 -0
- package/src/lib/components/form/checkbox/form.checkbox.component.html +8 -0
- package/src/lib/components/form/checkbox/form.checkbox.component.ts +64 -0
- package/src/lib/components/form/date/form.date.component.css +310 -0
- package/src/lib/components/form/date/form.date.component.html +46 -0
- package/src/lib/components/form/date/form.date.component.ts +247 -0
- package/src/lib/components/form/datetime/form.datetime.component.css +157 -0
- package/src/lib/components/form/datetime/form.datetime.component.html +11 -0
- package/src/lib/components/form/datetime/form.datetime.component.ts +98 -0
- package/src/lib/components/form/file/form.file.component.css +151 -0
- package/src/lib/components/form/file/form.file.component.html +12 -0
- package/src/lib/components/form/file/form.file.component.ts +130 -0
- package/src/lib/components/form/finger/form.finger.component.css +215 -0
- package/src/lib/components/form/finger/form.finger.component.html +59 -0
- package/src/lib/components/form/finger/form.finger.component.ts +131 -0
- package/src/lib/components/form/hidden/form.hidden.component.css +0 -0
- package/src/lib/components/form/hidden/form.hidden.component.html +0 -0
- package/src/lib/components/form/hidden/form.hidden.component.ts +29 -0
- package/src/lib/components/form/icon/form.icon.component.css +108 -0
- package/src/lib/components/form/icon/form.icon.component.html +14 -0
- package/src/lib/components/form/icon/form.icon.component.ts +73 -0
- package/src/lib/components/form/index/form.component.css +89 -0
- package/src/lib/components/form/index/form.component.html +35 -0
- package/src/lib/components/form/index/form.component.ts +45 -0
- package/src/lib/components/form/label/form.label.component.css +45 -0
- package/src/lib/components/form/label/form.label.component.html +2 -0
- package/src/lib/components/form/label/form.label.component.ts +30 -0
- package/src/lib/components/form/plaque/form.plaque.component.css +76 -0
- package/src/lib/components/form/plaque/form.plaque.component.html +10 -0
- package/src/lib/components/form/plaque/form.plaque.component.ts +178 -0
- package/src/lib/components/form/plaque/select/form.plaque.select.component.css +167 -0
- package/src/lib/components/form/plaque/select/form.plaque.select.component.html +19 -0
- package/src/lib/components/form/plaque/select/form.plaque.select.component.ts +385 -0
- package/src/lib/components/form/radio/form.radio.component.css +158 -0
- package/src/lib/components/form/radio/form.radio.component.html +16 -0
- package/src/lib/components/form/radio/form.radio.component.ts +78 -0
- package/src/lib/components/form/select/form.select.component.css +326 -0
- package/src/lib/components/form/select/form.select.component.html +16 -0
- package/src/lib/components/form/select/form.select.component.ts +358 -0
- package/src/lib/components/form/select/item/form.select.item.component.css +59 -0
- package/src/lib/components/form/select/item/form.select.item.component.html +10 -0
- package/src/lib/components/form/select/item/form.select.item.component.ts +40 -0
- package/src/lib/components/form/table/form.table.component.css +50 -0
- package/src/lib/components/form/table/form.table.component.html +8 -0
- package/src/lib/components/form/table/form.table.component.ts +94 -0
- package/src/lib/components/form/textarea/form.textarea.component.css +109 -0
- package/src/lib/components/form/textarea/form.textarea.component.html +10 -0
- package/src/lib/components/form/textarea/form.textarea.component.ts +76 -0
- package/src/lib/components/form/textbox/form.textbox.component.css +296 -0
- package/src/lib/components/form/textbox/form.textbox.component.html +13 -0
- package/src/lib/components/form/textbox/form.textbox.component.ts +185 -0
- package/src/lib/components/form/time/form.time.component.css +205 -0
- package/src/lib/components/form/time/form.time.component.html +22 -0
- package/src/lib/components/form/time/form.time.component.ts +139 -0
- package/src/lib/components/form/tree/form.tree.component.css +109 -0
- package/src/lib/components/form/tree/form.tree.component.html +11 -0
- package/src/lib/components/form/tree/form.tree.component.ts +98 -0
- package/src/lib/components/form/tree/item/form.tree.item.component.css +142 -0
- package/src/lib/components/form/tree/item/form.tree.item.component.html +9 -0
- package/src/lib/components/form/tree/item/form.tree.item.component.ts +49 -0
- package/src/lib/components/header/header.component.css +57 -0
- package/src/lib/components/header/header.component.html +5 -0
- package/src/lib/components/header/header.component.ts +28 -0
- package/src/lib/components/header/sub/sub.header.component.css +62 -0
- package/src/lib/components/header/sub/sub.header.component.html +8 -0
- package/src/lib/components/header/sub/sub.header.component.ts +11 -0
- package/src/lib/components/layout/layout.component.css +300 -0
- package/src/lib/components/layout/layout.component.html +20 -0
- package/src/lib/components/layout/layout.component.ts +21 -0
- package/src/lib/components/loading/loading.component.css +39 -0
- package/src/lib/components/loading/loading.component.html +8 -0
- package/src/lib/components/loading/loading.component.ts +18 -0
- package/src/lib/components/login/login.component.css +389 -0
- package/src/lib/components/login/login.component.html +27 -0
- package/src/lib/components/login/login.component.ts +145 -0
- package/src/lib/components/modal/modal.component.css +60 -0
- package/src/lib/components/modal/modal.component.html +12 -0
- package/src/lib/components/modal/modal.component.ts +23 -0
- package/src/lib/components/notfound/notfound.component.css +134 -0
- package/src/lib/components/notfound/notfound.component.html +10 -0
- package/src/lib/components/notfound/notfound.component.ts +25 -0
- package/src/lib/components/notification/notification.component.css +45 -0
- package/src/lib/components/notification/notification.component.html +2 -0
- package/src/lib/components/notification/notification.component.ts +11 -0
- package/src/lib/components/sidebar/item/sidebar.item.component.css +236 -0
- package/src/lib/components/sidebar/item/sidebar.item.component.html +16 -0
- package/src/lib/components/sidebar/item/sidebar.item.component.ts +54 -0
- package/src/lib/components/sidebar/sidebar.component.css +42 -0
- package/src/lib/components/sidebar/sidebar.component.html +10 -0
- package/src/lib/components/sidebar/sidebar.component.ts +60 -0
- package/src/lib/components/steps/steps.component.css +320 -0
- package/src/lib/components/steps/steps.component.html +18 -0
- package/src/lib/components/steps/steps.component.ts +44 -0
- package/src/lib/components/table/loading/table.loading.component.css +29 -0
- package/src/lib/components/table/loading/table.loading.component.html +9 -0
- package/src/lib/components/table/loading/table.loading.component.ts +14 -0
- package/src/lib/components/table/pagination/table.pagination.component.css +138 -0
- package/src/lib/components/table/pagination/table.pagination.component.html +9 -0
- package/src/lib/components/table/pagination/table.pagination.component.ts +89 -0
- package/src/lib/components/table/report/table.report.component.css +125 -0
- package/src/lib/components/table/report/table.report.component.html +19 -0
- package/src/lib/components/table/report/table.report.component.ts +238 -0
- package/src/lib/components/table/row/table.row.component.css +170 -0
- package/src/lib/components/table/row/table.row.component.html +21 -0
- package/src/lib/components/table/row/table.row.component.ts +373 -0
- package/src/lib/components/table/table.component.css +116 -0
- package/src/lib/components/table/table.component.html +62 -0
- package/src/lib/components/table/table.component.ts +180 -0
- package/src/lib/components/tooltip/tooltip.component.css +159 -0
- package/src/lib/components/tooltip/tooltip.component.html +1 -0
- package/src/lib/components/tooltip/tooltip.component.ts +15 -0
- package/src/lib/ps-toolkit-ui.module.ts +94 -0
- package/src/lib/services/config.service.ts +8 -0
- package/src/public-api.ts +53 -0
- package/src/test.ts +26 -0
- package/tsconfig.lib.json +25 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +17 -0
- package/tslint.json +17 -0
- package/bundles/ps-toolkit-ui.umd.js +0 -7628
- package/bundles/ps-toolkit-ui.umd.js.map +0 -1
- package/bundles/ps-toolkit-ui.umd.min.js +0 -2
- package/bundles/ps-toolkit-ui.umd.min.js.map +0 -1
- package/esm2015/lib/classes/enum.class.js +0 -187
- package/esm2015/lib/classes/form.class.js +0 -481
- package/esm2015/lib/classes/helper.class.js +0 -284
- package/esm2015/lib/classes/lang.class.js +0 -32
- package/esm2015/lib/classes/login.class.js +0 -22
- package/esm2015/lib/classes/modal.class.js +0 -52
- package/esm2015/lib/classes/permission.class.js +0 -61
- package/esm2015/lib/classes/request.class.js +0 -256
- package/esm2015/lib/classes/safestyle.class.js +0 -15
- package/esm2015/lib/classes/sidebar.class.js +0 -14
- package/esm2015/lib/classes/steps.class.js +0 -20
- package/esm2015/lib/classes/string.class.js +0 -220
- package/esm2015/lib/classes/table.class.js +0 -215
- package/esm2015/lib/components/accordion/accordion.component.js +0 -45
- package/esm2015/lib/components/alert/alert.component.js +0 -39
- package/esm2015/lib/components/base.component.js +0 -45
- package/esm2015/lib/components/calendar/calendar.component.js +0 -97
- package/esm2015/lib/components/clock/clock.component.js +0 -33
- package/esm2015/lib/components/confirm/confirm.component.js +0 -50
- package/esm2015/lib/components/footer/footer.component.js +0 -23
- package/esm2015/lib/components/form/bank-card/form.bank-card.component.js +0 -148
- package/esm2015/lib/components/form/button/form.button.component.js +0 -68
- package/esm2015/lib/components/form/car/form.car.component.js +0 -84
- package/esm2015/lib/components/form/car/search/form.car.search.component.js +0 -172
- package/esm2015/lib/components/form/checkbox/form.checkbox.component.js +0 -66
- package/esm2015/lib/components/form/date/form.date.component.js +0 -254
- package/esm2015/lib/components/form/datetime/form.datetime.component.js +0 -104
- package/esm2015/lib/components/form/file/form.file.component.js +0 -133
- package/esm2015/lib/components/form/finger/form.finger.component.js +0 -138
- package/esm2015/lib/components/form/hidden/form.hidden.component.js +0 -31
- package/esm2015/lib/components/form/icon/form.icon.component.js +0 -76
- package/esm2015/lib/components/form/index/form.component.js +0 -48
- package/esm2015/lib/components/form/label/form.label.component.js +0 -32
- package/esm2015/lib/components/form/plaque/form.plaque.component.js +0 -176
- package/esm2015/lib/components/form/plaque/select/form.plaque.select.component.js +0 -390
- package/esm2015/lib/components/form/radio/form.radio.component.js +0 -79
- package/esm2015/lib/components/form/select/form.select.component.js +0 -374
- package/esm2015/lib/components/form/select/item/form.select.item.component.js +0 -43
- package/esm2015/lib/components/form/table/form.table.component.js +0 -98
- package/esm2015/lib/components/form/textarea/form.textarea.component.js +0 -78
- package/esm2015/lib/components/form/textbox/form.textbox.component.js +0 -186
- package/esm2015/lib/components/form/time/form.time.component.js +0 -145
- package/esm2015/lib/components/form/tree/form.tree.component.js +0 -99
- package/esm2015/lib/components/form/tree/item/form.tree.item.component.js +0 -48
- package/esm2015/lib/components/header/header.component.js +0 -33
- package/esm2015/lib/components/header/sub/sub.header.component.js +0 -14
- package/esm2015/lib/components/layout/layout.component.js +0 -25
- package/esm2015/lib/components/loading/loading.component.js +0 -22
- package/esm2015/lib/components/login/login.component.js +0 -148
- package/esm2015/lib/components/modal/modal.component.js +0 -25
- package/esm2015/lib/components/notfound/notfound.component.js +0 -29
- package/esm2015/lib/components/notification/notification.component.js +0 -14
- package/esm2015/lib/components/sidebar/item/sidebar.item.component.js +0 -53
- package/esm2015/lib/components/sidebar/sidebar.component.js +0 -67
- package/esm2015/lib/components/steps/steps.component.js +0 -51
- package/esm2015/lib/components/table/loading/table.loading.component.js +0 -17
- package/esm2015/lib/components/table/pagination/table.pagination.component.js +0 -84
- package/esm2015/lib/components/table/report/table.report.component.js +0 -246
- package/esm2015/lib/components/table/row/table.row.component.js +0 -379
- package/esm2015/lib/components/table/table.component.js +0 -179
- package/esm2015/lib/components/tooltip/tooltip.component.js +0 -19
- package/esm2015/lib/ps-toolkit-ui.module.js +0 -94
- package/esm2015/lib/services/config.service.js +0 -14
- package/esm2015/ps-toolkit-ui.js +0 -19
- package/esm2015/public-api.js +0 -52
- package/fesm2015/ps-toolkit-ui.js +0 -6550
- package/fesm2015/ps-toolkit-ui.js.map +0 -1
- package/lib/classes/enum.class.d.ts +0 -158
- package/lib/classes/form.class.d.ts +0 -173
- package/lib/classes/helper.class.d.ts +0 -28
- package/lib/classes/lang.class.d.ts +0 -5
- package/lib/classes/login.class.d.ts +0 -17
- package/lib/classes/modal.class.d.ts +0 -19
- package/lib/classes/permission.class.d.ts +0 -31
- package/lib/classes/request.class.d.ts +0 -12
- package/lib/classes/safestyle.class.d.ts +0 -7
- package/lib/classes/sidebar.class.d.ts +0 -11
- package/lib/classes/steps.class.d.ts +0 -17
- package/lib/classes/string.class.d.ts +0 -218
- package/lib/classes/table.class.d.ts +0 -69
- package/lib/components/accordion/accordion.component.d.ts +0 -7
- package/lib/components/alert/alert.component.d.ts +0 -10
- package/lib/components/base.component.d.ts +0 -14
- package/lib/components/calendar/calendar.component.d.ts +0 -26
- package/lib/components/clock/clock.component.d.ts +0 -11
- package/lib/components/confirm/confirm.component.d.ts +0 -14
- package/lib/components/footer/footer.component.d.ts +0 -6
- package/lib/components/form/bank-card/form.bank-card.component.d.ts +0 -22
- package/lib/components/form/button/form.button.component.d.ts +0 -15
- package/lib/components/form/car/form.car.component.d.ts +0 -16
- package/lib/components/form/car/search/form.car.search.component.d.ts +0 -17
- package/lib/components/form/checkbox/form.checkbox.component.d.ts +0 -14
- package/lib/components/form/date/form.date.component.d.ts +0 -42
- package/lib/components/form/datetime/form.datetime.component.d.ts +0 -13
- package/lib/components/form/file/form.file.component.d.ts +0 -17
- package/lib/components/form/finger/form.finger.component.d.ts +0 -15
- package/lib/components/form/hidden/form.hidden.component.d.ts +0 -7
- package/lib/components/form/icon/form.icon.component.d.ts +0 -15
- package/lib/components/form/index/form.component.d.ts +0 -10
- package/lib/components/form/label/form.label.component.d.ts +0 -8
- package/lib/components/form/plaque/form.plaque.component.d.ts +0 -22
- package/lib/components/form/plaque/select/form.plaque.select.component.d.ts +0 -36
- package/lib/components/form/radio/form.radio.component.d.ts +0 -13
- package/lib/components/form/select/form.select.component.d.ts +0 -39
- package/lib/components/form/select/item/form.select.item.component.d.ts +0 -12
- package/lib/components/form/table/form.table.component.d.ts +0 -9
- package/lib/components/form/textarea/form.textarea.component.d.ts +0 -13
- package/lib/components/form/textbox/form.textbox.component.d.ts +0 -20
- package/lib/components/form/time/form.time.component.d.ts +0 -25
- package/lib/components/form/tree/form.tree.component.d.ts +0 -16
- package/lib/components/form/tree/item/form.tree.item.component.d.ts +0 -17
- package/lib/components/header/header.component.d.ts +0 -9
- package/lib/components/header/sub/sub.header.component.d.ts +0 -3
- package/lib/components/layout/layout.component.d.ts +0 -8
- package/lib/components/loading/loading.component.d.ts +0 -5
- package/lib/components/login/login.component.d.ts +0 -13
- package/lib/components/modal/modal.component.d.ts +0 -9
- package/lib/components/notfound/notfound.component.d.ts +0 -8
- package/lib/components/notification/notification.component.d.ts +0 -3
- package/lib/components/sidebar/item/sidebar.item.component.d.ts +0 -14
- package/lib/components/sidebar/sidebar.component.d.ts +0 -19
- package/lib/components/steps/steps.component.d.ts +0 -10
- package/lib/components/table/loading/table.loading.component.d.ts +0 -5
- package/lib/components/table/pagination/table.pagination.component.d.ts +0 -15
- package/lib/components/table/report/table.report.component.d.ts +0 -34
- package/lib/components/table/row/table.row.component.d.ts +0 -34
- package/lib/components/table/table.component.d.ts +0 -40
- package/lib/components/tooltip/tooltip.component.d.ts +0 -5
- package/lib/ps-toolkit-ui.module.d.ts +0 -4
- package/lib/services/config.service.d.ts +0 -6
- package/ps-toolkit-ui.d.ts +0 -18
- package/ps-toolkit-ui.metadata.json +0 -1
- package/public-api.d.ts +0 -48
|
@@ -0,0 +1,3225 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2010-2021 Torstein Honsi
|
|
4
|
+
*
|
|
5
|
+
* License: www.highcharts.com/license
|
|
6
|
+
*
|
|
7
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
+
*
|
|
9
|
+
* */
|
|
10
|
+
'use strict';
|
|
11
|
+
import A from '../Animation/AnimationUtilities.js';
|
|
12
|
+
var animObject = A.animObject;
|
|
13
|
+
import AxisDefaults from './AxisDefaults.js';
|
|
14
|
+
import Color from '../Color/Color.js';
|
|
15
|
+
import D from '../DefaultOptions.js';
|
|
16
|
+
var defaultOptions = D.defaultOptions;
|
|
17
|
+
import F from '../Foundation.js';
|
|
18
|
+
var registerEventOptions = F.registerEventOptions;
|
|
19
|
+
import H from '../Globals.js';
|
|
20
|
+
var deg2rad = H.deg2rad;
|
|
21
|
+
import Tick from './Tick.js';
|
|
22
|
+
import U from '../Utilities.js';
|
|
23
|
+
var arrayMax = U.arrayMax, arrayMin = U.arrayMin, clamp = U.clamp, correctFloat = U.correctFloat, defined = U.defined, destroyObjectProperties = U.destroyObjectProperties, erase = U.erase, error = U.error, extend = U.extend, fireEvent = U.fireEvent, getMagnitude = U.getMagnitude, isArray = U.isArray, isNumber = U.isNumber, isString = U.isString, merge = U.merge, normalizeTickInterval = U.normalizeTickInterval, objectEach = U.objectEach, pick = U.pick, relativeLength = U.relativeLength, removeEvent = U.removeEvent, splat = U.splat, syncTimeout = U.syncTimeout;
|
|
24
|
+
/* *
|
|
25
|
+
*
|
|
26
|
+
* Class
|
|
27
|
+
*
|
|
28
|
+
* */
|
|
29
|
+
/**
|
|
30
|
+
* Create a new axis object. Called internally when instanciating a new chart or
|
|
31
|
+
* adding axes by {@link Highcharts.Chart#addAxis}.
|
|
32
|
+
*
|
|
33
|
+
* A chart can have from 0 axes (pie chart) to multiples. In a normal, single
|
|
34
|
+
* series cartesian chart, there is one X axis and one Y axis.
|
|
35
|
+
*
|
|
36
|
+
* The X axis or axes are referenced by {@link Highcharts.Chart.xAxis}, which is
|
|
37
|
+
* an array of Axis objects. If there is only one axis, it can be referenced
|
|
38
|
+
* through `chart.xAxis[0]`, and multiple axes have increasing indices. The same
|
|
39
|
+
* pattern goes for Y axes.
|
|
40
|
+
*
|
|
41
|
+
* If you need to get the axes from a series object, use the `series.xAxis` and
|
|
42
|
+
* `series.yAxis` properties. These are not arrays, as one series can only be
|
|
43
|
+
* associated to one X and one Y axis.
|
|
44
|
+
*
|
|
45
|
+
* A third way to reference the axis programmatically is by `id`. Add an `id` in
|
|
46
|
+
* the axis configuration options, and get the axis by
|
|
47
|
+
* {@link Highcharts.Chart#get}.
|
|
48
|
+
*
|
|
49
|
+
* Configuration options for the axes are given in options.xAxis and
|
|
50
|
+
* options.yAxis.
|
|
51
|
+
*
|
|
52
|
+
* @class
|
|
53
|
+
* @name Highcharts.Axis
|
|
54
|
+
*
|
|
55
|
+
* @param {Highcharts.Chart} chart
|
|
56
|
+
* The Chart instance to apply the axis on.
|
|
57
|
+
*
|
|
58
|
+
* @param {Highcharts.AxisOptions} userOptions
|
|
59
|
+
* Axis options.
|
|
60
|
+
*/
|
|
61
|
+
var Axis = /** @class */ (function () {
|
|
62
|
+
/* *
|
|
63
|
+
*
|
|
64
|
+
* Constructors
|
|
65
|
+
*
|
|
66
|
+
* */
|
|
67
|
+
function Axis(chart, userOptions) {
|
|
68
|
+
this.alternateBands = void 0;
|
|
69
|
+
this.bottom = void 0;
|
|
70
|
+
this.categories = void 0;
|
|
71
|
+
this.chart = void 0;
|
|
72
|
+
this.closestPointRange = void 0;
|
|
73
|
+
this.coll = void 0;
|
|
74
|
+
this.eventOptions = void 0;
|
|
75
|
+
this.hasNames = void 0;
|
|
76
|
+
this.hasVisibleSeries = void 0;
|
|
77
|
+
this.height = void 0;
|
|
78
|
+
this.isLinked = void 0;
|
|
79
|
+
this.labelEdge = void 0; // @todo
|
|
80
|
+
this.labelFormatter = void 0;
|
|
81
|
+
this.left = void 0;
|
|
82
|
+
this.len = void 0;
|
|
83
|
+
this.max = void 0;
|
|
84
|
+
this.maxLabelLength = void 0;
|
|
85
|
+
this.min = void 0;
|
|
86
|
+
this.minorTickInterval = void 0;
|
|
87
|
+
this.minorTicks = void 0;
|
|
88
|
+
this.minPixelPadding = void 0;
|
|
89
|
+
this.names = void 0;
|
|
90
|
+
this.offset = void 0;
|
|
91
|
+
this.options = void 0;
|
|
92
|
+
this.overlap = void 0;
|
|
93
|
+
this.paddedTicks = void 0;
|
|
94
|
+
this.plotLinesAndBands = void 0;
|
|
95
|
+
this.plotLinesAndBandsGroups = void 0;
|
|
96
|
+
this.pointRange = void 0;
|
|
97
|
+
this.pointRangePadding = void 0;
|
|
98
|
+
this.pos = void 0;
|
|
99
|
+
this.positiveValuesOnly = void 0;
|
|
100
|
+
this.right = void 0;
|
|
101
|
+
this.series = void 0;
|
|
102
|
+
this.side = void 0;
|
|
103
|
+
this.tickAmount = void 0;
|
|
104
|
+
this.tickInterval = void 0;
|
|
105
|
+
this.tickmarkOffset = void 0;
|
|
106
|
+
this.tickPositions = void 0;
|
|
107
|
+
this.tickRotCorr = void 0;
|
|
108
|
+
this.ticks = void 0;
|
|
109
|
+
this.top = void 0;
|
|
110
|
+
this.transA = void 0;
|
|
111
|
+
this.transB = void 0;
|
|
112
|
+
this.translationSlope = void 0;
|
|
113
|
+
this.userOptions = void 0;
|
|
114
|
+
this.visible = void 0;
|
|
115
|
+
this.width = void 0;
|
|
116
|
+
this.zoomEnabled = void 0;
|
|
117
|
+
this.init(chart, userOptions);
|
|
118
|
+
}
|
|
119
|
+
/* *
|
|
120
|
+
*
|
|
121
|
+
* Functions
|
|
122
|
+
*
|
|
123
|
+
* */
|
|
124
|
+
/**
|
|
125
|
+
* Overrideable function to initialize the axis.
|
|
126
|
+
*
|
|
127
|
+
* @see {@link Axis}
|
|
128
|
+
*
|
|
129
|
+
* @function Highcharts.Axis#init
|
|
130
|
+
*
|
|
131
|
+
* @param {Highcharts.Chart} chart
|
|
132
|
+
* The Chart instance to apply the axis on.
|
|
133
|
+
*
|
|
134
|
+
* @param {AxisOptions} userOptions
|
|
135
|
+
* Axis options.
|
|
136
|
+
*
|
|
137
|
+
* @emits Highcharts.Axis#event:afterInit
|
|
138
|
+
* @emits Highcharts.Axis#event:init
|
|
139
|
+
*/
|
|
140
|
+
Axis.prototype.init = function (chart, userOptions) {
|
|
141
|
+
var isXAxis = userOptions.isX, axis = this;
|
|
142
|
+
/**
|
|
143
|
+
* The Chart that the axis belongs to.
|
|
144
|
+
*
|
|
145
|
+
* @name Highcharts.Axis#chart
|
|
146
|
+
* @type {Highcharts.Chart}
|
|
147
|
+
*/
|
|
148
|
+
axis.chart = chart;
|
|
149
|
+
/**
|
|
150
|
+
* Whether the axis is horizontal.
|
|
151
|
+
*
|
|
152
|
+
* @name Highcharts.Axis#horiz
|
|
153
|
+
* @type {boolean|undefined}
|
|
154
|
+
*/
|
|
155
|
+
axis.horiz = chart.inverted && !axis.isZAxis ? !isXAxis : isXAxis;
|
|
156
|
+
/**
|
|
157
|
+
* Whether the axis is the x-axis.
|
|
158
|
+
*
|
|
159
|
+
* @name Highcharts.Axis#isXAxis
|
|
160
|
+
* @type {boolean|undefined}
|
|
161
|
+
*/
|
|
162
|
+
axis.isXAxis = isXAxis;
|
|
163
|
+
/**
|
|
164
|
+
* The collection where the axis belongs, for example `xAxis`, `yAxis`
|
|
165
|
+
* or `colorAxis`. Corresponds to properties on Chart, for example
|
|
166
|
+
* {@link Chart.xAxis}.
|
|
167
|
+
*
|
|
168
|
+
* @name Highcharts.Axis#coll
|
|
169
|
+
* @type {string}
|
|
170
|
+
*/
|
|
171
|
+
axis.coll = axis.coll || (isXAxis ? 'xAxis' : 'yAxis');
|
|
172
|
+
fireEvent(this, 'init', { userOptions: userOptions });
|
|
173
|
+
// Needed in setOptions
|
|
174
|
+
axis.opposite = pick(userOptions.opposite, axis.opposite);
|
|
175
|
+
/**
|
|
176
|
+
* The side on which the axis is rendered. 0 is top, 1 is right, 2
|
|
177
|
+
* is bottom and 3 is left.
|
|
178
|
+
*
|
|
179
|
+
* @name Highcharts.Axis#side
|
|
180
|
+
* @type {number}
|
|
181
|
+
*/
|
|
182
|
+
axis.side = pick(userOptions.side, axis.side, (axis.horiz ?
|
|
183
|
+
(axis.opposite ? 0 : 2) : // top : bottom
|
|
184
|
+
(axis.opposite ? 1 : 3)) // right : left
|
|
185
|
+
);
|
|
186
|
+
/**
|
|
187
|
+
* Current options for the axis after merge of defaults and user's
|
|
188
|
+
* options.
|
|
189
|
+
*
|
|
190
|
+
* @name Highcharts.Axis#options
|
|
191
|
+
* @type {Highcharts.AxisOptions}
|
|
192
|
+
*/
|
|
193
|
+
axis.setOptions(userOptions);
|
|
194
|
+
var options = this.options, labelsOptions = options.labels, type = options.type;
|
|
195
|
+
/**
|
|
196
|
+
* User's options for this axis without defaults.
|
|
197
|
+
*
|
|
198
|
+
* @name Highcharts.Axis#userOptions
|
|
199
|
+
* @type {Highcharts.AxisOptions}
|
|
200
|
+
*/
|
|
201
|
+
axis.userOptions = userOptions;
|
|
202
|
+
axis.minPixelPadding = 0;
|
|
203
|
+
/**
|
|
204
|
+
* Whether the axis is reversed. Based on the `axis.reversed`,
|
|
205
|
+
* option, but inverted charts have reversed xAxis by default.
|
|
206
|
+
*
|
|
207
|
+
* @name Highcharts.Axis#reversed
|
|
208
|
+
* @type {boolean}
|
|
209
|
+
*/
|
|
210
|
+
axis.reversed = pick(options.reversed, axis.reversed);
|
|
211
|
+
axis.visible = options.visible;
|
|
212
|
+
axis.zoomEnabled = options.zoomEnabled;
|
|
213
|
+
// Initial categories
|
|
214
|
+
axis.hasNames =
|
|
215
|
+
type === 'category' || options.categories === true;
|
|
216
|
+
/**
|
|
217
|
+
* If categories are present for the axis, names are used instead of
|
|
218
|
+
* numbers for that axis.
|
|
219
|
+
*
|
|
220
|
+
* Since Highcharts 3.0, categories can also be extracted by giving each
|
|
221
|
+
* point a name and setting axis type to `category`. However, if you
|
|
222
|
+
* have multiple series, best practice remains defining the `categories`
|
|
223
|
+
* array.
|
|
224
|
+
*
|
|
225
|
+
* @see [xAxis.categories](/highcharts/xAxis.categories)
|
|
226
|
+
*
|
|
227
|
+
* @name Highcharts.Axis#categories
|
|
228
|
+
* @type {Array<string>}
|
|
229
|
+
* @readonly
|
|
230
|
+
*/
|
|
231
|
+
axis.categories = options.categories || axis.hasNames;
|
|
232
|
+
if (!axis.names) { // Preserve on update (#3830)
|
|
233
|
+
axis.names = [];
|
|
234
|
+
axis.names.keys = {};
|
|
235
|
+
}
|
|
236
|
+
// Placeholder for plotlines and plotbands groups
|
|
237
|
+
axis.plotLinesAndBandsGroups = {};
|
|
238
|
+
// Shorthand types
|
|
239
|
+
axis.positiveValuesOnly = !!axis.logarithmic;
|
|
240
|
+
// Flag, if axis is linked to another axis
|
|
241
|
+
axis.isLinked = defined(options.linkedTo);
|
|
242
|
+
/**
|
|
243
|
+
* List of major ticks mapped by postition on axis.
|
|
244
|
+
*
|
|
245
|
+
* @see {@link Highcharts.Tick}
|
|
246
|
+
*
|
|
247
|
+
* @name Highcharts.Axis#ticks
|
|
248
|
+
* @type {Highcharts.Dictionary<Highcharts.Tick>}
|
|
249
|
+
*/
|
|
250
|
+
axis.ticks = {};
|
|
251
|
+
axis.labelEdge = [];
|
|
252
|
+
/**
|
|
253
|
+
* List of minor ticks mapped by position on the axis.
|
|
254
|
+
*
|
|
255
|
+
* @see {@link Highcharts.Tick}
|
|
256
|
+
*
|
|
257
|
+
* @name Highcharts.Axis#minorTicks
|
|
258
|
+
* @type {Highcharts.Dictionary<Highcharts.Tick>}
|
|
259
|
+
*/
|
|
260
|
+
axis.minorTicks = {};
|
|
261
|
+
// List of plotLines/Bands
|
|
262
|
+
axis.plotLinesAndBands = [];
|
|
263
|
+
// Alternate bands
|
|
264
|
+
axis.alternateBands = {};
|
|
265
|
+
// Axis metrics
|
|
266
|
+
axis.len = 0;
|
|
267
|
+
axis.minRange = axis.userMinRange = options.minRange || options.maxZoom;
|
|
268
|
+
axis.range = options.range;
|
|
269
|
+
axis.offset = options.offset || 0;
|
|
270
|
+
/**
|
|
271
|
+
* The maximum value of the axis. In a logarithmic axis, this is the
|
|
272
|
+
* logarithm of the real value, and the real value can be obtained from
|
|
273
|
+
* {@link Axis#getExtremes}.
|
|
274
|
+
*
|
|
275
|
+
* @name Highcharts.Axis#max
|
|
276
|
+
* @type {number|null}
|
|
277
|
+
*/
|
|
278
|
+
axis.max = null;
|
|
279
|
+
/**
|
|
280
|
+
* The minimum value of the axis. In a logarithmic axis, this is the
|
|
281
|
+
* logarithm of the real value, and the real value can be obtained from
|
|
282
|
+
* {@link Axis#getExtremes}.
|
|
283
|
+
*
|
|
284
|
+
* @name Highcharts.Axis#min
|
|
285
|
+
* @type {number|null}
|
|
286
|
+
*/
|
|
287
|
+
axis.min = null;
|
|
288
|
+
/**
|
|
289
|
+
* The processed crosshair options.
|
|
290
|
+
*
|
|
291
|
+
* @name Highcharts.Axis#crosshair
|
|
292
|
+
* @type {boolean|Highcharts.AxisCrosshairOptions}
|
|
293
|
+
*/
|
|
294
|
+
var crosshair = pick(options.crosshair, splat(chart.options.tooltip.crosshairs)[isXAxis ? 0 : 1]);
|
|
295
|
+
axis.crosshair = crosshair === true ? {} : crosshair;
|
|
296
|
+
// Register. Don't add it again on Axis.update().
|
|
297
|
+
if (chart.axes.indexOf(axis) === -1) { //
|
|
298
|
+
if (isXAxis) { // #2713
|
|
299
|
+
chart.axes.splice(chart.xAxis.length, 0, axis);
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
chart.axes.push(axis);
|
|
303
|
+
}
|
|
304
|
+
chart[axis.coll].push(axis);
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* All series associated to the axis.
|
|
308
|
+
*
|
|
309
|
+
* @name Highcharts.Axis#series
|
|
310
|
+
* @type {Array<Highcharts.Series>}
|
|
311
|
+
*/
|
|
312
|
+
axis.series = axis.series || []; // populated by Series
|
|
313
|
+
// Reversed axis
|
|
314
|
+
if (chart.inverted &&
|
|
315
|
+
!axis.isZAxis &&
|
|
316
|
+
isXAxis &&
|
|
317
|
+
typeof axis.reversed === 'undefined') {
|
|
318
|
+
axis.reversed = true;
|
|
319
|
+
}
|
|
320
|
+
axis.labelRotation = isNumber(labelsOptions.rotation) ?
|
|
321
|
+
labelsOptions.rotation :
|
|
322
|
+
void 0;
|
|
323
|
+
// Register event listeners
|
|
324
|
+
registerEventOptions(axis, options);
|
|
325
|
+
fireEvent(this, 'afterInit');
|
|
326
|
+
};
|
|
327
|
+
/**
|
|
328
|
+
* Merge and set options.
|
|
329
|
+
*
|
|
330
|
+
* @private
|
|
331
|
+
* @function Highcharts.Axis#setOptions
|
|
332
|
+
*
|
|
333
|
+
* @param {Highcharts.AxisOptions} userOptions
|
|
334
|
+
* Axis options.
|
|
335
|
+
*
|
|
336
|
+
* @emits Highcharts.Axis#event:afterSetOptions
|
|
337
|
+
*/
|
|
338
|
+
Axis.prototype.setOptions = function (userOptions) {
|
|
339
|
+
this.options = merge(AxisDefaults.defaultXAxisOptions, (this.coll === 'yAxis') && AxisDefaults.defaultYAxisOptions, [
|
|
340
|
+
AxisDefaults.defaultTopAxisOptions,
|
|
341
|
+
AxisDefaults.defaultRightAxisOptions,
|
|
342
|
+
AxisDefaults.defaultBottomAxisOptions,
|
|
343
|
+
AxisDefaults.defaultLeftAxisOptions
|
|
344
|
+
][this.side], merge(
|
|
345
|
+
// if set in setOptions (#1053):
|
|
346
|
+
defaultOptions[this.coll], userOptions));
|
|
347
|
+
fireEvent(this, 'afterSetOptions', { userOptions: userOptions });
|
|
348
|
+
};
|
|
349
|
+
/**
|
|
350
|
+
* The default label formatter. The context is a special config object for
|
|
351
|
+
* the label. In apps, use the
|
|
352
|
+
* [labels.formatter](https://api.highcharts.com/highcharts/xAxis.labels.formatter)
|
|
353
|
+
* instead, except when a modification is needed.
|
|
354
|
+
*
|
|
355
|
+
* @function Highcharts.Axis#defaultLabelFormatter
|
|
356
|
+
*
|
|
357
|
+
* @param {Highcharts.AxisLabelsFormatterContextObject} this
|
|
358
|
+
* Formatter context of axis label.
|
|
359
|
+
*
|
|
360
|
+
* @param {Highcharts.AxisLabelsFormatterContextObject} [ctx]
|
|
361
|
+
* Formatter context of axis label.
|
|
362
|
+
*
|
|
363
|
+
* @return {string}
|
|
364
|
+
* The formatted label content.
|
|
365
|
+
*/
|
|
366
|
+
Axis.prototype.defaultLabelFormatter = function (ctx) {
|
|
367
|
+
var axis = this.axis, chart = this.chart, numberFormatter = chart.numberFormatter, value = isNumber(this.value) ? this.value : NaN, time = axis.chart.time, categories = axis.categories, dateTimeLabelFormat = this.dateTimeLabelFormat, lang = defaultOptions.lang, numericSymbols = lang.numericSymbols, numSymMagnitude = lang.numericSymbolMagnitude || 1000,
|
|
368
|
+
// make sure the same symbol is added for all labels on a linear
|
|
369
|
+
// axis
|
|
370
|
+
numericSymbolDetector = axis.logarithmic ?
|
|
371
|
+
Math.abs(value) :
|
|
372
|
+
axis.tickInterval;
|
|
373
|
+
var i = numericSymbols && numericSymbols.length, multi, ret;
|
|
374
|
+
if (categories) {
|
|
375
|
+
ret = "" + this.value;
|
|
376
|
+
}
|
|
377
|
+
else if (dateTimeLabelFormat) { // datetime axis
|
|
378
|
+
ret = time.dateFormat(dateTimeLabelFormat, value);
|
|
379
|
+
}
|
|
380
|
+
else if (i && numericSymbolDetector >= 1000) {
|
|
381
|
+
// Decide whether we should add a numeric symbol like k (thousands)
|
|
382
|
+
// or M (millions). If we are to enable this in tooltip or other
|
|
383
|
+
// places as well, we can move this logic to the numberFormatter and
|
|
384
|
+
// enable it by a parameter.
|
|
385
|
+
while (i-- && typeof ret === 'undefined') {
|
|
386
|
+
multi = Math.pow(numSymMagnitude, i + 1);
|
|
387
|
+
if (
|
|
388
|
+
// Only accept a numeric symbol when the distance is more
|
|
389
|
+
// than a full unit. So for example if the symbol is k, we
|
|
390
|
+
// don't accept numbers like 0.5k.
|
|
391
|
+
numericSymbolDetector >= multi &&
|
|
392
|
+
// Accept one decimal before the symbol. Accepts 0.5k but
|
|
393
|
+
// not 0.25k. How does this work with the previous?
|
|
394
|
+
(value * 10) % multi === 0 &&
|
|
395
|
+
numericSymbols[i] !== null &&
|
|
396
|
+
value !== 0) { // #5480
|
|
397
|
+
ret = numberFormatter(value / multi, -1) + numericSymbols[i];
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
if (typeof ret === 'undefined') {
|
|
402
|
+
if (Math.abs(value) >= 10000) { // add thousands separators
|
|
403
|
+
ret = numberFormatter(value, -1);
|
|
404
|
+
}
|
|
405
|
+
else { // small numbers
|
|
406
|
+
ret = numberFormatter(value, -1, void 0, ''); // #2466
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
return ret;
|
|
410
|
+
};
|
|
411
|
+
/**
|
|
412
|
+
* Get the minimum and maximum for the series of each axis. The function
|
|
413
|
+
* analyzes the axis series and updates `this.dataMin` and `this.dataMax`.
|
|
414
|
+
*
|
|
415
|
+
* @private
|
|
416
|
+
* @function Highcharts.Axis#getSeriesExtremes
|
|
417
|
+
*
|
|
418
|
+
* @emits Highcharts.Axis#event:afterGetSeriesExtremes
|
|
419
|
+
* @emits Highcharts.Axis#event:getSeriesExtremes
|
|
420
|
+
*/
|
|
421
|
+
Axis.prototype.getSeriesExtremes = function () {
|
|
422
|
+
var axis = this, chart = axis.chart;
|
|
423
|
+
var xExtremes;
|
|
424
|
+
fireEvent(this, 'getSeriesExtremes', null, function () {
|
|
425
|
+
axis.hasVisibleSeries = false;
|
|
426
|
+
// Reset properties in case we're redrawing (#3353)
|
|
427
|
+
axis.dataMin = axis.dataMax = axis.threshold = null;
|
|
428
|
+
axis.softThreshold = !axis.isXAxis;
|
|
429
|
+
if (axis.stacking) {
|
|
430
|
+
axis.stacking.buildStacks();
|
|
431
|
+
}
|
|
432
|
+
// loop through this axis' series
|
|
433
|
+
axis.series.forEach(function (series) {
|
|
434
|
+
if (series.visible ||
|
|
435
|
+
!chart.options.chart.ignoreHiddenSeries) {
|
|
436
|
+
var seriesOptions = series.options;
|
|
437
|
+
var xData = void 0, threshold = seriesOptions.threshold, seriesDataMin = void 0, seriesDataMax = void 0;
|
|
438
|
+
axis.hasVisibleSeries = true;
|
|
439
|
+
// Validate threshold in logarithmic axes
|
|
440
|
+
if (axis.positiveValuesOnly && threshold <= 0) {
|
|
441
|
+
threshold = null;
|
|
442
|
+
}
|
|
443
|
+
// Get dataMin and dataMax for X axes
|
|
444
|
+
if (axis.isXAxis) {
|
|
445
|
+
xData = series.xData;
|
|
446
|
+
if (xData.length) {
|
|
447
|
+
var isPositive = function (number) { return number > 0; };
|
|
448
|
+
xData = axis.logarithmic ?
|
|
449
|
+
xData.filter(axis.validatePositiveValue) :
|
|
450
|
+
xData;
|
|
451
|
+
xExtremes = series.getXExtremes(xData);
|
|
452
|
+
// If xData contains values which is not numbers,
|
|
453
|
+
// then filter them out. To prevent performance hit,
|
|
454
|
+
// we only do this after we have already found
|
|
455
|
+
// seriesDataMin because in most cases all data is
|
|
456
|
+
// valid. #5234.
|
|
457
|
+
seriesDataMin = xExtremes.min;
|
|
458
|
+
seriesDataMax = xExtremes.max;
|
|
459
|
+
if (!isNumber(seriesDataMin) &&
|
|
460
|
+
// #5010:
|
|
461
|
+
!(seriesDataMin instanceof Date)) {
|
|
462
|
+
xData = xData.filter(isNumber);
|
|
463
|
+
xExtremes = series.getXExtremes(xData);
|
|
464
|
+
// Do it again with valid data
|
|
465
|
+
seriesDataMin = xExtremes.min;
|
|
466
|
+
seriesDataMax = xExtremes.max;
|
|
467
|
+
}
|
|
468
|
+
if (xData.length) {
|
|
469
|
+
axis.dataMin = Math.min(pick(axis.dataMin, seriesDataMin), seriesDataMin);
|
|
470
|
+
axis.dataMax = Math.max(pick(axis.dataMax, seriesDataMax), seriesDataMax);
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
// Get dataMin and dataMax for Y axes, as well as handle
|
|
474
|
+
// stacking and processed data
|
|
475
|
+
}
|
|
476
|
+
else {
|
|
477
|
+
// Get this particular series extremes
|
|
478
|
+
var dataExtremes = series.applyExtremes();
|
|
479
|
+
// Get the dataMin and dataMax so far. If percentage is
|
|
480
|
+
// used, the min and max are always 0 and 100. If
|
|
481
|
+
// seriesDataMin and seriesDataMax is null, then series
|
|
482
|
+
// doesn't have active y data, we continue with nulls
|
|
483
|
+
if (isNumber(dataExtremes.dataMin)) {
|
|
484
|
+
seriesDataMin = dataExtremes.dataMin;
|
|
485
|
+
axis.dataMin = Math.min(pick(axis.dataMin, seriesDataMin), seriesDataMin);
|
|
486
|
+
}
|
|
487
|
+
if (isNumber(dataExtremes.dataMax)) {
|
|
488
|
+
seriesDataMax = dataExtremes.dataMax;
|
|
489
|
+
axis.dataMax = Math.max(pick(axis.dataMax, seriesDataMax), seriesDataMax);
|
|
490
|
+
}
|
|
491
|
+
// Adjust to threshold
|
|
492
|
+
if (defined(threshold)) {
|
|
493
|
+
axis.threshold = threshold;
|
|
494
|
+
}
|
|
495
|
+
// If any series has a hard threshold, it takes
|
|
496
|
+
// precedence
|
|
497
|
+
if (!seriesOptions.softThreshold ||
|
|
498
|
+
axis.positiveValuesOnly) {
|
|
499
|
+
axis.softThreshold = false;
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
});
|
|
504
|
+
});
|
|
505
|
+
fireEvent(this, 'afterGetSeriesExtremes');
|
|
506
|
+
};
|
|
507
|
+
/**
|
|
508
|
+
* Translate from axis value to pixel position on the chart, or back. Use
|
|
509
|
+
* the `toPixels` and `toValue` functions in applications.
|
|
510
|
+
*
|
|
511
|
+
* @private
|
|
512
|
+
* @function Highcharts.Axis#translate
|
|
513
|
+
*/
|
|
514
|
+
Axis.prototype.translate = function (val, backwards, cvsCoord, old, handleLog, pointPlacement) {
|
|
515
|
+
var axis = (this.linkedParent || this), // #1417
|
|
516
|
+
localMin = old && axis.old ? axis.old.min : axis.min, minPixelPadding = axis.minPixelPadding, doPostTranslate = (axis.isOrdinal ||
|
|
517
|
+
axis.brokenAxis && axis.brokenAxis.hasBreaks ||
|
|
518
|
+
(axis.logarithmic && handleLog)) && axis.lin2val;
|
|
519
|
+
var sign = 1, cvsOffset = 0, localA = old && axis.old ? axis.old.transA : axis.transA, returnValue = 0;
|
|
520
|
+
if (!localA) {
|
|
521
|
+
localA = axis.transA;
|
|
522
|
+
}
|
|
523
|
+
// In vertical axes, the canvas coordinates start from 0 at the top like
|
|
524
|
+
// in SVG.
|
|
525
|
+
if (cvsCoord) {
|
|
526
|
+
sign *= -1; // canvas coordinates inverts the value
|
|
527
|
+
cvsOffset = axis.len;
|
|
528
|
+
}
|
|
529
|
+
// Handle reversed axis
|
|
530
|
+
if (axis.reversed) {
|
|
531
|
+
sign *= -1;
|
|
532
|
+
cvsOffset -= sign * (axis.sector || axis.len);
|
|
533
|
+
}
|
|
534
|
+
// From pixels to value
|
|
535
|
+
if (backwards) { // reverse translation
|
|
536
|
+
val = val * sign + cvsOffset;
|
|
537
|
+
val -= minPixelPadding;
|
|
538
|
+
// from chart pixel to value:
|
|
539
|
+
returnValue = val / localA + localMin;
|
|
540
|
+
if (doPostTranslate) { // log, ordinal and broken axis
|
|
541
|
+
returnValue = axis.lin2val(returnValue);
|
|
542
|
+
}
|
|
543
|
+
// From value to pixels
|
|
544
|
+
}
|
|
545
|
+
else {
|
|
546
|
+
if (doPostTranslate) { // log, ordinal and broken axis
|
|
547
|
+
val = axis.val2lin(val);
|
|
548
|
+
}
|
|
549
|
+
returnValue = isNumber(localMin) ?
|
|
550
|
+
(sign * (val - localMin) * localA +
|
|
551
|
+
cvsOffset +
|
|
552
|
+
(sign * minPixelPadding) +
|
|
553
|
+
(isNumber(pointPlacement) ?
|
|
554
|
+
localA * pointPlacement :
|
|
555
|
+
0)) :
|
|
556
|
+
void 0;
|
|
557
|
+
}
|
|
558
|
+
return returnValue;
|
|
559
|
+
};
|
|
560
|
+
/**
|
|
561
|
+
* Translate a value in terms of axis units into pixels within the chart.
|
|
562
|
+
*
|
|
563
|
+
* @function Highcharts.Axis#toPixels
|
|
564
|
+
*
|
|
565
|
+
* @param {number} value
|
|
566
|
+
* A value in terms of axis units.
|
|
567
|
+
*
|
|
568
|
+
* @param {boolean} paneCoordinates
|
|
569
|
+
* Whether to return the pixel coordinate relative to the chart or just the
|
|
570
|
+
* axis/pane itself.
|
|
571
|
+
*
|
|
572
|
+
* @return {number}
|
|
573
|
+
* Pixel position of the value on the chart or axis.
|
|
574
|
+
*/
|
|
575
|
+
Axis.prototype.toPixels = function (value, paneCoordinates) {
|
|
576
|
+
return this.translate(value, false, !this.horiz, null, true) +
|
|
577
|
+
(paneCoordinates ? 0 : this.pos);
|
|
578
|
+
};
|
|
579
|
+
/**
|
|
580
|
+
* Translate a pixel position along the axis to a value in terms of axis
|
|
581
|
+
* units.
|
|
582
|
+
*
|
|
583
|
+
* @function Highcharts.Axis#toValue
|
|
584
|
+
*
|
|
585
|
+
* @param {number} pixel
|
|
586
|
+
* The pixel value coordinate.
|
|
587
|
+
*
|
|
588
|
+
* @param {boolean} [paneCoordinates=false]
|
|
589
|
+
* Whether the input pixel is relative to the chart or just the axis/pane
|
|
590
|
+
* itself.
|
|
591
|
+
*
|
|
592
|
+
* @return {number}
|
|
593
|
+
* The axis value.
|
|
594
|
+
*/
|
|
595
|
+
Axis.prototype.toValue = function (pixel, paneCoordinates) {
|
|
596
|
+
return this.translate(pixel - (paneCoordinates ? 0 : this.pos), true, !this.horiz, null, true);
|
|
597
|
+
};
|
|
598
|
+
/**
|
|
599
|
+
* Create the path for a plot line that goes from the given value on
|
|
600
|
+
* this axis, across the plot to the opposite side. Also used internally for
|
|
601
|
+
* grid lines and crosshairs.
|
|
602
|
+
*
|
|
603
|
+
* @function Highcharts.Axis#getPlotLinePath
|
|
604
|
+
*
|
|
605
|
+
* @param {Highcharts.AxisPlotLinePathOptionsObject} options
|
|
606
|
+
* Options for the path.
|
|
607
|
+
*
|
|
608
|
+
* @return {Highcharts.SVGPathArray|null}
|
|
609
|
+
* The SVG path definition for the plot line.
|
|
610
|
+
*/
|
|
611
|
+
Axis.prototype.getPlotLinePath = function (options) {
|
|
612
|
+
var axis = this, chart = axis.chart, axisLeft = axis.left, axisTop = axis.top, old = options.old, value = options.value, lineWidth = options.lineWidth, cHeight = (old && chart.oldChartHeight) || chart.chartHeight, cWidth = (old && chart.oldChartWidth) || chart.chartWidth, transB = axis.transB;
|
|
613
|
+
var translatedValue = options.translatedValue, force = options.force, x1, y1, x2, y2, skip;
|
|
614
|
+
// eslint-disable-next-line valid-jsdoc
|
|
615
|
+
/**
|
|
616
|
+
* Check if x is between a and b. If not, either move to a/b
|
|
617
|
+
* or skip, depending on the force parameter.
|
|
618
|
+
* @private
|
|
619
|
+
*/
|
|
620
|
+
function between(x, a, b) {
|
|
621
|
+
if (force !== 'pass' && x < a || x > b) {
|
|
622
|
+
if (force) {
|
|
623
|
+
x = clamp(x, a, b);
|
|
624
|
+
}
|
|
625
|
+
else {
|
|
626
|
+
skip = true;
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
return x;
|
|
630
|
+
}
|
|
631
|
+
var evt = {
|
|
632
|
+
value: value,
|
|
633
|
+
lineWidth: lineWidth,
|
|
634
|
+
old: old,
|
|
635
|
+
force: force,
|
|
636
|
+
acrossPanes: options.acrossPanes,
|
|
637
|
+
translatedValue: translatedValue
|
|
638
|
+
};
|
|
639
|
+
fireEvent(this, 'getPlotLinePath', evt, function (e) {
|
|
640
|
+
translatedValue = pick(translatedValue, axis.translate(value, null, null, old));
|
|
641
|
+
// Keep the translated value within sane bounds, and avoid Infinity
|
|
642
|
+
// to fail the isNumber test (#7709).
|
|
643
|
+
translatedValue = clamp(translatedValue, -1e5, 1e5);
|
|
644
|
+
x1 = x2 = Math.round(translatedValue + transB);
|
|
645
|
+
y1 = y2 = Math.round(cHeight - translatedValue - transB);
|
|
646
|
+
if (!isNumber(translatedValue)) { // no min or max
|
|
647
|
+
skip = true;
|
|
648
|
+
force = false; // #7175, don't force it when path is invalid
|
|
649
|
+
}
|
|
650
|
+
else if (axis.horiz) {
|
|
651
|
+
y1 = axisTop;
|
|
652
|
+
y2 = cHeight - axis.bottom;
|
|
653
|
+
x1 = x2 = between(x1, axisLeft, axisLeft + axis.width);
|
|
654
|
+
}
|
|
655
|
+
else {
|
|
656
|
+
x1 = axisLeft;
|
|
657
|
+
x2 = cWidth - axis.right;
|
|
658
|
+
y1 = y2 = between(y1, axisTop, axisTop + axis.height);
|
|
659
|
+
}
|
|
660
|
+
e.path = skip && !force ?
|
|
661
|
+
null :
|
|
662
|
+
chart.renderer.crispLine([['M', x1, y1], ['L', x2, y2]], lineWidth || 1);
|
|
663
|
+
});
|
|
664
|
+
return evt.path;
|
|
665
|
+
};
|
|
666
|
+
/**
|
|
667
|
+
* Internal function to get the tick positions of a linear axis to round
|
|
668
|
+
* values like whole tens or every five.
|
|
669
|
+
*
|
|
670
|
+
* @function Highcharts.Axis#getLinearTickPositions
|
|
671
|
+
*
|
|
672
|
+
* @param {number} tickInterval
|
|
673
|
+
* The normalized tick interval.
|
|
674
|
+
*
|
|
675
|
+
* @param {number} min
|
|
676
|
+
* Axis minimum.
|
|
677
|
+
*
|
|
678
|
+
* @param {number} max
|
|
679
|
+
* Axis maximum.
|
|
680
|
+
*
|
|
681
|
+
* @return {Array<number>}
|
|
682
|
+
* An array of axis values where ticks should be placed.
|
|
683
|
+
*/
|
|
684
|
+
Axis.prototype.getLinearTickPositions = function (tickInterval, min, max) {
|
|
685
|
+
var roundedMin = correctFloat(Math.floor(min / tickInterval) * tickInterval), roundedMax = correctFloat(Math.ceil(max / tickInterval) * tickInterval), tickPositions = [];
|
|
686
|
+
var pos, lastPos, precision;
|
|
687
|
+
// When the precision is higher than what we filter out in
|
|
688
|
+
// correctFloat, skip it (#6183).
|
|
689
|
+
if (correctFloat(roundedMin + tickInterval) === roundedMin) {
|
|
690
|
+
precision = 20;
|
|
691
|
+
}
|
|
692
|
+
// For single points, add a tick regardless of the relative position
|
|
693
|
+
// (#2662, #6274)
|
|
694
|
+
if (this.single) {
|
|
695
|
+
return [min];
|
|
696
|
+
}
|
|
697
|
+
// Populate the intermediate values
|
|
698
|
+
pos = roundedMin;
|
|
699
|
+
while (pos <= roundedMax) {
|
|
700
|
+
// Place the tick on the rounded value
|
|
701
|
+
tickPositions.push(pos);
|
|
702
|
+
// Always add the raw tickInterval, not the corrected one.
|
|
703
|
+
pos = correctFloat(pos + tickInterval, precision);
|
|
704
|
+
// If the interval is not big enough in the current min - max range
|
|
705
|
+
// to actually increase the loop variable, we need to break out to
|
|
706
|
+
// prevent endless loop. Issue #619
|
|
707
|
+
if (pos === lastPos) {
|
|
708
|
+
break;
|
|
709
|
+
}
|
|
710
|
+
// Record the last value
|
|
711
|
+
lastPos = pos;
|
|
712
|
+
}
|
|
713
|
+
return tickPositions;
|
|
714
|
+
};
|
|
715
|
+
/**
|
|
716
|
+
* Resolve the new minorTicks/minorTickInterval options into the legacy
|
|
717
|
+
* loosely typed minorTickInterval option.
|
|
718
|
+
*
|
|
719
|
+
* @function Highcharts.Axis#getMinorTickInterval
|
|
720
|
+
*
|
|
721
|
+
* @return {number|"auto"|null}
|
|
722
|
+
* Legacy option
|
|
723
|
+
*/
|
|
724
|
+
Axis.prototype.getMinorTickInterval = function () {
|
|
725
|
+
var options = this.options;
|
|
726
|
+
if (options.minorTicks === true) {
|
|
727
|
+
return pick(options.minorTickInterval, 'auto');
|
|
728
|
+
}
|
|
729
|
+
if (options.minorTicks === false) {
|
|
730
|
+
return null;
|
|
731
|
+
}
|
|
732
|
+
return options.minorTickInterval;
|
|
733
|
+
};
|
|
734
|
+
/**
|
|
735
|
+
* Internal function to return the minor tick positions. For logarithmic
|
|
736
|
+
* axes, the same logic as for major ticks is reused.
|
|
737
|
+
*
|
|
738
|
+
* @function Highcharts.Axis#getMinorTickPositions
|
|
739
|
+
*
|
|
740
|
+
* @return {Array<number>}
|
|
741
|
+
* An array of axis values where ticks should be placed.
|
|
742
|
+
*/
|
|
743
|
+
Axis.prototype.getMinorTickPositions = function () {
|
|
744
|
+
var axis = this, options = axis.options, tickPositions = axis.tickPositions, minorTickInterval = axis.minorTickInterval, pointRangePadding = axis.pointRangePadding || 0, min = axis.min - pointRangePadding, // #1498
|
|
745
|
+
max = axis.max + pointRangePadding, // #1498
|
|
746
|
+
range = max - min;
|
|
747
|
+
var minorTickPositions = [], pos;
|
|
748
|
+
// If minor ticks get too dense, they are hard to read, and may cause
|
|
749
|
+
// long running script. So we don't draw them.
|
|
750
|
+
if (range && range / minorTickInterval < axis.len / 3) { // #3875
|
|
751
|
+
var logarithmic_1 = axis.logarithmic;
|
|
752
|
+
if (logarithmic_1) {
|
|
753
|
+
// For each interval in the major ticks, compute the minor ticks
|
|
754
|
+
// separately.
|
|
755
|
+
this.paddedTicks.forEach(function (_pos, i, paddedTicks) {
|
|
756
|
+
if (i) {
|
|
757
|
+
minorTickPositions.push.apply(minorTickPositions, logarithmic_1.getLogTickPositions(minorTickInterval, paddedTicks[i - 1], paddedTicks[i], true));
|
|
758
|
+
}
|
|
759
|
+
});
|
|
760
|
+
}
|
|
761
|
+
else if (axis.dateTime &&
|
|
762
|
+
this.getMinorTickInterval() === 'auto') { // #1314
|
|
763
|
+
minorTickPositions = minorTickPositions.concat(axis.getTimeTicks(axis.dateTime.normalizeTimeTickInterval(minorTickInterval), min, max, options.startOfWeek));
|
|
764
|
+
}
|
|
765
|
+
else {
|
|
766
|
+
for (pos = min + (tickPositions[0] - min) % minorTickInterval; pos <= max; pos += minorTickInterval) {
|
|
767
|
+
// Very, very, tight grid lines (#5771)
|
|
768
|
+
if (pos === minorTickPositions[0]) {
|
|
769
|
+
break;
|
|
770
|
+
}
|
|
771
|
+
minorTickPositions.push(pos);
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
if (minorTickPositions.length !== 0) {
|
|
776
|
+
axis.trimTicks(minorTickPositions); // #3652 #3743 #1498 #6330
|
|
777
|
+
}
|
|
778
|
+
return minorTickPositions;
|
|
779
|
+
};
|
|
780
|
+
/**
|
|
781
|
+
* Adjust the min and max for the minimum range. Keep in mind that the
|
|
782
|
+
* series data is not yet processed, so we don't have information on data
|
|
783
|
+
* cropping and grouping, or updated `axis.pointRange` or
|
|
784
|
+
* `series.pointRange`. The data can't be processed until we have finally
|
|
785
|
+
* established min and max.
|
|
786
|
+
*
|
|
787
|
+
* @private
|
|
788
|
+
* @function Highcharts.Axis#adjustForMinRange
|
|
789
|
+
*/
|
|
790
|
+
Axis.prototype.adjustForMinRange = function () {
|
|
791
|
+
var axis = this, options = axis.options, log = axis.logarithmic;
|
|
792
|
+
var min = axis.min, max = axis.max, zoomOffset, spaceAvailable, closestDataRange = 0, i, distance, xData, loopLength, minArgs, maxArgs, minRange;
|
|
793
|
+
// Set the automatic minimum range based on the closest point distance
|
|
794
|
+
if (axis.isXAxis &&
|
|
795
|
+
typeof axis.minRange === 'undefined' &&
|
|
796
|
+
!log) {
|
|
797
|
+
if (defined(options.min) ||
|
|
798
|
+
defined(options.max) ||
|
|
799
|
+
defined(options.floor) ||
|
|
800
|
+
defined(options.ceiling)) {
|
|
801
|
+
axis.minRange = null; // don't do this again
|
|
802
|
+
}
|
|
803
|
+
else {
|
|
804
|
+
// Find the closest distance between raw data points, as opposed
|
|
805
|
+
// to closestPointRange that applies to processed points
|
|
806
|
+
// (cropped and grouped)
|
|
807
|
+
axis.series.forEach(function (series) {
|
|
808
|
+
xData = series.xData;
|
|
809
|
+
loopLength = series.xIncrement ? 1 : xData.length - 1;
|
|
810
|
+
if (xData.length > 1) {
|
|
811
|
+
for (i = loopLength; i > 0; i--) {
|
|
812
|
+
distance = xData[i] - xData[i - 1];
|
|
813
|
+
if (!closestDataRange ||
|
|
814
|
+
distance < closestDataRange) {
|
|
815
|
+
closestDataRange = distance;
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
}
|
|
819
|
+
});
|
|
820
|
+
axis.minRange = Math.min(closestDataRange * 5, axis.dataMax - axis.dataMin);
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
// if minRange is exceeded, adjust
|
|
824
|
+
if (max - min < axis.minRange) {
|
|
825
|
+
spaceAvailable =
|
|
826
|
+
axis.dataMax - axis.dataMin >=
|
|
827
|
+
axis.minRange;
|
|
828
|
+
minRange = axis.minRange;
|
|
829
|
+
zoomOffset = (minRange - max + min) / 2;
|
|
830
|
+
// if min and max options have been set, don't go beyond it
|
|
831
|
+
minArgs = [
|
|
832
|
+
min - zoomOffset,
|
|
833
|
+
pick(options.min, min - zoomOffset)
|
|
834
|
+
];
|
|
835
|
+
// If space is available, stay within the data range
|
|
836
|
+
if (spaceAvailable) {
|
|
837
|
+
minArgs[2] = axis.logarithmic ?
|
|
838
|
+
axis.logarithmic.log2lin(axis.dataMin) :
|
|
839
|
+
axis.dataMin;
|
|
840
|
+
}
|
|
841
|
+
min = arrayMax(minArgs);
|
|
842
|
+
maxArgs = [
|
|
843
|
+
min + minRange,
|
|
844
|
+
pick(options.max, min + minRange)
|
|
845
|
+
];
|
|
846
|
+
// If space is availabe, stay within the data range
|
|
847
|
+
if (spaceAvailable) {
|
|
848
|
+
maxArgs[2] = log ?
|
|
849
|
+
log.log2lin(axis.dataMax) :
|
|
850
|
+
axis.dataMax;
|
|
851
|
+
}
|
|
852
|
+
max = arrayMin(maxArgs);
|
|
853
|
+
// now if the max is adjusted, adjust the min back
|
|
854
|
+
if (max - min < minRange) {
|
|
855
|
+
minArgs[0] = max - minRange;
|
|
856
|
+
minArgs[1] = pick(options.min, max - minRange);
|
|
857
|
+
min = arrayMax(minArgs);
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
// Record modified extremes
|
|
861
|
+
axis.min = min;
|
|
862
|
+
axis.max = max;
|
|
863
|
+
};
|
|
864
|
+
/**
|
|
865
|
+
* Find the closestPointRange across all series.
|
|
866
|
+
*
|
|
867
|
+
* @private
|
|
868
|
+
* @function Highcharts.Axis#getClosest
|
|
869
|
+
*/
|
|
870
|
+
Axis.prototype.getClosest = function () {
|
|
871
|
+
var ret;
|
|
872
|
+
if (this.categories) {
|
|
873
|
+
ret = 1;
|
|
874
|
+
}
|
|
875
|
+
else {
|
|
876
|
+
this.series.forEach(function (series) {
|
|
877
|
+
var seriesClosest = series.closestPointRange, visible = series.visible ||
|
|
878
|
+
!series.chart.options.chart.ignoreHiddenSeries;
|
|
879
|
+
if (!series.noSharedTooltip &&
|
|
880
|
+
defined(seriesClosest) &&
|
|
881
|
+
visible) {
|
|
882
|
+
ret = defined(ret) ?
|
|
883
|
+
Math.min(ret, seriesClosest) :
|
|
884
|
+
seriesClosest;
|
|
885
|
+
}
|
|
886
|
+
});
|
|
887
|
+
}
|
|
888
|
+
return ret;
|
|
889
|
+
};
|
|
890
|
+
/**
|
|
891
|
+
* When a point name is given and no x, search for the name in the existing
|
|
892
|
+
* categories, or if categories aren't provided, search names or create a
|
|
893
|
+
* new category (#2522).
|
|
894
|
+
*
|
|
895
|
+
* @private
|
|
896
|
+
* @function Highcharts.Axis#nameToX
|
|
897
|
+
*
|
|
898
|
+
* @param {Highcharts.Point} point
|
|
899
|
+
* The point to inspect.
|
|
900
|
+
*
|
|
901
|
+
* @return {number}
|
|
902
|
+
* The X value that the point is given.
|
|
903
|
+
*/
|
|
904
|
+
Axis.prototype.nameToX = function (point) {
|
|
905
|
+
var explicitCategories = isArray(this.categories), names = explicitCategories ? this.categories : this.names;
|
|
906
|
+
var nameX = point.options.x, x;
|
|
907
|
+
point.series.requireSorting = false;
|
|
908
|
+
if (!defined(nameX)) {
|
|
909
|
+
nameX = this.options.uniqueNames ?
|
|
910
|
+
(explicitCategories ?
|
|
911
|
+
names.indexOf(point.name) :
|
|
912
|
+
pick(names.keys[point.name], -1)) :
|
|
913
|
+
point.series.autoIncrement();
|
|
914
|
+
}
|
|
915
|
+
if (nameX === -1) { // Not found in currenct categories
|
|
916
|
+
if (!explicitCategories) {
|
|
917
|
+
x = names.length;
|
|
918
|
+
}
|
|
919
|
+
}
|
|
920
|
+
else {
|
|
921
|
+
x = nameX;
|
|
922
|
+
}
|
|
923
|
+
// Write the last point's name to the names array
|
|
924
|
+
if (typeof x !== 'undefined') {
|
|
925
|
+
this.names[x] = point.name;
|
|
926
|
+
// Backwards mapping is much faster than array searching (#7725)
|
|
927
|
+
this.names.keys[point.name] = x;
|
|
928
|
+
}
|
|
929
|
+
return x;
|
|
930
|
+
};
|
|
931
|
+
/**
|
|
932
|
+
* When changes have been done to series data, update the axis.names.
|
|
933
|
+
*
|
|
934
|
+
* @private
|
|
935
|
+
* @function Highcharts.Axis#updateNames
|
|
936
|
+
*/
|
|
937
|
+
Axis.prototype.updateNames = function () {
|
|
938
|
+
var axis = this, names = this.names, i = names.length;
|
|
939
|
+
if (i > 0) {
|
|
940
|
+
Object.keys(names.keys).forEach(function (key) {
|
|
941
|
+
delete (names.keys)[key];
|
|
942
|
+
});
|
|
943
|
+
names.length = 0;
|
|
944
|
+
this.minRange = this.userMinRange; // Reset
|
|
945
|
+
(this.series || []).forEach(function (series) {
|
|
946
|
+
// Reset incrementer (#5928)
|
|
947
|
+
series.xIncrement = null;
|
|
948
|
+
// When adding a series, points are not yet generated
|
|
949
|
+
if (!series.points || series.isDirtyData) {
|
|
950
|
+
// When we're updating the series with data that is longer
|
|
951
|
+
// than it was, and cropThreshold is passed, we need to make
|
|
952
|
+
// sure that the axis.max is increased _before_ running the
|
|
953
|
+
// premature processData. Otherwise this early iteration of
|
|
954
|
+
// processData will crop the points to axis.max, and the
|
|
955
|
+
// names array will be too short (#5857).
|
|
956
|
+
axis.max = Math.max(axis.max, series.xData.length - 1);
|
|
957
|
+
series.processData();
|
|
958
|
+
series.generatePoints();
|
|
959
|
+
}
|
|
960
|
+
series.data.forEach(function (point, i) {
|
|
961
|
+
var x;
|
|
962
|
+
if (point &&
|
|
963
|
+
point.options &&
|
|
964
|
+
typeof point.name !== 'undefined' // #9562
|
|
965
|
+
) {
|
|
966
|
+
x = axis.nameToX(point);
|
|
967
|
+
if (typeof x !== 'undefined' && x !== point.x) {
|
|
968
|
+
point.x = x;
|
|
969
|
+
series.xData[i] = x;
|
|
970
|
+
}
|
|
971
|
+
}
|
|
972
|
+
});
|
|
973
|
+
});
|
|
974
|
+
}
|
|
975
|
+
};
|
|
976
|
+
/**
|
|
977
|
+
* Update translation information.
|
|
978
|
+
*
|
|
979
|
+
* @private
|
|
980
|
+
* @function Highcharts.Axis#setAxisTranslation
|
|
981
|
+
*
|
|
982
|
+
* @emits Highcharts.Axis#event:afterSetAxisTranslation
|
|
983
|
+
*/
|
|
984
|
+
Axis.prototype.setAxisTranslation = function () {
|
|
985
|
+
var axis = this, range = axis.max - axis.min, linkedParent = axis.linkedParent, hasCategories = !!axis.categories, isXAxis = axis.isXAxis;
|
|
986
|
+
var pointRange = axis.axisPointRange || 0, closestPointRange, minPointOffset = 0, pointRangePadding = 0, ordinalCorrection, transA = axis.transA;
|
|
987
|
+
// Adjust translation for padding. Y axis with categories need to go
|
|
988
|
+
// through the same (#1784).
|
|
989
|
+
if (isXAxis || hasCategories || pointRange) {
|
|
990
|
+
// Get the closest points
|
|
991
|
+
closestPointRange = axis.getClosest();
|
|
992
|
+
if (linkedParent) {
|
|
993
|
+
minPointOffset = linkedParent.minPointOffset;
|
|
994
|
+
pointRangePadding = linkedParent.pointRangePadding;
|
|
995
|
+
}
|
|
996
|
+
else {
|
|
997
|
+
axis.series.forEach(function (series) {
|
|
998
|
+
var seriesPointRange = hasCategories ?
|
|
999
|
+
1 :
|
|
1000
|
+
(isXAxis ?
|
|
1001
|
+
pick(series.options.pointRange, closestPointRange, 0) :
|
|
1002
|
+
(axis.axisPointRange || 0)), // #2806
|
|
1003
|
+
pointPlacement = series.options.pointPlacement;
|
|
1004
|
+
pointRange = Math.max(pointRange, seriesPointRange);
|
|
1005
|
+
if (!axis.single || hasCategories) {
|
|
1006
|
+
// TODO: series should internally set x- and y-
|
|
1007
|
+
// pointPlacement to simplify this logic.
|
|
1008
|
+
var isPointPlacementAxis = series.is('xrange') ?
|
|
1009
|
+
!isXAxis :
|
|
1010
|
+
isXAxis;
|
|
1011
|
+
// minPointOffset is the value padding to the left of
|
|
1012
|
+
// the axis in order to make room for points with a
|
|
1013
|
+
// pointRange, typically columns. When the
|
|
1014
|
+
// pointPlacement option is 'between' or 'on', this
|
|
1015
|
+
// padding does not apply.
|
|
1016
|
+
minPointOffset = Math.max(minPointOffset, isPointPlacementAxis && isString(pointPlacement) ?
|
|
1017
|
+
0 :
|
|
1018
|
+
seriesPointRange / 2);
|
|
1019
|
+
// Determine the total padding needed to the length of
|
|
1020
|
+
// the axis to make room for the pointRange. If the
|
|
1021
|
+
// series' pointPlacement is 'on', no padding is added.
|
|
1022
|
+
pointRangePadding = Math.max(pointRangePadding, isPointPlacementAxis && pointPlacement === 'on' ?
|
|
1023
|
+
0 :
|
|
1024
|
+
seriesPointRange);
|
|
1025
|
+
}
|
|
1026
|
+
});
|
|
1027
|
+
}
|
|
1028
|
+
// Record minPointOffset and pointRangePadding
|
|
1029
|
+
ordinalCorrection = (axis.ordinal && axis.ordinal.slope && closestPointRange) ?
|
|
1030
|
+
axis.ordinal.slope / closestPointRange :
|
|
1031
|
+
1; // #988, #1853
|
|
1032
|
+
axis.minPointOffset = minPointOffset =
|
|
1033
|
+
minPointOffset * ordinalCorrection;
|
|
1034
|
+
axis.pointRangePadding =
|
|
1035
|
+
pointRangePadding = pointRangePadding * ordinalCorrection;
|
|
1036
|
+
// pointRange means the width reserved for each point, like in a
|
|
1037
|
+
// column chart
|
|
1038
|
+
axis.pointRange = Math.min(pointRange, axis.single && hasCategories ? 1 : range);
|
|
1039
|
+
// closestPointRange means the closest distance between points. In
|
|
1040
|
+
// columns it is mostly equal to pointRange, but in lines pointRange
|
|
1041
|
+
// is 0 while closestPointRange is some other value
|
|
1042
|
+
if (isXAxis) {
|
|
1043
|
+
axis.closestPointRange = closestPointRange;
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
// Secondary values
|
|
1047
|
+
axis.translationSlope = axis.transA = transA =
|
|
1048
|
+
axis.staticScale ||
|
|
1049
|
+
axis.len / ((range + pointRangePadding) || 1);
|
|
1050
|
+
// Translation addend
|
|
1051
|
+
axis.transB = axis.horiz ? axis.left : axis.bottom;
|
|
1052
|
+
axis.minPixelPadding = transA * minPointOffset;
|
|
1053
|
+
fireEvent(this, 'afterSetAxisTranslation');
|
|
1054
|
+
};
|
|
1055
|
+
/**
|
|
1056
|
+
* @private
|
|
1057
|
+
* @function Highcharts.Axis#minFromRange
|
|
1058
|
+
*/
|
|
1059
|
+
Axis.prototype.minFromRange = function () {
|
|
1060
|
+
var axis = this;
|
|
1061
|
+
return axis.max - axis.range;
|
|
1062
|
+
};
|
|
1063
|
+
/**
|
|
1064
|
+
* Set the tick positions to round values and optionally extend the extremes
|
|
1065
|
+
* to the nearest tick.
|
|
1066
|
+
*
|
|
1067
|
+
* @private
|
|
1068
|
+
* @function Highcharts.Axis#setTickInterval
|
|
1069
|
+
*
|
|
1070
|
+
* @param {boolean} secondPass
|
|
1071
|
+
* TO-DO: parameter description
|
|
1072
|
+
*
|
|
1073
|
+
* @emits Highcharts.Axis#event:foundExtremes
|
|
1074
|
+
*/
|
|
1075
|
+
Axis.prototype.setTickInterval = function (secondPass) {
|
|
1076
|
+
var axis = this, chart = axis.chart, log = axis.logarithmic, options = axis.options, isXAxis = axis.isXAxis, isLinked = axis.isLinked, tickPixelIntervalOption = options.tickPixelInterval, categories = axis.categories, softThreshold = axis.softThreshold;
|
|
1077
|
+
var maxPadding = options.maxPadding, minPadding = options.minPadding, length, linkedParentExtremes,
|
|
1078
|
+
// Only non-negative tickInterval is valid, #12961
|
|
1079
|
+
tickIntervalOption = isNumber(options.tickInterval) && options.tickInterval >= 0 ?
|
|
1080
|
+
options.tickInterval : void 0, threshold = isNumber(axis.threshold) ? axis.threshold : null, thresholdMin, thresholdMax, hardMin, hardMax;
|
|
1081
|
+
if (!axis.dateTime && !categories && !isLinked) {
|
|
1082
|
+
this.getTickAmount();
|
|
1083
|
+
}
|
|
1084
|
+
// Min or max set either by zooming/setExtremes or initial options
|
|
1085
|
+
hardMin = pick(axis.userMin, options.min);
|
|
1086
|
+
hardMax = pick(axis.userMax, options.max);
|
|
1087
|
+
// Linked axis gets the extremes from the parent axis
|
|
1088
|
+
if (isLinked) {
|
|
1089
|
+
axis.linkedParent = chart[axis.coll][options.linkedTo];
|
|
1090
|
+
linkedParentExtremes = axis.linkedParent.getExtremes();
|
|
1091
|
+
axis.min = pick(linkedParentExtremes.min, linkedParentExtremes.dataMin);
|
|
1092
|
+
axis.max = pick(linkedParentExtremes.max, linkedParentExtremes.dataMax);
|
|
1093
|
+
if (options.type !== axis.linkedParent.options.type) {
|
|
1094
|
+
// Can't link axes of different type
|
|
1095
|
+
error(11, 1, chart);
|
|
1096
|
+
}
|
|
1097
|
+
// Initial min and max from the extreme data values
|
|
1098
|
+
}
|
|
1099
|
+
else {
|
|
1100
|
+
// Adjust to hard threshold
|
|
1101
|
+
if (softThreshold && defined(threshold)) {
|
|
1102
|
+
if (axis.dataMin >= threshold) {
|
|
1103
|
+
thresholdMin = threshold;
|
|
1104
|
+
minPadding = 0;
|
|
1105
|
+
}
|
|
1106
|
+
else if (axis.dataMax <= threshold) {
|
|
1107
|
+
thresholdMax = threshold;
|
|
1108
|
+
maxPadding = 0;
|
|
1109
|
+
}
|
|
1110
|
+
}
|
|
1111
|
+
axis.min = pick(hardMin, thresholdMin, axis.dataMin);
|
|
1112
|
+
axis.max = pick(hardMax, thresholdMax, axis.dataMax);
|
|
1113
|
+
}
|
|
1114
|
+
if (log) {
|
|
1115
|
+
if (axis.positiveValuesOnly &&
|
|
1116
|
+
!secondPass &&
|
|
1117
|
+
Math.min(axis.min, pick(axis.dataMin, axis.min)) <= 0) { // #978
|
|
1118
|
+
// Can't plot negative values on log axis
|
|
1119
|
+
error(10, 1, chart);
|
|
1120
|
+
}
|
|
1121
|
+
// The correctFloat cures #934, float errors on full tens. But it
|
|
1122
|
+
// was too aggressive for #4360 because of conversion back to lin,
|
|
1123
|
+
// therefore use precision 15.
|
|
1124
|
+
axis.min = correctFloat(log.log2lin(axis.min), 16);
|
|
1125
|
+
axis.max = correctFloat(log.log2lin(axis.max), 16);
|
|
1126
|
+
}
|
|
1127
|
+
// handle zoomed range
|
|
1128
|
+
if (axis.range && defined(axis.max)) {
|
|
1129
|
+
// #618, #6773:
|
|
1130
|
+
axis.userMin = axis.min = hardMin =
|
|
1131
|
+
Math.max(axis.dataMin, axis.minFromRange());
|
|
1132
|
+
axis.userMax = hardMax = axis.max;
|
|
1133
|
+
axis.range = null; // don't use it when running setExtremes
|
|
1134
|
+
}
|
|
1135
|
+
// Hook for Highcharts Stock Scroller.
|
|
1136
|
+
// Consider combining with beforePadding.
|
|
1137
|
+
fireEvent(axis, 'foundExtremes');
|
|
1138
|
+
// Hook for adjusting this.min and this.max. Used by bubble series.
|
|
1139
|
+
if (axis.beforePadding) {
|
|
1140
|
+
axis.beforePadding();
|
|
1141
|
+
}
|
|
1142
|
+
// adjust min and max for the minimum range
|
|
1143
|
+
axis.adjustForMinRange();
|
|
1144
|
+
// Pad the values to get clear of the chart's edges. To avoid
|
|
1145
|
+
// tickInterval taking the padding into account, we do this after
|
|
1146
|
+
// computing tick interval (#1337).
|
|
1147
|
+
if (!categories &&
|
|
1148
|
+
!axis.axisPointRange &&
|
|
1149
|
+
!(axis.stacking && axis.stacking.usePercentage) &&
|
|
1150
|
+
!isLinked &&
|
|
1151
|
+
defined(axis.min) &&
|
|
1152
|
+
defined(axis.max)) {
|
|
1153
|
+
length = axis.max - axis.min;
|
|
1154
|
+
if (length) {
|
|
1155
|
+
if (!defined(hardMin) && minPadding) {
|
|
1156
|
+
axis.min -= length * minPadding;
|
|
1157
|
+
}
|
|
1158
|
+
if (!defined(hardMax) && maxPadding) {
|
|
1159
|
+
axis.max += length * maxPadding;
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
}
|
|
1163
|
+
// Handle options for floor, ceiling, softMin and softMax (#6359)
|
|
1164
|
+
if (!isNumber(axis.userMin)) {
|
|
1165
|
+
if (isNumber(options.softMin) && options.softMin < axis.min) {
|
|
1166
|
+
axis.min = hardMin = options.softMin; // #6894
|
|
1167
|
+
}
|
|
1168
|
+
if (isNumber(options.floor)) {
|
|
1169
|
+
axis.min = Math.max(axis.min, options.floor);
|
|
1170
|
+
}
|
|
1171
|
+
}
|
|
1172
|
+
if (!isNumber(axis.userMax)) {
|
|
1173
|
+
if (isNumber(options.softMax) && options.softMax > axis.max) {
|
|
1174
|
+
axis.max = hardMax = options.softMax; // #6894
|
|
1175
|
+
}
|
|
1176
|
+
if (isNumber(options.ceiling)) {
|
|
1177
|
+
axis.max = Math.min(axis.max, options.ceiling);
|
|
1178
|
+
}
|
|
1179
|
+
}
|
|
1180
|
+
// When the threshold is soft, adjust the extreme value only if the data
|
|
1181
|
+
// extreme and the padded extreme land on either side of the threshold.
|
|
1182
|
+
// For example, a series of [0, 1, 2, 3] would make the yAxis add a tick
|
|
1183
|
+
// for -1 because of the default minPadding and startOnTick options.
|
|
1184
|
+
// This is prevented by the softThreshold option.
|
|
1185
|
+
if (softThreshold && defined(axis.dataMin)) {
|
|
1186
|
+
threshold = threshold || 0;
|
|
1187
|
+
if (!defined(hardMin) &&
|
|
1188
|
+
axis.min < threshold &&
|
|
1189
|
+
axis.dataMin >= threshold) {
|
|
1190
|
+
axis.min = axis.options.minRange ?
|
|
1191
|
+
Math.min(threshold, axis.max -
|
|
1192
|
+
axis.minRange) :
|
|
1193
|
+
threshold;
|
|
1194
|
+
}
|
|
1195
|
+
else if (!defined(hardMax) &&
|
|
1196
|
+
axis.max > threshold &&
|
|
1197
|
+
axis.dataMax <= threshold) {
|
|
1198
|
+
axis.max = axis.options.minRange ?
|
|
1199
|
+
Math.max(threshold, axis.min +
|
|
1200
|
+
axis.minRange) :
|
|
1201
|
+
threshold;
|
|
1202
|
+
}
|
|
1203
|
+
}
|
|
1204
|
+
// If min is bigger than highest, or if max less than lowest value, the
|
|
1205
|
+
// chart should not render points. (#14417)
|
|
1206
|
+
if (isNumber(axis.min) &&
|
|
1207
|
+
isNumber(axis.max) &&
|
|
1208
|
+
!this.chart.polar &&
|
|
1209
|
+
(axis.min > axis.max)) {
|
|
1210
|
+
if (defined(axis.options.min)) {
|
|
1211
|
+
axis.max = axis.min;
|
|
1212
|
+
}
|
|
1213
|
+
else if (defined(axis.options.max)) {
|
|
1214
|
+
axis.min = axis.max;
|
|
1215
|
+
}
|
|
1216
|
+
}
|
|
1217
|
+
// get tickInterval
|
|
1218
|
+
if (axis.min === axis.max ||
|
|
1219
|
+
typeof axis.min === 'undefined' ||
|
|
1220
|
+
typeof axis.max === 'undefined') {
|
|
1221
|
+
axis.tickInterval = 1;
|
|
1222
|
+
}
|
|
1223
|
+
else if (isLinked &&
|
|
1224
|
+
axis.linkedParent &&
|
|
1225
|
+
!tickIntervalOption &&
|
|
1226
|
+
tickPixelIntervalOption ===
|
|
1227
|
+
axis.linkedParent.options.tickPixelInterval) {
|
|
1228
|
+
axis.tickInterval = tickIntervalOption =
|
|
1229
|
+
axis.linkedParent.tickInterval;
|
|
1230
|
+
}
|
|
1231
|
+
else {
|
|
1232
|
+
axis.tickInterval = pick(tickIntervalOption, this.tickAmount ?
|
|
1233
|
+
((axis.max - axis.min) /
|
|
1234
|
+
Math.max(this.tickAmount - 1, 1)) :
|
|
1235
|
+
void 0,
|
|
1236
|
+
// For categoried axis, 1 is default, for linear axis use
|
|
1237
|
+
// tickPix
|
|
1238
|
+
categories ?
|
|
1239
|
+
1 :
|
|
1240
|
+
// don't let it be more than the data range
|
|
1241
|
+
(axis.max - axis.min) *
|
|
1242
|
+
tickPixelIntervalOption /
|
|
1243
|
+
Math.max(axis.len, tickPixelIntervalOption));
|
|
1244
|
+
}
|
|
1245
|
+
// Now we're finished detecting min and max, crop and group series data.
|
|
1246
|
+
// This is in turn needed in order to find tick positions in ordinal
|
|
1247
|
+
// axes.
|
|
1248
|
+
if (isXAxis && !secondPass) {
|
|
1249
|
+
var hasExtemesChanged_1 = axis.min !== (axis.old && axis.old.min) ||
|
|
1250
|
+
axis.max !== (axis.old && axis.old.max);
|
|
1251
|
+
// First process all series assigned to that axis.
|
|
1252
|
+
axis.series.forEach(function (series) {
|
|
1253
|
+
// Allows filtering out points outside the plot area.
|
|
1254
|
+
series.forceCrop = (series.forceCropping &&
|
|
1255
|
+
series.forceCropping());
|
|
1256
|
+
series.processData(hasExtemesChanged_1);
|
|
1257
|
+
});
|
|
1258
|
+
// Then apply grouping if needed. The hasExtemesChanged helps to
|
|
1259
|
+
// decide if the data grouping should be skipped in the further
|
|
1260
|
+
// calculations #16319.
|
|
1261
|
+
fireEvent(this, 'postProcessData', { hasExtemesChanged: hasExtemesChanged_1 });
|
|
1262
|
+
}
|
|
1263
|
+
// set the translation factor used in translate function
|
|
1264
|
+
axis.setAxisTranslation();
|
|
1265
|
+
// hook for ordinal axes and radial axes
|
|
1266
|
+
fireEvent(this, 'initialAxisTranslation');
|
|
1267
|
+
// In column-like charts, don't cramp in more ticks than there are
|
|
1268
|
+
// points (#1943, #4184)
|
|
1269
|
+
if (axis.pointRange && !tickIntervalOption) {
|
|
1270
|
+
axis.tickInterval = Math.max(axis.pointRange, axis.tickInterval);
|
|
1271
|
+
}
|
|
1272
|
+
// Before normalizing the tick interval, handle minimum tick interval.
|
|
1273
|
+
// This applies only if tickInterval is not defined.
|
|
1274
|
+
var minTickInterval = pick(options.minTickInterval,
|
|
1275
|
+
// In datetime axes, don't go below the data interval, except when
|
|
1276
|
+
// there are scatter-like series involved (#13369).
|
|
1277
|
+
axis.dateTime &&
|
|
1278
|
+
!axis.series.some(function (s) { return s.noSharedTooltip; }) ?
|
|
1279
|
+
axis.closestPointRange : 0);
|
|
1280
|
+
if (!tickIntervalOption && axis.tickInterval < minTickInterval) {
|
|
1281
|
+
axis.tickInterval = minTickInterval;
|
|
1282
|
+
}
|
|
1283
|
+
// for linear axes, get magnitude and normalize the interval
|
|
1284
|
+
if (!axis.dateTime && !axis.logarithmic && !tickIntervalOption) {
|
|
1285
|
+
axis.tickInterval = normalizeTickInterval(axis.tickInterval, void 0, getMagnitude(axis.tickInterval), pick(options.allowDecimals,
|
|
1286
|
+
// If the tick interval is greather than 0.5, avoid
|
|
1287
|
+
// decimals, as linear axes are often used to render
|
|
1288
|
+
// discrete values. #3363. If a tick amount is set, allow
|
|
1289
|
+
// decimals by default, as it increases the chances for a
|
|
1290
|
+
// good fit.
|
|
1291
|
+
axis.tickInterval < 0.5 || this.tickAmount !== void 0), !!this.tickAmount);
|
|
1292
|
+
}
|
|
1293
|
+
// Prevent ticks from getting so close that we can't draw the labels
|
|
1294
|
+
if (!this.tickAmount) {
|
|
1295
|
+
axis.tickInterval = axis.unsquish();
|
|
1296
|
+
}
|
|
1297
|
+
this.setTickPositions();
|
|
1298
|
+
};
|
|
1299
|
+
/**
|
|
1300
|
+
* Now we have computed the normalized tickInterval, get the tick positions.
|
|
1301
|
+
*
|
|
1302
|
+
* @private
|
|
1303
|
+
* @function Highcharts.Axis#setTickPositions
|
|
1304
|
+
*
|
|
1305
|
+
* @emits Highcharts.Axis#event:afterSetTickPositions
|
|
1306
|
+
*/
|
|
1307
|
+
Axis.prototype.setTickPositions = function () {
|
|
1308
|
+
var axis = this, options = this.options, tickPositionsOption = options.tickPositions, minorTickIntervalOption = this.getMinorTickInterval(), hasVerticalPanning = this.hasVerticalPanning(), isColorAxis = this.coll === 'colorAxis', startOnTick = ((isColorAxis || !hasVerticalPanning) && options.startOnTick), endOnTick = ((isColorAxis || !hasVerticalPanning) && options.endOnTick);
|
|
1309
|
+
var tickPositions, tickPositioner = options.tickPositioner;
|
|
1310
|
+
// Set the tickmarkOffset
|
|
1311
|
+
this.tickmarkOffset = (this.categories &&
|
|
1312
|
+
options.tickmarkPlacement === 'between' &&
|
|
1313
|
+
this.tickInterval === 1) ? 0.5 : 0; // #3202
|
|
1314
|
+
// get minorTickInterval
|
|
1315
|
+
this.minorTickInterval =
|
|
1316
|
+
minorTickIntervalOption === 'auto' &&
|
|
1317
|
+
this.tickInterval ?
|
|
1318
|
+
this.tickInterval / 5 :
|
|
1319
|
+
minorTickIntervalOption;
|
|
1320
|
+
// When there is only one point, or all points have the same value on
|
|
1321
|
+
// this axis, then min and max are equal and tickPositions.length is 0
|
|
1322
|
+
// or 1. In this case, add some padding in order to center the point,
|
|
1323
|
+
// but leave it with one tick. #1337.
|
|
1324
|
+
this.single =
|
|
1325
|
+
this.min === this.max &&
|
|
1326
|
+
defined(this.min) &&
|
|
1327
|
+
!this.tickAmount &&
|
|
1328
|
+
(
|
|
1329
|
+
// Data is on integer (#6563)
|
|
1330
|
+
parseInt(this.min, 10) === this.min ||
|
|
1331
|
+
// Between integers and decimals are not allowed (#6274)
|
|
1332
|
+
options.allowDecimals !== false);
|
|
1333
|
+
/**
|
|
1334
|
+
* Contains the current positions that are laid out on the axis. The
|
|
1335
|
+
* positions are numbers in terms of axis values. In a category axis
|
|
1336
|
+
* they are integers, in a datetime axis they are also integers, but
|
|
1337
|
+
* designating milliseconds.
|
|
1338
|
+
*
|
|
1339
|
+
* This property is read only - for modifying the tick positions, use
|
|
1340
|
+
* the `tickPositioner` callback or [axis.tickPositions(
|
|
1341
|
+
* https://api.highcharts.com/highcharts/xAxis.tickPositions) option
|
|
1342
|
+
* instead.
|
|
1343
|
+
*
|
|
1344
|
+
* @name Highcharts.Axis#tickPositions
|
|
1345
|
+
* @type {Highcharts.AxisTickPositionsArray|undefined}
|
|
1346
|
+
*/
|
|
1347
|
+
this.tickPositions =
|
|
1348
|
+
// Find the tick positions. Work on a copy (#1565)
|
|
1349
|
+
tickPositions =
|
|
1350
|
+
(tickPositionsOption && tickPositionsOption.slice());
|
|
1351
|
+
if (!tickPositions) {
|
|
1352
|
+
// Too many ticks (#6405). Create a friendly warning and provide two
|
|
1353
|
+
// ticks so at least we can show the data series.
|
|
1354
|
+
if ((!axis.ordinal || !axis.ordinal.positions) &&
|
|
1355
|
+
((this.max - this.min) /
|
|
1356
|
+
this.tickInterval >
|
|
1357
|
+
Math.max(2 * this.len, 200))) {
|
|
1358
|
+
tickPositions = [this.min, this.max];
|
|
1359
|
+
error(19, false, this.chart);
|
|
1360
|
+
}
|
|
1361
|
+
else if (axis.dateTime) {
|
|
1362
|
+
tickPositions = axis.getTimeTicks(axis.dateTime.normalizeTimeTickInterval(this.tickInterval, options.units), this.min, this.max, options.startOfWeek, axis.ordinal && axis.ordinal.positions, this.closestPointRange, true);
|
|
1363
|
+
}
|
|
1364
|
+
else if (axis.logarithmic) {
|
|
1365
|
+
tickPositions = axis.logarithmic.getLogTickPositions(this.tickInterval, this.min, this.max);
|
|
1366
|
+
}
|
|
1367
|
+
else {
|
|
1368
|
+
tickPositions = this.getLinearTickPositions(this.tickInterval, this.min, this.max);
|
|
1369
|
+
}
|
|
1370
|
+
// Too dense ticks, keep only the first and last (#4477)
|
|
1371
|
+
if (tickPositions.length > this.len) {
|
|
1372
|
+
tickPositions = [tickPositions[0], tickPositions.pop()];
|
|
1373
|
+
// Reduce doubled value (#7339)
|
|
1374
|
+
if (tickPositions[0] === tickPositions[1]) {
|
|
1375
|
+
tickPositions.length = 1;
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
this.tickPositions = tickPositions;
|
|
1379
|
+
// Run the tick positioner callback, that allows modifying auto tick
|
|
1380
|
+
// positions.
|
|
1381
|
+
if (tickPositioner) {
|
|
1382
|
+
tickPositioner = tickPositioner.apply(axis, [this.min, this.max]);
|
|
1383
|
+
if (tickPositioner) {
|
|
1384
|
+
this.tickPositions = tickPositions = tickPositioner;
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1387
|
+
}
|
|
1388
|
+
// Reset min/max or remove extremes based on start/end on tick
|
|
1389
|
+
this.paddedTicks = tickPositions.slice(0); // Used for logarithmic minor
|
|
1390
|
+
this.trimTicks(tickPositions, startOnTick, endOnTick);
|
|
1391
|
+
if (!this.isLinked) {
|
|
1392
|
+
// Substract half a unit (#2619, #2846, #2515, #3390),
|
|
1393
|
+
// but not in case of multiple ticks (#6897)
|
|
1394
|
+
if (this.single &&
|
|
1395
|
+
tickPositions.length < 2 &&
|
|
1396
|
+
!this.categories &&
|
|
1397
|
+
!this.series.some(function (s) {
|
|
1398
|
+
return (s.is('heatmap') && s.options.pointPlacement === 'between');
|
|
1399
|
+
})) {
|
|
1400
|
+
this.min -= 0.5;
|
|
1401
|
+
this.max += 0.5;
|
|
1402
|
+
}
|
|
1403
|
+
if (!tickPositionsOption && !tickPositioner) {
|
|
1404
|
+
this.adjustTickAmount();
|
|
1405
|
+
}
|
|
1406
|
+
}
|
|
1407
|
+
fireEvent(this, 'afterSetTickPositions');
|
|
1408
|
+
};
|
|
1409
|
+
/**
|
|
1410
|
+
* Handle startOnTick and endOnTick by either adapting to padding min/max or
|
|
1411
|
+
* rounded min/max. Also handle single data points.
|
|
1412
|
+
*
|
|
1413
|
+
* @private
|
|
1414
|
+
* @function Highcharts.Axis#trimTicks
|
|
1415
|
+
*
|
|
1416
|
+
* @param {Array<number>} tickPositions
|
|
1417
|
+
* TO-DO: parameter description
|
|
1418
|
+
*
|
|
1419
|
+
* @param {boolean} [startOnTick]
|
|
1420
|
+
* TO-DO: parameter description
|
|
1421
|
+
*
|
|
1422
|
+
* @param {boolean} [endOnTick]
|
|
1423
|
+
* TO-DO: parameter description
|
|
1424
|
+
*/
|
|
1425
|
+
Axis.prototype.trimTicks = function (tickPositions, startOnTick, endOnTick) {
|
|
1426
|
+
var roundedMin = tickPositions[0], roundedMax = tickPositions[tickPositions.length - 1], minPointOffset = (!this.isOrdinal && this.minPointOffset) || 0; // (#12716)
|
|
1427
|
+
fireEvent(this, 'trimTicks');
|
|
1428
|
+
if (!this.isLinked) {
|
|
1429
|
+
if (startOnTick && roundedMin !== -Infinity) { // #6502
|
|
1430
|
+
this.min = roundedMin;
|
|
1431
|
+
}
|
|
1432
|
+
else {
|
|
1433
|
+
while (this.min - minPointOffset > tickPositions[0]) {
|
|
1434
|
+
tickPositions.shift();
|
|
1435
|
+
}
|
|
1436
|
+
}
|
|
1437
|
+
if (endOnTick) {
|
|
1438
|
+
this.max = roundedMax;
|
|
1439
|
+
}
|
|
1440
|
+
else {
|
|
1441
|
+
while (this.max + minPointOffset <
|
|
1442
|
+
tickPositions[tickPositions.length - 1]) {
|
|
1443
|
+
tickPositions.pop();
|
|
1444
|
+
}
|
|
1445
|
+
}
|
|
1446
|
+
// If no tick are left, set one tick in the middle (#3195)
|
|
1447
|
+
if (tickPositions.length === 0 &&
|
|
1448
|
+
defined(roundedMin) &&
|
|
1449
|
+
!this.options.tickPositions) {
|
|
1450
|
+
tickPositions.push((roundedMax + roundedMin) / 2);
|
|
1451
|
+
}
|
|
1452
|
+
}
|
|
1453
|
+
};
|
|
1454
|
+
/**
|
|
1455
|
+
* Check if there are multiple axes in the same pane.
|
|
1456
|
+
*
|
|
1457
|
+
* @private
|
|
1458
|
+
* @function Highcharts.Axis#alignToOthers
|
|
1459
|
+
*
|
|
1460
|
+
* @return {boolean|undefined}
|
|
1461
|
+
* True if there are other axes.
|
|
1462
|
+
*/
|
|
1463
|
+
Axis.prototype.alignToOthers = function () {
|
|
1464
|
+
var axis = this, others = // Whether there is another axis to pair with this one
|
|
1465
|
+
{}, options = axis.options;
|
|
1466
|
+
var hasOther;
|
|
1467
|
+
if (
|
|
1468
|
+
// Only if alignTicks is true
|
|
1469
|
+
this.chart.options.chart.alignTicks !== false &&
|
|
1470
|
+
options.alignTicks &&
|
|
1471
|
+
// Disabled when startOnTick or endOnTick are false (#7604)
|
|
1472
|
+
options.startOnTick !== false &&
|
|
1473
|
+
options.endOnTick !== false &&
|
|
1474
|
+
// Don't try to align ticks on a log axis, they are not evenly
|
|
1475
|
+
// spaced (#6021)
|
|
1476
|
+
!axis.logarithmic) {
|
|
1477
|
+
this.chart[this.coll].forEach(function (axis) {
|
|
1478
|
+
var otherOptions = axis.options, horiz = axis.horiz, key = [
|
|
1479
|
+
horiz ? otherOptions.left : otherOptions.top,
|
|
1480
|
+
otherOptions.width,
|
|
1481
|
+
otherOptions.height,
|
|
1482
|
+
otherOptions.pane
|
|
1483
|
+
].join(',');
|
|
1484
|
+
if (axis.series.length) { // #4442
|
|
1485
|
+
if (others[key]) {
|
|
1486
|
+
hasOther = true; // #4201
|
|
1487
|
+
}
|
|
1488
|
+
else {
|
|
1489
|
+
others[key] = 1;
|
|
1490
|
+
}
|
|
1491
|
+
}
|
|
1492
|
+
});
|
|
1493
|
+
}
|
|
1494
|
+
return hasOther;
|
|
1495
|
+
};
|
|
1496
|
+
/**
|
|
1497
|
+
* Find the max ticks of either the x and y axis collection, and record it
|
|
1498
|
+
* in `this.tickAmount`.
|
|
1499
|
+
*
|
|
1500
|
+
* @private
|
|
1501
|
+
* @function Highcharts.Axis#getTickAmount
|
|
1502
|
+
*/
|
|
1503
|
+
Axis.prototype.getTickAmount = function () {
|
|
1504
|
+
var axis = this, options = this.options, tickPixelInterval = options.tickPixelInterval;
|
|
1505
|
+
var tickAmount = options.tickAmount;
|
|
1506
|
+
if (!defined(options.tickInterval) &&
|
|
1507
|
+
!tickAmount &&
|
|
1508
|
+
this.len < tickPixelInterval &&
|
|
1509
|
+
!this.isRadial &&
|
|
1510
|
+
!axis.logarithmic &&
|
|
1511
|
+
options.startOnTick &&
|
|
1512
|
+
options.endOnTick) {
|
|
1513
|
+
tickAmount = 2;
|
|
1514
|
+
}
|
|
1515
|
+
if (!tickAmount && this.alignToOthers()) {
|
|
1516
|
+
// Add 1 because 4 tick intervals require 5 ticks (including first
|
|
1517
|
+
// and last)
|
|
1518
|
+
tickAmount = Math.ceil(this.len / tickPixelInterval) + 1;
|
|
1519
|
+
}
|
|
1520
|
+
// For tick amounts of 2 and 3, compute five ticks and remove the
|
|
1521
|
+
// intermediate ones. This prevents the axis from adding ticks that are
|
|
1522
|
+
// too far away from the data extremes.
|
|
1523
|
+
if (tickAmount < 4) {
|
|
1524
|
+
this.finalTickAmt = tickAmount;
|
|
1525
|
+
tickAmount = 5;
|
|
1526
|
+
}
|
|
1527
|
+
this.tickAmount = tickAmount;
|
|
1528
|
+
};
|
|
1529
|
+
/**
|
|
1530
|
+
* When using multiple axes, adjust the number of ticks to match the highest
|
|
1531
|
+
* number of ticks in that group.
|
|
1532
|
+
*
|
|
1533
|
+
* @private
|
|
1534
|
+
* @function Highcharts.Axis#adjustTickAmount
|
|
1535
|
+
*/
|
|
1536
|
+
Axis.prototype.adjustTickAmount = function () {
|
|
1537
|
+
var axis = this, axisOptions = axis.options, tickInterval = axis.tickInterval, tickPositions = axis.tickPositions, tickAmount = axis.tickAmount, finalTickAmt = axis.finalTickAmt, currentTickAmount = tickPositions && tickPositions.length, threshold = pick(axis.threshold, axis.softThreshold ? 0 : null);
|
|
1538
|
+
var len, i;
|
|
1539
|
+
if (axis.hasData() &&
|
|
1540
|
+
isNumber(axis.min) &&
|
|
1541
|
+
isNumber(axis.max)) { // #14769
|
|
1542
|
+
if (currentTickAmount < tickAmount) {
|
|
1543
|
+
while (tickPositions.length < tickAmount) {
|
|
1544
|
+
// Extend evenly for both sides unless we're on the
|
|
1545
|
+
// threshold (#3965)
|
|
1546
|
+
if (tickPositions.length % 2 ||
|
|
1547
|
+
axis.min === threshold) {
|
|
1548
|
+
// to the end
|
|
1549
|
+
tickPositions.push(correctFloat(tickPositions[tickPositions.length - 1] +
|
|
1550
|
+
tickInterval));
|
|
1551
|
+
}
|
|
1552
|
+
else {
|
|
1553
|
+
// to the start
|
|
1554
|
+
tickPositions.unshift(correctFloat(tickPositions[0] - tickInterval));
|
|
1555
|
+
}
|
|
1556
|
+
}
|
|
1557
|
+
axis.transA *= (currentTickAmount - 1) / (tickAmount - 1);
|
|
1558
|
+
// Do not crop when ticks are not extremes (#9841)
|
|
1559
|
+
axis.min = axisOptions.startOnTick ?
|
|
1560
|
+
tickPositions[0] :
|
|
1561
|
+
Math.min(axis.min, tickPositions[0]);
|
|
1562
|
+
axis.max = axisOptions.endOnTick ?
|
|
1563
|
+
tickPositions[tickPositions.length - 1] :
|
|
1564
|
+
Math.max(axis.max, tickPositions[tickPositions.length - 1]);
|
|
1565
|
+
// We have too many ticks, run second pass to try to reduce ticks
|
|
1566
|
+
}
|
|
1567
|
+
else if (currentTickAmount > tickAmount) {
|
|
1568
|
+
axis.tickInterval *= 2;
|
|
1569
|
+
axis.setTickPositions();
|
|
1570
|
+
}
|
|
1571
|
+
// The finalTickAmt property is set in getTickAmount
|
|
1572
|
+
if (defined(finalTickAmt)) {
|
|
1573
|
+
i = len = tickPositions.length;
|
|
1574
|
+
while (i--) {
|
|
1575
|
+
if (
|
|
1576
|
+
// Remove every other tick
|
|
1577
|
+
(finalTickAmt === 3 && i % 2 === 1) ||
|
|
1578
|
+
// Remove all but first and last
|
|
1579
|
+
(finalTickAmt <= 2 && i > 0 && i < len - 1)) {
|
|
1580
|
+
tickPositions.splice(i, 1);
|
|
1581
|
+
}
|
|
1582
|
+
}
|
|
1583
|
+
axis.finalTickAmt = void 0;
|
|
1584
|
+
}
|
|
1585
|
+
}
|
|
1586
|
+
};
|
|
1587
|
+
/**
|
|
1588
|
+
* Set the scale based on data min and max, user set min and max or options.
|
|
1589
|
+
*
|
|
1590
|
+
* @private
|
|
1591
|
+
* @function Highcharts.Axis#setScale
|
|
1592
|
+
*
|
|
1593
|
+
* @emits Highcharts.Axis#event:afterSetScale
|
|
1594
|
+
*/
|
|
1595
|
+
Axis.prototype.setScale = function () {
|
|
1596
|
+
var axis = this;
|
|
1597
|
+
var isDirtyData = false, isXAxisDirty = false;
|
|
1598
|
+
axis.series.forEach(function (series) {
|
|
1599
|
+
isDirtyData = isDirtyData || series.isDirtyData || series.isDirty;
|
|
1600
|
+
// When x axis is dirty, we need new data extremes for y as
|
|
1601
|
+
// well:
|
|
1602
|
+
isXAxisDirty = (isXAxisDirty ||
|
|
1603
|
+
(series.xAxis && series.xAxis.isDirty) ||
|
|
1604
|
+
false);
|
|
1605
|
+
});
|
|
1606
|
+
// set the new axisLength
|
|
1607
|
+
axis.setAxisSize();
|
|
1608
|
+
var isDirtyAxisLength = axis.len !== (axis.old && axis.old.len);
|
|
1609
|
+
// do we really need to go through all this?
|
|
1610
|
+
if (isDirtyAxisLength ||
|
|
1611
|
+
isDirtyData ||
|
|
1612
|
+
isXAxisDirty ||
|
|
1613
|
+
axis.isLinked ||
|
|
1614
|
+
axis.forceRedraw ||
|
|
1615
|
+
axis.userMin !== (axis.old && axis.old.userMin) ||
|
|
1616
|
+
axis.userMax !== (axis.old && axis.old.userMax) ||
|
|
1617
|
+
axis.alignToOthers()) {
|
|
1618
|
+
if (axis.stacking) {
|
|
1619
|
+
axis.stacking.resetStacks();
|
|
1620
|
+
}
|
|
1621
|
+
axis.forceRedraw = false;
|
|
1622
|
+
// get data extremes if needed
|
|
1623
|
+
axis.getSeriesExtremes();
|
|
1624
|
+
// get fixed positions based on tickInterval
|
|
1625
|
+
axis.setTickInterval();
|
|
1626
|
+
// Mark as dirty if it is not already set to dirty and extremes have
|
|
1627
|
+
// changed. #595.
|
|
1628
|
+
if (!axis.isDirty) {
|
|
1629
|
+
axis.isDirty =
|
|
1630
|
+
isDirtyAxisLength ||
|
|
1631
|
+
axis.min !== (axis.old && axis.old.min) ||
|
|
1632
|
+
axis.max !== (axis.old && axis.old.max);
|
|
1633
|
+
}
|
|
1634
|
+
}
|
|
1635
|
+
else if (axis.stacking) {
|
|
1636
|
+
axis.stacking.cleanStacks();
|
|
1637
|
+
}
|
|
1638
|
+
// Recalculate panning state object, when the data
|
|
1639
|
+
// has changed. It is required when vertical panning is enabled.
|
|
1640
|
+
if (isDirtyData && axis.panningState) {
|
|
1641
|
+
axis.panningState.isDirty = true;
|
|
1642
|
+
}
|
|
1643
|
+
fireEvent(this, 'afterSetScale');
|
|
1644
|
+
};
|
|
1645
|
+
/**
|
|
1646
|
+
* Set the minimum and maximum of the axes after render time. If the
|
|
1647
|
+
* `startOnTick` and `endOnTick` options are true, the minimum and maximum
|
|
1648
|
+
* values are rounded off to the nearest tick. To prevent this, these
|
|
1649
|
+
* options can be set to false before calling setExtremes. Also, setExtremes
|
|
1650
|
+
* will not allow a range lower than the `minRange` option, which by default
|
|
1651
|
+
* is the range of five points.
|
|
1652
|
+
*
|
|
1653
|
+
* @sample highcharts/members/axis-setextremes/
|
|
1654
|
+
* Set extremes from a button
|
|
1655
|
+
* @sample highcharts/members/axis-setextremes-datetime/
|
|
1656
|
+
* Set extremes on a datetime axis
|
|
1657
|
+
* @sample highcharts/members/axis-setextremes-off-ticks/
|
|
1658
|
+
* Set extremes off ticks
|
|
1659
|
+
* @sample stock/members/axis-setextremes/
|
|
1660
|
+
* Set extremes in Highcharts Stock
|
|
1661
|
+
*
|
|
1662
|
+
* @function Highcharts.Axis#setExtremes
|
|
1663
|
+
*
|
|
1664
|
+
* @param {number} [newMin]
|
|
1665
|
+
* The new minimum value.
|
|
1666
|
+
*
|
|
1667
|
+
* @param {number} [newMax]
|
|
1668
|
+
* The new maximum value.
|
|
1669
|
+
*
|
|
1670
|
+
* @param {boolean} [redraw=true]
|
|
1671
|
+
* Whether to redraw the chart or wait for an explicit call to
|
|
1672
|
+
* {@link Highcharts.Chart#redraw}
|
|
1673
|
+
*
|
|
1674
|
+
* @param {boolean|Partial<Highcharts.AnimationOptionsObject>} [animation=true]
|
|
1675
|
+
* Enable or modify animations.
|
|
1676
|
+
*
|
|
1677
|
+
* @param {*} [eventArguments]
|
|
1678
|
+
* Arguments to be accessed in event handler.
|
|
1679
|
+
*
|
|
1680
|
+
* @emits Highcharts.Axis#event:setExtremes
|
|
1681
|
+
*/
|
|
1682
|
+
Axis.prototype.setExtremes = function (newMin, newMax, redraw, animation, eventArguments) {
|
|
1683
|
+
var axis = this, chart = axis.chart;
|
|
1684
|
+
redraw = pick(redraw, true); // defaults to true
|
|
1685
|
+
axis.series.forEach(function (serie) {
|
|
1686
|
+
delete serie.kdTree;
|
|
1687
|
+
});
|
|
1688
|
+
// Extend the arguments with min and max
|
|
1689
|
+
eventArguments = extend(eventArguments, {
|
|
1690
|
+
min: newMin,
|
|
1691
|
+
max: newMax
|
|
1692
|
+
});
|
|
1693
|
+
// Fire the event
|
|
1694
|
+
fireEvent(axis, 'setExtremes', eventArguments, function () {
|
|
1695
|
+
axis.userMin = newMin;
|
|
1696
|
+
axis.userMax = newMax;
|
|
1697
|
+
axis.eventArgs = eventArguments;
|
|
1698
|
+
if (redraw) {
|
|
1699
|
+
chart.redraw(animation);
|
|
1700
|
+
}
|
|
1701
|
+
});
|
|
1702
|
+
};
|
|
1703
|
+
/**
|
|
1704
|
+
* Overridable method for zooming chart. Pulled out in a separate method to
|
|
1705
|
+
* allow overriding in stock charts.
|
|
1706
|
+
*
|
|
1707
|
+
* @private
|
|
1708
|
+
* @function Highcharts.Axis#zoom
|
|
1709
|
+
*/
|
|
1710
|
+
Axis.prototype.zoom = function (newMin, newMax) {
|
|
1711
|
+
var axis = this, dataMin = this.dataMin, dataMax = this.dataMax, options = this.options, min = Math.min(dataMin, pick(options.min, dataMin)), max = Math.max(dataMax, pick(options.max, dataMax)), evt = {
|
|
1712
|
+
newMin: newMin,
|
|
1713
|
+
newMax: newMax
|
|
1714
|
+
};
|
|
1715
|
+
fireEvent(this, 'zoom', evt, function (e) {
|
|
1716
|
+
// Use e.newMin and e.newMax - event handlers may have altered them
|
|
1717
|
+
var newMin = e.newMin, newMax = e.newMax;
|
|
1718
|
+
if (newMin !== axis.min || newMax !== axis.max) { // #5790
|
|
1719
|
+
// Prevent pinch zooming out of range. Check for defined is for
|
|
1720
|
+
// #1946. #1734.
|
|
1721
|
+
if (!axis.allowZoomOutside) {
|
|
1722
|
+
// #6014, sometimes newMax will be smaller than min (or
|
|
1723
|
+
// newMin will be larger than max).
|
|
1724
|
+
if (defined(dataMin)) {
|
|
1725
|
+
if (newMin < min) {
|
|
1726
|
+
newMin = min;
|
|
1727
|
+
}
|
|
1728
|
+
if (newMin > max) {
|
|
1729
|
+
newMin = max;
|
|
1730
|
+
}
|
|
1731
|
+
}
|
|
1732
|
+
if (defined(dataMax)) {
|
|
1733
|
+
if (newMax < min) {
|
|
1734
|
+
newMax = min;
|
|
1735
|
+
}
|
|
1736
|
+
if (newMax > max) {
|
|
1737
|
+
newMax = max;
|
|
1738
|
+
}
|
|
1739
|
+
}
|
|
1740
|
+
}
|
|
1741
|
+
// In full view, displaying the reset zoom button is not
|
|
1742
|
+
// required
|
|
1743
|
+
axis.displayBtn = (typeof newMin !== 'undefined' ||
|
|
1744
|
+
typeof newMax !== 'undefined');
|
|
1745
|
+
// Do it
|
|
1746
|
+
axis.setExtremes(newMin, newMax, false, void 0, { trigger: 'zoom' });
|
|
1747
|
+
}
|
|
1748
|
+
e.zoomed = true;
|
|
1749
|
+
});
|
|
1750
|
+
return evt.zoomed;
|
|
1751
|
+
};
|
|
1752
|
+
/**
|
|
1753
|
+
* Update the axis metrics.
|
|
1754
|
+
*
|
|
1755
|
+
* @private
|
|
1756
|
+
* @function Highcharts.Axis#setAxisSize
|
|
1757
|
+
*/
|
|
1758
|
+
Axis.prototype.setAxisSize = function () {
|
|
1759
|
+
var chart = this.chart, options = this.options,
|
|
1760
|
+
// [top, right, bottom, left]
|
|
1761
|
+
offsets = options.offsets || [0, 0, 0, 0], horiz = this.horiz,
|
|
1762
|
+
// Check for percentage based input values. Rounding fixes problems
|
|
1763
|
+
// with column overflow and plot line filtering (#4898, #4899)
|
|
1764
|
+
width = this.width = Math.round(relativeLength(pick(options.width, chart.plotWidth - offsets[3] + offsets[1]), chart.plotWidth)), height = this.height = Math.round(relativeLength(pick(options.height, chart.plotHeight - offsets[0] + offsets[2]), chart.plotHeight)), top = this.top = Math.round(relativeLength(pick(options.top, chart.plotTop + offsets[0]), chart.plotHeight, chart.plotTop)), left = this.left = Math.round(relativeLength(pick(options.left, chart.plotLeft + offsets[3]), chart.plotWidth, chart.plotLeft));
|
|
1765
|
+
// Expose basic values to use in Series object and navigator
|
|
1766
|
+
this.bottom = chart.chartHeight - height - top;
|
|
1767
|
+
this.right = chart.chartWidth - width - left;
|
|
1768
|
+
// Direction agnostic properties
|
|
1769
|
+
this.len = Math.max(horiz ? width : height, 0); // Math.max fixes #905
|
|
1770
|
+
this.pos = horiz ? left : top; // distance from SVG origin
|
|
1771
|
+
};
|
|
1772
|
+
/**
|
|
1773
|
+
* Get the current extremes for the axis.
|
|
1774
|
+
*
|
|
1775
|
+
* @sample highcharts/members/axis-getextremes/
|
|
1776
|
+
* Report extremes by click on a button
|
|
1777
|
+
*
|
|
1778
|
+
* @function Highcharts.Axis#getExtremes
|
|
1779
|
+
*
|
|
1780
|
+
* @return {Highcharts.ExtremesObject}
|
|
1781
|
+
* An object containing extremes information.
|
|
1782
|
+
*/
|
|
1783
|
+
Axis.prototype.getExtremes = function () {
|
|
1784
|
+
var axis = this, log = axis.logarithmic;
|
|
1785
|
+
return {
|
|
1786
|
+
min: log ?
|
|
1787
|
+
correctFloat(log.lin2log(axis.min)) :
|
|
1788
|
+
axis.min,
|
|
1789
|
+
max: log ?
|
|
1790
|
+
correctFloat(log.lin2log(axis.max)) :
|
|
1791
|
+
axis.max,
|
|
1792
|
+
dataMin: axis.dataMin,
|
|
1793
|
+
dataMax: axis.dataMax,
|
|
1794
|
+
userMin: axis.userMin,
|
|
1795
|
+
userMax: axis.userMax
|
|
1796
|
+
};
|
|
1797
|
+
};
|
|
1798
|
+
/**
|
|
1799
|
+
* Get the zero plane either based on zero or on the min or max value.
|
|
1800
|
+
* Used in bar and area plots.
|
|
1801
|
+
*
|
|
1802
|
+
* @function Highcharts.Axis#getThreshold
|
|
1803
|
+
*
|
|
1804
|
+
* @param {number} threshold
|
|
1805
|
+
* The threshold in axis values.
|
|
1806
|
+
*
|
|
1807
|
+
* @return {number|undefined}
|
|
1808
|
+
* The translated threshold position in terms of pixels, and corrected to
|
|
1809
|
+
* stay within the axis bounds.
|
|
1810
|
+
*/
|
|
1811
|
+
Axis.prototype.getThreshold = function (threshold) {
|
|
1812
|
+
var axis = this, log = axis.logarithmic, realMin = log ? log.lin2log(axis.min) : axis.min, realMax = log ? log.lin2log(axis.max) : axis.max;
|
|
1813
|
+
if (threshold === null || threshold === -Infinity) {
|
|
1814
|
+
threshold = realMin;
|
|
1815
|
+
}
|
|
1816
|
+
else if (threshold === Infinity) {
|
|
1817
|
+
threshold = realMax;
|
|
1818
|
+
}
|
|
1819
|
+
else if (realMin > threshold) {
|
|
1820
|
+
threshold = realMin;
|
|
1821
|
+
}
|
|
1822
|
+
else if (realMax < threshold) {
|
|
1823
|
+
threshold = realMax;
|
|
1824
|
+
}
|
|
1825
|
+
return axis.translate(threshold, 0, 1, 0, 1);
|
|
1826
|
+
};
|
|
1827
|
+
/**
|
|
1828
|
+
* Compute auto alignment for the axis label based on which side the axis is
|
|
1829
|
+
* on and the given rotation for the label.
|
|
1830
|
+
*
|
|
1831
|
+
* @private
|
|
1832
|
+
* @function Highcharts.Axis#autoLabelAlign
|
|
1833
|
+
*
|
|
1834
|
+
* @param {number} rotation
|
|
1835
|
+
* The rotation in degrees as set by either the `rotation` or `autoRotation`
|
|
1836
|
+
* options.
|
|
1837
|
+
*
|
|
1838
|
+
* @return {Highcharts.AlignValue}
|
|
1839
|
+
* Can be `"center"`, `"left"` or `"right"`.
|
|
1840
|
+
*/
|
|
1841
|
+
Axis.prototype.autoLabelAlign = function (rotation) {
|
|
1842
|
+
var angle = (pick(rotation, 0) - (this.side * 90) + 720) % 360, evt = { align: 'center' };
|
|
1843
|
+
fireEvent(this, 'autoLabelAlign', evt, function (e) {
|
|
1844
|
+
if (angle > 15 && angle < 165) {
|
|
1845
|
+
e.align = 'right';
|
|
1846
|
+
}
|
|
1847
|
+
else if (angle > 195 && angle < 345) {
|
|
1848
|
+
e.align = 'left';
|
|
1849
|
+
}
|
|
1850
|
+
});
|
|
1851
|
+
return evt.align;
|
|
1852
|
+
};
|
|
1853
|
+
/**
|
|
1854
|
+
* Get the tick length and width for the axis based on axis options.
|
|
1855
|
+
*
|
|
1856
|
+
* @private
|
|
1857
|
+
* @function Highcharts.Axis#tickSize
|
|
1858
|
+
*
|
|
1859
|
+
* @param {string} [prefix]
|
|
1860
|
+
* 'tick' or 'minorTick'
|
|
1861
|
+
*
|
|
1862
|
+
* @return {Array<number,number>|undefined}
|
|
1863
|
+
* An array of tickLength and tickWidth
|
|
1864
|
+
*/
|
|
1865
|
+
Axis.prototype.tickSize = function (prefix) {
|
|
1866
|
+
var options = this.options, tickWidth = pick(options[prefix === 'tick' ? 'tickWidth' : 'minorTickWidth'],
|
|
1867
|
+
// Default to 1 on linear and datetime X axes
|
|
1868
|
+
prefix === 'tick' && this.isXAxis && !this.categories ? 1 : 0);
|
|
1869
|
+
var tickLength = options[prefix === 'tick' ? 'tickLength' : 'minorTickLength'], tickSize;
|
|
1870
|
+
if (tickWidth && tickLength) {
|
|
1871
|
+
// Negate the length
|
|
1872
|
+
if (options[prefix + 'Position'] === 'inside') {
|
|
1873
|
+
tickLength = -tickLength;
|
|
1874
|
+
}
|
|
1875
|
+
tickSize = [tickLength, tickWidth];
|
|
1876
|
+
}
|
|
1877
|
+
var e = { tickSize: tickSize };
|
|
1878
|
+
fireEvent(this, 'afterTickSize', e);
|
|
1879
|
+
return e.tickSize;
|
|
1880
|
+
};
|
|
1881
|
+
/**
|
|
1882
|
+
* Return the size of the labels.
|
|
1883
|
+
*
|
|
1884
|
+
* @private
|
|
1885
|
+
* @function Highcharts.Axis#labelMetrics
|
|
1886
|
+
*/
|
|
1887
|
+
Axis.prototype.labelMetrics = function () {
|
|
1888
|
+
var index = this.tickPositions && this.tickPositions[0] || 0;
|
|
1889
|
+
return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize, this.ticks[index] && this.ticks[index].label);
|
|
1890
|
+
};
|
|
1891
|
+
/**
|
|
1892
|
+
* Prevent the ticks from getting so close we can't draw the labels. On a
|
|
1893
|
+
* horizontal axis, this is handled by rotating the labels, removing ticks
|
|
1894
|
+
* and adding ellipsis. On a vertical axis remove ticks and add ellipsis.
|
|
1895
|
+
*
|
|
1896
|
+
* @private
|
|
1897
|
+
* @function Highcharts.Axis#unsquish
|
|
1898
|
+
*/
|
|
1899
|
+
Axis.prototype.unsquish = function () {
|
|
1900
|
+
var labelOptions = this.options.labels, horiz = this.horiz, tickInterval = this.tickInterval, slotSize = this.len / (((this.categories ? 1 : 0) +
|
|
1901
|
+
this.max -
|
|
1902
|
+
this.min) /
|
|
1903
|
+
tickInterval), rotationOption = labelOptions.rotation, labelMetrics = this.labelMetrics(), range = Math.max(this.max - this.min, 0),
|
|
1904
|
+
// Return the multiple of tickInterval that is needed to avoid
|
|
1905
|
+
// collision
|
|
1906
|
+
getStep = function (spaceNeeded) {
|
|
1907
|
+
var step = spaceNeeded / (slotSize || 1);
|
|
1908
|
+
step = step > 1 ? Math.ceil(step) : 1;
|
|
1909
|
+
// Guard for very small or negative angles (#9835)
|
|
1910
|
+
if (step * tickInterval > range &&
|
|
1911
|
+
spaceNeeded !== Infinity &&
|
|
1912
|
+
slotSize !== Infinity &&
|
|
1913
|
+
range) {
|
|
1914
|
+
step = Math.ceil(range / tickInterval);
|
|
1915
|
+
}
|
|
1916
|
+
return correctFloat(step * tickInterval);
|
|
1917
|
+
};
|
|
1918
|
+
var newTickInterval = tickInterval, rotation, step, bestScore = Number.MAX_VALUE, autoRotation;
|
|
1919
|
+
if (horiz) {
|
|
1920
|
+
if (!labelOptions.staggerLines && !labelOptions.step) {
|
|
1921
|
+
if (isNumber(rotationOption)) {
|
|
1922
|
+
autoRotation = [rotationOption];
|
|
1923
|
+
}
|
|
1924
|
+
else if (slotSize < labelOptions.autoRotationLimit) {
|
|
1925
|
+
autoRotation = labelOptions.autoRotation;
|
|
1926
|
+
}
|
|
1927
|
+
}
|
|
1928
|
+
if (autoRotation) {
|
|
1929
|
+
// Loop over the given autoRotation options, and determine
|
|
1930
|
+
// which gives the best score. The best score is that with
|
|
1931
|
+
// the lowest number of steps and a rotation closest
|
|
1932
|
+
// to horizontal.
|
|
1933
|
+
autoRotation.forEach(function (rot) {
|
|
1934
|
+
var score;
|
|
1935
|
+
if (rot === rotationOption ||
|
|
1936
|
+
(rot && rot >= -90 && rot <= 90)) { // #3891
|
|
1937
|
+
step = getStep(Math.abs(labelMetrics.h / Math.sin(deg2rad * rot)));
|
|
1938
|
+
score = step + Math.abs(rot / 360);
|
|
1939
|
+
if (score < bestScore) {
|
|
1940
|
+
bestScore = score;
|
|
1941
|
+
rotation = rot;
|
|
1942
|
+
newTickInterval = step;
|
|
1943
|
+
}
|
|
1944
|
+
}
|
|
1945
|
+
});
|
|
1946
|
+
}
|
|
1947
|
+
}
|
|
1948
|
+
else if (!labelOptions.step) { // #4411
|
|
1949
|
+
newTickInterval = getStep(labelMetrics.h);
|
|
1950
|
+
}
|
|
1951
|
+
this.autoRotation = autoRotation;
|
|
1952
|
+
this.labelRotation = pick(rotation, isNumber(rotationOption) ? rotationOption : 0);
|
|
1953
|
+
return newTickInterval;
|
|
1954
|
+
};
|
|
1955
|
+
/**
|
|
1956
|
+
* Get the general slot width for labels/categories on this axis. This may
|
|
1957
|
+
* change between the pre-render (from Axis.getOffset) and the final tick
|
|
1958
|
+
* rendering and placement.
|
|
1959
|
+
*
|
|
1960
|
+
* @private
|
|
1961
|
+
* @function Highcharts.Axis#getSlotWidth
|
|
1962
|
+
*
|
|
1963
|
+
* @param {Highcharts.Tick} [tick] Optionally, calculate the slot width
|
|
1964
|
+
* basing on tick label. It is used in highcharts-3d module, where the slots
|
|
1965
|
+
* has different widths depending on perspective angles.
|
|
1966
|
+
*
|
|
1967
|
+
* @return {number}
|
|
1968
|
+
* The pixel width allocated to each axis label.
|
|
1969
|
+
*/
|
|
1970
|
+
Axis.prototype.getSlotWidth = function (tick) {
|
|
1971
|
+
// #5086, #1580, #1931
|
|
1972
|
+
var chart = this.chart, horiz = this.horiz, labelOptions = this.options.labels, slotCount = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1), marginLeft = chart.margin[3];
|
|
1973
|
+
// Used by grid axis
|
|
1974
|
+
if (tick && isNumber(tick.slotWidth)) { // #13221, can be 0
|
|
1975
|
+
return tick.slotWidth;
|
|
1976
|
+
}
|
|
1977
|
+
if (horiz && labelOptions.step < 2) {
|
|
1978
|
+
if (labelOptions.rotation) { // #4415
|
|
1979
|
+
return 0;
|
|
1980
|
+
}
|
|
1981
|
+
return ((this.staggerLines || 1) * this.len) / slotCount;
|
|
1982
|
+
}
|
|
1983
|
+
if (!horiz) {
|
|
1984
|
+
// #7028
|
|
1985
|
+
var cssWidth = labelOptions.style.width;
|
|
1986
|
+
if (cssWidth !== void 0) {
|
|
1987
|
+
return parseInt(String(cssWidth), 10);
|
|
1988
|
+
}
|
|
1989
|
+
if (marginLeft) {
|
|
1990
|
+
return marginLeft - chart.spacing[3];
|
|
1991
|
+
}
|
|
1992
|
+
}
|
|
1993
|
+
// Last resort, a fraction of the available size
|
|
1994
|
+
return chart.chartWidth * 0.33;
|
|
1995
|
+
};
|
|
1996
|
+
/**
|
|
1997
|
+
* Render the axis labels and determine whether ellipsis or rotation need to
|
|
1998
|
+
* be applied.
|
|
1999
|
+
*
|
|
2000
|
+
* @private
|
|
2001
|
+
* @function Highcharts.Axis#renderUnsquish
|
|
2002
|
+
*/
|
|
2003
|
+
Axis.prototype.renderUnsquish = function () {
|
|
2004
|
+
var chart = this.chart, renderer = chart.renderer, tickPositions = this.tickPositions, ticks = this.ticks, labelOptions = this.options.labels, labelStyleOptions = labelOptions.style, horiz = this.horiz, slotWidth = this.getSlotWidth(), innerWidth = Math.max(1, Math.round(slotWidth - 2 * labelOptions.padding)), attr = {}, labelMetrics = this.labelMetrics(), textOverflowOption = labelStyleOptions.textOverflow;
|
|
2005
|
+
var commonWidth, commonTextOverflow, maxLabelLength = 0, label, i, pos;
|
|
2006
|
+
// Set rotation option unless it is "auto", like in gauges
|
|
2007
|
+
if (!isString(labelOptions.rotation)) {
|
|
2008
|
+
// #4443
|
|
2009
|
+
attr.rotation = labelOptions.rotation || 0;
|
|
2010
|
+
}
|
|
2011
|
+
// Get the longest label length
|
|
2012
|
+
tickPositions.forEach(function (tickPosition) {
|
|
2013
|
+
var tick = ticks[tickPosition];
|
|
2014
|
+
// Replace label - sorting animation
|
|
2015
|
+
if (tick.movedLabel) {
|
|
2016
|
+
tick.replaceMovedLabel();
|
|
2017
|
+
}
|
|
2018
|
+
if (tick &&
|
|
2019
|
+
tick.label &&
|
|
2020
|
+
tick.label.textPxLength > maxLabelLength) {
|
|
2021
|
+
maxLabelLength = tick.label.textPxLength;
|
|
2022
|
+
}
|
|
2023
|
+
});
|
|
2024
|
+
this.maxLabelLength = maxLabelLength;
|
|
2025
|
+
// Handle auto rotation on horizontal axis
|
|
2026
|
+
if (this.autoRotation) {
|
|
2027
|
+
// Apply rotation only if the label is too wide for the slot, and
|
|
2028
|
+
// the label is wider than its height.
|
|
2029
|
+
if (maxLabelLength > innerWidth &&
|
|
2030
|
+
maxLabelLength > labelMetrics.h) {
|
|
2031
|
+
attr.rotation = this.labelRotation;
|
|
2032
|
+
}
|
|
2033
|
+
else {
|
|
2034
|
+
this.labelRotation = 0;
|
|
2035
|
+
}
|
|
2036
|
+
// Handle word-wrap or ellipsis on vertical axis
|
|
2037
|
+
}
|
|
2038
|
+
else if (slotWidth) {
|
|
2039
|
+
// For word-wrap or ellipsis
|
|
2040
|
+
commonWidth = innerWidth;
|
|
2041
|
+
if (!textOverflowOption) {
|
|
2042
|
+
commonTextOverflow = 'clip';
|
|
2043
|
+
// On vertical axis, only allow word wrap if there is room
|
|
2044
|
+
// for more lines.
|
|
2045
|
+
i = tickPositions.length;
|
|
2046
|
+
while (!horiz && i--) {
|
|
2047
|
+
pos = tickPositions[i];
|
|
2048
|
+
label = ticks[pos].label;
|
|
2049
|
+
if (label) {
|
|
2050
|
+
// Reset ellipsis in order to get the correct
|
|
2051
|
+
// bounding box (#4070)
|
|
2052
|
+
if (label.styles &&
|
|
2053
|
+
label.styles.textOverflow === 'ellipsis') {
|
|
2054
|
+
label.css({ textOverflow: 'clip' });
|
|
2055
|
+
// Set the correct width in order to read
|
|
2056
|
+
// the bounding box height (#4678, #5034)
|
|
2057
|
+
}
|
|
2058
|
+
else if (label.textPxLength > slotWidth) {
|
|
2059
|
+
label.css({ width: slotWidth + 'px' });
|
|
2060
|
+
}
|
|
2061
|
+
if (label.getBBox().height > (this.len / tickPositions.length -
|
|
2062
|
+
(labelMetrics.h - labelMetrics.f))) {
|
|
2063
|
+
label.specificTextOverflow = 'ellipsis';
|
|
2064
|
+
}
|
|
2065
|
+
}
|
|
2066
|
+
}
|
|
2067
|
+
}
|
|
2068
|
+
}
|
|
2069
|
+
// Add ellipsis if the label length is significantly longer than ideal
|
|
2070
|
+
if (attr.rotation) {
|
|
2071
|
+
commonWidth = (maxLabelLength > chart.chartHeight * 0.5 ?
|
|
2072
|
+
chart.chartHeight * 0.33 :
|
|
2073
|
+
maxLabelLength);
|
|
2074
|
+
if (!textOverflowOption) {
|
|
2075
|
+
commonTextOverflow = 'ellipsis';
|
|
2076
|
+
}
|
|
2077
|
+
}
|
|
2078
|
+
// Set the explicit or automatic label alignment
|
|
2079
|
+
this.labelAlign = labelOptions.align ||
|
|
2080
|
+
this.autoLabelAlign(this.labelRotation);
|
|
2081
|
+
if (this.labelAlign) {
|
|
2082
|
+
attr.align = this.labelAlign;
|
|
2083
|
+
}
|
|
2084
|
+
// Apply general and specific CSS
|
|
2085
|
+
tickPositions.forEach(function (pos) {
|
|
2086
|
+
var tick = ticks[pos], label = tick && tick.label, widthOption = labelStyleOptions.width, css = {};
|
|
2087
|
+
if (label) {
|
|
2088
|
+
// This needs to go before the CSS in old IE (#4502)
|
|
2089
|
+
label.attr(attr);
|
|
2090
|
+
if (tick.shortenLabel) {
|
|
2091
|
+
tick.shortenLabel();
|
|
2092
|
+
}
|
|
2093
|
+
else if (commonWidth &&
|
|
2094
|
+
!widthOption &&
|
|
2095
|
+
// Setting width in this case messes with the bounding box
|
|
2096
|
+
// (#7975)
|
|
2097
|
+
labelStyleOptions.whiteSpace !== 'nowrap' &&
|
|
2098
|
+
(
|
|
2099
|
+
// Speed optimizing, #7656
|
|
2100
|
+
commonWidth < label.textPxLength ||
|
|
2101
|
+
// Resetting CSS, #4928
|
|
2102
|
+
label.element.tagName === 'SPAN')) {
|
|
2103
|
+
css.width = commonWidth + 'px';
|
|
2104
|
+
if (!textOverflowOption) {
|
|
2105
|
+
css.textOverflow = (label.specificTextOverflow ||
|
|
2106
|
+
commonTextOverflow);
|
|
2107
|
+
}
|
|
2108
|
+
label.css(css);
|
|
2109
|
+
// Reset previously shortened label (#8210)
|
|
2110
|
+
}
|
|
2111
|
+
else if (label.styles &&
|
|
2112
|
+
label.styles.width &&
|
|
2113
|
+
!css.width &&
|
|
2114
|
+
!widthOption) {
|
|
2115
|
+
label.css({ width: null });
|
|
2116
|
+
}
|
|
2117
|
+
delete label.specificTextOverflow;
|
|
2118
|
+
tick.rotation = attr.rotation;
|
|
2119
|
+
}
|
|
2120
|
+
}, this);
|
|
2121
|
+
// Note: Why is this not part of getLabelPosition?
|
|
2122
|
+
this.tickRotCorr = renderer.rotCorr(labelMetrics.b, this.labelRotation || 0, this.side !== 0);
|
|
2123
|
+
};
|
|
2124
|
+
/**
|
|
2125
|
+
* Return true if the axis has associated data.
|
|
2126
|
+
*
|
|
2127
|
+
* @function Highcharts.Axis#hasData
|
|
2128
|
+
*
|
|
2129
|
+
* @return {boolean}
|
|
2130
|
+
* True if the axis has associated visible series and those series have
|
|
2131
|
+
* either valid data points or explicit `min` and `max` settings.
|
|
2132
|
+
*/
|
|
2133
|
+
Axis.prototype.hasData = function () {
|
|
2134
|
+
return this.series.some(function (s) {
|
|
2135
|
+
return s.hasData();
|
|
2136
|
+
}) ||
|
|
2137
|
+
(this.options.showEmpty &&
|
|
2138
|
+
defined(this.min) &&
|
|
2139
|
+
defined(this.max));
|
|
2140
|
+
};
|
|
2141
|
+
/**
|
|
2142
|
+
* Adds the title defined in axis.options.title.
|
|
2143
|
+
*
|
|
2144
|
+
* @function Highcharts.Axis#addTitle
|
|
2145
|
+
*
|
|
2146
|
+
* @param {boolean} [display]
|
|
2147
|
+
* Whether or not to display the title.
|
|
2148
|
+
*/
|
|
2149
|
+
Axis.prototype.addTitle = function (display) {
|
|
2150
|
+
var axis = this, renderer = axis.chart.renderer, horiz = axis.horiz, opposite = axis.opposite, options = axis.options, axisTitleOptions = options.title, styledMode = axis.chart.styledMode;
|
|
2151
|
+
var textAlign;
|
|
2152
|
+
if (!axis.axisTitle) {
|
|
2153
|
+
textAlign = axisTitleOptions.textAlign;
|
|
2154
|
+
if (!textAlign) {
|
|
2155
|
+
textAlign = (horiz ? {
|
|
2156
|
+
low: 'left',
|
|
2157
|
+
middle: 'center',
|
|
2158
|
+
high: 'right'
|
|
2159
|
+
} : {
|
|
2160
|
+
low: opposite ? 'right' : 'left',
|
|
2161
|
+
middle: 'center',
|
|
2162
|
+
high: opposite ? 'left' : 'right'
|
|
2163
|
+
})[axisTitleOptions.align];
|
|
2164
|
+
}
|
|
2165
|
+
axis.axisTitle = renderer
|
|
2166
|
+
.text(axisTitleOptions.text || '', 0, 0, axisTitleOptions.useHTML)
|
|
2167
|
+
.attr({
|
|
2168
|
+
zIndex: 7,
|
|
2169
|
+
rotation: axisTitleOptions.rotation,
|
|
2170
|
+
align: textAlign
|
|
2171
|
+
})
|
|
2172
|
+
.addClass('highcharts-axis-title');
|
|
2173
|
+
// #7814, don't mutate style option
|
|
2174
|
+
if (!styledMode) {
|
|
2175
|
+
axis.axisTitle.css(merge(axisTitleOptions.style));
|
|
2176
|
+
}
|
|
2177
|
+
axis.axisTitle.add(axis.axisGroup);
|
|
2178
|
+
axis.axisTitle.isNew = true;
|
|
2179
|
+
}
|
|
2180
|
+
// Max width defaults to the length of the axis
|
|
2181
|
+
if (!styledMode &&
|
|
2182
|
+
!axisTitleOptions.style.width &&
|
|
2183
|
+
!axis.isRadial) {
|
|
2184
|
+
axis.axisTitle.css({
|
|
2185
|
+
width: axis.len + 'px'
|
|
2186
|
+
});
|
|
2187
|
+
}
|
|
2188
|
+
// hide or show the title depending on whether showEmpty is set
|
|
2189
|
+
axis.axisTitle[display ? 'show' : 'hide'](display);
|
|
2190
|
+
};
|
|
2191
|
+
/**
|
|
2192
|
+
* Generates a tick for initial positioning.
|
|
2193
|
+
*
|
|
2194
|
+
* @private
|
|
2195
|
+
* @function Highcharts.Axis#generateTick
|
|
2196
|
+
*
|
|
2197
|
+
* @param {number} pos
|
|
2198
|
+
* The tick position in axis values.
|
|
2199
|
+
*
|
|
2200
|
+
* @param {number} [i]
|
|
2201
|
+
* The index of the tick in {@link Axis.tickPositions}.
|
|
2202
|
+
*/
|
|
2203
|
+
Axis.prototype.generateTick = function (pos) {
|
|
2204
|
+
var axis = this, ticks = axis.ticks;
|
|
2205
|
+
if (!ticks[pos]) {
|
|
2206
|
+
ticks[pos] = new Tick(axis, pos);
|
|
2207
|
+
}
|
|
2208
|
+
else {
|
|
2209
|
+
ticks[pos].addLabel(); // update labels depending on tick interval
|
|
2210
|
+
}
|
|
2211
|
+
};
|
|
2212
|
+
/**
|
|
2213
|
+
* Render the tick labels to a preliminary position to get their sizes
|
|
2214
|
+
*
|
|
2215
|
+
* @private
|
|
2216
|
+
* @function Highcharts.Axis#getOffset
|
|
2217
|
+
*
|
|
2218
|
+
* @emits Highcharts.Axis#event:afterGetOffset
|
|
2219
|
+
*/
|
|
2220
|
+
Axis.prototype.getOffset = function () {
|
|
2221
|
+
var _this = this;
|
|
2222
|
+
var axis = this, chart = axis.chart, horiz = axis.horiz, options = axis.options, side = axis.side, ticks = axis.ticks, tickPositions = axis.tickPositions, coll = axis.coll, axisParent = axis.axisParent // Used in color axis
|
|
2223
|
+
, renderer = chart.renderer, invertedSide = (chart.inverted && !axis.isZAxis ?
|
|
2224
|
+
[1, 0, 3, 2][side] :
|
|
2225
|
+
side), hasData = axis.hasData(), axisTitleOptions = options.title, labelOptions = options.labels, axisOffset = chart.axisOffset, clipOffset = chart.clipOffset, directionFactor = [-1, 1, 1, -1][side], className = options.className;
|
|
2226
|
+
var showAxis, titleOffset = 0, titleOffsetOption, titleMargin = 0, labelOffset = 0, // reset
|
|
2227
|
+
labelOffsetPadded, lineHeightCorrection;
|
|
2228
|
+
// For reuse in Axis.render
|
|
2229
|
+
axis.showAxis = showAxis = hasData || options.showEmpty;
|
|
2230
|
+
// Set/reset staggerLines
|
|
2231
|
+
axis.staggerLines = (axis.horiz && labelOptions.staggerLines) || void 0;
|
|
2232
|
+
// Create the axisGroup and gridGroup elements on first iteration
|
|
2233
|
+
if (!axis.axisGroup) {
|
|
2234
|
+
var createGroup = function (name, suffix, zIndex) { return renderer.g(name)
|
|
2235
|
+
.attr({ zIndex: zIndex })
|
|
2236
|
+
.addClass("highcharts-" + coll.toLowerCase() + suffix + " " +
|
|
2237
|
+
(_this.isRadial ? "highcharts-radial-axis" + suffix + " " : '') +
|
|
2238
|
+
(className || ''))
|
|
2239
|
+
.add(axisParent); };
|
|
2240
|
+
axis.gridGroup = createGroup('grid', '-grid', options.gridZIndex);
|
|
2241
|
+
axis.axisGroup = createGroup('axis', '', options.zIndex);
|
|
2242
|
+
axis.labelGroup = createGroup('axis-labels', '-labels', labelOptions.zIndex);
|
|
2243
|
+
}
|
|
2244
|
+
if (hasData || axis.isLinked) {
|
|
2245
|
+
// Generate ticks
|
|
2246
|
+
tickPositions.forEach(function (pos) {
|
|
2247
|
+
// i is not used here, but may be used in overrides
|
|
2248
|
+
axis.generateTick(pos);
|
|
2249
|
+
});
|
|
2250
|
+
axis.renderUnsquish();
|
|
2251
|
+
// Left side must be align: right and right side must
|
|
2252
|
+
// have align: left for labels
|
|
2253
|
+
axis.reserveSpaceDefault = (side === 0 ||
|
|
2254
|
+
side === 2 ||
|
|
2255
|
+
{ 1: 'left', 3: 'right' }[side] === axis.labelAlign);
|
|
2256
|
+
if (pick(labelOptions.reserveSpace, axis.labelAlign === 'center' ? true : null, axis.reserveSpaceDefault)) {
|
|
2257
|
+
tickPositions.forEach(function (pos) {
|
|
2258
|
+
// get the highest offset
|
|
2259
|
+
labelOffset = Math.max(ticks[pos].getLabelSize(), labelOffset);
|
|
2260
|
+
});
|
|
2261
|
+
}
|
|
2262
|
+
if (axis.staggerLines) {
|
|
2263
|
+
labelOffset *= axis.staggerLines;
|
|
2264
|
+
}
|
|
2265
|
+
axis.labelOffset = labelOffset * (axis.opposite ? -1 : 1);
|
|
2266
|
+
}
|
|
2267
|
+
else { // doesn't have data
|
|
2268
|
+
objectEach(ticks, function (tick, n) {
|
|
2269
|
+
tick.destroy();
|
|
2270
|
+
delete ticks[n];
|
|
2271
|
+
});
|
|
2272
|
+
}
|
|
2273
|
+
if (axisTitleOptions &&
|
|
2274
|
+
axisTitleOptions.text &&
|
|
2275
|
+
axisTitleOptions.enabled !== false) {
|
|
2276
|
+
axis.addTitle(showAxis);
|
|
2277
|
+
if (showAxis && axisTitleOptions.reserveSpace !== false) {
|
|
2278
|
+
axis.titleOffset = titleOffset =
|
|
2279
|
+
axis.axisTitle.getBBox()[horiz ? 'height' : 'width'];
|
|
2280
|
+
titleOffsetOption = axisTitleOptions.offset;
|
|
2281
|
+
titleMargin = defined(titleOffsetOption) ?
|
|
2282
|
+
0 :
|
|
2283
|
+
pick(axisTitleOptions.margin, horiz ? 5 : 10);
|
|
2284
|
+
}
|
|
2285
|
+
}
|
|
2286
|
+
// Render the axis line
|
|
2287
|
+
axis.renderLine();
|
|
2288
|
+
// handle automatic or user set offset
|
|
2289
|
+
axis.offset = directionFactor * pick(options.offset, axisOffset[side] ? axisOffset[side] + (options.margin || 0) : 0);
|
|
2290
|
+
axis.tickRotCorr = axis.tickRotCorr || { x: 0, y: 0 }; // polar
|
|
2291
|
+
if (side === 0) {
|
|
2292
|
+
lineHeightCorrection = -axis.labelMetrics().h;
|
|
2293
|
+
}
|
|
2294
|
+
else if (side === 2) {
|
|
2295
|
+
lineHeightCorrection = axis.tickRotCorr.y;
|
|
2296
|
+
}
|
|
2297
|
+
else {
|
|
2298
|
+
lineHeightCorrection = 0;
|
|
2299
|
+
}
|
|
2300
|
+
// Find the padded label offset
|
|
2301
|
+
labelOffsetPadded = Math.abs(labelOffset) + titleMargin;
|
|
2302
|
+
if (labelOffset) {
|
|
2303
|
+
labelOffsetPadded -= lineHeightCorrection;
|
|
2304
|
+
labelOffsetPadded += directionFactor * (horiz ?
|
|
2305
|
+
pick(labelOptions.y, axis.tickRotCorr.y + directionFactor * 8) :
|
|
2306
|
+
labelOptions.x);
|
|
2307
|
+
}
|
|
2308
|
+
axis.axisTitleMargin = pick(titleOffsetOption, labelOffsetPadded);
|
|
2309
|
+
if (axis.getMaxLabelDimensions) {
|
|
2310
|
+
axis.maxLabelDimensions = axis.getMaxLabelDimensions(ticks, tickPositions);
|
|
2311
|
+
}
|
|
2312
|
+
// Due to GridAxis.tickSize, tickSize should be calculated after ticks
|
|
2313
|
+
// has rendered.
|
|
2314
|
+
if (coll !== 'colorAxis') {
|
|
2315
|
+
var tickSize = this.tickSize('tick');
|
|
2316
|
+
axisOffset[side] = Math.max(axisOffset[side], (axis.axisTitleMargin || 0) + titleOffset +
|
|
2317
|
+
directionFactor * axis.offset, labelOffsetPadded, // #3027
|
|
2318
|
+
tickPositions && tickPositions.length && tickSize ?
|
|
2319
|
+
tickSize[0] + directionFactor * axis.offset :
|
|
2320
|
+
0 // #4866
|
|
2321
|
+
);
|
|
2322
|
+
// Decide the clipping needed to keep the graph inside
|
|
2323
|
+
// the plot area and axis lines
|
|
2324
|
+
var clip = !axis.axisLine || options.offset ?
|
|
2325
|
+
0 :
|
|
2326
|
+
// #4308, #4371:
|
|
2327
|
+
Math.floor(axis.axisLine.strokeWidth() / 2) * 2;
|
|
2328
|
+
clipOffset[invertedSide] =
|
|
2329
|
+
Math.max(clipOffset[invertedSide], clip);
|
|
2330
|
+
}
|
|
2331
|
+
fireEvent(this, 'afterGetOffset');
|
|
2332
|
+
};
|
|
2333
|
+
/**
|
|
2334
|
+
* Internal function to get the path for the axis line. Extended for polar
|
|
2335
|
+
* charts.
|
|
2336
|
+
*
|
|
2337
|
+
* @function Highcharts.Axis#getLinePath
|
|
2338
|
+
*
|
|
2339
|
+
* @param {number} lineWidth
|
|
2340
|
+
* The line width in pixels.
|
|
2341
|
+
*
|
|
2342
|
+
* @return {Highcharts.SVGPathArray}
|
|
2343
|
+
* The SVG path definition in array form.
|
|
2344
|
+
*/
|
|
2345
|
+
Axis.prototype.getLinePath = function (lineWidth) {
|
|
2346
|
+
var chart = this.chart, opposite = this.opposite, offset = this.offset, horiz = this.horiz, lineLeft = this.left + (opposite ? this.width : 0) + offset, lineTop = chart.chartHeight - this.bottom -
|
|
2347
|
+
(opposite ? this.height : 0) + offset;
|
|
2348
|
+
if (opposite) {
|
|
2349
|
+
lineWidth *= -1; // crispify the other way - #1480, #1687
|
|
2350
|
+
}
|
|
2351
|
+
return chart.renderer
|
|
2352
|
+
.crispLine([
|
|
2353
|
+
[
|
|
2354
|
+
'M',
|
|
2355
|
+
horiz ?
|
|
2356
|
+
this.left :
|
|
2357
|
+
lineLeft,
|
|
2358
|
+
horiz ?
|
|
2359
|
+
lineTop :
|
|
2360
|
+
this.top
|
|
2361
|
+
],
|
|
2362
|
+
[
|
|
2363
|
+
'L',
|
|
2364
|
+
horiz ?
|
|
2365
|
+
chart.chartWidth - this.right :
|
|
2366
|
+
lineLeft,
|
|
2367
|
+
horiz ?
|
|
2368
|
+
lineTop :
|
|
2369
|
+
chart.chartHeight - this.bottom
|
|
2370
|
+
]
|
|
2371
|
+
], lineWidth);
|
|
2372
|
+
};
|
|
2373
|
+
/**
|
|
2374
|
+
* Render the axis line. Called internally when rendering and redrawing the
|
|
2375
|
+
* axis.
|
|
2376
|
+
*
|
|
2377
|
+
* @function Highcharts.Axis#renderLine
|
|
2378
|
+
*/
|
|
2379
|
+
Axis.prototype.renderLine = function () {
|
|
2380
|
+
if (!this.axisLine) {
|
|
2381
|
+
this.axisLine = this.chart.renderer.path()
|
|
2382
|
+
.addClass('highcharts-axis-line')
|
|
2383
|
+
.add(this.axisGroup);
|
|
2384
|
+
if (!this.chart.styledMode) {
|
|
2385
|
+
this.axisLine.attr({
|
|
2386
|
+
stroke: this.options.lineColor,
|
|
2387
|
+
'stroke-width': this.options.lineWidth,
|
|
2388
|
+
zIndex: 7
|
|
2389
|
+
});
|
|
2390
|
+
}
|
|
2391
|
+
}
|
|
2392
|
+
};
|
|
2393
|
+
/**
|
|
2394
|
+
* Position the axis title.
|
|
2395
|
+
*
|
|
2396
|
+
* @private
|
|
2397
|
+
* @function Highcharts.Axis#getTitlePosition
|
|
2398
|
+
*
|
|
2399
|
+
* @return {Highcharts.PositionObject}
|
|
2400
|
+
* X and Y positions for the title.
|
|
2401
|
+
*/
|
|
2402
|
+
Axis.prototype.getTitlePosition = function () {
|
|
2403
|
+
// compute anchor points for each of the title align options
|
|
2404
|
+
var horiz = this.horiz, axisLeft = this.left, axisTop = this.top, axisLength = this.len, axisTitleOptions = this.options.title, margin = horiz ? axisLeft : axisTop, opposite = this.opposite, offset = this.offset, xOption = axisTitleOptions.x, yOption = axisTitleOptions.y, axisTitle = this.axisTitle, fontMetrics = this.chart.renderer.fontMetrics(axisTitleOptions.style.fontSize, axisTitle),
|
|
2405
|
+
// The part of a multiline text that is below the baseline of the
|
|
2406
|
+
// first line. Subtract 1 to preserve pixel-perfectness from the
|
|
2407
|
+
// old behaviour (v5.0.12), where only one line was allowed.
|
|
2408
|
+
textHeightOvershoot = Math.max(axisTitle.getBBox(null, 0).height - fontMetrics.h - 1, 0),
|
|
2409
|
+
// the position in the length direction of the axis
|
|
2410
|
+
alongAxis = {
|
|
2411
|
+
low: margin + (horiz ? 0 : axisLength),
|
|
2412
|
+
middle: margin + axisLength / 2,
|
|
2413
|
+
high: margin + (horiz ? axisLength : 0)
|
|
2414
|
+
}[axisTitleOptions.align],
|
|
2415
|
+
// the position in the perpendicular direction of the axis
|
|
2416
|
+
offAxis = (horiz ? axisTop + this.height : axisLeft) +
|
|
2417
|
+
(horiz ? 1 : -1) * // horizontal axis reverses the margin
|
|
2418
|
+
(opposite ? -1 : 1) * // so does opposite axes
|
|
2419
|
+
this.axisTitleMargin +
|
|
2420
|
+
[
|
|
2421
|
+
-textHeightOvershoot,
|
|
2422
|
+
textHeightOvershoot,
|
|
2423
|
+
fontMetrics.f,
|
|
2424
|
+
-textHeightOvershoot // left
|
|
2425
|
+
][this.side], titlePosition = {
|
|
2426
|
+
x: horiz ?
|
|
2427
|
+
alongAxis + xOption :
|
|
2428
|
+
offAxis + (opposite ? this.width : 0) + offset + xOption,
|
|
2429
|
+
y: horiz ?
|
|
2430
|
+
offAxis + yOption - (opposite ? this.height : 0) + offset :
|
|
2431
|
+
alongAxis + yOption
|
|
2432
|
+
};
|
|
2433
|
+
fireEvent(this, 'afterGetTitlePosition', { titlePosition: titlePosition });
|
|
2434
|
+
return titlePosition;
|
|
2435
|
+
};
|
|
2436
|
+
/**
|
|
2437
|
+
* Render a minor tick into the given position. If a minor tick already
|
|
2438
|
+
* exists in this position, move it.
|
|
2439
|
+
*
|
|
2440
|
+
* @function Highcharts.Axis#renderMinorTick
|
|
2441
|
+
*
|
|
2442
|
+
* @param {number} pos
|
|
2443
|
+
* The position in axis values.
|
|
2444
|
+
*
|
|
2445
|
+
* @param {boolean} slideIn
|
|
2446
|
+
* Whether the tick should animate in from last computed position
|
|
2447
|
+
*/
|
|
2448
|
+
Axis.prototype.renderMinorTick = function (pos, slideIn) {
|
|
2449
|
+
var axis = this;
|
|
2450
|
+
var minorTicks = axis.minorTicks;
|
|
2451
|
+
if (!minorTicks[pos]) {
|
|
2452
|
+
minorTicks[pos] = new Tick(axis, pos, 'minor');
|
|
2453
|
+
}
|
|
2454
|
+
// Render new ticks in old position
|
|
2455
|
+
if (slideIn && minorTicks[pos].isNew) {
|
|
2456
|
+
minorTicks[pos].render(null, true);
|
|
2457
|
+
}
|
|
2458
|
+
minorTicks[pos].render(null, false, 1);
|
|
2459
|
+
};
|
|
2460
|
+
/**
|
|
2461
|
+
* Render a major tick into the given position. If a tick already exists
|
|
2462
|
+
* in this position, move it.
|
|
2463
|
+
*
|
|
2464
|
+
* @function Highcharts.Axis#renderTick
|
|
2465
|
+
*
|
|
2466
|
+
* @param {number} pos
|
|
2467
|
+
* The position in axis values.
|
|
2468
|
+
*
|
|
2469
|
+
* @param {number} i
|
|
2470
|
+
* The tick index.
|
|
2471
|
+
*
|
|
2472
|
+
* @param {boolean} slideIn
|
|
2473
|
+
* Whether the tick should animate in from last computed position
|
|
2474
|
+
*/
|
|
2475
|
+
Axis.prototype.renderTick = function (pos, i, slideIn) {
|
|
2476
|
+
var axis = this, isLinked = axis.isLinked, ticks = axis.ticks;
|
|
2477
|
+
// Linked axes need an extra check to find out if
|
|
2478
|
+
if (!isLinked ||
|
|
2479
|
+
(pos >= axis.min && pos <= axis.max) ||
|
|
2480
|
+
(axis.grid && axis.grid.isColumn)) {
|
|
2481
|
+
if (!ticks[pos]) {
|
|
2482
|
+
ticks[pos] = new Tick(axis, pos);
|
|
2483
|
+
}
|
|
2484
|
+
// NOTE this seems like overkill. Could be handled in tick.render by
|
|
2485
|
+
// setting old position in attr, then set new position in animate.
|
|
2486
|
+
// render new ticks in old position
|
|
2487
|
+
if (slideIn && ticks[pos].isNew) {
|
|
2488
|
+
// Start with negative opacity so that it is visible from
|
|
2489
|
+
// halfway into the animation
|
|
2490
|
+
ticks[pos].render(i, true, -1);
|
|
2491
|
+
}
|
|
2492
|
+
ticks[pos].render(i);
|
|
2493
|
+
}
|
|
2494
|
+
};
|
|
2495
|
+
/**
|
|
2496
|
+
* Render the axis.
|
|
2497
|
+
*
|
|
2498
|
+
* @private
|
|
2499
|
+
* @function Highcharts.Axis#render
|
|
2500
|
+
*
|
|
2501
|
+
* @emits Highcharts.Axis#event:afterRender
|
|
2502
|
+
*/
|
|
2503
|
+
Axis.prototype.render = function () {
|
|
2504
|
+
var axis = this, chart = axis.chart, log = axis.logarithmic, renderer = chart.renderer, options = axis.options, isLinked = axis.isLinked, tickPositions = axis.tickPositions, axisTitle = axis.axisTitle, ticks = axis.ticks, minorTicks = axis.minorTicks, alternateBands = axis.alternateBands, stackLabelOptions = options.stackLabels, alternateGridColor = options.alternateGridColor, tickmarkOffset = axis.tickmarkOffset, axisLine = axis.axisLine, showAxis = axis.showAxis, animation = animObject(renderer.globalAnimation);
|
|
2505
|
+
var from, to;
|
|
2506
|
+
// Reset
|
|
2507
|
+
axis.labelEdge.length = 0;
|
|
2508
|
+
axis.overlap = false;
|
|
2509
|
+
// Mark all elements inActive before we go over and mark the active ones
|
|
2510
|
+
[ticks, minorTicks, alternateBands].forEach(function (coll) {
|
|
2511
|
+
objectEach(coll, function (tick) {
|
|
2512
|
+
tick.isActive = false;
|
|
2513
|
+
});
|
|
2514
|
+
});
|
|
2515
|
+
// If the series has data draw the ticks. Else only the line and title
|
|
2516
|
+
if (axis.hasData() || isLinked) {
|
|
2517
|
+
var slideInTicks_1 = axis.chart.hasRendered &&
|
|
2518
|
+
axis.old && isNumber(axis.old.min);
|
|
2519
|
+
// minor ticks
|
|
2520
|
+
if (axis.minorTickInterval && !axis.categories) {
|
|
2521
|
+
axis.getMinorTickPositions().forEach(function (pos) {
|
|
2522
|
+
axis.renderMinorTick(pos, slideInTicks_1);
|
|
2523
|
+
});
|
|
2524
|
+
}
|
|
2525
|
+
// Major ticks. Pull out the first item and render it last so that
|
|
2526
|
+
// we can get the position of the neighbour label. #808.
|
|
2527
|
+
if (tickPositions.length) { // #1300
|
|
2528
|
+
tickPositions.forEach(function (pos, i) {
|
|
2529
|
+
axis.renderTick(pos, i, slideInTicks_1);
|
|
2530
|
+
});
|
|
2531
|
+
// In a categorized axis, the tick marks are displayed
|
|
2532
|
+
// between labels. So we need to add a tick mark and
|
|
2533
|
+
// grid line at the left edge of the X axis.
|
|
2534
|
+
if (tickmarkOffset && (axis.min === 0 || axis.single)) {
|
|
2535
|
+
if (!ticks[-1]) {
|
|
2536
|
+
ticks[-1] = new Tick(axis, -1, null, true);
|
|
2537
|
+
}
|
|
2538
|
+
ticks[-1].render(-1);
|
|
2539
|
+
}
|
|
2540
|
+
}
|
|
2541
|
+
// alternate grid color
|
|
2542
|
+
if (alternateGridColor) {
|
|
2543
|
+
tickPositions.forEach(function (pos, i) {
|
|
2544
|
+
to = typeof tickPositions[i + 1] !== 'undefined' ?
|
|
2545
|
+
tickPositions[i + 1] + tickmarkOffset :
|
|
2546
|
+
axis.max - tickmarkOffset;
|
|
2547
|
+
if (i % 2 === 0 &&
|
|
2548
|
+
pos < axis.max &&
|
|
2549
|
+
to <= axis.max + (chart.polar ?
|
|
2550
|
+
-tickmarkOffset :
|
|
2551
|
+
tickmarkOffset)) { // #2248, #4660
|
|
2552
|
+
if (!alternateBands[pos]) {
|
|
2553
|
+
// Should be imported from PlotLineOrBand.js, but
|
|
2554
|
+
// the dependency cycle with axis is a problem
|
|
2555
|
+
alternateBands[pos] = new H.PlotLineOrBand(axis);
|
|
2556
|
+
}
|
|
2557
|
+
from = pos + tickmarkOffset; // #949
|
|
2558
|
+
alternateBands[pos].options = {
|
|
2559
|
+
from: log ? log.lin2log(from) : from,
|
|
2560
|
+
to: log ? log.lin2log(to) : to,
|
|
2561
|
+
color: alternateGridColor,
|
|
2562
|
+
className: 'highcharts-alternate-grid'
|
|
2563
|
+
};
|
|
2564
|
+
alternateBands[pos].render();
|
|
2565
|
+
alternateBands[pos].isActive = true;
|
|
2566
|
+
}
|
|
2567
|
+
});
|
|
2568
|
+
}
|
|
2569
|
+
// custom plot lines and bands
|
|
2570
|
+
if (!axis._addedPlotLB) { // only first time
|
|
2571
|
+
axis._addedPlotLB = true;
|
|
2572
|
+
(options.plotLines || [])
|
|
2573
|
+
.concat(options.plotBands || [])
|
|
2574
|
+
.forEach(function (plotLineOptions) {
|
|
2575
|
+
axis
|
|
2576
|
+
.addPlotBandOrLine(plotLineOptions);
|
|
2577
|
+
});
|
|
2578
|
+
}
|
|
2579
|
+
} // end if hasData
|
|
2580
|
+
// Remove inactive ticks
|
|
2581
|
+
[ticks, minorTicks, alternateBands].forEach(function (coll) {
|
|
2582
|
+
var forDestruction = [], delay = animation.duration, destroyInactiveItems = function () {
|
|
2583
|
+
var i = forDestruction.length;
|
|
2584
|
+
while (i--) {
|
|
2585
|
+
// When resizing rapidly, the same items
|
|
2586
|
+
// may be destroyed in different timeouts,
|
|
2587
|
+
// or the may be reactivated
|
|
2588
|
+
if (coll[forDestruction[i]] &&
|
|
2589
|
+
!coll[forDestruction[i]].isActive) {
|
|
2590
|
+
coll[forDestruction[i]].destroy();
|
|
2591
|
+
delete coll[forDestruction[i]];
|
|
2592
|
+
}
|
|
2593
|
+
}
|
|
2594
|
+
};
|
|
2595
|
+
objectEach(coll, function (tick, pos) {
|
|
2596
|
+
if (!tick.isActive) {
|
|
2597
|
+
// Render to zero opacity
|
|
2598
|
+
tick.render(pos, false, 0);
|
|
2599
|
+
tick.isActive = false;
|
|
2600
|
+
forDestruction.push(pos);
|
|
2601
|
+
}
|
|
2602
|
+
});
|
|
2603
|
+
// When the objects are finished fading out, destroy them
|
|
2604
|
+
syncTimeout(destroyInactiveItems, coll === alternateBands ||
|
|
2605
|
+
!chart.hasRendered ||
|
|
2606
|
+
!delay ?
|
|
2607
|
+
0 :
|
|
2608
|
+
delay);
|
|
2609
|
+
});
|
|
2610
|
+
// Set the axis line path
|
|
2611
|
+
if (axisLine) {
|
|
2612
|
+
axisLine[axisLine.isPlaced ? 'animate' : 'attr']({
|
|
2613
|
+
d: this.getLinePath(axisLine.strokeWidth())
|
|
2614
|
+
});
|
|
2615
|
+
axisLine.isPlaced = true;
|
|
2616
|
+
// Show or hide the line depending on options.showEmpty
|
|
2617
|
+
axisLine[showAxis ? 'show' : 'hide'](showAxis);
|
|
2618
|
+
}
|
|
2619
|
+
if (axisTitle && showAxis) {
|
|
2620
|
+
var titleXy = axis.getTitlePosition();
|
|
2621
|
+
if (isNumber(titleXy.y)) {
|
|
2622
|
+
axisTitle[axisTitle.isNew ? 'attr' : 'animate'](titleXy);
|
|
2623
|
+
axisTitle.isNew = false;
|
|
2624
|
+
}
|
|
2625
|
+
else {
|
|
2626
|
+
axisTitle.attr('y', -9999);
|
|
2627
|
+
axisTitle.isNew = true;
|
|
2628
|
+
}
|
|
2629
|
+
}
|
|
2630
|
+
// Stacked totals:
|
|
2631
|
+
if (stackLabelOptions && stackLabelOptions.enabled && axis.stacking) {
|
|
2632
|
+
axis.stacking.renderStackTotals();
|
|
2633
|
+
}
|
|
2634
|
+
// End stacked totals
|
|
2635
|
+
// Record old scaling for updating/animation
|
|
2636
|
+
axis.old = {
|
|
2637
|
+
len: axis.len,
|
|
2638
|
+
max: axis.max,
|
|
2639
|
+
min: axis.min,
|
|
2640
|
+
transA: axis.transA,
|
|
2641
|
+
userMax: axis.userMax,
|
|
2642
|
+
userMin: axis.userMin
|
|
2643
|
+
};
|
|
2644
|
+
axis.isDirty = false;
|
|
2645
|
+
fireEvent(this, 'afterRender');
|
|
2646
|
+
};
|
|
2647
|
+
/**
|
|
2648
|
+
* Redraw the axis to reflect changes in the data or axis extremes. Called
|
|
2649
|
+
* internally from Highcharts.Chart#redraw.
|
|
2650
|
+
*
|
|
2651
|
+
* @private
|
|
2652
|
+
* @function Highcharts.Axis#redraw
|
|
2653
|
+
*/
|
|
2654
|
+
Axis.prototype.redraw = function () {
|
|
2655
|
+
if (this.visible) {
|
|
2656
|
+
// render the axis
|
|
2657
|
+
this.render();
|
|
2658
|
+
// move plot lines and bands
|
|
2659
|
+
this.plotLinesAndBands.forEach(function (plotLine) {
|
|
2660
|
+
plotLine.render();
|
|
2661
|
+
});
|
|
2662
|
+
}
|
|
2663
|
+
// mark associated series as dirty and ready for redraw
|
|
2664
|
+
this.series.forEach(function (series) {
|
|
2665
|
+
series.isDirty = true;
|
|
2666
|
+
});
|
|
2667
|
+
};
|
|
2668
|
+
/**
|
|
2669
|
+
* Returns an array of axis properties, that should be untouched during
|
|
2670
|
+
* reinitialization.
|
|
2671
|
+
*
|
|
2672
|
+
* @private
|
|
2673
|
+
* @function Highcharts.Axis#getKeepProps
|
|
2674
|
+
*/
|
|
2675
|
+
Axis.prototype.getKeepProps = function () {
|
|
2676
|
+
return (this.keepProps || Axis.keepProps);
|
|
2677
|
+
};
|
|
2678
|
+
/**
|
|
2679
|
+
* Destroys an Axis instance. See {@link Axis#remove} for the API endpoint
|
|
2680
|
+
* to fully remove the axis.
|
|
2681
|
+
*
|
|
2682
|
+
* @private
|
|
2683
|
+
* @function Highcharts.Axis#destroy
|
|
2684
|
+
*
|
|
2685
|
+
* @param {boolean} [keepEvents]
|
|
2686
|
+
* Whether to preserve events, used internally in Axis.update.
|
|
2687
|
+
*/
|
|
2688
|
+
Axis.prototype.destroy = function (keepEvents) {
|
|
2689
|
+
var axis = this, plotLinesAndBands = axis.plotLinesAndBands, eventOptions = this.eventOptions;
|
|
2690
|
+
fireEvent(this, 'destroy', { keepEvents: keepEvents });
|
|
2691
|
+
// Remove the events
|
|
2692
|
+
if (!keepEvents) {
|
|
2693
|
+
removeEvent(axis);
|
|
2694
|
+
}
|
|
2695
|
+
// Destroy collections
|
|
2696
|
+
[axis.ticks, axis.minorTicks, axis.alternateBands].forEach(function (coll) {
|
|
2697
|
+
destroyObjectProperties(coll);
|
|
2698
|
+
});
|
|
2699
|
+
if (plotLinesAndBands) {
|
|
2700
|
+
var i = plotLinesAndBands.length;
|
|
2701
|
+
while (i--) { // #1975
|
|
2702
|
+
plotLinesAndBands[i].destroy();
|
|
2703
|
+
}
|
|
2704
|
+
}
|
|
2705
|
+
// Destroy elements
|
|
2706
|
+
['axisLine', 'axisTitle', 'axisGroup',
|
|
2707
|
+
'gridGroup', 'labelGroup', 'cross', 'scrollbar'].forEach(function (prop) {
|
|
2708
|
+
if (axis[prop]) {
|
|
2709
|
+
axis[prop] = axis[prop].destroy();
|
|
2710
|
+
}
|
|
2711
|
+
});
|
|
2712
|
+
// Destroy each generated group for plotlines and plotbands
|
|
2713
|
+
for (var plotGroup in axis.plotLinesAndBandsGroups) { // eslint-disable-line guard-for-in
|
|
2714
|
+
axis.plotLinesAndBandsGroups[plotGroup] =
|
|
2715
|
+
axis.plotLinesAndBandsGroups[plotGroup].destroy();
|
|
2716
|
+
}
|
|
2717
|
+
// Delete all properties and fall back to the prototype.
|
|
2718
|
+
objectEach(axis, function (val, key) {
|
|
2719
|
+
if (axis.getKeepProps().indexOf(key) === -1) {
|
|
2720
|
+
delete axis[key];
|
|
2721
|
+
}
|
|
2722
|
+
});
|
|
2723
|
+
this.eventOptions = eventOptions;
|
|
2724
|
+
};
|
|
2725
|
+
/**
|
|
2726
|
+
* Internal function to draw a crosshair.
|
|
2727
|
+
*
|
|
2728
|
+
* @function Highcharts.Axis#drawCrosshair
|
|
2729
|
+
*
|
|
2730
|
+
* @param {Highcharts.PointerEventObject} [e]
|
|
2731
|
+
* The event arguments from the modified pointer event, extended with
|
|
2732
|
+
* `chartX` and `chartY`
|
|
2733
|
+
*
|
|
2734
|
+
* @param {Highcharts.Point} [point]
|
|
2735
|
+
* The Point object if the crosshair snaps to points.
|
|
2736
|
+
*
|
|
2737
|
+
* @emits Highcharts.Axis#event:afterDrawCrosshair
|
|
2738
|
+
* @emits Highcharts.Axis#event:drawCrosshair
|
|
2739
|
+
*/
|
|
2740
|
+
Axis.prototype.drawCrosshair = function (e, point) {
|
|
2741
|
+
var options = this.crosshair, snap = pick(options && options.snap, true), chart = this.chart;
|
|
2742
|
+
var path, pos, categorized, graphic = this.cross, crossOptions;
|
|
2743
|
+
fireEvent(this, 'drawCrosshair', { e: e, point: point });
|
|
2744
|
+
// Use last available event when updating non-snapped crosshairs without
|
|
2745
|
+
// mouse interaction (#5287)
|
|
2746
|
+
if (!e) {
|
|
2747
|
+
e = this.cross && this.cross.e;
|
|
2748
|
+
}
|
|
2749
|
+
if (
|
|
2750
|
+
// Disabled in options
|
|
2751
|
+
!options ||
|
|
2752
|
+
// Snap
|
|
2753
|
+
((defined(point) || !snap) === false)) {
|
|
2754
|
+
this.hideCrosshair();
|
|
2755
|
+
}
|
|
2756
|
+
else {
|
|
2757
|
+
// Get the path
|
|
2758
|
+
if (!snap) {
|
|
2759
|
+
pos = e &&
|
|
2760
|
+
(this.horiz ?
|
|
2761
|
+
e.chartX - this.pos :
|
|
2762
|
+
this.len - e.chartY + this.pos);
|
|
2763
|
+
}
|
|
2764
|
+
else if (defined(point)) {
|
|
2765
|
+
// #3834
|
|
2766
|
+
pos = pick(this.coll !== 'colorAxis' ?
|
|
2767
|
+
point.crosshairPos : // 3D axis extension
|
|
2768
|
+
null, this.isXAxis ?
|
|
2769
|
+
point.plotX :
|
|
2770
|
+
this.len - point.plotY);
|
|
2771
|
+
}
|
|
2772
|
+
if (defined(pos)) {
|
|
2773
|
+
crossOptions = {
|
|
2774
|
+
// value, only used on radial
|
|
2775
|
+
value: point && (this.isXAxis ?
|
|
2776
|
+
point.x :
|
|
2777
|
+
pick(point.stackY, point.y)),
|
|
2778
|
+
translatedValue: pos
|
|
2779
|
+
};
|
|
2780
|
+
if (chart.polar) {
|
|
2781
|
+
// Additional information required for crosshairs in
|
|
2782
|
+
// polar chart
|
|
2783
|
+
extend(crossOptions, {
|
|
2784
|
+
isCrosshair: true,
|
|
2785
|
+
chartX: e && e.chartX,
|
|
2786
|
+
chartY: e && e.chartY,
|
|
2787
|
+
point: point
|
|
2788
|
+
});
|
|
2789
|
+
}
|
|
2790
|
+
path = this.getPlotLinePath(crossOptions) ||
|
|
2791
|
+
null; // #3189
|
|
2792
|
+
}
|
|
2793
|
+
if (!defined(path)) {
|
|
2794
|
+
this.hideCrosshair();
|
|
2795
|
+
return;
|
|
2796
|
+
}
|
|
2797
|
+
categorized = this.categories && !this.isRadial;
|
|
2798
|
+
// Draw the cross
|
|
2799
|
+
if (!graphic) {
|
|
2800
|
+
this.cross = graphic = chart.renderer
|
|
2801
|
+
.path()
|
|
2802
|
+
.addClass('highcharts-crosshair highcharts-crosshair-' +
|
|
2803
|
+
(categorized ? 'category ' : 'thin ') +
|
|
2804
|
+
(options.className || ''))
|
|
2805
|
+
.attr({
|
|
2806
|
+
zIndex: pick(options.zIndex, 2)
|
|
2807
|
+
})
|
|
2808
|
+
.add();
|
|
2809
|
+
// Presentational attributes
|
|
2810
|
+
if (!chart.styledMode) {
|
|
2811
|
+
graphic.attr({
|
|
2812
|
+
stroke: options.color ||
|
|
2813
|
+
(categorized ?
|
|
2814
|
+
Color
|
|
2815
|
+
.parse("#ccd6eb" /* highlightColor20 */)
|
|
2816
|
+
.setOpacity(0.25)
|
|
2817
|
+
.get() :
|
|
2818
|
+
"#cccccc" /* neutralColor20 */),
|
|
2819
|
+
'stroke-width': pick(options.width, 1)
|
|
2820
|
+
}).css({
|
|
2821
|
+
'pointer-events': 'none'
|
|
2822
|
+
});
|
|
2823
|
+
if (options.dashStyle) {
|
|
2824
|
+
graphic.attr({
|
|
2825
|
+
dashstyle: options.dashStyle
|
|
2826
|
+
});
|
|
2827
|
+
}
|
|
2828
|
+
}
|
|
2829
|
+
}
|
|
2830
|
+
graphic.show().attr({
|
|
2831
|
+
d: path
|
|
2832
|
+
});
|
|
2833
|
+
if (categorized && !options.width) {
|
|
2834
|
+
graphic.attr({
|
|
2835
|
+
'stroke-width': this.transA
|
|
2836
|
+
});
|
|
2837
|
+
}
|
|
2838
|
+
this.cross.e = e;
|
|
2839
|
+
}
|
|
2840
|
+
fireEvent(this, 'afterDrawCrosshair', { e: e, point: point });
|
|
2841
|
+
};
|
|
2842
|
+
/**
|
|
2843
|
+
* Hide the crosshair if visible.
|
|
2844
|
+
*
|
|
2845
|
+
* @function Highcharts.Axis#hideCrosshair
|
|
2846
|
+
*/
|
|
2847
|
+
Axis.prototype.hideCrosshair = function () {
|
|
2848
|
+
if (this.cross) {
|
|
2849
|
+
this.cross.hide();
|
|
2850
|
+
}
|
|
2851
|
+
fireEvent(this, 'afterHideCrosshair');
|
|
2852
|
+
};
|
|
2853
|
+
/**
|
|
2854
|
+
* Check whether the chart has vertical panning ('y' or 'xy' type).
|
|
2855
|
+
*
|
|
2856
|
+
* @private
|
|
2857
|
+
* @function Highcharts.Axis#hasVerticalPanning
|
|
2858
|
+
*/
|
|
2859
|
+
Axis.prototype.hasVerticalPanning = function () {
|
|
2860
|
+
var panningOptions = this.chart.options.chart.panning;
|
|
2861
|
+
return Boolean(panningOptions &&
|
|
2862
|
+
panningOptions.enabled && // #14624
|
|
2863
|
+
/y/.test(panningOptions.type));
|
|
2864
|
+
};
|
|
2865
|
+
/**
|
|
2866
|
+
* Check whether the given value is a positive valid axis value.
|
|
2867
|
+
*
|
|
2868
|
+
* @private
|
|
2869
|
+
* @function Highcharts.Axis#validatePositiveValue
|
|
2870
|
+
*
|
|
2871
|
+
* @param {unknown} value
|
|
2872
|
+
* The axis value
|
|
2873
|
+
*/
|
|
2874
|
+
Axis.prototype.validatePositiveValue = function (value) {
|
|
2875
|
+
return isNumber(value) && value > 0;
|
|
2876
|
+
};
|
|
2877
|
+
/**
|
|
2878
|
+
* Update an axis object with a new set of options. The options are merged
|
|
2879
|
+
* with the existing options, so only new or altered options need to be
|
|
2880
|
+
* specified.
|
|
2881
|
+
*
|
|
2882
|
+
* @sample highcharts/members/axis-update/
|
|
2883
|
+
* Axis update demo
|
|
2884
|
+
*
|
|
2885
|
+
* @function Highcharts.Axis#update
|
|
2886
|
+
*
|
|
2887
|
+
* @param {Highcharts.AxisOptions} options
|
|
2888
|
+
* The new options that will be merged in with existing options on the axis.
|
|
2889
|
+
*
|
|
2890
|
+
* @param {boolean} [redraw=true]
|
|
2891
|
+
* Whether to redraw the chart after the axis is altered. If doing more
|
|
2892
|
+
* operations on the chart, it is a good idea to set redraw to false and
|
|
2893
|
+
* call {@link Chart#redraw} after.
|
|
2894
|
+
*/
|
|
2895
|
+
Axis.prototype.update = function (options, redraw) {
|
|
2896
|
+
var chart = this.chart;
|
|
2897
|
+
options = merge(this.userOptions, options);
|
|
2898
|
+
this.destroy(true);
|
|
2899
|
+
this.init(chart, options);
|
|
2900
|
+
chart.isDirtyBox = true;
|
|
2901
|
+
if (pick(redraw, true)) {
|
|
2902
|
+
chart.redraw();
|
|
2903
|
+
}
|
|
2904
|
+
};
|
|
2905
|
+
/**
|
|
2906
|
+
* Remove the axis from the chart.
|
|
2907
|
+
*
|
|
2908
|
+
* @sample highcharts/members/chart-addaxis/
|
|
2909
|
+
* Add and remove axes
|
|
2910
|
+
*
|
|
2911
|
+
* @function Highcharts.Axis#remove
|
|
2912
|
+
*
|
|
2913
|
+
* @param {boolean} [redraw=true]
|
|
2914
|
+
* Whether to redraw the chart following the remove.
|
|
2915
|
+
*/
|
|
2916
|
+
Axis.prototype.remove = function (redraw) {
|
|
2917
|
+
var chart = this.chart, key = this.coll, // xAxis or yAxis
|
|
2918
|
+
axisSeries = this.series;
|
|
2919
|
+
var i = axisSeries.length;
|
|
2920
|
+
// Remove associated series (#2687)
|
|
2921
|
+
while (i--) {
|
|
2922
|
+
if (axisSeries[i]) {
|
|
2923
|
+
axisSeries[i].remove(false);
|
|
2924
|
+
}
|
|
2925
|
+
}
|
|
2926
|
+
// Remove the axis
|
|
2927
|
+
erase(chart.axes, this);
|
|
2928
|
+
erase(chart[key], this);
|
|
2929
|
+
chart[key].forEach(function (axis, i) {
|
|
2930
|
+
// Re-index, #1706, #8075
|
|
2931
|
+
axis.options.index = axis.userOptions.index = i;
|
|
2932
|
+
});
|
|
2933
|
+
this.destroy();
|
|
2934
|
+
chart.isDirtyBox = true;
|
|
2935
|
+
if (pick(redraw, true)) {
|
|
2936
|
+
chart.redraw();
|
|
2937
|
+
}
|
|
2938
|
+
};
|
|
2939
|
+
/**
|
|
2940
|
+
* Update the axis title by options after render time.
|
|
2941
|
+
*
|
|
2942
|
+
* @sample highcharts/members/axis-settitle/
|
|
2943
|
+
* Set a new Y axis title
|
|
2944
|
+
*
|
|
2945
|
+
* @function Highcharts.Axis#setTitle
|
|
2946
|
+
*
|
|
2947
|
+
* @param {Highcharts.AxisTitleOptions} titleOptions
|
|
2948
|
+
* The additional title options.
|
|
2949
|
+
*
|
|
2950
|
+
* @param {boolean} [redraw=true]
|
|
2951
|
+
* Whether to redraw the chart after setting the title.
|
|
2952
|
+
*/
|
|
2953
|
+
Axis.prototype.setTitle = function (titleOptions, redraw) {
|
|
2954
|
+
this.update({ title: titleOptions }, redraw);
|
|
2955
|
+
};
|
|
2956
|
+
/**
|
|
2957
|
+
* Set new axis categories and optionally redraw.
|
|
2958
|
+
*
|
|
2959
|
+
* @sample highcharts/members/axis-setcategories/
|
|
2960
|
+
* Set categories by click on a button
|
|
2961
|
+
*
|
|
2962
|
+
* @function Highcharts.Axis#setCategories
|
|
2963
|
+
*
|
|
2964
|
+
* @param {Array<string>} categories
|
|
2965
|
+
* The new categories.
|
|
2966
|
+
*
|
|
2967
|
+
* @param {boolean} [redraw=true]
|
|
2968
|
+
* Whether to redraw the chart.
|
|
2969
|
+
*/
|
|
2970
|
+
Axis.prototype.setCategories = function (categories, redraw) {
|
|
2971
|
+
this.update({ categories: categories }, redraw);
|
|
2972
|
+
};
|
|
2973
|
+
/* *
|
|
2974
|
+
*
|
|
2975
|
+
* Static Properties
|
|
2976
|
+
*
|
|
2977
|
+
* */
|
|
2978
|
+
Axis.defaultOptions = AxisDefaults.defaultXAxisOptions;
|
|
2979
|
+
// Properties to survive after destroy, needed for Axis.update (#4317,
|
|
2980
|
+
// #5773, #5881).
|
|
2981
|
+
Axis.keepProps = [
|
|
2982
|
+
'extKey',
|
|
2983
|
+
'hcEvents',
|
|
2984
|
+
'names',
|
|
2985
|
+
'series',
|
|
2986
|
+
'userMax',
|
|
2987
|
+
'userMin'
|
|
2988
|
+
];
|
|
2989
|
+
return Axis;
|
|
2990
|
+
}());
|
|
2991
|
+
/* *
|
|
2992
|
+
*
|
|
2993
|
+
* Default Export
|
|
2994
|
+
*
|
|
2995
|
+
* */
|
|
2996
|
+
export default Axis;
|
|
2997
|
+
/* *
|
|
2998
|
+
*
|
|
2999
|
+
* API Declarations
|
|
3000
|
+
*
|
|
3001
|
+
* */
|
|
3002
|
+
/**
|
|
3003
|
+
* Options for the path on the Axis to be calculated.
|
|
3004
|
+
* @interface Highcharts.AxisPlotLinePathOptionsObject
|
|
3005
|
+
*/ /**
|
|
3006
|
+
* Axis value.
|
|
3007
|
+
* @name Highcharts.AxisPlotLinePathOptionsObject#value
|
|
3008
|
+
* @type {number|undefined}
|
|
3009
|
+
*/ /**
|
|
3010
|
+
* Line width used for calculation crisp line coordinates. Defaults to 1.
|
|
3011
|
+
* @name Highcharts.AxisPlotLinePathOptionsObject#lineWidth
|
|
3012
|
+
* @type {number|undefined}
|
|
3013
|
+
*/ /**
|
|
3014
|
+
* If `false`, the function will return null when it falls outside the axis
|
|
3015
|
+
* bounds. If `true`, the function will return a path aligned to the plot area
|
|
3016
|
+
* sides if it falls outside. If `pass`, it will return a path outside.
|
|
3017
|
+
* @name Highcharts.AxisPlotLinePathOptionsObject#force
|
|
3018
|
+
* @type {string|boolean|undefined}
|
|
3019
|
+
*/ /**
|
|
3020
|
+
* Used in Highcharts Stock. When `true`, plot paths
|
|
3021
|
+
* (crosshair, plotLines, gridLines)
|
|
3022
|
+
* will be rendered on all axes when defined on the first axis.
|
|
3023
|
+
* @name Highcharts.AxisPlotLinePathOptionsObject#acrossPanes
|
|
3024
|
+
* @type {boolean|undefined}
|
|
3025
|
+
*/ /**
|
|
3026
|
+
* Use old coordinates (for resizing and rescaling).
|
|
3027
|
+
* If not set, defaults to `false`.
|
|
3028
|
+
* @name Highcharts.AxisPlotLinePathOptionsObject#old
|
|
3029
|
+
* @type {boolean|undefined}
|
|
3030
|
+
*/ /**
|
|
3031
|
+
* If given, return the plot line path of a pixel position on the axis.
|
|
3032
|
+
* @name Highcharts.AxisPlotLinePathOptionsObject#translatedValue
|
|
3033
|
+
* @type {number|undefined}
|
|
3034
|
+
*/ /**
|
|
3035
|
+
* Used in Polar axes. Reverse the positions for concatenation of polygonal
|
|
3036
|
+
* plot bands
|
|
3037
|
+
* @name Highcharts.AxisPlotLinePathOptionsObject#reverse
|
|
3038
|
+
* @type {boolean|undefined}
|
|
3039
|
+
*/
|
|
3040
|
+
/**
|
|
3041
|
+
* Options for crosshairs on axes.
|
|
3042
|
+
*
|
|
3043
|
+
* @product highstock
|
|
3044
|
+
*
|
|
3045
|
+
* @typedef {Highcharts.XAxisCrosshairOptions|Highcharts.YAxisCrosshairOptions} Highcharts.AxisCrosshairOptions
|
|
3046
|
+
*/
|
|
3047
|
+
/**
|
|
3048
|
+
* @typedef {"navigator"|"pan"|"rangeSelectorButton"|"rangeSelectorInput"|"scrollbar"|"traverseUpButton"|"zoom"} Highcharts.AxisExtremesTriggerValue
|
|
3049
|
+
*/
|
|
3050
|
+
/**
|
|
3051
|
+
* @callback Highcharts.AxisEventCallbackFunction
|
|
3052
|
+
*
|
|
3053
|
+
* @param {Highcharts.Axis} this
|
|
3054
|
+
*/
|
|
3055
|
+
/**
|
|
3056
|
+
* @callback Highcharts.AxisLabelsFormatterCallbackFunction
|
|
3057
|
+
*
|
|
3058
|
+
* @param {Highcharts.AxisLabelsFormatterContextObject} this
|
|
3059
|
+
*
|
|
3060
|
+
* @param {Highcharts.AxisLabelsFormatterContextObject} ctx
|
|
3061
|
+
*
|
|
3062
|
+
* @return {string}
|
|
3063
|
+
*/
|
|
3064
|
+
/**
|
|
3065
|
+
* @interface Highcharts.AxisLabelsFormatterContextObject
|
|
3066
|
+
*/ /**
|
|
3067
|
+
* The axis item of the label
|
|
3068
|
+
* @name Highcharts.AxisLabelsFormatterContextObject#axis
|
|
3069
|
+
* @type {Highcharts.Axis}
|
|
3070
|
+
*/ /**
|
|
3071
|
+
* The chart instance.
|
|
3072
|
+
* @name Highcharts.AxisLabelsFormatterContextObject#chart
|
|
3073
|
+
* @type {Highcharts.Chart}
|
|
3074
|
+
*/ /**
|
|
3075
|
+
* Whether the label belongs to the first tick on the axis.
|
|
3076
|
+
* @name Highcharts.AxisLabelsFormatterContextObject#isFirst
|
|
3077
|
+
* @type {boolean}
|
|
3078
|
+
*/ /**
|
|
3079
|
+
* Whether the label belongs to the last tick on the axis.
|
|
3080
|
+
* @name Highcharts.AxisLabelsFormatterContextObject#isLast
|
|
3081
|
+
* @type {boolean}
|
|
3082
|
+
*/ /**
|
|
3083
|
+
* The position on the axis in terms of axis values. For category axes, a
|
|
3084
|
+
* zero-based index. For datetime axes, the JavaScript time in milliseconds
|
|
3085
|
+
* since 1970.
|
|
3086
|
+
* @name Highcharts.AxisLabelsFormatterContextObject#pos
|
|
3087
|
+
* @type {number}
|
|
3088
|
+
*/ /**
|
|
3089
|
+
* The preformatted text as the result of the default formatting. For example
|
|
3090
|
+
* dates will be formatted as strings, and numbers with language-specific comma
|
|
3091
|
+
* separators, thousands separators and numeric symbols like `k` or `M`.
|
|
3092
|
+
* @name Highcharts.AxisLabelsFormatterContextObject#text
|
|
3093
|
+
* @type {string}
|
|
3094
|
+
*/ /**
|
|
3095
|
+
* The Tick instance.
|
|
3096
|
+
* @name Highcharts.AxisLabelsFormatterContextObject#tick
|
|
3097
|
+
* @type {Highcharts.Tick}
|
|
3098
|
+
*/ /**
|
|
3099
|
+
* This can be either a numeric value or a category string.
|
|
3100
|
+
* @name Highcharts.AxisLabelsFormatterContextObject#value
|
|
3101
|
+
* @type {number|string}
|
|
3102
|
+
*/
|
|
3103
|
+
/**
|
|
3104
|
+
* Options for axes.
|
|
3105
|
+
*
|
|
3106
|
+
* @typedef {Highcharts.XAxisOptions|Highcharts.YAxisOptions|Highcharts.ZAxisOptions} Highcharts.AxisOptions
|
|
3107
|
+
*/
|
|
3108
|
+
/**
|
|
3109
|
+
* @callback Highcharts.AxisPointBreakEventCallbackFunction
|
|
3110
|
+
*
|
|
3111
|
+
* @param {Highcharts.Axis} this
|
|
3112
|
+
*
|
|
3113
|
+
* @param {Highcharts.AxisPointBreakEventObject} evt
|
|
3114
|
+
*/
|
|
3115
|
+
/**
|
|
3116
|
+
* @interface Highcharts.AxisPointBreakEventObject
|
|
3117
|
+
*/ /**
|
|
3118
|
+
* @name Highcharts.AxisPointBreakEventObject#brk
|
|
3119
|
+
* @type {Highcharts.Dictionary<number>}
|
|
3120
|
+
*/ /**
|
|
3121
|
+
* @name Highcharts.AxisPointBreakEventObject#point
|
|
3122
|
+
* @type {Highcharts.Point}
|
|
3123
|
+
*/ /**
|
|
3124
|
+
* @name Highcharts.AxisPointBreakEventObject#preventDefault
|
|
3125
|
+
* @type {Function}
|
|
3126
|
+
*/ /**
|
|
3127
|
+
* @name Highcharts.AxisPointBreakEventObject#target
|
|
3128
|
+
* @type {Highcharts.SVGElement}
|
|
3129
|
+
*/ /**
|
|
3130
|
+
* @name Highcharts.AxisPointBreakEventObject#type
|
|
3131
|
+
* @type {"pointBreak"|"pointInBreak"}
|
|
3132
|
+
*/
|
|
3133
|
+
/**
|
|
3134
|
+
* @callback Highcharts.AxisSetExtremesEventCallbackFunction
|
|
3135
|
+
*
|
|
3136
|
+
* @param {Highcharts.Axis} this
|
|
3137
|
+
*
|
|
3138
|
+
* @param {Highcharts.AxisSetExtremesEventObject} evt
|
|
3139
|
+
*/
|
|
3140
|
+
/**
|
|
3141
|
+
* @interface Highcharts.AxisSetExtremesEventObject
|
|
3142
|
+
* @extends Highcharts.ExtremesObject
|
|
3143
|
+
*/ /**
|
|
3144
|
+
* @name Highcharts.AxisSetExtremesEventObject#preventDefault
|
|
3145
|
+
* @type {Function}
|
|
3146
|
+
*/ /**
|
|
3147
|
+
* @name Highcharts.AxisSetExtremesEventObject#target
|
|
3148
|
+
* @type {Highcharts.SVGElement}
|
|
3149
|
+
*/ /**
|
|
3150
|
+
* @name Highcharts.AxisSetExtremesEventObject#trigger
|
|
3151
|
+
* @type {Highcharts.AxisExtremesTriggerValue|string}
|
|
3152
|
+
*/ /**
|
|
3153
|
+
* @name Highcharts.AxisSetExtremesEventObject#type
|
|
3154
|
+
* @type {"setExtremes"}
|
|
3155
|
+
*/
|
|
3156
|
+
/**
|
|
3157
|
+
* @callback Highcharts.AxisTickPositionerCallbackFunction
|
|
3158
|
+
*
|
|
3159
|
+
* @param {Highcharts.Axis} this
|
|
3160
|
+
*
|
|
3161
|
+
* @return {Highcharts.AxisTickPositionsArray}
|
|
3162
|
+
*/
|
|
3163
|
+
/**
|
|
3164
|
+
* @interface Highcharts.AxisTickPositionsArray
|
|
3165
|
+
* @augments Array<number>
|
|
3166
|
+
*/
|
|
3167
|
+
/**
|
|
3168
|
+
* @typedef {"high"|"low"|"middle"} Highcharts.AxisTitleAlignValue
|
|
3169
|
+
*/
|
|
3170
|
+
/**
|
|
3171
|
+
* @typedef {Highcharts.XAxisTitleOptions|Highcharts.YAxisTitleOptions|Highcharts.ZAxisTitleOptions} Highcharts.AxisTitleOptions
|
|
3172
|
+
*/
|
|
3173
|
+
/**
|
|
3174
|
+
* @typedef {"linear"|"logarithmic"|"datetime"|"category"|"treegrid"} Highcharts.AxisTypeValue
|
|
3175
|
+
*/
|
|
3176
|
+
/**
|
|
3177
|
+
* The returned object literal from the {@link Highcharts.Axis#getExtremes}
|
|
3178
|
+
* function.
|
|
3179
|
+
*
|
|
3180
|
+
* @interface Highcharts.ExtremesObject
|
|
3181
|
+
*/ /**
|
|
3182
|
+
* The maximum value of the axis' associated series.
|
|
3183
|
+
* @name Highcharts.ExtremesObject#dataMax
|
|
3184
|
+
* @type {number}
|
|
3185
|
+
*/ /**
|
|
3186
|
+
* The minimum value of the axis' associated series.
|
|
3187
|
+
* @name Highcharts.ExtremesObject#dataMin
|
|
3188
|
+
* @type {number}
|
|
3189
|
+
*/ /**
|
|
3190
|
+
* The maximum axis value, either automatic or set manually. If the `max` option
|
|
3191
|
+
* is not set, `maxPadding` is 0 and `endOnTick` is false, this value will be
|
|
3192
|
+
* the same as `dataMax`.
|
|
3193
|
+
* @name Highcharts.ExtremesObject#max
|
|
3194
|
+
* @type {number}
|
|
3195
|
+
*/ /**
|
|
3196
|
+
* The minimum axis value, either automatic or set manually. If the `min` option
|
|
3197
|
+
* is not set, `minPadding` is 0 and `startOnTick` is false, this value will be
|
|
3198
|
+
* the same as `dataMin`.
|
|
3199
|
+
* @name Highcharts.ExtremesObject#min
|
|
3200
|
+
* @type {number}
|
|
3201
|
+
*/ /**
|
|
3202
|
+
* The user defined maximum, either from the `max` option or from a zoom or
|
|
3203
|
+
* `setExtremes` action.
|
|
3204
|
+
* @name Highcharts.ExtremesObject#userMax
|
|
3205
|
+
* @type {number}
|
|
3206
|
+
*/ /**
|
|
3207
|
+
* The user defined minimum, either from the `min` option or from a zoom or
|
|
3208
|
+
* `setExtremes` action.
|
|
3209
|
+
* @name Highcharts.ExtremesObject#userMin
|
|
3210
|
+
* @type {number}
|
|
3211
|
+
*/
|
|
3212
|
+
/**
|
|
3213
|
+
* Formatter function for the text of a crosshair label.
|
|
3214
|
+
*
|
|
3215
|
+
* @callback Highcharts.XAxisCrosshairLabelFormatterCallbackFunction
|
|
3216
|
+
*
|
|
3217
|
+
* @param {Highcharts.Axis} this
|
|
3218
|
+
* Axis context
|
|
3219
|
+
*
|
|
3220
|
+
* @param {number} value
|
|
3221
|
+
* Y value of the data point
|
|
3222
|
+
*
|
|
3223
|
+
* @return {string}
|
|
3224
|
+
*/
|
|
3225
|
+
''; // keeps doclets above in JS file
|