Carga
This commit is contained in:
2025-04-17 00:35:33 -06:00
parent 4977462629
commit 67fc72aed5
1333 changed files with 1077639 additions and 0 deletions

View File

@@ -0,0 +1,137 @@
/* *
*
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
*
* */
'use strict';
import H from '../Core/Globals.js';
var noop = H.noop;
import Series from '../Core/Series/Series.js';
import U from '../Core/Utilities.js';
var addEvent = U.addEvent, defined = U.defined;
/* *
*
* Composition
*
* */
/**
* Provides methods for auto setting/updating series data based on the based
* series data.
* @private
*/
var DerivedComposition;
(function (DerivedComposition) {
/* *
*
* Declarations
*
* */
/* *
*
* Constants
*
* */
var composedClasses = [];
DerivedComposition.hasDerivedData = true;
/**
* 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
*/
DerivedComposition.setDerivedData = noop;
/* *
*
* Functions
*
* */
/* eslint-disable valid-jsdoc */
/**
* @private
*/
function compose(SeriesClass) {
if (composedClasses.indexOf(SeriesClass) === -1) {
composedClasses.push(SeriesClass);
var seriesProto = SeriesClass.prototype;
seriesProto.addBaseSeriesEvents = addBaseSeriesEvents;
seriesProto.addEvents = addEvents;
seriesProto.destroy = destroy;
seriesProto.init = init;
seriesProto.setBaseSeries = setBaseSeries;
}
return SeriesClass;
}
DerivedComposition.compose = compose;
/**
* Initialise series
* @private
*/
function init() {
Series.prototype.init.apply(this, arguments);
this.initialised = false;
this.baseSeries = null;
this.eventRemovers = [];
this.addEvents();
}
DerivedComposition.init = init;
/**
* Sets base series for the series
* @private
*/
function setBaseSeries() {
var chart = this.chart, baseSeriesOptions = this.options.baseSeries, baseSeries = (defined(baseSeriesOptions) &&
(chart.series[baseSeriesOptions] ||
chart.get(baseSeriesOptions)));
this.baseSeries = baseSeries || null;
}
DerivedComposition.setBaseSeries = setBaseSeries;
/**
* Adds events for the series
* @private
*/
function addEvents() {
var _this = this;
this.eventRemovers.push(addEvent(this.chart, 'afterLinkSeries', function () {
_this.setBaseSeries();
if (_this.baseSeries && !_this.initialised) {
_this.setDerivedData();
_this.addBaseSeriesEvents();
_this.initialised = true;
}
}));
}
DerivedComposition.addEvents = addEvents;
/**
* 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 addBaseSeriesEvents() {
var _this = this;
this.eventRemovers.push(addEvent(this.baseSeries, 'updatedData', function () {
_this.setDerivedData();
}), addEvent(this.baseSeries, 'destroy', function () {
_this.baseSeries = null;
_this.initialised = false;
}));
}
DerivedComposition.addBaseSeriesEvents = addBaseSeriesEvents;
/**
* Destroys the series
* @private
*/
function destroy() {
this.eventRemovers.forEach(function (remover) {
remover();
});
Series.prototype.destroy.apply(this, arguments);
}
DerivedComposition.destroy = destroy;
})(DerivedComposition || (DerivedComposition = {}));
/* *
*
* Default Export
*
* */
export default DerivedComposition;