UNPKG

igniteui-react-charts

Version:

Ignite UI React charting components for building rich data visualizations using TypeScript APIs.

154 lines (153 loc) 4.93 kB
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; } }