igniteui-react-charts
Version:
Ignite UI React charting components for building rich data visualizations using TypeScript APIs.
154 lines (153 loc) • 4.93 kB
JavaScript
import { IgrSeries } from "./igr-series";
import { CategoryItemHighlightType_$type } from "./CategoryItemHighlightType";
import { MarkerType_$type } from "./MarkerType";
import { IgrAnnotationLayer } from "./igr-annotation-layer";
import { CategoryItemHighlightLayer } from "./CategoryItemHighlightLayer";
import { ensureBool, ensureEnum, brushToString, stringToBrush } from "igniteui-react-core";
/**
* Represents an annotation layer that highlights items in a series that use a category axis
* either by drawing a banded shape at their position, or by rendering a marker at their position.
* Depending on the type of series, the default highlight will be affected. To override
* the type of highlight used, you can set the HighlightType property.
*/
export class IgrCategoryItemHighlightLayer extends IgrAnnotationLayer {
createImplementation() {
return new CategoryItemHighlightLayer();
}
/**
* @hidden
*/
get i() {
return this._implementation;
}
constructor(props) {
super(props);
}
/**
* Gets whether the series is an annotation layer displayed only when hovering over the chart.
*/
get isAnnotationHoverLayer() {
return this.i.et;
}
/**
* Gets or sets the series to target this annotation to. If null, this annotation targets all series simultaneously.
*/
get targetSeries() {
const r = this.i.aak;
if (r == null) {
return null;
}
if (!r.externalObject) {
let e = IgrSeries._createFromInternal(r);
if (e) {
e._implementation = r;
}
r.externalObject = e;
}
return r.externalObject;
}
set targetSeries(v) {
if (v != null && this._stylingContainer && v._styling)
v._styling(this._stylingContainer, this, this);
v == null ? this.i.aak = null : this.i.aak = v.i;
}
/**
* Gets or sets the name of the series to target this annotation to. If null, this annotation targets all series simultaneously.
*/
get targetSeriesName() {
return this.i.aay;
}
set targetSeriesName(v) {
this.i.aay = v;
}
/**
* Gets or sets whether to use value interpolation when drawing a line through the best value for the pointer position.
*/
get useInterpolation() {
return this.i.aao;
}
set useInterpolation(v) {
this.i.aao = ensureBool(v);
}
/**
* Gets or sets which type of highlight shape to use when highlighting items.
*/
get highlightType() {
return this.i.aah;
}
set highlightType(v) {
this.i.aah = ensureEnum(CategoryItemHighlightType_$type, v);
}
/**
* Gets or sets which type of marker to use when highlighting items, if appropriate.
*/
get markerType() {
return this.i.aaj;
}
set markerType(v) {
this.i.aaj = ensureEnum(MarkerType_$type, v);
}
/**
* Gets or sets which color to use for the marker when highlighting items, if appropriate.
*/
get markerBrush() {
return brushToString(this.i.abi);
}
set markerBrush(v) {
this.i.abi = stringToBrush(v);
}
/**
* Gets or sets which outline color to use for the marker when highlighting items, if appropriate.
*/
get markerOutline() {
return brushToString(this.i.abj);
}
set markerOutline(v) {
this.i.abj = stringToBrush(v);
}
/**
* Gets or sets the template to use for marker visuals for the current series object.
*/
get markerTemplate() {
return this.i.aa7;
}
set markerTemplate(v) {
this.i.aa7 = v;
}
/**
* Gets or sets the width to use for the highlight region if highlighting items in a grid aligned series (line, spline, etc), with a banded shape.
*/
get bandHighlightWidth() {
return this.i.aaq;
}
set bandHighlightWidth(v) {
this.i.aaq = +v;
}
/**
* Gets or sets whether to skip unknown values when searching for series values.
*/
get skipUnknownValues() {
return this.i.aan;
}
set skipUnknownValues(v) {
this.i.aan = ensureBool(v);
}
findByName(name) {
var baseResult = super.findByName(name);
if (baseResult) {
return baseResult;
}
if (this.targetSeries && this.targetSeries.name && this.targetSeries.name == name) {
return this.targetSeries;
}
return null;
}
_styling(container, component, parent) {
super._styling(container, component, parent);
this._inStyling = true;
if (this.targetSeries && this.targetSeries._styling) {
this.targetSeries._styling(container, component, this);
}
this._inStyling = false;
}
}