igniteui-react-charts
Version:
Ignite UI React charting components for building rich data visualizations using TypeScript APIs.
1,752 lines • 77.4 kB
JavaScript
/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE: you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import * as React from 'react';
import { Visibility_$type } from "igniteui-react-core";
import { TransitionInSpeedType_$type } from './TransitionInSpeedType';
import { SeriesHitTestMode_$type } from './SeriesHitTestMode';
import { fromDoubleCollection, toDoubleCollection, brushToString, stringToBrush, toPoint, fromPoint, toRect, fromRect, stringToColor, colorToString, ensureEnum, ensureBool, isValidProp, getModifiedProps, toSpinal, initializePropertiesFromCss, NamePatcher, arrayFindByName } from "igniteui-react-core";
import { IgrRenderRequestedEventArgs } from './igr-render-requested-event-args';
import { delegateCombine, delegateRemove, TypeRegistrar } from "igniteui-react-core";
import { SeriesVisibleRangeMode_$type } from './SeriesVisibleRangeMode';
import { SeriesHighlightingMode_$type } from './SeriesHighlightingMode';
import { SeriesOutlineMode_$type } from './SeriesOutlineMode';
import { LegendItemBadgeMode_$type } from "igniteui-react-core";
import { LegendItemBadgeShape_$type } from "igniteui-react-core";
import { PenLineJoin_$type } from "igniteui-react-core";
import { PenLineCap_$type } from "igniteui-react-core";
import { IgrSeriesLayerCollection } from './igr-series-layer-collection';
import { SeriesLayerCollection as SeriesLayerCollection_internal } from './SeriesLayerCollection';
import { SeriesLayer } from './SeriesLayer';
import { SyncableObservableCollection$1 } from "igniteui-react-core";
import { TransitionOutSpeedType_$type } from './TransitionOutSpeedType';
import { SeriesHighlightedValuesDisplayMode_$type } from "igniteui-react-core";
//import { DataLegendSeriesContext, DataLegendSeriesContext_$type } from 'igniteui-core/DataLegendSeriesContext';
//import { DataLegendSeriesInfo, DataLegendSeriesInfo_$type } from 'igniteui-core/DataLegendSeriesInfo';
import { IgrSeriesLayerPropertyOverlayCollection } from './igr-series-layer-property-overlay-collection';
import { SeriesLayerPropertyOverlayCollection as SeriesLayerPropertyOverlayCollection_internal } from './SeriesLayerPropertyOverlayCollection';
import { SeriesLayerPropertyOverlay } from './SeriesLayerPropertyOverlay';
import { SeriesSelectionMode_$type } from './SeriesSelectionMode';
import { IgrTransitionOutCompletedEventArgs } from './igr-transition-out-completed-event-args';
/**
* Represents the base class for all IgxDataChartComponent series.
*/
export class IgrSeries extends React.Component {
get i() {
return this._implementation;
}
onImplementationCreated() {
}
createImplementation() {
return null;
}
constructor(props) {
super(props);
//set opacity(value: number) {
// this.i.opacity = +value;
//}
//get opacity(): number {
// return this.i.opacity;
//}
//set visibility(v: Visibility) {
// this.i.visibility = ensureEnum<Visibility>(Visibility_$type, v);
//}
//get visibility(): Visibility {
// return this.i.visibility;
//}
this._chartLevelData = null;
this._dataSource = null;
this._chartLevelHighlightedData = null;
this._highlightedDataSource = null;
this._tooltipTemplate = null;
this._tooltipContent = null;
this._tooltipContainerTemplate = null;
this._renderer = null;
this._highlightedValuesExtraPropertyOverlays = null;
this._layers = null;
this._actualLayers = null;
this.__p = null;
this._hasUserValues = new Set();
this._stylingContainer = null;
this._stylingParent = null;
this._inStyling = false;
this._transitionOutCompleted = null;
this._transitionOutCompleted_wrapped = null;
this._renderRequested = null;
this._renderRequested_wrapped = null;
if (this._styling) {
NamePatcher.ensureStylablePatched(Object.getPrototypeOf(this));
}
this._implementation = this.createImplementation();
this._implementation.externalObject = this;
this.onImplementationCreated();
}
componentDidMount() {
for (const p of Object.keys(this.props)) {
if (isValidProp(this, p)) {
{
this[p] = this.props[p];
}
}
}
}
get seriesInternal() {
return this.i;
}
shouldComponentUpdate(nextProps, nextState) {
const mod = getModifiedProps(this.props, nextProps);
for (const p of Object.keys(mod)) {
if (isValidProp(this, p)) {
this[p] = mod[p];
}
}
return true;
}
render() {
return null;
}
set name(value) {
this.i.name = value;
}
get name() {
return this.i.name;
}
provideData(data) {
this._chartLevelData = data;
this.updateDataSource();
}
onUpdateDataSource(dataSource) {
return dataSource;
}
updateDataSource() {
if (this._dataSource == null) {
this.i.itemsSource = this.onUpdateDataSource(this._chartLevelData);
}
else {
this.i.itemsSource = this.onUpdateDataSource(this._dataSource);
}
}
set dataSource(value) {
this._dataSource = value;
this.updateDataSource();
//console.log("setting axis data source: " + value)
}
get dataSource() {
if (this._dataSource != null) {
return this._dataSource;
}
return this.i.itemsSource;
}
provideHighlightedData(data) {
this._chartLevelHighlightedData = data;
this.updatehighlightedDataSource();
}
onUpdatehighlightedDataSource(highlightedDataSource) {
return highlightedDataSource;
}
updatehighlightedDataSource() {
if (this._highlightedDataSource == null) {
this.i.highlightedItemsSource = this.onUpdatehighlightedDataSource(this._chartLevelHighlightedData);
}
else {
this.i.highlightedItemsSource = this.onUpdatehighlightedDataSource(this._highlightedDataSource);
}
}
set highlightedDataSource(value) {
this._highlightedDataSource = value;
this.updatehighlightedDataSource();
//console.log("setting axis data source: " + value)
}
get highlightedDataSource() {
if (this._highlightedDataSource != null) {
return this._highlightedDataSource;
}
return this.i.highlightedItemsSource;
}
bindAxes(axes) {
}
set tooltipTemplate(value) {
this._tooltipTemplate = value;
if (value == null) {
if (this._tooltipContent !== null) {
//this._tooltipContent.destroy();
this._tooltipContent = null;
}
}
if (this._tooltipContent != null) {
this._tooltipContent.template = this._tooltipTemplate;
}
else {
if (this.owner != null) {
this.owner._ensureTooltipCreated(this);
}
}
}
get tooltipTemplate() {
return this._tooltipTemplate;
}
set tooltipContainerTemplate(value) {
this._tooltipContainerTemplate = value;
if (this._tooltipContent != null) {
this._tooltipContent.instance.containerTemplate = this._tooltipContainerTemplate;
}
}
get tooltipContainerTemplate() {
return this._tooltipContainerTemplate;
}
_ensureTooltipCreated(createTooltip, createWrapper) {
if (this._tooltipTemplate == null) {
this.i.toolTip = null;
}
if (this._tooltipContent == null && this._tooltipTemplate != null) {
let tooltip = createTooltip();
if (tooltip == null) {
return;
}
this._tooltipContent = tooltip;
tooltip.tooltipTemplate = this._tooltipTemplate;
this.i.toolTip = createWrapper(tooltip);
}
}
_ensureTooltipDestroyed() {
if (this._tooltipContent !== null) {
//this._tooltipContent.destroy();
this._tooltipContent = null;
}
}
_provideRenderer(renderer) {
this._renderer = renderer;
}
static _createFromInternal(internal) {
if (!internal) {
return null;
}
if (!internal.$type) {
return null;
}
let name = internal.$type.name;
let externalName = "Igr" + name;
if (!TypeRegistrar.isRegistered(externalName)) {
return null;
}
return TypeRegistrar.create(externalName);
}
/**
* Gets or sets the legend used for the current series.
*/
get legend() {
if (this.i.legend != null)
return this.i.legend.externalObject;
}
set legend(v) {
if (v != undefined && v != null)
this.i.legend = v.i;
}
/**
* Gets unique key used to identify the series in data legend
*/
get dataLegendKey() {
return this.i.dataLegendKey;
}
/**
* Gets or sets a name used for grouping multiple series in the Data Legend
* If not set, series will be grouped by series family, e.g. Category, Range, Financial, Scatter
*/
get dataLegendGroup() {
return this.i.l5;
}
set dataLegendGroup(v) {
this.i.l5 = v;
}
/**
* Gets or sets a name used for grouping highlighted series in the Data Legend
* If not set, series will default to parent series' DataLegendGroup, e.g. Category, Range, Financial, Scatter
*/
get highlightedValuesDataLegendGroup() {
return this.i.ml;
}
set highlightedValuesDataLegendGroup(v) {
this.i.ml = v;
}
/**
* Gets whether the series is an annotation layer.
*
* ```ts
* let isAnnotationLayer: boolean = this.series.isAnnotationLayer;
* ```
*/
get isAnnotationLayer() {
return this.i.eu;
}
/**
* Gets whether the series is an crosshair annotation layer.
*/
get isAnnotationCrosshairLayer() {
return this.i.er;
}
/**
* Gets whether the series is an callout annotation layer.
*/
get isAnnotationCalloutLayer() {
return this.i.eq;
}
/**
* Gets whether the series is an annotation layer displayed only when hovering over the chart.
* Crosshair Layer, Category Highlight Layer, Category Tooltip Layer, Item Tooltip Layer
*/
get isAnnotationHoverLayer() {
return this.i.et;
}
/**
* Gets whether the series is final value annotation layer.
*/
get isAnnotationFinalValue() {
return this.i.es;
}
/**
* Gets whether the series is a value annotation layer.
*/
get isAnnotationValueLayer() {
return this.i.ev;
}
/**
* Gets whether the current series is oriented vertically.
*
* ```ts
* let isVertical: boolean = this.series.isVertical;
* ```
*/
get isVertical() {
return this.i.isVertical;
}
/**
* Gets whether the current series is a stack fragment.
*
* ```ts
* let isFragment: boolean = this.series.isFragment;
* ```
*/
get isFragment() {
return this.i.isFragment;
}
/**
* Gets whether the current series shows an area or line shape.
*
* ```ts
* let isAreaorLine: boolean = this.series.isAreaorLine;
* ```
*/
get isAreaOrLine() {
return this.i.ex;
}
/**
* Gets whether the current series shows an area shape.
*/
get isArea() {
return this.i.ew;
}
/**
* Gets whether the current series shows an area shape.
*/
get hasValueAxis() {
return this.i.em;
}
/**
* Gets whether the current series shows an area shape.
*/
get isValueAxisInverted() {
return this.i.f6;
}
/**
* Gets whether the current series shows only line shapes.
*/
get isLineOnly() {
return this.i.fl;
}
/**
* Gets whether the current series shows a line contour shape.
*/
get isLineContour() {
return this.i.fk;
}
/**
* Gets whether the current series shows a spline shape.
*/
get isSpline() {
return this.i.f1;
}
/**
* Gets whether the current series shows a column shape.
*/
get isColumn() {
return this.i.e1;
}
/**
* Gets whether the current series shows a horizontal column shape.
*/
get isBar() {
return this.i.ez;
}
/**
* Gets whether the current series shows a waterfall column shape.
*/
get isWaterfall() {
return this.i.f7;
}
/**
* Gets whether the current series shows a polyline shape.
*/
get isPolyline() {
return this.i.fs;
}
/**
* Gets whether the current series shows a polygon shape.
*/
get isPolygon() {
return this.i.fr;
}
/**
* Gets whether the current series shows pixels.
*/
get isPixel() {
return this.i.fp;
}
/**
* Gets whether the current series shows a pie shape.
*/
get isPie() {
return this.i.fo;
}
/**
* Gets whether the current series shows a tile imagery.
*/
get isTile() {
return this.i.f4;
}
/**
* Gets whether the current series shows step shapes.
*/
get isStep() {
return this.i.f2;
}
/**
* Gets whether the current series shows interactive shape controls.
*/
get isShapeControl() {
return this.i.fz;
}
/**
* Gets whether the current series is a polar type series.
*
* ```ts
* let isPolar: boolean = this.series.isPolar;
* ```
*/
get isPolar() {
return this.i.fq;
}
/**
* Gets whether the current series is a scatter type series.
*
* ```ts
* let isScatter: boolean = this.series.isScatter;
* ```
*/
get isScatter() {
return this.i.fx;
}
/**
* Gets whether the current series is a radial type series.
*
* ```ts
* let isRadial: boolean = this.series.isRadial;
* ```
*/
get isRadial() {
return this.i.fu;
}
/**
* Gets whether the current series is a stacked type series.
*
* ```ts
* let isStacked: boolean = this.series.isStacked;
* ```
*/
get isStacked() {
return this.i.isStacked;
}
/**
* Gets whether the current series is a financial type series.
*
* ```ts
* let isFinancial: boolean = this.series.isFinancial;
* ```
*/
get isFinancial() {
return this.i.e8;
}
/**
* Gets whether the current series is a range type series.
*
* ```ts
* let isRange: boolean = this.series.isRange;
* ```
*/
get isRange() {
return this.i.fv;
}
/**
* Gets whether the current series is a category type series.
*
* ```ts
* let isCategory: boolean = this.series.isCategory;
* ```
*/
get isCategory() {
return this.i.e0;
}
/**
* Gets whether the current series is a geographic series.
*
* ```ts
* let isGeographic: boolean = this.series.isGeographic;
* ```
*/
get isGeographic() {
return this.i.fd;
}
/**
* Gets whether the current series is a shape type series.
*/
get isShape() {
return this.i.fy;
}
/**
* Gets whether the series is a value overlay.
*/
get isValueOverlay() {
return this.i.isValueOverlay;
}
/**
* Gets whether the series is a highlight overlay.
*/
get isHighlightOverlay() {
return this.i.fg;
}
/**
* Gets whether the series supports summarization in Data Legend and Data Tooltip.
*/
get isSummarizationSupported() {
return this.i.isSummarizationSupported;
}
get isLayer() {
return this.i.isLayer;
}
/**
* Gets whether the series has only marker as visuals
*/
get hasOnlyMarkers() {
return this.i.ek;
}
/**
* Gets whether the series has financial OHLC/candlestick visuals
*/
get isFinancialSeries() {
return this.i.fb;
}
/**
* Gets whether the series is financial overlay
*/
get isFinancialOverlay() {
return this.i.fa;
}
/**
* Gets whether the series is financial indicator
*/
get isFinancialIndicator() {
return this.i.e9;
}
/**
* Gets whether the series is financial waterfall
*/
get isFinancialWaterfall() {
return this.i.fc;
}
/**
* Gets whether the default crosshair behavior should be disabled if this series is present.
*
* `IsDefaultCrosshairBehaviorDisabled` defaults to true for annotation layers. When not using annotaion layers, you can show crosshairs by setting the chart's `CrosshairVisibility` to true.
*
* ```ts
* let isDefaultCrosshairBehaviorDisabled: boolean = this.series.isDefaultCrosshairBehaviorDisabled;
* ```
*/
get isDefaultCrosshairBehaviorDisabled() {
return this.i.e3;
}
/**
* Gets whether the default tooltip behavior should be disabled if this series is present.
*
* ```ts
* let isDefaultTooltipBehaviorDisabled: boolean = this.series.isDefaultTooltipBehaviorDisabled;
* ```
*/
get isDefaultTooltipBehaviorDisabled() {
return this.i.e4;
}
/**
* Returns whether the current series supports visual markers.
*
* ```ts
* let hasMarkers: boolean = this.series.hasMarkers;
* ```
*/
get hasMarkers() {
return this.i.hasMarkers;
}
/**
* Returns whether the current series has a visible marker style.
*/
get hasVisibleMarkers() {
return this.i.en;
}
/**
* Gets the current extra layers for the series.
*/
get highlightedValuesExtraPropertyOverlays() {
if (this._highlightedValuesExtraPropertyOverlays === null) {
let coll = new IgrSeriesLayerPropertyOverlayCollection();
let innerColl = this.i.cf;
if (!innerColl) {
innerColl = new SeriesLayerPropertyOverlayCollection_internal();
}
this._highlightedValuesExtraPropertyOverlays = coll._fromInner(innerColl);
}
return this._highlightedValuesExtraPropertyOverlays;
}
set highlightedValuesExtraPropertyOverlays(v) {
if (this._highlightedValuesExtraPropertyOverlays !== null) {
this._highlightedValuesExtraPropertyOverlays._setSyncTarget(null);
this._highlightedValuesExtraPropertyOverlays = null;
}
let coll = new IgrSeriesLayerPropertyOverlayCollection();
this._highlightedValuesExtraPropertyOverlays = coll._fromOuter(v);
let syncColl = new SyncableObservableCollection$1(SeriesLayerPropertyOverlay.$type);
let innerColl = this.i.cf;
if (!innerColl) {
innerColl = new SeriesLayerPropertyOverlayCollection_internal();
}
syncColl._inner = innerColl;
syncColl.clear();
this._highlightedValuesExtraPropertyOverlays._setSyncTarget(syncColl);
}
/**
* Gets if the series uses an index, which can be used to auto-assign it a color.
*
* ```ts
* let isIndexed: boolean = this.series.isIndexed;
* ```
*/
get isIndexed() {
return this.i.fh;
}
/**
* Gets if the series should appear in any legends.
*
* ```ts
* let isUsableInLegend: boolean = this.series.isUsableInLegend;
* ```
*/
get isUsableInLegend() {
return this.i.isUsableInLegend;
}
/**
* Gets or sets whether or not the current series will have a legend item displayed in a legend.
*
* The `LegendItemVisibilty` can be used to exclude only certain `Series` from the `Legend`.
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* legendItemVisibility= "collapsed" />
* </IgrDataChart>
* ```
*/
get legendItemVisibility() {
return this.i.legendItemVisibility;
}
set legendItemVisibility(v) {
this.i.legendItemVisibility = ensureEnum(Visibility_$type, v);
}
/**
* Gets or sets the LegendItemBadgeTemplate property.
* The legend item badge is created according to the LegendItemBadgeTemplate on-demand by
* the series object itself.
*/
get legendItemBadgeTemplate() {
return this.i.legendItemBadgeTemplate;
}
set legendItemBadgeTemplate(v) {
this.i.legendItemBadgeTemplate = v;
}
/**
* Gets the actual legend item badge template used by the series.
*/
get actualLegendItemBadgeTemplate() {
return this.i.s0;
}
set actualLegendItemBadgeTemplate(v) {
this.i.s0 = v;
}
/**
* Gets the effective legend badge outline for the current series.
*/
get actualLegendItemBadgeOutline() {
return brushToString(this.i.vh);
}
set actualLegendItemBadgeOutline(v) {
this.i.vh = stringToBrush(v);
}
/**
* Gets the effective legend badge fill for the current series.
*/
get actualLegendItemBadgeBrush() {
return brushToString(this.i.vg);
}
set actualLegendItemBadgeBrush(v) {
this.i.vg = stringToBrush(v);
}
/**
* Gets or sets the type of legend badge representing the current series in a legend.
* This property will be ignored when the LegendItemTemplate/LegendItemBadgeTemplate property is set on the series
*/
get legendItemBadgeShape() {
return this.i.legendItemBadgeShape;
}
set legendItemBadgeShape(v) {
this.i.legendItemBadgeShape = ensureEnum(LegendItemBadgeShape_$type, v);
}
/**
* Gets or sets the mode of legend badge representing the current series in a legend.
* This property will be ignored when the LegendItemTemplate/LegendItemBadgeTemplate property is set on the series
*/
get legendItemBadgeMode() {
return this.i.be;
}
set legendItemBadgeMode(v) {
this.i.be = ensureEnum(LegendItemBadgeMode_$type, v);
}
/**
* Gets or sets the LegendItemTemplate property.
* The legend item control content is created according to the LegendItemTemplate on-demand by
* the series object itself.
*/
get legendItemTemplate() {
return this.i.legendItemTemplate;
}
set legendItemTemplate(v) {
this.i.legendItemTemplate = v;
}
/**
* Gets or sets the DiscreteLegendItemTemplate property.
* The legend item control content is created according to the DiscreteLegendItemTemplate on-demand by
* the series object itself.
*/
get discreteLegendItemTemplate() {
return this.i.s1;
}
set discreteLegendItemTemplate(v) {
this.i.s1 = v;
}
/**
* Gets the Index property.
*/
get index() {
return this.i.index;
}
set index(v) {
this.i.index = +v;
}
/**
* Gets or sets the easing function used to morph the current series.
*
* The `TransitioninDuration` and `TransitionEasingFunction` can be used to play animation when data is added or removed from a `Series`. To play an initial animation see `TransitionInDuration`.
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* isDropShadowEnabled=true
* markerType="circle"
* transitionEasingFunction ="cubicEase"
* isTransitionInEnabled= {true} />
* </IgrDataChart>
* ```
*
* ```ts
* this.series.transitionEasingFunction = EasingFunctions.cubicEase;
* ```
*/
get transitionEasingFunction() {
return this.i.de;
}
set transitionEasingFunction(v) {
this.i.de = v;
}
/**
* Gets or sets the EasingFunction used to morph the current series during the initial transition.
*
* The `TransitionInEasingFunction` can be used with `IsTransitionInEnabled` to cofigure the animation when a new datasource is loaded.
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* isDropShadowEnabled=true
* markerType="circle"
* transitionInEasingFunction ="cubicEase"
* isTransitionInEnabled= {true} />
* </IgrDataChart>
* ```
*
* ```ts
* this.series.transitionInEasingFunction = EasingFunctions.cubicEase;
* ```
*/
get transitionInEasingFunction() {
return this.i.df;
}
set transitionInEasingFunction(v) {
this.i.df = v;
}
/**
* Gets or sets the EasingFunction used to morph the current series during the initial transition.
*/
get transitionOutEasingFunction() {
return this.i.dg;
}
set transitionOutEasingFunction(v) {
this.i.dg = v;
}
/**
* Gets or sets the duration of the current series' morph.
*
* The `TransitionDuration` can be used to play animation when data is added or removed from a `Series`. To play an initial animation see `TransitionInDuration`.
*
* ```ts
* this.series.transitionDuration = 500;
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* isTransitionInEnabled=true
* transitionInSpeedType="indexScaled"
* transitionDuration= {500}
* transitionInDuration = {500} />
* </IgrDataChart>
* ```
*/
get transitionDuration() {
return this.i.ke;
}
set transitionDuration(v) {
this.i.ke = +v;
}
get actualResolution() {
return this.i.ie;
}
set actualResolution(v) {
this.i.ie = +v;
}
/**
* Gets or sets the current series object's rendering resolution.
*
* Setting the `Resolution` on a Series to a higher value can help with performance, but it will lower the graphical fidelity of the line. As such, it can be increased up until the fidelity is unacceptable.
*
* ```ts
* this.series.resolution = 1.5;
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* resolution= {1.5} />
* </IgrDataChart>
* ```
*/
get resolution() {
return this.i.jk;
}
set resolution(v) {
this.i.jk = +v;
}
/**
* Gets or sets the top margin to use when getting a visible axis range for the series.
*/
get visibleRangeMarginTop() {
return this.i.jv;
}
set visibleRangeMarginTop(v) {
this.i.jv = +v;
}
/**
* Gets or sets the bottom margin to use when getting a visible axis range for the series.
*/
get visibleRangeMarginBottom() {
return this.i.js;
}
set visibleRangeMarginBottom(v) {
this.i.js = +v;
}
/**
* Gets or sets the left margin to use when getting a visible axis range for the series.
*/
get visibleRangeMarginLeft() {
return this.i.jt;
}
set visibleRangeMarginLeft(v) {
this.i.jt = +v;
}
/**
* Gets or sets the right margin to use when getting a visible axis range for the series.
*/
get visibleRangeMarginRight() {
return this.i.ju;
}
set visibleRangeMarginRight(v) {
this.i.ju = +v;
}
/**
* Gets or sets the Title property.
* The legend item control is created according to the Title on-demand by
* the series object itself.
*
* The `Series` `Title` may be used in tooltips and legends.
*
* ```ts
* this.series.title = "InStock Items";
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* title="InStock Items" />
* </IgrDataChart>
* ```
*/
get title() {
return this.i.title;
}
set title(v) {
this.i.title = v;
}
/**
* Gets or sets the HighlightedTitleSuffix property.
*/
get highlightedTitleSuffix() {
return this.i.mj;
}
set highlightedTitleSuffix(v) {
this.i.mj = v;
}
/**
* Gets or sets whether the highlighted values layer should have a legend item.
*/
get highlightedLegendItemVisibility() {
return this.i.w2;
}
set highlightedLegendItemVisibility(v) {
this.i.w2 = ensureEnum(Visibility_$type, v);
}
/**
* Gets or sets the brush to use for the series.
*
* The `Brush` along with the `Outline` and `Negative Brush` can be used to affect the visuals of the `Series`.
*
* ```ts
* this.series.brush = "red";
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* brush="Gray"
* outline="Black" />
* </IgrDataChart>
* ```
*/
get brush() {
return brushToString(this.i.vk);
}
set brush(v) {
this.i.vk = stringToBrush(v);
}
/**
* Gets the effective brush for the current series object.
*
* ```ts
* let actualBrush: string = series.actualBrush;
* ```
*/
get actualBrush() {
return brushToString(this.i.ve);
}
set actualBrush(v) {
this.i.ve = stringToBrush(v);
}
/**
* Gets or sets the selection brush to use for the series.
*/
get selectionBrush() {
return brushToString(this.i.v4);
}
set selectionBrush(v) {
this.i.v4 = stringToBrush(v);
}
/**
* Gets or sets the Focus brush to use for the series.
*/
get focusBrush() {
return brushToString(this.i.vp);
}
set focusBrush(v) {
this.i.vp = stringToBrush(v);
}
/**
* Gets the effective emphasis brush for the current series object.
*/
get actualSelectionBrush() {
return brushToString(this.i.vj);
}
set actualSelectionBrush(v) {
this.i.vj = stringToBrush(v);
}
/**
* Gets the effective emphasis brush for the current series object.
*/
get actualFocusBrush() {
return brushToString(this.i.vf);
}
set actualFocusBrush(v) {
this.i.vf = stringToBrush(v);
}
/**
* Gets the effective brush for the current series object with opacity removed so its contrasty for use as a font color.
*/
get safeActualBrush() {
return brushToString(this.i.safeActualBrush);
}
set safeActualBrush(v) {
this.i.safeActualBrush = stringToBrush(v);
}
/**
* Gets or sets the brush to use for the outline of the series.
* Some series types, such as LineSeries, do not display outlines. Therefore, this property does not affect some charts.
*
* The `Outline` along with the `Brush` and `NegativeBrush` can be used to affect the visuals of the `Series`.
*
* ```ts
* this.series.brush = "red";
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* brush="Gray"
* outline="Black" />
* </IgrDataChart>
* ```
*/
get outline() {
return brushToString(this.i.v0);
}
set outline(v) {
this.i.v0 = stringToBrush(v);
}
/**
* Gets the effective outline for the current series object.
*
* ```ts
* let actualOutline: string = series.ActualOutline;
* ```
*/
get actualOutline() {
return brushToString(this.i.vi);
}
set actualOutline(v) {
this.i.vi = stringToBrush(v);
}
/**
* Gets or sets the brush that specifies current series object's line join style.
*/
get lineJoin() {
return this.i.wa;
}
set lineJoin(v) {
this.i.wa = ensureEnum(PenLineJoin_$type, v);
}
/**
* Gets or sets whether and how to display highlighted values for the series. Note, this is distinct from the highlighting feature that indicates what is closest or under the mouse.
*/
get highlightedValuesDisplayMode() {
return this.i.bw;
}
set highlightedValuesDisplayMode(v) {
this.i.bw = ensureEnum(SeriesHighlightedValuesDisplayMode_$type, v);
}
/**
* Gets or sets whether and how to display highlighted values for the series. Note, this is distinct from the highlighting feature that indicates what is closest or under the mouse.
*/
get shouldAnimateOnDataSourceSwap() {
return this.i.gh;
}
set shouldAnimateOnDataSourceSwap(v) {
this.i.gh = ensureBool(v);
}
/**
* Gets or sets the width of the current series object's line thickness.
*
* Depending on the `Series` type, this can be the main brush used, or just the outline. For example, when using a `LineSeries` it will affect the thickness of the lines drawn, whereas when using a `ColumnSeries` it will affect the outer border thickness of the columns.
*
* ```ts
* this.series.thickness=5;
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* thickness= {5} />
* </IgrDataChart>
* ```
*/
get thickness() {
return this.i.jq;
}
set thickness(v) {
this.i.jq = +v;
}
/**
* Gets the effective Thickness for the current series object.
*/
get actualThickness() {
return this.i.ig;
}
set actualThickness(v) {
this.i.ig = +v;
}
/**
* Gets or sets a collection of Double values that indicate the pattern of dashes and gaps that
* is used to outline the current series object.
*/
get dashArray() {
return fromDoubleCollection(this.i.v7);
}
set dashArray(v) {
this.i.v7 = toDoubleCollection(v);
}
/**
* Gets actual highlighting mode
*/
get actualHighlightingMode() {
return this.i.by;
}
set actualHighlightingMode(v) {
this.i.by = ensureEnum(SeriesHighlightingMode_$type, v);
}
/**
* Gets actual Selection mode
*/
get actualSelectionMode() {
return this.i.cq;
}
set actualSelectionMode(v) {
this.i.cq = ensureEnum(SeriesSelectionMode_$type, v);
}
/**
* Gets actual Selection mode
*/
get actualFocusMode() {
return this.i.cp;
}
set actualFocusMode(v) {
this.i.cp = ensureEnum(SeriesSelectionMode_$type, v);
}
/**
* Gets actual HighlightedValues fade opacity
*/
get actualHighlightedValuesFadeOpacity() {
return this.i.ib;
}
set actualHighlightedValuesFadeOpacity(v) {
this.i.ib = +v;
}
/**
* Gets or sets the target opacity to fade to for fade style HighlightedValues.
*/
get highlightedValuesFadeOpacity() {
return this.i.jf;
}
set highlightedValuesFadeOpacity(v) {
this.i.jf = +v;
}
/**
* Gets actual highlighting fade opacity
*/
get actualHighlightingFadeOpacity() {
return this.i.ic;
}
set actualHighlightingFadeOpacity(v) {
this.i.ic = +v;
}
/**
* Gets or sets the target opacity to fade to for fade style highlighting.
*/
get highlightingFadeOpacity() {
return this.i.jg;
}
set highlightingFadeOpacity(v) {
this.i.jg = +v;
}
/**
* Gets or sets whether the ActualLegend is FinancialLegend or normal Legend.
*/
get isActualLegendFinancial() {
return this.i.ep;
}
set isActualLegendFinancial(v) {
this.i.ep = ensureBool(v);
}
/**
* Gets or sets whether the component level highlight mode is ignored.
*/
get isComponentHighlightingModeIgnored() {
return this.i.e2;
}
set isComponentHighlightingModeIgnored(v) {
this.i.e2 = ensureBool(v);
}
/**
* Gets or sets whether highlighting should be enabled for this series, if this type of series supports highlighting.
*
* ```ts
* this.series.isHighlightingEnabled = true;
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* isHighlightingEnabled="true" />
* </IgrDataChart>
* ```
*/
get isHighlightingEnabled() {
return this.i.fe;
}
set isHighlightingEnabled(v) {
this.i.fe = ensureBool(v);
}
/**
* Gets or sets whether the series should use individual palette colors for each item.
*/
get useItemWiseColors() {
return this.i.ha;
}
set useItemWiseColors(v) {
this.i.ha = ensureBool(v);
}
get isColoredItemwise() {
return this.i.isColoredItemwise;
}
/**
* Gets or sets whether the opacity should be automatically shifted for the safe actual brush.
*/
get shouldShiftOpacityForSafeActualBrush() {
return this.i.gm;
}
set shouldShiftOpacityForSafeActualBrush(v) {
this.i.gm = ensureBool(v);
}
/**
* Gets or sets whether the opacity should be automatically shifted for the safe actual brush.
*/
get shouldRemoveHighlightedDataOnLayerHidden() {
return this.i.gk;
}
set shouldRemoveHighlightedDataOnLayerHidden(v) {
this.i.gk = ensureBool(v);
}
/**
* Gets or sets whether this series should suppress it's auto callouts
*/
get shouldHideAutoCallouts() {
return this.i.gj;
}
set shouldHideAutoCallouts(v) {
this.i.gj = ensureBool(v);
}
/**
* Gets or sets whether drop shadow should be enabled for this series.
*
* `IsDropShadowEnabled` is used to decide whether drop shadow should be enabled for this series.
*
* ```ts
* this.series.isDropShadowEnabled = true;
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* isDropShadowEnabled="true" />
* </IgrDataChart>
* ```
*/
get isDropShadowEnabled() {
return this.i.e6;
}
set isDropShadowEnabled(v) {
this.i.e6 = ensureBool(v);
}
/**
* Gets or sets the shadow blur.
* This property is ignored when
* Series.UseSingleShadow is set to true.
*
* `ShadowBlur` can be set in conjection with `IsDropShadowEnabled` to further define the drop shadow effect.
*
* ```ts
* this.series.shadowBlur = 7;
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* shadowBlur={7}
* shadowColor="blue" />
* </IgrDataChart>
* ```
*/
get shadowBlur() {
return this.i.jn;
}
set shadowBlur(v) {
this.i.jn = +v;
}
/**
* Gets or sets the drop shadow color.
*
* `ShadowColor` can be set in conjection with `IsDropShadowEnabled` to further define the drop shadow effect.
*
* ```ts
* this.series.shadowColor = "blue";
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* shadowBlur="7"
* shadowColor="blue" />
* </IgrDataChart>
* ```
*/
get shadowColor() {
return colorToString(this.i.v6);
}
set shadowColor(v) {
this.i.v6 = stringToColor(v);
}
/**
* Gets or sets whether drop shadow is applied to the whole series visual or to each of the individual shapes forming the series.
* When this property is set to true, no
* Series.ShadowBlur is applied.
*
* ```ts
* this.series.useSingleShadow = true;
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* isDropShadowEnabled=true
* markerType="circle"
* useSingleShadow= {true} />
* </IgrDataChart>
* ```
*/
get useSingleShadow() {
return this.i.hd;
}
set useSingleShadow(v) {
this.i.hd = ensureBool(v);
}
/**
* Gets or sets the drop shadow x-offset.
*
* `ShadowOffsetX` can be set in conjection with `IsDropShadowEnabled` to further define the drop shadow effect.
*
* ```ts
* this.series.shadowOffsetX = 10;
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* shadowOffsetX= {10}
* shadowOffsetY={10] />
* </IgrDataChart>
* ```
*/
get shadowOffsetX() {
return this.i.jo;
}
set shadowOffsetX(v) {
this.i.jo = +v;
}
/**
* Gets or sets the drop shadow y-offset.
*
* `ShadowOffsetY` can be set in conjection with `IsDropShadowEnabled` to further define the drop shadow effect.
*
* ```ts
* this.series.shadowOffsetY = 10;
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* shadowOffsetX= {10}
* shadowOffsetY= {10} />
* </IgrDataChart>
* ```
*/
get shadowOffsetY() {
return this.i.jp;
}
set shadowOffsetY(v) {
this.i.jp = +v;
}
/**
* Gets or sets the opacity applied to the area fill visual.
* This property only applies to series that have area visual.
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* actualAreaFillOpacity= {1} />
* </IgrDataChart>
* ```
*/
get areaFillOpacity() {
return this.i.il;
}
set areaFillOpacity(v) {
this.i.il = +v;
}
/**
* Gets the actual opacity applied to the area fill visual.
*
* ```ts
* let actualFillOpacity: number = series.actualAreaFillOpacity;
* ```
*/
get actualAreaFillOpacity() {
return this.i.ia;
}
set actualAreaFillOpacity(v) {
this.i.ia = +v;
}
/**
* Gets or sets the opacity applied to the fill of the markers.
* This property only applies to series that have area visual.
*/
get markerFillOpacity() {
return this.i.jh;
}
set markerFillOpacity(v) {
this.i.jh = +v;
}
/**
* Gets the actual opacity applied to the fill of the markers.
*/
get actualMarkerFillOpacity() {
return this.i.id;
}
set actualMarkerFillOpacity(v) {
this.i.id = +v;
}
/**
* Gets if the default tooltip has been selected for display.
*
* To use the default tooltip set `ShowDefaultTooltip` to true.
*
* ```ts
* let isDefaultToolTipSelected: boolean = this.series.isDefaultToolTipSelected;
* ```
*/
get isDefaultToolTipSelected() {
return this.i.e5;
}
set isDefaultToolTipSelected(v) {
this.i.e5 = ensureBool(v);
}
/**
* Gets or sets whether default tooltip will be shown.
*
* The default tooltips display all the information relevant to the particular series item (series title, data values, axis values etc.) and are styled to match the series' style. When using default tooltips, you should also set the series `Title`.
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* showDefaultTooltip ="true"
* title="InStock Items" />
* </IgrDataChart>
* ```
*
* ```ts
* this.series.showDefaultTooltip ="true";
* ```
*/
get showDefaultTooltip() {
return this.i.gq;
}
set showDefaultTooltip(v) {
this.i.gq = ensureBool(v);
}
/**
* Gets or sets whether the tooltip will be attached to the root,
* when set to false it will be a child of the chart.
*/
get attachTooltipToRoot() {
return this.i.d5;
}
set attachTooltipToRoot(v) {
this.i.d5 = ensureBool(v);
}
/**
* Gets or sets the visible range mode to use.
*/
get visibleRangeMode() {
return this.i.c0;
}
set visibleRangeMode(v) {
this.i.c0 = ensureEnum(SeriesVisibleRangeMode_$type, v);
}
/**
* Gets or sets the outline mode to use for the series.
*/
get outlineMode() {
return this.i.cj;
}
set outlineMode(v) {
this.i.cj = ensureEnum(SeriesOutlineMode_$type, v);
}
/**
* Gets or sets the duration of the current series' transition in morph.
*
* The `TransitionInDuration` can be used with `IsTransitionInEnabled` to cofigure the animation when a new datasource is loaded.
*
* ```ts
* this.series.transitionDuration = 500;
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource} >
*
* <IgrNumericXAxis name="xAxis" />
* <IgrNumericYAxis name="yAxis" />
*
* <IgrAreaSeries
* name="series1"
* xAxisName="xAxis"
* yAxisName="yAxis"
* valueMemberPath="Value"
* isTransitionInEnabled= {true}
* transitionInSpeedType="indexScaled"
* transitionDuration={500}
* transitionInDuration= {500} />
* </IgrDataChart>
* ```
*/
get transitionInDuration() {
return this.i.kf;
}
set transitionInDuration(v) {
this.i.kf = +v;
}
/**
* Gets or sets the duration of the current series' transition out morph.
*/
get transitionOutDuration() {
return this.i.kg;
}
set transitionOutDuration(v) {
this.i.kg = +v;
}
/**
* Gets or sets the duration of the current series' transition in morph.
*
* The `TransitionInSpee