UNPKG

scichart

Version:

Fast WebGL JavaScript Charting Library and Framework

70 lines (69 loc) 4.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildAxes = void 0; var CategoryAxis_1 = require("../Charting/Visuals/Axis/CategoryAxis"); var DateTimeNumericAxis_1 = require("../Charting/Visuals/Axis/DateTimeNumericAxis"); var DateLabelProvider_1 = require("../Charting/Visuals/Axis/LabelProvider/DateLabelProvider"); var LogarithmicLabelProvider_1 = require("../Charting/Visuals/Axis/LabelProvider/LogarithmicLabelProvider"); var NumericLabelProvider_1 = require("../Charting/Visuals/Axis/LabelProvider/NumericLabelProvider"); var PieLabelProvider_1 = require("../Charting/Visuals/Axis/LabelProvider/PieLabelProvider"); var SmartDateLabelProvider_1 = require("../Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider"); var TextLabelProvider_1 = require("../Charting/Visuals/Axis/LabelProvider/TextLabelProvider"); var LogarithmicAxis_1 = require("../Charting/Visuals/Axis/LogarithmicAxis"); var NumericAxis_1 = require("../Charting/Visuals/Axis/NumericAxis"); var AxisType_1 = require("../types/AxisType"); var BaseType_1 = require("../types/BaseType"); var LabelProviderType_1 = require("../types/LabelProviderType"); var chartBuilder_1 = require("./chartBuilder"); var classFactory_1 = require("./classFactory"); // register LabelProviders (0, classFactory_1.registerType)(BaseType_1.EBaseType.LabelProvider, LabelProviderType_1.ELabelProviderType.Numeric, function (options) { return new NumericLabelProvider_1.NumericLabelProvider(options); }, true); (0, classFactory_1.registerType)(BaseType_1.EBaseType.LabelProvider, LabelProviderType_1.ELabelProviderType.Date, function (options) { return new DateLabelProvider_1.DateLabelProvider(options); }, true); (0, classFactory_1.registerType)(BaseType_1.EBaseType.LabelProvider, LabelProviderType_1.ELabelProviderType.Logarithmic, function (options) { return new LogarithmicLabelProvider_1.LogarithmicLabelProvider(options); }, true); (0, classFactory_1.registerType)(BaseType_1.EBaseType.LabelProvider, LabelProviderType_1.ELabelProviderType.SmartDate, function (options) { return new SmartDateLabelProvider_1.SmartDateLabelProvider(); }, true); (0, classFactory_1.registerType)(BaseType_1.EBaseType.LabelProvider, LabelProviderType_1.ELabelProviderType.Text, function (options) { return new TextLabelProvider_1.TextLabelProvider(options); }, true); (0, classFactory_1.registerType)(BaseType_1.EBaseType.LabelProvider, LabelProviderType_1.ELabelProviderType.Pie, function (options) { return 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}. */ var buildAxes = function (wasmContext, definition) { if (typeof definition === "string") { definition = JSON.parse(definition, chartBuilder_1.chartReviver); } var axes = []; if (Array.isArray(definition)) { for (var _i = 0, definition_1 = definition; _i < definition_1.length; _i++) { var axis = definition_1[_i]; axes.push(buildAxis(wasmContext, axis)); } } else { axes.push(buildAxis(wasmContext, definition)); } return axes; }; exports.buildAxes = buildAxes; var buildAxis = function (wasmContext, definition) { var 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; };