UNPKG

igniteui-angular-charts

Version:

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

266 lines (264 loc) 11.6 kB
import { __extends } from "tslib"; import { Component, forwardRef, Input, ChangeDetectionStrategy } from '@angular/core'; import { IgxTimeAxisBreakCollection } from "./igx-time-axis-break-collection"; import { TimeAxisLabellingMode_$type } from "./TimeAxisLabellingMode"; import { IgxTimeAxisLabelFormatCollection } from "./igx-time-axis-label-format-collection"; import { IgxTimeAxisIntervalCollection } from "./igx-time-axis-interval-collection"; import { IgxTimeAxisBaseComponent } from "./igx-time-axis-base-component"; import { IgxCategoryAxisBaseComponent } from "./igx-category-axis-base-component"; import { IgxAxisComponent } from "./igx-axis-component"; import { TimeXAxis } from "./TimeXAxis"; import { ensureEnum } from "igniteui-angular-core"; import { TimeAxisBreakCollection as TimeAxisBreakCollection_internal } from "./TimeAxisBreakCollection"; import { TimeAxisBreak } from "./TimeAxisBreak"; import { SyncableObservableCollection$1 } from "igniteui-angular-core"; import { TimeAxisLabelFormatCollection as TimeAxisLabelFormatCollection_internal } from "./TimeAxisLabelFormatCollection"; import { TimeAxisLabelFormat } from "./TimeAxisLabelFormat"; import { TimeAxisIntervalCollection as TimeAxisIntervalCollection_internal } from "./TimeAxisIntervalCollection"; import { TimeAxisInterval } from "./TimeAxisInterval"; import * as i0 from "@angular/core"; /** * A horizontal axis that uses a DateTime scale. * * The `TimeXAxis` is a horizontal axis that uses a DateTime scale. * * ```html * <igx-data-chart * [dataSource]="data"> * <igx-time-x-axis * dateTimeMemberPath="date" * #xAxis> * </igx-time-x-axis> * </igx-data-chart> * ``` * * ```ts * let xAxis = new IgxTimeXAxisComponent(); * xAxis.dataTimeMemberPath="date"; * this.chart.axes.add(xAxis); * ``` */ var IgxTimeXAxisComponent = /** @class */ /*@__PURE__*/ (function (_super) { __extends(IgxTimeXAxisComponent, _super); function IgxTimeXAxisComponent() { var _this = _super.call(this) || this; _this._breaks = null; _this._labelFormats = null; _this._intervals = null; return _this; } IgxTimeXAxisComponent.prototype.createImplementation = function () { return new TimeXAxis(); }; Object.defineProperty(IgxTimeXAxisComponent.prototype, "i", { /** * @hidden */ get: function () { return this._implementation; }, enumerable: false, configurable: true }); Object.defineProperty(IgxTimeXAxisComponent.prototype, "isPiecewise", { get: function () { return this.i.cl; }, enumerable: false, configurable: true }); Object.defineProperty(IgxTimeXAxisComponent.prototype, "breaks", { /** * TimeAxisBreaks to apply to this axis, representing spans of time to omit, such as weekends. * * The `Breaks` to apply to this axis, representing spans of time to omit, such as weekends. * * ```html * <igx-data-chart * [dataSource]="data"> * <igx-time-x-axis * dateTimeMemberPath="date" * #xAxis> * </igx-time-x-axis> * </igx-data-chart> * ``` * * ```ts * let xAxis = new IgxTimeXAxisComponent(); * xAxis.dataTimeMemberPath="date"; * this.chart.axes.add(xAxis); * ``` */ get: function () { if (this._breaks === null) { var coll = new IgxTimeAxisBreakCollection(); var innerColl = this.i.breaks; if (!innerColl) { innerColl = new TimeAxisBreakCollection_internal(); } this._breaks = coll._fromInner(innerColl); } return this._breaks; }, set: function (v) { if (this._breaks !== null) { this._breaks._setSyncTarget(null); this._breaks = null; } var coll = new IgxTimeAxisBreakCollection(); this._breaks = coll._fromOuter(v); var syncColl = new SyncableObservableCollection$1(TimeAxisBreak.$type); var innerColl = this.i.breaks; if (!innerColl) { innerColl = new TimeAxisBreakCollection_internal(); } syncColl._inner = innerColl; syncColl.clear(); this._breaks._setSyncTarget(syncColl); }, enumerable: false, configurable: true }); Object.defineProperty(IgxTimeXAxisComponent.prototype, "labellingMode", { /** * Gets or sets the labelling mode to use when the automatic label formats are applied. */ get: function () { return this.i.n5; }, set: function (v) { this.i.n5 = ensureEnum(TimeAxisLabellingMode_$type, v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxTimeXAxisComponent.prototype, "labelFormats", { /** * A list of axis label formats to apply, which are selected according to the visible axis range. * The label format selected will be the one with the largest range smaller than the visible range of the axis. */ get: function () { if (this._labelFormats === null) { var coll = new IgxTimeAxisLabelFormatCollection(); var innerColl = this.i.labelFormats; if (!innerColl) { innerColl = new TimeAxisLabelFormatCollection_internal(); } this._labelFormats = coll._fromInner(innerColl); } return this._labelFormats; }, set: function (v) { if (this._labelFormats !== null) { this._labelFormats._setSyncTarget(null); this._labelFormats = null; } var coll = new IgxTimeAxisLabelFormatCollection(); this._labelFormats = coll._fromOuter(v); var syncColl = new SyncableObservableCollection$1(TimeAxisLabelFormat.$type); var innerColl = this.i.labelFormats; if (!innerColl) { innerColl = new TimeAxisLabelFormatCollection_internal(); } syncColl._inner = innerColl; syncColl.clear(); this._labelFormats._setSyncTarget(syncColl); }, enumerable: false, configurable: true }); Object.defineProperty(IgxTimeXAxisComponent.prototype, "intervals", { /** * A list of axis label intervals to apply, which are selected according to the visible axis range. * The interval selected will be the one with the largest range smaller than the visible range of the axis. */ get: function () { if (this._intervals === null) { var coll = new IgxTimeAxisIntervalCollection(); var innerColl = this.i.intervals; if (!innerColl) { innerColl = new TimeAxisIntervalCollection_internal(); } this._intervals = coll._fromInner(innerColl); } return this._intervals; }, set: function (v) { if (this._intervals !== null) { this._intervals._setSyncTarget(null); this._intervals = null; } var coll = new IgxTimeAxisIntervalCollection(); this._intervals = coll._fromOuter(v); var syncColl = new SyncableObservableCollection$1(TimeAxisInterval.$type); var innerColl = this.i.intervals; if (!innerColl) { innerColl = new TimeAxisIntervalCollection_internal(); } syncColl._inner = innerColl; syncColl.clear(); this._intervals._setSyncTarget(syncColl); }, enumerable: false, configurable: true }); Object.defineProperty(IgxTimeXAxisComponent.prototype, "isCategoryDateTime", { /** * Gets if the current axis is of category date time axis type */ get: function () { return this.i.cc; }, enumerable: false, configurable: true }); IgxTimeXAxisComponent.prototype.findByName = function (name) { var baseResult = _super.prototype.findByName.call(this, name); if (baseResult) { return baseResult; } if (this.breaks != null && this.breaks.findByName && this.breaks.findByName(name)) { return this.breaks.findByName(name); } if (this.labelFormats != null && this.labelFormats.findByName && this.labelFormats.findByName(name)) { return this.labelFormats.findByName(name); } if (this.intervals != null && this.intervals.findByName && this.intervals.findByName(name)) { return this.intervals.findByName(name); } return null; }; IgxTimeXAxisComponent.prototype.getValueLabel = function (value) { var iv = this.i.gf(value); return (iv); }; /** * Gets the index of the data item with the value nearest the given value. * @param unscaledValue * The value to find a value close to. */ IgxTimeXAxisComponent.prototype.getIndexClosestToUnscaledValue = function (unscaledValue) { var iv = this.i.i$f(unscaledValue); return (iv); }; IgxTimeXAxisComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxTimeXAxisComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); IgxTimeXAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: IgxTimeXAxisComponent, selector: "igx-time-x-axis", inputs: { breaks: "breaks", labellingMode: "labellingMode", labelFormats: "labelFormats", intervals: "intervals" }, providers: [{ provide: IgxTimeAxisBaseComponent, useExisting: forwardRef(function () { return IgxTimeXAxisComponent; }) }, { provide: IgxCategoryAxisBaseComponent, useExisting: forwardRef(function () { return IgxTimeXAxisComponent; }) }, { provide: IgxAxisComponent, useExisting: forwardRef(function () { return IgxTimeXAxisComponent; }) }], usesInheritance: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); return IgxTimeXAxisComponent; }(IgxTimeAxisBaseComponent)); export { IgxTimeXAxisComponent }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxTimeXAxisComponent, decorators: [{ type: Component, args: [{ selector: 'igx-time-x-axis', template: "", providers: [{ provide: IgxTimeAxisBaseComponent, useExisting: forwardRef(function () { return IgxTimeXAxisComponent; }) }, { provide: IgxCategoryAxisBaseComponent, useExisting: forwardRef(function () { return IgxTimeXAxisComponent; }) }, { provide: IgxAxisComponent, useExisting: forwardRef(function () { return IgxTimeXAxisComponent; }) }], changeDetection: ChangeDetectionStrategy.OnPush }] }], ctorParameters: function () { return []; }, propDecorators: { breaks: [{ type: Input }], labellingMode: [{ type: Input }], labelFormats: [{ type: Input }], intervals: [{ type: Input }] } });