UNPKG

igniteui-react-charts

Version:

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

239 lines (237 loc) 9.28 kB
import { __extends } from "tslib"; import { IgrTimeAxisBreakCollection } from "./igr-time-axis-break-collection"; import { TimeAxisLabellingMode_$type } from "./TimeAxisLabellingMode"; import { IgrTimeAxisLabelFormatCollection } from "./igr-time-axis-label-format-collection"; import { IgrTimeAxisIntervalCollection } from "./igr-time-axis-interval-collection"; import { IgrTimeAxisBase } from "./igr-time-axis-base"; import { TimeXAxis } from "./TimeXAxis"; import { ensureEnum } from "igniteui-react-core"; import { TimeAxisBreakCollection as TimeAxisBreakCollection_internal } from "./TimeAxisBreakCollection"; import { TimeAxisBreak } from "./TimeAxisBreak"; import { SyncableObservableCollection$1 } from "igniteui-react-core"; import { TimeAxisLabelFormatCollection as TimeAxisLabelFormatCollection_internal } from "./TimeAxisLabelFormatCollection"; import { TimeAxisLabelFormat } from "./TimeAxisLabelFormat"; import { TimeAxisIntervalCollection as TimeAxisIntervalCollection_internal } from "./TimeAxisIntervalCollection"; import { TimeAxisInterval } from "./TimeAxisInterval"; /** * A horizontal axis that uses a DateTime scale. * * The `TimeXAxis` is a horizontal axis that uses a DateTime scale. * * ```ts * <IgrDataChart * dataSource={this.state.dataSource} * width="700px" * height="500px"> * <IgrTimeXAxis name="xAxis" label="Date" * dateTimeMemberPath="Date" /> * </IgrDataChart> * ``` * * ```ts * this.timeXAxis = new IgrTimeXAxis({name: "timeXAxis"}); * this.timeXAxis.title = "Time X Axis"; * this.timeXAxis.dataSource = this.financialData; * this.timeXAxis.dateTimeMemberPath = "Time"; * ``` */ var IgrTimeXAxis = /** @class */ /*@__PURE__*/ (function (_super) { __extends(IgrTimeXAxis, _super); function IgrTimeXAxis(props) { var _this = _super.call(this, props) || this; _this._breaks = null; _this._labelFormats = null; _this._intervals = null; return _this; } IgrTimeXAxis.prototype.createImplementation = function () { return new TimeXAxis(); }; Object.defineProperty(IgrTimeXAxis.prototype, "i", { /** * @hidden */ get: function () { return this._implementation; }, enumerable: false, configurable: true }); Object.defineProperty(IgrTimeXAxis.prototype, "isPiecewise", { get: function () { return this.i.cl; }, enumerable: false, configurable: true }); Object.defineProperty(IgrTimeXAxis.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. * * ```ts * <IgrDataChart * dataSource={this.state.dataSource} * width="700px" * height="500px"> * <IgrTimeXAxis name="xAxis" label="Date" * dateTimeMemberPath="Date" > * </IgrTimeXAxis> * </IgrDataChart> * ``` */ get: function () { if (this._breaks === null) { var coll = new IgrTimeAxisBreakCollection(); 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 IgrTimeAxisBreakCollection(); 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(IgrTimeXAxis.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(IgrTimeXAxis.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 IgrTimeAxisLabelFormatCollection(); 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 IgrTimeAxisLabelFormatCollection(); 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(IgrTimeXAxis.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 IgrTimeAxisIntervalCollection(); 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 IgrTimeAxisIntervalCollection(); 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(IgrTimeXAxis.prototype, "isCategoryDateTime", { /** * Gets if the current axis is of category date time axis type */ get: function () { return this.i.cc; }, enumerable: false, configurable: true }); IgrTimeXAxis.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; }; IgrTimeXAxis.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. */ IgrTimeXAxis.prototype.getIndexClosestToUnscaledValue = function (unscaledValue) { var iv = this.i.i$f(unscaledValue); return (iv); }; return IgrTimeXAxis; }(IgrTimeAxisBase)); export { IgrTimeXAxis };