UNPKG

scichart

Version:

Fast WebGL JavaScript Charting Library and Framework

597 lines (574 loc) 13.3 MB
/******/ (() => { // 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