ps-toolkit-ui 0.0.209 → 0.0.210
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/bundles/ps-toolkit-ui.umd.js +20 -2
- package/bundles/ps-toolkit-ui.umd.js.map +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js.map +1 -1
- package/esm2015/lib/classes/chart.class.js +140 -0
- package/esm2015/lib/components/chart/chart.component.js +17 -0
- package/esm2015/lib/ps-toolkit-ui.module.js +4 -3
- package/esm2015/ps-toolkit-ui.js +2 -1
- package/fesm2015/ps-toolkit-ui.js +19 -3
- package/fesm2015/ps-toolkit-ui.js.map +1 -1
- package/lib/classes/chart.class.d.ts +11 -0
- package/lib/components/chart/chart.component.d.ts +5 -0
- package/package.json +1 -1
- package/ps-toolkit-ui.d.ts +1 -0
- package/ps-toolkit-ui.metadata.json +1 -1
- 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
|
@@ -0,0 +1,2175 @@
|
|
|
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 Axis from '../Core/Axis/Axis.js';
|
|
12
|
+
import Chart from '../Core/Chart/Chart.js';
|
|
13
|
+
import H from '../Core/Globals.js';
|
|
14
|
+
import D from '../Core/DefaultOptions.js';
|
|
15
|
+
var defaultOptions = D.defaultOptions;
|
|
16
|
+
import SVGElement from '../Core/Renderer/SVG/SVGElement.js';
|
|
17
|
+
import U from '../Core/Utilities.js';
|
|
18
|
+
var addEvent = U.addEvent, createElement = U.createElement, css = U.css, defined = U.defined, destroyObjectProperties = U.destroyObjectProperties, discardElement = U.discardElement, extend = U.extend, find = U.find, fireEvent = U.fireEvent, isNumber = U.isNumber, merge = U.merge, objectEach = U.objectEach, pad = U.pad, pick = U.pick, pInt = U.pInt, splat = U.splat;
|
|
19
|
+
/**
|
|
20
|
+
* Define the time span for the button
|
|
21
|
+
*
|
|
22
|
+
* @typedef {"all"|"day"|"hour"|"millisecond"|"minute"|"month"|"second"|"week"|"year"|"ytd"} Highcharts.RangeSelectorButtonTypeValue
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Callback function to react on button clicks.
|
|
26
|
+
*
|
|
27
|
+
* @callback Highcharts.RangeSelectorClickCallbackFunction
|
|
28
|
+
*
|
|
29
|
+
* @param {global.Event} e
|
|
30
|
+
* Event arguments.
|
|
31
|
+
*
|
|
32
|
+
* @param {boolean|undefined}
|
|
33
|
+
* Return false to cancel the default button event.
|
|
34
|
+
*/
|
|
35
|
+
/**
|
|
36
|
+
* Callback function to parse values entered in the input boxes and return a
|
|
37
|
+
* valid JavaScript time as milliseconds since 1970.
|
|
38
|
+
*
|
|
39
|
+
* @callback Highcharts.RangeSelectorParseCallbackFunction
|
|
40
|
+
*
|
|
41
|
+
* @param {string} value
|
|
42
|
+
* Input value to parse.
|
|
43
|
+
*
|
|
44
|
+
* @return {number}
|
|
45
|
+
* Parsed JavaScript time value.
|
|
46
|
+
*/
|
|
47
|
+
/* ************************************************************************** *
|
|
48
|
+
* Start Range Selector code *
|
|
49
|
+
* ************************************************************************** */
|
|
50
|
+
extend(defaultOptions, {
|
|
51
|
+
/**
|
|
52
|
+
* The range selector is a tool for selecting ranges to display within
|
|
53
|
+
* the chart. It provides buttons to select preconfigured ranges in
|
|
54
|
+
* the chart, like 1 day, 1 week, 1 month etc. It also provides input
|
|
55
|
+
* boxes where min and max dates can be manually input.
|
|
56
|
+
*
|
|
57
|
+
* @product highstock gantt
|
|
58
|
+
* @optionparent rangeSelector
|
|
59
|
+
*/
|
|
60
|
+
rangeSelector: {
|
|
61
|
+
/**
|
|
62
|
+
* Whether to enable all buttons from the start. By default buttons are
|
|
63
|
+
* only enabled if the corresponding time range exists on the X axis,
|
|
64
|
+
* but enabling all buttons allows for dynamically loading different
|
|
65
|
+
* time ranges.
|
|
66
|
+
*
|
|
67
|
+
* @sample {highstock} stock/rangeselector/allbuttonsenabled-true/
|
|
68
|
+
* All buttons enabled
|
|
69
|
+
*
|
|
70
|
+
* @since 2.0.3
|
|
71
|
+
*/
|
|
72
|
+
allButtonsEnabled: false,
|
|
73
|
+
/**
|
|
74
|
+
* An array of configuration objects for the buttons.
|
|
75
|
+
*
|
|
76
|
+
* Defaults to:
|
|
77
|
+
* ```js
|
|
78
|
+
* buttons: [{
|
|
79
|
+
* type: 'month',
|
|
80
|
+
* count: 1,
|
|
81
|
+
* text: '1m',
|
|
82
|
+
* title: 'View 1 month'
|
|
83
|
+
* }, {
|
|
84
|
+
* type: 'month',
|
|
85
|
+
* count: 3,
|
|
86
|
+
* text: '3m',
|
|
87
|
+
* title: 'View 3 months'
|
|
88
|
+
* }, {
|
|
89
|
+
* type: 'month',
|
|
90
|
+
* count: 6,
|
|
91
|
+
* text: '6m',
|
|
92
|
+
* title: 'View 6 months'
|
|
93
|
+
* }, {
|
|
94
|
+
* type: 'ytd',
|
|
95
|
+
* text: 'YTD',
|
|
96
|
+
* title: 'View year to date'
|
|
97
|
+
* }, {
|
|
98
|
+
* type: 'year',
|
|
99
|
+
* count: 1,
|
|
100
|
+
* text: '1y',
|
|
101
|
+
* title: 'View 1 year'
|
|
102
|
+
* }, {
|
|
103
|
+
* type: 'all',
|
|
104
|
+
* text: 'All',
|
|
105
|
+
* title: 'View all'
|
|
106
|
+
* }]
|
|
107
|
+
* ```
|
|
108
|
+
*
|
|
109
|
+
* @sample {highstock} stock/rangeselector/datagrouping/
|
|
110
|
+
* Data grouping by buttons
|
|
111
|
+
*
|
|
112
|
+
* @type {Array<*>}
|
|
113
|
+
*/
|
|
114
|
+
buttons: void 0,
|
|
115
|
+
/**
|
|
116
|
+
* How many units of the defined type the button should span. If `type`
|
|
117
|
+
* is "month" and `count` is 3, the button spans three months.
|
|
118
|
+
*
|
|
119
|
+
* @type {number}
|
|
120
|
+
* @default 1
|
|
121
|
+
* @apioption rangeSelector.buttons.count
|
|
122
|
+
*/
|
|
123
|
+
/**
|
|
124
|
+
* Fires when clicking on the rangeSelector button. One parameter,
|
|
125
|
+
* event, is passed to the function, containing common event
|
|
126
|
+
* information.
|
|
127
|
+
*
|
|
128
|
+
* ```js
|
|
129
|
+
* click: function(e) {
|
|
130
|
+
* console.log(this);
|
|
131
|
+
* }
|
|
132
|
+
* ```
|
|
133
|
+
*
|
|
134
|
+
* Return false to stop default button's click action.
|
|
135
|
+
*
|
|
136
|
+
* @sample {highstock} stock/rangeselector/button-click/
|
|
137
|
+
* Click event on the button
|
|
138
|
+
*
|
|
139
|
+
* @type {Highcharts.RangeSelectorClickCallbackFunction}
|
|
140
|
+
* @apioption rangeSelector.buttons.events.click
|
|
141
|
+
*/
|
|
142
|
+
/**
|
|
143
|
+
* Additional range (in milliseconds) added to the end of the calculated
|
|
144
|
+
* time span.
|
|
145
|
+
*
|
|
146
|
+
* @sample {highstock} stock/rangeselector/min-max-offsets/
|
|
147
|
+
* Button offsets
|
|
148
|
+
*
|
|
149
|
+
* @type {number}
|
|
150
|
+
* @default 0
|
|
151
|
+
* @since 6.0.0
|
|
152
|
+
* @apioption rangeSelector.buttons.offsetMax
|
|
153
|
+
*/
|
|
154
|
+
/**
|
|
155
|
+
* Additional range (in milliseconds) added to the start of the
|
|
156
|
+
* calculated time span.
|
|
157
|
+
*
|
|
158
|
+
* @sample {highstock} stock/rangeselector/min-max-offsets/
|
|
159
|
+
* Button offsets
|
|
160
|
+
*
|
|
161
|
+
* @type {number}
|
|
162
|
+
* @default 0
|
|
163
|
+
* @since 6.0.0
|
|
164
|
+
* @apioption rangeSelector.buttons.offsetMin
|
|
165
|
+
*/
|
|
166
|
+
/**
|
|
167
|
+
* When buttons apply dataGrouping on a series, by default zooming
|
|
168
|
+
* in/out will deselect buttons and unset dataGrouping. Enable this
|
|
169
|
+
* option to keep buttons selected when extremes change.
|
|
170
|
+
*
|
|
171
|
+
* @sample {highstock} stock/rangeselector/preserve-datagrouping/
|
|
172
|
+
* Different preserveDataGrouping settings
|
|
173
|
+
*
|
|
174
|
+
* @type {boolean}
|
|
175
|
+
* @default false
|
|
176
|
+
* @since 6.1.2
|
|
177
|
+
* @apioption rangeSelector.buttons.preserveDataGrouping
|
|
178
|
+
*/
|
|
179
|
+
/**
|
|
180
|
+
* A custom data grouping object for each button.
|
|
181
|
+
*
|
|
182
|
+
* @see [series.dataGrouping](#plotOptions.series.dataGrouping)
|
|
183
|
+
*
|
|
184
|
+
* @sample {highstock} stock/rangeselector/datagrouping/
|
|
185
|
+
* Data grouping by range selector buttons
|
|
186
|
+
*
|
|
187
|
+
* @type {*}
|
|
188
|
+
* @extends plotOptions.series.dataGrouping
|
|
189
|
+
* @apioption rangeSelector.buttons.dataGrouping
|
|
190
|
+
*/
|
|
191
|
+
/**
|
|
192
|
+
* The text for the button itself.
|
|
193
|
+
*
|
|
194
|
+
* @type {string}
|
|
195
|
+
* @apioption rangeSelector.buttons.text
|
|
196
|
+
*/
|
|
197
|
+
/**
|
|
198
|
+
* Explanation for the button, shown as a tooltip on hover, and used by
|
|
199
|
+
* assistive technology.
|
|
200
|
+
*
|
|
201
|
+
* @type {string}
|
|
202
|
+
* @apioption rangeSelector.buttons.title
|
|
203
|
+
*/
|
|
204
|
+
/**
|
|
205
|
+
* Defined the time span for the button. Can be one of `millisecond`,
|
|
206
|
+
* `second`, `minute`, `hour`, `day`, `week`, `month`, `year`, `ytd`,
|
|
207
|
+
* and `all`.
|
|
208
|
+
*
|
|
209
|
+
* @type {Highcharts.RangeSelectorButtonTypeValue}
|
|
210
|
+
* @apioption rangeSelector.buttons.type
|
|
211
|
+
*/
|
|
212
|
+
/**
|
|
213
|
+
* The space in pixels between the buttons in the range selector.
|
|
214
|
+
*/
|
|
215
|
+
buttonSpacing: 5,
|
|
216
|
+
/**
|
|
217
|
+
* Whether to collapse the range selector buttons into a dropdown when
|
|
218
|
+
* there is not enough room to show everything in a single row, instead
|
|
219
|
+
* of dividing the range selector into multiple rows.
|
|
220
|
+
* Can be one of the following:
|
|
221
|
+
* - `always`: Always collapse
|
|
222
|
+
* - `responsive`: Only collapse when there is not enough room
|
|
223
|
+
* - `never`: Never collapse
|
|
224
|
+
*
|
|
225
|
+
* @sample {highstock} stock/rangeselector/dropdown/
|
|
226
|
+
* Dropdown option
|
|
227
|
+
*
|
|
228
|
+
* @validvalue ["always", "responsive", "never"]
|
|
229
|
+
* @since 9.0.0
|
|
230
|
+
*/
|
|
231
|
+
dropdown: 'responsive',
|
|
232
|
+
/**
|
|
233
|
+
* Enable or disable the range selector. Default to `true` for stock
|
|
234
|
+
* charts, using the `stockChart` factory.
|
|
235
|
+
*
|
|
236
|
+
* @sample {highstock} stock/rangeselector/enabled/
|
|
237
|
+
* Disable the range selector
|
|
238
|
+
*
|
|
239
|
+
* @type {boolean|undefined}
|
|
240
|
+
* @default {highstock} true
|
|
241
|
+
*/
|
|
242
|
+
enabled: void 0,
|
|
243
|
+
/**
|
|
244
|
+
* The vertical alignment of the rangeselector box. Allowed properties
|
|
245
|
+
* are `top`, `middle`, `bottom`.
|
|
246
|
+
*
|
|
247
|
+
* @sample {highstock} stock/rangeselector/vertical-align-middle/
|
|
248
|
+
* Middle
|
|
249
|
+
* @sample {highstock} stock/rangeselector/vertical-align-bottom/
|
|
250
|
+
* Bottom
|
|
251
|
+
*
|
|
252
|
+
* @type {Highcharts.VerticalAlignValue}
|
|
253
|
+
* @since 6.0.0
|
|
254
|
+
*/
|
|
255
|
+
verticalAlign: 'top',
|
|
256
|
+
/**
|
|
257
|
+
* A collection of attributes for the buttons. The object takes SVG
|
|
258
|
+
* attributes like `fill`, `stroke`, `stroke-width`, as well as `style`,
|
|
259
|
+
* a collection of CSS properties for the text.
|
|
260
|
+
*
|
|
261
|
+
* The object can also be extended with states, so you can set
|
|
262
|
+
* presentational options for `hover`, `select` or `disabled` button
|
|
263
|
+
* states.
|
|
264
|
+
*
|
|
265
|
+
* CSS styles for the text label.
|
|
266
|
+
*
|
|
267
|
+
* In styled mode, the buttons are styled by the
|
|
268
|
+
* `.highcharts-range-selector-buttons .highcharts-button` rule with its
|
|
269
|
+
* different states.
|
|
270
|
+
*
|
|
271
|
+
* @sample {highstock} stock/rangeselector/styling/
|
|
272
|
+
* Styling the buttons and inputs
|
|
273
|
+
*
|
|
274
|
+
* @type {Highcharts.SVGAttributes}
|
|
275
|
+
*/
|
|
276
|
+
buttonTheme: {
|
|
277
|
+
/** @ignore */
|
|
278
|
+
width: 28,
|
|
279
|
+
/** @ignore */
|
|
280
|
+
height: 18,
|
|
281
|
+
/** @ignore */
|
|
282
|
+
padding: 2,
|
|
283
|
+
/** @ignore */
|
|
284
|
+
zIndex: 7 // #484, #852
|
|
285
|
+
},
|
|
286
|
+
/**
|
|
287
|
+
* When the rangeselector is floating, the plot area does not reserve
|
|
288
|
+
* space for it. This opens for positioning anywhere on the chart.
|
|
289
|
+
*
|
|
290
|
+
* @sample {highstock} stock/rangeselector/floating/
|
|
291
|
+
* Placing the range selector between the plot area and the
|
|
292
|
+
* navigator
|
|
293
|
+
*
|
|
294
|
+
* @since 6.0.0
|
|
295
|
+
*/
|
|
296
|
+
floating: false,
|
|
297
|
+
/**
|
|
298
|
+
* The x offset of the range selector relative to its horizontal
|
|
299
|
+
* alignment within `chart.spacingLeft` and `chart.spacingRight`.
|
|
300
|
+
*
|
|
301
|
+
* @since 6.0.0
|
|
302
|
+
*/
|
|
303
|
+
x: 0,
|
|
304
|
+
/**
|
|
305
|
+
* The y offset of the range selector relative to its horizontal
|
|
306
|
+
* alignment within `chart.spacingLeft` and `chart.spacingRight`.
|
|
307
|
+
*
|
|
308
|
+
* @since 6.0.0
|
|
309
|
+
*/
|
|
310
|
+
y: 0,
|
|
311
|
+
/**
|
|
312
|
+
* Deprecated. The height of the range selector. Currently it is
|
|
313
|
+
* calculated dynamically.
|
|
314
|
+
*
|
|
315
|
+
* @deprecated
|
|
316
|
+
* @type {number|undefined}
|
|
317
|
+
* @since 2.1.9
|
|
318
|
+
*/
|
|
319
|
+
height: void 0,
|
|
320
|
+
/**
|
|
321
|
+
* The border color of the date input boxes.
|
|
322
|
+
*
|
|
323
|
+
* @sample {highstock} stock/rangeselector/styling/
|
|
324
|
+
* Styling the buttons and inputs
|
|
325
|
+
*
|
|
326
|
+
* @type {Highcharts.ColorString}
|
|
327
|
+
* @since 1.3.7
|
|
328
|
+
*/
|
|
329
|
+
inputBoxBorderColor: 'none',
|
|
330
|
+
/**
|
|
331
|
+
* The pixel height of the date input boxes.
|
|
332
|
+
*
|
|
333
|
+
* @sample {highstock} stock/rangeselector/styling/
|
|
334
|
+
* Styling the buttons and inputs
|
|
335
|
+
*
|
|
336
|
+
* @since 1.3.7
|
|
337
|
+
*/
|
|
338
|
+
inputBoxHeight: 17,
|
|
339
|
+
/**
|
|
340
|
+
* The pixel width of the date input boxes. When `undefined`, the width
|
|
341
|
+
* is fitted to the rendered content.
|
|
342
|
+
*
|
|
343
|
+
* @sample {highstock} stock/rangeselector/styling/
|
|
344
|
+
* Styling the buttons and inputs
|
|
345
|
+
*
|
|
346
|
+
* @type {number|undefined}
|
|
347
|
+
* @since 1.3.7
|
|
348
|
+
*/
|
|
349
|
+
inputBoxWidth: void 0,
|
|
350
|
+
/**
|
|
351
|
+
* The date format in the input boxes when not selected for editing.
|
|
352
|
+
* Defaults to `%b %e, %Y`.
|
|
353
|
+
*
|
|
354
|
+
* This is used to determine which type of input to show,
|
|
355
|
+
* `datetime-local`, `date` or `time` and falling back to `text` when
|
|
356
|
+
* the browser does not support the input type or the format contains
|
|
357
|
+
* milliseconds.
|
|
358
|
+
*
|
|
359
|
+
* @sample {highstock} stock/rangeselector/input-type/
|
|
360
|
+
* Input types
|
|
361
|
+
* @sample {highstock} stock/rangeselector/input-format/
|
|
362
|
+
* Milliseconds in the range selector
|
|
363
|
+
*
|
|
364
|
+
*/
|
|
365
|
+
inputDateFormat: '%b %e, %Y',
|
|
366
|
+
/**
|
|
367
|
+
* A custom callback function to parse values entered in the input boxes
|
|
368
|
+
* and return a valid JavaScript time as milliseconds since 1970.
|
|
369
|
+
* The first argument passed is a value to parse,
|
|
370
|
+
* second is a boolean indicating use of the UTC time.
|
|
371
|
+
*
|
|
372
|
+
* This will only get called for inputs of type `text`. Since v8.2.3,
|
|
373
|
+
* the input type is dynamically determined based on the granularity
|
|
374
|
+
* of the `inputDateFormat` and the browser support.
|
|
375
|
+
*
|
|
376
|
+
* @sample {highstock} stock/rangeselector/input-format/
|
|
377
|
+
* Milliseconds in the range selector
|
|
378
|
+
*
|
|
379
|
+
* @type {Highcharts.RangeSelectorParseCallbackFunction}
|
|
380
|
+
* @since 1.3.3
|
|
381
|
+
*/
|
|
382
|
+
inputDateParser: void 0,
|
|
383
|
+
/**
|
|
384
|
+
* The date format in the input boxes when they are selected for
|
|
385
|
+
* editing. This must be a format that is recognized by JavaScript
|
|
386
|
+
* Date.parse.
|
|
387
|
+
*
|
|
388
|
+
* This will only be used for inputs of type `text`. Since v8.2.3,
|
|
389
|
+
* the input type is dynamically determined based on the granularity
|
|
390
|
+
* of the `inputDateFormat` and the browser support.
|
|
391
|
+
*
|
|
392
|
+
* @sample {highstock} stock/rangeselector/input-format/
|
|
393
|
+
* Milliseconds in the range selector
|
|
394
|
+
*
|
|
395
|
+
*/
|
|
396
|
+
inputEditDateFormat: '%Y-%m-%d',
|
|
397
|
+
/**
|
|
398
|
+
* Enable or disable the date input boxes.
|
|
399
|
+
*/
|
|
400
|
+
inputEnabled: true,
|
|
401
|
+
/**
|
|
402
|
+
* Positioning for the input boxes. Allowed properties are `align`,
|
|
403
|
+
* `x` and `y`.
|
|
404
|
+
*
|
|
405
|
+
* @since 1.2.4
|
|
406
|
+
*/
|
|
407
|
+
inputPosition: {
|
|
408
|
+
/**
|
|
409
|
+
* The alignment of the input box. Allowed properties are `left`,
|
|
410
|
+
* `center`, `right`.
|
|
411
|
+
*
|
|
412
|
+
* @sample {highstock} stock/rangeselector/input-button-position/
|
|
413
|
+
* Alignment
|
|
414
|
+
*
|
|
415
|
+
* @type {Highcharts.AlignValue}
|
|
416
|
+
* @since 6.0.0
|
|
417
|
+
*/
|
|
418
|
+
align: 'right',
|
|
419
|
+
/**
|
|
420
|
+
* X offset of the input row.
|
|
421
|
+
*/
|
|
422
|
+
x: 0,
|
|
423
|
+
/**
|
|
424
|
+
* Y offset of the input row.
|
|
425
|
+
*/
|
|
426
|
+
y: 0
|
|
427
|
+
},
|
|
428
|
+
/**
|
|
429
|
+
* The space in pixels between the labels and the date input boxes in
|
|
430
|
+
* the range selector.
|
|
431
|
+
*
|
|
432
|
+
* @since 9.0.0
|
|
433
|
+
*/
|
|
434
|
+
inputSpacing: 5,
|
|
435
|
+
/**
|
|
436
|
+
* The index of the button to appear pre-selected.
|
|
437
|
+
*
|
|
438
|
+
* @type {number}
|
|
439
|
+
*/
|
|
440
|
+
selected: void 0,
|
|
441
|
+
/**
|
|
442
|
+
* Positioning for the button row.
|
|
443
|
+
*
|
|
444
|
+
* @since 1.2.4
|
|
445
|
+
*/
|
|
446
|
+
buttonPosition: {
|
|
447
|
+
/**
|
|
448
|
+
* The alignment of the input box. Allowed properties are `left`,
|
|
449
|
+
* `center`, `right`.
|
|
450
|
+
*
|
|
451
|
+
* @sample {highstock} stock/rangeselector/input-button-position/
|
|
452
|
+
* Alignment
|
|
453
|
+
*
|
|
454
|
+
* @type {Highcharts.AlignValue}
|
|
455
|
+
* @since 6.0.0
|
|
456
|
+
*/
|
|
457
|
+
align: 'left',
|
|
458
|
+
/**
|
|
459
|
+
* X offset of the button row.
|
|
460
|
+
*/
|
|
461
|
+
x: 0,
|
|
462
|
+
/**
|
|
463
|
+
* Y offset of the button row.
|
|
464
|
+
*/
|
|
465
|
+
y: 0
|
|
466
|
+
},
|
|
467
|
+
/**
|
|
468
|
+
* CSS for the HTML inputs in the range selector.
|
|
469
|
+
*
|
|
470
|
+
* In styled mode, the inputs are styled by the
|
|
471
|
+
* `.highcharts-range-input text` rule in SVG mode, and
|
|
472
|
+
* `input.highcharts-range-selector` when active.
|
|
473
|
+
*
|
|
474
|
+
* @sample {highstock} stock/rangeselector/styling/
|
|
475
|
+
* Styling the buttons and inputs
|
|
476
|
+
*
|
|
477
|
+
* @type {Highcharts.CSSObject}
|
|
478
|
+
* @apioption rangeSelector.inputStyle
|
|
479
|
+
*/
|
|
480
|
+
inputStyle: {
|
|
481
|
+
/** @ignore */
|
|
482
|
+
color: "#335cad" /* highlightColor80 */,
|
|
483
|
+
/** @ignore */
|
|
484
|
+
cursor: 'pointer'
|
|
485
|
+
},
|
|
486
|
+
/**
|
|
487
|
+
* CSS styles for the labels - the Zoom, From and To texts.
|
|
488
|
+
*
|
|
489
|
+
* In styled mode, the labels are styled by the
|
|
490
|
+
* `.highcharts-range-label` class.
|
|
491
|
+
*
|
|
492
|
+
* @sample {highstock} stock/rangeselector/styling/
|
|
493
|
+
* Styling the buttons and inputs
|
|
494
|
+
*
|
|
495
|
+
* @type {Highcharts.CSSObject}
|
|
496
|
+
*/
|
|
497
|
+
labelStyle: {
|
|
498
|
+
/** @ignore */
|
|
499
|
+
color: "#666666" /* neutralColor60 */
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
});
|
|
503
|
+
extend(defaultOptions.lang,
|
|
504
|
+
/**
|
|
505
|
+
* Language object. The language object is global and it can't be set
|
|
506
|
+
* on each chart initialization. Instead, use `Highcharts.setOptions` to
|
|
507
|
+
* set it before any chart is initialized.
|
|
508
|
+
*
|
|
509
|
+
* ```js
|
|
510
|
+
* Highcharts.setOptions({
|
|
511
|
+
* lang: {
|
|
512
|
+
* months: [
|
|
513
|
+
* 'Janvier', 'Février', 'Mars', 'Avril',
|
|
514
|
+
* 'Mai', 'Juin', 'Juillet', 'Août',
|
|
515
|
+
* 'Septembre', 'Octobre', 'Novembre', 'Décembre'
|
|
516
|
+
* ],
|
|
517
|
+
* weekdays: [
|
|
518
|
+
* 'Dimanche', 'Lundi', 'Mardi', 'Mercredi',
|
|
519
|
+
* 'Jeudi', 'Vendredi', 'Samedi'
|
|
520
|
+
* ]
|
|
521
|
+
* }
|
|
522
|
+
* });
|
|
523
|
+
* ```
|
|
524
|
+
*
|
|
525
|
+
* @optionparent lang
|
|
526
|
+
*/
|
|
527
|
+
{
|
|
528
|
+
/**
|
|
529
|
+
* The text for the label for the range selector buttons.
|
|
530
|
+
*
|
|
531
|
+
* @product highstock gantt
|
|
532
|
+
*/
|
|
533
|
+
rangeSelectorZoom: 'Zoom',
|
|
534
|
+
/**
|
|
535
|
+
* The text for the label for the "from" input box in the range
|
|
536
|
+
* selector. Since v9.0, this string is empty as the label is not
|
|
537
|
+
* rendered by default.
|
|
538
|
+
*
|
|
539
|
+
* @product highstock gantt
|
|
540
|
+
*/
|
|
541
|
+
rangeSelectorFrom: '',
|
|
542
|
+
/**
|
|
543
|
+
* The text for the label for the "to" input box in the range selector.
|
|
544
|
+
*
|
|
545
|
+
* @product highstock gantt
|
|
546
|
+
*/
|
|
547
|
+
rangeSelectorTo: '→'
|
|
548
|
+
});
|
|
549
|
+
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
550
|
+
/**
|
|
551
|
+
* The range selector.
|
|
552
|
+
*
|
|
553
|
+
* @private
|
|
554
|
+
* @class
|
|
555
|
+
* @name Highcharts.RangeSelector
|
|
556
|
+
* @param {Highcharts.Chart} chart
|
|
557
|
+
*/
|
|
558
|
+
var RangeSelector = /** @class */ (function () {
|
|
559
|
+
function RangeSelector(chart) {
|
|
560
|
+
/* *
|
|
561
|
+
*
|
|
562
|
+
* Properties
|
|
563
|
+
*
|
|
564
|
+
* */
|
|
565
|
+
this.buttons = void 0;
|
|
566
|
+
this.buttonOptions = RangeSelector.prototype.defaultButtons;
|
|
567
|
+
this.initialButtonGroupWidth = 0;
|
|
568
|
+
this.options = void 0;
|
|
569
|
+
this.chart = chart;
|
|
570
|
+
// Run RangeSelector
|
|
571
|
+
this.init(chart);
|
|
572
|
+
}
|
|
573
|
+
/**
|
|
574
|
+
* The method to run when one of the buttons in the range selectors is
|
|
575
|
+
* clicked
|
|
576
|
+
*
|
|
577
|
+
* @private
|
|
578
|
+
* @function Highcharts.RangeSelector#clickButton
|
|
579
|
+
* @param {number} i
|
|
580
|
+
* The index of the button
|
|
581
|
+
* @param {boolean} [redraw]
|
|
582
|
+
*/
|
|
583
|
+
RangeSelector.prototype.clickButton = function (i, redraw) {
|
|
584
|
+
var rangeSelector = this, chart = rangeSelector.chart, rangeOptions = rangeSelector.buttonOptions[i], baseAxis = chart.xAxis[0], unionExtremes = (chart.scroller && chart.scroller.getUnionExtremes()) || baseAxis || {}, dataMin = unionExtremes.dataMin, dataMax = unionExtremes.dataMax, newMin, newMax = baseAxis && Math.round(Math.min(baseAxis.max, pick(dataMax, baseAxis.max))), // #1568
|
|
585
|
+
type = rangeOptions.type, baseXAxisOptions, range = rangeOptions._range, rangeMin, minSetting, rangeSetting, ctx, ytdExtremes, dataGrouping = rangeOptions.dataGrouping;
|
|
586
|
+
// chart has no data, base series is removed
|
|
587
|
+
if (dataMin === null || dataMax === null) {
|
|
588
|
+
return;
|
|
589
|
+
}
|
|
590
|
+
// Set the fixed range before range is altered
|
|
591
|
+
chart.fixedRange = range;
|
|
592
|
+
rangeSelector.setSelected(i);
|
|
593
|
+
// Apply dataGrouping associated to button
|
|
594
|
+
if (dataGrouping) {
|
|
595
|
+
this.forcedDataGrouping = true;
|
|
596
|
+
Axis.prototype.setDataGrouping.call(baseAxis || { chart: this.chart }, dataGrouping, false);
|
|
597
|
+
this.frozenStates = rangeOptions.preserveDataGrouping;
|
|
598
|
+
}
|
|
599
|
+
// Apply range
|
|
600
|
+
if (type === 'month' || type === 'year') {
|
|
601
|
+
if (!baseAxis) {
|
|
602
|
+
// This is set to the user options and picked up later when the
|
|
603
|
+
// axis is instantiated so that we know the min and max.
|
|
604
|
+
range = rangeOptions;
|
|
605
|
+
}
|
|
606
|
+
else {
|
|
607
|
+
ctx = {
|
|
608
|
+
range: rangeOptions,
|
|
609
|
+
max: newMax,
|
|
610
|
+
chart: chart,
|
|
611
|
+
dataMin: dataMin,
|
|
612
|
+
dataMax: dataMax
|
|
613
|
+
};
|
|
614
|
+
newMin = baseAxis.minFromRange.call(ctx);
|
|
615
|
+
if (isNumber(ctx.newMax)) {
|
|
616
|
+
newMax = ctx.newMax;
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
// Fixed times like minutes, hours, days
|
|
620
|
+
}
|
|
621
|
+
else if (range) {
|
|
622
|
+
newMin = Math.max(newMax - range, dataMin);
|
|
623
|
+
newMax = Math.min(newMin + range, dataMax);
|
|
624
|
+
}
|
|
625
|
+
else if (type === 'ytd') {
|
|
626
|
+
// On user clicks on the buttons, or a delayed action running from
|
|
627
|
+
// the beforeRender event (below), the baseAxis is defined.
|
|
628
|
+
if (baseAxis) {
|
|
629
|
+
// When "ytd" is the pre-selected button for the initial view,
|
|
630
|
+
// its calculation is delayed and rerun in the beforeRender
|
|
631
|
+
// event (below). When the series are initialized, but before
|
|
632
|
+
// the chart is rendered, we have access to the xData array
|
|
633
|
+
// (#942).
|
|
634
|
+
if (typeof dataMax === 'undefined') {
|
|
635
|
+
dataMin = Number.MAX_VALUE;
|
|
636
|
+
dataMax = Number.MIN_VALUE;
|
|
637
|
+
chart.series.forEach(function (series) {
|
|
638
|
+
// reassign it to the last item
|
|
639
|
+
var xData = series.xData;
|
|
640
|
+
dataMin = Math.min(xData[0], dataMin);
|
|
641
|
+
dataMax = Math.max(xData[xData.length - 1], dataMax);
|
|
642
|
+
});
|
|
643
|
+
redraw = false;
|
|
644
|
+
}
|
|
645
|
+
ytdExtremes = rangeSelector.getYTDExtremes(dataMax, dataMin, chart.time.useUTC);
|
|
646
|
+
newMin = rangeMin = ytdExtremes.min;
|
|
647
|
+
newMax = ytdExtremes.max;
|
|
648
|
+
// "ytd" is pre-selected. We don't yet have access to processed
|
|
649
|
+
// point and extremes data (things like pointStart and pointInterval
|
|
650
|
+
// are missing), so we delay the process (#942)
|
|
651
|
+
}
|
|
652
|
+
else {
|
|
653
|
+
rangeSelector.deferredYTDClick = i;
|
|
654
|
+
return;
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
else if (type === 'all' && baseAxis) {
|
|
658
|
+
// If the navigator exist and the axis range is declared reset that
|
|
659
|
+
// range and from now on only use the range set by a user, #14742.
|
|
660
|
+
if (chart.navigator && chart.navigator.baseSeries[0]) {
|
|
661
|
+
chart.navigator.baseSeries[0].xAxis.options
|
|
662
|
+
.range = void 0;
|
|
663
|
+
}
|
|
664
|
+
newMin = dataMin;
|
|
665
|
+
newMax = dataMax;
|
|
666
|
+
}
|
|
667
|
+
if (defined(newMin)) {
|
|
668
|
+
newMin += rangeOptions._offsetMin;
|
|
669
|
+
}
|
|
670
|
+
if (defined(newMax)) {
|
|
671
|
+
newMax += rangeOptions._offsetMax;
|
|
672
|
+
}
|
|
673
|
+
if (this.dropdown) {
|
|
674
|
+
this.dropdown.selectedIndex = i + 1;
|
|
675
|
+
}
|
|
676
|
+
// Update the chart
|
|
677
|
+
if (!baseAxis) {
|
|
678
|
+
// Axis not yet instanciated. Temporarily set min and range
|
|
679
|
+
// options and remove them on chart load (#4317).
|
|
680
|
+
baseXAxisOptions = splat(chart.options.xAxis)[0];
|
|
681
|
+
rangeSetting = baseXAxisOptions.range;
|
|
682
|
+
baseXAxisOptions.range = range;
|
|
683
|
+
minSetting = baseXAxisOptions.min;
|
|
684
|
+
baseXAxisOptions.min = rangeMin;
|
|
685
|
+
addEvent(chart, 'load', function resetMinAndRange() {
|
|
686
|
+
baseXAxisOptions.range = rangeSetting;
|
|
687
|
+
baseXAxisOptions.min = minSetting;
|
|
688
|
+
});
|
|
689
|
+
}
|
|
690
|
+
else {
|
|
691
|
+
// Existing axis object. Set extremes after render time.
|
|
692
|
+
baseAxis.setExtremes(newMin, newMax, pick(redraw, true), void 0, // auto animation
|
|
693
|
+
{
|
|
694
|
+
trigger: 'rangeSelectorButton',
|
|
695
|
+
rangeSelectorButton: rangeOptions
|
|
696
|
+
});
|
|
697
|
+
}
|
|
698
|
+
fireEvent(this, 'afterBtnClick');
|
|
699
|
+
};
|
|
700
|
+
/**
|
|
701
|
+
* Set the selected option. This method only sets the internal flag, it
|
|
702
|
+
* doesn't update the buttons or the actual zoomed range.
|
|
703
|
+
*
|
|
704
|
+
* @private
|
|
705
|
+
* @function Highcharts.RangeSelector#setSelected
|
|
706
|
+
* @param {number} [selected]
|
|
707
|
+
*/
|
|
708
|
+
RangeSelector.prototype.setSelected = function (selected) {
|
|
709
|
+
this.selected = this.options.selected = selected;
|
|
710
|
+
};
|
|
711
|
+
/**
|
|
712
|
+
* Initialize the range selector
|
|
713
|
+
*
|
|
714
|
+
* @private
|
|
715
|
+
* @function Highcharts.RangeSelector#init
|
|
716
|
+
* @param {Highcharts.Chart} chart
|
|
717
|
+
*/
|
|
718
|
+
RangeSelector.prototype.init = function (chart) {
|
|
719
|
+
var rangeSelector = this, options = chart.options.rangeSelector, buttonOptions = (options.buttons || rangeSelector.defaultButtons.slice()), selectedOption = options.selected, blurInputs = function () {
|
|
720
|
+
var minInput = rangeSelector.minInput, maxInput = rangeSelector.maxInput;
|
|
721
|
+
// #3274 in some case blur is not defined
|
|
722
|
+
if (minInput && minInput.blur) {
|
|
723
|
+
fireEvent(minInput, 'blur');
|
|
724
|
+
}
|
|
725
|
+
if (maxInput && maxInput.blur) {
|
|
726
|
+
fireEvent(maxInput, 'blur');
|
|
727
|
+
}
|
|
728
|
+
};
|
|
729
|
+
rangeSelector.chart = chart;
|
|
730
|
+
rangeSelector.options = options;
|
|
731
|
+
rangeSelector.buttons = [];
|
|
732
|
+
rangeSelector.buttonOptions = buttonOptions;
|
|
733
|
+
this.eventsToUnbind = [];
|
|
734
|
+
this.eventsToUnbind.push(addEvent(chart.container, 'mousedown', blurInputs));
|
|
735
|
+
this.eventsToUnbind.push(addEvent(chart, 'resize', blurInputs));
|
|
736
|
+
// Extend the buttonOptions with actual range
|
|
737
|
+
buttonOptions.forEach(rangeSelector.computeButtonRange);
|
|
738
|
+
// zoomed range based on a pre-selected button index
|
|
739
|
+
if (typeof selectedOption !== 'undefined' &&
|
|
740
|
+
buttonOptions[selectedOption]) {
|
|
741
|
+
this.clickButton(selectedOption, false);
|
|
742
|
+
}
|
|
743
|
+
this.eventsToUnbind.push(addEvent(chart, 'load', function () {
|
|
744
|
+
// If a data grouping is applied to the current button, release it
|
|
745
|
+
// when extremes change
|
|
746
|
+
if (chart.xAxis && chart.xAxis[0]) {
|
|
747
|
+
addEvent(chart.xAxis[0], 'setExtremes', function (e) {
|
|
748
|
+
if (this.max - this.min !==
|
|
749
|
+
chart.fixedRange &&
|
|
750
|
+
e.trigger !== 'rangeSelectorButton' &&
|
|
751
|
+
e.trigger !== 'updatedData' &&
|
|
752
|
+
rangeSelector.forcedDataGrouping &&
|
|
753
|
+
!rangeSelector.frozenStates) {
|
|
754
|
+
this.setDataGrouping(false, false);
|
|
755
|
+
}
|
|
756
|
+
});
|
|
757
|
+
}
|
|
758
|
+
}));
|
|
759
|
+
};
|
|
760
|
+
/**
|
|
761
|
+
* Dynamically update the range selector buttons after a new range has been
|
|
762
|
+
* set
|
|
763
|
+
*
|
|
764
|
+
* @private
|
|
765
|
+
* @function Highcharts.RangeSelector#updateButtonStates
|
|
766
|
+
*/
|
|
767
|
+
RangeSelector.prototype.updateButtonStates = function () {
|
|
768
|
+
var rangeSelector = this, chart = this.chart, dropdown = this.dropdown, baseAxis = chart.xAxis[0], actualRange = Math.round(baseAxis.max - baseAxis.min), hasNoData = !baseAxis.hasVisibleSeries, day = 24 * 36e5, // A single day in milliseconds
|
|
769
|
+
unionExtremes = (chart.scroller &&
|
|
770
|
+
chart.scroller.getUnionExtremes()) || baseAxis, dataMin = unionExtremes.dataMin, dataMax = unionExtremes.dataMax, ytdExtremes = rangeSelector.getYTDExtremes(dataMax, dataMin, chart.time.useUTC), ytdMin = ytdExtremes.min, ytdMax = ytdExtremes.max, selected = rangeSelector.selected, selectedExists = isNumber(selected), allButtonsEnabled = rangeSelector.options.allButtonsEnabled, buttons = rangeSelector.buttons;
|
|
771
|
+
rangeSelector.buttonOptions.forEach(function (rangeOptions, i) {
|
|
772
|
+
var range = rangeOptions._range, type = rangeOptions.type, count = rangeOptions.count || 1, button = buttons[i], state = 0, disable, select, offsetRange = rangeOptions._offsetMax -
|
|
773
|
+
rangeOptions._offsetMin, isSelected = i === selected,
|
|
774
|
+
// Disable buttons where the range exceeds what is allowed in
|
|
775
|
+
// the current view
|
|
776
|
+
isTooGreatRange = range >
|
|
777
|
+
dataMax - dataMin,
|
|
778
|
+
// Disable buttons where the range is smaller than the minimum
|
|
779
|
+
// range
|
|
780
|
+
isTooSmallRange = range < baseAxis.minRange,
|
|
781
|
+
// Do not select the YTD button if not explicitly told so
|
|
782
|
+
isYTDButNotSelected = false,
|
|
783
|
+
// Disable the All button if we're already showing all
|
|
784
|
+
isAllButAlreadyShowingAll = false, isSameRange = range === actualRange;
|
|
785
|
+
// Months and years have a variable range so we check the extremes
|
|
786
|
+
if ((type === 'month' || type === 'year') &&
|
|
787
|
+
(actualRange + 36e5 >=
|
|
788
|
+
{ month: 28, year: 365 }[type] * day * count - offsetRange) &&
|
|
789
|
+
(actualRange - 36e5 <=
|
|
790
|
+
{ month: 31, year: 366 }[type] * day * count + offsetRange)) {
|
|
791
|
+
isSameRange = true;
|
|
792
|
+
}
|
|
793
|
+
else if (type === 'ytd') {
|
|
794
|
+
isSameRange = (ytdMax - ytdMin + offsetRange) === actualRange;
|
|
795
|
+
isYTDButNotSelected = !isSelected;
|
|
796
|
+
}
|
|
797
|
+
else if (type === 'all') {
|
|
798
|
+
isSameRange = (baseAxis.max - baseAxis.min >=
|
|
799
|
+
dataMax - dataMin);
|
|
800
|
+
isAllButAlreadyShowingAll = (!isSelected &&
|
|
801
|
+
selectedExists &&
|
|
802
|
+
isSameRange);
|
|
803
|
+
}
|
|
804
|
+
// The new zoom area happens to match the range for a button - mark
|
|
805
|
+
// it selected. This happens when scrolling across an ordinal gap.
|
|
806
|
+
// It can be seen in the intraday demos when selecting 1h and scroll
|
|
807
|
+
// across the night gap.
|
|
808
|
+
disable = (!allButtonsEnabled &&
|
|
809
|
+
(isTooGreatRange ||
|
|
810
|
+
isTooSmallRange ||
|
|
811
|
+
isAllButAlreadyShowingAll ||
|
|
812
|
+
hasNoData));
|
|
813
|
+
select = ((isSelected && isSameRange) ||
|
|
814
|
+
(isSameRange && !selectedExists && !isYTDButNotSelected) ||
|
|
815
|
+
(isSelected && rangeSelector.frozenStates));
|
|
816
|
+
if (disable) {
|
|
817
|
+
state = 3;
|
|
818
|
+
}
|
|
819
|
+
else if (select) {
|
|
820
|
+
selectedExists = true; // Only one button can be selected
|
|
821
|
+
state = 2;
|
|
822
|
+
}
|
|
823
|
+
// If state has changed, update the button
|
|
824
|
+
if (button.state !== state) {
|
|
825
|
+
button.setState(state);
|
|
826
|
+
if (dropdown) {
|
|
827
|
+
dropdown.options[i + 1].disabled = disable;
|
|
828
|
+
if (state === 2) {
|
|
829
|
+
dropdown.selectedIndex = i + 1;
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
// Reset (#9209)
|
|
833
|
+
if (state === 0 && selected === i) {
|
|
834
|
+
rangeSelector.setSelected();
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
});
|
|
838
|
+
};
|
|
839
|
+
/**
|
|
840
|
+
* Compute and cache the range for an individual button
|
|
841
|
+
*
|
|
842
|
+
* @private
|
|
843
|
+
* @function Highcharts.RangeSelector#computeButtonRange
|
|
844
|
+
* @param {Highcharts.RangeSelectorButtonsOptions} rangeOptions
|
|
845
|
+
*/
|
|
846
|
+
RangeSelector.prototype.computeButtonRange = function (rangeOptions) {
|
|
847
|
+
var type = rangeOptions.type, count = rangeOptions.count || 1,
|
|
848
|
+
// these time intervals have a fixed number of milliseconds, as
|
|
849
|
+
// opposed to month, ytd and year
|
|
850
|
+
fixedTimes = {
|
|
851
|
+
millisecond: 1,
|
|
852
|
+
second: 1000,
|
|
853
|
+
minute: 60 * 1000,
|
|
854
|
+
hour: 3600 * 1000,
|
|
855
|
+
day: 24 * 3600 * 1000,
|
|
856
|
+
week: 7 * 24 * 3600 * 1000
|
|
857
|
+
};
|
|
858
|
+
// Store the range on the button object
|
|
859
|
+
if (fixedTimes[type]) {
|
|
860
|
+
rangeOptions._range = fixedTimes[type] * count;
|
|
861
|
+
}
|
|
862
|
+
else if (type === 'month' || type === 'year') {
|
|
863
|
+
rangeOptions._range = {
|
|
864
|
+
month: 30,
|
|
865
|
+
year: 365
|
|
866
|
+
}[type] * 24 * 36e5 * count;
|
|
867
|
+
}
|
|
868
|
+
rangeOptions._offsetMin = pick(rangeOptions.offsetMin, 0);
|
|
869
|
+
rangeOptions._offsetMax = pick(rangeOptions.offsetMax, 0);
|
|
870
|
+
rangeOptions._range +=
|
|
871
|
+
rangeOptions._offsetMax - rangeOptions._offsetMin;
|
|
872
|
+
};
|
|
873
|
+
/**
|
|
874
|
+
* Get the unix timestamp of a HTML input for the dates
|
|
875
|
+
*
|
|
876
|
+
* @private
|
|
877
|
+
* @function Highcharts.RangeSelector#getInputValue
|
|
878
|
+
*/
|
|
879
|
+
RangeSelector.prototype.getInputValue = function (name) {
|
|
880
|
+
var input = name === 'min' ? this.minInput : this.maxInput;
|
|
881
|
+
var options = this.chart.options
|
|
882
|
+
.rangeSelector;
|
|
883
|
+
var time = this.chart.time;
|
|
884
|
+
if (input) {
|
|
885
|
+
return ((input.type === 'text' && options.inputDateParser) ||
|
|
886
|
+
this.defaultInputDateParser)(input.value, time.useUTC, time);
|
|
887
|
+
}
|
|
888
|
+
return 0;
|
|
889
|
+
};
|
|
890
|
+
/**
|
|
891
|
+
* Set the internal and displayed value of a HTML input for the dates
|
|
892
|
+
*
|
|
893
|
+
* @private
|
|
894
|
+
* @function Highcharts.RangeSelector#setInputValue
|
|
895
|
+
*/
|
|
896
|
+
RangeSelector.prototype.setInputValue = function (name, inputTime) {
|
|
897
|
+
var options = this.options, time = this.chart.time, input = name === 'min' ? this.minInput : this.maxInput, dateBox = name === 'min' ? this.minDateBox : this.maxDateBox;
|
|
898
|
+
if (input) {
|
|
899
|
+
var hcTimeAttr = input.getAttribute('data-hc-time');
|
|
900
|
+
var updatedTime = defined(hcTimeAttr) ? Number(hcTimeAttr) : void 0;
|
|
901
|
+
if (defined(inputTime)) {
|
|
902
|
+
var previousTime = updatedTime;
|
|
903
|
+
if (defined(previousTime)) {
|
|
904
|
+
input.setAttribute('data-hc-time-previous', previousTime);
|
|
905
|
+
}
|
|
906
|
+
input.setAttribute('data-hc-time', inputTime);
|
|
907
|
+
updatedTime = inputTime;
|
|
908
|
+
}
|
|
909
|
+
input.value = time.dateFormat((this.inputTypeFormats[input.type] ||
|
|
910
|
+
options.inputEditDateFormat), updatedTime);
|
|
911
|
+
if (dateBox) {
|
|
912
|
+
dateBox.attr({
|
|
913
|
+
text: time.dateFormat(options.inputDateFormat, updatedTime)
|
|
914
|
+
});
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
};
|
|
918
|
+
/**
|
|
919
|
+
* Set the min and max value of a HTML input for the dates
|
|
920
|
+
*
|
|
921
|
+
* @private
|
|
922
|
+
* @function Highcharts.RangeSelector#setInputExtremes
|
|
923
|
+
*/
|
|
924
|
+
RangeSelector.prototype.setInputExtremes = function (name, min, max) {
|
|
925
|
+
var input = name === 'min' ? this.minInput : this.maxInput;
|
|
926
|
+
if (input) {
|
|
927
|
+
var format = this.inputTypeFormats[input.type];
|
|
928
|
+
var time = this.chart.time;
|
|
929
|
+
if (format) {
|
|
930
|
+
var newMin = time.dateFormat(format, min);
|
|
931
|
+
if (input.min !== newMin) {
|
|
932
|
+
input.min = newMin;
|
|
933
|
+
}
|
|
934
|
+
var newMax = time.dateFormat(format, max);
|
|
935
|
+
if (input.max !== newMax) {
|
|
936
|
+
input.max = newMax;
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
}
|
|
940
|
+
};
|
|
941
|
+
/**
|
|
942
|
+
* @private
|
|
943
|
+
* @function Highcharts.RangeSelector#showInput
|
|
944
|
+
* @param {string} name
|
|
945
|
+
*/
|
|
946
|
+
RangeSelector.prototype.showInput = function (name) {
|
|
947
|
+
var dateBox = name === 'min' ? this.minDateBox : this.maxDateBox;
|
|
948
|
+
var input = name === 'min' ? this.minInput : this.maxInput;
|
|
949
|
+
if (input && dateBox && this.inputGroup) {
|
|
950
|
+
var isTextInput = input.type === 'text';
|
|
951
|
+
var _a = this.inputGroup, translateX = _a.translateX, translateY = _a.translateY;
|
|
952
|
+
var inputBoxWidth = this.options.inputBoxWidth;
|
|
953
|
+
css(input, {
|
|
954
|
+
width: isTextInput ?
|
|
955
|
+
((dateBox.width + (inputBoxWidth ? -2 : 20)) + 'px') :
|
|
956
|
+
'auto',
|
|
957
|
+
height: isTextInput ? ((dateBox.height - 2) + 'px') : 'auto',
|
|
958
|
+
border: '2px solid silver'
|
|
959
|
+
});
|
|
960
|
+
if (isTextInput && inputBoxWidth) {
|
|
961
|
+
css(input, {
|
|
962
|
+
left: (translateX + dateBox.x) + 'px',
|
|
963
|
+
top: translateY + 'px'
|
|
964
|
+
});
|
|
965
|
+
// Inputs of types date, time or datetime-local should be centered
|
|
966
|
+
// on top of the dateBox
|
|
967
|
+
}
|
|
968
|
+
else {
|
|
969
|
+
css(input, {
|
|
970
|
+
left: Math.min(Math.round(dateBox.x +
|
|
971
|
+
translateX -
|
|
972
|
+
(input.offsetWidth - dateBox.width) / 2), this.chart.chartWidth - input.offsetWidth) + 'px',
|
|
973
|
+
top: (translateY - (input.offsetHeight - dateBox.height) / 2) + 'px'
|
|
974
|
+
});
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
};
|
|
978
|
+
/**
|
|
979
|
+
* @private
|
|
980
|
+
* @function Highcharts.RangeSelector#hideInput
|
|
981
|
+
* @param {string} name
|
|
982
|
+
*/
|
|
983
|
+
RangeSelector.prototype.hideInput = function (name) {
|
|
984
|
+
var input = name === 'min' ? this.minInput : this.maxInput;
|
|
985
|
+
if (input) {
|
|
986
|
+
css(input, {
|
|
987
|
+
top: '-9999em',
|
|
988
|
+
border: 0,
|
|
989
|
+
width: '1px',
|
|
990
|
+
height: '1px'
|
|
991
|
+
});
|
|
992
|
+
}
|
|
993
|
+
};
|
|
994
|
+
/**
|
|
995
|
+
* @private
|
|
996
|
+
* @function Highcharts.RangeSelector#defaultInputDateParser
|
|
997
|
+
*/
|
|
998
|
+
RangeSelector.prototype.defaultInputDateParser = function (inputDate, useUTC, time) {
|
|
999
|
+
var hasTimezone = function (str) {
|
|
1000
|
+
return str.length > 6 &&
|
|
1001
|
+
(str.lastIndexOf('-') === str.length - 6 ||
|
|
1002
|
+
str.lastIndexOf('+') === str.length - 6);
|
|
1003
|
+
};
|
|
1004
|
+
var input = inputDate.split('/').join('-').split(' ').join('T');
|
|
1005
|
+
if (input.indexOf('T') === -1) {
|
|
1006
|
+
input += 'T00:00';
|
|
1007
|
+
}
|
|
1008
|
+
if (useUTC) {
|
|
1009
|
+
input += 'Z';
|
|
1010
|
+
}
|
|
1011
|
+
else if (H.isSafari && !hasTimezone(input)) {
|
|
1012
|
+
var offset = new Date(input).getTimezoneOffset() / 60;
|
|
1013
|
+
input += offset <= 0 ? "+" + pad(-offset) + ":00" : "-" + pad(offset) + ":00";
|
|
1014
|
+
}
|
|
1015
|
+
var date = Date.parse(input);
|
|
1016
|
+
// If the value isn't parsed directly to a value by the
|
|
1017
|
+
// browser's Date.parse method, like YYYY-MM-DD in IE8, try
|
|
1018
|
+
// parsing it a different way
|
|
1019
|
+
if (!isNumber(date)) {
|
|
1020
|
+
var parts = inputDate.split('-');
|
|
1021
|
+
date = Date.UTC(pInt(parts[0]), pInt(parts[1]) - 1, pInt(parts[2]));
|
|
1022
|
+
}
|
|
1023
|
+
if (time && useUTC && isNumber(date)) {
|
|
1024
|
+
date += time.getTimezoneOffset(date);
|
|
1025
|
+
}
|
|
1026
|
+
return date;
|
|
1027
|
+
};
|
|
1028
|
+
/**
|
|
1029
|
+
* Draw either the 'from' or the 'to' HTML input box of the range selector
|
|
1030
|
+
*
|
|
1031
|
+
* @private
|
|
1032
|
+
* @function Highcharts.RangeSelector#drawInput
|
|
1033
|
+
*/
|
|
1034
|
+
RangeSelector.prototype.drawInput = function (name) {
|
|
1035
|
+
var _a = this, chart = _a.chart, div = _a.div, inputGroup = _a.inputGroup;
|
|
1036
|
+
var rangeSelector = this, chartStyle = chart.renderer.style || {}, renderer = chart.renderer, options = chart.options.rangeSelector, lang = defaultOptions.lang, isMin = name === 'min';
|
|
1037
|
+
/**
|
|
1038
|
+
* @private
|
|
1039
|
+
*/
|
|
1040
|
+
function updateExtremes() {
|
|
1041
|
+
var value = rangeSelector.getInputValue(name), chartAxis = chart.xAxis[0], dataAxis = chart.scroller && chart.scroller.xAxis ?
|
|
1042
|
+
chart.scroller.xAxis :
|
|
1043
|
+
chartAxis, dataMin = dataAxis.dataMin, dataMax = dataAxis.dataMax;
|
|
1044
|
+
var maxInput = rangeSelector.maxInput, minInput = rangeSelector.minInput;
|
|
1045
|
+
if (value !== Number(input.getAttribute('data-hc-time-previous')) &&
|
|
1046
|
+
isNumber(value)) {
|
|
1047
|
+
input.setAttribute('data-hc-time-previous', value);
|
|
1048
|
+
// Validate the extremes. If it goes beyound the data min or
|
|
1049
|
+
// max, use the actual data extreme (#2438).
|
|
1050
|
+
if (isMin && maxInput && isNumber(dataMin)) {
|
|
1051
|
+
if (value > Number(maxInput.getAttribute('data-hc-time'))) {
|
|
1052
|
+
value = void 0;
|
|
1053
|
+
}
|
|
1054
|
+
else if (value < dataMin) {
|
|
1055
|
+
value = dataMin;
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1058
|
+
else if (minInput && isNumber(dataMax)) {
|
|
1059
|
+
if (value < Number(minInput.getAttribute('data-hc-time'))) {
|
|
1060
|
+
value = void 0;
|
|
1061
|
+
}
|
|
1062
|
+
else if (value > dataMax) {
|
|
1063
|
+
value = dataMax;
|
|
1064
|
+
}
|
|
1065
|
+
}
|
|
1066
|
+
// Set the extremes
|
|
1067
|
+
if (typeof value !== 'undefined') { // @todo typof undefined
|
|
1068
|
+
chartAxis.setExtremes(isMin ? value : chartAxis.min, isMin ? chartAxis.max : value, void 0, void 0, { trigger: 'rangeSelectorInput' });
|
|
1069
|
+
}
|
|
1070
|
+
}
|
|
1071
|
+
}
|
|
1072
|
+
// Create the text label
|
|
1073
|
+
var text = lang[isMin ? 'rangeSelectorFrom' : 'rangeSelectorTo'] || '';
|
|
1074
|
+
var label = renderer
|
|
1075
|
+
.label(text, 0)
|
|
1076
|
+
.addClass('highcharts-range-label')
|
|
1077
|
+
.attr({
|
|
1078
|
+
padding: text ? 2 : 0,
|
|
1079
|
+
height: text ? options.inputBoxHeight : 0
|
|
1080
|
+
})
|
|
1081
|
+
.add(inputGroup);
|
|
1082
|
+
// Create an SVG label that shows updated date ranges and and records
|
|
1083
|
+
// click events that bring in the HTML input.
|
|
1084
|
+
var dateBox = renderer
|
|
1085
|
+
.label('', 0)
|
|
1086
|
+
.addClass('highcharts-range-input')
|
|
1087
|
+
.attr({
|
|
1088
|
+
padding: 2,
|
|
1089
|
+
width: options.inputBoxWidth,
|
|
1090
|
+
height: options.inputBoxHeight,
|
|
1091
|
+
'text-align': 'center'
|
|
1092
|
+
})
|
|
1093
|
+
.on('click', function () {
|
|
1094
|
+
// If it is already focused, the onfocus event doesn't fire
|
|
1095
|
+
// (#3713)
|
|
1096
|
+
rangeSelector.showInput(name);
|
|
1097
|
+
rangeSelector[name + 'Input'].focus();
|
|
1098
|
+
});
|
|
1099
|
+
if (!chart.styledMode) {
|
|
1100
|
+
dateBox.attr({
|
|
1101
|
+
stroke: options.inputBoxBorderColor,
|
|
1102
|
+
'stroke-width': 1
|
|
1103
|
+
});
|
|
1104
|
+
}
|
|
1105
|
+
dateBox.add(inputGroup);
|
|
1106
|
+
// Create the HTML input element. This is rendered as 1x1 pixel then set
|
|
1107
|
+
// to the right size when focused.
|
|
1108
|
+
var input = createElement('input', {
|
|
1109
|
+
name: name,
|
|
1110
|
+
className: 'highcharts-range-selector'
|
|
1111
|
+
}, void 0, div);
|
|
1112
|
+
// #14788: Setting input.type to an unsupported type throws in IE, so
|
|
1113
|
+
// we need to use setAttribute instead
|
|
1114
|
+
input.setAttribute('type', preferredInputType(options.inputDateFormat || '%b %e, %Y'));
|
|
1115
|
+
if (!chart.styledMode) {
|
|
1116
|
+
// Styles
|
|
1117
|
+
label.css(merge(chartStyle, options.labelStyle));
|
|
1118
|
+
dateBox.css(merge({
|
|
1119
|
+
color: "#333333" /* neutralColor80 */
|
|
1120
|
+
}, chartStyle, options.inputStyle));
|
|
1121
|
+
css(input, extend({
|
|
1122
|
+
position: 'absolute',
|
|
1123
|
+
border: 0,
|
|
1124
|
+
boxShadow: '0 0 15px rgba(0,0,0,0.3)',
|
|
1125
|
+
width: '1px',
|
|
1126
|
+
height: '1px',
|
|
1127
|
+
padding: 0,
|
|
1128
|
+
textAlign: 'center',
|
|
1129
|
+
fontSize: chartStyle.fontSize,
|
|
1130
|
+
fontFamily: chartStyle.fontFamily,
|
|
1131
|
+
top: '-9999em' // #4798
|
|
1132
|
+
}, options.inputStyle));
|
|
1133
|
+
}
|
|
1134
|
+
// Blow up the input box
|
|
1135
|
+
input.onfocus = function () {
|
|
1136
|
+
rangeSelector.showInput(name);
|
|
1137
|
+
};
|
|
1138
|
+
// Hide away the input box
|
|
1139
|
+
input.onblur = function () {
|
|
1140
|
+
// update extermes only when inputs are active
|
|
1141
|
+
if (input === H.doc.activeElement) { // Only when focused
|
|
1142
|
+
// Update also when no `change` event is triggered, like when
|
|
1143
|
+
// clicking inside the SVG (#4710)
|
|
1144
|
+
updateExtremes();
|
|
1145
|
+
}
|
|
1146
|
+
// #10404 - move hide and blur outside focus
|
|
1147
|
+
rangeSelector.hideInput(name);
|
|
1148
|
+
rangeSelector.setInputValue(name);
|
|
1149
|
+
input.blur(); // #4606
|
|
1150
|
+
};
|
|
1151
|
+
var keyDown = false;
|
|
1152
|
+
// handle changes in the input boxes
|
|
1153
|
+
input.onchange = function () {
|
|
1154
|
+
// Update extremes and blur input when clicking date input calendar
|
|
1155
|
+
if (!keyDown) {
|
|
1156
|
+
updateExtremes();
|
|
1157
|
+
rangeSelector.hideInput(name);
|
|
1158
|
+
input.blur();
|
|
1159
|
+
}
|
|
1160
|
+
};
|
|
1161
|
+
input.onkeypress = function (event) {
|
|
1162
|
+
// IE does not fire onchange on enter
|
|
1163
|
+
if (event.keyCode === 13) {
|
|
1164
|
+
updateExtremes();
|
|
1165
|
+
}
|
|
1166
|
+
};
|
|
1167
|
+
input.onkeydown = function (event) {
|
|
1168
|
+
keyDown = true;
|
|
1169
|
+
// Arrow keys
|
|
1170
|
+
if (event.keyCode === 38 || event.keyCode === 40) {
|
|
1171
|
+
updateExtremes();
|
|
1172
|
+
}
|
|
1173
|
+
};
|
|
1174
|
+
input.onkeyup = function () {
|
|
1175
|
+
keyDown = false;
|
|
1176
|
+
};
|
|
1177
|
+
return { dateBox: dateBox, input: input, label: label };
|
|
1178
|
+
};
|
|
1179
|
+
/**
|
|
1180
|
+
* Get the position of the range selector buttons and inputs. This can be
|
|
1181
|
+
* overridden from outside for custom positioning.
|
|
1182
|
+
*
|
|
1183
|
+
* @private
|
|
1184
|
+
* @function Highcharts.RangeSelector#getPosition
|
|
1185
|
+
*/
|
|
1186
|
+
RangeSelector.prototype.getPosition = function () {
|
|
1187
|
+
var chart = this.chart, options = chart.options.rangeSelector, top = options.verticalAlign === 'top' ?
|
|
1188
|
+
chart.plotTop - chart.axisOffset[0] :
|
|
1189
|
+
0; // set offset only for varticalAlign top
|
|
1190
|
+
return {
|
|
1191
|
+
buttonTop: top + options.buttonPosition.y,
|
|
1192
|
+
inputTop: top + options.inputPosition.y - 10
|
|
1193
|
+
};
|
|
1194
|
+
};
|
|
1195
|
+
/**
|
|
1196
|
+
* Get the extremes of YTD. Will choose dataMax if its value is lower than
|
|
1197
|
+
* the current timestamp. Will choose dataMin if its value is higher than
|
|
1198
|
+
* the timestamp for the start of current year.
|
|
1199
|
+
*
|
|
1200
|
+
* @private
|
|
1201
|
+
* @function Highcharts.RangeSelector#getYTDExtremes
|
|
1202
|
+
* @return {*}
|
|
1203
|
+
* Returns min and max for the YTD
|
|
1204
|
+
*/
|
|
1205
|
+
RangeSelector.prototype.getYTDExtremes = function (dataMax, dataMin, useUTC) {
|
|
1206
|
+
var time = this.chart.time, min, now = new time.Date(dataMax), year = time.get('FullYear', now), startOfYear = useUTC ?
|
|
1207
|
+
time.Date.UTC(year, 0, 1) : // eslint-disable-line new-cap
|
|
1208
|
+
+new time.Date(year, 0, 1);
|
|
1209
|
+
min = Math.max(dataMin, startOfYear);
|
|
1210
|
+
var ts = now.getTime();
|
|
1211
|
+
return {
|
|
1212
|
+
max: Math.min(dataMax || ts, ts),
|
|
1213
|
+
min: min
|
|
1214
|
+
};
|
|
1215
|
+
};
|
|
1216
|
+
/**
|
|
1217
|
+
* Render the range selector including the buttons and the inputs. The first
|
|
1218
|
+
* time render is called, the elements are created and positioned. On
|
|
1219
|
+
* subsequent calls, they are moved and updated.
|
|
1220
|
+
*
|
|
1221
|
+
* @private
|
|
1222
|
+
* @function Highcharts.RangeSelector#render
|
|
1223
|
+
* @param {number} [min]
|
|
1224
|
+
* X axis minimum
|
|
1225
|
+
* @param {number} [max]
|
|
1226
|
+
* X axis maximum
|
|
1227
|
+
*/
|
|
1228
|
+
RangeSelector.prototype.render = function (min, max) {
|
|
1229
|
+
var chart = this.chart, renderer = chart.renderer, container = chart.container, chartOptions = chart.options, options = chartOptions.rangeSelector,
|
|
1230
|
+
// Place inputs above the container
|
|
1231
|
+
inputsZIndex = pick(chartOptions.chart.style &&
|
|
1232
|
+
chartOptions.chart.style.zIndex, 0) + 1, inputEnabled = options.inputEnabled, rendered = this.rendered;
|
|
1233
|
+
if (options.enabled === false) {
|
|
1234
|
+
return;
|
|
1235
|
+
}
|
|
1236
|
+
// create the elements
|
|
1237
|
+
if (!rendered) {
|
|
1238
|
+
this.group = renderer.g('range-selector-group')
|
|
1239
|
+
.attr({
|
|
1240
|
+
zIndex: 7
|
|
1241
|
+
})
|
|
1242
|
+
.add();
|
|
1243
|
+
this.div = createElement('div', void 0, {
|
|
1244
|
+
position: 'relative',
|
|
1245
|
+
height: 0,
|
|
1246
|
+
zIndex: inputsZIndex
|
|
1247
|
+
});
|
|
1248
|
+
if (this.buttonOptions.length) {
|
|
1249
|
+
this.renderButtons();
|
|
1250
|
+
}
|
|
1251
|
+
// First create a wrapper outside the container in order to make
|
|
1252
|
+
// the inputs work and make export correct
|
|
1253
|
+
if (container.parentNode) {
|
|
1254
|
+
container.parentNode.insertBefore(this.div, container);
|
|
1255
|
+
}
|
|
1256
|
+
if (inputEnabled) {
|
|
1257
|
+
// Create the group to keep the inputs
|
|
1258
|
+
this.inputGroup = renderer.g('input-group').add(this.group);
|
|
1259
|
+
var minElems = this.drawInput('min');
|
|
1260
|
+
this.minDateBox = minElems.dateBox;
|
|
1261
|
+
this.minLabel = minElems.label;
|
|
1262
|
+
this.minInput = minElems.input;
|
|
1263
|
+
var maxElems = this.drawInput('max');
|
|
1264
|
+
this.maxDateBox = maxElems.dateBox;
|
|
1265
|
+
this.maxLabel = maxElems.label;
|
|
1266
|
+
this.maxInput = maxElems.input;
|
|
1267
|
+
}
|
|
1268
|
+
}
|
|
1269
|
+
if (inputEnabled) {
|
|
1270
|
+
// Set or reset the input values
|
|
1271
|
+
this.setInputValue('min', min);
|
|
1272
|
+
this.setInputValue('max', max);
|
|
1273
|
+
var unionExtremes = (chart.scroller && chart.scroller.getUnionExtremes()) || chart.xAxis[0] || {};
|
|
1274
|
+
if (defined(unionExtremes.dataMin) &&
|
|
1275
|
+
defined(unionExtremes.dataMax)) {
|
|
1276
|
+
var minRange = chart.xAxis[0].minRange || 0;
|
|
1277
|
+
this.setInputExtremes('min', unionExtremes.dataMin, Math.min(unionExtremes.dataMax, this.getInputValue('max')) - minRange);
|
|
1278
|
+
this.setInputExtremes('max', Math.max(unionExtremes.dataMin, this.getInputValue('min')) + minRange, unionExtremes.dataMax);
|
|
1279
|
+
}
|
|
1280
|
+
// Reflow
|
|
1281
|
+
if (this.inputGroup) {
|
|
1282
|
+
var x_1 = 0;
|
|
1283
|
+
[
|
|
1284
|
+
this.minLabel,
|
|
1285
|
+
this.minDateBox,
|
|
1286
|
+
this.maxLabel,
|
|
1287
|
+
this.maxDateBox
|
|
1288
|
+
].forEach(function (label) {
|
|
1289
|
+
if (label) {
|
|
1290
|
+
var width = label.getBBox().width;
|
|
1291
|
+
if (width) {
|
|
1292
|
+
label.attr({ x: x_1 });
|
|
1293
|
+
x_1 += width + options.inputSpacing;
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
1296
|
+
});
|
|
1297
|
+
}
|
|
1298
|
+
}
|
|
1299
|
+
this.alignElements();
|
|
1300
|
+
this.rendered = true;
|
|
1301
|
+
};
|
|
1302
|
+
/**
|
|
1303
|
+
* Render the range buttons. This only runs the first time, later the
|
|
1304
|
+
* positioning is laid out in alignElements.
|
|
1305
|
+
*
|
|
1306
|
+
* @private
|
|
1307
|
+
* @function Highcharts.RangeSelector#renderButtons
|
|
1308
|
+
*/
|
|
1309
|
+
RangeSelector.prototype.renderButtons = function () {
|
|
1310
|
+
var _this = this;
|
|
1311
|
+
var _a = this, buttons = _a.buttons, chart = _a.chart, options = _a.options;
|
|
1312
|
+
var lang = defaultOptions.lang;
|
|
1313
|
+
var renderer = chart.renderer;
|
|
1314
|
+
var buttonTheme = merge(options.buttonTheme);
|
|
1315
|
+
var states = buttonTheme && buttonTheme.states;
|
|
1316
|
+
// Prevent the button from resetting the width when the button state
|
|
1317
|
+
// changes since we need more control over the width when collapsing
|
|
1318
|
+
// the buttons
|
|
1319
|
+
var width = buttonTheme.width || 28;
|
|
1320
|
+
delete buttonTheme.width;
|
|
1321
|
+
delete buttonTheme.states;
|
|
1322
|
+
this.buttonGroup = renderer.g('range-selector-buttons').add(this.group);
|
|
1323
|
+
var dropdown = this.dropdown = createElement('select', void 0, {
|
|
1324
|
+
position: 'absolute',
|
|
1325
|
+
width: '1px',
|
|
1326
|
+
height: '1px',
|
|
1327
|
+
padding: 0,
|
|
1328
|
+
border: 0,
|
|
1329
|
+
top: '-9999em',
|
|
1330
|
+
cursor: 'pointer',
|
|
1331
|
+
opacity: 0.0001
|
|
1332
|
+
}, this.div);
|
|
1333
|
+
// Prevent page zoom on iPhone
|
|
1334
|
+
addEvent(dropdown, 'touchstart', function () {
|
|
1335
|
+
dropdown.style.fontSize = '16px';
|
|
1336
|
+
});
|
|
1337
|
+
// Forward events from select to button
|
|
1338
|
+
[
|
|
1339
|
+
[H.isMS ? 'mouseover' : 'mouseenter'],
|
|
1340
|
+
[H.isMS ? 'mouseout' : 'mouseleave'],
|
|
1341
|
+
['change', 'click']
|
|
1342
|
+
].forEach(function (_a) {
|
|
1343
|
+
var from = _a[0], to = _a[1];
|
|
1344
|
+
addEvent(dropdown, from, function () {
|
|
1345
|
+
var button = buttons[_this.currentButtonIndex()];
|
|
1346
|
+
if (button) {
|
|
1347
|
+
fireEvent(button.element, to || from);
|
|
1348
|
+
}
|
|
1349
|
+
});
|
|
1350
|
+
});
|
|
1351
|
+
this.zoomText = renderer
|
|
1352
|
+
.label((lang && lang.rangeSelectorZoom) || '', 0)
|
|
1353
|
+
.attr({
|
|
1354
|
+
padding: options.buttonTheme.padding,
|
|
1355
|
+
height: options.buttonTheme.height,
|
|
1356
|
+
paddingLeft: 0,
|
|
1357
|
+
paddingRight: 0
|
|
1358
|
+
})
|
|
1359
|
+
.add(this.buttonGroup);
|
|
1360
|
+
if (!this.chart.styledMode) {
|
|
1361
|
+
this.zoomText.css(options.labelStyle);
|
|
1362
|
+
buttonTheme['stroke-width'] = pick(buttonTheme['stroke-width'], 0);
|
|
1363
|
+
}
|
|
1364
|
+
createElement('option', {
|
|
1365
|
+
textContent: this.zoomText.textStr,
|
|
1366
|
+
disabled: true
|
|
1367
|
+
}, void 0, dropdown);
|
|
1368
|
+
this.buttonOptions.forEach(function (rangeOptions, i) {
|
|
1369
|
+
createElement('option', {
|
|
1370
|
+
textContent: rangeOptions.title || rangeOptions.text
|
|
1371
|
+
}, void 0, dropdown);
|
|
1372
|
+
buttons[i] = renderer
|
|
1373
|
+
.button(rangeOptions.text, 0, 0, function (e) {
|
|
1374
|
+
// extract events from button object and call
|
|
1375
|
+
var buttonEvents = (rangeOptions.events &&
|
|
1376
|
+
rangeOptions.events.click), callDefaultEvent;
|
|
1377
|
+
if (buttonEvents) {
|
|
1378
|
+
callDefaultEvent =
|
|
1379
|
+
buttonEvents.call(rangeOptions, e);
|
|
1380
|
+
}
|
|
1381
|
+
if (callDefaultEvent !== false) {
|
|
1382
|
+
_this.clickButton(i);
|
|
1383
|
+
}
|
|
1384
|
+
_this.isActive = true;
|
|
1385
|
+
}, buttonTheme, states && states.hover, states && states.select, states && states.disabled)
|
|
1386
|
+
.attr({
|
|
1387
|
+
'text-align': 'center',
|
|
1388
|
+
width: width
|
|
1389
|
+
})
|
|
1390
|
+
.add(_this.buttonGroup);
|
|
1391
|
+
if (rangeOptions.title) {
|
|
1392
|
+
buttons[i].attr('title', rangeOptions.title);
|
|
1393
|
+
}
|
|
1394
|
+
});
|
|
1395
|
+
};
|
|
1396
|
+
/**
|
|
1397
|
+
* Align the elements horizontally and vertically.
|
|
1398
|
+
*
|
|
1399
|
+
* @private
|
|
1400
|
+
* @function Highcharts.RangeSelector#alignElements
|
|
1401
|
+
*/
|
|
1402
|
+
RangeSelector.prototype.alignElements = function () {
|
|
1403
|
+
var _this = this;
|
|
1404
|
+
var _a = this, buttonGroup = _a.buttonGroup, buttons = _a.buttons, chart = _a.chart, group = _a.group, inputGroup = _a.inputGroup, options = _a.options, zoomText = _a.zoomText;
|
|
1405
|
+
var chartOptions = chart.options;
|
|
1406
|
+
var navButtonOptions = (chartOptions.exporting &&
|
|
1407
|
+
chartOptions.exporting.enabled !== false &&
|
|
1408
|
+
chartOptions.navigation &&
|
|
1409
|
+
chartOptions.navigation.buttonOptions);
|
|
1410
|
+
var buttonPosition = options.buttonPosition, inputPosition = options.inputPosition, verticalAlign = options.verticalAlign;
|
|
1411
|
+
// Get the X offset required to avoid overlapping with the exporting
|
|
1412
|
+
// button. This is is used both by the buttonGroup and the inputGroup.
|
|
1413
|
+
var getXOffsetForExportButton = function (group, position) {
|
|
1414
|
+
if (navButtonOptions &&
|
|
1415
|
+
_this.titleCollision(chart) &&
|
|
1416
|
+
verticalAlign === 'top' &&
|
|
1417
|
+
position.align === 'right' && ((position.y -
|
|
1418
|
+
group.getBBox().height - 12) <
|
|
1419
|
+
((navButtonOptions.y || 0) +
|
|
1420
|
+
(navButtonOptions.height || 0) +
|
|
1421
|
+
chart.spacing[0]))) {
|
|
1422
|
+
return -40;
|
|
1423
|
+
}
|
|
1424
|
+
return 0;
|
|
1425
|
+
};
|
|
1426
|
+
var plotLeft = chart.plotLeft;
|
|
1427
|
+
if (group && buttonPosition && inputPosition) {
|
|
1428
|
+
var translateX = buttonPosition.x - chart.spacing[3];
|
|
1429
|
+
if (buttonGroup) {
|
|
1430
|
+
this.positionButtons();
|
|
1431
|
+
if (!this.initialButtonGroupWidth) {
|
|
1432
|
+
var width_1 = 0;
|
|
1433
|
+
if (zoomText) {
|
|
1434
|
+
width_1 += zoomText.getBBox().width + 5;
|
|
1435
|
+
}
|
|
1436
|
+
buttons.forEach(function (button, i) {
|
|
1437
|
+
width_1 += button.width;
|
|
1438
|
+
if (i !== buttons.length - 1) {
|
|
1439
|
+
width_1 += options.buttonSpacing;
|
|
1440
|
+
}
|
|
1441
|
+
});
|
|
1442
|
+
this.initialButtonGroupWidth = width_1;
|
|
1443
|
+
}
|
|
1444
|
+
plotLeft -= chart.spacing[3];
|
|
1445
|
+
this.updateButtonStates();
|
|
1446
|
+
// Detect collision between button group and exporting
|
|
1447
|
+
var xOffsetForExportButton_1 = getXOffsetForExportButton(buttonGroup, buttonPosition);
|
|
1448
|
+
this.alignButtonGroup(xOffsetForExportButton_1);
|
|
1449
|
+
// Skip animation
|
|
1450
|
+
group.placed = buttonGroup.placed = chart.hasLoaded;
|
|
1451
|
+
}
|
|
1452
|
+
var xOffsetForExportButton = 0;
|
|
1453
|
+
if (inputGroup) {
|
|
1454
|
+
// Detect collision between the input group and exporting button
|
|
1455
|
+
xOffsetForExportButton = getXOffsetForExportButton(inputGroup, inputPosition);
|
|
1456
|
+
if (inputPosition.align === 'left') {
|
|
1457
|
+
translateX = plotLeft;
|
|
1458
|
+
}
|
|
1459
|
+
else if (inputPosition.align === 'right') {
|
|
1460
|
+
translateX = -Math.max(chart.axisOffset[1], -xOffsetForExportButton);
|
|
1461
|
+
}
|
|
1462
|
+
// Update the alignment to the updated spacing box
|
|
1463
|
+
inputGroup.align({
|
|
1464
|
+
y: inputPosition.y,
|
|
1465
|
+
width: inputGroup.getBBox().width,
|
|
1466
|
+
align: inputPosition.align,
|
|
1467
|
+
// fix wrong getBBox() value on right align
|
|
1468
|
+
x: inputPosition.x + translateX - 2
|
|
1469
|
+
}, true, chart.spacingBox);
|
|
1470
|
+
// Skip animation
|
|
1471
|
+
inputGroup.placed = chart.hasLoaded;
|
|
1472
|
+
}
|
|
1473
|
+
this.handleCollision(xOffsetForExportButton);
|
|
1474
|
+
// Vertical align
|
|
1475
|
+
group.align({
|
|
1476
|
+
verticalAlign: verticalAlign
|
|
1477
|
+
}, true, chart.spacingBox);
|
|
1478
|
+
var alignTranslateY = group.alignAttr.translateY;
|
|
1479
|
+
// Set position
|
|
1480
|
+
var groupHeight = group.getBBox().height + 20; // # 20 padding
|
|
1481
|
+
var translateY = 0;
|
|
1482
|
+
// Calculate bottom position
|
|
1483
|
+
if (verticalAlign === 'bottom') {
|
|
1484
|
+
var legendOptions = chart.legend && chart.legend.options;
|
|
1485
|
+
var legendHeight = (legendOptions &&
|
|
1486
|
+
legendOptions.verticalAlign === 'bottom' &&
|
|
1487
|
+
legendOptions.enabled &&
|
|
1488
|
+
!legendOptions.floating ?
|
|
1489
|
+
(chart.legend.legendHeight +
|
|
1490
|
+
pick(legendOptions.margin, 10)) :
|
|
1491
|
+
0);
|
|
1492
|
+
groupHeight = groupHeight + legendHeight - 20;
|
|
1493
|
+
translateY = (alignTranslateY -
|
|
1494
|
+
groupHeight -
|
|
1495
|
+
(options.floating ? 0 : options.y) -
|
|
1496
|
+
(chart.titleOffset ? chart.titleOffset[2] : 0) -
|
|
1497
|
+
10 // 10 spacing
|
|
1498
|
+
);
|
|
1499
|
+
}
|
|
1500
|
+
if (verticalAlign === 'top') {
|
|
1501
|
+
if (options.floating) {
|
|
1502
|
+
translateY = 0;
|
|
1503
|
+
}
|
|
1504
|
+
if (chart.titleOffset && chart.titleOffset[0]) {
|
|
1505
|
+
translateY = chart.titleOffset[0];
|
|
1506
|
+
}
|
|
1507
|
+
translateY += ((chart.margin[0] - chart.spacing[0]) || 0);
|
|
1508
|
+
}
|
|
1509
|
+
else if (verticalAlign === 'middle') {
|
|
1510
|
+
if (inputPosition.y === buttonPosition.y) {
|
|
1511
|
+
translateY = alignTranslateY;
|
|
1512
|
+
}
|
|
1513
|
+
else if (inputPosition.y || buttonPosition.y) {
|
|
1514
|
+
if (inputPosition.y < 0 ||
|
|
1515
|
+
buttonPosition.y < 0) {
|
|
1516
|
+
translateY -= Math.min(inputPosition.y, buttonPosition.y);
|
|
1517
|
+
}
|
|
1518
|
+
else {
|
|
1519
|
+
translateY = alignTranslateY - groupHeight;
|
|
1520
|
+
}
|
|
1521
|
+
}
|
|
1522
|
+
}
|
|
1523
|
+
group.translate(options.x, options.y + Math.floor(translateY));
|
|
1524
|
+
// Translate HTML inputs
|
|
1525
|
+
var _b = this, minInput = _b.minInput, maxInput = _b.maxInput, dropdown = _b.dropdown;
|
|
1526
|
+
if (options.inputEnabled && minInput && maxInput) {
|
|
1527
|
+
minInput.style.marginTop = group.translateY + 'px';
|
|
1528
|
+
maxInput.style.marginTop = group.translateY + 'px';
|
|
1529
|
+
}
|
|
1530
|
+
if (dropdown) {
|
|
1531
|
+
dropdown.style.marginTop = group.translateY + 'px';
|
|
1532
|
+
}
|
|
1533
|
+
}
|
|
1534
|
+
};
|
|
1535
|
+
/**
|
|
1536
|
+
* Align the button group horizontally and vertically.
|
|
1537
|
+
*
|
|
1538
|
+
* @private
|
|
1539
|
+
* @function Highcharts.RangeSelector#alignButtonGroup
|
|
1540
|
+
* @param {number} xOffsetForExportButton
|
|
1541
|
+
* @param {number} [width]
|
|
1542
|
+
*/
|
|
1543
|
+
RangeSelector.prototype.alignButtonGroup = function (xOffsetForExportButton, width) {
|
|
1544
|
+
var _a = this, chart = _a.chart, options = _a.options, buttonGroup = _a.buttonGroup, buttons = _a.buttons;
|
|
1545
|
+
var buttonPosition = options.buttonPosition;
|
|
1546
|
+
var plotLeft = chart.plotLeft - chart.spacing[3];
|
|
1547
|
+
var translateX = buttonPosition.x - chart.spacing[3];
|
|
1548
|
+
if (buttonPosition.align === 'right') {
|
|
1549
|
+
translateX += xOffsetForExportButton - plotLeft; // #13014
|
|
1550
|
+
}
|
|
1551
|
+
else if (buttonPosition.align === 'center') {
|
|
1552
|
+
translateX -= plotLeft / 2;
|
|
1553
|
+
}
|
|
1554
|
+
if (buttonGroup) {
|
|
1555
|
+
// Align button group
|
|
1556
|
+
buttonGroup.align({
|
|
1557
|
+
y: buttonPosition.y,
|
|
1558
|
+
width: pick(width, this.initialButtonGroupWidth),
|
|
1559
|
+
align: buttonPosition.align,
|
|
1560
|
+
x: translateX
|
|
1561
|
+
}, true, chart.spacingBox);
|
|
1562
|
+
}
|
|
1563
|
+
};
|
|
1564
|
+
/**
|
|
1565
|
+
* @private
|
|
1566
|
+
* @function Highcharts.RangeSelector#positionButtons
|
|
1567
|
+
*/
|
|
1568
|
+
RangeSelector.prototype.positionButtons = function () {
|
|
1569
|
+
var _a = this, buttons = _a.buttons, chart = _a.chart, options = _a.options, zoomText = _a.zoomText;
|
|
1570
|
+
var verb = chart.hasLoaded ? 'animate' : 'attr';
|
|
1571
|
+
var buttonPosition = options.buttonPosition;
|
|
1572
|
+
var plotLeft = chart.plotLeft;
|
|
1573
|
+
var buttonLeft = plotLeft;
|
|
1574
|
+
if (zoomText && zoomText.visibility !== 'hidden') {
|
|
1575
|
+
// #8769, allow dynamically updating margins
|
|
1576
|
+
zoomText[verb]({
|
|
1577
|
+
x: pick(plotLeft + buttonPosition.x, plotLeft)
|
|
1578
|
+
});
|
|
1579
|
+
// Button start position
|
|
1580
|
+
buttonLeft += buttonPosition.x +
|
|
1581
|
+
zoomText.getBBox().width + 5;
|
|
1582
|
+
}
|
|
1583
|
+
this.buttonOptions.forEach(function (rangeOptions, i) {
|
|
1584
|
+
if (buttons[i].visibility !== 'hidden') {
|
|
1585
|
+
buttons[i][verb]({ x: buttonLeft });
|
|
1586
|
+
// increase button position for the next button
|
|
1587
|
+
buttonLeft += buttons[i].width + options.buttonSpacing;
|
|
1588
|
+
}
|
|
1589
|
+
else {
|
|
1590
|
+
buttons[i][verb]({ x: plotLeft });
|
|
1591
|
+
}
|
|
1592
|
+
});
|
|
1593
|
+
};
|
|
1594
|
+
/**
|
|
1595
|
+
* Handle collision between the button group and the input group
|
|
1596
|
+
*
|
|
1597
|
+
* @private
|
|
1598
|
+
* @function Highcharts.RangeSelector#handleCollision
|
|
1599
|
+
*
|
|
1600
|
+
* @param {number} xOffsetForExportButton
|
|
1601
|
+
* The X offset of the group required to make room for the
|
|
1602
|
+
* exporting button
|
|
1603
|
+
*/
|
|
1604
|
+
RangeSelector.prototype.handleCollision = function (xOffsetForExportButton) {
|
|
1605
|
+
var _this = this;
|
|
1606
|
+
var _a = this, chart = _a.chart, buttonGroup = _a.buttonGroup, inputGroup = _a.inputGroup;
|
|
1607
|
+
var _b = this.options, buttonPosition = _b.buttonPosition, dropdown = _b.dropdown, inputPosition = _b.inputPosition;
|
|
1608
|
+
var maxButtonWidth = function () {
|
|
1609
|
+
var buttonWidth = 0;
|
|
1610
|
+
_this.buttons.forEach(function (button) {
|
|
1611
|
+
var bBox = button.getBBox();
|
|
1612
|
+
if (bBox.width > buttonWidth) {
|
|
1613
|
+
buttonWidth = bBox.width;
|
|
1614
|
+
}
|
|
1615
|
+
});
|
|
1616
|
+
return buttonWidth;
|
|
1617
|
+
};
|
|
1618
|
+
var groupsOverlap = function (buttonGroupWidth) {
|
|
1619
|
+
if (inputGroup && buttonGroup) {
|
|
1620
|
+
var inputGroupX = (inputGroup.alignAttr.translateX +
|
|
1621
|
+
inputGroup.alignOptions.x -
|
|
1622
|
+
xOffsetForExportButton +
|
|
1623
|
+
// getBBox for detecing left margin
|
|
1624
|
+
inputGroup.getBBox().x +
|
|
1625
|
+
// 2px padding to not overlap input and label
|
|
1626
|
+
2);
|
|
1627
|
+
var inputGroupWidth = inputGroup.alignOptions.width;
|
|
1628
|
+
var buttonGroupX = buttonGroup.alignAttr.translateX +
|
|
1629
|
+
buttonGroup.getBBox().x;
|
|
1630
|
+
return (buttonGroupX + buttonGroupWidth > inputGroupX) &&
|
|
1631
|
+
(inputGroupX + inputGroupWidth > buttonGroupX) &&
|
|
1632
|
+
(buttonPosition.y <
|
|
1633
|
+
(inputPosition.y +
|
|
1634
|
+
inputGroup.getBBox().height));
|
|
1635
|
+
}
|
|
1636
|
+
return false;
|
|
1637
|
+
};
|
|
1638
|
+
var moveInputsDown = function () {
|
|
1639
|
+
if (inputGroup && buttonGroup) {
|
|
1640
|
+
inputGroup.attr({
|
|
1641
|
+
translateX: inputGroup.alignAttr.translateX + (chart.axisOffset[1] >= -xOffsetForExportButton ?
|
|
1642
|
+
0 :
|
|
1643
|
+
-xOffsetForExportButton),
|
|
1644
|
+
translateY: inputGroup.alignAttr.translateY +
|
|
1645
|
+
buttonGroup.getBBox().height + 10
|
|
1646
|
+
});
|
|
1647
|
+
}
|
|
1648
|
+
};
|
|
1649
|
+
if (buttonGroup) {
|
|
1650
|
+
if (dropdown === 'always') {
|
|
1651
|
+
this.collapseButtons(xOffsetForExportButton);
|
|
1652
|
+
if (groupsOverlap(maxButtonWidth())) {
|
|
1653
|
+
// Move the inputs down if there is still a collision
|
|
1654
|
+
// after collapsing the buttons
|
|
1655
|
+
moveInputsDown();
|
|
1656
|
+
}
|
|
1657
|
+
return;
|
|
1658
|
+
}
|
|
1659
|
+
if (dropdown === 'never') {
|
|
1660
|
+
this.expandButtons();
|
|
1661
|
+
}
|
|
1662
|
+
}
|
|
1663
|
+
// Detect collision
|
|
1664
|
+
if (inputGroup && buttonGroup) {
|
|
1665
|
+
if ((inputPosition.align === buttonPosition.align) ||
|
|
1666
|
+
// 20 is minimal spacing between elements
|
|
1667
|
+
groupsOverlap(this.initialButtonGroupWidth + 20)) {
|
|
1668
|
+
if (dropdown === 'responsive') {
|
|
1669
|
+
this.collapseButtons(xOffsetForExportButton);
|
|
1670
|
+
if (groupsOverlap(maxButtonWidth())) {
|
|
1671
|
+
moveInputsDown();
|
|
1672
|
+
}
|
|
1673
|
+
}
|
|
1674
|
+
else {
|
|
1675
|
+
moveInputsDown();
|
|
1676
|
+
}
|
|
1677
|
+
}
|
|
1678
|
+
else if (dropdown === 'responsive') {
|
|
1679
|
+
this.expandButtons();
|
|
1680
|
+
}
|
|
1681
|
+
}
|
|
1682
|
+
else if (buttonGroup && dropdown === 'responsive') {
|
|
1683
|
+
if (this.initialButtonGroupWidth > chart.plotWidth) {
|
|
1684
|
+
this.collapseButtons(xOffsetForExportButton);
|
|
1685
|
+
}
|
|
1686
|
+
else {
|
|
1687
|
+
this.expandButtons();
|
|
1688
|
+
}
|
|
1689
|
+
}
|
|
1690
|
+
};
|
|
1691
|
+
/**
|
|
1692
|
+
* Collapse the buttons and put the select element on top.
|
|
1693
|
+
*
|
|
1694
|
+
* @private
|
|
1695
|
+
* @function Highcharts.RangeSelector#collapseButtons
|
|
1696
|
+
* @param {number} xOffsetForExportButton
|
|
1697
|
+
*/
|
|
1698
|
+
RangeSelector.prototype.collapseButtons = function (xOffsetForExportButton) {
|
|
1699
|
+
var _a = this, buttons = _a.buttons, buttonOptions = _a.buttonOptions, chart = _a.chart, dropdown = _a.dropdown, options = _a.options, zoomText = _a.zoomText;
|
|
1700
|
+
var userButtonTheme = (chart.userOptions.rangeSelector &&
|
|
1701
|
+
chart.userOptions.rangeSelector.buttonTheme) || {};
|
|
1702
|
+
var getAttribs = function (text) { return ({
|
|
1703
|
+
text: text ? text + " \u25BE" : '▾',
|
|
1704
|
+
width: 'auto',
|
|
1705
|
+
paddingLeft: pick(options.buttonTheme.paddingLeft, userButtonTheme.padding, 8),
|
|
1706
|
+
paddingRight: pick(options.buttonTheme.paddingRight, userButtonTheme.padding, 8)
|
|
1707
|
+
}); };
|
|
1708
|
+
if (zoomText) {
|
|
1709
|
+
zoomText.hide();
|
|
1710
|
+
}
|
|
1711
|
+
var hasActiveButton = false;
|
|
1712
|
+
buttonOptions.forEach(function (rangeOptions, i) {
|
|
1713
|
+
var button = buttons[i];
|
|
1714
|
+
if (button.state !== 2) {
|
|
1715
|
+
button.hide();
|
|
1716
|
+
}
|
|
1717
|
+
else {
|
|
1718
|
+
button.show();
|
|
1719
|
+
button.attr(getAttribs(rangeOptions.text));
|
|
1720
|
+
hasActiveButton = true;
|
|
1721
|
+
}
|
|
1722
|
+
});
|
|
1723
|
+
if (!hasActiveButton) {
|
|
1724
|
+
if (dropdown) {
|
|
1725
|
+
dropdown.selectedIndex = 0;
|
|
1726
|
+
}
|
|
1727
|
+
buttons[0].show();
|
|
1728
|
+
buttons[0].attr(getAttribs(this.zoomText && this.zoomText.textStr));
|
|
1729
|
+
}
|
|
1730
|
+
var align = options.buttonPosition.align;
|
|
1731
|
+
this.positionButtons();
|
|
1732
|
+
if (align === 'right' || align === 'center') {
|
|
1733
|
+
this.alignButtonGroup(xOffsetForExportButton, buttons[this.currentButtonIndex()].getBBox().width);
|
|
1734
|
+
}
|
|
1735
|
+
this.showDropdown();
|
|
1736
|
+
};
|
|
1737
|
+
/**
|
|
1738
|
+
* Show all the buttons and hide the select element.
|
|
1739
|
+
*
|
|
1740
|
+
* @private
|
|
1741
|
+
* @function Highcharts.RangeSelector#expandButtons
|
|
1742
|
+
*/
|
|
1743
|
+
RangeSelector.prototype.expandButtons = function () {
|
|
1744
|
+
var _a = this, buttons = _a.buttons, buttonOptions = _a.buttonOptions, options = _a.options, zoomText = _a.zoomText;
|
|
1745
|
+
this.hideDropdown();
|
|
1746
|
+
if (zoomText) {
|
|
1747
|
+
zoomText.show();
|
|
1748
|
+
}
|
|
1749
|
+
buttonOptions.forEach(function (rangeOptions, i) {
|
|
1750
|
+
var button = buttons[i];
|
|
1751
|
+
button.show();
|
|
1752
|
+
button.attr({
|
|
1753
|
+
text: rangeOptions.text,
|
|
1754
|
+
width: options.buttonTheme.width || 28,
|
|
1755
|
+
paddingLeft: pick(options.buttonTheme.paddingLeft, 'unset'),
|
|
1756
|
+
paddingRight: pick(options.buttonTheme.paddingRight, 'unset')
|
|
1757
|
+
});
|
|
1758
|
+
if (button.state < 2) {
|
|
1759
|
+
button.setState(0);
|
|
1760
|
+
}
|
|
1761
|
+
});
|
|
1762
|
+
this.positionButtons();
|
|
1763
|
+
};
|
|
1764
|
+
/**
|
|
1765
|
+
* Get the index of the visible button when the buttons are collapsed.
|
|
1766
|
+
*
|
|
1767
|
+
* @private
|
|
1768
|
+
* @function Highcharts.RangeSelector#currentButtonIndex
|
|
1769
|
+
*/
|
|
1770
|
+
RangeSelector.prototype.currentButtonIndex = function () {
|
|
1771
|
+
var dropdown = this.dropdown;
|
|
1772
|
+
if (dropdown && dropdown.selectedIndex > 0) {
|
|
1773
|
+
return dropdown.selectedIndex - 1;
|
|
1774
|
+
}
|
|
1775
|
+
return 0;
|
|
1776
|
+
};
|
|
1777
|
+
/**
|
|
1778
|
+
* Position the select element on top of the button.
|
|
1779
|
+
*
|
|
1780
|
+
* @private
|
|
1781
|
+
* @function Highcharts.RangeSelector#showDropdown
|
|
1782
|
+
*/
|
|
1783
|
+
RangeSelector.prototype.showDropdown = function () {
|
|
1784
|
+
var _a = this, buttonGroup = _a.buttonGroup, buttons = _a.buttons, chart = _a.chart, dropdown = _a.dropdown;
|
|
1785
|
+
if (buttonGroup && dropdown) {
|
|
1786
|
+
var translateX = buttonGroup.translateX, translateY = buttonGroup.translateY;
|
|
1787
|
+
var bBox = buttons[this.currentButtonIndex()].getBBox();
|
|
1788
|
+
css(dropdown, {
|
|
1789
|
+
left: (chart.plotLeft + translateX) + 'px',
|
|
1790
|
+
top: (translateY + 0.5) + 'px',
|
|
1791
|
+
width: bBox.width + 'px',
|
|
1792
|
+
height: bBox.height + 'px'
|
|
1793
|
+
});
|
|
1794
|
+
this.hasVisibleDropdown = true;
|
|
1795
|
+
}
|
|
1796
|
+
};
|
|
1797
|
+
/**
|
|
1798
|
+
* @private
|
|
1799
|
+
* @function Highcharts.RangeSelector#hideDropdown
|
|
1800
|
+
*/
|
|
1801
|
+
RangeSelector.prototype.hideDropdown = function () {
|
|
1802
|
+
var dropdown = this.dropdown;
|
|
1803
|
+
if (dropdown) {
|
|
1804
|
+
css(dropdown, {
|
|
1805
|
+
top: '-9999em',
|
|
1806
|
+
width: '1px',
|
|
1807
|
+
height: '1px'
|
|
1808
|
+
});
|
|
1809
|
+
this.hasVisibleDropdown = false;
|
|
1810
|
+
}
|
|
1811
|
+
};
|
|
1812
|
+
/**
|
|
1813
|
+
* Extracts height of range selector
|
|
1814
|
+
*
|
|
1815
|
+
* @private
|
|
1816
|
+
* @function Highcharts.RangeSelector#getHeight
|
|
1817
|
+
* @return {number}
|
|
1818
|
+
* Returns rangeSelector height
|
|
1819
|
+
*/
|
|
1820
|
+
RangeSelector.prototype.getHeight = function () {
|
|
1821
|
+
var rangeSelector = this, options = rangeSelector.options, rangeSelectorGroup = rangeSelector.group, inputPosition = options.inputPosition, buttonPosition = options.buttonPosition, yPosition = options.y, buttonPositionY = buttonPosition.y, inputPositionY = inputPosition.y, rangeSelectorHeight = 0, minPosition;
|
|
1822
|
+
if (options.height) {
|
|
1823
|
+
return options.height;
|
|
1824
|
+
}
|
|
1825
|
+
// Align the elements before we read the height in case we're switching
|
|
1826
|
+
// between wrapped and non-wrapped layout
|
|
1827
|
+
this.alignElements();
|
|
1828
|
+
rangeSelectorHeight = rangeSelectorGroup ?
|
|
1829
|
+
// 13px to keep back compatibility
|
|
1830
|
+
(rangeSelectorGroup.getBBox(true).height) + 13 +
|
|
1831
|
+
yPosition :
|
|
1832
|
+
0;
|
|
1833
|
+
minPosition = Math.min(inputPositionY, buttonPositionY);
|
|
1834
|
+
if ((inputPositionY < 0 && buttonPositionY < 0) ||
|
|
1835
|
+
(inputPositionY > 0 && buttonPositionY > 0)) {
|
|
1836
|
+
rangeSelectorHeight += Math.abs(minPosition);
|
|
1837
|
+
}
|
|
1838
|
+
return rangeSelectorHeight;
|
|
1839
|
+
};
|
|
1840
|
+
/**
|
|
1841
|
+
* Detect collision with title or subtitle
|
|
1842
|
+
*
|
|
1843
|
+
* @private
|
|
1844
|
+
* @function Highcharts.RangeSelector#titleCollision
|
|
1845
|
+
* @return {boolean}
|
|
1846
|
+
* Returns collision status
|
|
1847
|
+
*/
|
|
1848
|
+
RangeSelector.prototype.titleCollision = function (chart) {
|
|
1849
|
+
return !(chart.options.title.text ||
|
|
1850
|
+
chart.options.subtitle.text);
|
|
1851
|
+
};
|
|
1852
|
+
/**
|
|
1853
|
+
* Update the range selector with new options
|
|
1854
|
+
*
|
|
1855
|
+
* @private
|
|
1856
|
+
* @function Highcharts.RangeSelector#update
|
|
1857
|
+
* @param {Highcharts.RangeSelectorOptions} options
|
|
1858
|
+
*/
|
|
1859
|
+
RangeSelector.prototype.update = function (options) {
|
|
1860
|
+
var chart = this.chart;
|
|
1861
|
+
merge(true, chart.options.rangeSelector, options);
|
|
1862
|
+
this.destroy();
|
|
1863
|
+
this.init(chart);
|
|
1864
|
+
this.render();
|
|
1865
|
+
};
|
|
1866
|
+
/**
|
|
1867
|
+
* Destroys allocated elements.
|
|
1868
|
+
*
|
|
1869
|
+
* @private
|
|
1870
|
+
* @function Highcharts.RangeSelector#destroy
|
|
1871
|
+
*/
|
|
1872
|
+
RangeSelector.prototype.destroy = function () {
|
|
1873
|
+
var rSelector = this, minInput = rSelector.minInput, maxInput = rSelector.maxInput;
|
|
1874
|
+
if (rSelector.eventsToUnbind) {
|
|
1875
|
+
rSelector.eventsToUnbind.forEach(function (unbind) { return unbind(); });
|
|
1876
|
+
rSelector.eventsToUnbind = void 0;
|
|
1877
|
+
}
|
|
1878
|
+
// Destroy elements in collections
|
|
1879
|
+
destroyObjectProperties(rSelector.buttons);
|
|
1880
|
+
// Clear input element events
|
|
1881
|
+
if (minInput) {
|
|
1882
|
+
minInput.onfocus = minInput.onblur = minInput.onchange = null;
|
|
1883
|
+
}
|
|
1884
|
+
if (maxInput) {
|
|
1885
|
+
maxInput.onfocus = maxInput.onblur = maxInput.onchange = null;
|
|
1886
|
+
}
|
|
1887
|
+
// Destroy HTML and SVG elements
|
|
1888
|
+
objectEach(rSelector, function (val, key) {
|
|
1889
|
+
if (val && key !== 'chart') {
|
|
1890
|
+
if (val instanceof SVGElement) {
|
|
1891
|
+
// SVGElement
|
|
1892
|
+
val.destroy();
|
|
1893
|
+
}
|
|
1894
|
+
else if (val instanceof window.HTMLElement) {
|
|
1895
|
+
// HTML element
|
|
1896
|
+
discardElement(val);
|
|
1897
|
+
}
|
|
1898
|
+
}
|
|
1899
|
+
if (val !== RangeSelector.prototype[key]) {
|
|
1900
|
+
rSelector[key] = null;
|
|
1901
|
+
}
|
|
1902
|
+
}, this);
|
|
1903
|
+
};
|
|
1904
|
+
return RangeSelector;
|
|
1905
|
+
}());
|
|
1906
|
+
/**
|
|
1907
|
+
* The default buttons for pre-selecting time frames
|
|
1908
|
+
*/
|
|
1909
|
+
RangeSelector.prototype.defaultButtons = [{
|
|
1910
|
+
type: 'month',
|
|
1911
|
+
count: 1,
|
|
1912
|
+
text: '1m',
|
|
1913
|
+
title: 'View 1 month'
|
|
1914
|
+
}, {
|
|
1915
|
+
type: 'month',
|
|
1916
|
+
count: 3,
|
|
1917
|
+
text: '3m',
|
|
1918
|
+
title: 'View 3 months'
|
|
1919
|
+
}, {
|
|
1920
|
+
type: 'month',
|
|
1921
|
+
count: 6,
|
|
1922
|
+
text: '6m',
|
|
1923
|
+
title: 'View 6 months'
|
|
1924
|
+
}, {
|
|
1925
|
+
type: 'ytd',
|
|
1926
|
+
text: 'YTD',
|
|
1927
|
+
title: 'View year to date'
|
|
1928
|
+
}, {
|
|
1929
|
+
type: 'year',
|
|
1930
|
+
count: 1,
|
|
1931
|
+
text: '1y',
|
|
1932
|
+
title: 'View 1 year'
|
|
1933
|
+
}, {
|
|
1934
|
+
type: 'all',
|
|
1935
|
+
text: 'All',
|
|
1936
|
+
title: 'View all'
|
|
1937
|
+
}];
|
|
1938
|
+
/**
|
|
1939
|
+
* The date formats to use when setting min, max and value on date inputs
|
|
1940
|
+
*/
|
|
1941
|
+
RangeSelector.prototype.inputTypeFormats = {
|
|
1942
|
+
'datetime-local': '%Y-%m-%dT%H:%M:%S',
|
|
1943
|
+
'date': '%Y-%m-%d',
|
|
1944
|
+
'time': '%H:%M:%S'
|
|
1945
|
+
};
|
|
1946
|
+
/**
|
|
1947
|
+
* Get the preferred input type based on a date format string.
|
|
1948
|
+
*
|
|
1949
|
+
* @private
|
|
1950
|
+
* @function preferredInputType
|
|
1951
|
+
*/
|
|
1952
|
+
function preferredInputType(format) {
|
|
1953
|
+
var ms = format.indexOf('%L') !== -1;
|
|
1954
|
+
if (ms) {
|
|
1955
|
+
return 'text';
|
|
1956
|
+
}
|
|
1957
|
+
var date = ['a', 'A', 'd', 'e', 'w', 'b', 'B', 'm', 'o', 'y', 'Y']
|
|
1958
|
+
.some(function (char) { return format.indexOf('%' + char) !== -1; });
|
|
1959
|
+
var time = ['H', 'k', 'I', 'l', 'M', 'S'].some(function (char) {
|
|
1960
|
+
return format.indexOf('%' + char) !== -1;
|
|
1961
|
+
});
|
|
1962
|
+
if (date && time) {
|
|
1963
|
+
return 'datetime-local';
|
|
1964
|
+
}
|
|
1965
|
+
if (date) {
|
|
1966
|
+
return 'date';
|
|
1967
|
+
}
|
|
1968
|
+
if (time) {
|
|
1969
|
+
return 'time';
|
|
1970
|
+
}
|
|
1971
|
+
return 'text';
|
|
1972
|
+
}
|
|
1973
|
+
/**
|
|
1974
|
+
* Get the axis min value based on the range option and the current max. For
|
|
1975
|
+
* stock charts this is extended via the {@link RangeSelector} so that if the
|
|
1976
|
+
* selected range is a multiple of months or years, it is compensated for
|
|
1977
|
+
* various month lengths.
|
|
1978
|
+
*
|
|
1979
|
+
* @private
|
|
1980
|
+
* @function Highcharts.Axis#minFromRange
|
|
1981
|
+
* @return {number|undefined}
|
|
1982
|
+
* The new minimum value.
|
|
1983
|
+
*/
|
|
1984
|
+
Axis.prototype.minFromRange = function () {
|
|
1985
|
+
var rangeOptions = this.range, type = rangeOptions.type, min, max = this.max, dataMin, range, time = this.chart.time,
|
|
1986
|
+
// Get the true range from a start date
|
|
1987
|
+
getTrueRange = function (base, count) {
|
|
1988
|
+
var timeName = type === 'year' ?
|
|
1989
|
+
'FullYear' : 'Month';
|
|
1990
|
+
var date = new time.Date(base);
|
|
1991
|
+
var basePeriod = time.get(timeName, date);
|
|
1992
|
+
time.set(timeName, date, basePeriod + count);
|
|
1993
|
+
if (basePeriod === time.get(timeName, date)) {
|
|
1994
|
+
time.set('Date', date, 0); // #6537
|
|
1995
|
+
}
|
|
1996
|
+
return date.getTime() - base;
|
|
1997
|
+
};
|
|
1998
|
+
if (isNumber(rangeOptions)) {
|
|
1999
|
+
min = max - rangeOptions;
|
|
2000
|
+
range = rangeOptions;
|
|
2001
|
+
}
|
|
2002
|
+
else {
|
|
2003
|
+
min = max + getTrueRange(max, -rangeOptions.count);
|
|
2004
|
+
// Let the fixedRange reflect initial settings (#5930)
|
|
2005
|
+
if (this.chart) {
|
|
2006
|
+
this.chart.fixedRange = max - min;
|
|
2007
|
+
}
|
|
2008
|
+
}
|
|
2009
|
+
dataMin = pick(this.dataMin, Number.MIN_VALUE);
|
|
2010
|
+
if (!isNumber(min)) {
|
|
2011
|
+
min = dataMin;
|
|
2012
|
+
}
|
|
2013
|
+
if (min <= dataMin) {
|
|
2014
|
+
min = dataMin;
|
|
2015
|
+
if (typeof range === 'undefined') { // #4501
|
|
2016
|
+
range = getTrueRange(min, rangeOptions.count);
|
|
2017
|
+
}
|
|
2018
|
+
this.newMax = Math.min(min + range, this.dataMax);
|
|
2019
|
+
}
|
|
2020
|
+
if (!isNumber(max)) {
|
|
2021
|
+
min = void 0;
|
|
2022
|
+
}
|
|
2023
|
+
return min;
|
|
2024
|
+
};
|
|
2025
|
+
if (!H.RangeSelector) {
|
|
2026
|
+
var chartDestroyEvents_1 = [];
|
|
2027
|
+
var initRangeSelector_1 = function (chart) {
|
|
2028
|
+
var extremes, rangeSelector = chart.rangeSelector, legend, alignTo, verticalAlign;
|
|
2029
|
+
/**
|
|
2030
|
+
* @private
|
|
2031
|
+
*/
|
|
2032
|
+
function render() {
|
|
2033
|
+
if (rangeSelector) {
|
|
2034
|
+
extremes = chart.xAxis[0].getExtremes();
|
|
2035
|
+
legend = chart.legend;
|
|
2036
|
+
verticalAlign = (rangeSelector &&
|
|
2037
|
+
rangeSelector.options.verticalAlign);
|
|
2038
|
+
if (isNumber(extremes.min)) {
|
|
2039
|
+
rangeSelector.render(extremes.min, extremes.max);
|
|
2040
|
+
}
|
|
2041
|
+
// Re-align the legend so that it's below the rangeselector
|
|
2042
|
+
if (legend.display &&
|
|
2043
|
+
verticalAlign === 'top' &&
|
|
2044
|
+
verticalAlign === legend.options.verticalAlign) {
|
|
2045
|
+
// Create a new alignment box for the legend.
|
|
2046
|
+
alignTo = merge(chart.spacingBox);
|
|
2047
|
+
if (legend.options.layout === 'vertical') {
|
|
2048
|
+
alignTo.y = chart.plotTop;
|
|
2049
|
+
}
|
|
2050
|
+
else {
|
|
2051
|
+
alignTo.y += rangeSelector.getHeight();
|
|
2052
|
+
}
|
|
2053
|
+
legend.group.placed = false; // Don't animate the alignment.
|
|
2054
|
+
legend.align(alignTo);
|
|
2055
|
+
}
|
|
2056
|
+
}
|
|
2057
|
+
}
|
|
2058
|
+
if (rangeSelector) {
|
|
2059
|
+
var events = find(chartDestroyEvents_1, function (e) { return e[0] === chart; });
|
|
2060
|
+
if (!events) {
|
|
2061
|
+
chartDestroyEvents_1.push([chart, [
|
|
2062
|
+
// redraw the scroller on setExtremes
|
|
2063
|
+
addEvent(chart.xAxis[0], 'afterSetExtremes', function (e) {
|
|
2064
|
+
if (rangeSelector) {
|
|
2065
|
+
rangeSelector.render(e.min, e.max);
|
|
2066
|
+
}
|
|
2067
|
+
}),
|
|
2068
|
+
// redraw the scroller chart resize
|
|
2069
|
+
addEvent(chart, 'redraw', render)
|
|
2070
|
+
]]);
|
|
2071
|
+
}
|
|
2072
|
+
// do it now
|
|
2073
|
+
render();
|
|
2074
|
+
}
|
|
2075
|
+
};
|
|
2076
|
+
// Initialize rangeselector for stock charts
|
|
2077
|
+
addEvent(Chart, 'afterGetContainer', function () {
|
|
2078
|
+
if (this.options.rangeSelector &&
|
|
2079
|
+
this.options.rangeSelector.enabled) {
|
|
2080
|
+
this.rangeSelector = new RangeSelector(this);
|
|
2081
|
+
}
|
|
2082
|
+
});
|
|
2083
|
+
addEvent(Chart, 'beforeRender', function () {
|
|
2084
|
+
var chart = this, axes = chart.axes, rangeSelector = chart.rangeSelector, verticalAlign;
|
|
2085
|
+
if (rangeSelector) {
|
|
2086
|
+
if (isNumber(rangeSelector.deferredYTDClick)) {
|
|
2087
|
+
rangeSelector.clickButton(rangeSelector.deferredYTDClick);
|
|
2088
|
+
delete rangeSelector.deferredYTDClick;
|
|
2089
|
+
}
|
|
2090
|
+
axes.forEach(function (axis) {
|
|
2091
|
+
axis.updateNames();
|
|
2092
|
+
axis.setScale();
|
|
2093
|
+
});
|
|
2094
|
+
chart.getAxisMargins();
|
|
2095
|
+
rangeSelector.render();
|
|
2096
|
+
verticalAlign = rangeSelector.options.verticalAlign;
|
|
2097
|
+
if (!rangeSelector.options.floating) {
|
|
2098
|
+
if (verticalAlign === 'bottom') {
|
|
2099
|
+
this.extraBottomMargin = true;
|
|
2100
|
+
}
|
|
2101
|
+
else if (verticalAlign !== 'middle') {
|
|
2102
|
+
this.extraTopMargin = true;
|
|
2103
|
+
}
|
|
2104
|
+
}
|
|
2105
|
+
}
|
|
2106
|
+
});
|
|
2107
|
+
addEvent(Chart, 'update', function (e) {
|
|
2108
|
+
var chart = this, options = e.options, optionsRangeSelector = options.rangeSelector, rangeSelector = chart.rangeSelector, verticalAlign, extraBottomMarginWas = this.extraBottomMargin, extraTopMarginWas = this.extraTopMargin;
|
|
2109
|
+
if (optionsRangeSelector &&
|
|
2110
|
+
optionsRangeSelector.enabled &&
|
|
2111
|
+
!defined(rangeSelector) &&
|
|
2112
|
+
this.options.rangeSelector) {
|
|
2113
|
+
this.options.rangeSelector.enabled = true;
|
|
2114
|
+
this.rangeSelector = rangeSelector = new RangeSelector(this);
|
|
2115
|
+
}
|
|
2116
|
+
this.extraBottomMargin = false;
|
|
2117
|
+
this.extraTopMargin = false;
|
|
2118
|
+
if (rangeSelector) {
|
|
2119
|
+
initRangeSelector_1(this);
|
|
2120
|
+
verticalAlign = (optionsRangeSelector &&
|
|
2121
|
+
optionsRangeSelector.verticalAlign) || (rangeSelector.options && rangeSelector.options.verticalAlign);
|
|
2122
|
+
if (!rangeSelector.options.floating) {
|
|
2123
|
+
if (verticalAlign === 'bottom') {
|
|
2124
|
+
this.extraBottomMargin = true;
|
|
2125
|
+
}
|
|
2126
|
+
else if (verticalAlign !== 'middle') {
|
|
2127
|
+
this.extraTopMargin = true;
|
|
2128
|
+
}
|
|
2129
|
+
}
|
|
2130
|
+
if (this.extraBottomMargin !== extraBottomMarginWas ||
|
|
2131
|
+
this.extraTopMargin !== extraTopMarginWas) {
|
|
2132
|
+
this.isDirtyBox = true;
|
|
2133
|
+
}
|
|
2134
|
+
}
|
|
2135
|
+
});
|
|
2136
|
+
addEvent(Chart, 'render', function () {
|
|
2137
|
+
var chart = this, rangeSelector = chart.rangeSelector, verticalAlign;
|
|
2138
|
+
if (rangeSelector && !rangeSelector.options.floating) {
|
|
2139
|
+
rangeSelector.render();
|
|
2140
|
+
verticalAlign = rangeSelector.options.verticalAlign;
|
|
2141
|
+
if (verticalAlign === 'bottom') {
|
|
2142
|
+
this.extraBottomMargin = true;
|
|
2143
|
+
}
|
|
2144
|
+
else if (verticalAlign !== 'middle') {
|
|
2145
|
+
this.extraTopMargin = true;
|
|
2146
|
+
}
|
|
2147
|
+
}
|
|
2148
|
+
});
|
|
2149
|
+
addEvent(Chart, 'getMargins', function () {
|
|
2150
|
+
var rangeSelector = this.rangeSelector, rangeSelectorHeight;
|
|
2151
|
+
if (rangeSelector) {
|
|
2152
|
+
rangeSelectorHeight = rangeSelector.getHeight();
|
|
2153
|
+
if (this.extraTopMargin) {
|
|
2154
|
+
this.plotTop += rangeSelectorHeight;
|
|
2155
|
+
}
|
|
2156
|
+
if (this.extraBottomMargin) {
|
|
2157
|
+
this.marginBottom += rangeSelectorHeight;
|
|
2158
|
+
}
|
|
2159
|
+
}
|
|
2160
|
+
});
|
|
2161
|
+
Chart.prototype.callbacks.push(initRangeSelector_1);
|
|
2162
|
+
// Remove resize/afterSetExtremes at chart destroy
|
|
2163
|
+
addEvent(Chart, 'destroy', function destroyEvents() {
|
|
2164
|
+
for (var i = 0; i < chartDestroyEvents_1.length; i++) {
|
|
2165
|
+
var events = chartDestroyEvents_1[i];
|
|
2166
|
+
if (events[0] === this) {
|
|
2167
|
+
events[1].forEach(function (unbind) { return unbind(); });
|
|
2168
|
+
chartDestroyEvents_1.splice(i, 1);
|
|
2169
|
+
return;
|
|
2170
|
+
}
|
|
2171
|
+
}
|
|
2172
|
+
});
|
|
2173
|
+
H.RangeSelector = RangeSelector;
|
|
2174
|
+
}
|
|
2175
|
+
export default RangeSelector;
|