UNPKG

igniteui-angular-charts

Version:

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

1,101 lines (1,098 loc) 45 kB
import { __extends } from "tslib"; /* THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE AGREEMENT ("AGREEMENT") LOCATED HERE: https://www.infragistics.com/legal/license/igultimate-la https://www.infragistics.com/legal/license/igultimate-eula GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE: you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company. */ import { Component, ViewChild, ContentChildren, Input, forwardRef, ChangeDetectionStrategy, ViewContainerRef } from '@angular/core'; import { IgxAxisComponent } from './igx-axis-component'; import { IgxSeriesComponent } from './igx-series-component'; import { GridMode_$type } from './GridMode'; import { IgxSeriesViewerComponent } from './igx-series-viewer-component'; import { AngularRenderer, AngularWrapper } from "igniteui-angular-core"; import { TypeRegistrar } from "igniteui-angular-core"; import { XamDataChart } from './XamDataChart'; import { CollectionAdapter, brushToString, stringToBrush, ensureBool, ensureEnum } from "igniteui-angular-core"; import { DataChartStylingDefaults } from './DataChartStylingDefaults'; import { IgxDataContext } from "igniteui-angular-core"; import { IgxSeriesCollection } from './igx-series-collection'; import { NotifyCollectionChangedAction } from "igniteui-angular-core"; import { IgxAxisCollection } from './igx-axis-collection'; import { SyncLinkManager } from './SyncLinkManager'; import { SyncLink } from './SyncLink'; import { ComputedPlotAreaMarginMode_$type } from './ComputedPlotAreaMarginMode'; import { AutoMarginsAndAngleUpdateMode_$type } from './AutoMarginsAndAngleUpdateMode'; import { SeriesPlotAreaMarginHorizontalMode_$type } from './SeriesPlotAreaMarginHorizontalMode'; import { SeriesPlotAreaMarginVerticalMode_$type } from './SeriesPlotAreaMarginVerticalMode'; import * as i0 from "@angular/core"; /** * Represents a chart area containing axes, series, an optional legend and other hosted content. */ var IgxDataChartComponent = /** @class */ /*@__PURE__*/ (function (_super) { __extends(IgxDataChartComponent, _super); function IgxDataChartComponent(_renderer, _elRef, _ngZone, _componentFactoryResolver, _injector) { var _this = _super.call(this) || this; _this._renderer = _renderer; _this._elRef = _elRef; _this._ngZone = _ngZone; _this._componentFactoryResolver = _componentFactoryResolver; _this._injector = _injector; /** * The series actually present in the chart. Do not directly modify this array. * This array's contents can be modified by causing Angular to reproject the child content. * Or adding and removing series from the manual series collection on the series property. */ _this.actualSeries = []; /** * The axes actually present in the chart. Do not directly modify this array. * This array's contents can be modified by causing Angular to reproject the child content. * Or adding and removing axes from the manual axes collection on the axes property. */ _this.actualAxes = []; _this._series = null; _this._axes = null; _this._root = null; _this._dataSource = null; _this._highlightedDataSource = null; _this._axesAdapter = null; _this._seriesAdapter = null; _this._defaultTooltips = null; _this._zoneRunner = function (act) { return _this._ngZone.run(act); }; _this._container = _renderer.createElement("div"); _renderer.appendChild(_elRef.element.nativeElement, _this._container); _renderer.setStyle(_this._container, "display", "block"); _renderer.setStyle(_this._container, "width", "100%"); _renderer.setStyle(_this._container, "height", "100%"); var root; root = _this._container; if (_this._container.nativeElement != null) { root = _this._container.nativeElement; } _this._root = root; var ren = new AngularRenderer(root, _this._renderer, window.document, _this._ngZone, true, DataChartStylingDefaults); _this._wrapper = ren; var chart = _this.i; _this._chart = chart; _this._axesAdapter = new CollectionAdapter([], _this.i.axes, _this.actualAxes, function (c) { return c.i; }, function (i) { i._provideRenderer(_this._wrapper); i.provideData(_this._dataSource); if (_this._container && _this._container.parentElement) { i._styling(_this._root, _this, _this); } }, function (i) { i._provideRenderer(null); i.provideData(null); }); _this._seriesAdapter = new CollectionAdapter([], _this.i.series, _this.actualSeries, function (c) { return c.i; }, function (i) { i.owner = _this; i._provideRenderer(_this._dataSource); i.provideData(_this._dataSource); i.provideHighlightedData(_this._highlightedDataSource); if (_this._container && _this._container.parentElement) { i._styling(_this._root, _this, _this); } i.bindAxes(_this.actualAxes); _this._ensureDefaultTooltip(i); _this._ensureTooltipCreated(i); }, function (i) { i._provideRenderer(null); i.provideData(null); }); chart.provideContainer(ren); ren.addSizeWatcher(function () { _this._chart.notifyContainerResized(); }); return _this; } Object.defineProperty(IgxDataChartComponent.prototype, "height", { get: function () { return this._height; }, set: function (value) { this._height = value; this._renderer.setStyle(this._elRef.element.nativeElement, "height", value); this._chart.notifyContainerResized(); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "width", { get: function () { return this._width; }, set: function (value) { this._width = value; this._renderer.setStyle(this._elRef.element.nativeElement, "width", value); this._chart.notifyContainerResized(); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "legend", { /** * Gets or sets the legend used for the current chart. */ get: function () { if (this.i.legend != null) return this.i.legend.externalObject; }, set: function (v) { if (v != undefined && v != null) this.i.legend = v.i; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "series", { /** * A collection or manually added series for the chart. */ get: function () { var _this = this; if (this._series === null) { var coll = new IgxSeriesCollection(); var inner = coll._innerColl; inner.addListener(function (sender, e) { switch (e.action) { case NotifyCollectionChangedAction.Add: _this._seriesAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0)); break; case NotifyCollectionChangedAction.Remove: _this._seriesAdapter.removeManualItemAt(e.oldStartingIndex); break; case NotifyCollectionChangedAction.Replace: _this._seriesAdapter.removeManualItemAt(e.oldStartingIndex); _this._seriesAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0)); break; case NotifyCollectionChangedAction.Reset: _this._seriesAdapter.clearManualItems(); break; } }); this._series = coll; } return this._series; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "axes", { /** * A collection or manually added axes for the chart. */ get: function () { var _this = this; if (this._axes === null) { var coll = new IgxAxisCollection(); var inner = coll._innerColl; inner.addListener(function (sender, e) { switch (e.action) { case NotifyCollectionChangedAction.Add: _this._axesAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0)); break; case NotifyCollectionChangedAction.Remove: _this._axesAdapter.removeManualItemAt(e.oldStartingIndex); break; case NotifyCollectionChangedAction.Replace: _this._axesAdapter.removeManualItemAt(e.oldStartingIndex); _this._axesAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0)); break; case NotifyCollectionChangedAction.Reset: _this._axesAdapter.clearManualItems(); break; } }); this._axes = coll; } return this._axes; }, enumerable: false, configurable: true }); IgxDataChartComponent.prototype.ngOnDestroy = function () { this._chart.destroy(); this._wrapper.destroy(); }; IgxDataChartComponent.prototype.createImplementation = function () { return new XamDataChart(); }; Object.defineProperty(IgxDataChartComponent.prototype, "dataSource", { get: function () { return this._dataSource; }, set: function (value) { this._dataSource = value; this.bindData(); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "highlightedDataSource", { get: function () { return this._highlightedDataSource; }, set: function (value) { this._highlightedDataSource = value; this.bindHighlightedData(); }, enumerable: false, configurable: true }); IgxDataChartComponent.prototype.bindData = function () { //console.log("binding data: " + this._dataSource); if (this.actualAxes && this.actualAxes.length > 0) { var currAxes = this.actualAxes; for (var i = 0; i < currAxes.length; i++) { currAxes[i].provideData(this._dataSource); } } if (this.actualSeries && this.actualSeries.length > 0) { var currSeries = this.actualSeries; for (var i = 0; i < currSeries.length; i++) { currSeries[i].provideData(this._dataSource); } } }; IgxDataChartComponent.prototype.bindHighlightedData = function () { if (this.actualSeries && this.actualSeries.length > 0) { var currSeries = this.actualSeries; for (var i = 0; i < currSeries.length; i++) { currSeries[i].provideHighlightedData(this._highlightedDataSource); } } }; IgxDataChartComponent.prototype.ngAfterContentInit = function () { var _this = this; if (TypeRegistrar.isRegistered("IgxDataChartDefaultTooltipsComponent")) { var c = TypeRegistrar.get("IgxDataChartDefaultTooltipsComponent"); var cf = this._componentFactoryResolver.resolveComponentFactory(c); var cr_1 = this._dynamicContent.createComponent(cf); //let cr = cf.create(this._injector); this._defaultTooltips = cr_1; cr_1.instance.onContentReady.subscribe(function () { _this._onDefaultTooltipsReady(cr_1); }); //this._container.appendChild(cr.location.nativeElement); } this._axesAdapter.updateQuery(this.contentAxes); this._seriesAdapter.updateQuery(this.contentSeries); if (this.actualAxes && this.actualAxes.length > 0) { var currAxes = this.actualAxes; for (var i = 0; i < currAxes.length; i++) { currAxes[i].provideData(this._dataSource); } } if (this.actualSeries && this.actualSeries.length > 0) { var currSeries = this.actualSeries; for (var i = 0; i < currSeries.length; i++) { currSeries[i].provideData(this._dataSource); } } }; IgxDataChartComponent.prototype.ngAfterViewInit = function () { this.updateStyle(); this.i.notifyContainerResized(); }; IgxDataChartComponent.prototype.updateStyle = function () { this._styling(this._root, this); }; IgxDataChartComponent.prototype._ensureTooltipCreated = function (series) { var _this = this; series._ensureTooltipCreated(function () { return _this.createTooltip(); }, function (ele) { var wrapper = new AngularWrapper(ele, _this._renderer, _this._ngZone); wrapper.updateToolTip = ele.updateToolTip; wrapper.hideToolTip = ele.hideToolTip; return wrapper; }); }; IgxDataChartComponent.prototype._ensureDefaultTooltip = function (series) { if (this._defaultTooltips == null) { return; } this._defaultTooltips.instance["ensureDefaultTooltip"](series); }; IgxDataChartComponent.prototype._onDefaultTooltipsReady = function (cr) { if (this.actualSeries && this.actualSeries.length > 0) { var currSeries = this.actualSeries; for (var i = 0; i < currSeries.length; i++) { if (currSeries[i].showDefaultTooltip) { this._ensureDefaultTooltip(currSeries[i]); } } } }; IgxDataChartComponent.prototype.createTooltip = function () { if (!TypeRegistrar.isRegistered("IgxTooltipContainerComponent")) { return null; } var t = TypeRegistrar.get("IgxTooltipContainerComponent"); var cf = this._componentFactoryResolver.resolveComponentFactory(t); //let cr = cf.create(this._injector); var cr = this._dynamicContent.createComponent(cf); var ele = cr.location.nativeElement; var self = this; ele.updateToolTip = function (c, isSubContent) { if (c.externalObject) { c = c.externalObject; } else { var ext = new IgxDataContext(); ext._implementation = c; c = ext; } if (!isSubContent) { if (ele.parentElement != self._container) { if (ele.parentElement != null) { ele.parentElement.removeChild(ele); } self._container.appendChild(ele); } } else { c.isSubContent = true; } cr.instance.context = c; ele.style.display = "block"; return true; }; ele.hideToolTip = function () { ele.style.display = "none"; }; ele.style.display = "none"; return cr; }; Object.defineProperty(IgxDataChartComponent.prototype, "syncChannel", { /** * Gets or sets the channel with which to synchronize. * * Synchronization is the coordination of zooming, panning and crosshairs events between multiple charts. Multiple chart controls can be synchronized horizontally (along X-Axis), vertically (along Y-Axis), or both. If you want to synchronize a set of charts, assign them the same name to the `syncChannel` and then specify whether or not synchronize chart horizontally and/or vertically. */ get: function () { return this.i.syncChannel; }, set: function (v) { var newLink = null; if (v && v.length > 0) { newLink = SyncLinkManager.instance().getLink(v); } var oldLink = this.i.actualSyncLink; if (oldLink) { SyncLinkManager.instance().releaseLink(oldLink); } if (newLink) { this.i.actualSyncLink = newLink; } else { this.i.actualSyncLink = new SyncLink(); } this.i.syncChannel = v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "synchronizeVertically", { /** * Gets or sets the bool used to display the window preview shadow. * * Synchronization is the coordination of zooming, panning and crosshairs events between multiple charts. Multiple chart controls can be synchronized horizontally (along X-Axis), vertically (along Y-Axis), or both. If you want to synchronize a set of charts, assign them the same name to the `syncChannel` and then specify whether or not synchronize chart horizontally and/or vertically. */ get: function () { return this.i.syncSettings ? this.i.syncSettings.synchronizeVertically : false; }, set: function (v) { this.i.syncSettings.synchronizeVertically = ensureBool(v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "synchronizeHorizontally", { /** * Gets or sets the bool used to display the window preview shadow. * * Synchronization is the coordination of zooming, panning and crosshairs events between multiple charts. Multiple chart controls can be synchronized horizontally (along X-Axis), vertically (along Y-Axis), or both. If you want to synchronize a set of charts, assign them the same name to the `syncChannel` and then specify whether or not synchronize chart horizontally and/or vertically. */ get: function () { return this.i.syncSettings ? this.i.syncSettings.synchronizeHorizontally : false; }, set: function (v) { this.i.syncSettings.synchronizeHorizontally = ensureBool(v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "i", { /** * @hidden */ get: function () { return this._implementation; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "isSquare", { /** * Gets or sets whether to use a square aspect ratio for the chart. This is locked to true for polar and radial charts. * * Set `IsSquare` to true to constrain the chart to a square, using the minimum of its height and width. * * ```html * <igx-data-chart [dataSource]="data" * isSquare="true" * width="800px" * height="400px"> * <igx-category-x-axis #xAxis * label="label"> * </igx-category-x-axis> * <igx-numeric-y-axis #yAxis * majorStroke="green"> * </igx-numeric-y-axis> * * <igx-column-series * [xAxis]="xAxis" * [yAxis]="yAxis" * valueMemberPath="value"> * </igx-column-series> * </igx-data-chart> * ``` * * ```ts * this.chart.isSquare="True"; * ``` */ get: function () { return this.i.xi; }, set: function (v) { this.i.xi = ensureBool(v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "windowScaleHorizontal", { /** * A number between 0 and 1 determining the scale of the horizontal zoom. * This property is effectively a shortcut to the Width of the WindowRect property. * * To programmatically change the horizontal zoom level, set `WindowScaleHorizontal` to a value between 0 and 1. * * ```html * <igx-data-chart [dataSource]="data" * windowScaleHorizontal="0.75"> * <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 * this.chart.windowScaleHorizontal="0.75"; * ``` */ get: function () { return this.i.yp; }, set: function (v) { this.i.yp = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "windowScaleVertical", { /** * A number between 0 and 1 determining the scale of the vertical zoom. * This property is effectively a shortcut to the Height of the WindowRect property. * * To programmatically change the vertical zoom level, set `WindowScaleVertical` to a value between 0 and 1. * * ```html * <igx-data-chart [dataSource]="data" * windowScaleVertical="0.75"> * <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 * this.chart.windowScaleVertical="0.75"; * ``` */ get: function () { return this.i.yq; }, set: function (v) { this.i.yq = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "actualWindowScaleHorizontal", { /** * A number between 0 and 1 determining the scale of the horizontal zoom. * This property is effectively a shortcut to the Width of the ActualWindowRect property. */ get: function () { return this.i.ya; }, set: function (v) { this.i.ya = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "actualWindowScaleVertical", { /** * A number between 0 and 1 determining the scale of the vertical zoom. * This property is effectively a shortcut to the Height of the ActualWindowRect property. */ get: function () { return this.i.yb; }, set: function (v) { this.i.yb = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "isHorizontalZoomEnabled", { /** * Gets or sets horizontal zoomability of the current control * * Set `IsHorizontalZoomEnabled` to enable or disable horizontal zooming. * * ```html * <igx-data-chart [dataSource]="data" * isHorizontalZoomEnabled="true"> * <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 * this.chart.IsHorizontalZoomEnabled= true; * ``` */ get: function () { return this.i.xg; }, set: function (v) { this.i.xg = ensureBool(v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "isVerticalZoomEnabled", { /** * Gets or sets vertical zoomability of the current control * * Set `IsVerticalZoomEnabled` to enable or disable vertical zooming. * * ```html * <igx-data-chart [dataSource]="data" * isVerticalZoomEnabled="true"> * <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 * this.chart.isVerticalZoomEnabled="True"; * ``` */ get: function () { return this.i.xj; }, set: function (v) { this.i.xj = ensureBool(v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "gridMode", { /** * Gets or sets how grid lines are rendered in relation to series. * * Try setting the `GridMode` property to bring your grid lines in front of the data series. * * ```html * <igx-data-chart [dataSource]="data" * gridMode="beforeSeries"> * <igx-category-x-axis #xAxis * label="label"> * </igx-category-x-axis> * <igx-numeric-y-axis #yAxis * majorStroke="green"> * </igx-numeric-y-axis> * * <igx-column-series * [xAxis]="xAxis" * [yAxis]="yAxis" * valueMemberPath="value"> * </igx-column-series> * </igx-data-chart> * ``` */ get: function () { return this.i.ww; }, set: function (v) { this.i.ww = ensureEnum(GridMode_$type, v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "alignsGridLinesToPixels", { /** * Gets or sets a value indicating whether grid and tick lines are aligned to device pixels. */ get: function () { return this.i.xc; }, set: function (v) { this.i.xc = ensureBool(v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "autoExpandMarginMaximumValue", { /** * Gets or sets the maximum amount the series viewer should auto expand margins to accomodate the initial horizontal axis labels. */ get: function () { return this.i.yd; }, set: function (v) { this.i.yd = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "autoExpandMarginExtraPadding", { /** * Gets or sets the extra amount the series viewer should auto expand margins to accomodate the initial horizontal axis labels. */ get: function () { return this.i.yc; }, set: function (v) { this.i.yc = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "shouldSuppressAxisLabelTruncation", { /** * Gets or sets a whether the series viewer should suppress truncation of axis labels. */ get: function () { return this.i.xq; }, set: function (v) { this.i.xq = ensureBool(v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "shouldAutoExpandMarginForInitialLabels", { /** * Gets or sets a whether the series viewer should auto expand margins to accomodate the initial horizontal axis labels. */ get: function () { return this.i.xm; }, set: function (v) { this.i.xm = ensureBool(v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "shouldConsiderAutoRotationForInitialLabels", { /** * Gets or sets a whether the series viewer should consider auto rotating labels to fit them in the initial view. This implies that ShouldAutoExpandMarginForInitialLabels is true. */ get: function () { return this.i.xp; }, set: function (v) { this.i.xp = ensureBool(v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "suppressAutoMarginAndAngleRecalculation", { /** * Gets or sets a whether the series viewer should suppress auto recalculating margin and axis label angles. */ get: function () { return this.i.xr; }, set: function (v) { this.i.xr = ensureBool(v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "autoMarginAndAngleUpdateMode", { /** * Gets or sets a whether the series viewer should consider auto rotating labels to fit them in the initial view. This implies that ShouldAutoExpandMarginForInitialLabels is true. */ get: function () { return this.i.wr; }, set: function (v) { this.i.wr = ensureEnum(AutoMarginsAndAngleUpdateMode_$type, v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "defaultAxisStroke", { /** * Gets or sets the DefaultAxisStroke property. * The DefaultAxisStroke property defines the brush which is used by the axes when no * Axis.Stroke is set. */ get: function () { return brushToString(this.i.aas); }, set: function (v) { this.i.aas = stringToBrush(v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "defaultAxisMajorStroke", { /** * Gets or sets the DefaultAxisMajorStroke property. * The DefaultAxisMajorStroke property defines the brush which is used by the axes when no * Axis.MajorStroke is set. */ get: function () { return brushToString(this.i.aaq); }, set: function (v) { this.i.aaq = stringToBrush(v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "defaultAxisMinorStroke", { /** * Gets or sets the DefaultAxisMinorStroke property. * The DefaultAxisMinorStroke property defines the brush which is used by the axes when no * Axis.MinorStroke is set. */ get: function () { return brushToString(this.i.aar); }, set: function (v) { this.i.aar = stringToBrush(v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "actualPlotAreaMarginLeft", { /** * Gets the actual resolved left plot area margin; */ get: function () { return this.i.x7; }, set: function (v) { this.i.x7 = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "actualPlotAreaMarginTop", { /** * Gets the actual resolved top plot area margin; */ get: function () { return this.i.x9; }, set: function (v) { this.i.x9 = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "actualPlotAreaMarginRight", { /** * Gets the actual resolved right plot area margin; */ get: function () { return this.i.x8; }, set: function (v) { this.i.x8 = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "actualPlotAreaMarginBottom", { /** * Gets the actual resolved bottom plot area margin; */ get: function () { return this.i.x6; }, set: function (v) { this.i.x6 = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "computedPlotAreaMarginMode", { /** * Gets or sets mode to use for automatically calculating the plot area margin. */ get: function () { return this.i.wu; }, set: function (v) { this.i.wu = ensureEnum(ComputedPlotAreaMarginMode_$type, v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "seriesPlotAreaMarginHorizontalMode", { /** * Gets or sets horizontal mode to use for automatically calculating the plot area margin based ont the series. */ get: function () { return this.i.w1; }, set: function (v) { this.i.w1 = ensureEnum(SeriesPlotAreaMarginHorizontalMode_$type, v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "seriesPlotAreaMarginVerticalMode", { /** * Gets or sets vertical mode to use for automatically calculating the plot area margin based ont the series. */ get: function () { return this.i.w4; }, set: function (v) { this.i.w4 = ensureEnum(SeriesPlotAreaMarginVerticalMode_$type, v); }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "plotAreaMarginLeft", { /** * Margin applied to the left of the plot area. */ get: function () { return this.i.yl; }, set: function (v) { this.i.yl = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "plotAreaMarginTop", { /** * Margin applied above the plot area. */ get: function () { return this.i.yn; }, set: function (v) { this.i.yn = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "plotAreaMarginRight", { /** * Margin applied to the right of the plot area. */ get: function () { return this.i.ym; }, set: function (v) { this.i.ym = +v; }, enumerable: false, configurable: true }); Object.defineProperty(IgxDataChartComponent.prototype, "plotAreaMarginBottom", { /** * Margin applied below the plot area. */ get: function () { return this.i.yk; }, set: function (v) { this.i.yk = +v; }, enumerable: false, configurable: true }); IgxDataChartComponent.prototype.findByName = function (name) { var baseResult = _super.prototype.findByName.call(this, name); if (baseResult) { return baseResult; } if (this.axes != null && this.axes.findByName && this.axes.findByName(name)) { return this.axes.findByName(name); } return null; }; IgxDataChartComponent.prototype.refreshComputedPlotAreaMargin = function () { this.i.zy(); }; IgxDataChartComponent.prototype.recalculateMarginAutoExpansion = function () { this.i.zx(); }; IgxDataChartComponent.prototype.recalculateAutoLabelsAngle = function () { this.i.zw(); }; /** * Notifies the chart that the CSS styles in effect have been updated. */ IgxDataChartComponent.prototype.styleUpdated = function () { this.i.zz(); }; /** * Export serialized visual data. */ IgxDataChartComponent.prototype.exportSerializedVisualData = function () { var iv = this.i.y7(); return (iv); }; IgxDataChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxDataChartComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); IgxDataChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: IgxDataChartComponent, selector: "igx-data-chart", inputs: { height: "height", width: "width", legend: "legend", dataSource: "dataSource", highlightedDataSource: "highlightedDataSource", syncChannel: "syncChannel", synchronizeVertically: "synchronizeVertically", synchronizeHorizontally: "synchronizeHorizontally", isSquare: "isSquare", windowScaleHorizontal: "windowScaleHorizontal", windowScaleVertical: "windowScaleVertical", actualWindowScaleHorizontal: "actualWindowScaleHorizontal", actualWindowScaleVertical: "actualWindowScaleVertical", isHorizontalZoomEnabled: "isHorizontalZoomEnabled", isVerticalZoomEnabled: "isVerticalZoomEnabled", gridMode: "gridMode", alignsGridLinesToPixels: "alignsGridLinesToPixels", autoExpandMarginMaximumValue: "autoExpandMarginMaximumValue", autoExpandMarginExtraPadding: "autoExpandMarginExtraPadding", shouldSuppressAxisLabelTruncation: "shouldSuppressAxisLabelTruncation", shouldAutoExpandMarginForInitialLabels: "shouldAutoExpandMarginForInitialLabels", shouldConsiderAutoRotationForInitialLabels: "shouldConsiderAutoRotationForInitialLabels", suppressAutoMarginAndAngleRecalculation: "suppressAutoMarginAndAngleRecalculation", autoMarginAndAngleUpdateMode: "autoMarginAndAngleUpdateMode", defaultAxisStroke: "defaultAxisStroke", defaultAxisMajorStroke: "defaultAxisMajorStroke", defaultAxisMinorStroke: "defaultAxisMinorStroke", actualPlotAreaMarginLeft: "actualPlotAreaMarginLeft", actualPlotAreaMarginTop: "actualPlotAreaMarginTop", actualPlotAreaMarginRight: "actualPlotAreaMarginRight", actualPlotAreaMarginBottom: "actualPlotAreaMarginBottom", computedPlotAreaMarginMode: "computedPlotAreaMarginMode", seriesPlotAreaMarginHorizontalMode: "seriesPlotAreaMarginHorizontalMode", seriesPlotAreaMarginVerticalMode: "seriesPlotAreaMarginVerticalMode", plotAreaMarginLeft: "plotAreaMarginLeft", plotAreaMarginTop: "plotAreaMarginTop", plotAreaMarginRight: "plotAreaMarginRight", plotAreaMarginBottom: "plotAreaMarginBottom" }, host: { classAttribute: "igx-data-chart ig-data-chart" }, providers: [{ provide: IgxSeriesViewerComponent, useExisting: forwardRef(function () { return IgxDataChartComponent; }) }], queries: [{ propertyName: "contentAxes", predicate: IgxAxisComponent }, { propertyName: "contentSeries", predicate: IgxSeriesComponent }], viewQueries: [{ propertyName: "_dynamicContent", first: true, predicate: ["dynamicContent"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container #dynamicContent></ng-container>", isInline: true, styles: ["\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t}\n\t"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); return IgxDataChartComponent; }(IgxSeriesViewerComponent)); export { IgxDataChartComponent }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxDataChartComponent, decorators: [{ type: Component, args: [{ selector: 'igx-data-chart', template: "<ng-container #dynamicContent></ng-container>", changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: IgxSeriesViewerComponent, useExisting: forwardRef(function () { return IgxDataChartComponent; }) }], host: { 'class': 'igx-data-chart ig-data-chart' }, styles: ["\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t}\n\t"] }] }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.NgZone }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }]; }, propDecorators: { contentAxes: [{ type: ContentChildren, args: [IgxAxisComponent] }], contentSeries: [{ type: ContentChildren, args: [IgxSeriesComponent] }], _dynamicContent: [{ type: ViewChild, args: ["dynamicContent", { read: ViewContainerRef, static: true }] }], height: [{ type: Input }], width: [{ type: Input }], legend: [{ type: Input }], dataSource: [{ type: Input }], highlightedDataSource: [{ type: Input }], syncChannel: [{ type: Input }], synchronizeVertically: [{ type: Input }], synchronizeHorizontally: [{ type: Input }], isSquare: [{ type: Input }], windowScaleHorizontal: [{ type: Input }], windowScaleVertical: [{ type: Input }], actualWindowScaleHorizontal: [{ type: Input }], actualWindowScaleVertical: [{ type: Input }], isHorizontalZoomEnabled: [{ type: Input }], isVerticalZoomEnabled: [{ type: Input }], gridMode: [{ type: Input }], alignsGridLinesToPixels: [{ type: Input }], autoExpandMarginMaximumValue: [{ type: Input }], autoExpandMarginExtraPadding: [{ type: Input }], shouldSuppressAxisLabelTruncation: [{ type: Input }], shouldAutoExpandMarginForInitialLabels: [{ type: Input }], shouldConsiderAutoRotationForInitialLabels: [{ type: Input }], suppressAutoMarginAndAngleRecalculation: [{ type: Input }], autoMarginAndAngleUpdateMode: [{ type: Input }], defaultAxisStroke: [{ type: Input }], defaultAxisMajorStroke: [{ type: Input }], defaultAxisMinorStroke: [{ type: Input }], actualPlotAreaMarginLeft: [{ type: Input }], actualPlotAreaMarginTop: [{ type: Input }], actualPlotAreaMarginRight: [{ type: Input }], actualPlotAreaMarginBottom: [{ type: Input }], computedPlotAreaMarginMode: [{ type: Input }], seriesPlotAreaMarginHorizontalMode: [{ type: Input }], seriesPlotAreaMarginVerticalMode: [{ type: Input }], plotAreaMarginLeft: [{ type: Input }], plotAreaMarginTop: [{ type: Input }], plotAreaMarginRight: [{ type: Input }], plotAreaMarginBottom: [{ type: Input }] } });