/**
|
*
|
* (c) 2010-2018 Paweł Fus
|
*
|
* License: www.highcharts.com/license
|
*
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
*
|
* */
|
'use strict';
|
|
Object.defineProperty(exports, "__esModule", {
|
value: true
|
});
|
var chartNavigation = {
|
/**
|
* Initializes `chart.navigation` object which delegates `update()` methods
|
* to all other common classes (used in exporting and navigationBindings).
|
*
|
* @private
|
* @param {Highcharts.Chart} chart
|
* The chart instance.
|
* @return {void}
|
*/
|
initUpdate: function initUpdate(chart) {
|
if (!chart.navigation) {
|
chart.navigation = {
|
updates: [],
|
update: function update(options, redraw) {
|
this.updates.forEach(function (updateConfig) {
|
updateConfig.update.call(updateConfig.context, options, redraw);
|
});
|
}
|
};
|
}
|
},
|
/**
|
* Registers an `update()` method in the `chart.navigation` object.
|
*
|
* @private
|
* @param {Highcharts.ChartNavigationUpdateFunction} update
|
* The `update()` method that will be called in `chart.update()`.
|
* @param {Highcharts.Chart} chart
|
* The chart instance. `update()` will use that as a context
|
* (`this`).
|
* @return {void}
|
*/
|
addUpdate: function addUpdate(update, chart) {
|
if (!chart.navigation) {
|
this.initUpdate(chart);
|
}
|
chart.navigation.updates.push({
|
update: update,
|
context: chart
|
});
|
}
|
};
|
exports.default = chartNavigation;
|