scichart
Version:
Fast WebGL JavaScript Charting Library and Framework
102 lines (101 loc) • 4.72 kB
TypeScript
import { TLayoutManagerDefinition } from "../../Builder/buildSurface";
import { Thickness } from "../../Core/Thickness";
import { EAutoColorMode } from "../../types/AutoColorMode";
import { ESciChartSurfaceType } from "../../types/SciChartSurfaceType";
import { ESubChartClippingMode } from "../../types/SubChartClippingMode";
import { TSubSurfaceCoordinateMode } from "../../types/SubSurfaceCoordinateMode";
import { TSubSurfacePosition } from "../../types/SubSurfacePosition";
import { TBorder } from "../../types/TBorder";
import { TChartTitleStyle } from "../../types/TextStyle";
import { ISurfaceOptionsBase } from "./SciChartSurfaceBase";
/**
* Options passed to a {@link SciChartPolarSurface} in the {@link SciChartPolarSurface.create} function
*/
export interface I2DPolarSurfaceOptions extends I2DSurfaceOptions {
/**
* drawSeriesBehindAxis property is not supported for {@link SciChartPolarSurface}
*/
drawSeriesBehindAxis?: boolean;
}
/**
* Options passed to a {@link SciChartSurface} in the {@link SciChartSurface.create} function
*/
export interface I2DSurfaceOptions extends ISurfaceOptionsBase {
/**
* Optional - Prove a layoutManager to customise the axis layout. Use CentralAxesLayoutManager for an easy way to configure central axes.
*/
layoutManager?: TLayoutManagerDefinition;
/**
* Optional - Padding between the SciChartSurface and its inner elements. Default 10
*/
padding?: Thickness;
/**
* Optional - Properties of the viewport border (where series are drawn)
*/
viewportBorder?: TBorder;
/**
* Optional - Properties of the canvas border
*/
canvasBorder?: TBorder;
drawSeriesBehindAxis?: boolean;
/**
* Optional - An {@link EAutoColorMode} which controls how often series colours set to AUTO_COLOR will be resolved. Default OnAddRemoveSeries
*/
autoColorMode?: EAutoColorMode;
/**
* Optional a title for the SciChartSurface
*/
title?: string | string[];
/**
* The title text style and placement for the SciChartSurface as {@link TChartTitleStyle}
*/
titleStyle?: TChartTitleStyle;
/**
* Surface Background as an HTML color code;
* @remarks A sub-chart only supports plain color without gradients
*/
background?: string;
/**
* @experimental
* Optional - enabling prevents chart rendering until {@link SciChartSurface.resume} is called on the surface instance
*/
createSuspended?: boolean;
}
export interface I2DSubSurfaceOptions extends I2DSurfaceOptions {
surfaceType?: ESciChartSurfaceType;
/**
* A rectangle defining the position and size of a subchart.
* First two points define xStart and yStart, second two are width and height.
* If {@link coordinateMode} is Relative (the default) then the values give the size as a proportion of the parent div, and all properties must be between 0 and 1 inclusive.
* If {@link coordinateMode} is DataValue, values will be converted to coordinates using {@link parentXAxisId} and {@link parentYAxisId}. Subchart will be clpped to the parent SeriesViewRect
* Can only be set if this is a subChart. See {@link addSubChart}
*/
position?: TSubSurfacePosition;
/** An id or div element that will wrap the subchart. This can contain top, left, bottom and right section divs. The chart will shrink to fit the sections */
subChartContainerId?: string | HTMLDivElement;
/** Whether other surfaces, including the parent, will be visible underneath this surface */
isTransparent?: boolean;
/** Sets if the subchart is visible, allowing you to hide a subchart without removing it from the parent surface */
isVisible?: boolean;
/**
* Gets or sets the {@link TSubSurfaceCoordinateMode} used when calculating the actual position based on the {@link subPosition}.
* @default Relative
*/
coordinateMode?: TSubSurfaceCoordinateMode;
/** The clipping mode of the sub-chart */
clippingMode?: ESubChartClippingMode;
/**
* Sets the AxisId used to determing which X Axis should be used when calculating the actual position based on the {@link subPosition}
* if {@link coordinateMode} is DataValue
*/
parentXAxisId?: string;
/**
* Sets the AxisId used to determing which Y Axis should be used when calculating the actual position based on the {@link subPosition}
* if {@link coordinateMode} is DataValue
*/
parentYAxisId?: string;
/**
* Gets or sets scale property for all sections
*/
sectionScale?: number;
}