igniteui-react-charts
Version:
Ignite UI React charting components for building rich data visualizations using TypeScript APIs.
109 lines (106 loc) • 3.52 kB
JavaScript
import { ConsolidatedItemsPosition_$type } from "./ConsolidatedItemsPosition";
import { IgrHorizontalAnchoredCategorySeries } from "./igr-horizontal-anchored-category-series";
import { ColumnSeries } from "./ColumnSeries";
import { ensureEnum, toPoint, fromRect } from "igniteui-react-core";
/**
* Represents a IgxDataChartComponent column series.
* Compare values across categories by using vertical rectangles.
* Use it when the order of categories is not important or for displaying
* item counts such as a histogram.
*
* ```ts
* <IgrDataChart
* ref={this.onChartRef}
* dataSource={this.data}>
*
* <IgrCategoryXAxis name="xAxisYears"/>
* <IgrCategoryXAxis name="xAxisMonths" />
* <IgrNumericYAxis name="yAxisLeft" />
* <IgrNumericYAxis name="yAxisRight" />
*
* <IgrColumnSeries name="series1"
* valueMemberPath="volume"
* xAxisName="xAxisMonths"
* yAxisName="yAxisLeft"
* isTransitionInEnabled="true" />
* </IgrDataChart>
* ```
*
* ```ts
* this.columnSeries1 = new IgrColumnSeries({ name: "colSeries1" });
* this.columnSeries1.dataSource = this.categoryData;
* this.columnSeries1.xAxis = this.categoryXAxis;
* this.columnSeries1.yAxis = this.numericYAxis;
* this.columnSeries1.xAxisName = "categoryXAxis";
* this.columnSeries1.yAxisName = "numericYAxis";
* this.columnSeries1.valueMemberPath = "volume";
* ```
*/
export class IgrColumnSeries extends IgrHorizontalAnchoredCategorySeries {
createImplementation() {
return new ColumnSeries();
}
/**
* @hidden
*/
get i() {
return this._implementation;
}
constructor(props) {
super(props);
}
/**
* Gets whether the current series shows a column shape.
*/
get isColumn() {
return this.i.e1;
}
/**
* Overridden by derived series classes to indicate when marker-less display is preferred or not.
*/
get isMarkerlessDisplayPreferred() {
return this.i.fm;
}
/**
* Gets or sets the x-radius of the ellipse that is used to round the corners of the column.
*/
get radiusX() {
return this.i.ac7;
}
set radiusX(v) {
this.i.ac7 = +v;
}
/**
* Gets or sets the y-radius of the ellipse that is used to round the corners of the column.
*/
get radiusY() {
return this.i.ac8;
}
set radiusY(v) {
this.i.ac8 = +v;
}
/**
* The positioning logic to use for columns which have been consolidated into a single visual element.
*/
get consolidatedColumnVerticalPosition() {
return this.i.ac5;
}
set consolidatedColumnVerticalPosition(v) {
this.i.ac5 = ensureEnum(ConsolidatedItemsPosition_$type, v);
}
/**
* If possible, will return the best available value bounding box within the series that has the best value match for the world position provided.
* @param world * The world coordinate for which to get a value bounding box for
*/
getSeriesValueBoundingBox(world) {
let iv = this.i.ws(toPoint(world));
return fromRect(iv);
}
/**
* For a category plotted series, returns the current width of the items within the categories. This only returns a value if the items have some form of width (e.g. columns, bars, etc.) otherwise 0 is returned.
*/
getItemSpan() {
let iv = this.i.ix();
return (iv);
}
}