UNPKG

@syncfusion/ej2-pivotview

Version:

The pivot grid, or pivot table, is used to visualize large sets of relational data in a cross-tabular format, similar to an Excel pivot table.

2,250 lines (1,892 loc) 91.1 kB
import { Property, ChildProperty, EmitType, Event, Complex, Collection } from '@syncfusion/ej2-base';import { BorderModel as PivotChartBorderModel, ErrorBarSettingsModel as PivotChartErrorBarSettingsModel, AccumulationLabelPosition, ILegendClickEventArgs, titleSettings } from '@syncfusion/ej2-charts';import { ChartDrawType, ChartShape, DataLabelSettingsModel as PivotChartDataLabelSettingsModel, ZoomMode } from '@syncfusion/ej2-charts';import { ErrorBarType, ErrorBarDirection, ErrorBarMode, TrendlineTypes, ToolbarItems, IScrollEventArgs } from '@syncfusion/ej2-charts';import { EmptyPointMode, TextOverflow, Alignment, ZIndex, Anchor, SizeType, BorderType, LineType } from '@syncfusion/ej2-charts';import { TrendlineModel as PivotChartTrendlineModel, LegendShape, SplineType, ILegendRenderEventArgs } from '@syncfusion/ej2-charts';import { AnimationModel as PivotChartAnimationModel, ChartSegmentModel as PivotChartSegmentModel } from '@syncfusion/ej2-charts';import { EdgeLabelPlacement, LabelPlacement, MajorTickLinesModel as PivotChartMajorTickLinesModel } from '@syncfusion/ej2-charts';import { MinorGridLinesModel as PivotChartMinorGridLinesModel, AxisLineModel as PivotChartAxisLineModel } from '@syncfusion/ej2-charts';import { ChartAreaModel as PivotChartAreaModel, IndexesModel as PivotChartIndexesModel, GroupModes } from '@syncfusion/ej2-charts';import { IResizeEventArgs, IPrintEventArgs, FontModel as PivotChartFontModel, LegendPosition } from '@syncfusion/ej2-charts';import { ITextRenderEventArgs, IPointRenderEventArgs, ISeriesRenderEventArgs, ITooltipRenderEventArgs } from '@syncfusion/ej2-charts';import { IMouseEventArgs, IPointEventArgs, EmptyPointSettingsModel as PivotChartEmptyPointSettingsModel } from '@syncfusion/ej2-charts';import { LabelIntersectAction, ErrorBarCapSettingsModel as PivotChartErrorBarCapSettingsModel, ChartTheme } from '@syncfusion/ej2-charts';import { CornerRadiusModel as PivotChartCornerRadiusModel, AccumulationSelectionMode, titleSettingsModel } from '@syncfusion/ej2-charts';import { MajorGridLinesModel as PivotChartMajorGridLinesModel, ConnectorType, PyramidModes } from '@syncfusion/ej2-charts';import { IAnimationCompleteEventArgs, StripLineSettingsModel as PivotChartStripLineSettingsModel } from '@syncfusion/ej2-charts';import { CrosshairTooltipModel as PivotChartCrosshairTooltipModel, IZoomCompleteEventArgs } from '@syncfusion/ej2-charts';import { LocationModel as PivotChartLocationModel, AccEmptyPointMode, MarkerSettingsModel as PivotChartMarkerSettingsModel } from '@syncfusion/ej2-charts';import { CrosshairSettingsModel as PivotChartCrosshairSettingsModel, IDragCompleteEventArgs } from '@syncfusion/ej2-charts';import { LabelBorderModel as PivotChartLabelBorderModel, MarginModel as PivotChartMarginModel } from '@syncfusion/ej2-charts';import { MinorTickLinesModel as PivotChartMinorTickLinesModel, IAxisLabelRenderEventArgs } from '@syncfusion/ej2-charts';import { Segment, AxisPosition, LegendSettingsModel, ILoadedEventArgs, SelectionPattern } from '@syncfusion/ej2-charts';import { ChartSeriesType, ChartSelectionMode } from '../../common/base/enum';import { axisLabelFont, axisTitleFont, crosshairLabelFont, legendLabelFont, stripLineLabelFont, tooltipLabelFont } from '../../common/base/themes';import { MultiLevelLabelClickEventArgs, MultiLevelLabelRenderEventArgs, OffsetModel as PivotChartOffsetModel } from '../../common/base/interface';import { LabelPosition, MultipleAxisMode } from '../../common/base/enum'; /** * Interface for a class Animation */ export interface AnimationModel { /** * Allow the chart series gets animated on initial loading. * * @default true */ enable?: boolean; /** * Allows to set the duration of animation in milliseconds. * * @default 1000 */ duration?: number; /** * Allows to delay the animation of the chart series. * * @default 0 */ delay?: number; } /** * Interface for a class ChartSegment */ export interface ChartSegmentModel { /** * Allows to set the starting point of region. * * @default null */ value?: object; /** * Allows to set the color of a region. * * @default null */ color?: string; /** * Allows to set the pattern of dashes and gaps to stroke. * * @default '0' */ dashArray?: string; } /** * Interface for a class Font */ export interface FontModel { /** * Allows to set the font style to the text in the chart. * * @default 'Normal' */ fontStyle?: string; /** * Allows to set the font size to the text in the chart. * * @default '16px' */ size?: string; /** * Allows to set the font weight to the text in the chart. * * @default 'Normal' */ fontWeight?: string; /** * Allows to set color to the text in the chart. * * @default '' */ color?: string; /** * Allows to set text alignment in the chart * * @default 'Center' */ textAlignment?: Alignment; /** * Allows to set font family to the text in the chart. * * @default 'Segoe UI' */ fontFamily?: string; /** * Allows to set opacity to the text in the chart. * * @default 1 */ opacity?: number; /** * Allows to specify the chart title text overflow * * @default 'Trim' */ textOverflow?: TextOverflow; } /** * Interface for a class Margin */ export interface MarginModel { /** * Allows to set the left margin in pixels. * * @default 10 */ left?: number; /** * Allows to set the right margin in pixels. * * @default 10 */ right?: number; /** * Allows to set the top margin in pixels. * * @default 10 */ top?: number; /** * Allows to set the bottom margin in pixels. * * @default 10 */ bottom?: number; } /** * Interface for a class Border */ export interface BorderModel { /** * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string. * * @default '' */ color?: string; /** * Allows to set the width of the border in pixels. * * @default 1 */ width?: number; } /** * Interface for a class Offset */ export interface OffsetModel { /** * Allows to set the x(left) value of the marker position * * @default 0 */ x?: number; /** * Allows to set the y(top) value of the marker position * * @default 0 */ y?: number; } /** * Interface for a class Indexes */ export interface IndexesModel { /** * Allows to specify the series index * * @default 0 * @aspType int */ series?: number; /** * Allows to specify the point index * * @default 0 * @aspType int */ point?: number; } /** * Interface for a class ChartArea */ export interface ChartAreaModel { /** * Allows options to customize the border of the chart area. */ border?: PivotChartBorderModel; /** * Allows to set the background of the chart area that accepts value in hex and rgba as a valid CSS color string. * * @default 'transparent' */ background?: string; /** * Allows to set the opacity to the background of the chart area. * * @default 1 */ opacity?: number; /** * Allows to set the background image of the chart area that accepts value in string as url link or location of an image. * * @default null */ backgroundImage?: string; } /** * Interface for a class CrosshairSettings */ export interface CrosshairSettingsModel { /** * Allows to show the crosshair lines in the chart. * * @default false */ enable?: boolean; /** * Allows to set the pattern of dashes and gaps to crosshair. * * @default '' */ dashArray?: string; /** * Allow options to customize the border of the crosshair line such as color and border size in the pivot chart. */ line?: PivotChartBorderModel; /** * Allows to specify the line type of the crosshair. Horizontal mode enables the horizontal line and Vertical mode enables the vertical line. They are, * * None: Hides both vertical and horizontal crosshair lines. * * Both: Shows both vertical and horizontal crosshair lines. * * Vertical: Shows the vertical line. * * Horizontal: Shows the horizontal line. * * @default Both */ lineType?: LineType; } /** * Interface for a class DataLabelSettings */ export interface DataLabelSettingsModel { /** * Allows to set the visibility of data label to the series renders. * * @default false */ visible?: boolean; /** * Allows to set the data source field that contains the data label value. * * @default null */ name?: string; /** * Allows to set the background color of the data label accepts value in hex and rgba as a valid CSS color string. * * @default 'transparent' */ fill?: string; /** * Allows to set the opacity to the background. * * @default 1 */ opacity?: number; /** * Allows to specify the rotation angle to data label. * * @default 0 */ angle?: number; /** * Allows to set whether rotation to data label is enable or not. * * @default false */ enableRotation?: boolean; /** * Allows to specify the position of the data label. They are, * * Outer: Positions the label outside the point. * * top: Positions the label on top of the point. * * Bottom: Positions the label at the bottom of the point. * * Middle: Positions the label to the middle of the point. * * Auto: Positions the label based on series. * * @default 'Auto' */ position?: LabelPosition; /** * Allows to set the roundedCornerX for the data label. It requires `border` values not to be null. * * @default 5 */ rx?: number; /** * Allows to set the roundedCornerY for the data label. It requires `border` values not to be null. * * @default 5 */ ry?: number; /** * Allows to set the alignment for data Label. They are, * * Near: Aligns the label to the left of the point. * * Center: Aligns the label to the center of the point. * * Far: Aligns the label to the right of the point. * * @default 'Center' */ alignment?: Alignment; /** * Allows option for customizing the border lines. */ border?: PivotChartBorderModel; /** * Allows customize the margin to the data label. */ margin?: PivotChartMarginModel; /** * Allows option for customizing the data label text. */ font?: PivotChartFontModel; /** * Allows custom template to show the data label. Use ${point.x} and ${point.y} as a placeholder * text to display the corresponding data point. * * @default null * @aspType string */ template?: string | Function; } /** * Interface for a class PivotChartConnectorStyle */ export interface PivotChartConnectorStyleModel { /** * specifies the type of the connector line for pie, funnel, doughnut and pyramid chart. They are * * curve * * Line * * @default 'Line' */ type?: ConnectorType; /** * Specifies the color of the connector line for pie, funnel, doughnut and pyramid chart. * * @default null */ color?: string; /** * Width of the connector line in pixels for pie, funnel, doughnut and pyramid chart. * * @default 1 */ width?: number; /** * Length of the connector line in pixels for pie, funnel, doughnut and pyramid chart. * * @default 'null' */ length?: string; /** * dashArray of the connector line for pie, funnel, doughnut and pyramid chart. * * @default '' */ dashArray?: string; } /** * Interface for a class PivotChartDataLabel */ export interface PivotChartDataLabelModel { /** * Allows to set the visibility of data label to the series renders. * * @default true */ visible?: boolean; /** * Allows to set the border to data labels. */ border?: PivotChartBorderModel; /** * Allows to customize the font of data labels. */ font?: PivotChartFontModel; /** * Allows to set the background color of the data label accepts value in hex and rgba as a valid CSS color string. * * @default 'transparent' */ fill?: string; /** * Allows to specify the rotation angle to data label. * * @default 0 */ angle?: number; /** * Allows to set whether rotation to data label is enable or not. * * @default false */ enableRotation?: boolean; /** * Allows to specify the position of the data label. They are, * * Outside: Positions the label outside the point. * * Inside: Positions the label on top of the point. * * @default 'Outside' */ position?: AccumulationLabelPosition; /** * Allows to set the roundedCornerX for the data label. It requires `border` values not to be null. * * @default 5 */ rx?: number; /** * Allows to set the roundedCornerY for the data label. It requires `border` values not to be null. * * @default 5 */ ry?: number; /** * Allows custom template to show the data label. Use ${point.x} and ${point.y} as a placeholder * text to display the corresponding data point. * * @default null * @aspType string */ template?: string | Function; /** * Allows custom connector of the pie, funnel, pyramid and doughnut chart data label. * * @default null */ connectorStyle?: PivotChartConnectorStyleModel; } /** * Interface for a class MarkerSettings */ export interface MarkerSettingsModel { /** * Allows the visibility of the marker for chart series. * > This is applicable only for line and area type series. * * @default false */ visible?: boolean; /** * Allows to specify the shape of a marker.They are * * Circle - Renders a circle. * * Rectangle - Renders a rectangle. * * Triangle - Renders a triangle. * * Diamond - Renders a diamond. * * Cross - Renders a cross. * * HorizontalLine - Renders a horizontalLine. * * VerticalLine - Renders a verticalLine. * * Pentagon- Renders a pentagon. * * InvertedTriangle - Renders a invertedTriangle. * * Image - Renders a image. * * @default 'Circle' */ shape?: ChartShape; /** * Allows to set the URL for the Image that is to be displayed as a marker. It requires marker `shape` value to be an `Image`. * * @default '' */ imageUrl?: string; /** * Allows to set the width of the marker in pixels. * * @default 5 */ width?: number; /** * Allows to set the height of the marker in pixels. * * @default 5 */ height?: number; /** * Allows options for customizing the border of a marker. */ border?: PivotChartBorderModel; /** * Allows options for customizing the marker position. */ offset?: PivotChartOffsetModel; /** * Allows to set the fill color of the marker that accepts value in hex and rgba as a valid CSS color string. * By default, it will take series' color. * * @default null */ fill?: string; /** * Allows to set the opacity of the marker. * * @default 1 */ opacity?: number; /** * Allows to set the data label for the series. */ dataLabel?: PivotChartDataLabelSettingsModel; } /** * Interface for a class ErrorBarCapSettings */ export interface ErrorBarCapSettingsModel { /** * Allows to set the width of the error bar in pixels. * * @default 1 */ width?: number; /** * Allows to set the length of the error bar in pixels. * * @default 10 */ length?: number; /** * Allows to set the stroke color of the cap, which accepts value in hex, rgba as a valid CSS color string. * * @default null */ color?: string; /** * Allows to set the opacity of the cap. * * @default 1 */ opacity?: number; } /** * Interface for a class ErrorBarSettings */ export interface ErrorBarSettingsModel { /** * Allows to set the visibility of the error bar gets rendered. * * @default false */ visible?: boolean; /** * Allows to set the type of the error bar . They are * * Fixed - Renders a fixed type error bar. * * Percentage - Renders a percentage type error bar. * * StandardDeviation - Renders a standard deviation type error bar. * * StandardError -Renders a standard error type error bar. * * Custom -Renders a custom type error bar. * * @default 'Fixed' */ type?: ErrorBarType; /** * Allows to set the direction of the error bar . They are * * both - Renders both direction of error bar. * * minus - Renders minus direction of error bar. * * plus - Renders plus direction error bar. * * @default 'Both' */ direction?: ErrorBarDirection; /** * Allows to set the mode of the error bar . They are * * Vertical - Renders a vertical error bar. * * Horizontal - Renders a horizontal error bar. * * Both - Renders both side error bar. * * @default 'Vertical' */ mode?: ErrorBarMode; /** * Allows to set the vertical error of the error bar. * * @default 1 */ verticalError?: number; /** * Allows to set the color for stroke of the error bar, which accepts value in hex, rgba as a valid CSS color string. * * @default null */ color?: string; /** * Allows to set the stroke width of the error bar. * * @default 1 */ width?: number; /** * Allows to set the horizontal error of the error bar. * * @default 1 */ horizontalError?: number; /** * Allows to set the vertical negative error of the error bar. * * @default 3 */ verticalNegativeError?: number; /** * Allows to set the vertical positive error of the error bar. * * @default 3 */ verticalPositiveError?: number; /** * Allows to set the horizontal negative error of the error bar. * * @default 1 */ horizontalNegativeError?: number; /** * Allows to set the horizontal positive error of the error bar. * * @default 1 */ horizontalPositiveError?: number; /** * Allows options for customizing the cap of the error bar. */ errorBarCap?: PivotChartErrorBarCapSettingsModel; } /** * Interface for a class Trendline */ export interface TrendlineModel { /** * Allows to set the name of trendline * * @default '' */ name?: string; /** * Allows to set the pattern of dashes and gaps to stroke. * * @default '0' */ dashArray?: string; /** * Allows to specify the visibility of trendline. * * @default true */ visible?: boolean; /** * Allows to set the period, the price changes over which will be considered to predict moving average trend line * * @default 2 */ period?: number; /** * Allows to set the type of the trendline * * @default 'Linear' */ type?: TrendlineTypes; /** * Allows to set the period, by which the trend has to backward forecast * * @default 0 */ backwardForecast?: number; /** * Allows to set the period, by which the trend has to forward forecast * * @default 0 */ forwardForecast?: number; /** * Allows to set the polynomial order of the polynomial trendline * * @default 2 */ polynomialOrder?: number; /** * Allows options to customize the marker for trendlines * */ marker?: PivotChartMarkerSettingsModel; /** * Allows to set the visibility of the tooltip for trendlines * * @default true */ enableTooltip?: boolean; /** * Allows options to customize the animation for trendlines */ animation?: PivotChartAnimationModel; /** * Allows to set the fill color of trendline * * @default '' */ fill?: string; /** * Allows to set the width of the trendline * * @default 1 */ width?: number; /** * Allows to set the intercept of the trendline * * @default null * @aspDefaultValueIgnore */ intercept?: number; /** * Allows to set the legend shape of the trendline * * @default 'SeriesType' */ legendShape?: LegendShape; } /** * Interface for a class EmptyPointSettings */ export interface EmptyPointSettingsModel { /** * Allows you to customize the fill color of empty points. * * @default null */ fill?: string; /** * Allows options to customize the border of empty points. * * @default "{color: 'transparent', width: 0}" */ border?: PivotChartBorderModel; /** * Allows you To customize the mode of empty points. * * @default Zero */ mode?: EmptyPointMode | AccEmptyPointMode; } /** * Interface for a class CornerRadius */ export interface CornerRadiusModel { /** * Allows to set the top left corner radius value * * @default 0 */ topLeft?: number; /** * Allows to set the top right corner radius value * * @default 0 */ topRight?: number; /** * Allows to set the bottom left corner radius value * * @default 0 */ bottomLeft?: number; /** * Allows to set the bottom right corner radius value * * @default 0 */ bottomRight?: number; } /** * Interface for a class CrosshairTooltip */ export interface CrosshairTooltipModel { /** * Allows to set the visibility of the crosshair tooltip. * * @default false */ enable?: boolean; /** * Allows to set the fill color of the ToolTip accepts value in hex and rgba as a valid CSS color string. * * @default null */ fill?: string; /** * Allows options to customize the crosshair ToolTip text. */ textStyle?: PivotChartFontModel; } /** * Interface for a class StripLineSettings */ export interface StripLineSettingsModel { /** * Allows to set the visibility of the strip line for axis to be rendered. * * @default true */ visible?: boolean; /** * Allows the strip line to be rendered from axis origin. * * @default false */ startFromAxis?: boolean; /** * Allows to set the start value of the strip line. * * @default null * @aspDefaultValueIgnore */ start?: number | Date; /** * Allows to set the end value of the strip line. * * @default null * @aspDefaultValueIgnore */ end?: number | Date; /** * Allows to set the size of the strip line, when it starts from the origin. * * @default null * @aspDefaultValueIgnore */ size?: number; /** * Allows to set the color of the strip line. * * @default '#808080' */ color?: string; /** * Allows to set the dash array of the strip line. * * @default null * @aspDefaultValueIgnore */ dashArray?: string; /** * Allows to set the size type of the strip line * * @default Auto */ sizeType?: SizeType; /** * Allows to set repeated value of the strip line. * * @default false * @aspDefaultValueIgnore */ isRepeat?: boolean; /** * Allows to set the repeatEvery value of the strip line. * * @default null * @aspDefaultValueIgnore */ repeatEvery?: number | Date; /** * Allows to set the repeatUntil value of the strip line. * * @default null * @aspDefaultValueIgnore */ repeatUntil?: number | Date; /** * Allows to set the isSegmented value of the strip line * * @default false * @aspDefaultValueIgnore */ isSegmented?: boolean; /** * Allows to set the segmentStart value of the strip line. * * @default null * @aspDefaultValueIgnore */ segmentStart?: number | Date; /** * Allows to set the segmentEnd value of the strip line. * * @default null * @aspDefaultValueIgnore */ segmentEnd?: number | Date; /** * Allows to set the segmentAxisName of the strip line. * * @default null * @aspDefaultValueIgnore */ segmentAxisName?: string; /** * Allows to customize the border of the strip line with different settings such as text, rotation, line alignment, text style and opacity in the chart. */ border?: PivotChartBorderModel; /** * Allows to set the strip line text. * * @default '' */ text?: string; /** * Allows to set the angle to which the strip line text gets rotated. * * @default null * @aspDefaultValueIgnore */ rotation?: number; /** * Allows to set the position of the strip line text horizontally. They are, * * Start: Places the strip line text at the start. * * Middle: Places the strip line text in the middle. * * End: Places the strip line text at the end. * * @default 'Middle' */ horizontalAlignment?: Anchor; /** * Allows to set the position of the strip line text vertically. They are, * * Start: Places the strip line text at the start. * * Middle: Places the strip line text in the middle. * * End: Places the strip line text at the end. * * @default 'Middle' */ verticalAlignment?: Anchor; /** * Allows options to customize the strip line text. */ textStyle?: PivotChartFontModel; /** * Allows to set the order of the strip line. They are, * * Behind: Places the strip line behind the series elements. * * Over: Places the strip line over the series elements. * * @default 'Behind' */ zIndex?: ZIndex; /** * Allows to set the opacity of the strip line * * @default 1 */ opacity?: number; } /** * Interface for a class LabelBorder */ export interface LabelBorderModel { /** * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string. * * @default '' */ color?: string; /** * Allows to set the width of the border in pixels. * * @default 1 */ width?: number; /** * Allows to set the border type for labels * * Rectangle * * Without Top Border * * Without Top and BottomBorder * * Without Border * * Brace * * CurlyBrace * * @default 'Rectangle' */ type?: BorderType; } /** * Interface for a class MajorGridLines */ export interface MajorGridLinesModel { /** * Allows to set the width of the line in pixels. * * @default 1 */ width?: number; /** * Allows to set the dash array of the grid lines. * * @default '' */ dashArray?: string; /** * Allows to set the color of the major grid line that accepts value in hex and rgba as a valid CSS color string. * * @default null */ color?: string; } /** * Interface for a class MinorGridLines */ export interface MinorGridLinesModel { /** * Allows to set the width of the line in pixels. * * @default 0.7 */ width?: number; /** * Allows to set the dash array of grid lines. * * @default '' */ dashArray?: string; /** * Allows to set the color of the minor grid line that accepts value in hex and rgba as a valid CSS color string. * * @default null */ color?: string; } /** * Interface for a class AxisLine */ export interface AxisLineModel { /** * Allows to set the width of the line in pixels. * * @default 1 */ width?: number; /** * Allows to set the dash array of the axis line. * * @default '' */ dashArray?: string; /** * Allows to set the color of the axis line that accepts value in hex and rgba as a valid CSS color string. * * @default null */ color?: string; } /** * Interface for a class MajorTickLines */ export interface MajorTickLinesModel { /** * Allows to set the width of the tick lines in pixels. * * @default 1 */ width?: number; /** * Allows to set the height of the ticks in pixels. * * @default 5 */ height?: number; /** * Allows to set the color of the major tick line that accepts value in hex and rgba as a valid CSS color string. * * @default null */ color?: string; } /** * Interface for a class MinorTickLines */ export interface MinorTickLinesModel { /** * Allows to set the width of the tick line in pixels. * * @default 0.7 */ width?: number; /** * Allows to set the height of the ticks in pixels. * * @default 5 */ height?: number; /** * Allows to set the color of the minor tick line that accepts value in hex and rgba as a valid CSS color string. * * @default null */ color?: string; } /** * Interface for a class ChartLocation */ export interface ChartLocationModel { /** * Allows to set the x(left) value of the legend position * * @default 0 */ x?: number; /** * Allows to set the y(top) value of the legend position * * @default 0 */ y?: number; } /** * Interface for a class PivotChartSeriesBorder */ export interface PivotChartSeriesBorderModel { /** * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string. * * @default '' */ color?: string; /** * Allows to set the width of the border in pixels. * * @default 1 */ width?: number; } /** * Interface for a class PivotChartSeriesAnimation */ export interface PivotChartSeriesAnimationModel { /** * Allows to set the visibility of the series to be animated on initial loading. * * @default true */ enable?: boolean; /** * Allows to set the duration of animation in milliseconds. * * @default 1000 */ duration?: number; /** * Allows to set the option to delay animation of the series. * * @default 0 */ delay?: number; } /** * Interface for a class PivotChartSeriesSegment */ export interface PivotChartSeriesSegmentModel { /** * Allows to set the starting point of region. * * @default null */ value?: object; /** * Allows to set the color of a region. * * @default null */ color?: string; /** * Allows to set the pattern of dashes and gaps to stroke. * * @default '0' */ dashArray?: string; } /** * Interface for a class PivotChartSeriesMarkerSettings */ export interface PivotChartSeriesMarkerSettingsModel { /** * If set to true the marker for series is rendered. This is applicable only for line and area type series. * * @default false */ visible?: boolean; /** * Allows to set the different shape of a marker: * * circle - Renders the marker shaper as circle. * * rectangle - Renders the marker shaper as rectangle. * * triangle - Renders the marker shaper as triangle. * * diamond - Renders the marker shaper as diamond. * * cross - Renders the marker shaper as cross. * * horizontalLine - Renders the marker shaper as horizontalLine. * * verticalLine - Renders the marker shaper as verticalLine. * * pentagon- Renders the marker shaper as pentagon. * * invertedTriangle - Renders the marker shaper as invertedTriangle. * * image - Renders the marker shaper as image. * * @default 'Circle' */ shape?: ChartShape; /** * Allows to set the URL for the Image that is to be displayed as a marker. It requires marker `shape` value to be an `Image`. * * @default '' */ imageUrl?: string; /** * Allows to set the height of the marker in pixels. * * @default 5 */ height?: number; /** * Allows to set the width of the marker in pixels. * * @default 5 */ width?: number; /** * Allows options for customizing the border of a marker. */ border?: PivotChartBorderModel; /** * Allows to set the fill color of the marker that accepts value in hex and rgba as a valid CSS color string. * By default, it will take series' color. * * @default null */ fill?: string; /** * Allows to set the opacity of the marker. * * @default 1 */ opacity?: number; /** * Allows to set the data label for the series. */ dataLabel?: PivotChartDataLabelSettingsModel; } /** * Interface for a class PivotChartSeriesErrorSettings */ export interface PivotChartSeriesErrorSettingsModel { /** * If set true, error bar for data gets rendered. * * @default false */ visible?: boolean; /** * Allows to set the type of the error bar . They are * * Fixed - Renders a fixed type error bar. * * Percentage - Renders a percentage type error bar. * * StandardDeviation - Renders a standard deviation type error bar. * * StandardError -Renders a standard error type error bar. * * Custom -Renders a custom type error bar. * * @default 'Fixed' */ type?: ErrorBarType; /** * Allows to set the direction of the error bar . They are * * both - Renders both direction of error bar. * * minus - Renders minus direction of error bar. * * plus - Renders plus direction error bar. * * @default 'Both' */ direction?: ErrorBarDirection; /** * Allows to set the mode of the error bar . They are * * Vertical - Renders a vertical error bar. * * Horizontal - Renders a horizontal error bar. * * Both - Renders both side error bar. * * @default 'Vertical' */ mode?: ErrorBarMode; /** * Allows to set the color for stroke of the error bar, which accepts value in hex, rgba as a valid CSS color string. * * @default null */ color?: string; /** * Allows to set the vertical error of the error bar. * * @default 1 */ verticalError?: number; /** * Allows to set the stroke width of the error bar. * * @default 1 */ width?: number; /** * Allows to set the horizontal error of the error bar. * * @default 1 */ horizontalError?: number; /** * Allows to set the vertical positive error of the error bar. * * @default 3 */ verticalPositiveError?: number; /** * Allows to set the vertical negative error of the error bar. * * @default 3 */ verticalNegativeError?: number; /** * Allows to set the horizontal positive error of the error bar. * * @default 1 */ horizontalPositiveError?: number; /** * Allows to set the horizontal negative error of the error bar. * * @default 1 */ horizontalNegativeError?: number; /** * Allows options for customizing the cap of the error bar. */ errorBarCap?: PivotChartErrorBarCapSettingsModel; } /** * Interface for a class PivotChartSeriesTrendline */ export interface PivotChartSeriesTrendlineModel { /** * Allows to set the name of trendline * * @default '' */ name?: string; /** * Allows to set the type of the trendline * * @default 'Linear' */ type?: TrendlineTypes; /** * Allows to set the period, the price changes over which will be considered to predict moving average trend line * * @default 2 */ period?: number; /** * Allows to set the polynomial order of the polynomial trendline * * @default 2 */ polynomialOrder?: number; /** * Allows to set the period, by which the trend has to backward forecast * * @default 0 */ backwardForecast?: number; /** * Allows to set the period, by which the trend has to forward forecast * * @default 0 */ forwardForecast?: number; /** * Allows options to customize the animation for trendlines */ animation?: PivotChartAnimationModel; /** * Allows options to customize the marker for trendlines */ marker?: PivotChartMarkerSettingsModel; /** * Enables/disables tooltip for trendlines * * @default true */ enableTooltip?: boolean; /** * Allows to set the intercept of the trendline * * @default null * @aspDefaultValueIgnore */ intercept?: number; /** * Allows to set the fill color of trendline * * @default '' */ fill?: string; /** * Allows to set the width of the trendline * * @default 1 */ width?: number; /** * Allows to set the legend shape of the trendline * * @default 'SeriesType' */ legendShape?: LegendShape; } /** * Interface for a class PivotChartSeriesEmptyPointSettings */ export interface PivotChartSeriesEmptyPointSettingsModel { /** * Allows to customize the fill color of empty points. * * @default null */ fill?: string; /** * Allows options to customize the border of empty points. * * @default "{color: 'transparent', width: 0}" */ border?: PivotChartBorderModel; /** * To customize the mode of empty points. * * @default Zero */ mode?: EmptyPointMode | AccEmptyPointMode; } /** * Interface for a class PivotChartSeriesCornerRadius */ export interface PivotChartSeriesCornerRadiusModel { /** * Allows to set the top left corner radius value * * @default 0 */ topLeft?: number; /** * Allows to set the top right corner radius value * * @default 0 */ topRight?: number; /** * Allows to set the bottom left corner radius value * * @default 0 */ bottomLeft?: number; /** * Allows to set the bottom right corner radius value * * @default 0 */ bottomRight?: number; } /** * Interface for a class PivotChartAxisFont */ export interface PivotChartAxisFontModel { /** * Allows to set the font style for the text. * * @default 'Normal' */ fontStyle?: string; /** * Allows to set the font size for the text. * * @default '16px' */ size?: string; /** * Allows to set the font weight for the text. * * @default 'Normal' */ fontWeight?: string; /** * Allows to set the color for the text. * * @default '' */ color?: string; /** * Allows to set the text alignment * * @default 'Center' */ textAlignment?: Alignment; /** * Allows to set the font family for the text. */ fontFamily?: string; /** * Allows to set the opacity for the text. * * @default 1 */ opacity?: number; /** * Allows to set the chart title text overflow * * @default 'Trim' */ textOverflow?: TextOverflow; } /** * Interface for a class PivotChartAxisCrosshairTooltip */ export interface PivotChartAxisCrosshairTooltipModel { /** * If set to true, crosshair ToolTip will be visible. * * @default false */ enable?: boolean; /** * Allows to set the fill color of the ToolTip accepts value in hex and rgba as a valid CSS color string. * * @default null */ fill?: string; /** * Allows options to customize the crosshair ToolTip text. */ textStyle?: PivotChartFontModel; } /** * Interface for a class PivotChartAxisMajorTickLines */ export interface PivotChartAxisMajorTickLinesModel { /** * Allows to set the width of the tick lines in pixels. * * @default 1 */ width?: number; /** * Allows to set the height of the ticks in pixels. * * @default 5 */ height?: number; /** * Allows to set the color of the major tick line that accepts value in hex and rgba as a valid CSS color string. * * @default null */ color?: string; } /** * Interface for a class PivotChartAxisMajorGridLines */ export interface PivotChartAxisMajorGridLinesModel { /** * Allows to set the width of the line in pixels. * * @default 1 */ width?: number; /** * Allows to set the dash array of the grid lines. * * @default '' */ dashArray?: string; /** * Allows to set the color of the major grid line that accepts value in hex and rgba as a valid CSS color string. * * @default null */ color?: string; } /** * Interface for a class PivotChartAxisMinorTickLines */ export interface PivotChartAxisMinorTickLinesModel { /** * Allows to set the width of the tick line in pixels. * * @default 0.7 */ width?: number; /** * Allows to set the height of the ticks in pixels. * * @default 5 */ height?: number; /** * Allows to set the color of the minor tick line that accepts value in hex and rgba as a valid CSS color string. * * @default null */ color?: string; } /** * Interface for a class PivotChartAxisMinorGridLines */ export interface PivotChartAxisMinorGridLinesModel { /** * Allows to set the width of the line in pixels. * * @default 0.7 */ width?: number; /** * Allows to set the dash array of grid lines. * * @default '' */ dashArray?: string; /** * Allows to set the color of the minor grid line that accepts value in hex and rgba as a valid CSS color string. * * @default null */ color?: string; } /** * Interface for a class PivotChartAxisAxisLine */ export interface PivotChartAxisAxisLineModel { /** * Allows to set the width of the line in pixels. * * @default 1 */ width?: number; /** * Allows to set the dash array of the axis line. * * @default '' */ dashArray?: string; /** * Allows to set the color of the axis line that accepts value in hex and rgba as a valid CSS color string. * * @default null */ color?: string; } /** * Interface for a class PivotChartAxisStripLineSettings */ export interface PivotChartAxisStripLineSettingsModel { /** * If set true, strip line for pivot chart axis renders. * * @default true */ visible?: boolean; /** * If set true, strip line get render from pivot chart axis origin. * * @default false */ startFromAxis?: boolean; /** * Allows to set the start value of the pivot chart strip line. * * @default null * @aspDefaultValueIgnore */ start?: number | Date; /** * Allows to set the end value of the pivot chart strip line. * * @default null * @aspDefaultValueIgnore */ end?: number | Date; /** * Allows to set the size of the pivot chart strip line, when it starts from the origin. * * @default null * @aspDefaultValueIgnore */ size?: number; /** * Allows to set the color of the pivot chart strip line. * * @default '#808080' */ color?: string; /** * Allows to set the dash Array of the pivot chart strip line. * * @default null * @aspDefaultValueIgnore */ dashArray?: string; /** * Allows to set the size type of the pivot chart strip line * * @default Auto */ sizeType?: SizeType; /** * Allows to set the isRepeat value of the pivot chart strip line. * * @default false * @aspDefaultValueIgnore */ isRepeat?: boolean; /** * Allows to set the repeatEvery value of the pivot chart strip line. * * @default null * @aspDefaultValueIgnore */ repeatEvery?: number | Date; /** * Allows to set the repeatUntil value of the pivot chart strip line. * * @default null * @aspDefaultValueIgnore */ repeatUntil?: number | Date; /** * Allows to set the isSegmented value of the pivot chart strip line * * @default false * @aspDefaultValueIgnore */ isSegmented?: boolean; /** * Allows to set the segmentStart value of the pivot chart strip line. * * @default null * @aspDefaultValueIgnore */ segmentStart?: number | Date; /** * Allows to set the segmentEnd value of the pivot chart strip line. * * @default null * @aspDefaultValueIgnore */ segmentEnd?: number | Date; /** * Allows to set the segmentAxisName of the pivot chart strip line. * * @default null * @aspDefaultValueIgnore */ segmentAxisName?: string; /** * Allows to set the border of the pivot chart strip line. */ border?: PivotChartBorderModel; /** * Allows to set the strip line text. * * @default '' */ text?: string; /** * Allows to set the angle to which the strip line text gets rotated. * * @default null * @aspDefaultValueIgnore */ rotation?: number; /** * Allows to set the position of the strip line text horizontally. They are, * * Start: Places the strip line text at the start. * * Middle: Places the strip line text in the middle. * * End: Places the strip line text at the end. * * @default 'Middle' */ horizontalAlignment?: Anchor; /** * Allows to set the position of the strip line text vertically. They are, * * Start: Places the strip line text at the start. * * Middle: Places the strip line text in the middle. * * End: Places the strip line text at the end. * * @default 'Middle' */ verticalAlignment?: Anchor; /** * Allows options to customize the strip line text. */ textStyle?: PivotChartFontModel; /** * Allows to set the order of the strip line. They are, * * Behind: Places the strip line behind the series elements. * * Over: Places the strip line over the series elements. * * @default 'Behind' */ zIndex?: ZIndex; /** * Strip line Opacity * * @default 1 */ opacity?: number; } /** * Interface for a class PivotChartAxisLabelBorder */ export interface PivotChartAxisLabelBorderModel { /** * Allows to set the color of the border that accepts value in hex and rgba as a valid CSS color string. * * @default '' */ color?: string; /** * Allows to set the width of the border in pixels. * * @default 1 */ width?: number; /** * Allows to set the border type for labels * * Rectangle * * Without Top Border * * Without Top and BottomBorder * * Without Border * * Brace * * CurlyBrace * * @default 'Rectangle' */ type?: BorderType; } /** * Interface for a class PivotChartSettingsChartArea */ export interface PivotChartSettingsChartAreaModel { /** * Allows options to customize the border of the chart area. */ border?: PivotChartBorderModel; /** * Allows to set the background of the chart area that accepts value in hex and rgba as a valid CSS color string. * * @default 'transparent' */ background?: string; /** * Allows to set the opacity for background. * * @default 1 */ opacity?: number; } /** * Interface for a class PivotChartSettingsCrosshairSettings */ export interface PivotChartSettingsCrosshairSettingsModel { /** * If set to true, crosshair line becomes visible. * * @default false */ enable?: boolean; /** * Allows to set the DashArray for crosshair. * * @default '' */ dashArray?: string; /** * Allows options to customize the crosshair line. */ line?: PivotChartBorderModel; /** * Allows to set the line type. Horizontal mode enables the horizontal line and Vertical mode enables the vertical line. They are, * * None: Hides both vertical and horizontal crosshair lines. * * Both: Shows both vertical and horizontal crosshair li