UNPKG

igniteui-react-charts

Version:

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

345 lines (339 loc) 10.1 kB
import { delegateCombine, delegateRemove } from "igniteui-react-core"; import { IgrNumericXAxis } from "./igr-numeric-x-axis"; import { IgrNumericYAxis } from "./igr-numeric-y-axis"; import { IgrProgressiveLoadStatusEventArgs } from "./igr-progressive-load-status-event-args"; import { IgrSeries } from "./igr-series"; import { HighDensityScatterSeries } from "./HighDensityScatterSeries"; import { ensureBool, colorToString, stringToColor, toPoint } from "igniteui-react-core"; /** * Represents a IgxDataChartComponent series where a high volume of scatter points can be displayed. */ export class IgrHighDensityScatterSeries extends IgrSeries { createImplementation() { return new HighDensityScatterSeries(); } /** * @hidden */ get i() { return this._implementation; } constructor(props) { super(props); this._xAxisName = null; this._yAxisName = null; this._progressiveLoadStatusChanged = null; this._progressiveLoadStatusChanged_wrapped = null; } /** * Gets whether the current series shows pixels. */ get isPixel() { return this.i.fp; } /** * Checks if this series is a scatter series */ get isScatter() { return this.i.fx; } /** * Gets or sets the effective x-axis for the current object. */ get xAxis() { const r = this.i.xg; if (r == null) { return null; } if (!r.externalObject) { let e = IgrNumericXAxis._createFromInternal(r); if (e) { e._implementation = r; } r.externalObject = e; } return r.externalObject; } set xAxis(v) { if (v != null && this._stylingContainer && v._styling) v._styling(this._stylingContainer, this, this); v == null ? this.i.xg = null : this.i.xg = v.i; } /** * Gets or sets the name to use to resolve xAxis from markup. */ get xAxisName() { return this._xAxisName; } set xAxisName(v) { this._xAxisName = v; } /** * Gets or sets the effective y-axis for the current object. */ get yAxis() { const r = this.i.xi; if (r == null) { return null; } if (!r.externalObject) { let e = IgrNumericYAxis._createFromInternal(r); if (e) { e._implementation = r; } r.externalObject = e; } return r.externalObject; } set yAxis(v) { if (v != null && this._stylingContainer && v._styling) v._styling(this._stylingContainer, this, this); v == null ? this.i.xi = null : this.i.xi = v.i; } /** * Gets or sets the name to use to resolve yAxis from markup. */ get yAxisName() { return this._yAxisName; } set yAxisName(v) { this._yAxisName = v; } /** * Gets or sets the x value mapping property for the current series object. */ get xMemberPath() { return this.i.zk; } set xMemberPath(v) { this.i.zk = v; } /** * Gets or sets the label displayed before series X value in the Data Legend. */ get xMemberAsLegendLabel() { return this.i.zg; } set xMemberAsLegendLabel(v) { this.i.zg = v; } /** * Gets or sets the label displayed before series Y value in the Data Legend. */ get yMemberAsLegendLabel() { return this.i.zo; } set yMemberAsLegendLabel(v) { this.i.zo = v; } /** * Gets or sets the unit after displayed after series X value in the Data Legend. */ get xMemberAsLegendUnit() { return this.i.zi; } set xMemberAsLegendUnit(v) { this.i.zi = v; } /** * Gets or sets the unit after displayed after series Y value in the Data Legend. */ get yMemberAsLegendUnit() { return this.i.zq; } set yMemberAsLegendUnit(v) { this.i.zq = v; } /** * Gets or sets the y value mapping property for the current series object. */ get yMemberPath() { return this.i.zs; } set yMemberPath(v) { this.i.zs = v; } /** * Gets or sets the whether to use use brute force mode. */ get useBruteForce() { return this.i.xx; } set useBruteForce(v) { this.i.xx = ensureBool(v); } /** * Gets or sets the whether to progressively load the data into the chart. */ get progressiveLoad() { return this.i.xw; } set progressiveLoad(v) { this.i.xw = ensureBool(v); } /** * Gets or sets the density value that maps to the minimum heat color. */ get heatMinimum() { return this.i.ys; } set heatMinimum(v) { this.i.ys = +v; } /** * Gets or sets the value that maps to the maximum heat color. */ get heatMaximum() { return this.i.yr; } set heatMaximum(v) { this.i.yr = +v; } /** * Gets or sets the color to use for the minimum end of the scale. */ get heatMinimumColor() { return colorToString(this.i.aaq); } set heatMinimumColor(v) { this.i.aaq = stringToColor(v); } /** * Gets or sets the color to use for the maximum end of the scale. */ get heatMaximumColor() { return colorToString(this.i.aap); } set heatMaximumColor(v) { this.i.aap = stringToColor(v); } /** * Gets or sets the the pixel extent of the square data points that are rendered. */ get pointExtent() { return this.i.y4; } set pointExtent(v) { this.i.y4 = +v; } /** * Represents the current status of the progressive load of the series. It will range from 0 to 100, where 100 is fully loaded. */ get progressiveStatus() { return this.i.y5; } set progressiveStatus(v) { this.i.y5 = +v; } bindAxes(axes) { super.bindAxes(axes); for (let i = 0; i < axes.length; i++) { if (this.xAxisName && this.xAxisName.length > 0 && axes[i].name == this.xAxisName) { this.xAxis = axes[i]; } } for (let i = 0; i < axes.length; i++) { if (this.yAxisName && this.yAxisName.length > 0 && axes[i].name == this.yAxisName) { this.yAxis = axes[i]; } } } findByName(name) { var baseResult = super.findByName(name); if (baseResult) { return baseResult; } if (this.xAxis && this.xAxis.name && this.xAxis.name == name) { return this.xAxis; } if (this.yAxis && this.yAxis.name && this.yAxis.name == name) { return this.yAxis; } return null; } _styling(container, component, parent) { super._styling(container, component, parent); this._inStyling = true; if (this.xAxis && this.xAxis._styling) { this.xAxis._styling(container, component, this); } if (this.yAxis && this.yAxis._styling) { this.yAxis._styling(container, component, this); } this._inStyling = false; } getItemValue(item, memberPathName) { let iv = this.i.ku(item, memberPathName); return (iv); } /** * Gets the value of a requested member path from the series. * @param memberPathName * The property name of a valid member path for the series */ getMemberPathValue(memberPathName) { let iv = this.i.mi(memberPathName); return (iv); } /** * Determine if object can be used as YAxis * @param axis * The object to check */ canUseAsYAxis(axis) { let iv = this.i.xv(axis); return (iv); } /** * Determine if object can be used as XAxis * @param axis * The object to check */ canUseAsXAxis(axis) { let iv = this.i.xu(axis); return (iv); } /** * Scrolls the series to display the item for the specified data item. * The series is scrolled by the minimum amount required to place the specified data item within * the central 80% of the visible axis. * @param item * The data item (item) to scroll to. */ scrollIntoView(item) { let iv = this.i.ge(item); return (iv); } /** * Gets the item that is the best match for the specified world coordinates. * @param world * The world coordinates to use. */ getItem(world) { let iv = this.i.kr(toPoint(world)); return (iv); } /** * Raised when the progressive loading state of the series has changed. */ get progressiveLoadStatusChanged() { return this._progressiveLoadStatusChanged; } set progressiveLoadStatusChanged(ev) { if (this._progressiveLoadStatusChanged_wrapped !== null) { this.i.progressiveLoadStatusChanged = delegateRemove(this.i.progressiveLoadStatusChanged, this._progressiveLoadStatusChanged_wrapped); this._progressiveLoadStatusChanged_wrapped = null; this._progressiveLoadStatusChanged = null; } this._progressiveLoadStatusChanged = ev; this._progressiveLoadStatusChanged_wrapped = (o, e) => { let outerArgs = new IgrProgressiveLoadStatusEventArgs(); outerArgs._provideImplementation(e); if (this.beforeProgressiveLoadStatusChanged) { this.beforeProgressiveLoadStatusChanged(this, outerArgs); } if (this._progressiveLoadStatusChanged) { this._progressiveLoadStatusChanged(this, outerArgs); } }; this.i.progressiveLoadStatusChanged = delegateCombine(this.i.progressiveLoadStatusChanged, this._progressiveLoadStatusChanged_wrapped); ; } }