scichart
Version:
Fast WebGL JavaScript Charting Library and Framework
597 lines (574 loc) • 13.3 MB
JavaScript
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "../src/Builder/buildAnnotations.ts":
/*!******************************************!*\
!*** ../src/Builder/buildAnnotations.ts ***!
\******************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.buildAnnotations = void 0;
const AxisMarkerAnnotation_1 = __webpack_require__(/*! ../Charting/Visuals/Annotations/AxisMarkerAnnotation */ "../src/Charting/Visuals/Annotations/AxisMarkerAnnotation.ts");
const BoxAnnotation_1 = __webpack_require__(/*! ../Charting/Visuals/Annotations/BoxAnnotation */ "../src/Charting/Visuals/Annotations/BoxAnnotation.ts");
const CustomAnnotation_1 = __webpack_require__(/*! ../Charting/Visuals/Annotations/CustomAnnotation */ "../src/Charting/Visuals/Annotations/CustomAnnotation.ts");
const HorizontalLineAnnotation_1 = __webpack_require__(/*! ../Charting/Visuals/Annotations/HorizontalLineAnnotation */ "../src/Charting/Visuals/Annotations/HorizontalLineAnnotation.ts");
const IAnnotation_1 = __webpack_require__(/*! ../Charting/Visuals/Annotations/IAnnotation */ "../src/Charting/Visuals/Annotations/IAnnotation.ts");
const LineAnnotation_1 = __webpack_require__(/*! ../Charting/Visuals/Annotations/LineAnnotation */ "../src/Charting/Visuals/Annotations/LineAnnotation.ts");
const NativeTextAnnotation_1 = __webpack_require__(/*! ../Charting/Visuals/Annotations/NativeTextAnnotation */ "../src/Charting/Visuals/Annotations/NativeTextAnnotation.ts");
const TextAnnotation_1 = __webpack_require__(/*! ../Charting/Visuals/Annotations/TextAnnotation */ "../src/Charting/Visuals/Annotations/TextAnnotation.ts");
const VerticalLineAnnotation_1 = __webpack_require__(/*! ../Charting/Visuals/Annotations/VerticalLineAnnotation */ "../src/Charting/Visuals/Annotations/VerticalLineAnnotation.ts");
const BaseType_1 = __webpack_require__(/*! ../types/BaseType */ "../src/types/BaseType.ts");
const chartBuilder_1 = __webpack_require__(/*! ./chartBuilder */ "../src/Builder/chartBuilder.ts");
const classFactory_1 = __webpack_require__(/*! ./classFactory */ "../src/Builder/classFactory.ts");
// register annotations
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Annotation, IAnnotation_1.EAnnotationType.RenderContextAxisMarkerAnnotation, (options) => new AxisMarkerAnnotation_1.AxisMarkerAnnotation(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Annotation, IAnnotation_1.EAnnotationType.RenderContextBoxAnnotation, (options) => new BoxAnnotation_1.BoxAnnotation(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Annotation, IAnnotation_1.EAnnotationType.RenderContextHorizontalLineAnnotation, (options) => new HorizontalLineAnnotation_1.HorizontalLineAnnotation(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Annotation, IAnnotation_1.EAnnotationType.RenderContextLineAnnotation, (options) => new LineAnnotation_1.LineAnnotation(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Annotation, IAnnotation_1.EAnnotationType.RenderContextVerticalLineAnnotation, (options) => new VerticalLineAnnotation_1.VerticalLineAnnotation(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Annotation, IAnnotation_1.EAnnotationType.SVGTextAnnotation, (options) => new TextAnnotation_1.TextAnnotation(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Annotation, IAnnotation_1.EAnnotationType.SVGCustomAnnotation, (options) => new CustomAnnotation_1.CustomAnnotation(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Annotation, IAnnotation_1.EAnnotationType.RenderContextNativeTextAnnotation, (options) => new NativeTextAnnotation_1.NativeTextAnnotation(options), true);
/**
* Build one or more annotations from a definition that can be pure data.
* @param definition One or an array of {@link TAnnotationDefinition}
* @returns An array of annotations
*/
const buildAnnotations = (definition) => {
if (typeof definition === "string") {
definition = JSON.parse(definition, chartBuilder_1.chartReviver);
}
const annotations = [];
if (Array.isArray(definition)) {
for (const annotation of definition) {
annotations.push((0, classFactory_1.createType)(BaseType_1.EBaseType.Annotation, annotation.type, null, annotation.options));
}
}
else {
annotations.push((0, classFactory_1.createType)(BaseType_1.EBaseType.Annotation, definition.type, null, definition.options));
}
return annotations;
};
exports.buildAnnotations = buildAnnotations;
/***/ }),
/***/ "../src/Builder/buildAxis.ts":
/*!***********************************!*\
!*** ../src/Builder/buildAxis.ts ***!
\***********************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.buildAxes = void 0;
const CategoryAxis_1 = __webpack_require__(/*! ../Charting/Visuals/Axis/CategoryAxis */ "../src/Charting/Visuals/Axis/CategoryAxis.ts");
const DateTimeNumericAxis_1 = __webpack_require__(/*! ../Charting/Visuals/Axis/DateTimeNumericAxis */ "../src/Charting/Visuals/Axis/DateTimeNumericAxis.ts");
const DateLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/Axis/LabelProvider/DateLabelProvider */ "../src/Charting/Visuals/Axis/LabelProvider/DateLabelProvider.ts");
const LogarithmicLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/Axis/LabelProvider/LogarithmicLabelProvider */ "../src/Charting/Visuals/Axis/LabelProvider/LogarithmicLabelProvider.ts");
const NumericLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/Axis/LabelProvider/NumericLabelProvider */ "../src/Charting/Visuals/Axis/LabelProvider/NumericLabelProvider.ts");
const PieLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/Axis/LabelProvider/PieLabelProvider */ "../src/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.ts");
const SmartDateLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider */ "../src/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.ts");
const TextLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/Axis/LabelProvider/TextLabelProvider */ "../src/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.ts");
const LogarithmicAxis_1 = __webpack_require__(/*! ../Charting/Visuals/Axis/LogarithmicAxis */ "../src/Charting/Visuals/Axis/LogarithmicAxis.ts");
const NumericAxis_1 = __webpack_require__(/*! ../Charting/Visuals/Axis/NumericAxis */ "../src/Charting/Visuals/Axis/NumericAxis.ts");
const AxisType_1 = __webpack_require__(/*! ../types/AxisType */ "../src/types/AxisType.ts");
const BaseType_1 = __webpack_require__(/*! ../types/BaseType */ "../src/types/BaseType.ts");
const LabelProviderType_1 = __webpack_require__(/*! ../types/LabelProviderType */ "../src/types/LabelProviderType.ts");
const chartBuilder_1 = __webpack_require__(/*! ./chartBuilder */ "../src/Builder/chartBuilder.ts");
const classFactory_1 = __webpack_require__(/*! ./classFactory */ "../src/Builder/classFactory.ts");
// register LabelProviders
(0, classFactory_1.registerType)(BaseType_1.EBaseType.LabelProvider, LabelProviderType_1.ELabelProviderType.Numeric, (options) => new NumericLabelProvider_1.NumericLabelProvider(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.LabelProvider, LabelProviderType_1.ELabelProviderType.Date, (options) => new DateLabelProvider_1.DateLabelProvider(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.LabelProvider, LabelProviderType_1.ELabelProviderType.Logarithmic, (options) => new LogarithmicLabelProvider_1.LogarithmicLabelProvider(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.LabelProvider, LabelProviderType_1.ELabelProviderType.SmartDate, (options) => new SmartDateLabelProvider_1.SmartDateLabelProvider(), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.LabelProvider, LabelProviderType_1.ELabelProviderType.Text, (options) => new TextLabelProvider_1.TextLabelProvider(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.LabelProvider, LabelProviderType_1.ELabelProviderType.Pie, (options) => new PieLabelProvider_1.PieLabelProvider(options), true);
/**
* Build one or more axes from a definition that can be pure data.
* @param wasmContext A {@link TSciChart | SciChart 2D WebAssembly Context} or {@link TSciChart | SciChart 3D WebAssembly Context}
* @param definition One or an array of {@link TAxisDefinition}
* @returns An array of {@link AxisBase2D}.
*/
const buildAxes = (wasmContext, definition) => {
if (typeof definition === "string") {
definition = JSON.parse(definition, chartBuilder_1.chartReviver);
}
const axes = [];
if (Array.isArray(definition)) {
for (const axis of definition) {
axes.push(buildAxis(wasmContext, axis));
}
}
else {
axes.push(buildAxis(wasmContext, definition));
}
return axes;
};
exports.buildAxes = buildAxes;
const buildAxis = (wasmContext, definition) => {
let axis;
switch (definition.type) {
case AxisType_1.EAxisType.CategoryAxis:
axis = new CategoryAxis_1.CategoryAxis(wasmContext, definition.options);
break;
case AxisType_1.EAxisType.NumericAxis:
axis = new NumericAxis_1.NumericAxis(wasmContext, definition.options);
break;
case AxisType_1.EAxisType.LogarithmicAxis:
axis = new LogarithmicAxis_1.LogarithmicAxis(wasmContext, definition.options);
break;
case AxisType_1.EAxisType.DateTimeNumericAxis:
axis = new DateTimeNumericAxis_1.DateTimeNumericAxis(wasmContext, definition.options);
break;
default:
axis = new NumericAxis_1.NumericAxis(wasmContext, {});
break;
}
return axis;
};
/***/ }),
/***/ "../src/Builder/buildDataSeries.ts":
/*!*****************************************!*\
!*** ../src/Builder/buildDataSeries.ts ***!
\*****************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.buildDataSeries = void 0;
const HlcScaleOffsetFilter_1 = __webpack_require__(/*! ../Charting/Model/Filters/HlcScaleOffsetFilter */ "../src/Charting/Model/Filters/HlcScaleOffsetFilter.ts");
const OhlcScaleOffsetFilter_1 = __webpack_require__(/*! ../Charting/Model/Filters/OhlcScaleOffsetFilter */ "../src/Charting/Model/Filters/OhlcScaleOffsetFilter.ts");
const XyLinearTrendFilter_1 = __webpack_require__(/*! ../Charting/Model/Filters/XyLinearTrendFilter */ "../src/Charting/Model/Filters/XyLinearTrendFilter.ts");
const XyMovingAverageFilter_1 = __webpack_require__(/*! ../Charting/Model/Filters/XyMovingAverageFilter */ "../src/Charting/Model/Filters/XyMovingAverageFilter.ts");
const XyRatioFilter_1 = __webpack_require__(/*! ../Charting/Model/Filters/XyRatioFilter */ "../src/Charting/Model/Filters/XyRatioFilter.ts");
const XyScaleOffsetFilter_1 = __webpack_require__(/*! ../Charting/Model/Filters/XyScaleOffsetFilter */ "../src/Charting/Model/Filters/XyScaleOffsetFilter.ts");
const XyyScaleOffsetFilter_1 = __webpack_require__(/*! ../Charting/Model/Filters/XyyScaleOffsetFilter */ "../src/Charting/Model/Filters/XyyScaleOffsetFilter.ts");
const XyzScaleOffsetFilter_1 = __webpack_require__(/*! ../Charting/Model/Filters/XyzScaleOffsetFilter */ "../src/Charting/Model/Filters/XyzScaleOffsetFilter.ts");
const HlcDataSeries_1 = __webpack_require__(/*! ../Charting/Model/HlcDataSeries */ "../src/Charting/Model/HlcDataSeries.ts");
const IDataSeries_1 = __webpack_require__(/*! ../Charting/Model/IDataSeries */ "../src/Charting/Model/IDataSeries.ts");
const NonUniformHeatmapDataSeries_1 = __webpack_require__(/*! ../Charting/Model/NonUniformHeatmapDataSeries */ "../src/Charting/Model/NonUniformHeatmapDataSeries.ts");
const OhlcDataSeries_1 = __webpack_require__(/*! ../Charting/Model/OhlcDataSeries */ "../src/Charting/Model/OhlcDataSeries.ts");
const UniformHeatmapDataSeries_1 = __webpack_require__(/*! ../Charting/Model/UniformHeatmapDataSeries */ "../src/Charting/Model/UniformHeatmapDataSeries.ts");
const XyDataSeries_1 = __webpack_require__(/*! ../Charting/Model/XyDataSeries */ "../src/Charting/Model/XyDataSeries.ts");
const XyTextDataSeries_1 = __webpack_require__(/*! ../Charting/Model/XyTextDataSeries */ "../src/Charting/Model/XyTextDataSeries.ts");
const XyyDataSeries_1 = __webpack_require__(/*! ../Charting/Model/XyyDataSeries */ "../src/Charting/Model/XyyDataSeries.ts");
const XyzDataSeries_1 = __webpack_require__(/*! ../Charting/Model/XyzDataSeries */ "../src/Charting/Model/XyzDataSeries.ts");
const DataFilterType_1 = __webpack_require__(/*! ../types/DataFilterType */ "../src/types/DataFilterType.ts");
const chartBuilder_1 = __webpack_require__(/*! ./chartBuilder */ "../src/Builder/chartBuilder.ts");
/**
* Build a data series from a definition that can be pure data.
* @param wasmContext A {@link TSciChart | SciChart 2D WebAssembly Context} or {@link TSciChart | SciChart 3D WebAssembly Context}
* @param definition A {@link TSeriesDefinition}
* @param sharedData Optional {@link TSharedDataDefinition} to define shared data which can be referenced by the data series
* @param originalDataSeries Optional {@Link IDataSeries} to define original data for filter
* @returns An {@link IDataSeries}
*/
const buildDataSeries = (wasmContext, dataSeriesDefinition, sharedData, originalDataSeries) => {
if (!dataSeriesDefinition) {
return undefined;
}
if (typeof dataSeriesDefinition === "string") {
dataSeriesDefinition = JSON.parse(dataSeriesDefinition, chartBuilder_1.chartReviver);
}
if (typeof sharedData === "string") {
sharedData = JSON.parse(sharedData, chartBuilder_1.chartReviver);
}
let dataSeries;
let filterDef;
dataSeries = createDataSeries(wasmContext, dataSeriesDefinition, sharedData);
if ("filter" in dataSeriesDefinition.options) {
// @ts-ignore
filterDef = dataSeriesDefinition.options.filter;
}
if (filterDef &&
dataSeriesDefinition.type !== IDataSeries_1.EDataSeriesType.HeatmapUniform &&
dataSeriesDefinition.type !== IDataSeries_1.EDataSeriesType.HeatmapNonUniform) {
if (dataSeries) {
const filter = buildFilter((originalDataSeries !== null && originalDataSeries !== void 0 ? originalDataSeries : dataSeries), filterDef);
if (filter) {
dataSeries = filter;
}
}
}
return dataSeries;
};
exports.buildDataSeries = buildDataSeries;
const buildFilter = (dataSeries, definition) => {
if (definition.type === DataFilterType_1.EDataFilterType.HlcScaleOffset) {
return new HlcScaleOffsetFilter_1.HlcScaleOffsetFilter(dataSeries, definition.options);
}
else if (definition.type === DataFilterType_1.EDataFilterType.OhlcScaleOffset) {
return new OhlcScaleOffsetFilter_1.OhlcScaleOffsetFilter(dataSeries, definition.options);
}
else if (definition.type === DataFilterType_1.EDataFilterType.XyLinearTrend) {
return new XyLinearTrendFilter_1.XyLinearTrendFilter(dataSeries, definition.options);
}
else if (definition.type === DataFilterType_1.EDataFilterType.XyMovingAverage) {
return new XyMovingAverageFilter_1.XyMovingAverageFilter(dataSeries, definition.options);
}
else if (definition.type === DataFilterType_1.EDataFilterType.XyRatio) {
const options = definition.options;
if (Array.isArray(options.divisorSeries)) {
const xValues = new Array(dataSeries.count()).fill(0);
definition.options.divisorSeries = new XyDataSeries_1.XyDataSeries(dataSeries.webAssemblyContext, {
xValues,
yValues: options.divisorSeries
});
}
return new XyRatioFilter_1.XyRatioFilter(dataSeries, definition.options);
}
else if (definition.type === DataFilterType_1.EDataFilterType.XyScaleOffset) {
return new XyScaleOffsetFilter_1.XyScaleOffsetFilter(dataSeries, definition.options);
}
else if (definition.type === DataFilterType_1.EDataFilterType.XyyScaleOffset) {
return new XyyScaleOffsetFilter_1.XyyScaleOffsetFilter(dataSeries, definition.options);
}
else if (definition.type === DataFilterType_1.EDataFilterType.XyzScaleOffset) {
return new XyzScaleOffsetFilter_1.XyzScaleOffsetFilter(dataSeries, definition.options);
}
else {
return undefined;
}
};
const createDataSeries = (wasmContext, dataSeriesDefinition, sharedData) => {
const rawOptions = Object.assign({}, dataSeriesDefinition.options);
switch (dataSeriesDefinition.type) {
case IDataSeries_1.EDataSeriesType.Xy: {
const data = rawOptions;
if (sharedData && data.xDataId) {
data.xValues = sharedData[data.xDataId];
data.yValues = sharedData[data.yDataId];
}
return new XyDataSeries_1.XyDataSeries(wasmContext, data);
}
case IDataSeries_1.EDataSeriesType.Xyy: {
const data = rawOptions;
if (sharedData && data.xDataId) {
data.xValues = sharedData[data.xDataId];
data.yValues = sharedData[data.yDataId];
data.y1Values = sharedData[data.y1DataId];
}
return new XyyDataSeries_1.XyyDataSeries(wasmContext, data);
}
case IDataSeries_1.EDataSeriesType.Xyz: {
const data = rawOptions;
if (sharedData && data.xDataId) {
data.xValues = sharedData[data.xDataId];
data.yValues = sharedData[data.yDataId];
data.zValues = sharedData[data.zDataId];
}
return new XyzDataSeries_1.XyzDataSeries(wasmContext, data);
}
case IDataSeries_1.EDataSeriesType.XyText: {
const data = rawOptions;
if (sharedData && data.xDataId) {
data.xValues = sharedData[data.xDataId];
data.yValues = sharedData[data.yDataId];
}
return new XyTextDataSeries_1.XyTextDataSeries(wasmContext, data);
}
case IDataSeries_1.EDataSeriesType.Hlc: {
const data = rawOptions;
if (sharedData && data.xDataId) {
data.xValues = sharedData[data.xDataId];
data.highValues = sharedData[data.highDataId];
data.lowValues = sharedData[data.lowDataId];
data.yValues = sharedData[data.closeDataId];
}
return new HlcDataSeries_1.HlcDataSeries(wasmContext, data);
}
case IDataSeries_1.EDataSeriesType.Ohlc: {
const data = rawOptions;
if (sharedData && data.xDataId) {
data.xValues = sharedData[data.xDataId];
data.openValues = sharedData[data.openDataId];
data.highValues = sharedData[data.highDataId];
data.lowValues = sharedData[data.lowDataId];
data.closeValues = sharedData[data.closeDataId];
}
return new OhlcDataSeries_1.OhlcDataSeries(wasmContext, data);
}
case IDataSeries_1.EDataSeriesType.HeatmapUniform: {
const data = rawOptions;
return new UniformHeatmapDataSeries_1.UniformHeatmapDataSeries(wasmContext, data);
}
case IDataSeries_1.EDataSeriesType.HeatmapNonUniform: {
const data = rawOptions;
return new NonUniformHeatmapDataSeries_1.NonUniformHeatmapDataSeries(wasmContext, data);
}
default: {
const handleInvalidDataSeriesType = (type) => {
throw new Error(`Invalid Data Series Type value: "${type}"!`);
};
return handleInvalidDataSeriesType(dataSeriesDefinition.type);
}
}
};
/***/ }),
/***/ "../src/Builder/buildModifiers.ts":
/*!****************************************!*\
!*** ../src/Builder/buildModifiers.ts ***!
\****************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.buildModifiers = void 0;
const CursorModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/CursorModifier */ "../src/Charting/ChartModifiers/CursorModifier.ts");
const DataPointSelectionModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/DataPointSelectionModifier */ "../src/Charting/ChartModifiers/DataPointSelectionModifier.ts");
const LegendModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/LegendModifier */ "../src/Charting/ChartModifiers/LegendModifier.ts");
const MouseWheelZoomModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/MouseWheelZoomModifier */ "../src/Charting/ChartModifiers/MouseWheelZoomModifier.ts");
const OverviewRangeSelectionModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/OverviewRangeSelectionModifier */ "../src/Charting/ChartModifiers/OverviewRangeSelectionModifier.ts");
const PinchZoomModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/PinchZoomModifier */ "../src/Charting/ChartModifiers/PinchZoomModifier.ts");
const RolloverModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/RolloverModifier */ "../src/Charting/ChartModifiers/RolloverModifier.ts");
const VerticalSliceModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/VerticalSliceModifier */ "../src/Charting/ChartModifiers/VerticalSliceModifier.ts");
const RubberBandXyZoomModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/RubberBandXyZoomModifier */ "../src/Charting/ChartModifiers/RubberBandXyZoomModifier.ts");
const SeriesSelectionModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/SeriesSelectionModifier */ "../src/Charting/ChartModifiers/SeriesSelectionModifier.ts");
const XAxisDragModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/XAxisDragModifier */ "../src/Charting/ChartModifiers/XAxisDragModifier.ts");
const YAxisDragModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/YAxisDragModifier */ "../src/Charting/ChartModifiers/YAxisDragModifier.ts");
const ZoomExtentsModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/ZoomExtentsModifier */ "../src/Charting/ChartModifiers/ZoomExtentsModifier.ts");
const ZoomPanModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/ZoomPanModifier */ "../src/Charting/ChartModifiers/ZoomPanModifier.ts");
const BaseType_1 = __webpack_require__(/*! ../types/BaseType */ "../src/types/BaseType.ts");
const ChartModifierType_1 = __webpack_require__(/*! ../types/ChartModifierType */ "../src/types/ChartModifierType.ts");
const chartBuilder_1 = __webpack_require__(/*! ./chartBuilder */ "../src/Builder/chartBuilder.ts");
const classFactory_1 = __webpack_require__(/*! ./classFactory */ "../src/Builder/classFactory.ts");
const AnnotationHoverModifier_1 = __webpack_require__(/*! ../Charting/ChartModifiers/AnnotationHoverModifier */ "../src/Charting/ChartModifiers/AnnotationHoverModifier.ts");
// register modifiers
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.Cursor, (options) => new CursorModifier_1.CursorModifier(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.DataPointSelection, (options) => new DataPointSelectionModifier_1.DataPointSelectionModifier(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.MouseWheelZoom, (options) => new MouseWheelZoomModifier_1.MouseWheelZoomModifier(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.PinchZoom, (options) => new PinchZoomModifier_1.PinchZoomModifier(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.Rollover, (options) => new RolloverModifier_1.RolloverModifier(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.VerticalSlice, (options) => new VerticalSliceModifier_1.VerticalSliceModifier(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.RubberBandXYZoom, (options) => new RubberBandXyZoomModifier_1.RubberBandXyZoomModifier(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.SeriesSelection, (options) => new SeriesSelectionModifier_1.SeriesSelectionModifier(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.AnnotationHover, (options) => new AnnotationHoverModifier_1.AnnotationHoverModifier(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.XAxisDrag, (options) => new XAxisDragModifier_1.XAxisDragModifier(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.YAxisDrag, (options) => new YAxisDragModifier_1.YAxisDragModifier(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.ZoomExtents, (options) => new ZoomExtentsModifier_1.ZoomExtentsModifier(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.ZoomPan, (options) => new ZoomPanModifier_1.ZoomPanModifier(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.OverviewRangeSelection, (options) => new OverviewRangeSelectionModifier_1.OverviewRangeSelectionModifier(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Chart2DModifier, ChartModifierType_1.EChart2DModifierType.Legend, (options) => new LegendModifier_1.LegendModifier(options), true);
/**
* Build one or more chart modifiers from a definition that can be pure data.
* @param definition One or an array of {@link TModifierDefinition}
* @returns An array of modifiers
*/
const buildModifiers = (definition) => {
if (typeof definition === "string") {
definition = JSON.parse(definition, chartBuilder_1.chartReviver);
}
const modifiers = [];
if (Array.isArray(definition)) {
for (const modifier of definition) {
modifiers.push(buildModifier(modifier));
}
}
else {
modifiers.push(buildModifier(definition));
}
return modifiers;
};
exports.buildModifiers = buildModifiers;
const buildModifier = (definition) => {
if (definition.type === ChartModifierType_1.EChart2DModifierType.Custom) {
return (0, classFactory_1.createType)(BaseType_1.EBaseType.Chart2DModifier, definition.customType, null, definition.options);
}
else {
return (0, classFactory_1.createType)(BaseType_1.EBaseType.Chart2DModifier, definition.type, null, definition.options);
}
};
/***/ }),
/***/ "../src/Builder/buildSeries.ts":
/*!*************************************!*\
!*** ../src/Builder/buildSeries.ts ***!
\*************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.buildSeries = void 0;
const DataPointSelectionPaletteProvider_1 = __webpack_require__(/*! ../Charting/Model/DataPointSelectionPaletteProvider */ "../src/Charting/Model/DataPointSelectionPaletteProvider.ts");
const IDataSeries_1 = __webpack_require__(/*! ../Charting/Model/IDataSeries */ "../src/Charting/Model/IDataSeries.ts");
const IPointMetadata_1 = __webpack_require__(/*! ../Charting/Model/IPointMetadata */ "../src/Charting/Model/IPointMetadata.ts");
const PaletteFactory_1 = __webpack_require__(/*! ../Charting/Model/PaletteFactory */ "../src/Charting/Model/PaletteFactory.ts");
const CrossPointMarker_1 = __webpack_require__(/*! ../Charting/Visuals/PointMarkers/CrossPointMarker */ "../src/Charting/Visuals/PointMarkers/CrossPointMarker.ts");
const EllipsePointMarker_1 = __webpack_require__(/*! ../Charting/Visuals/PointMarkers/EllipsePointMarker */ "../src/Charting/Visuals/PointMarkers/EllipsePointMarker.ts");
const SpritePointMarker_1 = __webpack_require__(/*! ../Charting/Visuals/PointMarkers/SpritePointMarker */ "../src/Charting/Visuals/PointMarkers/SpritePointMarker.ts");
const SquarePointMarker_1 = __webpack_require__(/*! ../Charting/Visuals/PointMarkers/SquarePointMarker */ "../src/Charting/Visuals/PointMarkers/SquarePointMarker.ts");
const TrianglePointMarker_1 = __webpack_require__(/*! ../Charting/Visuals/PointMarkers/TrianglePointMarker */ "../src/Charting/Visuals/PointMarkers/TrianglePointMarker.ts");
const XPointMarker_1 = __webpack_require__(/*! ../Charting/Visuals/PointMarkers/XPointMarker */ "../src/Charting/Visuals/PointMarkers/XPointMarker.ts");
const FadeAnimation_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/Animations/FadeAnimation */ "../src/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.ts");
const ScaleAnimation_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/Animations/ScaleAnimation */ "../src/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.ts");
const SweepAnimation_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/Animations/SweepAnimation */ "../src/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.ts");
const WaveAnimation_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/Animations/WaveAnimation */ "../src/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.ts");
const BandSeriesDataLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/DataLabels/BandSeriesDataLabelProvider */ "../src/Charting/Visuals/RenderableSeries/DataLabels/BandSeriesDataLabelProvider.ts");
const BubbleSeriesDataLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/DataLabels/BubbleSeriesDataLabelProvider */ "../src/Charting/Visuals/RenderableSeries/DataLabels/BubbleSeriesDataLabelProvider.ts");
const ColumnSeriesDataLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/DataLabels/ColumnSeriesDataLabelProvider */ "../src/Charting/Visuals/RenderableSeries/DataLabels/ColumnSeriesDataLabelProvider.ts");
const ContoursDataLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/DataLabels/ContoursDataLabelProvider */ "../src/Charting/Visuals/RenderableSeries/DataLabels/ContoursDataLabelProvider.ts");
const DataLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider */ "../src/Charting/Visuals/RenderableSeries/DataLabels/DataLabelProvider.ts");
const HeatMapDataLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/DataLabels/HeatMapDataLabelProvider */ "../src/Charting/Visuals/RenderableSeries/DataLabels/HeatMapDataLabelProvider.ts");
const LineSeriesDataLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/DataLabels/LineSeriesDataLabelProvider */ "../src/Charting/Visuals/RenderableSeries/DataLabels/LineSeriesDataLabelProvider.ts");
const NonUniformHeatmapDataLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider */ "../src/Charting/Visuals/RenderableSeries/DataLabels/NonUniformHeatmapDataLabelProvider.ts");
const TextDataLabelProvider_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider */ "../src/Charting/Visuals/RenderableSeries/DataLabels/TextDataLabelProvider.ts");
const FastBandRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/FastBandRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/FastBandRenderableSeries.ts");
const FastBubbleRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.ts");
const FastCandlestickRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries.ts");
const FastColumnRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/FastColumnRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.ts");
const FastErrorBarsRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/FastErrorBarsRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/FastErrorBarsRenderableSeries.ts");
const FastImpulseRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/FastImpulseRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/FastImpulseRenderableSeries.ts");
const FastLineRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/FastLineRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.ts");
const FastMountainRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/FastMountainRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/FastMountainRenderableSeries.ts");
const FastOhlcRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/FastOhlcRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/FastOhlcRenderableSeries.ts");
const FastTextRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/FastTextRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/FastTextRenderableSeries.ts");
const GlowEffect_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/GlowEffect */ "../src/Charting/Visuals/RenderableSeries/GlowEffect.ts");
const NonUniformHeatmapRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/NonUniformHeatmapRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/NonUniformHeatmapRenderableSeries.ts");
const ShadowEffect_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/ShadowEffect */ "../src/Charting/Visuals/RenderableSeries/ShadowEffect.ts");
const SplineBandRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/SplineBandRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.ts");
const SplineLineRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/SplineLineRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.ts");
const SplineMountainRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.ts");
const SmoothStackedMountainRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/SmoothStackedMountainRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/SmoothStackedMountainRenderableSeries.ts");
const StackedColumnCollection_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/StackedColumnCollection */ "../src/Charting/Visuals/RenderableSeries/StackedColumnCollection.ts");
const StackedColumnRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries.ts");
const StackedMountainCollection_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/StackedMountainCollection */ "../src/Charting/Visuals/RenderableSeries/StackedMountainCollection.ts");
const StackedMountainRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.ts");
const UniformContoursRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.ts");
const UniformHeatmapRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.ts");
const XyScatterRenderableSeries_1 = __webpack_require__(/*! ../Charting/Visuals/RenderableSeries/XyScatterRenderableSeries */ "../src/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.ts");
const AnimationType_1 = __webpack_require__(/*! ../types/AnimationType */ "../src/types/AnimationType.ts");
const BaseType_1 = __webpack_require__(/*! ../types/BaseType */ "../src/types/BaseType.ts");
const DataLabelProviderType_1 = __webpack_require__(/*! ../types/DataLabelProviderType */ "../src/types/DataLabelProviderType.ts");
const PaletteProviderType_1 = __webpack_require__(/*! ../types/PaletteProviderType */ "../src/types/PaletteProviderType.ts");
const PointMarkerType_1 = __webpack_require__(/*! ../types/PointMarkerType */ "../src/types/PointMarkerType.ts");
const SeriesType_1 = __webpack_require__(/*! ../types/SeriesType */ "../src/types/SeriesType.ts");
const ShaderEffectType_1 = __webpack_require__(/*! ../types/ShaderEffectType */ "../src/types/ShaderEffectType.ts");
const buildDataSeries_1 = __webpack_require__(/*! ./buildDataSeries */ "../src/Builder/buildDataSeries.ts");
const chartBuilder_1 = __webpack_require__(/*! ./chartBuilder */ "../src/Builder/chartBuilder.ts");
const classFactory_1 = __webpack_require__(/*! ./classFactory */ "../src/Builder/classFactory.ts");
(0, classFactory_1.registerWasmType)(BaseType_1.EBaseType.PointMarker, PointMarkerType_1.EPointMarkerType.Cross, (wasm, options) => new CrossPointMarker_1.CrossPointMarker(wasm, options), true);
(0, classFactory_1.registerWasmType)(BaseType_1.EBaseType.PointMarker, PointMarkerType_1.EPointMarkerType.Ellipse, (wasm, options) => new EllipsePointMarker_1.EllipsePointMarker(wasm, options), true);
(0, classFactory_1.registerWasmType)(BaseType_1.EBaseType.PointMarker, PointMarkerType_1.EPointMarkerType.Sprite, (wasm, options) => new SpritePointMarker_1.SpritePointMarker(wasm, options), true);
(0, classFactory_1.registerWasmType)(BaseType_1.EBaseType.PointMarker, PointMarkerType_1.EPointMarkerType.Square, (wasm, options) => new SquarePointMarker_1.SquarePointMarker(wasm, options), true);
(0, classFactory_1.registerWasmType)(BaseType_1.EBaseType.PointMarker, PointMarkerType_1.EPointMarkerType.Triangle, (wasm, options) => new TrianglePointMarker_1.TrianglePointMarker(wasm, options), true);
(0, classFactory_1.registerWasmType)(BaseType_1.EBaseType.PointMarker, PointMarkerType_1.EPointMarkerType.X, (wasm, options) => new XPointMarker_1.XPointMarker(wasm, options), true);
(0, classFactory_1.registerWasmType)(BaseType_1.EBaseType.ShaderEffect, ShaderEffectType_1.EShaderEffectType.Glow, (wasm, options) => new GlowEffect_1.GlowEffect(wasm, options), true);
(0, classFactory_1.registerWasmType)(BaseType_1.EBaseType.ShaderEffect, ShaderEffectType_1.EShaderEffectType.Shadow, (wasm, options) => new ShadowEffect_1.ShadowEffect(wasm, options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Animation, AnimationType_1.EAnimationType.Fade, (options) => new FadeAnimation_1.FadeAnimation(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Animation, AnimationType_1.EAnimationType.Scale, (options) => new ScaleAnimation_1.ScaleAnimation(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Animation, AnimationType_1.EAnimationType.Sweep, (options) => new SweepAnimation_1.SweepAnimation(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.Animation, AnimationType_1.EAnimationType.Wave, (options) => new WaveAnimation_1.WaveAnimation(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.DataLabelProvider, DataLabelProviderType_1.EDataLabelProviderType.Default, (options) => new DataLabelProvider_1.DataLabelProvider(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.DataLabelProvider, DataLabelProviderType_1.EDataLabelProviderType.Line, (options) => new LineSeriesDataLabelProvider_1.LineSeriesDataLabelProvider(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.DataLabelProvider, DataLabelProviderType_1.EDataLabelProviderType.Column, (options) => new ColumnSeriesDataLabelProvider_1.ColumnSeriesDataLabelProvider(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.DataLabelProvider, DataLabelProviderType_1.EDataLabelProviderType.Text, (options) => new TextDataLabelProvider_1.TextDataLabelProvider(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.DataLabelProvider, DataLabelProviderType_1.EDataLabelProviderType.Heatmap, (options) => new HeatMapDataLabelProvider_1.HeatMapDataLabelProvider(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.DataLabelProvider, DataLabelProviderType_1.EDataLabelProviderType.NonUniformHeatmap, (options) => new NonUniformHeatmapDataLabelProvider_1.NonUniformHeatMapDataLabelProvider(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.DataLabelProvider, DataLabelProviderType_1.EDataLabelProviderType.Bubble, (options) => new BubbleSeriesDataLabelProvider_1.BubbleSeriesDataLabelProvider(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.DataLabelProvider, DataLabelProviderType_1.EDataLabelProviderType.Band, (options) => new BandSeriesDataLabelProvider_1.BandSeriesDataLabelProvider(options), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.DataLabelProvider, DataLabelProviderType_1.EDataLabelProviderType.Contours, (options) => new ContoursDataLabelProvider_1.ContoursDataLabelProvider(options), true);
// Metadata
(0, classFactory_1.registerType)(BaseType_1.EBaseType.MetadataGenerator, "Template", (template) => new IPointMetadata_1.TemplateMetadataGenerator(template), true);
// PaletteProviders
// Default palette provider is not required as it is created automatically if none is provided.
(0, classFactory_1.registerWasmType)(BaseType_1.EBaseType.PaletteProvider, PaletteProviderType_1.EPaletteProviderType.Gradient, (wasmContext, gradientBrush) => PaletteFactory_1.PaletteFactory.createGradient(wasmContext, gradientBrush), true);
(0, classFactory_1.registerType)(BaseType_1.EBaseType.PaletteProvider, PaletteProviderType_1.EPaletteProviderType.DataPointSelection, (selectedStyle) => new DataPointSelectionPaletteProvider_1.DataPointSelectionPaletteProvider(selectedStyle), true);
function hasOwnProperty(obj, prop) {
return obj.hasOwnProperty(prop);
}
const getDataSeriesDefinition = (seriesDefinition) => {
if (hasOwnProperty(seriesDefinition, "xyData")) {
return { type: IDataSeries_1.EDataSeriesType.Xy, options: seriesDefinition.xyData };
}
else if (hasOwnProperty(seriesDefinition, "xyyData")) {
return { type: IDataSeries_1.EDataSeriesType.Xyy, options: seriesDefinition.xyyData };
}
else if (hasOwnProperty(seriesDefinition, "xyzData")) {
return { type: IDataSeries_1.EDataSeriesType.Xyz, options: seriesDefinition.xyzData };
}
else if (hasOwnProperty(seriesDefinition, "xyTextData")) {
return { type: IDataSeries_1.EDataSeriesType.XyText, options: seriesDefinition.xyTextData };
}
else if (hasOwnProperty(seriesDefinition, "hlcData")) {
return { type: IDataSeries_1.EDataSeriesType.Hlc, options: seriesDefinition.hlcData };
}
else if (hasOwnProperty(seriesDefinition, "ohlcData")) {
return { type: IDataSeries_1.EDataSeriesType.Ohlc, options: seriesDefinition.ohlcData };
}
else if (hasOwnProperty(seriesDefinition, "heatmapData") &&
(seriesDefinition.type === SeriesType_1.ESeriesType.UniformHeatmapSeries ||
seriesDefinition.type === SeriesType_1.ESeriesType.UniformContoursSeries)) {
return { type: IDataSeries_1.EDataSeriesType.HeatmapUniform, options: seriesDefinition.heatmapData };
}
else if (hasOwnProperty(seriesDefinition, "heatmapData") &&
seriesDefinition.type === SeriesType_1.ESeriesType.NonUniformHeatmapSeries) {
return { type: IDataSeries_1.EDataSeriesType.HeatmapNonUniform, options: seriesDefinition.heatmapData };
}
else {
return undefined;
}
};
/**
* Build one or more renderable series from a definition that can be pure data.
* @param wasmContext A {@link TSciChart | SciChart 2D WebAssembly Context} or {@link TSciChart | SciChart 3D WebAssembly Context}
* @param definition One or an array of {@link TSeriesDefinition}
* @param sharedData Optional {@link TSharedDataDefinition} to define shared data which can be referenced by the renderable series
* @returns An array of {@link IRenderableSeries}.
*/
const buildSeries = (wasmContext, definition, sharedData) => {
if (typeof definition === "string") {
definition = JSON.parse(definition, chartBuilder_1.chartReviver);
}
if (typeof sharedData === "string") {
sharedData = JSON.parse(sharedData, chartBuilder_1.chartReviver);
}
const result = [];
if (!Array.isArray(definition)) {
definition = [definition];
}
for (const seriesDef of definition) {
let series;
if (seriesDef.type === SeriesType_1.ESeriesType.BandSeries) {
series = new FastBandRenderableSeries_1.FastBandRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.BubbleSeries) {
series = new FastBubbleRenderableSeries_1.FastBubbleRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.CandlestickSeries) {
series = new FastCandlestickRenderableSeries_1.FastCandlestickRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.ColumnSeries) {
series = new FastColumnRenderableSeries_1.FastColumnRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.ImpulseSeries) {
series = new FastImpulseRenderableSeries_1.FastImpulseRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.LineSeries) {
series = new FastLineRenderableSeries_1.FastLineRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.MountainSeries) {
series = new FastMountainRenderableSeries_1.FastMountainRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.ErrorBarsSeries) {
series = new FastErrorBarsRenderableSeries_1.FastErrorBarsRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.OhlcSeries) {
series = new FastOhlcRenderableSeries_1.FastOhlcRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.ScatterSeries) {
series = new XyScatterRenderableSeries_1.XyScatterRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.SplineBandSeries) {
series = new SplineBandRenderableSeries_1.SplineBandRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.SplineLineSeries) {
series = new SplineLineRenderableSeries_1.SplineLineRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.SplineMountainSeries) {
series = new SplineMountainRenderableSeries_1.SplineMountainRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.UniformHeatmapSeries) {
series = new UniformHeatmapRenderableSeries_1.UniformHeatmapRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.NonUniformHeatmapSeries) {
series = new NonUniformHeatmapRenderableSeries_1.NonUniformHeatmapRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.UniformContoursSeries) {
series = new UniformContoursRenderableSeries_1.UniformContoursRenderableSeries(wasmContext, seriesDef.options);
}
else if (seriesDef.type === SeriesType_1.ESeriesType.TextSeries) {
series = new FastTextRenderableSeries_1.FastTextRenderableSeries(wasmContext, seriesDe