UNPKG

devexpress-reporting

Version:

DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.

132 lines (131 loc) 35.8 kB
/** * DevExpress HTML/JS Reporting (chart\internal\meta\_axis.js) * Version: 25.1.3 * Build date: Jun 26, 2025 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ import { extend } from '@devexpress/analytics-core/analytics-internal'; import { colorFromString, colorToString, parseBool } from '@devexpress/analytics-core/analytics-utils'; import { editorTemplates } from '@devexpress/analytics-core/analytics-widgets'; import { WholeRangeModel } from '../../components/models/_wholeRange'; import { editorTemplates as chartEditorTemplates } from '../_editorTemplates'; import { angle, antialiasing, backColor, color, defaultBooleanValues, font, font12, font8, legendText, maxLineCount, maxWidth, name, showInLegend, tag, textAlignment, textColor, textPattern, thickness, title, titleSerializationsInfo, visibility, visible } from './_common'; const minValue = { propertyName: 'minValue', modelName: '@MinValueSerializable', displayName: 'Min Value', editor: editorTemplates.getEditor('numeric'), localizationId: 'DevExpress.XtraCharts.AxisRange.MinValue' }, maxValue = { propertyName: 'maxValue', modelName: '@MaxValueSerializable', displayName: 'Max Value', editor: editorTemplates.getEditor('numeric'), localizationId: 'DevExpress.XtraCharts.Range.MaxValue' }, auto = { propertyName: 'auto', modelName: '@Auto', displayName: 'Auto', defaultVal: true, editor: editorTemplates.getEditor('bool'), from: parseBool, localizationId: 'DevExpress.XtraReports.UI.DocumentExportMode.Auto' }, autoSideMargins = { propertyName: 'autoSideMargins', modelName: '@AutoSideMargins', displayName: 'Auto Side Margins', defaultVal: true, editor: editorTemplates.getEditor('bool'), from: parseBool, localizationId: 'DevExpress.XtraCharts.Range.AutoSideMargins' }, sideMarginsValue = { propertyName: 'sideMarginsValue', modelName: '@SideMarginsValue', displayName: 'Side Margins Value', editor: editorTemplates.getEditor('numeric'), localizationId: 'DevExpress.XtraCharts.Range.SideMarginsValue' }; const visualRangeSerializationsInfo = [auto, autoSideMargins, minValue, maxValue, sideMarginsValue], visualRange = { propertyName: 'visualRange', modelName: 'VisualRange', displayName: 'Visual Range', info: visualRangeSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.AxisBase.VisualRange' }; const alwaysShowZeroLevel = { propertyName: 'alwaysShowZeroLevel', modelName: '@AlwaysShowZeroLevel', displayName: 'Always Show Zero Level', editor: editorTemplates.getEditor('bool'), defaultVal: true, from: parseBool, localizationId: 'DevExpress.XtraCharts.WholeRange.AlwaysShowZeroLevel' }; const wholeRangeSerializationsInfo = visualRangeSerializationsInfo.concat(alwaysShowZeroLevel), wholeRange = { propertyName: 'wholeRange', modelName: 'WholeRange', displayName: 'Whole Range', type: WholeRangeModel, info: wholeRangeSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.AxisBase.WholeRange' }; const radarWholeRange = { propertyName: 'radarWholeRange', modelName: 'WholeRange', displayName: 'Whole Range', info: visualRangeSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.AxisBase.WholeRange' }; const dashStyle = { propertyName: 'dashStyle', modelName: '@DashStyle', displayName: 'Dash Style', editor: editorTemplates.getEditor('combobox'), valuesArray: [{ value: 'Empty', displayValue: 'Empty', localizationId: 'DevExpress.XtraPivotGrid.PivotGridAppearances.Empty' }, { value: 'Solid', displayValue: 'Solid', localizationId: 'DevExpress.XtraCharts.FillMode3D.Solid' }, { value: 'Dash', displayValue: 'Dash', localizationId: 'DevExpress.XtraCharts.DashStyle.Dash' }, { value: 'Dot', displayValue: 'Dot', localizationId: 'DevExpress.XtraCharts.DashStyle.Dot' }, { value: 'DashDot', displayValue: 'DashDot' }, { value: 'DashDotDot', displayValue: 'DashDotDot' }], localizationId: 'DevExpress.XtraCharts.LineStyle.DashStyle' }; const lineStyleSerializationsInfo = [thickness, dashStyle], lineStyle = { propertyName: 'lineStyle', modelName: 'LineStyle', displayName: 'Line Style', info: lineStyleSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraReports.UI.XRShape.LineStyle' }, minorLineStyle = { propertyName: 'minorLineStyle', modelName: 'MinorLineStyle', displayName: 'Minor Line Style', info: lineStyleSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.GridLines.MinorLineStyle' }; const scaleMode = { propertyName: 'scaleName', modelName: '@ScaleMode', displayName: 'Scale Mode', editor: editorTemplates.getEditor('combobox'), valuesArray: [{ value: 'Automatic', displayValue: 'Automatic', localizationId: 'DevExpress.XtraCharts.ScaleMode.Automatic' }, { value: 'Manual', displayValue: 'Manual', localizationId: 'DevExpress.XtraCharts.ChartRangeControlClientSnapMode.Manual' }, { value: 'Continuous', displayValue: 'Continuous', localizationId: 'DevExpress.XtraCharts.ScaleMode.Continuous' }], localizationId: 'DevExpress.XtraCharts.ScaleOptionsBase.ScaleMode' }, aggregateFunction = { propertyName: 'aggregateFunction', modelName: '@AggregateFunction', displayName: 'Aggregate Function', editor: editorTemplates.getEditor('combobox'), valuesArray: [{ value: 'None', displayValue: 'None', localizationId: 'DevExpress.XtraReports.UI.MultiColumnMode.None' }, { value: 'Average', displayValue: 'Average', localizationId: 'ASPxReportsStringId.ReportDesigner_Wizard_SummaryOptions_Average' }, { value: 'Sum', displayValue: 'Sum', localizationId: 'ASPxReportsStringId.ReportDesigner_Wizard_SummaryOptions_Sum' }, { value: 'Minimum', displayValue: 'Minimum', localizationId: 'DevExpress.XtraReports.UI.XRGauge.Minimum' }, { value: 'Maximum', displayValue: 'Maximum', localizationId: 'DevExpress.XtraReports.UI.XRGauge.Maximum' }, { value: 'Count', displayValue: 'Count', localizationId: 'ASPxReportsStringId.ReportDesigner_Wizard_SummaryOptions_Count' }, { value: 'Financial', displayValue: 'Financial', localizationId: 'DevExpress.XtraCharts.SeriesAggregateFunction.Financial' }], localizationId: 'DevExpress.XtraCharts.XYDiagram3DSeriesViewBase.AggregateFunction' }, gridSpacing = { propertyName: 'gridSpacing', modelName: '@GridSpacing', displayName: 'Grid Spacing', localizationId: 'DevExpress.XtraCharts.ScaleGridOptionsBase.GridSpacing', defaultVal: 1.0, editor: editorTemplates.getEditor('numeric') }, autoGrid = { propertyName: 'autoGrid', modelName: '@AutoGrid', displayName: 'Auto Grid', localizationId: 'DevExpress.XtraCharts.ScaleGridOptionsBase.AutoGrid', editor: editorTemplates.getEditor('bool'), defaultVal: true, from: parseBool }, gridOffset = { propertyName: 'gridOffset', modelName: '@GridOffset', displayName: 'Grid Offset', localizationId: 'DevExpress.XtraCharts.ScaleGridOptionsBase.GridOffset', editor: editorTemplates.getEditor('numeric') }; const scaleOptionsBaseSerializationsInfo = [autoGrid, aggregateFunction, gridOffset, gridSpacing, scaleMode]; const numericMeasureUnit = { propertyName: 'measureUnit', modelName: '@MeasureUnit', displayName: 'Measure Unit', editor: editorTemplates.getEditor('combobox'), valuesArray: [{ value: 'Ones', displayValue: 'Ones', localizationId: 'DevExpress.XtraCharts.NumericMeasureUnit.Ones' }, { value: 'Tens', displayValue: 'Tens', localizationId: 'DevExpress.XtraCharts.NumericMeasureUnit.Tens' }, { value: 'Hundreds', displayValue: 'Hundreds', localizationId: 'DevExpress.XtraCharts.NumericMeasureUnit.Hundreds' }, { value: 'Thousands', displayValue: 'Thousands', localizationId: 'DevExpress.XtraCharts.NumericGridAlignment.Thousands' }, { value: 'Millions', displayValue: 'Millions', localizationId: 'DevExpress.XtraCharts.NumericMeasureUnit.Millions' }, { value: 'Billions', displayValue: 'Billions', localizationId: 'DevExpress.XtraCharts.NumericGridAlignment.Billions' }, { value: 'Custom', displayValue: 'Custom', localizationId: 'DevExpress.XtraReports.UI.SortingSummaryFunction.Custom' }], localizationId: 'DevExpress.XtraCharts.DateTimeScaleOptions.MeasureUnit' }, numericGridAlignment = { propertyName: 'gridAlignment', modelName: '@GridAlignment', displayName: 'Grid Alignment', editor: editorTemplates.getEditor('combobox'), valuesArray: [{ value: 'Ones', displayValue: 'Ones', localizationId: 'DevExpress.XtraCharts.NumericMeasureUnit.Ones' }, { value: 'Tens', displayValue: 'Tens', localizationId: 'DevExpress.XtraCharts.NumericMeasureUnit.Tens' }, { value: 'Hundreds', displayValue: 'Hundreds', localizationId: 'DevExpress.XtraCharts.NumericMeasureUnit.Hundreds' }, { value: 'Thousands', displayValue: 'Thousands', localizationId: 'DevExpress.XtraCharts.NumericGridAlignment.Thousands' }, { value: 'Millions', displayValue: 'Millions', localizationId: 'DevExpress.XtraCharts.NumericMeasureUnit.Millions' }, { value: 'Billions', displayValue: 'Billions', localizationId: 'DevExpress.XtraCharts.NumericGridAlignment.Billions' }, { value: 'Custom', displayValue: 'Custom', localizationId: 'DevExpress.XtraReports.UI.SortingSummaryFunction.Custom' }], localizationId: 'DevExpress.XtraCharts.ChartRangeControlClientDateTimeGridOptions.GridAlignment' }, customGridAlignment = { propertyName: 'customGridAlignment', modelName: '@CustomGridAlignment', defaultVal: null, displayName: 'Custom Grid Alignment', editor: editorTemplates.getEditor('numeric'), localizationId: 'DevExpress.XtraCharts.NumericScaleOptions.CustomGridAlignment' }, customMeasureUnit = { propertyName: 'customMeasureUnit', modelName: '@CustomMeasureUnit', defaultVal: null, displayName: 'Custom Measure Unit', editor: editorTemplates.getEditor('numeric'), localizationId: 'DevExpress.XtraCharts.NumericScaleOptions.CustomMeasureUnit' }; const numericScaleOptionsSerializationsInfo = [numericMeasureUnit, numericGridAlignment, customGridAlignment, customMeasureUnit].concat(scaleOptionsBaseSerializationsInfo), numericScaleOptions = { propertyName: 'numericScaleOptions', modelName: 'NumericScaleOptions', displayName: 'Numeric Scale Options', info: numericScaleOptionsSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.NumericScaleOptions' }; const radarAxisYNumericScaleOptionsSerializationsInfo = [autoGrid, numericGridAlignment, gridOffset, gridSpacing], radarAxisYNumericScaleOptions = { propertyName: 'radarAxisYNumericScaleOptions', modelName: 'NumericScaleOptions', displayName: 'Numeric Scale Options', info: radarAxisYNumericScaleOptionsSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.NumericScaleOptions' }; const radarAxisXNumericScaleOptionsSerializationsInfo = radarAxisYNumericScaleOptionsSerializationsInfo.concat(scaleMode), radarAxisXNumericScaleOptions = { propertyName: 'radarAxisXNumericScaleOptions', modelName: 'NumericScaleOptions', displayName: 'Numeric Scale Options', info: radarAxisXNumericScaleOptionsSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.NumericScaleOptions' }; const dateMeasureUnit = { propertyName: 'measureUnit', modelName: '@MeasureUnit', displayName: 'Measure Unit', editor: editorTemplates.getEditor('combobox'), valuesArray: [{ value: 'Millisecond', displayValue: 'Millisecond', localizationId: 'DevExpress.XtraCharts.DateTimeMeasureUnit.Millisecond' }, { value: 'Second ', displayValue: 'Second', localizationId: 'DevExpress.XtraPivotGrid.PivotGroupInterval.Second' }, { value: 'Minute', displayValue: 'Minute', localizationId: 'DevExpress.XtraPivotGrid.PivotGroupInterval.Minute' }, { value: 'Hour', displayValue: 'Hour', localizationId: 'DevExpress.XtraPivotGrid.PivotGroupInterval.Hour' }, { value: 'Day', displayValue: 'Day', localizationId: 'DevExpress.XtraPivotGrid.PivotGroupInterval.DateDay' }, { value: 'Week', displayValue: 'Week', localizationId: 'DevExpress.XtraCharts.DateTimeGridAlignment.Week' }, { value: 'Month', displayValue: 'Month', localizationId: 'DevExpress.XtraPivotGrid.PivotGroupInterval.DateMonth' }, { value: 'Quarter', displayValue: 'Quarter', localizationId: 'DevExpress.XtraPivotGrid.PivotGroupInterval.DateQuarter' }, { value: 'Year', displayValue: 'Year', localizationId: 'DevExpress.XtraPivotGrid.PivotGroupInterval.DateYear' }], localizationId: 'DevExpress.XtraCharts.DateTimeScaleOptions.MeasureUnit' }, dateGridAlignment = { propertyName: 'gridAlignment', modelName: '@GridAlignment', displayName: 'Grid Alignment', editor: editorTemplates.getEditor('combobox'), valuesArray: [{ value: 'Millisecond', displayValue: 'Millisecond', localizationId: 'DevExpress.XtraCharts.DateTimeMeasureUnit.Millisecond' }, { value: 'Second ', displayValue: 'Second', localizationId: 'DevExpress.XtraPivotGrid.PivotGroupInterval.Second' }, { value: 'Minute', displayValue: 'Minute', localizationId: 'DevExpress.XtraPivotGrid.PivotGroupInterval.Minute' }, { value: 'Hour', displayValue: 'Hour', localizationId: 'DevExpress.XtraPivotGrid.PivotGroupInterval.Hour' }, { value: 'Day', displayValue: 'Day', localizationId: 'DevExpress.XtraPivotGrid.PivotGroupInterval.DateDay' }, { value: 'Week', displayValue: 'Week', localizationId: 'DevExpress.XtraCharts.DateTimeGridAlignment.Week' }, { value: 'Month', displayValue: 'Month', localizationId: 'DevExpress.XtraPivotGrid.PivotGroupInterval.DateMonth' }, { value: 'Quarter', displayValue: 'Quarter', localizationId: 'DevExpress.XtraPivotGrid.PivotGroupInterval.DateQuarter' }, { value: 'Year', displayValue: 'Year', localizationId: 'DevExpress.XtraPivotGrid.PivotGroupInterval.DateYear' }], localizationId: 'DevExpress.XtraCharts.ChartRangeControlClientDateTimeGridOptions.GridAlignment' }, workdaysOnly = { propertyName: 'workdaysOnly', modelName: '@WorkdaysOnly', displayName: 'Workdays Only', editor: editorTemplates.getEditor('bool'), defaultVal: false, from: parseBool, localizationId: 'DevExpress.XtraCharts.DateTimeScaleOptions.WorkdaysOnly' }; const dateTimeScaleOptionsSerializationsInfo = [dateGridAlignment, dateMeasureUnit, workdaysOnly].concat(scaleOptionsBaseSerializationsInfo), dateTimeScaleOptions = { propertyName: 'dateTimeScaleOptions', modelName: 'DateTimeScaleOptions', displayName: 'Date-Time Scale Options', info: dateTimeScaleOptionsSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.DateTimeScaleOptions' }; export const qualitativeScaleOptionsSerializationInfo = [autoGrid, gridOffset, gridSpacing], qualitativeScaleOptions = { propertyName: 'qualitativeScaleOptions', modelName: 'QualitativeScaleOptions', displayName: 'Qualitative Scale Options', localizationId: 'DevExpress.XtraCharts.AxisX3D.QualitativeScaleOptions', info: qualitativeScaleOptionsSerializationInfo, editor: editorTemplates.getEditor('objecteditor') }; const visibleInPanesSerializable = { propertyName: 'visibleInPanesSerializable', modelName: '@VisibleInPanesSerializable', displayName: 'Visible In Panes Serializable', editor: editorTemplates.getEditor('text') }, minorVisible = { propertyName: 'minorVisible', modelName: '@MinorVisible', displayName: 'Minor Visible', defaultVal: false, editor: editorTemplates.getEditor('bool'), from: parseBool, localizationId: 'DevExpress.XtraCharts.TickmarksBase.MinorVisible' }, minorColor = { propertyName: 'minorColor', modelName: '@MinorColor', displayName: 'Minor Color', from: colorFromString, toJsonObject: colorToString, editor: editorTemplates.getEditor('customColorEditor'), localizationId: 'DevExpress.XtraCharts.GridLines.MinorColor' }; const gridLinesAxisBaseSerializationsInfo = [visible, minorVisible, color, minorColor, lineStyle, minorLineStyle]; export const gridLinesAxisX = { propertyName: 'gridLinesAxisX', modelName: 'GridLines', displayName: 'Grid Lines', info: gridLinesAxisBaseSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.AxisBase.GridLines' }, gridLinesAxisY = { propertyName: 'gridLinesAxisY', modelName: 'GridLines', displayName: 'Grid Lines', info: gridLinesAxisBaseSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.AxisBase.GridLines' }; const straggered = { propertyName: 'straggered', modelName: '@Staggered', displayName: 'Staggered', editor: editorTemplates.getEditor('bool'), defaultVal: false, from: parseBool, localizationId: 'DevExpress.XtraCharts.AxisLabel.Staggered' }, allowStagger = { propertyName: 'allowStagger', modelName: '@AllowStagger', displayName: 'Allow Stagger', editor: editorTemplates.getEditor('bool'), defaultVal: true, from: parseBool, localizationId: 'DevExpress.XtraCharts.AxisLabelResolveOverlappingOptions.AllowStagger' }, allowRotate = { propertyName: 'allowRotate', modelName: '@AllowRotate', displayName: 'Allow Rotate', editor: editorTemplates.getEditor('bool'), defaultVal: true, from: parseBool, localizationId: 'DevExpress.XtraCharts.AxisLabelResolveOverlappingOptions.AllowRotate' }, allowHide = { propertyName: 'allowHide', modelName: '@AllowHide', displayName: 'Allow Hide', editor: editorTemplates.getEditor('bool'), defaultVal: true, from: parseBool, localizationId: 'DevExpress.XtraCharts.AxisLabelResolveOverlappingOptions.AllowHide' }, minIndent = { propertyName: 'minIndent', modelName: '@MinIndent', displayName: 'Min Indent', editor: editorTemplates.getEditor('numeric'), localizationId: 'DevExpress.XtraCharts.AxisLabelResolveOverlappingOptions.MinIndent' }, axisLabelResolveOverlappingOptionsSerializationsInfo = [allowStagger, allowRotate, allowHide, minIndent], axisLabelResolveOverlappingOptions = { propertyName: 'resolveOverlappingOptions', modelName: 'ResolveOverlappingOptions', displayName: 'Resolve Overlapping Options', editor: editorTemplates.getEditor('objecteditor'), info: axisLabelResolveOverlappingOptionsSerializationsInfo, localizationId: 'DevExpress.XtraCharts.AxisLabel.ResolveOverlappingOptions' }, enableAntialiasing = { propertyName: 'enableAntialiasing', modelName: '@EnableAntialiasing', displayName: 'Enable Antialiasing', editor: editorTemplates.getEditor('combobox'), valuesArray: defaultBooleanValues, localizationId: 'DevExpress.XtraCharts.TitleBase.EnableAntialiasing' }; const axisLabelBaseSerializationsInfo = [enableAntialiasing, font, maxLineCount, maxWidth, axisLabelResolveOverlappingOptions, textAlignment, textColor, textPattern]; const axisLabelSerializationsInfo = [angle, straggered, visibility].concat(axisLabelBaseSerializationsInfo), axisLabel = { propertyName: 'axisLabel', modelName: 'Label', displayName: 'Label', editor: editorTemplates.getEditor('objecteditor'), info: axisLabelSerializationsInfo, localizationId: 'DevExpress.XtraReports.UI.XRLabel' }; const minorCount = { propertyName: 'minorCount', modelName: '@MinorCount', displayName: 'Minor Count', editor: editorTemplates.getEditor('numeric'), localizationId: 'DevExpress.XtraCharts.AxisBase.MinorCount' }, interlaced = { propertyName: 'interlaced', modelName: '@Interlaced', displayName: 'Interlaced', from: parseBool, defaultVal: false, editor: editorTemplates.getEditor('bool'), localizationId: 'DevExpress.XtraCharts.AxisBase.Interlaced' }, interlacedColor = { propertyName: 'interlacedColor', modelName: '@InterlacedColor', displayName: 'Interlaced Color', editor: editorTemplates.getEditor('customColorEditor'), from: colorFromString, toJsonObject: colorToString, localizationId: 'DevExpress.XtraCharts.AxisBase.InterlacedColor' }; const axisBaseSerializationsInfo = [visualRange, wholeRange, numericScaleOptions, dateTimeScaleOptions, minorCount, interlacedColor]; const axisFillMode = { propertyName: 'fillMode', modelName: '@FillMode', displayName: 'Fill Mode', editor: editorTemplates.getEditor('combobox'), valuesArray: [{ value: 'Empty', displayValue: 'Empty', localizationId: 'DevExpress.XtraPivotGrid.PivotGridAppearances.Empty' }, { value: 'Solid', displayValue: 'Solid', localizationId: 'DevExpress.XtraCharts.FillMode3D.Solid' }, { value: 'Gradient', displayValue: 'Gradient', localizationId: 'DevExpress.XtraCharts.FillMode3D.Gradient' }, { value: 'Hatch', displayValue: 'Hatch', localizationId: 'DevExpress.XtraCharts.FillMode.Hatch' }], localizationId: 'DevExpress.XtraCharts.FillStyle3D.FillMode' }, fillStyle2D = [axisFillMode]; const rectangleFillStyleSerializationsInfo = [].concat(fillStyle2D), interlacedFillStyle = { propertyName: 'InterlacedFillStyle', modelName: 'InterlacedFillStyle', displayName: 'Interlaced Fill Style', info: rectangleFillStyleSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.RadarAxis.InterlacedFillStyle' }; const crossAxis = { propertyName: 'crossAxis', modelName: '@CrossAxis', displayName: 'Cross Axis', editor: editorTemplates.getEditor('bool'), defaultVal: false, from: parseBool, localizationId: 'DevExpress.XtraCharts.TickmarksBase.CrossAxis' }, minorThickness = { propertyName: 'minorThickness', modelName: '@MinorThickness', displayName: 'Minor Thickness', editor: editorTemplates.getEditor('numeric'), defaultVal: 1, localizationId: 'DevExpress.XtraCharts.TickmarksBase.MinorThickness' }, minorLength = { propertyName: 'minorLength', modelName: '@MinorLength', displayName: 'Minor Length', editor: editorTemplates.getEditor('numeric'), defaultVal: 2, localizationId: 'DevExpress.XtraCharts.TickmarksBase.MinorLength' }, lengthinfo = { propertyName: 'length', modelName: '@Length', displayName: 'Length', editor: editorTemplates.getEditor('numeric'), defaultVal: 5, localizationId: 'DevExpress.XtraCharts.TickmarksBase.Length' }, tickmarksMinorVisible = { propertyName: 'minorVisible', modelName: '@MinorVisible', displayName: 'Minor Visible', defaultVal: true, editor: editorTemplates.getEditor('bool'), from: parseBool, localizationId: 'DevExpress.XtraCharts.TickmarksBase.MinorVisible' }, tickmarksBaseSerializationsInfo = [visible, tickmarksMinorVisible, crossAxis, thickness, minorThickness, lengthinfo, minorLength], tickmarksSerializationsInfo = [].concat(tickmarksBaseSerializationsInfo); const tickmarks = { propertyName: 'tickmarks', modelName: 'Tickmarks', displayName: 'Tickmarks', editor: editorTemplates.getEditor('objecteditor'), info: tickmarksSerializationsInfo, localizationId: 'DevExpress.XtraCharts.RadarAxisY.Tickmarks' }; const axisAlignment = { propertyName: 'axisAlignment', modelName: '@Alignment', displayName: 'Alignment', editor: editorTemplates.getEditor('combobox'), valuesArray: [{ value: 'Near', displayValue: 'Near', localizationId: 'DevExpress.XtraCharts.ConstantLineTitleAlignment.Near' }, { value: 'Zero', displayValue: 'Zero', localizationId: 'DevExpress.XtraCharts.AxisAlignment.Zero' }, { value: 'Far', displayValue: 'Far', localizationId: 'DevExpress.XtraCharts.ConstantLineTitleAlignment.Far' }], localizationId: 'DevExpress.XtraReports.UI.XRBarCode.Alignment' }; const pattern = { propertyName: 'pattern', modelName: '@Pattern', displayName: 'Pattern', editor: editorTemplates.getEditor('text'), localizationId: 'DevExpress.XtraCharts.CrosshairAxisLabelOptions.Pattern' }, crosshairAxisLabelOptionsSerializationsInfo = [visibility, pattern, backColor, textColor, font]; const crosshairAxisLabelOptions = { propertyName: 'crosshairAxisLabelOptions', modelName: 'CrosshairAxisLabelOptions', displayName: 'Crosshair Axis Label Options', editor: editorTemplates.getEditor('objecteditor'), info: crosshairAxisLabelOptionsSerializationsInfo, localizationId: 'DevExpress.XtraCharts.Axis2D.CrosshairAxisLabelOptions' }; const axisTitleVisibility = { propertyName: 'axisTitleVisibility', modelName: '@Visibility', displayName: 'Visibility', defaultVal: 'False', editor: editorTemplates.getEditor('combobox'), valuesArray: defaultBooleanValues, localizationId: 'DevExpress.XtraCharts.BorderBase.Visibility' }; const axisTitleSerializationsInfo = [antialiasing, axisTitleVisibility, font12].concat(titleSerializationsInfo), axisTitle = extend(true, {}, title, { propertyName: 'axisTitle', info: axisTitleSerializationsInfo }); const crosshairLabelVisibility = { propertyName: 'crosshairLabelVisibility', modelName: '@CrosshairLabelVisibility', displayName: 'Crosshair Label Visibility', editor: editorTemplates.getEditor('combobox'), valuesArray: defaultBooleanValues, localizationId: 'DevExpress.XtraCharts.SeriesBase.CrosshairLabelVisibility' }; const axis2DSerializationsInfo = [interlaced, interlacedFillStyle, tickmarks, axisTitle, visibility, axisAlignment, axisLabel, thickness, color, crosshairLabelVisibility, visibleInPanesSerializable, crosshairAxisLabelOptions].concat(axisBaseSerializationsInfo); const axisY3DInterlaced = { propertyName: 'axisY3DInterlaced', modelName: '@Interlaced', displayName: 'Interlaced', from: parseBool, defaultVal: true, editor: editorTemplates.getEditor('bool'), localizationId: 'DevExpress.XtraCharts.AxisBase.Interlaced' }; const axisFillMode3D = { propertyName: 'fillMode', modelName: '@FillMode', displayName: 'Fill Mode', editor: editorTemplates.getEditor('combobox'), valuesArray: [{ value: 'Empty', displayValue: 'Empty', localizationId: 'DevExpress.XtraPivotGrid.PivotGridAppearances.Empty' }, { value: 'Solid', displayValue: 'Solid', localizationId: 'DevExpress.XtraCharts.FillMode3D.Solid' }, { value: 'Gradient', displayValue: 'Gradient', localizationId: 'DevExpress.XtraCharts.FillMode3D.Gradient' }], localizationId: 'DevExpress.XtraCharts.FillStyle3D.FillMode' }, fillStyle3D = [axisFillMode]; const rectangleFillStyle3DSerializationsInfo = [].concat(fillStyle3D), rectangleFillStyle3D = { propertyName: 'interlacedFillStyle', modelName: 'InterlacedFillStyle', displayName: 'Interlaced Fill Style', info: rectangleFillStyle3DSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.RadarAxis.InterlacedFillStyle' }, axisLabel3DPosition = { propertyName: 'axisLabel3DPosition', modelName: '@AxisLabel3DPosition', displayName: 'Axis Label 3D Position', editor: editorTemplates.getEditor('combobox'), valuesArray: [{ value: 'Bottom', displayValue: 'Bottom', localizationId: 'DevExpress.XtraReports.UI.XRDockStyle.Bottom' }, { value: 'Left', displayValue: 'Left', localizationId: 'DevExpress.XtraReports.UI.XRControl.Left' }, { value: 'Right', displayValue: 'Right', localizationId: 'DevExpress.XtraCharts.RectangleIndents.Right' }, { value: 'Top', displayValue: 'Top', localizationId: 'DevExpress.XtraReports.UI.XRDockStyle.Top' }, { value: 'Auto', displayValue: 'Auto', localizationId: 'DevExpress.XtraReports.UI.DocumentExportMode.Auto' }] }; const axisLabel3DSerializationsInfo = [axisLabel3DPosition].concat(axisLabelSerializationsInfo), axisLabel3D = { propertyName: 'axisLabel3D', modelName: 'Label', displayName: 'Label', info: axisLabel3DSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraReports.UI.XRLabel' }; const axis3DSerializationsInfo = [rectangleFillStyle3D, axisLabel3D].concat(axisBaseSerializationsInfo); const sizeInPixels = { propertyName: 'sizeInPixels', modelName: '@SizeInPixels', displayName: 'Size In Pixels', editor: editorTemplates.getEditor('numeric'), localizationId: 'DevExpress.XtraCharts.XYDiagramPaneBase.SizeInPixels' }, scaleBreakStyle = { propertyName: 'style', modelName: '@Style', displayName: 'Style', editor: editorTemplates.getEditor('combobox'), valuesArray: [{ value: 'Straight', displayValue: 'Straight', localizationId: 'DevExpress.XtraCharts.ScaleBreakStyle.Straight' }, { value: 'Ragged', displayValue: 'Ragged', localizationId: 'DevExpress.XtraCharts.ScaleBreakStyle.Ragged' }, { value: 'Waved', displayValue: 'Waved', localizationId: 'DevExpress.XtraCharts.ScaleBreakStyle.Waved' }], localizationId: 'DevExpress.XtraReports.UI.ConditionFormatting.Style' }, scaleBreaksOptionsSerializationsInfo = [sizeInPixels, color, scaleBreakStyle]; const scaleBreaksOptions = { propertyName: 'scaleBreakOptions', modelName: 'ScaleBreakOptions', displayName: 'Scale Break Options', info: scaleBreaksOptionsSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.Axis.ScaleBreakOptions' }; const enabled = { propertyName: 'enabled', modelName: '@Enabled', displayName: 'Enabled', defaultVal: false, editor: editorTemplates.getEditor('bool'), from: parseBool, localizationId: 'DevExpress.XtraReports.UI.EditOptions.Enabled' }, maxCount = { propertyName: 'maxCount', modelName: '@MaxCount', displayName: 'Max Count', editor: editorTemplates.getEditor('numeric'), localizationId: 'DevExpress.XtraCharts.AutoScaleBreaks.MaxCount' }, autoScaleBreaksSerializationsInfo = [enabled, maxCount]; const edge1 = { propertyName: 'edge1', modelName: '@Edge1Serializable', displayName: 'Edge1', localizationId: 'DevExpress.XtraCharts.ScaleBreak.Edge1', editor: editorTemplates.getEditor('numeric') }, edge2 = { propertyName: 'edge2', modelName: '@Edge2Serializable', displayName: 'Edge2', localizationId: 'DevExpress.XtraCharts.ScaleBreak.Edge2', editor: editorTemplates.getEditor('numeric') }; const scaleBreaks = { propertyName: 'scaleBreaks', modelName: 'ScaleBreaks', displayName: 'Scale Breaks', localizationId: 'DevExpress.XtraCharts.Axis.ScaleBreaks', array: true, editor: chartEditorTemplates.getEditor('collection') }; export const scaleBreakSerializationsInfo = [edge1, edge2, visible, name, tag]; const autoScaleBreaks = { propertyName: 'autoScaleBreaks', modelName: 'AutoScaleBreaks', displayName: 'Auto Scale Breaks', editor: editorTemplates.getEditor('objecteditor'), info: autoScaleBreaksSerializationsInfo, localizationId: 'DevExpress.XtraCharts.Axis.AutoScaleBreaks' }, reverse = { propertyName: 'axisReverse', modelName: '@Reverse', displayName: 'Reverse', editor: editorTemplates.getEditor('bool'), from: parseBool, localizationId: 'DevExpress.XtraCharts.Axis.Reverse' }; export const axisValueSerializable = { propertyName: '_axisValue', modelName: '@AxisValueSerializable' }, axisValue = { propertyName: 'axisValue', displayName: 'Axis Value', localizationId: 'DevExpress.XtraCharts.AxisCoordinate.AxisValue', editor: editorTemplates.getEditor('text') }, showBehind = { propertyName: 'showBehind', modelName: '@ShowBehind', from: parseBool, displayName: 'Show Behind', localizationId: 'DevExpress.XtraCharts.ConstantLine.ShowBehind', editor: editorTemplates.getEditor('bool') }; export const legendName = { propertyName: 'legendName', modelName: '@LegendName', displayName: 'Legend', localizationId: 'DevExpress.XtraCharts.ConstantLine.Legend', defaultVal: 'Default Legend', editor: chartEditorTemplates.getEditor('legends') }; export const showAxisLabel = { propertyName: 'showAxisLabel', modelName: '@ShowAxisLabel', displayName: 'Show Axis Label', localizationId: 'DevExpress.XtraCharts.Strip.ShowAxisLabel', editor: editorTemplates.getEditor('bool'), from: parseBool }, axisLabelText = { propertyName: 'axisLabelText', modelName: '@AxisLabelText', displayName: 'Axis Label Text', localizationId: 'DevExpress.XtraCharts.Strip.AxisLabelText', localizable: true, editor: editorTemplates.getEditor('text') }; const strips = { propertyName: 'strips', modelName: 'Strips', displayName: 'Strips', localizationId: 'DevExpress.XtraCharts.Axis2D.Strips', array: true, editor: chartEditorTemplates.getEditor('collection') }; const constantLineTitleSerializationsInfo = [antialiasing, visibility, font8, tag].concat(titleSerializationsInfo), constantLineTitle = extend(true, {}, title, { info: constantLineTitleSerializationsInfo }); export const constantLineSerializationsInfo = [axisValueSerializable, axisValue, name, visible, color, showInLegend, legendName, legendText, showBehind, tag, constantLineTitle]; const constantLines = { propertyName: 'constantLines', modelName: 'ConstantLines', displayName: 'Constant Lines', localizationId: 'DevExpress.XtraCharts.Axis2D.ConstantLines', array: true, editor: chartEditorTemplates.getEditor('collection') }; const axisSerializationsInfo = [reverse, scaleBreaksOptions, autoScaleBreaks].concat(axis2DSerializationsInfo); export const axisXYSerializationsInfo = [constantLines, scaleBreaks, strips].concat(axisSerializationsInfo); const axisID = { propertyName: 'axisID', modelName: '@AxisID' }; export const secondaryAxisXYSerializationsInfo = [name, axisID].concat(axisXYSerializationsInfo); const topLevel = { propertyName: 'topLevel', modelName: '@TopLevel', displayName: 'Top Level', editor: editorTemplates.getEditor('numeric'), localizationId: 'DevExpress.XtraCharts.RadarAxisY.TopLevel' }, radarAxisXLabelTextDirection = { propertyName: 'textDirection', modelName: 'TextDirection', displayName: 'Text Direction', editor: editorTemplates.getEditor('combobox'), valuesArray: [{ value: 'LeftToRight', displayValue: 'LeftToRight', localizationId: 'ChartStringId.WizGradientLeftToRight' }, { value: 'TopToBottom', displayValue: 'TopToBottom', localizationId: 'ChartStringId.WizSeriesLabelTextOrientationTopToBottom' }, { value: 'BottomToTop', displayValue: 'BottomToTop', localizationId: 'ChartStringId.WizSeriesLabelTextOrientationBottomToTop' }, { value: 'Radial', displayValue: 'Radial', localizationId: 'DevExpress.XtraCharts.PieSeriesLabelPosition.Radial' }, { value: 'Tangent', displayValue: 'Tangent', localizationId: 'DevExpress.XtraCharts.PieSeriesLabelPosition.Tangent' }], localizationId: 'DevExpress.XtraCharts.RadarAxisXLabel.TextDirection' }; const radarAxisXLabelSerializationsInfo = axisLabelBaseSerializationsInfo.concat(radarAxisXLabelTextDirection), radarAxisXLabel = { propertyName: 'radarAxisXLabel', modelName: 'Label', displayName: 'Label', info: radarAxisXLabelSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraReports.UI.XRLabel' }, radarAxisYLabel = { propertyName: 'radarAxisYLabel', modelName: 'Label', displayName: 'Label', info: axisLabelBaseSerializationsInfo.concat([angle, visible]), editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraReports.UI.XRLabel' }; const radarAxisSerializationsInfo = [interlaced, interlacedColor, interlacedFillStyle, visualRange, minorCount, dateTimeScaleOptions], radarAxisXSerializationsInfo = [radarAxisXNumericScaleOptions, radarWholeRange, gridLinesAxisX, radarAxisXLabel, qualitativeScaleOptions].concat(radarAxisSerializationsInfo), radarAxisYSerializationsInfo = [color, thickness, visible, radarAxisYNumericScaleOptions, topLevel, wholeRange, gridLinesAxisY, radarAxisYLabel, tickmarks].concat(radarAxisSerializationsInfo); export const radarAxisX = { propertyName: 'axisX', modelName: 'AxisX', displayName: 'Axis X', info: radarAxisXSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.GanttAxisX' }; export const radarAxisY = { propertyName: 'axisY', modelName: 'AxisY', displayName: 'Axis Y', info: radarAxisYSerializationsInfo, editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.SeparatePaneIndicator.AxisY' }; export const axisX3D = { propertyName: 'axisX', modelName: 'AxisX', displayName: 'Axis X', info: [gridLinesAxisX, interlaced, qualitativeScaleOptions].concat(axis3DSerializationsInfo), editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.GanttAxisX' }; export const axisY3D = { propertyName: 'axisY', modelName: 'AxisY', displayName: 'Axis Y', info: [gridLinesAxisY, axisY3DInterlaced].concat(axis3DSerializationsInfo), editor: editorTemplates.getEditor('objecteditor'), localizationId: 'DevExpress.XtraCharts.SeparatePaneIndicator.AxisY' };