UNPKG

highcharts

Version:
64 lines (63 loc) 1.64 kB
/* * * * (c) 2010-2026 Highsoft AS * Author: Torstein Hønsi * * A commercial license may be required depending on use. * See www.highcharts.com/license * * * */ 'use strict'; import D from '../../Core/Defaults.js'; const { defaultOptions } = D; import H from '../../Core/Globals.js'; const { composed } = H; import NavigatorAxisAdditions from '../../Core/Axis/NavigatorAxisComposition.js'; import NavigatorDefaults from './NavigatorDefaults.js'; import NavigatorSymbols from './NavigatorSymbols.js'; import RendererRegistry from '../../Core/Renderer/RendererRegistry.js'; const { getRendererType } = RendererRegistry; import StockUtilities from '../../Stock/Utilities/StockUtilities.js'; const { setFixedRange } = StockUtilities; import { addEvent, extend, pushUnique } from '../../Shared/Utilities.js'; /* * * * Variables * * */ /* * * * Functions * * */ /** * @private */ function compose(ChartClass, AxisClass, SeriesClass) { NavigatorAxisAdditions.compose(AxisClass); if (pushUnique(composed, 'Navigator')) { ChartClass.prototype.setFixedRange = setFixedRange; extend(getRendererType().prototype.symbols, NavigatorSymbols); extend(defaultOptions, { navigator: NavigatorDefaults }); addEvent(SeriesClass, 'afterUpdate', onSeriesAfterUpdate); } } /** * Handle updating series * @private */ function onSeriesAfterUpdate() { if (this.chart.navigator && !this.options.isInternal) { this.chart.navigator.setBaseSeries(null, false); } } /* * * * Default Export * * */ const NavigatorComposition = { compose }; export default NavigatorComposition;