ps-toolkit-ui 0.0.207 → 0.0.211
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/karma.conf.js +32 -0
- package/ng-package.json +16 -0
- package/package.json +19 -22
- package/src/assets/plugins/highcharts/code/css/annotations/popup.css +276 -0
- package/src/assets/plugins/highcharts/code/css/annotations/popup.scss +289 -0
- package/src/assets/plugins/highcharts/code/css/highcharts.css +1013 -0
- package/src/assets/plugins/highcharts/code/css/highcharts.scss +896 -0
- package/src/assets/plugins/highcharts/code/css/stocktools/gui.css +271 -0
- package/src/assets/plugins/highcharts/code/css/stocktools/gui.scss +271 -0
- package/src/assets/plugins/highcharts/code/css/themes/dark-unica.css +1074 -0
- package/src/assets/plugins/highcharts/code/css/themes/dark-unica.scss +122 -0
- package/src/assets/plugins/highcharts/code/css/themes/grid-light.css +1027 -0
- package/src/assets/plugins/highcharts/code/css/themes/grid-light.scss +33 -0
- package/src/assets/plugins/highcharts/code/css/themes/sand-signika.css +1043 -0
- package/src/assets/plugins/highcharts/code/css/themes/sand-signika.scss +74 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/A11yI18n.js +299 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Accessibility.js +401 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/AccessibilityComponent.js +153 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/AnnotationsA11y.js +160 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/ContainerComponent.js +159 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/InfoRegionsComponent.js +543 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/LegendComponent.js +478 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/MenuComponent.js +451 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/RangeSelectorComponent.js +506 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +217 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +324 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +148 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +390 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +650 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Components/ZoomComponent.js +375 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/FocusBorder.js +302 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/HighContrastMode.js +96 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/HighContrastTheme.js +221 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/KeyboardNavigation.js +449 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/KeyboardNavigationHandler.js +128 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Options/DeprecatedOptions.js +250 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Options/LangOptions.js +339 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Options/Options.js +831 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/ProxyElement.js +218 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/ProxyProvider.js +302 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/Announcer.js +91 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/ChartUtilities.js +294 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/DOMElementProvider.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/EventProvider.js +58 -0
- package/src/assets/plugins/highcharts/code/es-modules/Accessibility/Utils/HTMLUtilities.js +305 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Animation/AnimationUtilities.js +200 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Animation/Fx.js +387 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Axis.js +3225 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Axis3D.js +612 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/AxisDefaults.js +2935 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/BrokenAxis.js +601 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Color/ColorAxis.js +668 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Color/ColorAxisComposition.js +287 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Color/ColorAxisDefaults.js +434 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/DateTimeAxis.js +196 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/GridAxis.js +1046 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/LogarithmicAxis.js +202 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/NavigatorAxis.js +159 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/OrdinalAxis.js +992 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +873 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +287 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/RadialAxis.js +954 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/ScrollbarAxis.js +182 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/SolidGaugeAxis.js +127 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/StackingAxis.js +216 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Tick.js +723 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/Tick3D.js +68 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/TreeGridAxis.js +720 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/TreeGridTick.js +306 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/WaterfallAxis.js +149 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Axis/ZAxis.js +156 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/Chart.js +2909 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/Chart3D.js +1695 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/ChartDefaults.js +1053 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/GanttChart.js +177 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/MapChart.js +179 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Chart/StockChart.js +644 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Color/Color.js +419 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Color/Palettes.js +22 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/DefaultOptions.js +2743 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/FormatUtilities.js +246 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Foundation.js +61 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Geometry/CircleUtilities.js +386 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Geometry/GeometryUtilities.js +83 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Globals.js +131 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/HttpUtilities.js +195 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Legend/Legend.js +1284 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Legend/LegendSymbol.js +109 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/MSPointer.js +170 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Navigator.js +1958 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Pointer.js +1518 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/HTML/AST.js +475 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/HTML/HTMLElement.js +261 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/HTML/HTMLRenderer.js +272 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/RendererRegistry.js +77 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/RendererUtilities.js +159 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGElement.js +2176 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGElement3D.js +160 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGLabel.js +408 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGRenderer.js +1900 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +842 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/Symbols.js +197 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Renderer/SVG/TextBuilder.js +452 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Responsive.js +334 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Scrollbar.js +658 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/ScrollbarDefaults.js +218 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/DataLabel.js +568 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/Point.js +1307 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/Series.js +3718 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/Series3D.js +126 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/SeriesDefaults.js +2293 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Series/SeriesRegistry.js +127 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Time.js +741 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Tooltip.js +1378 -0
- package/src/assets/plugins/highcharts/code/es-modules/Core/Utilities.js +1967 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/DataConverter.js +483 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/DataPromise.js +252 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/DataSeriesConverter.js +207 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/DataTable.js +1205 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/ChainModifier.js +299 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/DataModifier.js +303 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/GroupModifier.js +144 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/InvertModifier.js +254 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/RangeModifier.js +143 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Modifiers/SortModifier.js +249 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/CSVParser.js +400 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/DataParser.js +101 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/GoogleSheetsParser.js +223 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/CSVStore.js +317 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/DataStore.js +276 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/GoogleSheetsStore.js +169 -0
- package/src/assets/plugins/highcharts/code/es-modules/Data/Stores/HTMLTableStore.js +353 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Annotations.js +1442 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/ControlPoint.js +141 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +117 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +111 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +387 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +181 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +121 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +378 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +221 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +179 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/MockPoint.js +428 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/NavigationBindings.js +1212 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Popup.js +1123 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +237 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/CrookedLine.js +185 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/ElliottWave.js +95 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Fibonacci.js +205 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/InfinityLine.js +161 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Measure.js +791 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Pitchfork.js +194 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/TimeCycles.js +211 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/Tunnel.js +211 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Annotations/Types/VerticalLine.js +156 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/ArrowSymbols.js +166 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/Boost.js +34 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostAttach.js +150 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostInit.js +318 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostOptions.js +219 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostOverrides.js +386 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostUtils.js +255 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/BoostableMap.js +18 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/Boostables.js +25 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/NamedColors.js +162 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/WGLRenderer.js +1188 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/WGLShader.js +470 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Boost/WGLVBuffer.js +153 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/BoostCanvas.js +509 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/CurrentDateIndication.js +100 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Data.js +2037 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/DataGrouping.js +1134 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Debugger/Debugger.js +101 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Debugger/ErrorMessages.js +106 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/DownloadURL.js +106 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/DragPanes.js +512 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/DraggablePoints.js +2259 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Drilldown.js +1170 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/ExportData.js +997 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Exporting/Exporting.js +1260 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Exporting/ExportingDefaults.js +796 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Exporting/ExportingSymbols.js +73 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/FullScreen.js +240 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/GeoJSON.js +436 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/MarkerClusters.js +1436 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Math3D.js +245 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/NoDataToDisplay.js +189 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/OfflineExporting/OfflineExporting.js +617 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +58 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Oldie/Oldie.js +1182 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Oldie/VMLAxis3D.js +101 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Oldie/VMLRenderer3D.js +47 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/OldiePolyfills.js +167 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/OverlappingDataLabels.js +226 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Pane.js +404 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/ParallelCoordinates.js +464 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/PatternFill.js +580 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Polar.js +740 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/PriceIndication.js +292 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/RangeSelector.js +2175 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/ScrollablePlotArea.js +387 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/SeriesLabel.js +765 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/ChartSonify.js +724 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Earcon.js +197 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Instrument.js +606 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/MusicalFrequencies.js +122 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Options.js +44 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/PointSonify.js +391 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/SeriesSonify.js +474 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/SignalHandler.js +122 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Sonification.js +97 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/SonificationUtilities.js +150 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/Timeline.js +308 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/TimelineEvent.js +157 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Stacking.js +516 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/StaticScale.js +76 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Avocado.js +67 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/BrandDark.js +293 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/BrandLight.js +259 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/DarkBlue.js +279 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/DarkGreen.js +279 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/DarkUnica.js +249 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Gray.js +287 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Grid.js +140 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/GridLight.js +111 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/HighContrastDark.js +239 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/HighContrastLight.js +69 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/SandSignika.js +144 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Skies.js +131 -0
- package/src/assets/plugins/highcharts/code/es-modules/Extensions/Themes/Sunset.js +66 -0
- package/src/assets/plugins/highcharts/code/es-modules/Gantt/Connection.js +838 -0
- package/src/assets/plugins/highcharts/code/es-modules/Gantt/Pathfinder.js +818 -0
- package/src/assets/plugins/highcharts/code/es-modules/Gantt/PathfinderAlgorithms.js +657 -0
- package/src/assets/plugins/highcharts/code/es-modules/Gantt/Tree.js +110 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapNavigation.js +278 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapNavigationOptionsDefault.js +264 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapPointer.js +83 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapSymbols.js +80 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapView.js +450 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/MapViewOptionsDefault.js +97 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projection.js +436 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/ProjectionDefinition.js +9 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/EqualEarth.js +42 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/LambertConformalConic.js +52 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/Miller.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/Orthographic.js +26 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/ProjectionRegistry.js +19 -0
- package/src/assets/plugins/highcharts/code/es-modules/Maps/Projections/WebMercator.js +24 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Area/AreaSeries.js +563 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Area3DSeries.js +70 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/AreaRange/AreaRangePoint.js +129 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/AreaRange/AreaRangeSeries.js +650 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/AreaSpline/AreaSplineSeries.js +203 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +199 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bar/BarSeries.js +171 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bellcurve/BellcurveSeries.js +241 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/BoxPlot/BoxPlotSeries.js +681 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleLegendComposition.js +279 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleLegendDefaults.js +266 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleLegendItem.js +462 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubblePoint.js +77 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bubble/BubbleSeries.js +676 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bullet/BulletPoint.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Bullet/BulletSeries.js +365 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Candlestick/CandlestickSeries.js +333 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/CenteredUtilities.js +128 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ColorMapMixin.js +84 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Column/ColumnDataLabel.js +109 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Column/ColumnSeries.js +1171 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Column3D/Column3DComposition.js +508 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +308 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ColumnRange/ColumnRangePoint.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ColumnRange/ColumnRangeSeries.js +308 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Cylinder/CylinderComposition.js +274 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Cylinder/CylinderPoint.js +60 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Cylinder/CylinderSeries.js +175 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DataModifyComposition.js +539 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +100 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +368 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DerivedComposition.js +137 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DotPlot/DotPlotSeries.js +158 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/DrawPointComposition.js +111 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Dumbbell/DumbbellPoint.js +104 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Dumbbell/DumbbellSeries.js +464 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ErrorBar/ErrorBarSeries.js +228 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Flags/FlagsPoint.js +74 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Flags/FlagsSeries.js +614 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Flags/FlagsSymbols.js +90 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel/FunnelSeries.js +517 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel3D/Funnel3DComposition.js +383 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel3D/Funnel3DPoint.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Funnel3D/Funnel3DSeries.js +447 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Gantt/GanttPoint.js +109 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Gantt/GanttSeries.js +352 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Gauge/GaugePoint.js +66 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Gauge/GaugeSeries.js +568 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HLC/HLCPoint.js +55 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HLC/HLCSeries.js +378 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Heatmap/HeatmapPoint.js +144 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Heatmap/HeatmapSeries.js +946 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +60 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +278 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Histogram/HistogramSeries.js +253 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +80 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +368 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Item/ItemPoint.js +59 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Item/ItemSeries.js +505 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Line/LineSeries.js +541 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Lollipop/LollipopPoint.js +60 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Lollipop/LollipopSeries.js +209 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Map/MapPoint.js +136 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Map/MapSeries.js +1100 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapBubble/MapBubblePoint.js +73 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapBubble/MapBubbleSeries.js +283 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapLine/MapLineSeries.js +181 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapPoint/MapPointPoint.js +71 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/MapPoint/MapPointSeries.js +309 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/DraggableNodes.js +132 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/Integrations.js +348 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/Layouts.js +555 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/Networkgraph.js +1178 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Networkgraph/QuadTree.js +352 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/NodesComposition.js +229 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/OHLC/OHLCPoint.js +116 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/OHLC/OHLCSeries.js +254 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/OnSeriesComposition.js +168 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Organization/OrganizationPoint.js +71 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Organization/OrganizationSeries.js +594 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/PackedBubble/PackedBubbleComposition.js +172 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/PackedBubble/PackedBubblePoint.js +98 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/PackedBubble/PackedBubbleSeries.js +1284 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/ParetoSeries/ParetoSeries.js +195 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie/PieDataLabel.js +447 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie/PiePoint.js +270 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie/PieSeries.js +1074 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie3D/Pie3DComposition.js +27 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie3D/Pie3DPoint.js +72 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pie3D/Pie3DSeries.js +200 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Polygon/PolygonSeries.js +195 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pyramid/PyramidSeries.js +161 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +172 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sankey/SankeyPoint.js +97 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sankey/SankeySeries.js +1195 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Scatter/ScatterSeries.js +306 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Scatter3D/Scatter3DPoint.js +66 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Scatter3D/Scatter3DSeries.js +194 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/SolidGauge/SolidGaugeComposition.js +62 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/SolidGauge/SolidGaugeSeries.js +358 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Spline/SplineSeries.js +279 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Streamgraph/StreamgraphSeries.js +213 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sunburst/SunburstPoint.js +115 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sunburst/SunburstSeries.js +907 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Sunburst/SunburstUtilities.js +138 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapComposition.js +61 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapPoint.js +77 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapSeries.js +368 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Tilemap/TilemapShapes.js +275 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Timeline/TimelinePoint.js +168 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Timeline/TimelineSeries.js +552 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/TreeUtilities.js +192 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapAlgorithmGroup.js +93 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapComposition.js +58 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapPoint.js +107 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapSeries.js +1473 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Treemap/TreemapUtilities.js +65 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/VariablePie/VariablePieSeries.js +446 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Variwide/VariwideComposition.js +78 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Variwide/VariwidePoint.js +63 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Variwide/VariwideSeries.js +317 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Vector/VectorSeries.js +362 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Venn/VennPoint.js +76 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Venn/VennSeries.js +633 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Venn/VennUtils.js +607 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Waterfall/WaterfallPoint.js +68 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Waterfall/WaterfallSeries.js +743 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Windbarb/WindbarbPoint.js +64 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Windbarb/WindbarbSeries.js +462 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Wordcloud/WordcloudPoint.js +66 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Wordcloud/WordcloudSeries.js +503 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/Wordcloud/WordcloudUtils.js +718 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/XRange/XRangeComposition.js +49 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/XRange/XRangePoint.js +168 -0
- package/src/assets/plugins/highcharts/code/es-modules/Series/XRange/XRangeSeries.js +608 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +243 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/AD/ADIndicator.js +160 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/AO/AOIndicator.js +212 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/APO/APOIndicator.js +167 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ATR/ATRIndicator.js +162 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +197 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +141 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/BB/BBIndicator.js +241 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/CCI/CCIIndicator.js +154 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/CMF/CMFIndicator.js +243 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/CMO/CMOIndicator.js +166 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +187 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +149 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DMI/DMIIndicator.js +276 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DPO/DPOIndicator.js +163 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +179 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/EMA/EMAIndicator.js +154 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/IKH/IKHIndicator.js +682 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +217 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +270 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +282 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +119 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +104 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +104 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/MACD/MACDIndicator.js +402 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/MFI/MFIIndicator.js +198 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +121 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/MultipleLinesComposition.js +294 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/NATR/NATRIndicator.js +111 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/OBV/OBVIndicator.js +170 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PC/PCIndicator.js +197 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PPO/PPOIndicator.js +164 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +280 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +310 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +78 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +240 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/ROC/ROCIndicator.js +176 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/RSI/RSIIndicator.js +171 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/SMA/SMAComposition.js +12 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/SMA/SMAIndicator.js +367 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +134 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +208 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +485 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +208 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +98 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +148 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/VBP/VBPIndicator.js +556 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/VBP/VBPPoint.js +49 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +193 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/WMA/WMAIndicator.js +153 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +135 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +228 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/StockToolsBindings.js +2009 -0
- package/src/assets/plugins/highcharts/code/es-modules/Stock/StockToolsGui.js +1816 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/highcharts-3d.src.js +28 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/highcharts-more.src.js +28 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/highcharts.src.js +147 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/accessibility.src.js +28 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/annotations-advanced.src.js +26 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/annotations.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/arrow-symbols.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/boost-canvas.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/boost.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/broken-axis.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/bullet.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/coloraxis.src.js +17 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/current-date-indicator.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/cylinder.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/data.src.js +23 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/datagrouping.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/debugger.src.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/dependency-wheel.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/dotplot.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/drag-panes.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/draggable-points.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/drilldown.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/dumbbell.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/export-data.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/exporting.src.js +22 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/full-screen.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/funnel.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/funnel3d.src.js +18 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/gantt.src.js +26 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/grid-axis.src.js +17 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/heatmap.src.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/heikinashi.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/histogram-bellcurve.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/hollowcandlestick.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/item-series.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/lollipop.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/marker-clusters.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/networkgraph.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/no-data-to-display.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/offline-exporting.src.js +20 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/oldie-polyfills.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/oldie.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/organization.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/overlapping-datalabels.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/parallel-coordinates.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pareto.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pathfinder.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pattern-fill.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/price-indicator.src.js +15 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/pyramid3d.src.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/sankey.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/series-label.src.js +11 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/solid-gauge.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/sonification.src.js +44 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/static-scale.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/stock-tools.src.js +16 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/stock.src.js +33 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/streamgraph.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/sunburst.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/tilemap.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/timeline.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/treegrid.src.js +17 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/treemap.src.js +12 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/variable-pie.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/variwide.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/vector.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/venn.src.js +12 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/windbarb.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/wordcloud.src.js +12 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/modules/xrange.src.js +13 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/avocado.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/brand-dark.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/brand-light.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/dark-blue.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/dark-green.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/dark-unica.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/gray.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/grid-light.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/grid.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/high-contrast-dark.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/high-contrast-light.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/sand-signika.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/skies.src.js +14 -0
- package/src/assets/plugins/highcharts/code/es-modules/masters/themes/sunset.src.js +14 -0
- package/src/assets/plugins/highcharts/code/highcharts-3d.js +105 -0
- package/src/assets/plugins/highcharts/code/highcharts-3d.js.map +1 -0
- package/src/assets/plugins/highcharts/code/highcharts-3d.src.js +5439 -0
- package/src/assets/plugins/highcharts/code/highcharts-more.js +201 -0
- package/src/assets/plugins/highcharts/code/highcharts-more.js.map +1 -0
- package/src/assets/plugins/highcharts/code/highcharts-more.src.js +12004 -0
- package/src/assets/plugins/highcharts/code/highcharts.js +593 -0
- package/src/assets/plugins/highcharts/code/highcharts.js.map +1 -0
- package/src/assets/plugins/highcharts/code/highcharts.src.js +47519 -0
- package/src/assets/plugins/highcharts/code/lib/canvg.js +8 -0
- package/src/assets/plugins/highcharts/code/lib/jspdf.js +283 -0
- package/src/assets/plugins/highcharts/code/lib/jspdf.src.js +21627 -0
- package/src/assets/plugins/highcharts/code/lib/svg2pdf.js +38 -0
- package/src/assets/plugins/highcharts/code/lib/svg2pdf.src.js +4390 -0
- package/src/assets/plugins/highcharts/code/modules/accessibility.js +256 -0
- package/src/assets/plugins/highcharts/code/modules/accessibility.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/accessibility.src.js +11868 -0
- package/src/assets/plugins/highcharts/code/modules/annotations-advanced.js +201 -0
- package/src/assets/plugins/highcharts/code/modules/annotations-advanced.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/annotations-advanced.src.js +9616 -0
- package/src/assets/plugins/highcharts/code/modules/annotations.js +135 -0
- package/src/assets/plugins/highcharts/code/modules/annotations.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/annotations.src.js +6712 -0
- package/src/assets/plugins/highcharts/code/modules/arrow-symbols.js +12 -0
- package/src/assets/plugins/highcharts/code/modules/arrow-symbols.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/arrow-symbols.src.js +202 -0
- package/src/assets/plugins/highcharts/code/modules/boost-canvas.js +25 -0
- package/src/assets/plugins/highcharts/code/modules/boost-canvas.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/boost-canvas.src.js +593 -0
- package/src/assets/plugins/highcharts/code/modules/boost.js +90 -0
- package/src/assets/plugins/highcharts/code/modules/boost.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/boost.src.js +3834 -0
- package/src/assets/plugins/highcharts/code/modules/broken-axis.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/broken-axis.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/broken-axis.src.js +682 -0
- package/src/assets/plugins/highcharts/code/modules/bullet.js +18 -0
- package/src/assets/plugins/highcharts/code/modules/bullet.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/bullet.src.js +489 -0
- package/src/assets/plugins/highcharts/code/modules/coloraxis.js +33 -0
- package/src/assets/plugins/highcharts/code/modules/coloraxis.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/coloraxis.src.js +1484 -0
- package/src/assets/plugins/highcharts/code/modules/current-date-indicator.js +13 -0
- package/src/assets/plugins/highcharts/code/modules/current-date-indicator.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/current-date-indicator.src.js +138 -0
- package/src/assets/plugins/highcharts/code/modules/cylinder.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/cylinder.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/cylinder.src.js +585 -0
- package/src/assets/plugins/highcharts/code/modules/data.js +42 -0
- package/src/assets/plugins/highcharts/code/modules/data.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/data.src.js +2383 -0
- package/src/assets/plugins/highcharts/code/modules/datagrouping.js +29 -0
- package/src/assets/plugins/highcharts/code/modules/datagrouping.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/datagrouping.src.js +1275 -0
- package/src/assets/plugins/highcharts/code/modules/debugger.js +30 -0
- package/src/assets/plugins/highcharts/code/modules/debugger.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/debugger.src.js +250 -0
- package/src/assets/plugins/highcharts/code/modules/dependency-wheel.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/dependency-wheel.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/dependency-wheel.src.js +533 -0
- package/src/assets/plugins/highcharts/code/modules/dotplot.js +15 -0
- package/src/assets/plugins/highcharts/code/modules/dotplot.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/dotplot.src.js +216 -0
- package/src/assets/plugins/highcharts/code/modules/drag-panes.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/drag-panes.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/drag-panes.src.js +586 -0
- package/src/assets/plugins/highcharts/code/modules/draggable-points.js +41 -0
- package/src/assets/plugins/highcharts/code/modules/draggable-points.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/draggable-points.src.js +2405 -0
- package/src/assets/plugins/highcharts/code/modules/drilldown.js +34 -0
- package/src/assets/plugins/highcharts/code/modules/drilldown.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/drilldown.src.js +1266 -0
- package/src/assets/plugins/highcharts/code/modules/dumbbell.js +24 -0
- package/src/assets/plugins/highcharts/code/modules/dumbbell.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/dumbbell.src.js +798 -0
- package/src/assets/plugins/highcharts/code/modules/export-data.js +30 -0
- package/src/assets/plugins/highcharts/code/modules/export-data.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/export-data.src.js +1203 -0
- package/src/assets/plugins/highcharts/code/modules/exporting.js +48 -0
- package/src/assets/plugins/highcharts/code/modules/exporting.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/exporting.src.js +2789 -0
- package/src/assets/plugins/highcharts/code/modules/full-screen.js +17 -0
- package/src/assets/plugins/highcharts/code/modules/full-screen.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/full-screen.src.js +284 -0
- package/src/assets/plugins/highcharts/code/modules/funnel.js +21 -0
- package/src/assets/plugins/highcharts/code/modules/funnel.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/funnel.src.js +777 -0
- package/src/assets/plugins/highcharts/code/modules/funnel3d.js +30 -0
- package/src/assets/plugins/highcharts/code/modules/funnel3d.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/funnel3d.src.js +1004 -0
- package/src/assets/plugins/highcharts/code/modules/gantt.js +226 -0
- package/src/assets/plugins/highcharts/code/modules/gantt.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/gantt.src.js +13485 -0
- package/src/assets/plugins/highcharts/code/modules/grid-axis.js +32 -0
- package/src/assets/plugins/highcharts/code/modules/grid-axis.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/grid-axis.src.js +1160 -0
- package/src/assets/plugins/highcharts/code/modules/heatmap.js +46 -0
- package/src/assets/plugins/highcharts/code/modules/heatmap.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/heatmap.src.js +2726 -0
- package/src/assets/plugins/highcharts/code/modules/heikinashi.js +17 -0
- package/src/assets/plugins/highcharts/code/modules/heikinashi.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/heikinashi.src.js +396 -0
- package/src/assets/plugins/highcharts/code/modules/histogram-bellcurve.js +21 -0
- package/src/assets/plugins/highcharts/code/modules/histogram-bellcurve.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/histogram-bellcurve.src.js +699 -0
- package/src/assets/plugins/highcharts/code/modules/hollowcandlestick.js +18 -0
- package/src/assets/plugins/highcharts/code/modules/hollowcandlestick.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/hollowcandlestick.src.js +500 -0
- package/src/assets/plugins/highcharts/code/modules/item-series.js +21 -0
- package/src/assets/plugins/highcharts/code/modules/item-series.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/item-series.src.js +660 -0
- package/src/assets/plugins/highcharts/code/modules/lollipop.js +14 -0
- package/src/assets/plugins/highcharts/code/modules/lollipop.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/lollipop.src.js +318 -0
- package/src/assets/plugins/highcharts/code/modules/marker-clusters.js +45 -0
- package/src/assets/plugins/highcharts/code/modules/marker-clusters.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/marker-clusters.src.js +1713 -0
- package/src/assets/plugins/highcharts/code/modules/networkgraph.js +58 -0
- package/src/assets/plugins/highcharts/code/modules/networkgraph.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/networkgraph.src.js +2926 -0
- package/src/assets/plugins/highcharts/code/modules/no-data-to-display.js +15 -0
- package/src/assets/plugins/highcharts/code/modules/no-data-to-display.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/no-data-to-display.src.js +231 -0
- package/src/assets/plugins/highcharts/code/modules/offline-exporting.js +27 -0
- package/src/assets/plugins/highcharts/code/modules/offline-exporting.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/offline-exporting.src.js +847 -0
- package/src/assets/plugins/highcharts/code/modules/oldie-polyfills.js +17 -0
- package/src/assets/plugins/highcharts/code/modules/oldie-polyfills.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/oldie-polyfills.src.js +220 -0
- package/src/assets/plugins/highcharts/code/modules/oldie.js +40 -0
- package/src/assets/plugins/highcharts/code/modules/oldie.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/oldie.src.js +1443 -0
- package/src/assets/plugins/highcharts/code/modules/organization.js +22 -0
- package/src/assets/plugins/highcharts/code/modules/organization.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/organization.src.js +736 -0
- package/src/assets/plugins/highcharts/code/modules/overlapping-datalabels.js +9 -0
- package/src/assets/plugins/highcharts/code/modules/overlapping-datalabels.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/overlapping-datalabels.src.js +33 -0
- package/src/assets/plugins/highcharts/code/modules/parallel-coordinates.js +20 -0
- package/src/assets/plugins/highcharts/code/modules/parallel-coordinates.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/parallel-coordinates.src.js +555 -0
- package/src/assets/plugins/highcharts/code/modules/pareto.js +16 -0
- package/src/assets/plugins/highcharts/code/modules/pareto.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/pareto.src.js +382 -0
- package/src/assets/plugins/highcharts/code/modules/pathfinder.js +40 -0
- package/src/assets/plugins/highcharts/code/modules/pathfinder.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/pathfinder.src.js +2693 -0
- package/src/assets/plugins/highcharts/code/modules/pattern-fill.js +24 -0
- package/src/assets/plugins/highcharts/code/modules/pattern-fill.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/pattern-fill.src.js +640 -0
- package/src/assets/plugins/highcharts/code/modules/price-indicator.js +15 -0
- package/src/assets/plugins/highcharts/code/modules/price-indicator.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/price-indicator.src.js +346 -0
- package/src/assets/plugins/highcharts/code/modules/pyramid3d.js +13 -0
- package/src/assets/plugins/highcharts/code/modules/pyramid3d.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/pyramid3d.src.js +211 -0
- package/src/assets/plugins/highcharts/code/modules/sankey.js +38 -0
- package/src/assets/plugins/highcharts/code/modules/sankey.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/sankey.src.js +1868 -0
- package/src/assets/plugins/highcharts/code/modules/series-label.js +24 -0
- package/src/assets/plugins/highcharts/code/modules/series-label.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/series-label.src.js +852 -0
- package/src/assets/plugins/highcharts/code/modules/solid-gauge.js +19 -0
- package/src/assets/plugins/highcharts/code/modules/solid-gauge.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/solid-gauge.src.js +650 -0
- package/src/assets/plugins/highcharts/code/modules/sonification.js +68 -0
- package/src/assets/plugins/highcharts/code/modules/sonification.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/sonification.src.js +3869 -0
- package/src/assets/plugins/highcharts/code/modules/static-scale.js +13 -0
- package/src/assets/plugins/highcharts/code/modules/static-scale.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/static-scale.src.js +117 -0
- package/src/assets/plugins/highcharts/code/modules/stock-tools.js +189 -0
- package/src/assets/plugins/highcharts/code/modules/stock-tools.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/stock-tools.src.js +9592 -0
- package/src/assets/plugins/highcharts/code/modules/stock.js +213 -0
- package/src/assets/plugins/highcharts/code/modules/stock.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/stock.src.js +12237 -0
- package/src/assets/plugins/highcharts/code/modules/streamgraph.js +13 -0
- package/src/assets/plugins/highcharts/code/modules/streamgraph.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/streamgraph.src.js +253 -0
- package/src/assets/plugins/highcharts/code/modules/sunburst.js +68 -0
- package/src/assets/plugins/highcharts/code/modules/sunburst.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/sunburst.src.js +3721 -0
- package/src/assets/plugins/highcharts/code/modules/tilemap.js +26 -0
- package/src/assets/plugins/highcharts/code/modules/tilemap.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/tilemap.src.js +878 -0
- package/src/assets/plugins/highcharts/code/modules/timeline.js +28 -0
- package/src/assets/plugins/highcharts/code/modules/timeline.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/timeline.src.js +815 -0
- package/src/assets/plugins/highcharts/code/modules/treegrid.js +65 -0
- package/src/assets/plugins/highcharts/code/modules/treegrid.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/treegrid.src.js +3294 -0
- package/src/assets/plugins/highcharts/code/modules/treemap.js +49 -0
- package/src/assets/plugins/highcharts/code/modules/treemap.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/treemap.src.js +2416 -0
- package/src/assets/plugins/highcharts/code/modules/variable-pie.js +18 -0
- package/src/assets/plugins/highcharts/code/modules/variable-pie.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/variable-pie.src.js +533 -0
- package/src/assets/plugins/highcharts/code/modules/variwide.js +21 -0
- package/src/assets/plugins/highcharts/code/modules/variwide.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/variwide.src.js +529 -0
- package/src/assets/plugins/highcharts/code/modules/vector.js +16 -0
- package/src/assets/plugins/highcharts/code/modules/vector.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/vector.src.js +409 -0
- package/src/assets/plugins/highcharts/code/modules/venn.js +39 -0
- package/src/assets/plugins/highcharts/code/modules/venn.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/venn.src.js +2095 -0
- package/src/assets/plugins/highcharts/code/modules/windbarb.js +24 -0
- package/src/assets/plugins/highcharts/code/modules/windbarb.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/windbarb.src.js +772 -0
- package/src/assets/plugins/highcharts/code/modules/wordcloud.js +31 -0
- package/src/assets/plugins/highcharts/code/modules/wordcloud.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/wordcloud.src.js +1584 -0
- package/src/assets/plugins/highcharts/code/modules/xrange.js +26 -0
- package/src/assets/plugins/highcharts/code/modules/xrange.js.map +1 -0
- package/src/assets/plugins/highcharts/code/modules/xrange.src.js +940 -0
- package/src/assets/plugins/highcharts/code/themes/avocado.js +10 -0
- package/src/assets/plugins/highcharts/code/themes/avocado.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/avocado.src.js +103 -0
- package/src/assets/plugins/highcharts/code/themes/brand-dark.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/brand-dark.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/brand-dark.src.js +328 -0
- package/src/assets/plugins/highcharts/code/themes/brand-light.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/brand-light.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/brand-light.src.js +294 -0
- package/src/assets/plugins/highcharts/code/themes/dark-blue.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/dark-blue.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/dark-blue.src.js +315 -0
- package/src/assets/plugins/highcharts/code/themes/dark-green.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/dark-green.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/dark-green.src.js +315 -0
- package/src/assets/plugins/highcharts/code/themes/dark-unica.js +14 -0
- package/src/assets/plugins/highcharts/code/themes/dark-unica.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/dark-unica.src.js +284 -0
- package/src/assets/plugins/highcharts/code/themes/gray.js +15 -0
- package/src/assets/plugins/highcharts/code/themes/gray.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/gray.src.js +323 -0
- package/src/assets/plugins/highcharts/code/themes/grid-light.js +11 -0
- package/src/assets/plugins/highcharts/code/themes/grid-light.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/grid-light.src.js +146 -0
- package/src/assets/plugins/highcharts/code/themes/grid.js +12 -0
- package/src/assets/plugins/highcharts/code/themes/grid.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/grid.src.js +176 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-dark.js +14 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-dark.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-dark.src.js +275 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-light.js +10 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-light.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/high-contrast-light.src.js +105 -0
- package/src/assets/plugins/highcharts/code/themes/sand-signika.js +12 -0
- package/src/assets/plugins/highcharts/code/themes/sand-signika.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/sand-signika.src.js +179 -0
- package/src/assets/plugins/highcharts/code/themes/skies.js +12 -0
- package/src/assets/plugins/highcharts/code/themes/skies.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/skies.src.js +167 -0
- package/src/assets/plugins/highcharts/code/themes/sunset.js +10 -0
- package/src/assets/plugins/highcharts/code/themes/sunset.js.map +1 -0
- package/src/assets/plugins/highcharts/code/themes/sunset.src.js +102 -0
- package/src/assets/plugins/highcharts/examples/3d-area-multiple/index.html +192 -0
- package/src/assets/plugins/highcharts/examples/3d-column-interactive/index.html +111 -0
- package/src/assets/plugins/highcharts/examples/3d-column-null-values/index.html +118 -0
- package/src/assets/plugins/highcharts/examples/3d-column-stacking-grouping/index.html +144 -0
- package/src/assets/plugins/highcharts/examples/3d-pie/index.html +130 -0
- package/src/assets/plugins/highcharts/examples/3d-pie-donut/index.html +112 -0
- package/src/assets/plugins/highcharts/examples/3d-scatter-draggable/index.html +221 -0
- package/src/assets/plugins/highcharts/examples/accessible-line/index.html +198 -0
- package/src/assets/plugins/highcharts/examples/accessible-pie/index.html +213 -0
- package/src/assets/plugins/highcharts/examples/advanced-accessible/index.html +271 -0
- package/src/assets/plugins/highcharts/examples/annotations/index.html +2170 -0
- package/src/assets/plugins/highcharts/examples/area-basic/index.html +157 -0
- package/src/assets/plugins/highcharts/examples/area-inverted/index.html +135 -0
- package/src/assets/plugins/highcharts/examples/area-missing/index.html +125 -0
- package/src/assets/plugins/highcharts/examples/area-negative/index.html +101 -0
- package/src/assets/plugins/highcharts/examples/area-stacked/index.html +136 -0
- package/src/assets/plugins/highcharts/examples/area-stacked-percent/index.html +141 -0
- package/src/assets/plugins/highcharts/examples/arearange/index.html +132 -0
- package/src/assets/plugins/highcharts/examples/arearange-line/index.html +195 -0
- package/src/assets/plugins/highcharts/examples/areaspline/index.html +137 -0
- package/src/assets/plugins/highcharts/examples/bar-basic/index.html +143 -0
- package/src/assets/plugins/highcharts/examples/bar-negative-stack/index.html +173 -0
- package/src/assets/plugins/highcharts/examples/bar-stacked/index.html +112 -0
- package/src/assets/plugins/highcharts/examples/bellcurve/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/box-plot/index.html +149 -0
- package/src/assets/plugins/highcharts/examples/bubble/index.html +209 -0
- package/src/assets/plugins/highcharts/examples/bubble-3d/index.html +159 -0
- package/src/assets/plugins/highcharts/examples/bullet-graph/index.html +233 -0
- package/src/assets/plugins/highcharts/examples/chart-update/index.html +137 -0
- package/src/assets/plugins/highcharts/examples/column-basic/index.html +144 -0
- package/src/assets/plugins/highcharts/examples/column-comparison/index.html +350 -0
- package/src/assets/plugins/highcharts/examples/column-drilldown/index.html +387 -0
- package/src/assets/plugins/highcharts/examples/column-negative/index.html +101 -0
- package/src/assets/plugins/highcharts/examples/column-parsed/index.html +138 -0
- package/src/assets/plugins/highcharts/examples/column-placement/index.html +160 -0
- package/src/assets/plugins/highcharts/examples/column-pyramid/index.html +117 -0
- package/src/assets/plugins/highcharts/examples/column-rotated-labels/index.html +147 -0
- package/src/assets/plugins/highcharts/examples/column-stacked/index.html +138 -0
- package/src/assets/plugins/highcharts/examples/column-stacked-and-grouped/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/column-stacked-percent/index.html +113 -0
- package/src/assets/plugins/highcharts/examples/columnrange/index.html +145 -0
- package/src/assets/plugins/highcharts/examples/combo/index.html +146 -0
- package/src/assets/plugins/highcharts/examples/combo-dual-axes/index.html +153 -0
- package/src/assets/plugins/highcharts/examples/combo-meteogram/index.html +768 -0
- package/src/assets/plugins/highcharts/examples/combo-multi-axes/index.html +222 -0
- package/src/assets/plugins/highcharts/examples/combo-regression/index.html +110 -0
- package/src/assets/plugins/highcharts/examples/combo-timeline/index.html +592 -0
- package/src/assets/plugins/highcharts/examples/cylinder/index.html +104 -0
- package/src/assets/plugins/highcharts/examples/dependency-wheel/index.html +165 -0
- package/src/assets/plugins/highcharts/examples/dumbbell/index.html +230 -0
- package/src/assets/plugins/highcharts/examples/dynamic-click-to-add/index.html +147 -0
- package/src/assets/plugins/highcharts/examples/dynamic-master-detail/index.html +316 -0
- package/src/assets/plugins/highcharts/examples/dynamic-update/index.html +163 -0
- package/src/assets/plugins/highcharts/examples/error-bar/index.html +154 -0
- package/src/assets/plugins/highcharts/examples/euler-diagram/index.html +119 -0
- package/src/assets/plugins/highcharts/examples/flame/index.html +1324 -0
- package/src/assets/plugins/highcharts/examples/funnel/index.html +131 -0
- package/src/assets/plugins/highcharts/examples/funnel3d/index.html +117 -0
- package/src/assets/plugins/highcharts/examples/gauge-activity/index.html +272 -0
- package/src/assets/plugins/highcharts/examples/gauge-clock/index.html +261 -0
- package/src/assets/plugins/highcharts/examples/gauge-dual/index.html +181 -0
- package/src/assets/plugins/highcharts/examples/gauge-solid/index.html +248 -0
- package/src/assets/plugins/highcharts/examples/gauge-speedometer/index.html +189 -0
- package/src/assets/plugins/highcharts/examples/gauge-vu-meter/index.html +210 -0
- package/src/assets/plugins/highcharts/examples/heatmap/index.html +168 -0
- package/src/assets/plugins/highcharts/examples/heatmap-canvas/index.html +8928 -0
- package/src/assets/plugins/highcharts/examples/histogram/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/honeycomb-usa/index.html +518 -0
- package/src/assets/plugins/highcharts/examples/line-ajax/index.html +206 -0
- package/src/assets/plugins/highcharts/examples/line-basic/index.html +147 -0
- package/src/assets/plugins/highcharts/examples/line-boost/index.html +144 -0
- package/src/assets/plugins/highcharts/examples/line-labels/index.html +108 -0
- package/src/assets/plugins/highcharts/examples/line-log-axis/index.html +106 -0
- package/src/assets/plugins/highcharts/examples/line-time-series/index.html +136 -0
- package/src/assets/plugins/highcharts/examples/live-data/index.html +155 -0
- package/src/assets/plugins/highcharts/examples/lollipop/index.html +161 -0
- package/src/assets/plugins/highcharts/examples/network-graph/index.html +277 -0
- package/src/assets/plugins/highcharts/examples/organization-chart/index.html +224 -0
- package/src/assets/plugins/highcharts/examples/packed-bubble/index.html +588 -0
- package/src/assets/plugins/highcharts/examples/packed-bubble-split/index.html +589 -0
- package/src/assets/plugins/highcharts/examples/parallel-coordinates/index.html +176 -0
- package/src/assets/plugins/highcharts/examples/pareto/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/parliament-chart/index.html +138 -0
- package/src/assets/plugins/highcharts/examples/pie-basic/index.html +141 -0
- package/src/assets/plugins/highcharts/examples/pie-donut/index.html +347 -0
- package/src/assets/plugins/highcharts/examples/pie-drilldown/index.html +418 -0
- package/src/assets/plugins/highcharts/examples/pie-gradient/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/pie-legend/index.html +128 -0
- package/src/assets/plugins/highcharts/examples/pie-monochrome/index.html +139 -0
- package/src/assets/plugins/highcharts/examples/pie-semi-circle/index.html +133 -0
- package/src/assets/plugins/highcharts/examples/polar/index.html +136 -0
- package/src/assets/plugins/highcharts/examples/polar-radial-bar/index.html +169 -0
- package/src/assets/plugins/highcharts/examples/polar-spider/index.html +148 -0
- package/src/assets/plugins/highcharts/examples/polar-wind-rose/index.html +351 -0
- package/src/assets/plugins/highcharts/examples/polygon/index.html +190 -0
- package/src/assets/plugins/highcharts/examples/pyramid/index.html +126 -0
- package/src/assets/plugins/highcharts/examples/pyramid3d/index.html +117 -0
- package/src/assets/plugins/highcharts/examples/renderer/index.html +334 -0
- package/src/assets/plugins/highcharts/examples/responsive/index.html +176 -0
- package/src/assets/plugins/highcharts/examples/sankey-diagram/index.html +145 -0
- package/src/assets/plugins/highcharts/examples/scatter/index.html +246 -0
- package/src/assets/plugins/highcharts/examples/scatter-boost/index.html +142 -0
- package/src/assets/plugins/highcharts/examples/sonification/index.html +331 -0
- package/src/assets/plugins/highcharts/examples/sparkline/index.html +676 -0
- package/src/assets/plugins/highcharts/examples/spline-inverted/index.html +135 -0
- package/src/assets/plugins/highcharts/examples/spline-irregular-time/index.html +255 -0
- package/src/assets/plugins/highcharts/examples/spline-plot-bands/index.html +223 -0
- package/src/assets/plugins/highcharts/examples/spline-symbols/index.html +139 -0
- package/src/assets/plugins/highcharts/examples/streamgraph/index.html +447 -0
- package/src/assets/plugins/highcharts/examples/styled-mode-column/index.html +146 -0
- package/src/assets/plugins/highcharts/examples/styled-mode-pie/index.html +119 -0
- package/src/assets/plugins/highcharts/examples/sunburst/index.html +1520 -0
- package/src/assets/plugins/highcharts/examples/synchronized-charts/index.html +238 -0
- package/src/assets/plugins/highcharts/examples/timeline/index.html +142 -0
- package/src/assets/plugins/highcharts/examples/treemap-coloraxis/index.html +119 -0
- package/src/assets/plugins/highcharts/examples/treemap-large-dataset/index.html +172 -0
- package/src/assets/plugins/highcharts/examples/treemap-with-levels/index.html +151 -0
- package/src/assets/plugins/highcharts/examples/variable-radius-pie/index.html +131 -0
- package/src/assets/plugins/highcharts/examples/variwide/index.html +146 -0
- package/src/assets/plugins/highcharts/examples/vector-plot/index.html +494 -0
- package/src/assets/plugins/highcharts/examples/venn-diagram/index.html +124 -0
- package/src/assets/plugins/highcharts/examples/waterfall/index.html +143 -0
- package/src/assets/plugins/highcharts/examples/windbarb-series/index.html +189 -0
- package/src/assets/plugins/highcharts/examples/wordcloud/index.html +110 -0
- package/src/assets/plugins/highcharts/examples/x-range/index.html +142 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/annotations-hidden.svg +19 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/annotations-visible.svg +20 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-bottom.svg +9 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-left.svg +9 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-line.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-ray.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-right.svg +9 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow-segment.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/arrow.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/circle.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/close.svg +8 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/crooked-3.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/crooked-5.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/current-price-hide.svg +40 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/current-price-show.svg +41 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/destroy.svg +14 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/drawing.svg +18 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/edit.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/elliott-3.svg +59 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/elliott-5.svg +41 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/ellipse.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/fibonacci-timezone.svg +16 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/fibonacci.svg +25 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/flag-basic.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/flag-diamond.svg +12 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/flag-elipse.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/flag-trapeze.svg +14 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/fullscreen.svg +15 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/horizontal-line.svg +8 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/indicators.svg +27 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/label.svg +16 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/line.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/linear.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/logarithmic.svg +1 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/measure-x.svg +23 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/measure-xy.svg +28 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/measure-y.svg +24 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/panning.svg +17 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/parallel-channel.svg +15 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/pitchfork.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/ray.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/rectangle.svg +8 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/remove-annotations.svg +15 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/save-chart.svg +12 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/segment.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/separator.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-candlestick.svg +12 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-heikin-ashi.svg +1 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-hlc.svg +1 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-hollow-candlestick.svg +1 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-line.svg +11 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/series-ohlc.svg +14 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/text.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/time-cycles.svg +35 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-arrow.svg +7 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-counter.svg +23 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-double-arrow.svg +10 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-label.svg +14 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/vertical-line.svg +8 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/zoom-x.svg +17 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/zoom-xy.svg +13 -0
- package/src/assets/plugins/highcharts/gfx/stock-icons/zoom-y.svg +17 -0
- package/src/assets/plugins/highcharts/gfx/vml-radial-gradient.png +0 -0
- package/src/assets/plugins/highcharts/graphics/color-picker.svg +12 -0
- package/src/assets/plugins/highcharts/graphics/cursor.svg +11 -0
- package/src/assets/plugins/highcharts/graphics/earth.svg +432 -0
- package/src/assets/plugins/highcharts/graphics/feature.svg +13 -0
- package/src/assets/plugins/highcharts/graphics/flag-circle.svg +17 -0
- package/src/assets/plugins/highcharts/graphics/flag-circlepin.svg +15 -0
- package/src/assets/plugins/highcharts/graphics/flag-diamondpin.svg +15 -0
- package/src/assets/plugins/highcharts/graphics/flag-flag.svg +14 -0
- package/src/assets/plugins/highcharts/graphics/flag-rectangle.svg +18 -0
- package/src/assets/plugins/highcharts/graphics/flag-squarepin.svg +16 -0
- package/src/assets/plugins/highcharts/graphics/flag.svg +15 -0
- package/src/assets/plugins/highcharts/graphics/homepage/apple.svg +55 -0
- package/src/assets/plugins/highcharts/graphics/homepage/award.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/cloud.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/earth.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/jupiter.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/mars.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/mercury.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/moon.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/neptune.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p1.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p1.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p2.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p2.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p3.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p3.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p4.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p4.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p5.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p5.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p6.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/p6.svg +9 -0
- package/src/assets/plugins/highcharts/graphics/homepage/product.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/saturn.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/sun.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/uranus.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/venus.png +0 -0
- package/src/assets/plugins/highcharts/graphics/homepage/version.png +0 -0
- package/src/assets/plugins/highcharts/graphics/rect.svg +12 -0
- package/src/assets/plugins/highcharts/graphics/reset.svg +16 -0
- package/src/assets/plugins/highcharts/graphics/sand.png +0 -0
- package/src/assets/plugins/highcharts/graphics/save-chart-cloud.svg +14 -0
- package/src/assets/plugins/highcharts/graphics/save.svg +14 -0
- package/src/assets/plugins/highcharts/graphics/search.png +0 -0
- package/src/assets/plugins/highcharts/graphics/skies.jpg +0 -0
- package/src/assets/plugins/highcharts/graphics/snow.png +0 -0
- package/src/assets/plugins/highcharts/graphics/sun.png +0 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/blue-flake-big.svg +32 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/blue-star-big.svg +16 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/car-tree.svg +429 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/green-flake-big.svg +119 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/green-star.svg +20 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/hill.svg +193 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/hill2.svg +164 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/horse.svg +1 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/people.svg +2336 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/pines.svg +777 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/pond-skate.svg +1 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-flake.svg +30 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-house.svg +85 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-star-big.svg +36 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/red-star.svg +20 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/santa-b.svg +91 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/santa.svg +91 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/snow-mound.svg +146 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/snow.svg +20788 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/sun-disk.svg +597 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/tree-cluster.svg +2735 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/white-flake-big.svg +99 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/white-flake.big.svg +96 -0
- package/src/assets/plugins/highcharts/graphics/xmas-card-2020/white-star-big.svg +36 -0
- package/src/assets/plugins/highcharts/index.html +133 -0
- package/src/lib/classes/chart.class.ts +140 -0
- package/src/lib/classes/enum.class.ts +193 -0
- package/src/lib/classes/excel.class.ts +46 -0
- package/src/lib/classes/form.class.ts +528 -0
- package/src/lib/classes/helper.class.ts +283 -0
- package/src/lib/classes/lang.class.ts +32 -0
- package/src/lib/classes/login.class.ts +27 -0
- package/src/lib/classes/modal.class.ts +59 -0
- package/src/lib/classes/permission.class.ts +55 -0
- package/src/lib/classes/request.class.ts +255 -0
- package/src/lib/classes/safestyle.class.ts +4 -0
- package/src/lib/classes/sidebar.class.ts +20 -0
- package/src/lib/classes/steps.class.ts +19 -0
- package/src/lib/classes/string.class.ts +219 -0
- package/src/lib/classes/table.class.ts +228 -0
- package/src/lib/components/accordion/accordion.component.css +116 -0
- package/src/lib/components/accordion/accordion.component.html +19 -0
- package/src/lib/components/accordion/accordion.component.ts +41 -0
- package/src/lib/components/alert/alert.component.css +112 -0
- package/src/lib/components/alert/alert.component.html +1 -0
- package/src/lib/components/alert/alert.component.ts +35 -0
- package/src/lib/components/base.component.ts +38 -0
- package/src/lib/components/calendar/calendar.component.css +206 -0
- package/src/lib/components/calendar/calendar.component.html +36 -0
- package/src/lib/components/calendar/calendar.component.ts +99 -0
- package/src/lib/components/chart/chart.component.css +24 -0
- package/src/lib/components/chart/chart.component.html +6 -0
- package/src/lib/components/chart/chart.component.ts +14 -0
- package/src/lib/components/clock/clock.component.css +141 -0
- package/src/lib/components/clock/clock.component.html +10 -0
- package/src/lib/components/clock/clock.component.ts +37 -0
- package/src/lib/components/confirm/confirm.component.css +112 -0
- package/src/lib/components/confirm/confirm.component.html +1 -0
- package/src/lib/components/confirm/confirm.component.ts +47 -0
- package/src/lib/components/footer/footer.component.css +46 -0
- package/src/lib/components/footer/footer.component.html +9 -0
- package/src/lib/components/footer/footer.component.ts +18 -0
- package/src/lib/components/form/bank-card/form.bank-card.component.css +115 -0
- package/src/lib/components/form/bank-card/form.bank-card.component.html +13 -0
- package/src/lib/components/form/bank-card/form.bank-card.component.ts +144 -0
- package/src/lib/components/form/button/form.button.component.css +222 -0
- package/src/lib/components/form/button/form.button.component.html +16 -0
- package/src/lib/components/form/button/form.button.component.ts +65 -0
- package/src/lib/components/form/car/form.car.component.css +287 -0
- package/src/lib/components/form/car/form.car.component.html +11 -0
- package/src/lib/components/form/car/form.car.component.ts +82 -0
- package/src/lib/components/form/car/search/form.car.search.component.css +287 -0
- package/src/lib/components/form/car/search/form.car.search.component.html +15 -0
- package/src/lib/components/form/car/search/form.car.search.component.ts +170 -0
- package/src/lib/components/form/checkbox/form.checkbox.component.css +128 -0
- package/src/lib/components/form/checkbox/form.checkbox.component.html +8 -0
- package/src/lib/components/form/checkbox/form.checkbox.component.ts +64 -0
- package/src/lib/components/form/date/form.date.component.css +310 -0
- package/src/lib/components/form/date/form.date.component.html +46 -0
- package/src/lib/components/form/date/form.date.component.ts +247 -0
- package/src/lib/components/form/datetime/form.datetime.component.css +157 -0
- package/src/lib/components/form/datetime/form.datetime.component.html +11 -0
- package/src/lib/components/form/datetime/form.datetime.component.ts +98 -0
- package/src/lib/components/form/file/form.file.component.css +151 -0
- package/src/lib/components/form/file/form.file.component.html +12 -0
- package/src/lib/components/form/file/form.file.component.ts +130 -0
- package/src/lib/components/form/finger/form.finger.component.css +215 -0
- package/src/lib/components/form/finger/form.finger.component.html +59 -0
- package/src/lib/components/form/finger/form.finger.component.ts +131 -0
- package/src/lib/components/form/hidden/form.hidden.component.css +0 -0
- package/src/lib/components/form/hidden/form.hidden.component.html +0 -0
- package/src/lib/components/form/hidden/form.hidden.component.ts +29 -0
- package/src/lib/components/form/icon/form.icon.component.css +108 -0
- package/src/lib/components/form/icon/form.icon.component.html +14 -0
- package/src/lib/components/form/icon/form.icon.component.ts +73 -0
- package/src/lib/components/form/index/form.component.css +89 -0
- package/src/lib/components/form/index/form.component.html +35 -0
- package/src/lib/components/form/index/form.component.ts +45 -0
- package/src/lib/components/form/label/form.label.component.css +45 -0
- package/src/lib/components/form/label/form.label.component.html +2 -0
- package/src/lib/components/form/label/form.label.component.ts +30 -0
- package/src/lib/components/form/plaque/form.plaque.component.css +76 -0
- package/src/lib/components/form/plaque/form.plaque.component.html +10 -0
- package/src/lib/components/form/plaque/form.plaque.component.ts +178 -0
- package/src/lib/components/form/plaque/select/form.plaque.select.component.css +167 -0
- package/src/lib/components/form/plaque/select/form.plaque.select.component.html +19 -0
- package/src/lib/components/form/plaque/select/form.plaque.select.component.ts +385 -0
- package/src/lib/components/form/radio/form.radio.component.css +158 -0
- package/src/lib/components/form/radio/form.radio.component.html +16 -0
- package/src/lib/components/form/radio/form.radio.component.ts +78 -0
- package/src/lib/components/form/select/form.select.component.css +326 -0
- package/src/lib/components/form/select/form.select.component.html +16 -0
- package/src/lib/components/form/select/form.select.component.ts +358 -0
- package/src/lib/components/form/select/item/form.select.item.component.css +59 -0
- package/src/lib/components/form/select/item/form.select.item.component.html +10 -0
- package/src/lib/components/form/select/item/form.select.item.component.ts +40 -0
- package/src/lib/components/form/table/form.table.component.css +50 -0
- package/src/lib/components/form/table/form.table.component.html +8 -0
- package/src/lib/components/form/table/form.table.component.ts +94 -0
- package/src/lib/components/form/textarea/form.textarea.component.css +109 -0
- package/src/lib/components/form/textarea/form.textarea.component.html +10 -0
- package/src/lib/components/form/textarea/form.textarea.component.ts +76 -0
- package/src/lib/components/form/textbox/form.textbox.component.css +296 -0
- package/src/lib/components/form/textbox/form.textbox.component.html +13 -0
- package/src/lib/components/form/textbox/form.textbox.component.ts +185 -0
- package/src/lib/components/form/time/form.time.component.css +205 -0
- package/src/lib/components/form/time/form.time.component.html +22 -0
- package/src/lib/components/form/time/form.time.component.ts +139 -0
- package/src/lib/components/form/tree/form.tree.component.css +109 -0
- package/src/lib/components/form/tree/form.tree.component.html +11 -0
- package/src/lib/components/form/tree/form.tree.component.ts +98 -0
- package/src/lib/components/form/tree/item/form.tree.item.component.css +142 -0
- package/src/lib/components/form/tree/item/form.tree.item.component.html +9 -0
- package/src/lib/components/form/tree/item/form.tree.item.component.ts +49 -0
- package/src/lib/components/header/header.component.css +57 -0
- package/src/lib/components/header/header.component.html +5 -0
- package/src/lib/components/header/header.component.ts +28 -0
- package/src/lib/components/header/sub/sub.header.component.css +62 -0
- package/src/lib/components/header/sub/sub.header.component.html +8 -0
- package/src/lib/components/header/sub/sub.header.component.ts +11 -0
- package/src/lib/components/layout/layout.component.css +300 -0
- package/src/lib/components/layout/layout.component.html +20 -0
- package/src/lib/components/layout/layout.component.ts +21 -0
- package/src/lib/components/loading/loading.component.css +39 -0
- package/src/lib/components/loading/loading.component.html +8 -0
- package/src/lib/components/loading/loading.component.ts +18 -0
- package/src/lib/components/login/login.component.css +389 -0
- package/src/lib/components/login/login.component.html +27 -0
- package/src/lib/components/login/login.component.ts +145 -0
- package/src/lib/components/modal/modal.component.css +60 -0
- package/src/lib/components/modal/modal.component.html +12 -0
- package/src/lib/components/modal/modal.component.ts +23 -0
- package/src/lib/components/notfound/notfound.component.css +134 -0
- package/src/lib/components/notfound/notfound.component.html +10 -0
- package/src/lib/components/notfound/notfound.component.ts +25 -0
- package/src/lib/components/notification/notification.component.css +45 -0
- package/src/lib/components/notification/notification.component.html +2 -0
- package/src/lib/components/notification/notification.component.ts +11 -0
- package/src/lib/components/sidebar/item/sidebar.item.component.css +236 -0
- package/src/lib/components/sidebar/item/sidebar.item.component.html +16 -0
- package/src/lib/components/sidebar/item/sidebar.item.component.ts +54 -0
- package/src/lib/components/sidebar/sidebar.component.css +42 -0
- package/src/lib/components/sidebar/sidebar.component.html +10 -0
- package/src/lib/components/sidebar/sidebar.component.ts +60 -0
- package/src/lib/components/steps/steps.component.css +320 -0
- package/src/lib/components/steps/steps.component.html +18 -0
- package/src/lib/components/steps/steps.component.ts +44 -0
- package/src/lib/components/table/loading/table.loading.component.css +29 -0
- package/src/lib/components/table/loading/table.loading.component.html +9 -0
- package/src/lib/components/table/loading/table.loading.component.ts +14 -0
- package/src/lib/components/table/pagination/table.pagination.component.css +138 -0
- package/src/lib/components/table/pagination/table.pagination.component.html +9 -0
- package/src/lib/components/table/pagination/table.pagination.component.ts +89 -0
- package/src/lib/components/table/report/table.report.component.css +125 -0
- package/src/lib/components/table/report/table.report.component.html +19 -0
- package/src/lib/components/table/report/table.report.component.ts +238 -0
- package/src/lib/components/table/row/table.row.component.css +170 -0
- package/src/lib/components/table/row/table.row.component.html +21 -0
- package/src/lib/components/table/row/table.row.component.ts +373 -0
- package/src/lib/components/table/table.component.css +116 -0
- package/src/lib/components/table/table.component.html +62 -0
- package/src/lib/components/table/table.component.ts +180 -0
- package/src/lib/components/tooltip/tooltip.component.css +159 -0
- package/src/lib/components/tooltip/tooltip.component.html +1 -0
- package/src/lib/components/tooltip/tooltip.component.ts +15 -0
- package/src/lib/ps-toolkit-ui.module.ts +94 -0
- package/src/lib/services/config.service.ts +8 -0
- package/src/public-api.ts +53 -0
- package/src/test.ts +26 -0
- package/tsconfig.lib.json +25 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +17 -0
- package/tslint.json +17 -0
- package/bundles/ps-toolkit-ui.umd.js +0 -7628
- package/bundles/ps-toolkit-ui.umd.js.map +0 -1
- package/bundles/ps-toolkit-ui.umd.min.js +0 -2
- package/bundles/ps-toolkit-ui.umd.min.js.map +0 -1
- package/esm2015/lib/classes/enum.class.js +0 -187
- package/esm2015/lib/classes/form.class.js +0 -481
- package/esm2015/lib/classes/helper.class.js +0 -284
- package/esm2015/lib/classes/lang.class.js +0 -32
- package/esm2015/lib/classes/login.class.js +0 -22
- package/esm2015/lib/classes/modal.class.js +0 -52
- package/esm2015/lib/classes/permission.class.js +0 -61
- package/esm2015/lib/classes/request.class.js +0 -256
- package/esm2015/lib/classes/safestyle.class.js +0 -15
- package/esm2015/lib/classes/sidebar.class.js +0 -14
- package/esm2015/lib/classes/steps.class.js +0 -20
- package/esm2015/lib/classes/string.class.js +0 -220
- package/esm2015/lib/classes/table.class.js +0 -215
- package/esm2015/lib/components/accordion/accordion.component.js +0 -45
- package/esm2015/lib/components/alert/alert.component.js +0 -39
- package/esm2015/lib/components/base.component.js +0 -45
- package/esm2015/lib/components/calendar/calendar.component.js +0 -97
- package/esm2015/lib/components/clock/clock.component.js +0 -33
- package/esm2015/lib/components/confirm/confirm.component.js +0 -50
- package/esm2015/lib/components/footer/footer.component.js +0 -23
- package/esm2015/lib/components/form/bank-card/form.bank-card.component.js +0 -148
- package/esm2015/lib/components/form/button/form.button.component.js +0 -68
- package/esm2015/lib/components/form/car/form.car.component.js +0 -84
- package/esm2015/lib/components/form/car/search/form.car.search.component.js +0 -172
- package/esm2015/lib/components/form/checkbox/form.checkbox.component.js +0 -66
- package/esm2015/lib/components/form/date/form.date.component.js +0 -254
- package/esm2015/lib/components/form/datetime/form.datetime.component.js +0 -104
- package/esm2015/lib/components/form/file/form.file.component.js +0 -133
- package/esm2015/lib/components/form/finger/form.finger.component.js +0 -138
- package/esm2015/lib/components/form/hidden/form.hidden.component.js +0 -31
- package/esm2015/lib/components/form/icon/form.icon.component.js +0 -76
- package/esm2015/lib/components/form/index/form.component.js +0 -48
- package/esm2015/lib/components/form/label/form.label.component.js +0 -32
- package/esm2015/lib/components/form/plaque/form.plaque.component.js +0 -176
- package/esm2015/lib/components/form/plaque/select/form.plaque.select.component.js +0 -390
- package/esm2015/lib/components/form/radio/form.radio.component.js +0 -79
- package/esm2015/lib/components/form/select/form.select.component.js +0 -374
- package/esm2015/lib/components/form/select/item/form.select.item.component.js +0 -43
- package/esm2015/lib/components/form/table/form.table.component.js +0 -98
- package/esm2015/lib/components/form/textarea/form.textarea.component.js +0 -78
- package/esm2015/lib/components/form/textbox/form.textbox.component.js +0 -186
- package/esm2015/lib/components/form/time/form.time.component.js +0 -145
- package/esm2015/lib/components/form/tree/form.tree.component.js +0 -99
- package/esm2015/lib/components/form/tree/item/form.tree.item.component.js +0 -48
- package/esm2015/lib/components/header/header.component.js +0 -33
- package/esm2015/lib/components/header/sub/sub.header.component.js +0 -14
- package/esm2015/lib/components/layout/layout.component.js +0 -25
- package/esm2015/lib/components/loading/loading.component.js +0 -22
- package/esm2015/lib/components/login/login.component.js +0 -148
- package/esm2015/lib/components/modal/modal.component.js +0 -25
- package/esm2015/lib/components/notfound/notfound.component.js +0 -29
- package/esm2015/lib/components/notification/notification.component.js +0 -14
- package/esm2015/lib/components/sidebar/item/sidebar.item.component.js +0 -53
- package/esm2015/lib/components/sidebar/sidebar.component.js +0 -67
- package/esm2015/lib/components/steps/steps.component.js +0 -51
- package/esm2015/lib/components/table/loading/table.loading.component.js +0 -17
- package/esm2015/lib/components/table/pagination/table.pagination.component.js +0 -84
- package/esm2015/lib/components/table/report/table.report.component.js +0 -246
- package/esm2015/lib/components/table/row/table.row.component.js +0 -379
- package/esm2015/lib/components/table/table.component.js +0 -179
- package/esm2015/lib/components/tooltip/tooltip.component.js +0 -19
- package/esm2015/lib/ps-toolkit-ui.module.js +0 -94
- package/esm2015/lib/services/config.service.js +0 -14
- package/esm2015/ps-toolkit-ui.js +0 -19
- package/esm2015/public-api.js +0 -52
- package/fesm2015/ps-toolkit-ui.js +0 -6550
- package/fesm2015/ps-toolkit-ui.js.map +0 -1
- package/lib/classes/enum.class.d.ts +0 -158
- package/lib/classes/form.class.d.ts +0 -173
- package/lib/classes/helper.class.d.ts +0 -28
- package/lib/classes/lang.class.d.ts +0 -5
- package/lib/classes/login.class.d.ts +0 -17
- package/lib/classes/modal.class.d.ts +0 -19
- package/lib/classes/permission.class.d.ts +0 -31
- package/lib/classes/request.class.d.ts +0 -12
- package/lib/classes/safestyle.class.d.ts +0 -7
- package/lib/classes/sidebar.class.d.ts +0 -11
- package/lib/classes/steps.class.d.ts +0 -17
- package/lib/classes/string.class.d.ts +0 -218
- package/lib/classes/table.class.d.ts +0 -69
- package/lib/components/accordion/accordion.component.d.ts +0 -7
- package/lib/components/alert/alert.component.d.ts +0 -10
- package/lib/components/base.component.d.ts +0 -14
- package/lib/components/calendar/calendar.component.d.ts +0 -26
- package/lib/components/clock/clock.component.d.ts +0 -11
- package/lib/components/confirm/confirm.component.d.ts +0 -14
- package/lib/components/footer/footer.component.d.ts +0 -6
- package/lib/components/form/bank-card/form.bank-card.component.d.ts +0 -22
- package/lib/components/form/button/form.button.component.d.ts +0 -15
- package/lib/components/form/car/form.car.component.d.ts +0 -16
- package/lib/components/form/car/search/form.car.search.component.d.ts +0 -17
- package/lib/components/form/checkbox/form.checkbox.component.d.ts +0 -14
- package/lib/components/form/date/form.date.component.d.ts +0 -42
- package/lib/components/form/datetime/form.datetime.component.d.ts +0 -13
- package/lib/components/form/file/form.file.component.d.ts +0 -17
- package/lib/components/form/finger/form.finger.component.d.ts +0 -15
- package/lib/components/form/hidden/form.hidden.component.d.ts +0 -7
- package/lib/components/form/icon/form.icon.component.d.ts +0 -15
- package/lib/components/form/index/form.component.d.ts +0 -10
- package/lib/components/form/label/form.label.component.d.ts +0 -8
- package/lib/components/form/plaque/form.plaque.component.d.ts +0 -22
- package/lib/components/form/plaque/select/form.plaque.select.component.d.ts +0 -36
- package/lib/components/form/radio/form.radio.component.d.ts +0 -13
- package/lib/components/form/select/form.select.component.d.ts +0 -39
- package/lib/components/form/select/item/form.select.item.component.d.ts +0 -12
- package/lib/components/form/table/form.table.component.d.ts +0 -9
- package/lib/components/form/textarea/form.textarea.component.d.ts +0 -13
- package/lib/components/form/textbox/form.textbox.component.d.ts +0 -20
- package/lib/components/form/time/form.time.component.d.ts +0 -25
- package/lib/components/form/tree/form.tree.component.d.ts +0 -16
- package/lib/components/form/tree/item/form.tree.item.component.d.ts +0 -17
- package/lib/components/header/header.component.d.ts +0 -9
- package/lib/components/header/sub/sub.header.component.d.ts +0 -3
- package/lib/components/layout/layout.component.d.ts +0 -8
- package/lib/components/loading/loading.component.d.ts +0 -5
- package/lib/components/login/login.component.d.ts +0 -13
- package/lib/components/modal/modal.component.d.ts +0 -9
- package/lib/components/notfound/notfound.component.d.ts +0 -8
- package/lib/components/notification/notification.component.d.ts +0 -3
- package/lib/components/sidebar/item/sidebar.item.component.d.ts +0 -14
- package/lib/components/sidebar/sidebar.component.d.ts +0 -19
- package/lib/components/steps/steps.component.d.ts +0 -10
- package/lib/components/table/loading/table.loading.component.d.ts +0 -5
- package/lib/components/table/pagination/table.pagination.component.d.ts +0 -15
- package/lib/components/table/report/table.report.component.d.ts +0 -34
- package/lib/components/table/row/table.row.component.d.ts +0 -34
- package/lib/components/table/table.component.d.ts +0 -40
- package/lib/components/tooltip/tooltip.component.d.ts +0 -5
- package/lib/ps-toolkit-ui.module.d.ts +0 -4
- package/lib/services/config.service.d.ts +0 -6
- package/ps-toolkit-ui.d.ts +0 -18
- package/ps-toolkit-ui.metadata.json +0 -1
- package/public-api.d.ts +0 -48
|
@@ -0,0 +1,2926 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license Highcharts JS v9.3.3 (2022-02-01)
|
|
3
|
+
*
|
|
4
|
+
* Force directed graph module
|
|
5
|
+
*
|
|
6
|
+
* (c) 2010-2021 Torstein Honsi
|
|
7
|
+
*
|
|
8
|
+
* License: www.highcharts.com/license
|
|
9
|
+
*/
|
|
10
|
+
'use strict';
|
|
11
|
+
(function (factory) {
|
|
12
|
+
if (typeof module === 'object' && module.exports) {
|
|
13
|
+
factory['default'] = factory;
|
|
14
|
+
module.exports = factory;
|
|
15
|
+
} else if (typeof define === 'function' && define.amd) {
|
|
16
|
+
define('highcharts/modules/networkgraph', ['highcharts'], function (Highcharts) {
|
|
17
|
+
factory(Highcharts);
|
|
18
|
+
factory.Highcharts = Highcharts;
|
|
19
|
+
return factory;
|
|
20
|
+
});
|
|
21
|
+
} else {
|
|
22
|
+
factory(typeof Highcharts !== 'undefined' ? Highcharts : undefined);
|
|
23
|
+
}
|
|
24
|
+
}(function (Highcharts) {
|
|
25
|
+
var _modules = Highcharts ? Highcharts._modules : {};
|
|
26
|
+
function _registerModule(obj, path, args, fn) {
|
|
27
|
+
if (!obj.hasOwnProperty(path)) {
|
|
28
|
+
obj[path] = fn.apply(null, args);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
_registerModule(_modules, 'Series/NodesComposition.js', [_modules['Core/Series/Point.js'], _modules['Core/Series/Series.js'], _modules['Core/Utilities.js']], function (Point, Series, U) {
|
|
32
|
+
/* *
|
|
33
|
+
*
|
|
34
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
35
|
+
*
|
|
36
|
+
* */
|
|
37
|
+
var defined = U.defined,
|
|
38
|
+
extend = U.extend,
|
|
39
|
+
find = U.find,
|
|
40
|
+
pick = U.pick;
|
|
41
|
+
/* *
|
|
42
|
+
*
|
|
43
|
+
* Composition
|
|
44
|
+
*
|
|
45
|
+
* */
|
|
46
|
+
var NodesComposition;
|
|
47
|
+
(function (NodesComposition) {
|
|
48
|
+
/* *
|
|
49
|
+
*
|
|
50
|
+
* Declarations
|
|
51
|
+
*
|
|
52
|
+
* */
|
|
53
|
+
/* *
|
|
54
|
+
*
|
|
55
|
+
* Constants
|
|
56
|
+
*
|
|
57
|
+
* */
|
|
58
|
+
var composedClasses = [];
|
|
59
|
+
/* *
|
|
60
|
+
*
|
|
61
|
+
* Functions
|
|
62
|
+
*
|
|
63
|
+
* */
|
|
64
|
+
/* eslint-disable valid-jsdoc */
|
|
65
|
+
/**
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
function compose(PointClass, SeriesClass) {
|
|
69
|
+
if (composedClasses.indexOf(PointClass) === -1) {
|
|
70
|
+
composedClasses.push(PointClass);
|
|
71
|
+
var pointProto = PointClass.prototype;
|
|
72
|
+
pointProto.setNodeState = setNodeState;
|
|
73
|
+
pointProto.setState = setNodeState;
|
|
74
|
+
}
|
|
75
|
+
if (composedClasses.indexOf(SeriesClass) === -1) {
|
|
76
|
+
composedClasses.push(SeriesClass);
|
|
77
|
+
var seriesProto = SeriesClass.prototype;
|
|
78
|
+
seriesProto.destroy = destroy;
|
|
79
|
+
seriesProto.setData = setData;
|
|
80
|
+
}
|
|
81
|
+
return SeriesClass;
|
|
82
|
+
}
|
|
83
|
+
NodesComposition.compose = compose;
|
|
84
|
+
/**
|
|
85
|
+
* Create a single node that holds information on incoming and outgoing
|
|
86
|
+
* links.
|
|
87
|
+
* @private
|
|
88
|
+
*/
|
|
89
|
+
function createNode(id) {
|
|
90
|
+
var PointClass = this.pointClass,
|
|
91
|
+
findById = function (nodes,
|
|
92
|
+
id) { return find(nodes,
|
|
93
|
+
function (node) { return node.id === id; }); };
|
|
94
|
+
var node = findById(this.nodes,
|
|
95
|
+
id),
|
|
96
|
+
options;
|
|
97
|
+
if (!node) {
|
|
98
|
+
options = this.options.nodes && findById(this.options.nodes, id);
|
|
99
|
+
node = (new PointClass()).init(this, extend({
|
|
100
|
+
className: 'highcharts-node',
|
|
101
|
+
isNode: true,
|
|
102
|
+
id: id,
|
|
103
|
+
y: 1 // Pass isNull test
|
|
104
|
+
}, options));
|
|
105
|
+
node.linksTo = [];
|
|
106
|
+
node.linksFrom = [];
|
|
107
|
+
node.formatPrefix = 'node';
|
|
108
|
+
// for use in formats
|
|
109
|
+
node.name = node.name || node.options.id || '';
|
|
110
|
+
// Mass is used in networkgraph:
|
|
111
|
+
node.mass = pick(
|
|
112
|
+
// Node:
|
|
113
|
+
node.options.mass, node.options.marker && node.options.marker.radius,
|
|
114
|
+
// Series:
|
|
115
|
+
this.options.marker && this.options.marker.radius,
|
|
116
|
+
// Default:
|
|
117
|
+
4);
|
|
118
|
+
/**
|
|
119
|
+
* Return the largest sum of either the incoming or outgoing links.
|
|
120
|
+
* @private
|
|
121
|
+
*/
|
|
122
|
+
node.getSum = function () {
|
|
123
|
+
var sumTo = 0,
|
|
124
|
+
sumFrom = 0;
|
|
125
|
+
node.linksTo.forEach(function (link) {
|
|
126
|
+
sumTo += link.weight;
|
|
127
|
+
});
|
|
128
|
+
node.linksFrom.forEach(function (link) {
|
|
129
|
+
sumFrom += link.weight;
|
|
130
|
+
});
|
|
131
|
+
return Math.max(sumTo, sumFrom);
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Get the offset in weight values of a point/link.
|
|
135
|
+
* @private
|
|
136
|
+
*/
|
|
137
|
+
node.offset = function (point, coll) {
|
|
138
|
+
var offset = 0;
|
|
139
|
+
for (var i = 0; i < node[coll].length; i++) {
|
|
140
|
+
if (node[coll][i] === point) {
|
|
141
|
+
return offset;
|
|
142
|
+
}
|
|
143
|
+
offset += node[coll][i].weight;
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
// Return true if the node has a shape, otherwise all links are
|
|
147
|
+
// outgoing.
|
|
148
|
+
node.hasShape = function () {
|
|
149
|
+
var outgoing = 0;
|
|
150
|
+
node.linksTo.forEach(function (link) {
|
|
151
|
+
if (link.outgoing) {
|
|
152
|
+
outgoing++;
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
return (!node.linksTo.length ||
|
|
156
|
+
outgoing !== node.linksTo.length);
|
|
157
|
+
};
|
|
158
|
+
this.nodes.push(node);
|
|
159
|
+
}
|
|
160
|
+
return node;
|
|
161
|
+
}
|
|
162
|
+
NodesComposition.createNode = createNode;
|
|
163
|
+
/**
|
|
164
|
+
* Destroy alll nodes and links.
|
|
165
|
+
* @private
|
|
166
|
+
*/
|
|
167
|
+
function destroy() {
|
|
168
|
+
// Nodes must also be destroyed (#8682, #9300)
|
|
169
|
+
this.data = []
|
|
170
|
+
.concat(this.points || [], this.nodes);
|
|
171
|
+
return Series.prototype.destroy.apply(this, arguments);
|
|
172
|
+
}
|
|
173
|
+
NodesComposition.destroy = destroy;
|
|
174
|
+
/**
|
|
175
|
+
* Extend generatePoints by adding the nodes, which are Point objects
|
|
176
|
+
* but pushed to the this.nodes array.
|
|
177
|
+
*/
|
|
178
|
+
function generatePoints() {
|
|
179
|
+
var chart = this.chart,
|
|
180
|
+
nodeLookup = {};
|
|
181
|
+
Series.prototype.generatePoints.call(this);
|
|
182
|
+
if (!this.nodes) {
|
|
183
|
+
this.nodes = []; // List of Point-like node items
|
|
184
|
+
}
|
|
185
|
+
this.colorCounter = 0;
|
|
186
|
+
// Reset links from previous run
|
|
187
|
+
this.nodes.forEach(function (node) {
|
|
188
|
+
node.linksFrom.length = 0;
|
|
189
|
+
node.linksTo.length = 0;
|
|
190
|
+
node.level = node.options.level;
|
|
191
|
+
});
|
|
192
|
+
// Create the node list and set up links
|
|
193
|
+
this.points.forEach(function (point) {
|
|
194
|
+
if (defined(point.from)) {
|
|
195
|
+
if (!nodeLookup[point.from]) {
|
|
196
|
+
nodeLookup[point.from] = this.createNode(point.from);
|
|
197
|
+
}
|
|
198
|
+
nodeLookup[point.from].linksFrom.push(point);
|
|
199
|
+
point.fromNode = nodeLookup[point.from];
|
|
200
|
+
// Point color defaults to the fromNode's color
|
|
201
|
+
if (chart.styledMode) {
|
|
202
|
+
point.colorIndex = pick(point.options.colorIndex, nodeLookup[point.from].colorIndex);
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
point.color =
|
|
206
|
+
point.options.color || nodeLookup[point.from].color;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
if (defined(point.to)) {
|
|
210
|
+
if (!nodeLookup[point.to]) {
|
|
211
|
+
nodeLookup[point.to] = this.createNode(point.to);
|
|
212
|
+
}
|
|
213
|
+
nodeLookup[point.to].linksTo.push(point);
|
|
214
|
+
point.toNode = nodeLookup[point.to];
|
|
215
|
+
}
|
|
216
|
+
point.name = point.name || point.id; // for use in formats
|
|
217
|
+
}, this);
|
|
218
|
+
// Store lookup table for later use
|
|
219
|
+
this.nodeLookup = nodeLookup;
|
|
220
|
+
}
|
|
221
|
+
NodesComposition.generatePoints = generatePoints;
|
|
222
|
+
/**
|
|
223
|
+
* Destroy all nodes on setting new data
|
|
224
|
+
* @private
|
|
225
|
+
*/
|
|
226
|
+
function setData() {
|
|
227
|
+
if (this.nodes) {
|
|
228
|
+
this.nodes.forEach(function (node) {
|
|
229
|
+
node.destroy();
|
|
230
|
+
});
|
|
231
|
+
this.nodes.length = 0;
|
|
232
|
+
}
|
|
233
|
+
Series.prototype.setData.apply(this, arguments);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* When hovering node, highlight all connected links. When hovering a link,
|
|
237
|
+
* highlight all connected nodes.
|
|
238
|
+
*/
|
|
239
|
+
function setNodeState(state) {
|
|
240
|
+
var args = arguments,
|
|
241
|
+
others = this.isNode ? this.linksTo.concat(this.linksFrom) :
|
|
242
|
+
[this.fromNode,
|
|
243
|
+
this.toNode];
|
|
244
|
+
if (state !== 'select') {
|
|
245
|
+
others.forEach(function (linkOrNode) {
|
|
246
|
+
if (linkOrNode && linkOrNode.series) {
|
|
247
|
+
Point.prototype.setState.apply(linkOrNode, args);
|
|
248
|
+
if (!linkOrNode.isNode) {
|
|
249
|
+
if (linkOrNode.fromNode.graphic) {
|
|
250
|
+
Point.prototype.setState.apply(linkOrNode.fromNode, args);
|
|
251
|
+
}
|
|
252
|
+
if (linkOrNode.toNode && linkOrNode.toNode.graphic) {
|
|
253
|
+
Point.prototype.setState.apply(linkOrNode.toNode, args);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
Point.prototype.setState.apply(this, args);
|
|
260
|
+
}
|
|
261
|
+
NodesComposition.setNodeState = setNodeState;
|
|
262
|
+
})(NodesComposition || (NodesComposition = {}));
|
|
263
|
+
/* *
|
|
264
|
+
*
|
|
265
|
+
* Default Export
|
|
266
|
+
*
|
|
267
|
+
* */
|
|
268
|
+
|
|
269
|
+
return NodesComposition;
|
|
270
|
+
});
|
|
271
|
+
_registerModule(_modules, 'Series/Networkgraph/Integrations.js', [_modules['Core/Globals.js']], function (H) {
|
|
272
|
+
/* *
|
|
273
|
+
*
|
|
274
|
+
* Networkgraph series
|
|
275
|
+
*
|
|
276
|
+
* (c) 2010-2021 Paweł Fus
|
|
277
|
+
*
|
|
278
|
+
* License: www.highcharts.com/license
|
|
279
|
+
*
|
|
280
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
281
|
+
*
|
|
282
|
+
* */
|
|
283
|
+
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
284
|
+
H.networkgraphIntegrations = {
|
|
285
|
+
verlet: {
|
|
286
|
+
/**
|
|
287
|
+
* Attractive force funtion. Can be replaced by API's
|
|
288
|
+
* `layoutAlgorithm.attractiveForce`
|
|
289
|
+
*
|
|
290
|
+
* @private
|
|
291
|
+
* @param {number} d current distance between two nodes
|
|
292
|
+
* @param {number} k expected distance between two nodes
|
|
293
|
+
* @return {number} force
|
|
294
|
+
*/
|
|
295
|
+
attractiveForceFunction: function (d, k) {
|
|
296
|
+
// Used in API:
|
|
297
|
+
return (k - d) / d;
|
|
298
|
+
},
|
|
299
|
+
/**
|
|
300
|
+
* Repulsive force funtion. Can be replaced by API's
|
|
301
|
+
* `layoutAlgorithm.repulsiveForce`
|
|
302
|
+
*
|
|
303
|
+
* @private
|
|
304
|
+
* @param {number} d current distance between two nodes
|
|
305
|
+
* @param {number} k expected distance between two nodes
|
|
306
|
+
* @return {number} force
|
|
307
|
+
*/
|
|
308
|
+
repulsiveForceFunction: function (d, k) {
|
|
309
|
+
// Used in API:
|
|
310
|
+
return (k - d) / d * (k > d ? 1 : 0); // Force only for close nodes
|
|
311
|
+
},
|
|
312
|
+
/**
|
|
313
|
+
* Barycenter force. Calculate and applys barycenter forces on the
|
|
314
|
+
* nodes. Making them closer to the center of their barycenter point.
|
|
315
|
+
*
|
|
316
|
+
* In Verlet integration, force is applied on a node immidatelly to it's
|
|
317
|
+
* `plotX` and `plotY` position.
|
|
318
|
+
*
|
|
319
|
+
* @private
|
|
320
|
+
*/
|
|
321
|
+
barycenter: function () {
|
|
322
|
+
var gravitationalConstant = this.options.gravitationalConstant,
|
|
323
|
+
xFactor = this.barycenter.xFactor,
|
|
324
|
+
yFactor = this.barycenter.yFactor;
|
|
325
|
+
// To consider:
|
|
326
|
+
xFactor = (xFactor - (this.box.left + this.box.width) / 2) *
|
|
327
|
+
gravitationalConstant;
|
|
328
|
+
yFactor = (yFactor - (this.box.top + this.box.height) / 2) *
|
|
329
|
+
gravitationalConstant;
|
|
330
|
+
this.nodes.forEach(function (node) {
|
|
331
|
+
if (!node.fixedPosition) {
|
|
332
|
+
node.plotX -=
|
|
333
|
+
xFactor / node.mass / node.degree;
|
|
334
|
+
node.plotY -=
|
|
335
|
+
yFactor / node.mass / node.degree;
|
|
336
|
+
}
|
|
337
|
+
});
|
|
338
|
+
},
|
|
339
|
+
/**
|
|
340
|
+
* Repulsive force.
|
|
341
|
+
*
|
|
342
|
+
* In Verlet integration, force is applied on a node immidatelly to it's
|
|
343
|
+
* `plotX` and `plotY` position.
|
|
344
|
+
*
|
|
345
|
+
* @private
|
|
346
|
+
* @param {Highcharts.Point} node
|
|
347
|
+
* Node that should be translated by force.
|
|
348
|
+
* @param {number} force
|
|
349
|
+
* Force calcualated in `repulsiveForceFunction`
|
|
350
|
+
* @param {Highcharts.PositionObject} distance
|
|
351
|
+
* Distance between two nodes e.g. `{x, y}`
|
|
352
|
+
*/
|
|
353
|
+
repulsive: function (node, force, distanceXY) {
|
|
354
|
+
var factor = force * this.diffTemperature / node.mass / node.degree;
|
|
355
|
+
if (!node.fixedPosition) {
|
|
356
|
+
node.plotX += distanceXY.x * factor;
|
|
357
|
+
node.plotY += distanceXY.y * factor;
|
|
358
|
+
}
|
|
359
|
+
},
|
|
360
|
+
/**
|
|
361
|
+
* Attractive force.
|
|
362
|
+
*
|
|
363
|
+
* In Verlet integration, force is applied on a node immidatelly to it's
|
|
364
|
+
* `plotX` and `plotY` position.
|
|
365
|
+
*
|
|
366
|
+
* @private
|
|
367
|
+
* @param {Highcharts.Point} link
|
|
368
|
+
* Link that connects two nodes
|
|
369
|
+
* @param {number} force
|
|
370
|
+
* Force calcualated in `repulsiveForceFunction`
|
|
371
|
+
* @param {Highcharts.PositionObject} distance
|
|
372
|
+
* Distance between two nodes e.g. `{x, y}`
|
|
373
|
+
*/
|
|
374
|
+
attractive: function (link, force, distanceXY) {
|
|
375
|
+
var massFactor = link.getMass(),
|
|
376
|
+
translatedX = -distanceXY.x * force * this.diffTemperature,
|
|
377
|
+
translatedY = -distanceXY.y * force * this.diffTemperature;
|
|
378
|
+
if (!link.fromNode.fixedPosition) {
|
|
379
|
+
link.fromNode.plotX -=
|
|
380
|
+
translatedX * massFactor.fromNode / link.fromNode.degree;
|
|
381
|
+
link.fromNode.plotY -=
|
|
382
|
+
translatedY * massFactor.fromNode / link.fromNode.degree;
|
|
383
|
+
}
|
|
384
|
+
if (!link.toNode.fixedPosition) {
|
|
385
|
+
link.toNode.plotX +=
|
|
386
|
+
translatedX * massFactor.toNode / link.toNode.degree;
|
|
387
|
+
link.toNode.plotY +=
|
|
388
|
+
translatedY * massFactor.toNode / link.toNode.degree;
|
|
389
|
+
}
|
|
390
|
+
},
|
|
391
|
+
/**
|
|
392
|
+
* Integration method.
|
|
393
|
+
*
|
|
394
|
+
* In Verlet integration, forces are applied on node immidatelly to it's
|
|
395
|
+
* `plotX` and `plotY` position.
|
|
396
|
+
*
|
|
397
|
+
* Verlet without velocity:
|
|
398
|
+
*
|
|
399
|
+
* x(n+1) = 2 * x(n) - x(n-1) + A(T) * deltaT ^ 2
|
|
400
|
+
*
|
|
401
|
+
* where:
|
|
402
|
+
* - x(n+1) - new position
|
|
403
|
+
* - x(n) - current position
|
|
404
|
+
* - x(n-1) - previous position
|
|
405
|
+
*
|
|
406
|
+
* Assuming A(t) = 0 (no acceleration) and (deltaT = 1) we get:
|
|
407
|
+
*
|
|
408
|
+
* x(n+1) = x(n) + (x(n) - x(n-1))
|
|
409
|
+
*
|
|
410
|
+
* where:
|
|
411
|
+
* - (x(n) - x(n-1)) - position change
|
|
412
|
+
*
|
|
413
|
+
* TO DO:
|
|
414
|
+
* Consider Verlet with velocity to support additional
|
|
415
|
+
* forces. Or even Time-Corrected Verlet by Jonathan
|
|
416
|
+
* "lonesock" Dummer
|
|
417
|
+
*
|
|
418
|
+
* @private
|
|
419
|
+
* @param {Highcharts.NetworkgraphLayout} layout layout object
|
|
420
|
+
* @param {Highcharts.Point} node node that should be translated
|
|
421
|
+
*/
|
|
422
|
+
integrate: function (layout, node) {
|
|
423
|
+
var friction = -layout.options.friction,
|
|
424
|
+
maxSpeed = layout.options.maxSpeed,
|
|
425
|
+
prevX = node.prevX,
|
|
426
|
+
prevY = node.prevY,
|
|
427
|
+
// Apply friciton:
|
|
428
|
+
diffX = ((node.plotX + node.dispX -
|
|
429
|
+
prevX) * friction),
|
|
430
|
+
diffY = ((node.plotY + node.dispY -
|
|
431
|
+
prevY) * friction),
|
|
432
|
+
abs = Math.abs,
|
|
433
|
+
signX = abs(diffX) / (diffX || 1), // need to deal with 0
|
|
434
|
+
signY = abs(diffY) / (diffY || 1);
|
|
435
|
+
// Apply max speed:
|
|
436
|
+
diffX = signX * Math.min(maxSpeed, Math.abs(diffX));
|
|
437
|
+
diffY = signY * Math.min(maxSpeed, Math.abs(diffY));
|
|
438
|
+
// Store for the next iteration:
|
|
439
|
+
node.prevX = node.plotX + node.dispX;
|
|
440
|
+
node.prevY = node.plotY + node.dispY;
|
|
441
|
+
// Update positions:
|
|
442
|
+
node.plotX += diffX;
|
|
443
|
+
node.plotY += diffY;
|
|
444
|
+
node.temperature = layout.vectorLength({
|
|
445
|
+
x: diffX,
|
|
446
|
+
y: diffY
|
|
447
|
+
});
|
|
448
|
+
},
|
|
449
|
+
/**
|
|
450
|
+
* Estiamte the best possible distance between two nodes, making graph
|
|
451
|
+
* readable.
|
|
452
|
+
* @private
|
|
453
|
+
*/
|
|
454
|
+
getK: function (layout) {
|
|
455
|
+
return Math.pow(layout.box.width * layout.box.height / layout.nodes.length, 0.5);
|
|
456
|
+
}
|
|
457
|
+
},
|
|
458
|
+
euler: {
|
|
459
|
+
/**
|
|
460
|
+
* Attractive force funtion. Can be replaced by API's
|
|
461
|
+
* `layoutAlgorithm.attractiveForce`
|
|
462
|
+
*
|
|
463
|
+
* Other forces that can be used:
|
|
464
|
+
*
|
|
465
|
+
* basic, not recommended:
|
|
466
|
+
* `function (d, k) { return d / k }`
|
|
467
|
+
*
|
|
468
|
+
* @private
|
|
469
|
+
* @param {number} d current distance between two nodes
|
|
470
|
+
* @param {number} k expected distance between two nodes
|
|
471
|
+
* @return {number} force
|
|
472
|
+
*/
|
|
473
|
+
attractiveForceFunction: function (d, k) {
|
|
474
|
+
return d * d / k;
|
|
475
|
+
},
|
|
476
|
+
/**
|
|
477
|
+
* Repulsive force funtion. Can be replaced by API's
|
|
478
|
+
* `layoutAlgorithm.repulsiveForce`.
|
|
479
|
+
*
|
|
480
|
+
* Other forces that can be used:
|
|
481
|
+
*
|
|
482
|
+
* basic, not recommended:
|
|
483
|
+
* `function (d, k) { return k / d }`
|
|
484
|
+
*
|
|
485
|
+
* standard:
|
|
486
|
+
* `function (d, k) { return k * k / d }`
|
|
487
|
+
*
|
|
488
|
+
* grid-variant:
|
|
489
|
+
* `function (d, k) { return k * k / d * (2 * k - d > 0 ? 1 : 0) }`
|
|
490
|
+
*
|
|
491
|
+
* @private
|
|
492
|
+
* @param {number} d current distance between two nodes
|
|
493
|
+
* @param {number} k expected distance between two nodes
|
|
494
|
+
* @return {number} force
|
|
495
|
+
*/
|
|
496
|
+
repulsiveForceFunction: function (d, k) {
|
|
497
|
+
return k * k / d;
|
|
498
|
+
},
|
|
499
|
+
/**
|
|
500
|
+
* Barycenter force. Calculate and applys barycenter forces on the
|
|
501
|
+
* nodes. Making them closer to the center of their barycenter point.
|
|
502
|
+
*
|
|
503
|
+
* In Euler integration, force is stored in a node, not changing it's
|
|
504
|
+
* position. Later, in `integrate()` forces are applied on nodes.
|
|
505
|
+
*
|
|
506
|
+
* @private
|
|
507
|
+
*/
|
|
508
|
+
barycenter: function () {
|
|
509
|
+
var gravitationalConstant = this.options.gravitationalConstant,
|
|
510
|
+
xFactor = this.barycenter.xFactor,
|
|
511
|
+
yFactor = this.barycenter.yFactor;
|
|
512
|
+
this.nodes.forEach(function (node) {
|
|
513
|
+
if (!node.fixedPosition) {
|
|
514
|
+
var degree = node.getDegree(),
|
|
515
|
+
phi = degree * (1 + degree / 2);
|
|
516
|
+
node.dispX += ((xFactor - node.plotX) *
|
|
517
|
+
gravitationalConstant *
|
|
518
|
+
phi / node.degree);
|
|
519
|
+
node.dispY += ((yFactor - node.plotY) *
|
|
520
|
+
gravitationalConstant *
|
|
521
|
+
phi / node.degree);
|
|
522
|
+
}
|
|
523
|
+
});
|
|
524
|
+
},
|
|
525
|
+
/**
|
|
526
|
+
* Repulsive force.
|
|
527
|
+
*
|
|
528
|
+
* @private
|
|
529
|
+
* @param {Highcharts.Point} node
|
|
530
|
+
* Node that should be translated by force.
|
|
531
|
+
* @param {number} force
|
|
532
|
+
* Force calcualated in `repulsiveForceFunction`
|
|
533
|
+
* @param {Highcharts.PositionObject} distanceXY
|
|
534
|
+
* Distance between two nodes e.g. `{x, y}`
|
|
535
|
+
*/
|
|
536
|
+
repulsive: function (node, force, distanceXY, distanceR) {
|
|
537
|
+
node.dispX +=
|
|
538
|
+
(distanceXY.x / distanceR) * force / node.degree;
|
|
539
|
+
node.dispY +=
|
|
540
|
+
(distanceXY.y / distanceR) * force / node.degree;
|
|
541
|
+
},
|
|
542
|
+
/**
|
|
543
|
+
* Attractive force.
|
|
544
|
+
*
|
|
545
|
+
* In Euler integration, force is stored in a node, not changing it's
|
|
546
|
+
* position. Later, in `integrate()` forces are applied on nodes.
|
|
547
|
+
*
|
|
548
|
+
* @private
|
|
549
|
+
* @param {Highcharts.Point} link
|
|
550
|
+
* Link that connects two nodes
|
|
551
|
+
* @param {number} force
|
|
552
|
+
* Force calcualated in `repulsiveForceFunction`
|
|
553
|
+
* @param {Highcharts.PositionObject} distanceXY
|
|
554
|
+
* Distance between two nodes e.g. `{x, y}`
|
|
555
|
+
* @param {number} distanceR
|
|
556
|
+
*/
|
|
557
|
+
attractive: function (link, force, distanceXY, distanceR) {
|
|
558
|
+
var massFactor = link.getMass(),
|
|
559
|
+
translatedX = (distanceXY.x / distanceR) * force,
|
|
560
|
+
translatedY = (distanceXY.y / distanceR) * force;
|
|
561
|
+
if (!link.fromNode.fixedPosition) {
|
|
562
|
+
link.fromNode.dispX -=
|
|
563
|
+
translatedX * massFactor.fromNode / link.fromNode.degree;
|
|
564
|
+
link.fromNode.dispY -=
|
|
565
|
+
translatedY * massFactor.fromNode / link.fromNode.degree;
|
|
566
|
+
}
|
|
567
|
+
if (!link.toNode.fixedPosition) {
|
|
568
|
+
link.toNode.dispX +=
|
|
569
|
+
translatedX * massFactor.toNode / link.toNode.degree;
|
|
570
|
+
link.toNode.dispY +=
|
|
571
|
+
translatedY * massFactor.toNode / link.toNode.degree;
|
|
572
|
+
}
|
|
573
|
+
},
|
|
574
|
+
/**
|
|
575
|
+
* Integration method.
|
|
576
|
+
*
|
|
577
|
+
* In Euler integration, force were stored in a node, not changing it's
|
|
578
|
+
* position. Now, in the integrator method, we apply changes.
|
|
579
|
+
*
|
|
580
|
+
* Euler:
|
|
581
|
+
*
|
|
582
|
+
* Basic form: `x(n+1) = x(n) + v(n)`
|
|
583
|
+
*
|
|
584
|
+
* With Rengoild-Fruchterman we get:
|
|
585
|
+
* `x(n+1) = x(n) + v(n) / length(v(n)) * min(v(n), temperature(n))`
|
|
586
|
+
* where:
|
|
587
|
+
* - `x(n+1)`: next position
|
|
588
|
+
* - `x(n)`: current position
|
|
589
|
+
* - `v(n)`: velocity (comes from net force)
|
|
590
|
+
* - `temperature(n)`: current temperature
|
|
591
|
+
*
|
|
592
|
+
* Known issues:
|
|
593
|
+
* Oscillations when force vector has the same magnitude but opposite
|
|
594
|
+
* direction in the next step. Potentially solved by decreasing force by
|
|
595
|
+
* `v * (1 / node.degree)`
|
|
596
|
+
*
|
|
597
|
+
* Note:
|
|
598
|
+
* Actually `min(v(n), temperature(n))` replaces simulated annealing.
|
|
599
|
+
*
|
|
600
|
+
* @private
|
|
601
|
+
* @param {Highcharts.NetworkgraphLayout} layout
|
|
602
|
+
* Layout object
|
|
603
|
+
* @param {Highcharts.Point} node
|
|
604
|
+
* Node that should be translated
|
|
605
|
+
*/
|
|
606
|
+
integrate: function (layout, node) {
|
|
607
|
+
var distanceR;
|
|
608
|
+
node.dispX +=
|
|
609
|
+
node.dispX * layout.options.friction;
|
|
610
|
+
node.dispY +=
|
|
611
|
+
node.dispY * layout.options.friction;
|
|
612
|
+
distanceR = node.temperature = layout.vectorLength({
|
|
613
|
+
x: node.dispX,
|
|
614
|
+
y: node.dispY
|
|
615
|
+
});
|
|
616
|
+
if (distanceR !== 0) {
|
|
617
|
+
node.plotX += (node.dispX / distanceR *
|
|
618
|
+
Math.min(Math.abs(node.dispX), layout.temperature));
|
|
619
|
+
node.plotY += (node.dispY / distanceR *
|
|
620
|
+
Math.min(Math.abs(node.dispY), layout.temperature));
|
|
621
|
+
}
|
|
622
|
+
},
|
|
623
|
+
/**
|
|
624
|
+
* Estiamte the best possible distance between two nodes, making graph
|
|
625
|
+
* readable.
|
|
626
|
+
* @private
|
|
627
|
+
*/
|
|
628
|
+
getK: function (layout) {
|
|
629
|
+
return Math.pow(layout.box.width * layout.box.height / layout.nodes.length, 0.3);
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
};
|
|
633
|
+
|
|
634
|
+
});
|
|
635
|
+
_registerModule(_modules, 'Series/Networkgraph/QuadTree.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {
|
|
636
|
+
/* *
|
|
637
|
+
*
|
|
638
|
+
* Networkgraph series
|
|
639
|
+
*
|
|
640
|
+
* (c) 2010-2021 Paweł Fus
|
|
641
|
+
*
|
|
642
|
+
* License: www.highcharts.com/license
|
|
643
|
+
*
|
|
644
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
645
|
+
*
|
|
646
|
+
* */
|
|
647
|
+
var extend = U.extend;
|
|
648
|
+
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
649
|
+
/**
|
|
650
|
+
* The QuadTree node class. Used in Networkgraph chart as a base for Barnes-Hut
|
|
651
|
+
* approximation.
|
|
652
|
+
*
|
|
653
|
+
* @private
|
|
654
|
+
* @class
|
|
655
|
+
* @name Highcharts.QuadTreeNode
|
|
656
|
+
*
|
|
657
|
+
* @param {Highcharts.Dictionary<number>} box Available space for the node
|
|
658
|
+
*/
|
|
659
|
+
var QuadTreeNode = H.QuadTreeNode = function (box) {
|
|
660
|
+
/**
|
|
661
|
+
* Read only. The available space for node.
|
|
662
|
+
*
|
|
663
|
+
* @name Highcharts.QuadTreeNode#box
|
|
664
|
+
* @type {Highcharts.Dictionary<number>}
|
|
665
|
+
*/
|
|
666
|
+
this.box = box;
|
|
667
|
+
/**
|
|
668
|
+
* Read only. The minium of width and height values.
|
|
669
|
+
*
|
|
670
|
+
* @name Highcharts.QuadTreeNode#boxSize
|
|
671
|
+
* @type {number}
|
|
672
|
+
*/
|
|
673
|
+
this.boxSize = Math.min(box.width, box.height);
|
|
674
|
+
/**
|
|
675
|
+
* Read only. Array of subnodes. Empty if QuadTreeNode has just one Point.
|
|
676
|
+
* When added another Point to this QuadTreeNode, array is filled with four
|
|
677
|
+
* subnodes.
|
|
678
|
+
*
|
|
679
|
+
* @name Highcharts.QuadTreeNode#nodes
|
|
680
|
+
* @type {Array<Highcharts.QuadTreeNode>}
|
|
681
|
+
*/
|
|
682
|
+
this.nodes = [];
|
|
683
|
+
/**
|
|
684
|
+
* Read only. Flag to determine if QuadTreeNode is internal (and has
|
|
685
|
+
* subnodes with mass and central position) or external (bound to Point).
|
|
686
|
+
*
|
|
687
|
+
* @name Highcharts.QuadTreeNode#isInternal
|
|
688
|
+
* @type {boolean}
|
|
689
|
+
*/
|
|
690
|
+
this.isInternal = false;
|
|
691
|
+
/**
|
|
692
|
+
* Read only. If QuadTreeNode is an external node, Point is stored in
|
|
693
|
+
* `this.body`.
|
|
694
|
+
*
|
|
695
|
+
* @name Highcharts.QuadTreeNode#body
|
|
696
|
+
* @type {boolean|Highcharts.Point}
|
|
697
|
+
*/
|
|
698
|
+
this.body = false;
|
|
699
|
+
/**
|
|
700
|
+
* Read only. Internal nodes when created are empty to reserve the space. If
|
|
701
|
+
* Point is added to this QuadTreeNode, QuadTreeNode is no longer empty.
|
|
702
|
+
*
|
|
703
|
+
* @name Highcharts.QuadTreeNode#isEmpty
|
|
704
|
+
* @type {boolean}
|
|
705
|
+
*/
|
|
706
|
+
this.isEmpty = true;
|
|
707
|
+
};
|
|
708
|
+
extend(QuadTreeNode.prototype,
|
|
709
|
+
/** @lends Highcharts.QuadTreeNode.prototype */
|
|
710
|
+
{
|
|
711
|
+
/**
|
|
712
|
+
* Insert recursively point(node) into the QuadTree. If the given
|
|
713
|
+
* quadrant is already occupied, divide it into smaller quadrants.
|
|
714
|
+
*
|
|
715
|
+
* @param {Highcharts.Point} point
|
|
716
|
+
* Point/node to be inserted
|
|
717
|
+
* @param {number} depth
|
|
718
|
+
* Max depth of the QuadTree
|
|
719
|
+
*/
|
|
720
|
+
insert: function (point, depth) {
|
|
721
|
+
var newQuadTreeNode;
|
|
722
|
+
if (this.isInternal) {
|
|
723
|
+
// Internal node:
|
|
724
|
+
this.nodes[this.getBoxPosition(point)].insert(point, depth - 1);
|
|
725
|
+
}
|
|
726
|
+
else {
|
|
727
|
+
this.isEmpty = false;
|
|
728
|
+
if (!this.body) {
|
|
729
|
+
// First body in a quadrant:
|
|
730
|
+
this.isInternal = false;
|
|
731
|
+
this.body = point;
|
|
732
|
+
}
|
|
733
|
+
else {
|
|
734
|
+
if (depth) {
|
|
735
|
+
// Every other body in a quadrant:
|
|
736
|
+
this.isInternal = true;
|
|
737
|
+
this.divideBox();
|
|
738
|
+
// Reinsert main body only once:
|
|
739
|
+
if (this.body !== true) {
|
|
740
|
+
this.nodes[this.getBoxPosition(this.body)]
|
|
741
|
+
.insert(this.body, depth - 1);
|
|
742
|
+
this.body = true;
|
|
743
|
+
}
|
|
744
|
+
// Add second body:
|
|
745
|
+
this.nodes[this.getBoxPosition(point)]
|
|
746
|
+
.insert(point, depth - 1);
|
|
747
|
+
}
|
|
748
|
+
else {
|
|
749
|
+
// We are below max allowed depth. That means either:
|
|
750
|
+
// - really huge number of points
|
|
751
|
+
// - falling two points into exactly the same position
|
|
752
|
+
// In this case, create another node in the QuadTree.
|
|
753
|
+
//
|
|
754
|
+
// Alternatively we could add some noise to the
|
|
755
|
+
// position, but that could result in different
|
|
756
|
+
// rendered chart in exporting.
|
|
757
|
+
newQuadTreeNode = new QuadTreeNode({
|
|
758
|
+
top: point.plotX,
|
|
759
|
+
left: point.plotY,
|
|
760
|
+
// Width/height below 1px
|
|
761
|
+
width: 0.1,
|
|
762
|
+
height: 0.1
|
|
763
|
+
});
|
|
764
|
+
newQuadTreeNode.body = point;
|
|
765
|
+
newQuadTreeNode.isInternal = false;
|
|
766
|
+
this.nodes.push(newQuadTreeNode);
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
},
|
|
771
|
+
/**
|
|
772
|
+
* Each quad node requires it's mass and center position. That mass and
|
|
773
|
+
* position is used to imitate real node in the layout by approximation.
|
|
774
|
+
*/
|
|
775
|
+
updateMassAndCenter: function () {
|
|
776
|
+
var mass = 0,
|
|
777
|
+
plotX = 0,
|
|
778
|
+
plotY = 0;
|
|
779
|
+
if (this.isInternal) {
|
|
780
|
+
// Calcualte weightened mass of the quad node:
|
|
781
|
+
this.nodes.forEach(function (pointMass) {
|
|
782
|
+
if (!pointMass.isEmpty) {
|
|
783
|
+
mass += pointMass.mass;
|
|
784
|
+
plotX +=
|
|
785
|
+
pointMass.plotX * pointMass.mass;
|
|
786
|
+
plotY +=
|
|
787
|
+
pointMass.plotY * pointMass.mass;
|
|
788
|
+
}
|
|
789
|
+
});
|
|
790
|
+
plotX /= mass;
|
|
791
|
+
plotY /= mass;
|
|
792
|
+
}
|
|
793
|
+
else if (this.body) {
|
|
794
|
+
// Just one node, use coordinates directly:
|
|
795
|
+
mass = this.body.mass;
|
|
796
|
+
plotX = this.body.plotX;
|
|
797
|
+
plotY = this.body.plotY;
|
|
798
|
+
}
|
|
799
|
+
// Store details:
|
|
800
|
+
this.mass = mass;
|
|
801
|
+
this.plotX = plotX;
|
|
802
|
+
this.plotY = plotY;
|
|
803
|
+
},
|
|
804
|
+
/**
|
|
805
|
+
* When inserting another node into the box, that already hove one node,
|
|
806
|
+
* divide the available space into another four quadrants.
|
|
807
|
+
*
|
|
808
|
+
* Indexes of quadrants are:
|
|
809
|
+
* ```
|
|
810
|
+
* ------------- -------------
|
|
811
|
+
* | | | | |
|
|
812
|
+
* | | | 0 | 1 |
|
|
813
|
+
* | | divide() | | |
|
|
814
|
+
* | 1 | -----------> -------------
|
|
815
|
+
* | | | | |
|
|
816
|
+
* | | | 3 | 2 |
|
|
817
|
+
* | | | | |
|
|
818
|
+
* ------------- -------------
|
|
819
|
+
* ```
|
|
820
|
+
*/
|
|
821
|
+
divideBox: function () {
|
|
822
|
+
var halfWidth = this.box.width / 2,
|
|
823
|
+
halfHeight = this.box.height / 2;
|
|
824
|
+
// Top left
|
|
825
|
+
this.nodes[0] = new QuadTreeNode({
|
|
826
|
+
left: this.box.left,
|
|
827
|
+
top: this.box.top,
|
|
828
|
+
width: halfWidth,
|
|
829
|
+
height: halfHeight
|
|
830
|
+
});
|
|
831
|
+
// Top right
|
|
832
|
+
this.nodes[1] = new QuadTreeNode({
|
|
833
|
+
left: this.box.left + halfWidth,
|
|
834
|
+
top: this.box.top,
|
|
835
|
+
width: halfWidth,
|
|
836
|
+
height: halfHeight
|
|
837
|
+
});
|
|
838
|
+
// Bottom right
|
|
839
|
+
this.nodes[2] = new QuadTreeNode({
|
|
840
|
+
left: this.box.left + halfWidth,
|
|
841
|
+
top: this.box.top + halfHeight,
|
|
842
|
+
width: halfWidth,
|
|
843
|
+
height: halfHeight
|
|
844
|
+
});
|
|
845
|
+
// Bottom left
|
|
846
|
+
this.nodes[3] = new QuadTreeNode({
|
|
847
|
+
left: this.box.left,
|
|
848
|
+
top: this.box.top + halfHeight,
|
|
849
|
+
width: halfWidth,
|
|
850
|
+
height: halfHeight
|
|
851
|
+
});
|
|
852
|
+
},
|
|
853
|
+
/**
|
|
854
|
+
* Determine which of the quadrants should be used when placing node in
|
|
855
|
+
* the QuadTree. Returned index is always in range `< 0 , 3 >`.
|
|
856
|
+
* @private
|
|
857
|
+
*/
|
|
858
|
+
getBoxPosition: function (point) {
|
|
859
|
+
var left = point.plotX < this.box.left + this.box.width / 2,
|
|
860
|
+
top = point.plotY < this.box.top + this.box.height / 2,
|
|
861
|
+
index;
|
|
862
|
+
if (left) {
|
|
863
|
+
if (top) {
|
|
864
|
+
// Top left
|
|
865
|
+
index = 0;
|
|
866
|
+
}
|
|
867
|
+
else {
|
|
868
|
+
// Bottom left
|
|
869
|
+
index = 3;
|
|
870
|
+
}
|
|
871
|
+
}
|
|
872
|
+
else {
|
|
873
|
+
if (top) {
|
|
874
|
+
// Top right
|
|
875
|
+
index = 1;
|
|
876
|
+
}
|
|
877
|
+
else {
|
|
878
|
+
// Bottom right
|
|
879
|
+
index = 2;
|
|
880
|
+
}
|
|
881
|
+
}
|
|
882
|
+
return index;
|
|
883
|
+
}
|
|
884
|
+
});
|
|
885
|
+
/**
|
|
886
|
+
* The QuadTree class. Used in Networkgraph chart as a base for Barnes-Hut
|
|
887
|
+
* approximation.
|
|
888
|
+
*
|
|
889
|
+
* @private
|
|
890
|
+
* @class
|
|
891
|
+
* @name Highcharts.QuadTree
|
|
892
|
+
*
|
|
893
|
+
* @param {number} x left position of the plotting area
|
|
894
|
+
* @param {number} y top position of the plotting area
|
|
895
|
+
* @param {number} width width of the plotting area
|
|
896
|
+
* @param {number} height height of the plotting area
|
|
897
|
+
*/
|
|
898
|
+
var QuadTree = H.QuadTree = function (x,
|
|
899
|
+
y,
|
|
900
|
+
width,
|
|
901
|
+
height) {
|
|
902
|
+
// Boundary rectangle:
|
|
903
|
+
this.box = {
|
|
904
|
+
left: x,
|
|
905
|
+
top: y,
|
|
906
|
+
width: width,
|
|
907
|
+
height: height
|
|
908
|
+
};
|
|
909
|
+
this.maxDepth = 25;
|
|
910
|
+
this.root = new QuadTreeNode(this.box, '0');
|
|
911
|
+
this.root.isInternal = true;
|
|
912
|
+
this.root.isRoot = true;
|
|
913
|
+
this.root.divideBox();
|
|
914
|
+
};
|
|
915
|
+
extend(QuadTree.prototype,
|
|
916
|
+
/** @lends Highcharts.QuadTree.prototype */
|
|
917
|
+
{
|
|
918
|
+
/**
|
|
919
|
+
* Insert nodes into the QuadTree
|
|
920
|
+
*
|
|
921
|
+
* @param {Array<Highcharts.Point>} points
|
|
922
|
+
*/
|
|
923
|
+
insertNodes: function (points) {
|
|
924
|
+
points.forEach(function (point) {
|
|
925
|
+
this.root.insert(point, this.maxDepth);
|
|
926
|
+
}, this);
|
|
927
|
+
},
|
|
928
|
+
/**
|
|
929
|
+
* Depfth first treversal (DFS). Using `before` and `after` callbacks,
|
|
930
|
+
* we can get two results: preorder and postorder traversals, reminder:
|
|
931
|
+
*
|
|
932
|
+
* ```
|
|
933
|
+
* (a)
|
|
934
|
+
* / \
|
|
935
|
+
* (b) (c)
|
|
936
|
+
* / \
|
|
937
|
+
* (d) (e)
|
|
938
|
+
* ```
|
|
939
|
+
*
|
|
940
|
+
* DFS (preorder): `a -> b -> d -> e -> c`
|
|
941
|
+
*
|
|
942
|
+
* DFS (postorder): `d -> e -> b -> c -> a`
|
|
943
|
+
*
|
|
944
|
+
* @param {Highcharts.QuadTreeNode|null} node
|
|
945
|
+
* @param {Function} [beforeCallback] function to be called before
|
|
946
|
+
* visiting children nodes
|
|
947
|
+
* @param {Function} [afterCallback] function to be called after
|
|
948
|
+
* visiting children nodes
|
|
949
|
+
*/
|
|
950
|
+
visitNodeRecursive: function (node, beforeCallback, afterCallback) {
|
|
951
|
+
var goFurther;
|
|
952
|
+
if (!node) {
|
|
953
|
+
node = this.root;
|
|
954
|
+
}
|
|
955
|
+
if (node === this.root && beforeCallback) {
|
|
956
|
+
goFurther = beforeCallback(node);
|
|
957
|
+
}
|
|
958
|
+
if (goFurther === false) {
|
|
959
|
+
return;
|
|
960
|
+
}
|
|
961
|
+
node.nodes.forEach(function (qtNode) {
|
|
962
|
+
if (qtNode.isInternal) {
|
|
963
|
+
if (beforeCallback) {
|
|
964
|
+
goFurther = beforeCallback(qtNode);
|
|
965
|
+
}
|
|
966
|
+
if (goFurther === false) {
|
|
967
|
+
return;
|
|
968
|
+
}
|
|
969
|
+
this.visitNodeRecursive(qtNode, beforeCallback, afterCallback);
|
|
970
|
+
}
|
|
971
|
+
else if (qtNode.body) {
|
|
972
|
+
if (beforeCallback) {
|
|
973
|
+
beforeCallback(qtNode.body);
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
if (afterCallback) {
|
|
977
|
+
afterCallback(qtNode);
|
|
978
|
+
}
|
|
979
|
+
}, this);
|
|
980
|
+
if (node === this.root && afterCallback) {
|
|
981
|
+
afterCallback(node);
|
|
982
|
+
}
|
|
983
|
+
},
|
|
984
|
+
/**
|
|
985
|
+
* Calculate mass of the each QuadNode in the tree.
|
|
986
|
+
*/
|
|
987
|
+
calculateMassAndCenter: function () {
|
|
988
|
+
this.visitNodeRecursive(null, null, function (node) {
|
|
989
|
+
node.updateMassAndCenter();
|
|
990
|
+
});
|
|
991
|
+
}
|
|
992
|
+
});
|
|
993
|
+
|
|
994
|
+
});
|
|
995
|
+
_registerModule(_modules, 'Series/Networkgraph/Layouts.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (Chart, A, H, U) {
|
|
996
|
+
/* *
|
|
997
|
+
*
|
|
998
|
+
* Networkgraph series
|
|
999
|
+
*
|
|
1000
|
+
* (c) 2010-2021 Paweł Fus
|
|
1001
|
+
*
|
|
1002
|
+
* License: www.highcharts.com/license
|
|
1003
|
+
*
|
|
1004
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
1005
|
+
*
|
|
1006
|
+
* */
|
|
1007
|
+
var setAnimation = A.setAnimation;
|
|
1008
|
+
var addEvent = U.addEvent,
|
|
1009
|
+
clamp = U.clamp,
|
|
1010
|
+
defined = U.defined,
|
|
1011
|
+
extend = U.extend,
|
|
1012
|
+
isFunction = U.isFunction,
|
|
1013
|
+
pick = U.pick;
|
|
1014
|
+
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
1015
|
+
H.layouts = {
|
|
1016
|
+
'reingold-fruchterman': function () {
|
|
1017
|
+
}
|
|
1018
|
+
};
|
|
1019
|
+
extend(
|
|
1020
|
+
/**
|
|
1021
|
+
* Reingold-Fruchterman algorithm from
|
|
1022
|
+
* "Graph Drawing by Force-directed Placement" paper.
|
|
1023
|
+
* @private
|
|
1024
|
+
*/
|
|
1025
|
+
H.layouts['reingold-fruchterman'].prototype, {
|
|
1026
|
+
init: function (options) {
|
|
1027
|
+
this.options = options;
|
|
1028
|
+
this.nodes = [];
|
|
1029
|
+
this.links = [];
|
|
1030
|
+
this.series = [];
|
|
1031
|
+
this.box = {
|
|
1032
|
+
x: 0,
|
|
1033
|
+
y: 0,
|
|
1034
|
+
width: 0,
|
|
1035
|
+
height: 0
|
|
1036
|
+
};
|
|
1037
|
+
this.setInitialRendering(true);
|
|
1038
|
+
this.integration =
|
|
1039
|
+
H.networkgraphIntegrations[options.integration];
|
|
1040
|
+
this.enableSimulation = options.enableSimulation;
|
|
1041
|
+
this.attractiveForce = pick(options.attractiveForce, this.integration.attractiveForceFunction);
|
|
1042
|
+
this.repulsiveForce = pick(options.repulsiveForce, this.integration.repulsiveForceFunction);
|
|
1043
|
+
this.approximation = options.approximation;
|
|
1044
|
+
},
|
|
1045
|
+
updateSimulation: function (enable) {
|
|
1046
|
+
this.enableSimulation = pick(enable, this.options.enableSimulation);
|
|
1047
|
+
},
|
|
1048
|
+
start: function () {
|
|
1049
|
+
var layout = this,
|
|
1050
|
+
series = this.series,
|
|
1051
|
+
options = this.options;
|
|
1052
|
+
layout.currentStep = 0;
|
|
1053
|
+
layout.forces = series[0] && series[0].forces || [];
|
|
1054
|
+
layout.chart = series[0] && series[0].chart;
|
|
1055
|
+
if (layout.initialRendering) {
|
|
1056
|
+
layout.initPositions();
|
|
1057
|
+
// Render elements in initial positions:
|
|
1058
|
+
series.forEach(function (s) {
|
|
1059
|
+
s.finishedAnimating = true; // #13169
|
|
1060
|
+
s.render();
|
|
1061
|
+
});
|
|
1062
|
+
}
|
|
1063
|
+
layout.setK();
|
|
1064
|
+
layout.resetSimulation(options);
|
|
1065
|
+
if (layout.enableSimulation) {
|
|
1066
|
+
layout.step();
|
|
1067
|
+
}
|
|
1068
|
+
},
|
|
1069
|
+
step: function () {
|
|
1070
|
+
var layout = this,
|
|
1071
|
+
series = this.series,
|
|
1072
|
+
options = this.options;
|
|
1073
|
+
// Algorithm:
|
|
1074
|
+
layout.currentStep++;
|
|
1075
|
+
if (layout.approximation === 'barnes-hut') {
|
|
1076
|
+
layout.createQuadTree();
|
|
1077
|
+
layout.quadTree.calculateMassAndCenter();
|
|
1078
|
+
}
|
|
1079
|
+
layout.forces.forEach(function (forceName) {
|
|
1080
|
+
layout[forceName + 'Forces'](layout.temperature);
|
|
1081
|
+
});
|
|
1082
|
+
// Limit to the plotting area and cool down:
|
|
1083
|
+
layout.applyLimits(layout.temperature);
|
|
1084
|
+
// Cool down the system:
|
|
1085
|
+
layout.temperature = layout.coolDown(layout.startTemperature, layout.diffTemperature, layout.currentStep);
|
|
1086
|
+
layout.prevSystemTemperature = layout.systemTemperature;
|
|
1087
|
+
layout.systemTemperature = layout.getSystemTemperature();
|
|
1088
|
+
if (layout.enableSimulation) {
|
|
1089
|
+
series.forEach(function (s) {
|
|
1090
|
+
// Chart could be destroyed during the simulation
|
|
1091
|
+
if (s.chart) {
|
|
1092
|
+
s.render();
|
|
1093
|
+
}
|
|
1094
|
+
});
|
|
1095
|
+
if (layout.maxIterations-- &&
|
|
1096
|
+
isFinite(layout.temperature) &&
|
|
1097
|
+
!layout.isStable()) {
|
|
1098
|
+
if (layout.simulation) {
|
|
1099
|
+
H.win.cancelAnimationFrame(layout.simulation);
|
|
1100
|
+
}
|
|
1101
|
+
layout.simulation = H.win.requestAnimationFrame(function () {
|
|
1102
|
+
layout.step();
|
|
1103
|
+
});
|
|
1104
|
+
}
|
|
1105
|
+
else {
|
|
1106
|
+
layout.simulation = false;
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
},
|
|
1110
|
+
stop: function () {
|
|
1111
|
+
if (this.simulation) {
|
|
1112
|
+
H.win.cancelAnimationFrame(this.simulation);
|
|
1113
|
+
}
|
|
1114
|
+
},
|
|
1115
|
+
setArea: function (x, y, w, h) {
|
|
1116
|
+
this.box = {
|
|
1117
|
+
left: x,
|
|
1118
|
+
top: y,
|
|
1119
|
+
width: w,
|
|
1120
|
+
height: h
|
|
1121
|
+
};
|
|
1122
|
+
},
|
|
1123
|
+
setK: function () {
|
|
1124
|
+
// Optimal distance between nodes,
|
|
1125
|
+
// available space around the node:
|
|
1126
|
+
this.k = this.options.linkLength || this.integration.getK(this);
|
|
1127
|
+
},
|
|
1128
|
+
addElementsToCollection: function (elements, collection) {
|
|
1129
|
+
elements.forEach(function (elem) {
|
|
1130
|
+
if (collection.indexOf(elem) === -1) {
|
|
1131
|
+
collection.push(elem);
|
|
1132
|
+
}
|
|
1133
|
+
});
|
|
1134
|
+
},
|
|
1135
|
+
removeElementFromCollection: function (element, collection) {
|
|
1136
|
+
var index = collection.indexOf(element);
|
|
1137
|
+
if (index !== -1) {
|
|
1138
|
+
collection.splice(index, 1);
|
|
1139
|
+
}
|
|
1140
|
+
},
|
|
1141
|
+
clear: function () {
|
|
1142
|
+
this.nodes.length = 0;
|
|
1143
|
+
this.links.length = 0;
|
|
1144
|
+
this.series.length = 0;
|
|
1145
|
+
this.resetSimulation();
|
|
1146
|
+
},
|
|
1147
|
+
resetSimulation: function () {
|
|
1148
|
+
this.forcedStop = false;
|
|
1149
|
+
this.systemTemperature = 0;
|
|
1150
|
+
this.setMaxIterations();
|
|
1151
|
+
this.setTemperature();
|
|
1152
|
+
this.setDiffTemperature();
|
|
1153
|
+
},
|
|
1154
|
+
restartSimulation: function () {
|
|
1155
|
+
if (!this.simulation) {
|
|
1156
|
+
// When dragging nodes, we don't need to calculate
|
|
1157
|
+
// initial positions and rendering nodes:
|
|
1158
|
+
this.setInitialRendering(false);
|
|
1159
|
+
// Start new simulation:
|
|
1160
|
+
if (!this.enableSimulation) {
|
|
1161
|
+
// Run only one iteration to speed things up:
|
|
1162
|
+
this.setMaxIterations(1);
|
|
1163
|
+
}
|
|
1164
|
+
else {
|
|
1165
|
+
this.start();
|
|
1166
|
+
}
|
|
1167
|
+
if (this.chart) {
|
|
1168
|
+
this.chart.redraw();
|
|
1169
|
+
}
|
|
1170
|
+
// Restore defaults:
|
|
1171
|
+
this.setInitialRendering(true);
|
|
1172
|
+
}
|
|
1173
|
+
else {
|
|
1174
|
+
// Extend current simulation:
|
|
1175
|
+
this.resetSimulation();
|
|
1176
|
+
}
|
|
1177
|
+
},
|
|
1178
|
+
setMaxIterations: function (maxIterations) {
|
|
1179
|
+
this.maxIterations = pick(maxIterations, this.options.maxIterations);
|
|
1180
|
+
},
|
|
1181
|
+
setTemperature: function () {
|
|
1182
|
+
this.temperature = this.startTemperature =
|
|
1183
|
+
Math.sqrt(this.nodes.length);
|
|
1184
|
+
},
|
|
1185
|
+
setDiffTemperature: function () {
|
|
1186
|
+
this.diffTemperature = this.startTemperature /
|
|
1187
|
+
(this.options.maxIterations + 1);
|
|
1188
|
+
},
|
|
1189
|
+
setInitialRendering: function (enable) {
|
|
1190
|
+
this.initialRendering = enable;
|
|
1191
|
+
},
|
|
1192
|
+
createQuadTree: function () {
|
|
1193
|
+
this.quadTree = new H.QuadTree(this.box.left, this.box.top, this.box.width, this.box.height);
|
|
1194
|
+
this.quadTree.insertNodes(this.nodes);
|
|
1195
|
+
},
|
|
1196
|
+
initPositions: function () {
|
|
1197
|
+
var initialPositions = this.options.initialPositions;
|
|
1198
|
+
if (isFunction(initialPositions)) {
|
|
1199
|
+
initialPositions.call(this);
|
|
1200
|
+
this.nodes.forEach(function (node) {
|
|
1201
|
+
if (!defined(node.prevX)) {
|
|
1202
|
+
node.prevX = node.plotX;
|
|
1203
|
+
}
|
|
1204
|
+
if (!defined(node.prevY)) {
|
|
1205
|
+
node.prevY = node.plotY;
|
|
1206
|
+
}
|
|
1207
|
+
node.dispX = 0;
|
|
1208
|
+
node.dispY = 0;
|
|
1209
|
+
});
|
|
1210
|
+
}
|
|
1211
|
+
else if (initialPositions === 'circle') {
|
|
1212
|
+
this.setCircularPositions();
|
|
1213
|
+
}
|
|
1214
|
+
else {
|
|
1215
|
+
this.setRandomPositions();
|
|
1216
|
+
}
|
|
1217
|
+
},
|
|
1218
|
+
setCircularPositions: function () {
|
|
1219
|
+
var box = this.box,
|
|
1220
|
+
nodes = this.nodes,
|
|
1221
|
+
nodesLength = nodes.length + 1,
|
|
1222
|
+
angle = 2 * Math.PI / nodesLength,
|
|
1223
|
+
rootNodes = nodes.filter(function (node) {
|
|
1224
|
+
return node.linksTo.length === 0;
|
|
1225
|
+
}), sortedNodes = [], visitedNodes = {}, radius = this.options.initialPositionRadius;
|
|
1226
|
+
/**
|
|
1227
|
+
* @private
|
|
1228
|
+
*/
|
|
1229
|
+
function addToNodes(node) {
|
|
1230
|
+
node.linksFrom.forEach(function (link) {
|
|
1231
|
+
if (!visitedNodes[link.toNode.id]) {
|
|
1232
|
+
visitedNodes[link.toNode.id] = true;
|
|
1233
|
+
sortedNodes.push(link.toNode);
|
|
1234
|
+
addToNodes(link.toNode);
|
|
1235
|
+
}
|
|
1236
|
+
});
|
|
1237
|
+
}
|
|
1238
|
+
// Start with identified root nodes an sort the nodes by their
|
|
1239
|
+
// hierarchy. In trees, this ensures that branches don't cross
|
|
1240
|
+
// eachother.
|
|
1241
|
+
rootNodes.forEach(function (rootNode) {
|
|
1242
|
+
sortedNodes.push(rootNode);
|
|
1243
|
+
addToNodes(rootNode);
|
|
1244
|
+
});
|
|
1245
|
+
// Cyclic tree, no root node found
|
|
1246
|
+
if (!sortedNodes.length) {
|
|
1247
|
+
sortedNodes = nodes;
|
|
1248
|
+
// Dangling, cyclic trees
|
|
1249
|
+
}
|
|
1250
|
+
else {
|
|
1251
|
+
nodes.forEach(function (node) {
|
|
1252
|
+
if (sortedNodes.indexOf(node) === -1) {
|
|
1253
|
+
sortedNodes.push(node);
|
|
1254
|
+
}
|
|
1255
|
+
});
|
|
1256
|
+
}
|
|
1257
|
+
// Initial positions are laid out along a small circle, appearing
|
|
1258
|
+
// as a cluster in the middle
|
|
1259
|
+
sortedNodes.forEach(function (node, index) {
|
|
1260
|
+
node.plotX = node.prevX = pick(node.plotX, box.width / 2 + radius * Math.cos(index * angle));
|
|
1261
|
+
node.plotY = node.prevY = pick(node.plotY, box.height / 2 + radius * Math.sin(index * angle));
|
|
1262
|
+
node.dispX = 0;
|
|
1263
|
+
node.dispY = 0;
|
|
1264
|
+
});
|
|
1265
|
+
},
|
|
1266
|
+
setRandomPositions: function () {
|
|
1267
|
+
var box = this.box,
|
|
1268
|
+
nodes = this.nodes,
|
|
1269
|
+
nodesLength = nodes.length + 1;
|
|
1270
|
+
/**
|
|
1271
|
+
* Return a repeatable, quasi-random number based on an integer
|
|
1272
|
+
* input. For the initial positions
|
|
1273
|
+
* @private
|
|
1274
|
+
*/
|
|
1275
|
+
function unrandom(n) {
|
|
1276
|
+
var rand = n * n / Math.PI;
|
|
1277
|
+
rand = rand - Math.floor(rand);
|
|
1278
|
+
return rand;
|
|
1279
|
+
}
|
|
1280
|
+
// Initial positions:
|
|
1281
|
+
nodes.forEach(function (node, index) {
|
|
1282
|
+
node.plotX = node.prevX = pick(node.plotX, box.width * unrandom(index));
|
|
1283
|
+
node.plotY = node.prevY = pick(node.plotY, box.height * unrandom(nodesLength + index));
|
|
1284
|
+
node.dispX = 0;
|
|
1285
|
+
node.dispY = 0;
|
|
1286
|
+
});
|
|
1287
|
+
},
|
|
1288
|
+
force: function (name) {
|
|
1289
|
+
this.integration[name].apply(this, Array.prototype.slice.call(arguments, 1));
|
|
1290
|
+
},
|
|
1291
|
+
barycenterForces: function () {
|
|
1292
|
+
this.getBarycenter();
|
|
1293
|
+
this.force('barycenter');
|
|
1294
|
+
},
|
|
1295
|
+
getBarycenter: function () {
|
|
1296
|
+
var systemMass = 0,
|
|
1297
|
+
cx = 0,
|
|
1298
|
+
cy = 0;
|
|
1299
|
+
this.nodes.forEach(function (node) {
|
|
1300
|
+
cx += node.plotX * node.mass;
|
|
1301
|
+
cy += node.plotY * node.mass;
|
|
1302
|
+
systemMass += node.mass;
|
|
1303
|
+
});
|
|
1304
|
+
this.barycenter = {
|
|
1305
|
+
x: cx,
|
|
1306
|
+
y: cy,
|
|
1307
|
+
xFactor: cx / systemMass,
|
|
1308
|
+
yFactor: cy / systemMass
|
|
1309
|
+
};
|
|
1310
|
+
return this.barycenter;
|
|
1311
|
+
},
|
|
1312
|
+
barnesHutApproximation: function (node, quadNode) {
|
|
1313
|
+
var layout = this,
|
|
1314
|
+
distanceXY = layout.getDistXY(node,
|
|
1315
|
+
quadNode),
|
|
1316
|
+
distanceR = layout.vectorLength(distanceXY),
|
|
1317
|
+
goDeeper,
|
|
1318
|
+
force;
|
|
1319
|
+
if (node !== quadNode && distanceR !== 0) {
|
|
1320
|
+
if (quadNode.isInternal) {
|
|
1321
|
+
// Internal node:
|
|
1322
|
+
if (quadNode.boxSize / distanceR <
|
|
1323
|
+
layout.options.theta &&
|
|
1324
|
+
distanceR !== 0) {
|
|
1325
|
+
// Treat as an external node:
|
|
1326
|
+
force = layout.repulsiveForce(distanceR, layout.k);
|
|
1327
|
+
layout.force('repulsive', node, force * quadNode.mass, distanceXY, distanceR);
|
|
1328
|
+
goDeeper = false;
|
|
1329
|
+
}
|
|
1330
|
+
else {
|
|
1331
|
+
// Go deeper:
|
|
1332
|
+
goDeeper = true;
|
|
1333
|
+
}
|
|
1334
|
+
}
|
|
1335
|
+
else {
|
|
1336
|
+
// External node, direct force:
|
|
1337
|
+
force = layout.repulsiveForce(distanceR, layout.k);
|
|
1338
|
+
layout.force('repulsive', node, force * quadNode.mass, distanceXY, distanceR);
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1341
|
+
return goDeeper;
|
|
1342
|
+
},
|
|
1343
|
+
repulsiveForces: function () {
|
|
1344
|
+
var layout = this;
|
|
1345
|
+
if (layout.approximation === 'barnes-hut') {
|
|
1346
|
+
layout.nodes.forEach(function (node) {
|
|
1347
|
+
layout.quadTree.visitNodeRecursive(null, function (quadNode) {
|
|
1348
|
+
return layout.barnesHutApproximation(node, quadNode);
|
|
1349
|
+
});
|
|
1350
|
+
});
|
|
1351
|
+
}
|
|
1352
|
+
else {
|
|
1353
|
+
layout.nodes.forEach(function (node) {
|
|
1354
|
+
layout.nodes.forEach(function (repNode) {
|
|
1355
|
+
var force,
|
|
1356
|
+
distanceR,
|
|
1357
|
+
distanceXY;
|
|
1358
|
+
if (
|
|
1359
|
+
// Node can not repulse itself:
|
|
1360
|
+
node !== repNode &&
|
|
1361
|
+
// Only close nodes affect each other:
|
|
1362
|
+
// layout.getDistR(node, repNode) < 2 * k &&
|
|
1363
|
+
// Not dragged:
|
|
1364
|
+
!node.fixedPosition) {
|
|
1365
|
+
distanceXY = layout.getDistXY(node, repNode);
|
|
1366
|
+
distanceR = layout.vectorLength(distanceXY);
|
|
1367
|
+
if (distanceR !== 0) {
|
|
1368
|
+
force = layout.repulsiveForce(distanceR, layout.k);
|
|
1369
|
+
layout.force('repulsive', node, force * repNode.mass, distanceXY, distanceR);
|
|
1370
|
+
}
|
|
1371
|
+
}
|
|
1372
|
+
});
|
|
1373
|
+
});
|
|
1374
|
+
}
|
|
1375
|
+
},
|
|
1376
|
+
attractiveForces: function () {
|
|
1377
|
+
var layout = this,
|
|
1378
|
+
distanceXY,
|
|
1379
|
+
distanceR,
|
|
1380
|
+
force;
|
|
1381
|
+
layout.links.forEach(function (link) {
|
|
1382
|
+
if (link.fromNode && link.toNode) {
|
|
1383
|
+
distanceXY = layout.getDistXY(link.fromNode, link.toNode);
|
|
1384
|
+
distanceR = layout.vectorLength(distanceXY);
|
|
1385
|
+
if (distanceR !== 0) {
|
|
1386
|
+
force = layout.attractiveForce(distanceR, layout.k);
|
|
1387
|
+
layout.force('attractive', link, force, distanceXY, distanceR);
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
});
|
|
1391
|
+
},
|
|
1392
|
+
applyLimits: function () {
|
|
1393
|
+
var layout = this,
|
|
1394
|
+
nodes = layout.nodes;
|
|
1395
|
+
nodes.forEach(function (node) {
|
|
1396
|
+
if (node.fixedPosition) {
|
|
1397
|
+
return;
|
|
1398
|
+
}
|
|
1399
|
+
layout.integration.integrate(layout, node);
|
|
1400
|
+
layout.applyLimitBox(node, layout.box);
|
|
1401
|
+
// Reset displacement:
|
|
1402
|
+
node.dispX = 0;
|
|
1403
|
+
node.dispY = 0;
|
|
1404
|
+
});
|
|
1405
|
+
},
|
|
1406
|
+
/**
|
|
1407
|
+
* External box that nodes should fall. When hitting an edge, node
|
|
1408
|
+
* should stop or bounce.
|
|
1409
|
+
* @private
|
|
1410
|
+
*/
|
|
1411
|
+
applyLimitBox: function (node, box) {
|
|
1412
|
+
var radius = node.radius;
|
|
1413
|
+
/*
|
|
1414
|
+
TO DO: Consider elastic collision instead of stopping.
|
|
1415
|
+
o' means end position when hitting plotting area edge:
|
|
1416
|
+
|
|
1417
|
+
- "inelastic":
|
|
1418
|
+
o
|
|
1419
|
+
\
|
|
1420
|
+
______
|
|
1421
|
+
| o'
|
|
1422
|
+
| \
|
|
1423
|
+
| \
|
|
1424
|
+
|
|
1425
|
+
- "elastic"/"bounced":
|
|
1426
|
+
o
|
|
1427
|
+
\
|
|
1428
|
+
______
|
|
1429
|
+
| ^
|
|
1430
|
+
| / \
|
|
1431
|
+
|o' \
|
|
1432
|
+
|
|
1433
|
+
Euler sample:
|
|
1434
|
+
if (plotX < 0) {
|
|
1435
|
+
plotX = 0;
|
|
1436
|
+
dispX *= -1;
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
if (plotX > box.width) {
|
|
1440
|
+
plotX = box.width;
|
|
1441
|
+
dispX *= -1;
|
|
1442
|
+
}
|
|
1443
|
+
|
|
1444
|
+
*/
|
|
1445
|
+
// Limit X-coordinates:
|
|
1446
|
+
node.plotX = clamp(node.plotX, box.left + radius, box.width - radius);
|
|
1447
|
+
// Limit Y-coordinates:
|
|
1448
|
+
node.plotY = clamp(node.plotY, box.top + radius, box.height - radius);
|
|
1449
|
+
},
|
|
1450
|
+
/**
|
|
1451
|
+
* From "A comparison of simulated annealing cooling strategies" by
|
|
1452
|
+
* Nourani and Andresen work.
|
|
1453
|
+
* @private
|
|
1454
|
+
*/
|
|
1455
|
+
coolDown: function (temperature, temperatureStep, currentStep) {
|
|
1456
|
+
// Logarithmic:
|
|
1457
|
+
/*
|
|
1458
|
+
return Math.sqrt(this.nodes.length) -
|
|
1459
|
+
Math.log(
|
|
1460
|
+
currentStep * layout.diffTemperature
|
|
1461
|
+
);
|
|
1462
|
+
*/
|
|
1463
|
+
// Exponential:
|
|
1464
|
+
/*
|
|
1465
|
+
let alpha = 0.1;
|
|
1466
|
+
layout.temperature = Math.sqrt(layout.nodes.length) *
|
|
1467
|
+
Math.pow(alpha, layout.diffTemperature);
|
|
1468
|
+
*/
|
|
1469
|
+
// Linear:
|
|
1470
|
+
return temperature - temperatureStep * currentStep;
|
|
1471
|
+
},
|
|
1472
|
+
isStable: function () {
|
|
1473
|
+
return Math.abs(this.systemTemperature -
|
|
1474
|
+
this.prevSystemTemperature) < 0.00001 || this.temperature <= 0;
|
|
1475
|
+
},
|
|
1476
|
+
getSystemTemperature: function () {
|
|
1477
|
+
return this.nodes.reduce(function (value, node) {
|
|
1478
|
+
return value + node.temperature;
|
|
1479
|
+
}, 0);
|
|
1480
|
+
},
|
|
1481
|
+
vectorLength: function (vector) {
|
|
1482
|
+
return Math.sqrt(vector.x * vector.x + vector.y * vector.y);
|
|
1483
|
+
},
|
|
1484
|
+
getDistR: function (nodeA, nodeB) {
|
|
1485
|
+
var distance = this.getDistXY(nodeA,
|
|
1486
|
+
nodeB);
|
|
1487
|
+
return this.vectorLength(distance);
|
|
1488
|
+
},
|
|
1489
|
+
getDistXY: function (nodeA, nodeB) {
|
|
1490
|
+
var xDist = nodeA.plotX - nodeB.plotX,
|
|
1491
|
+
yDist = nodeA.plotY - nodeB.plotY;
|
|
1492
|
+
return {
|
|
1493
|
+
x: xDist,
|
|
1494
|
+
y: yDist,
|
|
1495
|
+
absX: Math.abs(xDist),
|
|
1496
|
+
absY: Math.abs(yDist)
|
|
1497
|
+
};
|
|
1498
|
+
}
|
|
1499
|
+
});
|
|
1500
|
+
/* ************************************************************************** *
|
|
1501
|
+
* Multiple series support:
|
|
1502
|
+
* ************************************************************************** */
|
|
1503
|
+
// Clear previous layouts
|
|
1504
|
+
addEvent(Chart, 'predraw', function () {
|
|
1505
|
+
if (this.graphLayoutsLookup) {
|
|
1506
|
+
this.graphLayoutsLookup.forEach(function (layout) {
|
|
1507
|
+
layout.stop();
|
|
1508
|
+
});
|
|
1509
|
+
}
|
|
1510
|
+
});
|
|
1511
|
+
addEvent(Chart, 'render', function () {
|
|
1512
|
+
var systemsStable,
|
|
1513
|
+
afterRender = false;
|
|
1514
|
+
/**
|
|
1515
|
+
* @private
|
|
1516
|
+
*/
|
|
1517
|
+
function layoutStep(layout) {
|
|
1518
|
+
if (layout.maxIterations-- &&
|
|
1519
|
+
isFinite(layout.temperature) &&
|
|
1520
|
+
!layout.isStable() &&
|
|
1521
|
+
!layout.enableSimulation) {
|
|
1522
|
+
// Hook similar to build-in addEvent, but instead of
|
|
1523
|
+
// creating whole events logic, use just a function.
|
|
1524
|
+
// It's faster which is important for rAF code.
|
|
1525
|
+
// Used e.g. in packed-bubble series for bubble radius
|
|
1526
|
+
// calculations
|
|
1527
|
+
if (layout.beforeStep) {
|
|
1528
|
+
layout.beforeStep();
|
|
1529
|
+
}
|
|
1530
|
+
layout.step();
|
|
1531
|
+
systemsStable = false;
|
|
1532
|
+
afterRender = true;
|
|
1533
|
+
}
|
|
1534
|
+
}
|
|
1535
|
+
if (this.graphLayoutsLookup) {
|
|
1536
|
+
setAnimation(false, this);
|
|
1537
|
+
// Start simulation
|
|
1538
|
+
this.graphLayoutsLookup.forEach(function (layout) {
|
|
1539
|
+
layout.start();
|
|
1540
|
+
});
|
|
1541
|
+
// Just one sync step, to run different layouts similar to
|
|
1542
|
+
// async mode.
|
|
1543
|
+
while (!systemsStable) {
|
|
1544
|
+
systemsStable = true;
|
|
1545
|
+
this.graphLayoutsLookup.forEach(layoutStep);
|
|
1546
|
+
}
|
|
1547
|
+
if (afterRender) {
|
|
1548
|
+
this.series.forEach(function (s) {
|
|
1549
|
+
if (s && s.layout) {
|
|
1550
|
+
s.render();
|
|
1551
|
+
}
|
|
1552
|
+
});
|
|
1553
|
+
}
|
|
1554
|
+
}
|
|
1555
|
+
});
|
|
1556
|
+
// disable simulation before print if enabled
|
|
1557
|
+
addEvent(Chart, 'beforePrint', function () {
|
|
1558
|
+
if (this.graphLayoutsLookup) {
|
|
1559
|
+
this.graphLayoutsLookup.forEach(function (layout) {
|
|
1560
|
+
layout.updateSimulation(false);
|
|
1561
|
+
});
|
|
1562
|
+
this.redraw();
|
|
1563
|
+
}
|
|
1564
|
+
});
|
|
1565
|
+
// re-enable simulation after print
|
|
1566
|
+
addEvent(Chart, 'afterPrint', function () {
|
|
1567
|
+
if (this.graphLayoutsLookup) {
|
|
1568
|
+
this.graphLayoutsLookup.forEach(function (layout) {
|
|
1569
|
+
// return to default simulation
|
|
1570
|
+
layout.updateSimulation();
|
|
1571
|
+
});
|
|
1572
|
+
}
|
|
1573
|
+
this.redraw();
|
|
1574
|
+
});
|
|
1575
|
+
|
|
1576
|
+
});
|
|
1577
|
+
_registerModule(_modules, 'Series/Networkgraph/DraggableNodes.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (Chart, H, U) {
|
|
1578
|
+
/* *
|
|
1579
|
+
*
|
|
1580
|
+
* Networkgraph series
|
|
1581
|
+
*
|
|
1582
|
+
* (c) 2010-2021 Paweł Fus
|
|
1583
|
+
*
|
|
1584
|
+
* License: www.highcharts.com/license
|
|
1585
|
+
*
|
|
1586
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
1587
|
+
*
|
|
1588
|
+
* */
|
|
1589
|
+
var addEvent = U.addEvent;
|
|
1590
|
+
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
1591
|
+
H.dragNodesMixin = {
|
|
1592
|
+
/**
|
|
1593
|
+
* Mouse down action, initializing drag&drop mode.
|
|
1594
|
+
*
|
|
1595
|
+
* @private
|
|
1596
|
+
* @param {Highcharts.Point} point The point that event occured.
|
|
1597
|
+
* @param {Highcharts.PointerEventObject} event Browser event, before normalization.
|
|
1598
|
+
*/
|
|
1599
|
+
onMouseDown: function (point, event) {
|
|
1600
|
+
var normalizedEvent = this.chart.pointer.normalize(event);
|
|
1601
|
+
point.fixedPosition = {
|
|
1602
|
+
chartX: normalizedEvent.chartX,
|
|
1603
|
+
chartY: normalizedEvent.chartY,
|
|
1604
|
+
plotX: point.plotX,
|
|
1605
|
+
plotY: point.plotY
|
|
1606
|
+
};
|
|
1607
|
+
point.inDragMode = true;
|
|
1608
|
+
},
|
|
1609
|
+
/**
|
|
1610
|
+
* Mouse move action during drag&drop.
|
|
1611
|
+
*
|
|
1612
|
+
* @private
|
|
1613
|
+
*
|
|
1614
|
+
* @param {global.Event} event Browser event, before normalization.
|
|
1615
|
+
* @param {Highcharts.Point} point The point that event occured.
|
|
1616
|
+
*
|
|
1617
|
+
*/
|
|
1618
|
+
onMouseMove: function (point, event) {
|
|
1619
|
+
if (point.fixedPosition && point.inDragMode) {
|
|
1620
|
+
var series = this,
|
|
1621
|
+
chart = series.chart,
|
|
1622
|
+
normalizedEvent = chart.pointer.normalize(event),
|
|
1623
|
+
diffX = point.fixedPosition.chartX - normalizedEvent.chartX,
|
|
1624
|
+
diffY = point.fixedPosition.chartY - normalizedEvent.chartY,
|
|
1625
|
+
newPlotX = void 0,
|
|
1626
|
+
newPlotY = void 0,
|
|
1627
|
+
graphLayoutsLookup = chart.graphLayoutsLookup;
|
|
1628
|
+
// At least 5px to apply change (avoids simple click):
|
|
1629
|
+
if (Math.abs(diffX) > 5 || Math.abs(diffY) > 5) {
|
|
1630
|
+
newPlotX = point.fixedPosition.plotX - diffX;
|
|
1631
|
+
newPlotY = point.fixedPosition.plotY - diffY;
|
|
1632
|
+
if (chart.isInsidePlot(newPlotX, newPlotY)) {
|
|
1633
|
+
point.plotX = newPlotX;
|
|
1634
|
+
point.plotY = newPlotY;
|
|
1635
|
+
point.hasDragged = true;
|
|
1636
|
+
this.redrawHalo(point);
|
|
1637
|
+
graphLayoutsLookup.forEach(function (layout) {
|
|
1638
|
+
layout.restartSimulation();
|
|
1639
|
+
});
|
|
1640
|
+
}
|
|
1641
|
+
}
|
|
1642
|
+
}
|
|
1643
|
+
},
|
|
1644
|
+
/**
|
|
1645
|
+
* Mouse up action, finalizing drag&drop.
|
|
1646
|
+
*
|
|
1647
|
+
* @private
|
|
1648
|
+
* @param {Highcharts.Point} point The point that event occured.
|
|
1649
|
+
*/
|
|
1650
|
+
onMouseUp: function (point, event) {
|
|
1651
|
+
if (point.fixedPosition) {
|
|
1652
|
+
if (point.hasDragged) {
|
|
1653
|
+
if (this.layout.enableSimulation) {
|
|
1654
|
+
this.layout.start();
|
|
1655
|
+
}
|
|
1656
|
+
else {
|
|
1657
|
+
this.chart.redraw();
|
|
1658
|
+
}
|
|
1659
|
+
}
|
|
1660
|
+
point.inDragMode = point.hasDragged = false;
|
|
1661
|
+
if (!this.options.fixedDraggable) {
|
|
1662
|
+
delete point.fixedPosition;
|
|
1663
|
+
}
|
|
1664
|
+
}
|
|
1665
|
+
},
|
|
1666
|
+
// Draggable mode:
|
|
1667
|
+
/**
|
|
1668
|
+
* Redraw halo on mousemove during the drag&drop action.
|
|
1669
|
+
*
|
|
1670
|
+
* @private
|
|
1671
|
+
* @param {Highcharts.Point} point The point that should show halo.
|
|
1672
|
+
*/
|
|
1673
|
+
redrawHalo: function (point) {
|
|
1674
|
+
if (point && this.halo) {
|
|
1675
|
+
this.halo.attr({
|
|
1676
|
+
d: point.haloPath(this.options.states.hover.halo.size)
|
|
1677
|
+
});
|
|
1678
|
+
}
|
|
1679
|
+
}
|
|
1680
|
+
};
|
|
1681
|
+
/*
|
|
1682
|
+
* Draggable mode:
|
|
1683
|
+
*/
|
|
1684
|
+
addEvent(Chart, 'load', function () {
|
|
1685
|
+
var chart = this,
|
|
1686
|
+
mousedownUnbinder,
|
|
1687
|
+
mousemoveUnbinder,
|
|
1688
|
+
mouseupUnbinder;
|
|
1689
|
+
if (chart.container) {
|
|
1690
|
+
mousedownUnbinder = addEvent(chart.container, 'mousedown', function (event) {
|
|
1691
|
+
var point = chart.hoverPoint;
|
|
1692
|
+
if (point &&
|
|
1693
|
+
point.series &&
|
|
1694
|
+
point.series.hasDraggableNodes &&
|
|
1695
|
+
point.series.options.draggable) {
|
|
1696
|
+
point.series.onMouseDown(point, event);
|
|
1697
|
+
mousemoveUnbinder = addEvent(chart.container, 'mousemove', function (e) {
|
|
1698
|
+
return point &&
|
|
1699
|
+
point.series &&
|
|
1700
|
+
point.series.onMouseMove(point, e);
|
|
1701
|
+
});
|
|
1702
|
+
mouseupUnbinder = addEvent(chart.container.ownerDocument, 'mouseup', function (e) {
|
|
1703
|
+
mousemoveUnbinder();
|
|
1704
|
+
mouseupUnbinder();
|
|
1705
|
+
return point &&
|
|
1706
|
+
point.series &&
|
|
1707
|
+
point.series.onMouseUp(point, e);
|
|
1708
|
+
});
|
|
1709
|
+
}
|
|
1710
|
+
});
|
|
1711
|
+
}
|
|
1712
|
+
addEvent(chart, 'destroy', function () {
|
|
1713
|
+
mousedownUnbinder();
|
|
1714
|
+
});
|
|
1715
|
+
});
|
|
1716
|
+
|
|
1717
|
+
});
|
|
1718
|
+
_registerModule(_modules, 'Series/Networkgraph/Networkgraph.js', [_modules['Core/Globals.js'], _modules['Series/NodesComposition.js'], _modules['Core/Series/Point.js'], _modules['Core/Series/Series.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (H, NodesComposition, Point, Series, SeriesRegistry, U) {
|
|
1719
|
+
/* *
|
|
1720
|
+
*
|
|
1721
|
+
* Networkgraph series
|
|
1722
|
+
*
|
|
1723
|
+
* (c) 2010-2021 Paweł Fus
|
|
1724
|
+
*
|
|
1725
|
+
* License: www.highcharts.com/license
|
|
1726
|
+
*
|
|
1727
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
1728
|
+
*
|
|
1729
|
+
* */
|
|
1730
|
+
var __extends = (this && this.__extends) || (function () {
|
|
1731
|
+
var extendStatics = function (d,
|
|
1732
|
+
b) {
|
|
1733
|
+
extendStatics = Object.setPrototypeOf ||
|
|
1734
|
+
({ __proto__: [] } instanceof Array && function (d,
|
|
1735
|
+
b) { d.__proto__ = b; }) ||
|
|
1736
|
+
function (d,
|
|
1737
|
+
b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
1738
|
+
return extendStatics(d, b);
|
|
1739
|
+
};
|
|
1740
|
+
return function (d, b) {
|
|
1741
|
+
extendStatics(d, b);
|
|
1742
|
+
function __() { this.constructor = d; }
|
|
1743
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
1744
|
+
};
|
|
1745
|
+
})();
|
|
1746
|
+
var seriesTypes = SeriesRegistry.seriesTypes;
|
|
1747
|
+
var addEvent = U.addEvent,
|
|
1748
|
+
css = U.css,
|
|
1749
|
+
defined = U.defined,
|
|
1750
|
+
extend = U.extend,
|
|
1751
|
+
merge = U.merge,
|
|
1752
|
+
pick = U.pick;
|
|
1753
|
+
var dragNodesMixin = H.dragNodesMixin;
|
|
1754
|
+
/**
|
|
1755
|
+
* Formatter callback function.
|
|
1756
|
+
*
|
|
1757
|
+
* @callback Highcharts.SeriesNetworkgraphDataLabelsFormatterCallbackFunction
|
|
1758
|
+
*
|
|
1759
|
+
* @param {Highcharts.SeriesNetworkgraphDataLabelsFormatterContextObject|Highcharts.PointLabelObject} this
|
|
1760
|
+
* Data label context to format
|
|
1761
|
+
*
|
|
1762
|
+
* @return {string}
|
|
1763
|
+
* Formatted data label text
|
|
1764
|
+
*/
|
|
1765
|
+
/**
|
|
1766
|
+
* Context for the formatter function.
|
|
1767
|
+
*
|
|
1768
|
+
* @interface Highcharts.SeriesNetworkgraphDataLabelsFormatterContextObject
|
|
1769
|
+
* @extends Highcharts.PointLabelObject
|
|
1770
|
+
* @since 7.0.0
|
|
1771
|
+
*/ /**
|
|
1772
|
+
* The color of the node.
|
|
1773
|
+
* @name Highcharts.SeriesNetworkgraphDataLabelsFormatterContextObject#color
|
|
1774
|
+
* @type {Highcharts.ColorString}
|
|
1775
|
+
* @since 7.0.0
|
|
1776
|
+
*/ /**
|
|
1777
|
+
* The point (node) object. The node name, if defined, is available through
|
|
1778
|
+
* `this.point.name`. Arrays: `this.point.linksFrom` and `this.point.linksTo`
|
|
1779
|
+
* contains all nodes connected to this point.
|
|
1780
|
+
* @name Highcharts.SeriesNetworkgraphDataLabelsFormatterContextObject#point
|
|
1781
|
+
* @type {Highcharts.Point}
|
|
1782
|
+
* @since 7.0.0
|
|
1783
|
+
*/ /**
|
|
1784
|
+
* The ID of the node.
|
|
1785
|
+
* @name Highcharts.SeriesNetworkgraphDataLabelsFormatterContextObject#key
|
|
1786
|
+
* @type {string}
|
|
1787
|
+
* @since 7.0.0
|
|
1788
|
+
*/
|
|
1789
|
+
''; // detach doclets above
|
|
1790
|
+
/* *
|
|
1791
|
+
*
|
|
1792
|
+
* Class
|
|
1793
|
+
*
|
|
1794
|
+
* */
|
|
1795
|
+
/**
|
|
1796
|
+
* @private
|
|
1797
|
+
* @class
|
|
1798
|
+
* @name Highcharts.seriesTypes.networkgraph
|
|
1799
|
+
*
|
|
1800
|
+
* @extends Highcharts.Series
|
|
1801
|
+
*/
|
|
1802
|
+
var NetworkgraphSeries = /** @class */ (function (_super) {
|
|
1803
|
+
__extends(NetworkgraphSeries, _super);
|
|
1804
|
+
function NetworkgraphSeries() {
|
|
1805
|
+
/* *
|
|
1806
|
+
*
|
|
1807
|
+
* Static Properties
|
|
1808
|
+
*
|
|
1809
|
+
* */
|
|
1810
|
+
var _this = _super !== null && _super.apply(this,
|
|
1811
|
+
arguments) || this;
|
|
1812
|
+
/* *
|
|
1813
|
+
*
|
|
1814
|
+
* Properties
|
|
1815
|
+
*
|
|
1816
|
+
* */
|
|
1817
|
+
_this.data = void 0;
|
|
1818
|
+
_this.nodes = void 0;
|
|
1819
|
+
_this.options = void 0;
|
|
1820
|
+
_this.points = void 0;
|
|
1821
|
+
return _this;
|
|
1822
|
+
}
|
|
1823
|
+
/**
|
|
1824
|
+
* A networkgraph is a type of relationship chart, where connnections
|
|
1825
|
+
* (links) attracts nodes (points) and other nodes repulse each other.
|
|
1826
|
+
*
|
|
1827
|
+
* @extends plotOptions.line
|
|
1828
|
+
* @product highcharts
|
|
1829
|
+
* @sample highcharts/demo/network-graph/
|
|
1830
|
+
* Networkgraph
|
|
1831
|
+
* @since 7.0.0
|
|
1832
|
+
* @excluding boostThreshold, animation, animationLimit, connectEnds,
|
|
1833
|
+
* colorAxis, colorKey, connectNulls, cropThreshold, dragDrop,
|
|
1834
|
+
* getExtremesFromAll, label, linecap, negativeColor,
|
|
1835
|
+
* pointInterval, pointIntervalUnit, pointPlacement,
|
|
1836
|
+
* pointStart, softThreshold, stack, stacking, step,
|
|
1837
|
+
* threshold, xAxis, yAxis, zoneAxis, dataSorting,
|
|
1838
|
+
* boostBlending
|
|
1839
|
+
* @requires modules/networkgraph
|
|
1840
|
+
* @optionparent plotOptions.networkgraph
|
|
1841
|
+
*/
|
|
1842
|
+
NetworkgraphSeries.defaultOptions = merge(Series.defaultOptions, {
|
|
1843
|
+
stickyTracking: false,
|
|
1844
|
+
/**
|
|
1845
|
+
* @ignore-option
|
|
1846
|
+
* @private
|
|
1847
|
+
*/
|
|
1848
|
+
inactiveOtherPoints: true,
|
|
1849
|
+
marker: {
|
|
1850
|
+
enabled: true,
|
|
1851
|
+
states: {
|
|
1852
|
+
/**
|
|
1853
|
+
* The opposite state of a hover for a single point node.
|
|
1854
|
+
* Applied to all not connected nodes to the hovered one.
|
|
1855
|
+
*
|
|
1856
|
+
* @declare Highcharts.PointStatesInactiveOptionsObject
|
|
1857
|
+
*/
|
|
1858
|
+
inactive: {
|
|
1859
|
+
/**
|
|
1860
|
+
* Opacity of inactive markers.
|
|
1861
|
+
*/
|
|
1862
|
+
opacity: 0.3,
|
|
1863
|
+
/**
|
|
1864
|
+
* Animation when not hovering over the node.
|
|
1865
|
+
*
|
|
1866
|
+
* @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
|
|
1867
|
+
*/
|
|
1868
|
+
animation: {
|
|
1869
|
+
/** @internal */
|
|
1870
|
+
duration: 50
|
|
1871
|
+
}
|
|
1872
|
+
}
|
|
1873
|
+
}
|
|
1874
|
+
},
|
|
1875
|
+
states: {
|
|
1876
|
+
/**
|
|
1877
|
+
* The opposite state of a hover for a single point link. Applied
|
|
1878
|
+
* to all links that are not comming from the hovered node.
|
|
1879
|
+
*
|
|
1880
|
+
* @declare Highcharts.SeriesStatesInactiveOptionsObject
|
|
1881
|
+
*/
|
|
1882
|
+
inactive: {
|
|
1883
|
+
/**
|
|
1884
|
+
* Opacity of inactive links.
|
|
1885
|
+
*/
|
|
1886
|
+
linkOpacity: 0.3,
|
|
1887
|
+
/**
|
|
1888
|
+
* Animation when not hovering over the node.
|
|
1889
|
+
*
|
|
1890
|
+
* @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
|
|
1891
|
+
*/
|
|
1892
|
+
animation: {
|
|
1893
|
+
/** @internal */
|
|
1894
|
+
duration: 50
|
|
1895
|
+
}
|
|
1896
|
+
}
|
|
1897
|
+
},
|
|
1898
|
+
/**
|
|
1899
|
+
* @sample highcharts/series-networkgraph/link-datalabels
|
|
1900
|
+
* Networkgraph with labels on links
|
|
1901
|
+
* @sample highcharts/series-networkgraph/textpath-datalabels
|
|
1902
|
+
* Networkgraph with labels around nodes
|
|
1903
|
+
* @sample highcharts/series-networkgraph/link-datalabels
|
|
1904
|
+
* Data labels moved into the nodes
|
|
1905
|
+
* @sample highcharts/series-networkgraph/link-datalabels
|
|
1906
|
+
* Data labels moved under the links
|
|
1907
|
+
*
|
|
1908
|
+
* @declare Highcharts.SeriesNetworkgraphDataLabelsOptionsObject
|
|
1909
|
+
*
|
|
1910
|
+
* @private
|
|
1911
|
+
*/
|
|
1912
|
+
dataLabels: {
|
|
1913
|
+
/**
|
|
1914
|
+
* The
|
|
1915
|
+
* [format string](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)
|
|
1916
|
+
* specifying what to show for _node_ in the networkgraph. In v7.0
|
|
1917
|
+
* defaults to `{key}`, since v7.1 defaults to `undefined` and
|
|
1918
|
+
* `formatter` is used instead.
|
|
1919
|
+
*
|
|
1920
|
+
* @type {string}
|
|
1921
|
+
* @since 7.0.0
|
|
1922
|
+
* @apioption plotOptions.networkgraph.dataLabels.format
|
|
1923
|
+
*/
|
|
1924
|
+
// eslint-disable-next-line valid-jsdoc
|
|
1925
|
+
/**
|
|
1926
|
+
* Callback JavaScript function to format the data label for a node.
|
|
1927
|
+
* Note that if a `format` is defined, the format takes precedence
|
|
1928
|
+
* and the formatter is ignored.
|
|
1929
|
+
*
|
|
1930
|
+
* @type {Highcharts.SeriesNetworkgraphDataLabelsFormatterCallbackFunction}
|
|
1931
|
+
* @since 7.0.0
|
|
1932
|
+
*/
|
|
1933
|
+
formatter: function () {
|
|
1934
|
+
return this.key;
|
|
1935
|
+
},
|
|
1936
|
+
/**
|
|
1937
|
+
* The
|
|
1938
|
+
* [format string](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)
|
|
1939
|
+
* specifying what to show for _links_ in the networkgraph.
|
|
1940
|
+
* (Default: `undefined`)
|
|
1941
|
+
*
|
|
1942
|
+
* @type {string}
|
|
1943
|
+
* @since 7.1.0
|
|
1944
|
+
* @apioption plotOptions.networkgraph.dataLabels.linkFormat
|
|
1945
|
+
*/
|
|
1946
|
+
// eslint-disable-next-line valid-jsdoc
|
|
1947
|
+
/**
|
|
1948
|
+
* Callback to format data labels for _links_ in the sankey diagram.
|
|
1949
|
+
* The `linkFormat` option takes precedence over the
|
|
1950
|
+
* `linkFormatter`.
|
|
1951
|
+
*
|
|
1952
|
+
* @type {Highcharts.SeriesNetworkgraphDataLabelsFormatterCallbackFunction}
|
|
1953
|
+
* @since 7.1.0
|
|
1954
|
+
*/
|
|
1955
|
+
linkFormatter: function () {
|
|
1956
|
+
return (this.point.fromNode.name +
|
|
1957
|
+
'<br>' +
|
|
1958
|
+
this.point.toNode.name);
|
|
1959
|
+
},
|
|
1960
|
+
/**
|
|
1961
|
+
* Options for a _link_ label text which should follow link
|
|
1962
|
+
* connection. Border and background are disabled for a label that
|
|
1963
|
+
* follows a path.
|
|
1964
|
+
*
|
|
1965
|
+
* **Note:** Only SVG-based renderer supports this option. Setting
|
|
1966
|
+
* `useHTML` to true will disable this option.
|
|
1967
|
+
*
|
|
1968
|
+
* @extends plotOptions.networkgraph.dataLabels.textPath
|
|
1969
|
+
* @since 7.1.0
|
|
1970
|
+
*/
|
|
1971
|
+
linkTextPath: {
|
|
1972
|
+
enabled: true
|
|
1973
|
+
},
|
|
1974
|
+
textPath: {
|
|
1975
|
+
enabled: false
|
|
1976
|
+
},
|
|
1977
|
+
style: {
|
|
1978
|
+
transition: 'opacity 2000ms'
|
|
1979
|
+
}
|
|
1980
|
+
},
|
|
1981
|
+
/**
|
|
1982
|
+
* Link style options
|
|
1983
|
+
* @private
|
|
1984
|
+
*/
|
|
1985
|
+
link: {
|
|
1986
|
+
/**
|
|
1987
|
+
* A name for the dash style to use for links.
|
|
1988
|
+
*
|
|
1989
|
+
* @type {string}
|
|
1990
|
+
* @apioption plotOptions.networkgraph.link.dashStyle
|
|
1991
|
+
*/
|
|
1992
|
+
/**
|
|
1993
|
+
* Color of the link between two nodes.
|
|
1994
|
+
*/
|
|
1995
|
+
color: 'rgba(100, 100, 100, 0.5)',
|
|
1996
|
+
/**
|
|
1997
|
+
* Width (px) of the link between two nodes.
|
|
1998
|
+
*/
|
|
1999
|
+
width: 1
|
|
2000
|
+
},
|
|
2001
|
+
/**
|
|
2002
|
+
* Flag to determine if nodes are draggable or not.
|
|
2003
|
+
* @private
|
|
2004
|
+
*/
|
|
2005
|
+
draggable: true,
|
|
2006
|
+
layoutAlgorithm: {
|
|
2007
|
+
/**
|
|
2008
|
+
* Repulsive force applied on a node. Passed are two arguments:
|
|
2009
|
+
* - `d` - which is current distance between two nodes
|
|
2010
|
+
* - `k` - which is desired distance between two nodes
|
|
2011
|
+
*
|
|
2012
|
+
* In `verlet` integration, defaults to:
|
|
2013
|
+
* `function (d, k) { return (k - d) / d * (k > d ? 1 : 0) }`
|
|
2014
|
+
*
|
|
2015
|
+
* @see [layoutAlgorithm.integration](#series.networkgraph.layoutAlgorithm.integration)
|
|
2016
|
+
*
|
|
2017
|
+
* @sample highcharts/series-networkgraph/forces/
|
|
2018
|
+
* Custom forces with Euler integration
|
|
2019
|
+
* @sample highcharts/series-networkgraph/cuboids/
|
|
2020
|
+
* Custom forces with Verlet integration
|
|
2021
|
+
*
|
|
2022
|
+
* @type {Function}
|
|
2023
|
+
* @default function (d, k) { return k * k / d; }
|
|
2024
|
+
* @apioption plotOptions.networkgraph.layoutAlgorithm.repulsiveForce
|
|
2025
|
+
*/
|
|
2026
|
+
/**
|
|
2027
|
+
* Attraction force applied on a node which is conected to another
|
|
2028
|
+
* node by a link. Passed are two arguments:
|
|
2029
|
+
* - `d` - which is current distance between two nodes
|
|
2030
|
+
* - `k` - which is desired distance between two nodes
|
|
2031
|
+
*
|
|
2032
|
+
* In `verlet` integration, defaults to:
|
|
2033
|
+
* `function (d, k) { return (k - d) / d; }`
|
|
2034
|
+
*
|
|
2035
|
+
* @see [layoutAlgorithm.integration](#series.networkgraph.layoutAlgorithm.integration)
|
|
2036
|
+
*
|
|
2037
|
+
* @sample highcharts/series-networkgraph/forces/
|
|
2038
|
+
* Custom forces with Euler integration
|
|
2039
|
+
* @sample highcharts/series-networkgraph/cuboids/
|
|
2040
|
+
* Custom forces with Verlet integration
|
|
2041
|
+
*
|
|
2042
|
+
* @type {Function}
|
|
2043
|
+
* @default function (d, k) { return k * k / d; }
|
|
2044
|
+
* @apioption plotOptions.networkgraph.layoutAlgorithm.attractiveForce
|
|
2045
|
+
*/
|
|
2046
|
+
/**
|
|
2047
|
+
* Ideal length (px) of the link between two nodes. When not
|
|
2048
|
+
* defined, length is calculated as:
|
|
2049
|
+
* `Math.pow(availableWidth * availableHeight / nodesLength, 0.4);`
|
|
2050
|
+
*
|
|
2051
|
+
* Note: Because of the algorithm specification, length of each link
|
|
2052
|
+
* might be not exactly as specified.
|
|
2053
|
+
*
|
|
2054
|
+
* @sample highcharts/series-networkgraph/styled-links/
|
|
2055
|
+
* Numerical values
|
|
2056
|
+
*
|
|
2057
|
+
* @type {number}
|
|
2058
|
+
* @apioption plotOptions.networkgraph.layoutAlgorithm.linkLength
|
|
2059
|
+
*/
|
|
2060
|
+
/**
|
|
2061
|
+
* Initial layout algorithm for positioning nodes. Can be one of
|
|
2062
|
+
* built-in options ("circle", "random") or a function where
|
|
2063
|
+
* positions should be set on each node (`this.nodes`) as
|
|
2064
|
+
* `node.plotX` and `node.plotY`
|
|
2065
|
+
*
|
|
2066
|
+
* @sample highcharts/series-networkgraph/initial-positions/
|
|
2067
|
+
* Initial positions with callback
|
|
2068
|
+
*
|
|
2069
|
+
* @type {"circle"|"random"|Function}
|
|
2070
|
+
*/
|
|
2071
|
+
initialPositions: 'circle',
|
|
2072
|
+
/**
|
|
2073
|
+
* When `initialPositions` are set to 'circle',
|
|
2074
|
+
* `initialPositionRadius` is a distance from the center of circle,
|
|
2075
|
+
* in which nodes are created.
|
|
2076
|
+
*
|
|
2077
|
+
* @type {number}
|
|
2078
|
+
* @default 1
|
|
2079
|
+
* @since 7.1.0
|
|
2080
|
+
*/
|
|
2081
|
+
initialPositionRadius: 1,
|
|
2082
|
+
/**
|
|
2083
|
+
* Experimental. Enables live simulation of the algorithm
|
|
2084
|
+
* implementation. All nodes are animated as the forces applies on
|
|
2085
|
+
* them.
|
|
2086
|
+
*
|
|
2087
|
+
* @sample highcharts/demo/network-graph/
|
|
2088
|
+
* Live simulation enabled
|
|
2089
|
+
*/
|
|
2090
|
+
enableSimulation: false,
|
|
2091
|
+
/**
|
|
2092
|
+
* Barnes-Hut approximation only.
|
|
2093
|
+
* Deteremines when distance between cell and node is small enough
|
|
2094
|
+
* to caculate forces. Value of `theta` is compared directly with
|
|
2095
|
+
* quotient `s / d`, where `s` is the size of the cell, and `d` is
|
|
2096
|
+
* distance between center of cell's mass and currently compared
|
|
2097
|
+
* node.
|
|
2098
|
+
*
|
|
2099
|
+
* @see [layoutAlgorithm.approximation](#series.networkgraph.layoutAlgorithm.approximation)
|
|
2100
|
+
*
|
|
2101
|
+
* @since 7.1.0
|
|
2102
|
+
*/
|
|
2103
|
+
theta: 0.5,
|
|
2104
|
+
/**
|
|
2105
|
+
* Verlet integration only.
|
|
2106
|
+
* Max speed that node can get in one iteration. In terms of
|
|
2107
|
+
* simulation, it's a maximum translation (in pixels) that node can
|
|
2108
|
+
* move (in both, x and y, dimensions). While `friction` is applied
|
|
2109
|
+
* on all nodes, max speed is applied only for nodes that move very
|
|
2110
|
+
* fast, for example small or disconnected ones.
|
|
2111
|
+
*
|
|
2112
|
+
* @see [layoutAlgorithm.integration](#series.networkgraph.layoutAlgorithm.integration)
|
|
2113
|
+
* @see [layoutAlgorithm.friction](#series.networkgraph.layoutAlgorithm.friction)
|
|
2114
|
+
*
|
|
2115
|
+
* @since 7.1.0
|
|
2116
|
+
*/
|
|
2117
|
+
maxSpeed: 10,
|
|
2118
|
+
/**
|
|
2119
|
+
* Approximation used to calculate repulsive forces affecting nodes.
|
|
2120
|
+
* By default, when calculateing net force, nodes are compared
|
|
2121
|
+
* against each other, which gives O(N^2) complexity. Using
|
|
2122
|
+
* Barnes-Hut approximation, we decrease this to O(N log N), but the
|
|
2123
|
+
* resulting graph will have different layout. Barnes-Hut
|
|
2124
|
+
* approximation divides space into rectangles via quad tree, where
|
|
2125
|
+
* forces exerted on nodes are calculated directly for nearby cells,
|
|
2126
|
+
* and for all others, cells are treated as a separate node with
|
|
2127
|
+
* center of mass.
|
|
2128
|
+
*
|
|
2129
|
+
* @see [layoutAlgorithm.theta](#series.networkgraph.layoutAlgorithm.theta)
|
|
2130
|
+
*
|
|
2131
|
+
* @sample highcharts/series-networkgraph/barnes-hut-approximation/
|
|
2132
|
+
* A graph with Barnes-Hut approximation
|
|
2133
|
+
*
|
|
2134
|
+
* @type {string}
|
|
2135
|
+
* @validvalue ["barnes-hut", "none"]
|
|
2136
|
+
* @since 7.1.0
|
|
2137
|
+
*/
|
|
2138
|
+
approximation: 'none',
|
|
2139
|
+
/**
|
|
2140
|
+
* Type of the algorithm used when positioning nodes.
|
|
2141
|
+
*
|
|
2142
|
+
* @type {string}
|
|
2143
|
+
* @validvalue ["reingold-fruchterman"]
|
|
2144
|
+
*/
|
|
2145
|
+
type: 'reingold-fruchterman',
|
|
2146
|
+
/**
|
|
2147
|
+
* Integration type. Available options are `'euler'` and `'verlet'`.
|
|
2148
|
+
* Integration determines how forces are applied on particles. In
|
|
2149
|
+
* Euler integration, force is applied direct as
|
|
2150
|
+
* `newPosition += velocity;`.
|
|
2151
|
+
* In Verlet integration, new position is based on a previous
|
|
2152
|
+
* posittion without velocity:
|
|
2153
|
+
* `newPosition += previousPosition - newPosition`.
|
|
2154
|
+
*
|
|
2155
|
+
* Note that different integrations give different results as forces
|
|
2156
|
+
* are different.
|
|
2157
|
+
*
|
|
2158
|
+
* In Highcharts v7.0.x only `'euler'` integration was supported.
|
|
2159
|
+
*
|
|
2160
|
+
* @sample highcharts/series-networkgraph/integration-comparison/
|
|
2161
|
+
* Comparison of Verlet and Euler integrations
|
|
2162
|
+
*
|
|
2163
|
+
* @type {string}
|
|
2164
|
+
* @validvalue ["euler", "verlet"]
|
|
2165
|
+
* @since 7.1.0
|
|
2166
|
+
*/
|
|
2167
|
+
integration: 'euler',
|
|
2168
|
+
/**
|
|
2169
|
+
* Max number of iterations before algorithm will stop. In general,
|
|
2170
|
+
* algorithm should find positions sooner, but when rendering huge
|
|
2171
|
+
* number of nodes, it is recommended to increase this value as
|
|
2172
|
+
* finding perfect graph positions can require more time.
|
|
2173
|
+
*/
|
|
2174
|
+
maxIterations: 1000,
|
|
2175
|
+
/**
|
|
2176
|
+
* Gravitational const used in the barycenter force of the
|
|
2177
|
+
* algorithm.
|
|
2178
|
+
*
|
|
2179
|
+
* @sample highcharts/series-networkgraph/forces/
|
|
2180
|
+
* Custom forces with Euler integration
|
|
2181
|
+
*/
|
|
2182
|
+
gravitationalConstant: 0.0625,
|
|
2183
|
+
/**
|
|
2184
|
+
* Friction applied on forces to prevent nodes rushing to fast to
|
|
2185
|
+
* the desired positions.
|
|
2186
|
+
*/
|
|
2187
|
+
friction: -0.981
|
|
2188
|
+
},
|
|
2189
|
+
showInLegend: false
|
|
2190
|
+
});
|
|
2191
|
+
return NetworkgraphSeries;
|
|
2192
|
+
}(Series));
|
|
2193
|
+
extend(NetworkgraphSeries.prototype, {
|
|
2194
|
+
/**
|
|
2195
|
+
* Array of internal forces. Each force should be later defined in
|
|
2196
|
+
* integrations.js.
|
|
2197
|
+
* @private
|
|
2198
|
+
*/
|
|
2199
|
+
forces: ['barycenter', 'repulsive', 'attractive'],
|
|
2200
|
+
hasDraggableNodes: true,
|
|
2201
|
+
drawGraph: void 0,
|
|
2202
|
+
isCartesian: false,
|
|
2203
|
+
requireSorting: false,
|
|
2204
|
+
directTouch: true,
|
|
2205
|
+
noSharedTooltip: true,
|
|
2206
|
+
pointArrayMap: ['from', 'to'],
|
|
2207
|
+
trackerGroups: ['group', 'markerGroup', 'dataLabelsGroup'],
|
|
2208
|
+
drawTracker: seriesTypes.column.prototype.drawTracker,
|
|
2209
|
+
// Animation is run in `series.simulation`.
|
|
2210
|
+
animate: void 0,
|
|
2211
|
+
buildKDTree: H.noop,
|
|
2212
|
+
/**
|
|
2213
|
+
* Create a single node that holds information on incoming and outgoing
|
|
2214
|
+
* links.
|
|
2215
|
+
* @private
|
|
2216
|
+
*/
|
|
2217
|
+
createNode: NodesComposition.createNode,
|
|
2218
|
+
destroy: function () {
|
|
2219
|
+
if (this.layout) {
|
|
2220
|
+
this.layout.removeElementFromCollection(this, this.layout.series);
|
|
2221
|
+
}
|
|
2222
|
+
NodesComposition.destroy.call(this);
|
|
2223
|
+
},
|
|
2224
|
+
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
2225
|
+
/**
|
|
2226
|
+
* Extend init with base event, which should stop simulation during
|
|
2227
|
+
* update. After data is updated, `chart.render` resumes the simulation.
|
|
2228
|
+
* @private
|
|
2229
|
+
*/
|
|
2230
|
+
init: function () {
|
|
2231
|
+
var _this = this;
|
|
2232
|
+
Series.prototype.init.apply(this, arguments);
|
|
2233
|
+
addEvent(this, 'updatedData', function () {
|
|
2234
|
+
if (_this.layout) {
|
|
2235
|
+
_this.layout.stop();
|
|
2236
|
+
}
|
|
2237
|
+
});
|
|
2238
|
+
addEvent(this, 'afterUpdate', function () {
|
|
2239
|
+
_this.nodes.forEach(function (node) {
|
|
2240
|
+
if (node && node.series) {
|
|
2241
|
+
node.resolveColor();
|
|
2242
|
+
}
|
|
2243
|
+
});
|
|
2244
|
+
});
|
|
2245
|
+
return this;
|
|
2246
|
+
},
|
|
2247
|
+
/**
|
|
2248
|
+
* Extend generatePoints by adding the nodes, which are Point objects
|
|
2249
|
+
* but pushed to the this.nodes array.
|
|
2250
|
+
* @private
|
|
2251
|
+
*/
|
|
2252
|
+
generatePoints: function () {
|
|
2253
|
+
var node,
|
|
2254
|
+
i;
|
|
2255
|
+
NodesComposition.generatePoints.apply(this, arguments);
|
|
2256
|
+
// In networkgraph, it's fine to define stanalone nodes, create
|
|
2257
|
+
// them:
|
|
2258
|
+
if (this.options.nodes) {
|
|
2259
|
+
this.options.nodes.forEach(function (nodeOptions) {
|
|
2260
|
+
if (!this.nodeLookup[nodeOptions.id]) {
|
|
2261
|
+
this.nodeLookup[nodeOptions.id] =
|
|
2262
|
+
this.createNode(nodeOptions.id);
|
|
2263
|
+
}
|
|
2264
|
+
}, this);
|
|
2265
|
+
}
|
|
2266
|
+
for (i = this.nodes.length - 1; i >= 0; i--) {
|
|
2267
|
+
node = this.nodes[i];
|
|
2268
|
+
node.degree = node.getDegree();
|
|
2269
|
+
node.radius = pick(node.marker && node.marker.radius, this.options.marker && this.options.marker.radius, 0);
|
|
2270
|
+
// If node exists, but it's not available in nodeLookup,
|
|
2271
|
+
// then it's leftover from previous runs (e.g. setData)
|
|
2272
|
+
if (!this.nodeLookup[node.id]) {
|
|
2273
|
+
node.remove();
|
|
2274
|
+
}
|
|
2275
|
+
}
|
|
2276
|
+
this.data.forEach(function (link) {
|
|
2277
|
+
link.formatPrefix = 'link';
|
|
2278
|
+
});
|
|
2279
|
+
this.indexateNodes();
|
|
2280
|
+
},
|
|
2281
|
+
/**
|
|
2282
|
+
* In networkgraph, series.points refers to links,
|
|
2283
|
+
* but series.nodes refers to actual points.
|
|
2284
|
+
* @private
|
|
2285
|
+
*/
|
|
2286
|
+
getPointsCollection: function () {
|
|
2287
|
+
return this.nodes || [];
|
|
2288
|
+
},
|
|
2289
|
+
/**
|
|
2290
|
+
* Set index for each node. Required for proper `node.update()`.
|
|
2291
|
+
* Note that links are indexated out of the box in `generatePoints()`.
|
|
2292
|
+
*
|
|
2293
|
+
* @private
|
|
2294
|
+
*/
|
|
2295
|
+
indexateNodes: function () {
|
|
2296
|
+
this.nodes.forEach(function (node, index) {
|
|
2297
|
+
node.index = index;
|
|
2298
|
+
});
|
|
2299
|
+
},
|
|
2300
|
+
/**
|
|
2301
|
+
* Extend the default marker attribs by using a non-rounded X position,
|
|
2302
|
+
* otherwise the nodes will jump from pixel to pixel which looks a bit
|
|
2303
|
+
* jaggy when approaching equilibrium.
|
|
2304
|
+
* @private
|
|
2305
|
+
*/
|
|
2306
|
+
markerAttribs: function (point, state) {
|
|
2307
|
+
var attribs = Series.prototype.markerAttribs.call(this,
|
|
2308
|
+
point,
|
|
2309
|
+
state);
|
|
2310
|
+
// series.render() is called before initial positions are set:
|
|
2311
|
+
if (!defined(point.plotY)) {
|
|
2312
|
+
attribs.y = 0;
|
|
2313
|
+
}
|
|
2314
|
+
attribs.x = (point.plotX || 0) - (attribs.width || 0) / 2;
|
|
2315
|
+
return attribs;
|
|
2316
|
+
},
|
|
2317
|
+
/**
|
|
2318
|
+
* Run pre-translation and register nodes&links to the deffered layout.
|
|
2319
|
+
* @private
|
|
2320
|
+
*/
|
|
2321
|
+
translate: function () {
|
|
2322
|
+
if (!this.processedXData) {
|
|
2323
|
+
this.processData();
|
|
2324
|
+
}
|
|
2325
|
+
this.generatePoints();
|
|
2326
|
+
this.deferLayout();
|
|
2327
|
+
this.nodes.forEach(function (node) {
|
|
2328
|
+
// Draw the links from this node
|
|
2329
|
+
node.isInside = true;
|
|
2330
|
+
node.linksFrom.forEach(function (point) {
|
|
2331
|
+
point.shapeType = 'path';
|
|
2332
|
+
// Pass test in drawPoints
|
|
2333
|
+
point.y = 1;
|
|
2334
|
+
});
|
|
2335
|
+
});
|
|
2336
|
+
},
|
|
2337
|
+
/**
|
|
2338
|
+
* Defer the layout.
|
|
2339
|
+
* Each series first registers all nodes and links, then layout
|
|
2340
|
+
* calculates all nodes positions and calls `series.render()` in every
|
|
2341
|
+
* simulation step.
|
|
2342
|
+
*
|
|
2343
|
+
* Note:
|
|
2344
|
+
* Animation is done through `requestAnimationFrame` directly, without
|
|
2345
|
+
* `Highcharts.animate()` use.
|
|
2346
|
+
* @private
|
|
2347
|
+
*/
|
|
2348
|
+
deferLayout: function () {
|
|
2349
|
+
var layoutOptions = this.options.layoutAlgorithm,
|
|
2350
|
+
graphLayoutsStorage = this.chart.graphLayoutsStorage,
|
|
2351
|
+
graphLayoutsLookup = this.chart.graphLayoutsLookup,
|
|
2352
|
+
chartOptions = this.chart.options.chart,
|
|
2353
|
+
layout;
|
|
2354
|
+
if (!this.visible) {
|
|
2355
|
+
return;
|
|
2356
|
+
}
|
|
2357
|
+
if (!graphLayoutsStorage) {
|
|
2358
|
+
this.chart.graphLayoutsStorage = graphLayoutsStorage = {};
|
|
2359
|
+
this.chart.graphLayoutsLookup = graphLayoutsLookup = [];
|
|
2360
|
+
}
|
|
2361
|
+
layout = graphLayoutsStorage[layoutOptions.type];
|
|
2362
|
+
if (!layout) {
|
|
2363
|
+
layoutOptions.enableSimulation =
|
|
2364
|
+
!defined(chartOptions.forExport) ?
|
|
2365
|
+
layoutOptions.enableSimulation :
|
|
2366
|
+
!chartOptions.forExport;
|
|
2367
|
+
graphLayoutsStorage[layoutOptions.type] = layout =
|
|
2368
|
+
new H.layouts[layoutOptions.type]();
|
|
2369
|
+
layout.init(layoutOptions);
|
|
2370
|
+
graphLayoutsLookup.splice(layout.index, 0, layout);
|
|
2371
|
+
}
|
|
2372
|
+
this.layout = layout;
|
|
2373
|
+
layout.setArea(0, 0, this.chart.plotWidth, this.chart.plotHeight);
|
|
2374
|
+
layout.addElementsToCollection([this], layout.series);
|
|
2375
|
+
layout.addElementsToCollection(this.nodes, layout.nodes);
|
|
2376
|
+
layout.addElementsToCollection(this.points, layout.links);
|
|
2377
|
+
},
|
|
2378
|
+
/**
|
|
2379
|
+
* Extend the render function to also render this.nodes together with
|
|
2380
|
+
* the points.
|
|
2381
|
+
* @private
|
|
2382
|
+
*/
|
|
2383
|
+
render: function () {
|
|
2384
|
+
var series = this,
|
|
2385
|
+
points = series.points,
|
|
2386
|
+
hoverPoint = series.chart.hoverPoint,
|
|
2387
|
+
dataLabels = [];
|
|
2388
|
+
// Render markers:
|
|
2389
|
+
series.points = series.nodes;
|
|
2390
|
+
seriesTypes.line.prototype.render.call(this);
|
|
2391
|
+
series.points = points;
|
|
2392
|
+
points.forEach(function (point) {
|
|
2393
|
+
if (point.fromNode && point.toNode) {
|
|
2394
|
+
point.renderLink();
|
|
2395
|
+
point.redrawLink();
|
|
2396
|
+
}
|
|
2397
|
+
});
|
|
2398
|
+
if (hoverPoint && hoverPoint.series === series) {
|
|
2399
|
+
series.redrawHalo(hoverPoint);
|
|
2400
|
+
}
|
|
2401
|
+
if (series.chart.hasRendered &&
|
|
2402
|
+
!series.options.dataLabels.allowOverlap) {
|
|
2403
|
+
series.nodes.concat(series.points).forEach(function (node) {
|
|
2404
|
+
if (node.dataLabel) {
|
|
2405
|
+
dataLabels.push(node.dataLabel);
|
|
2406
|
+
}
|
|
2407
|
+
});
|
|
2408
|
+
series.chart.hideOverlappingLabels(dataLabels);
|
|
2409
|
+
}
|
|
2410
|
+
},
|
|
2411
|
+
// Networkgraph has two separate collecions of nodes and lines, render
|
|
2412
|
+
// dataLabels for both sets:
|
|
2413
|
+
drawDataLabels: function () {
|
|
2414
|
+
var textPath = this.options.dataLabels.textPath;
|
|
2415
|
+
// Render node labels:
|
|
2416
|
+
Series.prototype.drawDataLabels.apply(this, arguments);
|
|
2417
|
+
// Render link labels:
|
|
2418
|
+
this.points = this.data;
|
|
2419
|
+
this.options.dataLabels.textPath =
|
|
2420
|
+
this.options.dataLabels.linkTextPath;
|
|
2421
|
+
Series.prototype.drawDataLabels.apply(this, arguments);
|
|
2422
|
+
// Restore nodes
|
|
2423
|
+
this.points = this.nodes;
|
|
2424
|
+
this.options.dataLabels.textPath = textPath;
|
|
2425
|
+
},
|
|
2426
|
+
// Return the presentational attributes.
|
|
2427
|
+
pointAttribs: function (point, state) {
|
|
2428
|
+
// By default, only `selected` state is passed on
|
|
2429
|
+
var pointState = state || point && point.state || 'normal',
|
|
2430
|
+
attribs = Series.prototype.pointAttribs.call(this,
|
|
2431
|
+
point,
|
|
2432
|
+
pointState),
|
|
2433
|
+
stateOptions = this.options.states[pointState];
|
|
2434
|
+
if (point && !point.isNode) {
|
|
2435
|
+
attribs = point.getLinkAttributes();
|
|
2436
|
+
// For link, get prefixed names:
|
|
2437
|
+
if (stateOptions) {
|
|
2438
|
+
attribs = {
|
|
2439
|
+
// TO DO: API?
|
|
2440
|
+
stroke: stateOptions.linkColor || attribs.stroke,
|
|
2441
|
+
dashstyle: (stateOptions.linkDashStyle || attribs.dashstyle),
|
|
2442
|
+
opacity: pick(stateOptions.linkOpacity, attribs.opacity),
|
|
2443
|
+
'stroke-width': stateOptions.linkColor ||
|
|
2444
|
+
attribs['stroke-width']
|
|
2445
|
+
};
|
|
2446
|
+
}
|
|
2447
|
+
}
|
|
2448
|
+
return attribs;
|
|
2449
|
+
},
|
|
2450
|
+
// Draggable mode:
|
|
2451
|
+
/**
|
|
2452
|
+
* Redraw halo on mousemove during the drag&drop action.
|
|
2453
|
+
* @private
|
|
2454
|
+
* @param {Highcharts.Point} point The point that should show halo.
|
|
2455
|
+
*/
|
|
2456
|
+
redrawHalo: dragNodesMixin.redrawHalo,
|
|
2457
|
+
/**
|
|
2458
|
+
* Mouse down action, initializing drag&drop mode.
|
|
2459
|
+
* @private
|
|
2460
|
+
* @param {global.Event} event Browser event, before normalization.
|
|
2461
|
+
* @param {Highcharts.Point} point The point that event occured.
|
|
2462
|
+
*/
|
|
2463
|
+
onMouseDown: dragNodesMixin.onMouseDown,
|
|
2464
|
+
/**
|
|
2465
|
+
* Mouse move action during drag&drop.
|
|
2466
|
+
* @private
|
|
2467
|
+
* @param {global.Event} event Browser event, before normalization.
|
|
2468
|
+
* @param {Highcharts.Point} point The point that event occured.
|
|
2469
|
+
*/
|
|
2470
|
+
onMouseMove: dragNodesMixin.onMouseMove,
|
|
2471
|
+
/**
|
|
2472
|
+
* Mouse up action, finalizing drag&drop.
|
|
2473
|
+
* @private
|
|
2474
|
+
* @param {Highcharts.Point} point The point that event occured.
|
|
2475
|
+
*/
|
|
2476
|
+
onMouseUp: dragNodesMixin.onMouseUp,
|
|
2477
|
+
/**
|
|
2478
|
+
* When state should be passed down to all points, concat nodes and
|
|
2479
|
+
* links and apply this state to all of them.
|
|
2480
|
+
* @private
|
|
2481
|
+
*/
|
|
2482
|
+
setState: function (state, inherit) {
|
|
2483
|
+
if (inherit) {
|
|
2484
|
+
this.points = this.nodes.concat(this.data);
|
|
2485
|
+
Series.prototype.setState.apply(this, arguments);
|
|
2486
|
+
this.points = this.data;
|
|
2487
|
+
}
|
|
2488
|
+
else {
|
|
2489
|
+
Series.prototype.setState.apply(this, arguments);
|
|
2490
|
+
}
|
|
2491
|
+
// If simulation is done, re-render points with new states:
|
|
2492
|
+
if (!this.layout.simulation && !state) {
|
|
2493
|
+
this.render();
|
|
2494
|
+
}
|
|
2495
|
+
}
|
|
2496
|
+
});
|
|
2497
|
+
/* *
|
|
2498
|
+
*
|
|
2499
|
+
* Class
|
|
2500
|
+
*
|
|
2501
|
+
* */
|
|
2502
|
+
var NetworkgraphPoint = /** @class */ (function (_super) {
|
|
2503
|
+
__extends(NetworkgraphPoint, _super);
|
|
2504
|
+
function NetworkgraphPoint() {
|
|
2505
|
+
/* *
|
|
2506
|
+
*
|
|
2507
|
+
* Properties
|
|
2508
|
+
*
|
|
2509
|
+
* */
|
|
2510
|
+
var _this = _super !== null && _super.apply(this,
|
|
2511
|
+
arguments) || this;
|
|
2512
|
+
_this.degree = void 0;
|
|
2513
|
+
_this.linksFrom = void 0;
|
|
2514
|
+
_this.linksTo = void 0;
|
|
2515
|
+
_this.options = void 0;
|
|
2516
|
+
_this.radius = void 0;
|
|
2517
|
+
_this.series = void 0;
|
|
2518
|
+
_this.toNode = void 0;
|
|
2519
|
+
return _this;
|
|
2520
|
+
}
|
|
2521
|
+
return NetworkgraphPoint;
|
|
2522
|
+
}(Series.prototype.pointClass));
|
|
2523
|
+
extend(NetworkgraphPoint.prototype, {
|
|
2524
|
+
setState: NodesComposition.setNodeState,
|
|
2525
|
+
/**
|
|
2526
|
+
* Basic `point.init()` and additional styles applied when
|
|
2527
|
+
* `series.draggable` is enabled.
|
|
2528
|
+
* @private
|
|
2529
|
+
*/
|
|
2530
|
+
init: function () {
|
|
2531
|
+
Point.prototype.init.apply(this, arguments);
|
|
2532
|
+
if (this.series.options.draggable &&
|
|
2533
|
+
!this.series.chart.styledMode) {
|
|
2534
|
+
addEvent(this, 'mouseOver', function () {
|
|
2535
|
+
css(this.series.chart.container, { cursor: 'move' });
|
|
2536
|
+
});
|
|
2537
|
+
addEvent(this, 'mouseOut', function () {
|
|
2538
|
+
css(this.series.chart.container, { cursor: 'default' });
|
|
2539
|
+
});
|
|
2540
|
+
}
|
|
2541
|
+
return this;
|
|
2542
|
+
},
|
|
2543
|
+
/**
|
|
2544
|
+
* Return degree of a node. If node has no connections, it still has
|
|
2545
|
+
* deg=1.
|
|
2546
|
+
* @private
|
|
2547
|
+
*/
|
|
2548
|
+
getDegree: function () {
|
|
2549
|
+
var deg = this.isNode ?
|
|
2550
|
+
this.linksFrom.length + this.linksTo.length :
|
|
2551
|
+
0;
|
|
2552
|
+
return deg === 0 ? 1 : deg;
|
|
2553
|
+
},
|
|
2554
|
+
// Links:
|
|
2555
|
+
/**
|
|
2556
|
+
* Get presentational attributes of link connecting two nodes.
|
|
2557
|
+
* @private
|
|
2558
|
+
*/
|
|
2559
|
+
getLinkAttributes: function () {
|
|
2560
|
+
var linkOptions = this.series.options.link,
|
|
2561
|
+
pointOptions = this.options;
|
|
2562
|
+
return {
|
|
2563
|
+
'stroke-width': pick(pointOptions.width, linkOptions.width),
|
|
2564
|
+
stroke: (pointOptions.color || linkOptions.color),
|
|
2565
|
+
dashstyle: (pointOptions.dashStyle || linkOptions.dashStyle),
|
|
2566
|
+
opacity: pick(pointOptions.opacity, linkOptions.opacity, 1)
|
|
2567
|
+
};
|
|
2568
|
+
},
|
|
2569
|
+
/**
|
|
2570
|
+
* Render link and add it to the DOM.
|
|
2571
|
+
* @private
|
|
2572
|
+
*/
|
|
2573
|
+
renderLink: function () {
|
|
2574
|
+
var attribs;
|
|
2575
|
+
if (!this.graphic) {
|
|
2576
|
+
this.graphic = this.series.chart.renderer
|
|
2577
|
+
.path(this.getLinkPath())
|
|
2578
|
+
.addClass(this.getClassName(), true)
|
|
2579
|
+
.add(this.series.group);
|
|
2580
|
+
if (!this.series.chart.styledMode) {
|
|
2581
|
+
attribs = this.series.pointAttribs(this);
|
|
2582
|
+
this.graphic.attr(attribs);
|
|
2583
|
+
(this.dataLabels || []).forEach(function (label) {
|
|
2584
|
+
if (label) {
|
|
2585
|
+
label.attr({
|
|
2586
|
+
opacity: attribs.opacity
|
|
2587
|
+
});
|
|
2588
|
+
}
|
|
2589
|
+
});
|
|
2590
|
+
}
|
|
2591
|
+
}
|
|
2592
|
+
},
|
|
2593
|
+
/**
|
|
2594
|
+
* Redraw link's path.
|
|
2595
|
+
* @private
|
|
2596
|
+
*/
|
|
2597
|
+
redrawLink: function () {
|
|
2598
|
+
var path = this.getLinkPath(),
|
|
2599
|
+
attribs;
|
|
2600
|
+
if (this.graphic) {
|
|
2601
|
+
this.shapeArgs = {
|
|
2602
|
+
d: path
|
|
2603
|
+
};
|
|
2604
|
+
if (!this.series.chart.styledMode) {
|
|
2605
|
+
attribs = this.series.pointAttribs(this);
|
|
2606
|
+
this.graphic.attr(attribs);
|
|
2607
|
+
(this.dataLabels || []).forEach(function (label) {
|
|
2608
|
+
if (label) {
|
|
2609
|
+
label.attr({
|
|
2610
|
+
opacity: attribs.opacity
|
|
2611
|
+
});
|
|
2612
|
+
}
|
|
2613
|
+
});
|
|
2614
|
+
}
|
|
2615
|
+
this.graphic.animate(this.shapeArgs);
|
|
2616
|
+
// Required for dataLabels
|
|
2617
|
+
var start = path[0];
|
|
2618
|
+
var end = path[1];
|
|
2619
|
+
if (start[0] === 'M' && end[0] === 'L') {
|
|
2620
|
+
this.plotX = (start[1] + end[1]) / 2;
|
|
2621
|
+
this.plotY = (start[2] + end[2]) / 2;
|
|
2622
|
+
}
|
|
2623
|
+
}
|
|
2624
|
+
},
|
|
2625
|
+
/**
|
|
2626
|
+
* Get mass fraction applied on two nodes connected to each other. By
|
|
2627
|
+
* default, when mass is equal to `1`, mass fraction for both nodes
|
|
2628
|
+
* equal to 0.5.
|
|
2629
|
+
* @private
|
|
2630
|
+
* @return {Highcharts.Dictionary<number>}
|
|
2631
|
+
* For example `{ fromNode: 0.5, toNode: 0.5 }`
|
|
2632
|
+
*/
|
|
2633
|
+
getMass: function () {
|
|
2634
|
+
var m1 = this.fromNode.mass,
|
|
2635
|
+
m2 = this.toNode.mass,
|
|
2636
|
+
sum = m1 + m2;
|
|
2637
|
+
return {
|
|
2638
|
+
fromNode: 1 - m1 / sum,
|
|
2639
|
+
toNode: 1 - m2 / sum
|
|
2640
|
+
};
|
|
2641
|
+
},
|
|
2642
|
+
/**
|
|
2643
|
+
* Get link path connecting two nodes.
|
|
2644
|
+
* @private
|
|
2645
|
+
* @return {Array<Highcharts.SVGPathArray>}
|
|
2646
|
+
* Path: `['M', x, y, 'L', x, y]`
|
|
2647
|
+
*/
|
|
2648
|
+
getLinkPath: function () {
|
|
2649
|
+
var left = this.fromNode,
|
|
2650
|
+
right = this.toNode;
|
|
2651
|
+
// Start always from left to the right node, to prevent rendering
|
|
2652
|
+
// labels upside down
|
|
2653
|
+
if (left.plotX > right.plotX) {
|
|
2654
|
+
left = this.toNode;
|
|
2655
|
+
right = this.fromNode;
|
|
2656
|
+
}
|
|
2657
|
+
return [
|
|
2658
|
+
['M', left.plotX || 0, left.plotY || 0],
|
|
2659
|
+
['L', right.plotX || 0, right.plotY || 0]
|
|
2660
|
+
];
|
|
2661
|
+
/*
|
|
2662
|
+
IDEA: different link shapes?
|
|
2663
|
+
return [
|
|
2664
|
+
'M',
|
|
2665
|
+
from.plotX,
|
|
2666
|
+
from.plotY,
|
|
2667
|
+
'Q',
|
|
2668
|
+
(to.plotX + from.plotX) / 2,
|
|
2669
|
+
(to.plotY + from.plotY) / 2 + 15,
|
|
2670
|
+
to.plotX,
|
|
2671
|
+
to.plotY
|
|
2672
|
+
];*/
|
|
2673
|
+
},
|
|
2674
|
+
isValid: function () {
|
|
2675
|
+
return !this.isNode || defined(this.id);
|
|
2676
|
+
},
|
|
2677
|
+
/**
|
|
2678
|
+
* Common method for removing points and nodes in networkgraph. To
|
|
2679
|
+
* remove `link`, use `series.data[index].remove()`. To remove `node`
|
|
2680
|
+
* with all connections, use `series.nodes[index].remove()`.
|
|
2681
|
+
* @private
|
|
2682
|
+
* @param {boolean} [redraw=true]
|
|
2683
|
+
* Whether to redraw the chart or wait for an explicit call. When
|
|
2684
|
+
* doing more operations on the chart, for example running
|
|
2685
|
+
* `point.remove()` in a loop, it is best practice to set
|
|
2686
|
+
* `redraw` to false and call `chart.redraw()` after.
|
|
2687
|
+
* @param {boolean|Partial<Highcharts.AnimationOptionsObject>} [animation=false]
|
|
2688
|
+
* Whether to apply animation, and optionally animation
|
|
2689
|
+
* configuration.
|
|
2690
|
+
*/
|
|
2691
|
+
remove: function (redraw, animation) {
|
|
2692
|
+
var point = this,
|
|
2693
|
+
series = point.series,
|
|
2694
|
+
nodesOptions = series.options.nodes || [],
|
|
2695
|
+
index,
|
|
2696
|
+
i = nodesOptions.length;
|
|
2697
|
+
// For nodes, remove all connected links:
|
|
2698
|
+
if (point.isNode) {
|
|
2699
|
+
// Temporary disable series.points array, because
|
|
2700
|
+
// Series.removePoint() modifies it
|
|
2701
|
+
series.points = [];
|
|
2702
|
+
// Remove link from all nodes collections:
|
|
2703
|
+
[]
|
|
2704
|
+
.concat(point.linksFrom)
|
|
2705
|
+
.concat(point.linksTo)
|
|
2706
|
+
.forEach(function (linkFromTo) {
|
|
2707
|
+
// Incoming links
|
|
2708
|
+
index = linkFromTo.fromNode.linksFrom.indexOf(linkFromTo);
|
|
2709
|
+
if (index > -1) {
|
|
2710
|
+
linkFromTo.fromNode.linksFrom.splice(index, 1);
|
|
2711
|
+
}
|
|
2712
|
+
// Outcoming links
|
|
2713
|
+
index = linkFromTo.toNode.linksTo.indexOf(linkFromTo);
|
|
2714
|
+
if (index > -1) {
|
|
2715
|
+
linkFromTo.toNode.linksTo.splice(index, 1);
|
|
2716
|
+
}
|
|
2717
|
+
// Remove link from data/points collections
|
|
2718
|
+
Series.prototype.removePoint.call(series, series.data.indexOf(linkFromTo), false, false);
|
|
2719
|
+
});
|
|
2720
|
+
// Restore points array, after links are removed
|
|
2721
|
+
series.points = series.data.slice();
|
|
2722
|
+
// Proceed with removing node. It's similar to
|
|
2723
|
+
// Series.removePoint() method, but doesn't modify other arrays
|
|
2724
|
+
series.nodes.splice(series.nodes.indexOf(point), 1);
|
|
2725
|
+
// Remove node options from config
|
|
2726
|
+
while (i--) {
|
|
2727
|
+
if (nodesOptions[i].id === point.options.id) {
|
|
2728
|
+
series.options.nodes.splice(i, 1);
|
|
2729
|
+
break;
|
|
2730
|
+
}
|
|
2731
|
+
}
|
|
2732
|
+
if (point) {
|
|
2733
|
+
point.destroy();
|
|
2734
|
+
}
|
|
2735
|
+
// Run redraw if requested
|
|
2736
|
+
series.isDirty = true;
|
|
2737
|
+
series.isDirtyData = true;
|
|
2738
|
+
if (redraw) {
|
|
2739
|
+
series.chart.redraw(redraw);
|
|
2740
|
+
}
|
|
2741
|
+
}
|
|
2742
|
+
else {
|
|
2743
|
+
series.removePoint(series.data.indexOf(point), redraw, animation);
|
|
2744
|
+
}
|
|
2745
|
+
},
|
|
2746
|
+
/**
|
|
2747
|
+
* Destroy point. If it's a node, remove all links coming out of this
|
|
2748
|
+
* node. Then remove point from the layout.
|
|
2749
|
+
* @private
|
|
2750
|
+
*/
|
|
2751
|
+
destroy: function () {
|
|
2752
|
+
if (this.isNode) {
|
|
2753
|
+
this.linksFrom.concat(this.linksTo).forEach(function (link) {
|
|
2754
|
+
// Removing multiple nodes at the same time
|
|
2755
|
+
// will try to remove link between nodes twice
|
|
2756
|
+
if (link.destroyElements) {
|
|
2757
|
+
link.destroyElements();
|
|
2758
|
+
}
|
|
2759
|
+
});
|
|
2760
|
+
}
|
|
2761
|
+
this.series.layout.removeElementFromCollection(this, this.series.layout[this.isNode ? 'nodes' : 'links']);
|
|
2762
|
+
return Point.prototype.destroy.apply(this, arguments);
|
|
2763
|
+
}
|
|
2764
|
+
});
|
|
2765
|
+
NetworkgraphSeries.prototype.pointClass = NetworkgraphPoint;
|
|
2766
|
+
SeriesRegistry.registerSeriesType('networkgraph', NetworkgraphSeries);
|
|
2767
|
+
/* *
|
|
2768
|
+
*
|
|
2769
|
+
* Default Export
|
|
2770
|
+
*
|
|
2771
|
+
* */
|
|
2772
|
+
/* *
|
|
2773
|
+
*
|
|
2774
|
+
* API Options
|
|
2775
|
+
*
|
|
2776
|
+
* */
|
|
2777
|
+
/**
|
|
2778
|
+
* A `networkgraph` series. If the [type](#series.networkgraph.type) option is
|
|
2779
|
+
* not specified, it is inherited from [chart.type](#chart.type).
|
|
2780
|
+
*
|
|
2781
|
+
* @extends series,plotOptions.networkgraph
|
|
2782
|
+
* @excluding boostThreshold, animation, animationLimit, connectEnds,
|
|
2783
|
+
* connectNulls, cropThreshold, dragDrop, getExtremesFromAll, label,
|
|
2784
|
+
* linecap, negativeColor, pointInterval, pointIntervalUnit,
|
|
2785
|
+
* pointPlacement, pointStart, softThreshold, stack, stacking,
|
|
2786
|
+
* step, threshold, xAxis, yAxis, zoneAxis, dataSorting,
|
|
2787
|
+
* boostBlending
|
|
2788
|
+
* @product highcharts
|
|
2789
|
+
* @requires modules/networkgraph
|
|
2790
|
+
* @apioption series.networkgraph
|
|
2791
|
+
*/
|
|
2792
|
+
/**
|
|
2793
|
+
* An array of data points for the series. For the `networkgraph` series type,
|
|
2794
|
+
* points can be given in the following way:
|
|
2795
|
+
*
|
|
2796
|
+
* An array of objects with named values. The following snippet shows only a
|
|
2797
|
+
* few settings, see the complete options set below. If the total number of
|
|
2798
|
+
* data points exceeds the series'
|
|
2799
|
+
* [turboThreshold](#series.area.turboThreshold), this option is not available.
|
|
2800
|
+
*
|
|
2801
|
+
* ```js
|
|
2802
|
+
* data: [{
|
|
2803
|
+
* from: 'Category1',
|
|
2804
|
+
* to: 'Category2'
|
|
2805
|
+
* }, {
|
|
2806
|
+
* from: 'Category1',
|
|
2807
|
+
* to: 'Category3'
|
|
2808
|
+
* }]
|
|
2809
|
+
* ```
|
|
2810
|
+
*
|
|
2811
|
+
* @type {Array<Object|Array|number>}
|
|
2812
|
+
* @extends series.line.data
|
|
2813
|
+
* @excluding drilldown,marker,x,y,draDrop
|
|
2814
|
+
* @sample {highcharts} highcharts/chart/reflow-true/
|
|
2815
|
+
* Numerical values
|
|
2816
|
+
* @sample {highcharts} highcharts/series/data-array-of-arrays/
|
|
2817
|
+
* Arrays of numeric x and y
|
|
2818
|
+
* @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
|
|
2819
|
+
* Arrays of datetime x and y
|
|
2820
|
+
* @sample {highcharts} highcharts/series/data-array-of-name-value/
|
|
2821
|
+
* Arrays of point.name and y
|
|
2822
|
+
* @sample {highcharts} highcharts/series/data-array-of-objects/
|
|
2823
|
+
* Config objects
|
|
2824
|
+
* @product highcharts
|
|
2825
|
+
* @apioption series.networkgraph.data
|
|
2826
|
+
*/
|
|
2827
|
+
/**
|
|
2828
|
+
* @type {Highcharts.SeriesNetworkgraphDataLabelsOptionsObject|Array<Highcharts.SeriesNetworkgraphDataLabelsOptionsObject>}
|
|
2829
|
+
* @product highcharts
|
|
2830
|
+
* @apioption series.networkgraph.data.dataLabels
|
|
2831
|
+
*/
|
|
2832
|
+
/**
|
|
2833
|
+
* The node that the link runs from.
|
|
2834
|
+
*
|
|
2835
|
+
* @type {string}
|
|
2836
|
+
* @product highcharts
|
|
2837
|
+
* @apioption series.networkgraph.data.from
|
|
2838
|
+
*/
|
|
2839
|
+
/**
|
|
2840
|
+
* The node that the link runs to.
|
|
2841
|
+
*
|
|
2842
|
+
* @type {string}
|
|
2843
|
+
* @product highcharts
|
|
2844
|
+
* @apioption series.networkgraph.data.to
|
|
2845
|
+
*/
|
|
2846
|
+
/**
|
|
2847
|
+
* A collection of options for the individual nodes. The nodes in a
|
|
2848
|
+
* networkgraph diagram are auto-generated instances of `Highcharts.Point`,
|
|
2849
|
+
* but options can be applied here and linked by the `id`.
|
|
2850
|
+
*
|
|
2851
|
+
* @sample highcharts/series-networkgraph/data-options/
|
|
2852
|
+
* Networkgraph diagram with node options
|
|
2853
|
+
*
|
|
2854
|
+
* @type {Array<*>}
|
|
2855
|
+
* @product highcharts
|
|
2856
|
+
* @apioption series.networkgraph.nodes
|
|
2857
|
+
*/
|
|
2858
|
+
/**
|
|
2859
|
+
* The id of the auto-generated node, refering to the `from` or `to` setting of
|
|
2860
|
+
* the link.
|
|
2861
|
+
*
|
|
2862
|
+
* @type {string}
|
|
2863
|
+
* @product highcharts
|
|
2864
|
+
* @apioption series.networkgraph.nodes.id
|
|
2865
|
+
*/
|
|
2866
|
+
/**
|
|
2867
|
+
* The color of the auto generated node.
|
|
2868
|
+
*
|
|
2869
|
+
* @type {Highcharts.ColorString}
|
|
2870
|
+
* @product highcharts
|
|
2871
|
+
* @apioption series.networkgraph.nodes.color
|
|
2872
|
+
*/
|
|
2873
|
+
/**
|
|
2874
|
+
* The color index of the auto generated node, especially for use in styled
|
|
2875
|
+
* mode.
|
|
2876
|
+
*
|
|
2877
|
+
* @type {number}
|
|
2878
|
+
* @product highcharts
|
|
2879
|
+
* @apioption series.networkgraph.nodes.colorIndex
|
|
2880
|
+
*/
|
|
2881
|
+
/**
|
|
2882
|
+
* The name to display for the node in data labels and tooltips. Use this when
|
|
2883
|
+
* the name is different from the `id`. Where the id must be unique for each
|
|
2884
|
+
* node, this is not necessary for the name.
|
|
2885
|
+
*
|
|
2886
|
+
* @sample highcharts/series-networkgraph/data-options/
|
|
2887
|
+
* Networkgraph diagram with node options
|
|
2888
|
+
*
|
|
2889
|
+
* @type {string}
|
|
2890
|
+
* @product highcharts
|
|
2891
|
+
* @apioption series.networkgraph.nodes.name
|
|
2892
|
+
*/
|
|
2893
|
+
/**
|
|
2894
|
+
* Mass of the node. By default, each node has mass equal to it's marker radius
|
|
2895
|
+
* . Mass is used to determine how two connected nodes should affect
|
|
2896
|
+
* each other:
|
|
2897
|
+
*
|
|
2898
|
+
* Attractive force is multiplied by the ratio of two connected
|
|
2899
|
+
* nodes; if a big node has weights twice as the small one, then the small one
|
|
2900
|
+
* will move towards the big one twice faster than the big one to the small one
|
|
2901
|
+
* .
|
|
2902
|
+
*
|
|
2903
|
+
* @sample highcharts/series-networkgraph/ragdoll/
|
|
2904
|
+
* Mass determined by marker.radius
|
|
2905
|
+
*
|
|
2906
|
+
* @type {number}
|
|
2907
|
+
* @product highcharts
|
|
2908
|
+
* @apioption series.networkgraph.nodes.mass
|
|
2909
|
+
*/
|
|
2910
|
+
/**
|
|
2911
|
+
* Individual data label for each node. The options are the same as
|
|
2912
|
+
* the ones for [series.networkgraph.dataLabels](#series.networkgraph.dataLabels).
|
|
2913
|
+
*
|
|
2914
|
+
* @type {Highcharts.SeriesNetworkgraphDataLabelsOptionsObject|Array<Highcharts.SeriesNetworkgraphDataLabelsOptionsObject>}
|
|
2915
|
+
*
|
|
2916
|
+
* @apioption series.networkgraph.nodes.dataLabels
|
|
2917
|
+
*/
|
|
2918
|
+
''; // adds doclets above to transpiled file
|
|
2919
|
+
|
|
2920
|
+
return NetworkgraphSeries;
|
|
2921
|
+
});
|
|
2922
|
+
_registerModule(_modules, 'masters/modules/networkgraph.src.js', [], function () {
|
|
2923
|
+
|
|
2924
|
+
|
|
2925
|
+
});
|
|
2926
|
+
}));
|