igniteui-react-charts
Version:
Ignite UI React charting components for building rich data visualizations using TypeScript APIs.
807 lines (801 loc) • 21.4 kB
JavaScript
import { HorizontalAlignment_$type } from "igniteui-react-core";
import { VerticalAlignment_$type } from "igniteui-react-core";
import { Visibility_$type } from "igniteui-react-core";
import { ValueAxisLabelLocation_$type } from "./ValueAxisLabelLocation";
import { AngleAxisLabelLocation_$type } from "./AngleAxisLabelLocation";
import { IgrDomainChart } from "./igr-domain-chart";
import { brushToString, stringToBrush, ensureBool, ensureEnum, arrayFindByName } from "igniteui-react-core";
/**
* Represents a base class for domain charts with X/Y axes
*/
export class IgrRadialBaseChart extends IgrDomainChart {
/**
* @hidden
*/
get i() {
return this._implementation;
}
constructor(props) {
super(props);
}
/**
* Gets or sets function which takes an context object and returns a formatted label for the X-axis.
*/
get angleAxisFormatLabel() {
return this.i.aa0;
}
set angleAxisFormatLabel(v) {
this.i.aa0 = v;
}
/**
* Gets or sets function which takes a context object and returns a formatted label for the Y-axis.
*/
get valueAxisFormatLabel() {
return this.i.aa1;
}
set valueAxisFormatLabel(v) {
this.i.aa1 = v;
}
/**
* Gets or sets the left margin of labels on the X-axis
*/
get angleAxisLabelLeftMargin() {
return this.i.acf;
}
set angleAxisLabelLeftMargin(v) {
this.i.acf = +v;
}
/**
* Gets or sets the top margin of labels on the X-axis
*/
get angleAxisLabelTopMargin() {
return this.i.ach;
}
set angleAxisLabelTopMargin(v) {
this.i.ach = +v;
}
/**
* Gets or sets the right margin of labels on the X-axis
*/
get angleAxisLabelRightMargin() {
return this.i.acg;
}
set angleAxisLabelRightMargin(v) {
this.i.acg = +v;
}
/**
* Gets or sets the bottom margin of labels on the X-axis
*/
get angleAxisLabelBottomMargin() {
return this.i.ace;
}
set angleAxisLabelBottomMargin(v) {
this.i.ace = +v;
}
/**
* Gets or sets the left margin of labels on the Y-axis
*/
get valueAxisLabelLeftMargin() {
return this.i.ac2;
}
set valueAxisLabelLeftMargin(v) {
this.i.ac2 = +v;
}
/**
* Gets or sets the top margin of labels on the Y-axis
*/
get valueAxisLabelTopMargin() {
return this.i.ac4;
}
set valueAxisLabelTopMargin(v) {
this.i.ac4 = +v;
}
/**
* Gets or sets the right margin of labels on the Y-axis
*/
get valueAxisLabelRightMargin() {
return this.i.ac3;
}
set valueAxisLabelRightMargin(v) {
this.i.ac3 = +v;
}
/**
* Gets or sets the bottom margin of labels on the Y-axis
*/
get valueAxisLabelBottomMargin() {
return this.i.ac1;
}
set valueAxisLabelBottomMargin(v) {
this.i.ac1 = +v;
}
/**
* Gets or sets color of labels on the X-axis
*/
get angleAxisLabelTextColor() {
return brushToString(this.i.ahf);
}
set angleAxisLabelTextColor(v) {
this.i.ahf = stringToBrush(v);
}
/**
* Gets or sets color of labels on the Y-axis
*/
get valueAxisLabelTextColor() {
return brushToString(this.i.ahm);
}
set valueAxisLabelTextColor(v) {
this.i.ahm = stringToBrush(v);
}
/**
* Gets the actual color of labels on the X-axis
*/
get actualAngleAxisLabelTextColor() {
return brushToString(this.i.ahd);
}
set actualAngleAxisLabelTextColor(v) {
this.i.ahd = stringToBrush(v);
}
/**
* Gets the actual color of labels on the Y-axis
*/
get actualValueAxisLabelTextColor() {
return brushToString(this.i.ahe);
}
set actualValueAxisLabelTextColor(v) {
this.i.ahe = stringToBrush(v);
}
/**
* Gets or sets the margin around a title on the X-axis
*/
get angleAxisTitleMargin() {
return this.i.acs;
}
set angleAxisTitleMargin(v) {
this.i.acs = +v;
}
/**
* Gets or sets the margin around a title on the Y-axis
*/
get valueAxisTitleMargin() {
return this.i.adf;
}
set valueAxisTitleMargin(v) {
this.i.adf = +v;
}
/**
* Gets or sets the left margin of a title on the X-axis
*/
get angleAxisTitleLeftMargin() {
return this.i.acr;
}
set angleAxisTitleLeftMargin(v) {
this.i.acr = +v;
}
/**
* Gets or sets the left margin of a title on the Y-axis
*/
get valueAxisTitleLeftMargin() {
return this.i.ade;
}
set valueAxisTitleLeftMargin(v) {
this.i.ade = +v;
}
/**
* Gets or sets the top margin of a title on the X-axis
*/
get angleAxisTitleTopMargin() {
return this.i.acu;
}
set angleAxisTitleTopMargin(v) {
this.i.acu = +v;
}
/**
* Gets or sets the top margin of a title on the Y-axis
*/
get valueAxisTitleTopMargin() {
return this.i.adh;
}
set valueAxisTitleTopMargin(v) {
this.i.adh = +v;
}
/**
* Gets or sets the right margin of a title on the X-axis
*/
get angleAxisTitleRightMargin() {
return this.i.act;
}
set angleAxisTitleRightMargin(v) {
this.i.act = +v;
}
/**
* Gets or sets the right margin of a title on the Y-axis
*/
get valueAxisTitleRightMargin() {
return this.i.adg;
}
set valueAxisTitleRightMargin(v) {
this.i.adg = +v;
}
/**
* Gets or sets the bottom margin of a title on the X-axis
*/
get angleAxisTitleBottomMargin() {
return this.i.acq;
}
set angleAxisTitleBottomMargin(v) {
this.i.acq = +v;
}
/**
* Gets or sets the bottom margin of a title on the Y-axis
*/
get valueAxisTitleBottomMargin() {
return this.i.add;
}
set valueAxisTitleBottomMargin(v) {
this.i.add = +v;
}
/**
* Gets or sets color of title on the X-axis
*/
get angleAxisTitleTextColor() {
return brushToString(this.i.ahl);
}
set angleAxisTitleTextColor(v) {
this.i.ahl = stringToBrush(v);
}
/**
* Gets or sets color of title on the Y-axis
*/
get valueAxisTitleTextColor() {
return brushToString(this.i.ahs);
}
set valueAxisTitleTextColor(v) {
this.i.ahs = stringToBrush(v);
}
/**
* Gets or sets CSS font property for labels on X-axis
*/
get angleAxisLabelTextStyle() {
return this.i.aea;
}
set angleAxisLabelTextStyle(v) {
this.i.aea = v;
}
/**
* Gets or sets CSS font property for labels on Y-axis
*/
get valueAxisLabelTextStyle() {
return this.i.afi;
}
set valueAxisLabelTextStyle(v) {
this.i.afi = v;
}
/**
* Gets or sets CSS font property for title on X-axis
*/
get angleAxisTitleTextStyle() {
return this.i.ae0;
}
set angleAxisTitleTextStyle(v) {
this.i.ae0 = v;
}
/**
* Gets or sets CSS font property for title on Y-axis
*/
get valueAxisTitleTextStyle() {
return this.i.af8;
}
set valueAxisTitleTextStyle(v) {
this.i.af8 = v;
}
/**
* Gets or sets the format for labels along the X-axis.
*/
get angleAxisLabel() {
return this.i.adk;
}
set angleAxisLabel(v) {
this.i.adk = v;
}
/**
* Gets or sets the property or string from which the labels are derived.
*/
get valueAxisLabel() {
return this.i.adl;
}
set valueAxisLabel(v) {
this.i.adl = v;
}
/**
* Gets or sets the color to apply to major gridlines along the X-axis.
*/
get angleAxisMajorStroke() {
return brushToString(this.i.ahg);
}
set angleAxisMajorStroke(v) {
this.i.ahg = stringToBrush(v);
}
/**
* Gets or sets the color to apply to major gridlines along the Y-axis.
*/
get valueAxisMajorStroke() {
return brushToString(this.i.ahn);
}
set valueAxisMajorStroke(v) {
this.i.ahn = stringToBrush(v);
}
/**
* Gets or sets the thickness to apply to major gridlines along the X-axis.
*/
get angleAxisMajorStrokeThickness() {
return this.i.aci;
}
set angleAxisMajorStrokeThickness(v) {
this.i.aci = +v;
}
/**
* Gets or sets the thickness to apply to major gridlines along the Y-axis.
*/
get valueAxisMajorStrokeThickness() {
return this.i.ac5;
}
set valueAxisMajorStrokeThickness(v) {
this.i.ac5 = +v;
}
/**
* Gets or sets the thickness to apply to minor gridlines along the X-axis.
*/
get angleAxisMinorStrokeThickness() {
return this.i.acl;
}
set angleAxisMinorStrokeThickness(v) {
this.i.acl = +v;
}
/**
* Gets or sets the thickness to apply to minor gridlines along the Y-axis.
*/
get valueAxisMinorStrokeThickness() {
return this.i.ac8;
}
set valueAxisMinorStrokeThickness(v) {
this.i.ac8 = +v;
}
/**
* Gets or sets the color to apply to stripes along the X-axis.
*/
get angleAxisStrip() {
return brushToString(this.i.ahi);
}
set angleAxisStrip(v) {
this.i.ahi = stringToBrush(v);
}
/**
* Gets or sets the color to apply to stripes along the Y-axis.
*/
get valueAxisStrip() {
return brushToString(this.i.ahp);
}
set valueAxisStrip(v) {
this.i.ahp = stringToBrush(v);
}
/**
* Gets or sets the color to apply to the X-axis line.
*/
get angleAxisStroke() {
return brushToString(this.i.ahj);
}
set angleAxisStroke(v) {
this.i.ahj = stringToBrush(v);
}
/**
* Gets or sets the color to apply to the Y-axis line.
*/
get valueAxisStroke() {
return brushToString(this.i.ahq);
}
set valueAxisStroke(v) {
this.i.ahq = stringToBrush(v);
}
/**
* Gets or sets the thickness to apply to the X-axis line.
*/
get angleAxisStrokeThickness() {
return this.i.acm;
}
set angleAxisStrokeThickness(v) {
this.i.acm = +v;
}
/**
* Gets or sets the thickness to apply to the Y-axis line.
*/
get valueAxisStrokeThickness() {
return this.i.ac9;
}
set valueAxisStrokeThickness(v) {
this.i.ac9 = +v;
}
/**
* Gets or sets the length of tickmarks along the X-axis.
*/
get angleAxisTickLength() {
return this.i.acn;
}
set angleAxisTickLength(v) {
this.i.acn = +v;
}
/**
* Gets or sets the length of tickmarks along the Y-axis.
*/
get valueAxisTickLength() {
return this.i.ada;
}
set valueAxisTickLength(v) {
this.i.ada = +v;
}
/**
* Gets or sets the color to apply to tickmarks along the X-axis.
*/
get angleAxisTickStroke() {
return brushToString(this.i.ahk);
}
set angleAxisTickStroke(v) {
this.i.ahk = stringToBrush(v);
}
/**
* Gets or sets the color to apply to tickmarks along the Y-axis.
*/
get valueAxisTickStroke() {
return brushToString(this.i.ahr);
}
set valueAxisTickStroke(v) {
this.i.ahr = stringToBrush(v);
}
/**
* Gets or sets the thickness to apply to tickmarks along the X-axis.
*/
get angleAxisTickStrokeThickness() {
return this.i.aco;
}
set angleAxisTickStrokeThickness(v) {
this.i.aco = +v;
}
/**
* Gets or sets the thickness to apply to tickmarks along the Y-axis.
*/
get valueAxisTickStrokeThickness() {
return this.i.adb;
}
set valueAxisTickStrokeThickness(v) {
this.i.adb = +v;
}
/**
* Gets or sets the Text to display below the X-axis.
*/
get angleAxisTitle() {
return this.i.aer;
}
set angleAxisTitle(v) {
this.i.aer = v;
}
/**
* Gets or sets the Text to display to the left of the Y-axis.
*/
get valueAxisTitle() {
return this.i.afz;
}
set valueAxisTitle(v) {
this.i.afz = v;
}
/**
* Gets or sets the color to apply to minor gridlines along the X-axis.
*/
get angleAxisMinorStroke() {
return brushToString(this.i.ahh);
}
set angleAxisMinorStroke(v) {
this.i.ahh = stringToBrush(v);
}
/**
* Gets or sets the color to apply to minor gridlines along the Y-axis.
*/
get valueAxisMinorStroke() {
return brushToString(this.i.aho);
}
set valueAxisMinorStroke(v) {
this.i.aho = stringToBrush(v);
}
/**
* Gets or sets the angle of rotation for labels along the X-axis.
*/
get angleAxisLabelAngle() {
return this.i.acd;
}
set angleAxisLabelAngle(v) {
this.i.acd = +v;
}
/**
* Gets or sets the angle of rotation for labels along the Y-axis.
*/
get valueAxisLabelAngle() {
return this.i.ac0;
}
set valueAxisLabelAngle(v) {
this.i.ac0 = +v;
}
/**
* Gets or sets the distance between the X-axis and the bottom of the chart.
*/
get angleAxisExtent() {
return this.i.acc;
}
set angleAxisExtent(v) {
this.i.acc = +v;
}
/**
* Gets or sets the maximum distance between the X-axis and the bottom of the chart.
*/
get angleAxisMaximumExtent() {
return this.i.acj;
}
set angleAxisMaximumExtent(v) {
this.i.acj = +v;
}
/**
* Gets or sets the maximum width between the X-axis and the bottom of the chart, as a percentage of total chart width.
*/
get angleAxisMaximumExtentPercentage() {
return this.i.ack;
}
set angleAxisMaximumExtentPercentage(v) {
this.i.ack = +v;
}
/**
* Gets or sets the distance between the Y-axis and the left edge of the chart.
*/
get valueAxisExtent() {
return this.i.acz;
}
set valueAxisExtent(v) {
this.i.acz = +v;
}
/**
* Gets or sets the distance between the Y-axis and the left edge of the chart.
*/
get valueAxisMaximumExtent() {
return this.i.ac6;
}
set valueAxisMaximumExtent(v) {
this.i.ac6 = +v;
}
/**
* Gets or sets the distance between the Y-axis and the left edge of the chart.
*/
get valueAxisMaximumExtentPercentage() {
return this.i.ac7;
}
set valueAxisMaximumExtentPercentage(v) {
this.i.ac7 = +v;
}
/**
* Gets or sets the angle of rotation for the X-axis title.
*/
get angleAxisTitleAngle() {
return this.i.acp;
}
set angleAxisTitleAngle(v) {
this.i.acp = +v;
}
/**
* Gets or sets the angle of rotation for the Y-axis title.
*/
get valueAxisTitleAngle() {
return this.i.adc;
}
set valueAxisTitleAngle(v) {
this.i.adc = +v;
}
/**
* Gets or sets whether to invert the direction of the X-axis by placing the first data items on the right side of the chart.
*/
get angleAxisInverted() {
return this.i.aa8;
}
set angleAxisInverted(v) {
this.i.aa8 = ensureBool(v);
}
/**
* Gets or sets whether to invert the direction of the Y-axis by placing the minimum numeric value at the top of the chart.
*/
get valueAxisInverted() {
return this.i.aa9;
}
set valueAxisInverted(v) {
this.i.aa9 = ensureBool(v);
}
/**
* Gets or sets Horizontal alignment of the X-axis title.
*/
get angleAxisTitleAlignment() {
return this.i.agv;
}
set angleAxisTitleAlignment(v) {
this.i.agv = ensureEnum(HorizontalAlignment_$type, v);
}
/**
* Gets or sets Vertical alignment of the Y-axis title.
*/
get valueAxisTitleAlignment() {
return this.i.ahy;
}
set valueAxisTitleAlignment(v) {
this.i.ahy = ensureEnum(VerticalAlignment_$type, v);
}
/**
* Gets or sets Horizontal alignment of X-axis labels.
*/
get angleAxisLabelHorizontalAlignment() {
return this.i.agu;
}
set angleAxisLabelHorizontalAlignment(v) {
this.i.agu = ensureEnum(HorizontalAlignment_$type, v);
}
/**
* Gets or sets Horizontal alignment of Y-axis labels.
*/
get valueAxisLabelHorizontalAlignment() {
return this.i.agw;
}
set valueAxisLabelHorizontalAlignment(v) {
this.i.agw = ensureEnum(HorizontalAlignment_$type, v);
}
/**
* Gets or sets Vertical alignment of X-axis labels.
*/
get angleAxisLabelVerticalAlignment() {
return this.i.ahw;
}
set angleAxisLabelVerticalAlignment(v) {
this.i.ahw = ensureEnum(VerticalAlignment_$type, v);
}
/**
* Gets or sets Vertical alignment of Y-axis labels.
*/
get valueAxisLabelVerticalAlignment() {
return this.i.ahx;
}
set valueAxisLabelVerticalAlignment(v) {
this.i.ahx = ensureEnum(VerticalAlignment_$type, v);
}
/**
* Gets or sets Visibility of X-axis labels.
*/
get angleAxisLabelVisibility() {
return this.i.ah1;
}
set angleAxisLabelVisibility(v) {
this.i.ah1 = ensureEnum(Visibility_$type, v);
}
/**
* Gets or sets Visibility of Y-axis labels.
*/
get valueAxisLabelVisibility() {
return this.i.ah2;
}
set valueAxisLabelVisibility(v) {
this.i.ah2 = ensureEnum(Visibility_$type, v);
}
/**
* Gets or sets location of Y-axis labels, relative to the plot area.
*/
get valueAxisLabelLocation() {
return this.i.aa5;
}
set valueAxisLabelLocation(v) {
this.i.aa5 = ensureEnum(ValueAxisLabelLocation_$type, v);
}
/**
* Gets or sets location of X-axis labels, relative to the plot area.
*/
get angleAxisLabelLocation() {
return this.i.aav;
}
set angleAxisLabelLocation(v) {
this.i.aav = ensureEnum(AngleAxisLabelLocation_$type, v);
}
/**
* Gets or sets the format string for the X axis label.
*/
get angleAxisLabelFormat() {
return this.i.ad1;
}
set angleAxisLabelFormat(v) {
this.i.ad1 = v;
}
/**
* Gets or sets the format specifiers to use with the AngleAxisLabelFormat string.
*/
get angleAxisLabelFormatSpecifiers() {
return this.i.aas;
}
set angleAxisLabelFormatSpecifiers(v) {
if (v && !Array.isArray(v) && typeof (v) == "string") {
const re = /\s*(?:,|\s|$)\s*/gm;
v = v.split(re);
}
this.i.aas = v;
}
/**
* Gets or sets the format string for the Y axis label.
*/
get valueAxisLabelFormat() {
return this.i.ae9;
}
set valueAxisLabelFormat(v) {
this.i.ae9 = v;
}
/**
* Gets or sets the format specifiers to use with the ValueAxisLabelFormat string.
*/
get valueAxisLabelFormatSpecifiers() {
return this.i.aat;
}
set valueAxisLabelFormatSpecifiers(v) {
if (v && !Array.isArray(v) && typeof (v) == "string") {
const re = /\s*(?:,|\s|$)\s*/gm;
v = v.split(re);
}
this.i.aat = v;
}
findByName(name) {
var baseResult = super.findByName(name);
if (baseResult) {
return baseResult;
}
if (this.angleAxisLabelFormatSpecifiers != null && arrayFindByName(this.angleAxisLabelFormatSpecifiers, name)) {
return arrayFindByName(this.angleAxisLabelFormatSpecifiers, name);
}
if (this.valueAxisLabelFormatSpecifiers != null && arrayFindByName(this.valueAxisLabelFormatSpecifiers, name)) {
return arrayFindByName(this.valueAxisLabelFormatSpecifiers, name);
}
return null;
}
/**
* Called by the UI framework to provide a UI container for rendering this control.
* @param container * The UI container element.
*/
provideContainer(container) {
this.i.provideContainer(container);
}
/**
* Converts the given visual location to a data value.
* @param unscaledValue * The x-coordinate of the location to scale.
*/
getScaledAngle(unscaledValue) {
let iv = this.i.acv(unscaledValue);
return (iv);
}
/**
* Converts the given data value to a visual location.
* @param scaledValue * The data value to un-scale.
*/
getUnscaledAngle(scaledValue) {
let iv = this.i.acx(scaledValue);
return (iv);
}
/**
* Converts the given visual location to a data value.
* @param unscaledValue * The y-coordinate of the location to scale.
*/
getScaledValue(unscaledValue) {
let iv = this.i.acw(unscaledValue);
return (iv);
}
/**
* Converts the given data value to a visual location.
* @param scaledValue * The data value to un-scale.
*/
getUnscaledValue(scaledValue) {
let iv = this.i.acy(scaledValue);
return (iv);
}
}