%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY Donat Was Here
DonatShell
Server IP : 49.231.201.246  /  Your IP : 216.73.216.149
Web Server : Apache/2.4.18 (Ubuntu)
System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
User : root ( 0)
PHP Version : 7.0.33-0ubuntu0.16.04.16
Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/11585/cwd/html/ppaobm/backend/web/assets/16c36a2e/es-modules/mixins/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /proc/11585/cwd/html/ppaobm/backend/web/assets/16c36a2e/es-modules/mixins/derived-series.js
'use strict';

import H from '../parts/Globals.js';
import '../parts/Series.js';

var Series = H.Series,
    addEvent = H.addEvent,
    noop = H.noop;


/* ************************************************************************** *
 *
 * DERIVED SERIES MIXIN
 *
 * ************************************************************************** */

/**
 * Provides methods for auto setting/updating series data based on the based
 * series data.
 *
 * @private
 * @mixin derivedSeriesMixin
 */
var derivedSeriesMixin = {

    hasDerivedData: true,
    /**
     * Initialise series
     *
     * @private
     * @function derivedSeriesMixin.init
     */
    init: function () {
        Series.prototype.init.apply(this, arguments);

        this.initialised = false;
        this.baseSeries = null;
        this.eventRemovers = [];

        this.addEvents();
    },

    /**
     * Method to be implemented - inside the method the series has already
     * access to the base series via m `this.baseSeries` and the bases data is
     * initialised. It should return data in the format accepted by
     * `Series.setData()` method
     *
     * @private
     * @function derivedSeriesMixin.setDerivedData
     *
     * @return {Array<*>}
     *         An array of data
     */
    setDerivedData: noop,

    /**
     * Sets base series for the series
     *
     * @private
     * @function derivedSeriesMixin.setBaseSeries
     */
    setBaseSeries: function () {
        var chart = this.chart,
            baseSeriesOptions = this.options.baseSeries,
            baseSeries = (
                H.defined(baseSeriesOptions) &&
                (
                    chart.series[baseSeriesOptions] ||
                    chart.get(baseSeriesOptions)
                )
            );

        this.baseSeries = baseSeries || null;
    },

    /**
     * Adds events for the series
     *
     * @private
     * @function derivedSeriesMixin.addEvents
     */
    addEvents: function () {
        var derivedSeries = this,
            chartSeriesLinked;

        chartSeriesLinked = addEvent(
            this.chart,
            'afterLinkSeries',
            function () {
                derivedSeries.setBaseSeries();

                if (derivedSeries.baseSeries && !derivedSeries.initialised) {
                    derivedSeries.setDerivedData();
                    derivedSeries.addBaseSeriesEvents();
                    derivedSeries.initialised = true;
                }
            }
        );

        this.eventRemovers.push(
            chartSeriesLinked
        );
    },

    /**
     * Adds events to the base series - it required for recalculating the data
     * in the series if the base series is updated / removed / etc.
     *
     * @private
     * @function derivedSeriesMixin.addBaseSeriesEvents
     */
    addBaseSeriesEvents: function () {
        var derivedSeries = this,
            updatedDataRemover,
            destroyRemover;

        updatedDataRemover = addEvent(
            derivedSeries.baseSeries,
            'updatedData',
            function () {
                derivedSeries.setDerivedData();
            }
        );

        destroyRemover = addEvent(
            derivedSeries.baseSeries,
            'destroy',
            function () {
                derivedSeries.baseSeries = null;
                derivedSeries.initialised = false;
            }
        );

        derivedSeries.eventRemovers.push(
            updatedDataRemover,
            destroyRemover
        );
    },

    /**
     * Destroys the series
     *
     * @private
     * @function derivedSeriesMixin.destroy
     */
    destroy: function () {
        this.eventRemovers.forEach(function (remover) {
            remover();
        });

        Series.prototype.destroy.apply(this, arguments);
    }
};

export default derivedSeriesMixin;

Anon7 - 2022
AnonSec Team