Sha256: 48275fdde3049e2ecca1cfc509d439a1dbe0d1ef1d21f611baa8674792bee910

Contents?: true

Size: 1.52 KB

Versions: 1

Compression:

Stored size: 1.52 KB

Contents

/**
 * (c) 2010-2018 Paweł Fus
 *
 * License: www.highcharts.com/license
 */

'use strict';

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.
     */
    initUpdate: function (chart) {
        if (!chart.navigation) {
            chart.navigation = {
                updates: [],
                update: function (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 {function} 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`).
     */
    addUpdate: function (update, chart) {
        if (!chart.navigation) {
            this.initUpdate(chart);
        }

        chart.navigation.updates.push({
            update: update,
            context: chart
        });
    }
};

export default chartNavigation;

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
aw-highstock_rails-7.0.3 vendor/assets/javascripts/highstock/es-modules/mixins/navigation.js