UNPKG

igniteui-angular-charts

Version:

Ignite UI Angular charting components for building rich data visualizations for modern web apps.

352 lines (348 loc) 14.2 kB
import { __extends } from "tslib"; import { EventEmitter, Output, Component, forwardRef, Input, ChangeDetectionStrategy } from '@angular/core'; import { delegateCombine } from "igniteui-angular-core"; import { IgxCategoryAxisBaseComponent } from "./igx-category-axis-base-component"; import { IgxAxisComponent } from "./igx-axis-component"; import { CategoryXAxis } from "./CategoryXAxis"; import * as i0 from "@angular/core"; /** * Represents a IgxDataChartComponent category X axis. * * `CategoryXAxis` class represents a IgxDataChartComponent category X axis. * * ```html * <igx-data-chart [dataSource]="data"> * <igx-category-x-axis #xAxis * label="label" > * </igx-category-x-axis> * <igx-numeric-y-axis #yAxis> * </igx-numeric-y-axis> * <igx-column-series * [xAxis]="xAxis" * [yAxis]="yAxis" * valueMemberPath="value"> * </igx-column-series> * </igx-data-chart> * ``` * * ```ts * let series = new IgxColumnSeriesComponent(); * series.xAxis = this.xAxis; * series.yAxis = this.yAxis; * series.valueMemberPath="value"; * this.chart.series.add(series); * ``` */ var IgxCategoryXAxisComponent = /** @class */ /*@__PURE__*/ (function (_super) { __extends(IgxCategoryXAxisComponent, _super); function IgxCategoryXAxisComponent() { var _this = _super.call(this) || this; _this._actualIntervalChange = null; _this._actualMinorIntervalChange = null; return _this; } IgxCategoryXAxisComponent.prototype.createImplementation = function () { return new CategoryXAxis(); }; Object.defineProperty(IgxCategoryXAxisComponent.prototype, "i", { /** * @hidden */ get: function () { return this._implementation; }, enumerable: false, configurable: true }); Object.defineProperty(IgxCategoryXAxisComponent.prototype, "zoomMaximumCategoryRange", { /** * Gets or sets number of visible categories at maximum zooming level * This property is overridden by chart's WindowRectMinWidth property */ get: function () { return this.i.zoomMaximumCategoryRange; }, set: function (v) { this.i.zoomMaximumCategoryRange = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxCategoryXAxisComponent.prototype, "zoomMaximumItemSpan", { /** * Gets or sets maximum pixel span of series item that will be visible at maximum zooming level * This property ensures that series item does not get stretch above specified value. * This property is overridden by chart's WindowRectMinWidth property */ get: function () { return this.i.zoomMaximumItemSpan; }, set: function (v) { this.i.zoomMaximumItemSpan = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxCategoryXAxisComponent.prototype, "zoomToCategoryRange", { /** * Gets or sets range of categories that the chart will zoom in to and fill plot area * This property is overridden by chart's WindowRect or WindowScaleHorizontal properties */ get: function () { return this.i.zoomToCategoryRange; }, set: function (v) { this.i.zoomToCategoryRange = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxCategoryXAxisComponent.prototype, "zoomToCategoryStart", { /** * Gets or sets starting category that chart will move its zoom window. Acceptable value is between 0 and number of data items * This property is overridden by chart's WindowRect or WindowScaleHorizontal properties */ get: function () { return this.i.zoomToCategoryStart; }, set: function (v) { this.i.zoomToCategoryStart = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxCategoryXAxisComponent.prototype, "zoomToItemSpan", { /** * Gets or sets pixel span of series item that will be used to zoom chart such that the item has desired span * Chart will automatically zoom in until series item has specified pixel span. * This property is overridden by chart's WindowRect or WindowScaleHorizontal properties */ get: function () { return this.i.zoomToItemSpan; }, set: function (v) { this.i.zoomToItemSpan = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxCategoryXAxisComponent.prototype, "interval", { /** * Gets or sets the frequency of displayed labels. * The set value is a factor that determines which labels will be hidden. For example, an interval of 2 will display every other label. * * `Interval` determines how often to show a label, tickmark, and/or gridline along the x-axis. Set this property to _n_ to display a label every _nth_ item. * * ```html * <igx-data-chart [dataSource]="data"> * <igx-category-x-axis #xAxis * label="label" * interval="3"> * </igx-category-x-axis> * <igx-numeric-y-axis #yAxis> * </igx-numeric-y-axis> * * <igx-column-series * [xAxis]="xAxis" * [yAxis]="yAxis" * valueMemberPath="value"> * </igx-column-series> * </igx-data-chart> * ``` * * ```ts * let series = new IgxColumnSeriesComponent(); * series.xAxis = this.xAxis; * xAxis.interval="3"; * series.yAxis = this.yAxis; * * series.valueMemberPath="value"; * this.chart.series.add(series); * ``` */ get: function () { return this.i.mw; }, set: function (v) { this.i.mw = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxCategoryXAxisComponent.prototype, "actualInterval", { /** * Gets the effective value for the current Interval. * * ```ts * let effectiveInterval: number = xAxis.actualInterval; * ``` */ get: function () { return this.i.mr; }, set: function (v) { this.i.mr = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxCategoryXAxisComponent.prototype, "minorInterval", { /** * Gets or sets the frequency of displayed minor lines. * The set value is a factor that determines how the minor lines will be displayed. * * `MinorInterval` determines how often to show a minor gridline along the x-axis. This property is relevant only when the displayed series is a type with grouping, like column series. * * `MinorInterval` is expressed as a number between 0 and 1, representing the frequency of the interval. To display minor gridlines representing 10ths of an item width, set `MinorInterval` to 0.1. * * ```html * <igx-data-chart [dataSource]="data"> * <igx-category-x-axis #xAxis * label="label" * minorInterval="0.1" * minorStroke="green" * minorStrokeThickness="1"> * </igx-category-x-axis> * <igx-numeric-y-axis #yAxis> * </igx-numeric-y-axis> * <igx-column-series * [xAxis]="xAxis" * [yAxis]="yAxis" * valueMemberPath="value"> * </igx-column-series> * </igx-data-chart> * ``` * * ```ts * let series = new IgxColumnSeriesComponent(); * series.xAxis = this.xAxis; * xAxis.minorInterval="0.1"; * series.yAxis = this.yAxis; * series.valueMemberPath="value"; * this.chart.series.add(series); * ``` */ get: function () { return this.i.mx; }, set: function (v) { this.i.mx = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxCategoryXAxisComponent.prototype, "actualMinorInterval", { /** * Gets the effective value for the current MinorInterval. * * ```ts * let effectiveMinorInterval: number = xAxis.actualMinorInterval; * ``` */ get: function () { return this.i.ms; }, set: function (v) { this.i.ms = +v; }, enumerable: false, configurable: true }); /** * Scrolls the specified item into view. * @param item * Data item to scroll into view */ IgxCategoryXAxisComponent.prototype.scrollIntoView = function (item) { this.i.nc(item); }; IgxCategoryXAxisComponent.prototype.scrollRangeIntoView = function (minimum, maximum) { this.i.nd(minimum, maximum); }; /** * Gets window zoom scale required to zoom to specified number of categories */ IgxCategoryXAxisComponent.prototype.getWindowZoomFromCategories = function (categoriesCount) { var iv = this.i.getWindowZoomFromCategories(categoriesCount); return (iv); }; /** * Gets window zoom scale required to zoom to specified span of series item */ IgxCategoryXAxisComponent.prototype.getWindowZoomFromItemSpan = function (pixels) { var iv = this.i.getWindowZoomFromItemSpan(pixels); return (iv); }; Object.defineProperty(IgxCategoryXAxisComponent.prototype, "actualIntervalChange", { get: function () { var _this = this; if (this._actualIntervalChange == null) { this._actualIntervalChange = new EventEmitter(); this.i.propertyChanged = delegateCombine(this.i.propertyChanged, function (o, e) { var iv = e; var ext = _this.actualInterval; if (_this.beforeActualIntervalChange) { _this.beforeActualIntervalChange(_this, ext); } _this._actualIntervalChange.emit(ext); }); } return this._actualIntervalChange; }, enumerable: false, configurable: true }); Object.defineProperty(IgxCategoryXAxisComponent.prototype, "actualMinorIntervalChange", { get: function () { var _this = this; if (this._actualMinorIntervalChange == null) { this._actualMinorIntervalChange = new EventEmitter(); this.i.propertyChanged = delegateCombine(this.i.propertyChanged, function (o, e) { var iv = e; var ext = _this.actualMinorInterval; if (_this.beforeActualMinorIntervalChange) { _this.beforeActualMinorIntervalChange(_this, ext); } _this._actualMinorIntervalChange.emit(ext); }); } return this._actualMinorIntervalChange; }, enumerable: false, configurable: true }); IgxCategoryXAxisComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxCategoryXAxisComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); IgxCategoryXAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: IgxCategoryXAxisComponent, selector: "igx-category-x-axis", inputs: { zoomMaximumCategoryRange: "zoomMaximumCategoryRange", zoomMaximumItemSpan: "zoomMaximumItemSpan", zoomToCategoryRange: "zoomToCategoryRange", zoomToCategoryStart: "zoomToCategoryStart", zoomToItemSpan: "zoomToItemSpan", interval: "interval", actualInterval: "actualInterval", minorInterval: "minorInterval", actualMinorInterval: "actualMinorInterval" }, outputs: { actualIntervalChange: "actualIntervalChange", actualMinorIntervalChange: "actualMinorIntervalChange" }, providers: [{ provide: IgxCategoryAxisBaseComponent, useExisting: forwardRef(function () { return IgxCategoryXAxisComponent; }) }, { provide: IgxAxisComponent, useExisting: forwardRef(function () { return IgxCategoryXAxisComponent; }) }], usesInheritance: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); return IgxCategoryXAxisComponent; }(IgxCategoryAxisBaseComponent)); export { IgxCategoryXAxisComponent }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxCategoryXAxisComponent, decorators: [{ type: Component, args: [{ selector: 'igx-category-x-axis', template: "", providers: [{ provide: IgxCategoryAxisBaseComponent, useExisting: forwardRef(function () { return IgxCategoryXAxisComponent; }) }, { provide: IgxAxisComponent, useExisting: forwardRef(function () { return IgxCategoryXAxisComponent; }) }], changeDetection: ChangeDetectionStrategy.OnPush }] }], ctorParameters: function () { return []; }, propDecorators: { zoomMaximumCategoryRange: [{ type: Input }], zoomMaximumItemSpan: [{ type: Input }], zoomToCategoryRange: [{ type: Input }], zoomToCategoryStart: [{ type: Input }], zoomToItemSpan: [{ type: Input }], interval: [{ type: Input }], actualInterval: [{ type: Input }], minorInterval: [{ type: Input }], actualMinorInterval: [{ type: Input }], actualIntervalChange: [{ type: Output }], actualMinorIntervalChange: [{ type: Output }] } });