@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
TypeScript
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