igniteui-angular-charts
Version:
Ignite UI Angular charting components for building rich data visualizations for modern web apps.
1,436 lines • 207 kB
JavaScript
import { Component, EventEmitter, Output, Input } from '@angular/core';
import { HorizontalAlignment_$type } from "igniteui-angular-core";
import { UnknownValuePlotting_$type } from "igniteui-angular-core";
import { TrendLineType_$type } from "igniteui-angular-core";
import { IgxChartSeriesEventArgs } from './igx-chart-series-event-args';
import { toPoint, arrayFindByName, brushToString, stringToBrush, toBrushCollection, fromBrushCollection, fromRect, toRect, ensureBool, ensureEnum, toSpinal, initializePropertiesFromCss, NamePatcher } from "igniteui-angular-core";
import { MarkerType_$type } from "./MarkerType";
import { delegateCombine } from "igniteui-angular-core";
import { IgxDomainChartSeriesPointerEventArgs } from './igx-domain-chart-series-pointer-event-args';
import { MarkerTypeCollection as MarkerTypeCollection_internal } from './MarkerTypeCollection';
import { IgxMarkerTypeCollection } from './igx-marker-type-collection';
import { SyncableObservableCollection$1 } from "igniteui-angular-core";
import { ToolTipType_$type } from "./ToolTipType";
import { CrosshairsDisplayMode_$type } from "./CrosshairsDisplayMode";
import { IgxCalloutStyleUpdatingEventArgs } from "./igx-callout-style-updating-event-args";
import { ComputedPlotAreaMarginMode_$type } from './ComputedPlotAreaMarginMode';
import { SeriesHighlightingMode_$type } from './SeriesHighlightingMode';
import { SeriesHighlightingBehavior_$type } from './SeriesHighlightingBehavior';
import { LegendHighlightingMode_$type } from './LegendHighlightingMode';
import { SeriesOutlineMode_$type } from './SeriesOutlineMode';
import { MarkerOutlineMode_$type } from './MarkerOutlineMode';
import { MarkerFillMode_$type } from './MarkerFillMode';
import { MarkerAutomaticBehavior_$type } from './MarkerAutomaticBehavior';
import { LegendItemBadgeMode_$type } from "igniteui-angular-core";
import { LegendItemBadgeShape_$type } from "igniteui-angular-core";
import { DataAbbreviationMode_$type } from "igniteui-angular-core";
import { DataLegendValueMode_$type } from "igniteui-angular-core";
import { DataLegendHeaderDateMode_$type } from "igniteui-angular-core";
import { DataLegendHeaderTimeMode_$type } from "igniteui-angular-core";
import { DataLegendUnitsMode_$type } from "igniteui-angular-core";
import { DataLegendLabelMode_$type } from "igniteui-angular-core";
import { DataLegendSummaryType_$type } from "igniteui-angular-core";
import { Thickness } from "igniteui-angular-core";
import { FontInfo } from "igniteui-angular-core";
import { SeriesPlotAreaMarginHorizontalMode_$type } from './SeriesPlotAreaMarginHorizontalMode';
import { SeriesPlotAreaMarginVerticalMode_$type } from './SeriesPlotAreaMarginVerticalMode';
import { IgxCalloutPlacementPositionsCollection } from './igx-callout-placement-positions-collection';
import { CalloutPlacementPositions_$type } from './CalloutPlacementPositions';
import { SeriesViewerScrollbarMode_$type } from './SeriesViewerScrollbarMode';
import { SeriesViewerHorizontalScrollbarPosition_$type } from './SeriesViewerHorizontalScrollbarPosition';
import { SeriesViewerVerticalScrollbarPosition_$type } from './SeriesViewerVerticalScrollbarPosition';
import { IgxCalloutRenderStyleUpdatingEventArgs } from './igx-callout-render-style-updating-event-args';
import { CalloutPlacementPositionsCollection as CalloutPlacementPositionsCollection_internal } from './CalloutPlacementPositionsCollection';
import { DataToolTipLayerGroupingMode_$type } from "igniteui-angular-core";
import { DataTooltipGroupedPositionX_$type } from "igniteui-angular-core";
import { DataTooltipGroupedPositionY_$type } from "igniteui-angular-core";
import { IgxChartSummaryDescriptionCollection } from './igx-chart-summary-description-collection';
import { IgxChartSortDescriptionCollection } from './igx-chart-sort-description-collection';
import { IgxFilterExpressionCollection } from "igniteui-angular-core";
import { ValueModeCollection as ValueModeCollection_internal } from './ValueModeCollection';
import { IgxValueModeCollection } from './igx-value-mode-collection';
import { ValueLayerValueMode_$type } from './ValueLayerValueMode';
import { IgxFilterStringErrorsParsingEventArgs } from './igx-filter-string-errors-parsing-event-args';
import { SeriesHighlightedValuesDisplayMode_$type } from "igniteui-angular-core";
import { SeriesSelectionMode_$type } from './SeriesSelectionMode';
import { SeriesSelectionBehavior_$type } from './SeriesSelectionBehavior';
import { ChartSelectedItemCollection as ChartSelectedItemCollection_internal } from "./ChartSelectedItemCollection";
import { ChartSelection } from "./ChartSelection";
import { IgxSeriesViewerSelectedSeriesItemsChangedEventArgs } from "./igx-series-viewer-selected-series-items-changed-event-args";
import { IgxChartSelectedItemCollection } from "./igx-chart-selected-item-collection";
import { CalloutCollisionMode_$type } from "igniteui-angular-core";
import { Visibility_$type } from "igniteui-angular-core";
import { IgxDomainChartPlotAreaPointerEventArgs } from './igx-domain-chart-plot-area-pointer-event-args';
import { IgxTrendLineTypeCollection } from './igx-trend-line-type-collection';
import { TrendLineTypeCollection as TrendLineTypeCollection_internal } from './TrendLineTypeCollection';
import { IgxDomainChartTestingInfo } from './igx-domain-chart-testing-info';
import { IgxCalloutLabelUpdatingEventArgs } from './igx-callout-label-updating-event-args';
import { IgxUserAnnotationInformationEventArgs } from "./igx-user-annotation-information-event-args";
import { IgxUserAnnotationToolTipContentUpdatingEventArgs } from "./igx-user-annotation-tool-tip-content-updating-event-args";
import * as i0 from "@angular/core";
/**
* Represents a base class for all domain charts that can plot scatter data and shapefiles
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* bottomMargin= 20>
* </igx-category-chart>
* ```
*/
export let IgxDomainChartComponent = /*@__PURE__*/ (() => {
class IgxDomainChartComponent {
constructor() {
this._calloutsDataSource = null;
this._selectedSeriesItems = null;
this._focusedSeriesItems = null;
this._markerTypes = null;
this._trendLineTypes = null;
this._calloutsAllowedPositions = null;
this._valueLines = null;
this.__p = null;
this._hasUserValues = new Set();
this._stylingContainer = null;
this._stylingParent = null;
this._inStyling = false;
this._userAnnotationInformationRequested = null;
this._userAnnotationToolTipContentUpdating = null;
this._seriesAdded = null;
this._seriesRemoved = null;
this._seriesPointerEnter = null;
this._seriesPointerLeave = null;
this._seriesPointerMove = null;
this._seriesPointerDown = null;
this._seriesPointerUp = null;
this._seriesClick = null;
this._plotAreaPointerEnter = null;
this._plotAreaPointerLeave = null;
this._plotAreaPointerMove = null;
this._plotAreaPointerDown = null;
this._plotAreaPointerUp = null;
this._calloutStyleUpdating = null;
this._calloutRenderStyleUpdating = null;
this._calloutLabelUpdating = null;
this._selectedSeriesItemsChanged = null;
this._focusedSeriesItemsChanged = null;
this._filterStringErrorsParsing = null;
this._zoneRunner = null;
if (this._styling) {
NamePatcher.ensureStylablePatched(Object.getPrototypeOf(this));
}
this._implementation = this.createImplementation();
this._implementation.externalObject = this;
this.onImplementationCreated();
}
createImplementation() {
return null;
}
ngOnInit() {
}
get i() {
return this._implementation;
}
onImplementationCreated() {
}
/**
* Sets or gets the template reference to use for tooltips for all the series.
*
*
*/
get tooltipTemplate() {
return this.i.tooltipTemplate;
}
set tooltipTemplate(v) {
this.i.tooltipTemplate = v;
}
/**
* Sets or gets the template references to use for tooltips for all the series, in order.
*
*
*/
get tooltipTemplates() {
let ret = [];
if (this.i.tooltipTemplates) {
for (let ii = 0; ii < this.i.tooltipTemplates.count; ii++) {
ret.push(this.i.tooltipTemplates.item(ii));
}
}
return ret;
}
set tooltipTemplates(v) {
this.i.tooltipTemplates.clear();
if (v) {
for (let ii = 0; ii < v.length; ii++) {
this.i.tooltipTemplates.add(v[ii]);
}
}
}
get legend() {
if (this.i.legend != null)
return this.i.legend.externalObject;
}
set legend(v) {
if (v != undefined && v != null)
this.i.legend = v.i;
}
set calloutsDataSource(value) {
this._calloutsDataSource = value;
this.bindCalloutsData();
}
get calloutsDataSource() {
return this._calloutsDataSource;
}
bindCalloutsData() {
if (this.i != null && this.i !== undefined) {
this.i.calloutsItemsSource = this._calloutsDataSource;
}
}
/**
* Gets or sets the scaling value used to affect the pixel density of the control.
* A higher scaling ratio will produce crisper visuals at the expense of memory. Lower values will cause the control
* to appear blurry.
*/
get pixelScalingRatio() {
return this.i.kj;
}
set pixelScalingRatio(v) {
this.i.kj = +v;
}
/**
* Gets or sets the left margin of chart title
*
* Use `titleLeftMargin` property for the left margin of chart title.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* titleLeftMargin= 10>
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.titleLeftMargin = 10;
* ```
*/
get titleLeftMargin() {
return this.i.kw;
}
set titleLeftMargin(v) {
this.i.kw = +v;
}
/**
* Gets or sets the right margin of chart title
*
* Use `titleLeftMargin` property for the right margin of chart title.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* titleRightMargin= 10>
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.titleRightMargin = 10;
* ```
*/
get titleRightMargin() {
return this.i.kx;
}
set titleRightMargin(v) {
this.i.kx = +v;
}
/**
* Gets or sets the top margin of chart title
*
* Use `titleTopMargin` property for the top margin of chart title.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* title="Countries"
* titleTopMargin=10 >
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.titleTopMargin = 10;
* ```
*/
get titleTopMargin() {
return this.i.ky;
}
set titleTopMargin(v) {
this.i.ky = +v;
}
/**
* Gets or sets the bottom margin of chart title
*
* Use `titleBottomMargin` property for the bottom margin of chart title.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* titleBottomMargin= 10 >
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.titleBottomMargin = 5;
* ```
*/
get titleBottomMargin() {
return this.i.kv;
}
set titleBottomMargin(v) {
this.i.kv = +v;
}
/**
* Gets or sets the left margin of chart subtitle
*
* Use `subtitleLeftMargin` property for the left margin of chart subtitle.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* subtitleLeftMargin= 20>
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.subtitleLeftMargin = 20 ;
* ```
*/
get subtitleLeftMargin() {
return this.i.kr;
}
set subtitleLeftMargin(v) {
this.i.kr = +v;
}
/**
* Gets or sets the top margin of chart subtitle
*
* Use `subtitleTopMargin` property for the top margin of chart subtitle.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* subtitle= "This is a subtitle"
* subtitleTopMargin=10>
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.subtitleTopMargin = 10;
* ```
*/
get subtitleTopMargin() {
return this.i.kt;
}
set subtitleTopMargin(v) {
this.i.kt = +v;
}
/**
* Gets or sets the right margin of chart subtitle
*
* Use `subtitleRightMargin` property for the right margin of chart subtitle.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* subtitleRightMargin= 10>
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.subtitleRightMargin = 20 ;
* ```
*/
get subtitleRightMargin() {
return this.i.ks;
}
set subtitleRightMargin(v) {
this.i.ks = +v;
}
/**
* Gets or sets the bottom margin of chart subtitle
*
* Use `subtitleBottomMargin` property for the bottom margin of chart subtitle.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* subtitleBottomMargin=10>
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.subtitleBottomMargin = 10 ;
* ```
*/
get subtitleBottomMargin() {
return this.i.kq;
}
set subtitleBottomMargin(v) {
this.i.kq = +v;
}
/**
* Gets or sets color of chart subtitle
*
* Use `subtitleTextColor` property to color the subtitle.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* subtitle= "This is a subtitle"
* subtitleTextColor= 'blue'>
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.subtitleTextColor = "#ff0000" ;
* ```
*/
get subtitleTextColor() {
return brushToString(this.i.aaf);
}
set subtitleTextColor(v) {
this.i.aaf = stringToBrush(v);
}
/**
* Gets or sets color of chart title
*
* Use `titleTextColor` property to color the chart title
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* titleTextColor= "red">
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.titleTextColor="red" ;
* ```
*/
get titleTextColor() {
return brushToString(this.i.aag);
}
set titleTextColor(v) {
this.i.aag = stringToBrush(v);
}
/**
* Gets or sets the left margin of the chart content.
*
* Use the 'leftMargin' property for the left margin of the chart content.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* leftMargin=20>
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.leftMargin = 20;
* ```
*/
get leftMargin() {
return this.i.kg;
}
set leftMargin(v) {
this.i.kg = +v;
}
/**
* Gets or sets the top margin of the chart content.
*
* Use `topMargin` property for the margin of the chart content.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* topMargin= 20>
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.topMargin=20;
* ```
*/
get topMargin() {
return this.i.kz;
}
set topMargin(v) {
this.i.kz = +v;
}
/**
* Gets or sets the right margin of the chart content.
*
* Use `rightMargin` property for the right margin of the chart content.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* rightMargin=20>
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.rightMargin = 20 ;
* ```
*/
get rightMargin() {
return this.i.kp;
}
set rightMargin(v) {
this.i.kp = +v;
}
/**
* Gets or sets the bottom margin around the chart content.
*
* Use the `bottomMargin` property for the bottom margin around the chart content.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* bottomMargin= 20>
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.bottomMargin=20;
* ```
*/
get bottomMargin() {
return this.i.j1;
}
set bottomMargin(v) {
this.i.j1 = +v;
}
/**
* Gets or sets the duration used for animating series plots when the data is changing
*
* Use the `TransitionDuration` property to animating between data values.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* transitionDuration="500">
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.transitionDuratio= 500;
* ```
*/
get transitionDuration() {
return this.i.l8;
}
set transitionDuration(v) {
this.i.l8 = +v;
}
/**
* Gets or sets the easing function used for animating series plots when the data is changing.
* This can be set to one of the known values "linear" or "cubic," or it can be set to an easing function which takes a single numeric parameter and returns a number.
*
* The 'transitionInEasingFunction' property used for easing function for animating series plots when the chart is loading into view.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* transitionInEasingFunction= "cubic">
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.transitionInEasingFunction= this.cubicFunc;
*
* cubicFunc(time: number) : number
* {
* return time;
* }
* ```
*/
get transitionEasingFunction() {
return this.i.ey;
}
set transitionEasingFunction(v) {
this.i.ey = v;
}
/**
* Gets or sets the duration used for animating highlighting changes
*/
get highlightingTransitionDuration() {
return this.i.l4;
}
set highlightingTransitionDuration(v) {
this.i.l4 = +v;
}
/**
* Gets or sets the duration used for animating Selection changes
*/
get selectionTransitionDuration() {
return this.i.l7;
}
set selectionTransitionDuration(v) {
this.i.l7 = +v;
}
/**
* Gets or sets the duration used for animating Focus changes
*/
get focusTransitionDuration() {
return this.i.l2;
}
set focusTransitionDuration(v) {
this.i.l2 = +v;
}
/**
* Gets or sets CSS font property for the chart subtitle
*
* Use `subtitleTextStyle` property for the CSS font of the chart subtitle.
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* subtitle= "This is a subtitle"
* subtitleTextStyle ="16pt Verdona">
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.subtitleTextStyle= "16pt Verdona";
* ```
*/
get subtitleTextStyle() {
return this.i.tt;
}
set subtitleTextStyle(v) {
this.i.tt = v;
}
/**
* Gets or sets CSS font property for the chart title
*
* Use `titleTextStyle` property for the CSS font property of the chart title
*
* ```html
* <igx-category-chart
* yAxisMinimumValue="0"
* [dataSource]="data"
* titleTextStyle= "24pt Verdona">
* </igx-category-chart>
* ```
*
* ```ts
* this.chart.xAxisTitleTextStyle = "24pt Verdona";
* ```
*/
get titleTextStyle() {
return this.i.t4;
}
set titleTextStyle(v) {
this.i.t4 = v;
}
get isDetached() {
return this.i.isDetached;
}
get dataToolTipGroupingMode() {
return this.i.b0;
}
set dataToolTipGroupingMode(v) {
this.i.b0 = ensureEnum(DataToolTipLayerGroupingMode_$type, v);
}
/**
* Gets or sets the offset of the tooltip layer on the X axis.
*/
get dataToolTipPositionOffsetX() {
return this.i.j6;
}
set dataToolTipPositionOffsetX(v) {
this.i.j6 = +v;
}
/**
* Gets or sets the offset of the tooltip layer on the Y axis.
*/
get dataToolTipPositionOffsetY() {
return this.i.j7;
}
set dataToolTipPositionOffsetY(v) {
this.i.j7 = +v;
}
/**
* Gets or sets the offset of the tooltip layer on the X axis.
*/
get dataToolTipDefaultPositionOffsetX() {
return this.i.j4;
}
set dataToolTipDefaultPositionOffsetX(v) {
this.i.j4 = +v;
}
/**
* Gets or sets the offset of the tooltip layer on the Y axis.
*/
get dataToolTipDefaultPositionOffsetY() {
return this.i.j5;
}
set dataToolTipDefaultPositionOffsetY(v) {
this.i.j5 = +v;
}
/**
* Gets or sets the tooltip position mode on the X axis for grouped series.
*/
get dataToolTipGroupedPositionModeX() {
return this.i.bw;
}
set dataToolTipGroupedPositionModeX(v) {
this.i.bw = ensureEnum(DataTooltipGroupedPositionX_$type, v);
}
/**
* Gets or sets the tooltip position mode on the Y axis for grouped series.
*/
get dataToolTipGroupedPositionModeY() {
return this.i.by;
}
set dataToolTipGroupedPositionModeY(v) {
this.i.by = ensureEnum(DataTooltipGroupedPositionY_$type, v);
}
/**
* Gets or sets whether the data legend should update when the series data is mutated.
*/
get dataToolTipShouldUpdateWhenSeriesDataChanges() {
return this.i.g3;
}
set dataToolTipShouldUpdateWhenSeriesDataChanges(v) {
this.i.g3 = ensureBool(v);
}
/**
* Gets or sets indexes, titles, or names of series to include in displaying in the data tooltip, e.g. "0, 1" or "Series1 Title, Series2 Title"
* The DataToolTipExcludedSeries property takes precedence over values of DataToolTipIncludedSeries property
*/
get dataToolTipIncludedSeries() {
return this.i.m;
}
set dataToolTipIncludedSeries(v) {
if (v && !Array.isArray(v) && typeof (v) == "string") {
const re = /\s*(?:,|\s|$)\s*/gm;
v = v.split(re);
}
this.i.m = v;
}
/**
* Gets or sets indexes, titles, or names of series to exclude from displaying in the data tooltip, e.g. "0, 1" or "Series1 Title, Series2 Title"
* The DataToolTipExcludedSeries property takes precedence over values of DataToolTipIncludedSeries property
*/
get dataToolTipExcludedSeries() {
return this.i.j;
}
set dataToolTipExcludedSeries(v) {
if (v && !Array.isArray(v) && typeof (v) == "string") {
const re = /\s*(?:,|\s|$)\s*/gm;
v = v.split(re);
}
this.i.j = v;
}
/**
* Gets or sets names of data columns or their labels to include in displaying in the data legend, e.g. "High, Low" or "H, L"
* The DataToolTipExcludedColumns property takes precedence over values of DataToolTipIncludedColumns property
*/
get dataToolTipIncludedColumns() {
return this.i.l;
}
set dataToolTipIncludedColumns(v) {
if (v && !Array.isArray(v) && typeof (v) == "string") {
const re = /\s*(?:,|\s|$)\s*/gm;
v = v.split(re);
}
this.i.l = v;
}
/**
* Gets or sets names of data columns or their labels to exclude from displaying in the data legend, e.g. "High, Low" or "H, L"
* The DataToolTipExcludedColumns property takes precedence over values of DataToolTipIncludedColumns property
*/
get dataToolTipExcludedColumns() {
return this.i.i;
}
set dataToolTipExcludedColumns(v) {
if (v && !Array.isArray(v) && typeof (v) == "string") {
const re = /\s*(?:,|\s|$)\s*/gm;
v = v.split(re);
}
this.i.i = v;
}
/**
* Gets or sets mode for abbreviating large numbers displayed in the legend
* This property is ignored when setting ValueFormatSpecifiers or ValueFormatString properties
*/
get dataToolTipValueFormatAbbreviation() {
return this.i.be;
}
set dataToolTipValueFormatAbbreviation(v) {
this.i.be = ensureEnum(DataAbbreviationMode_$type, v);
}
/**
* Gets or sets maximum digits for formatting numbers displayed in the legend
* This property is ignored when setting ValueFormatSpecifiers or ValueFormatString properties
*/
get dataToolTipValueFormatMaxFractions() {
return this.i.ly;
}
set dataToolTipValueFormatMaxFractions(v) {
this.i.ly = +v;
}
/**
* Gets or sets minimum digits for formatting numbers displayed in the legend
* This property is ignored when setting ValueFormatSpecifiers or ValueFormatString properties
*/
get dataToolTipValueFormatMinFractions() {
return this.i.lz;
}
set dataToolTipValueFormatMinFractions(v) {
this.i.lz = +v;
}
/**
* Gets or sets the mode for displaying values in the data legend, e.g. Currency ($500.25), Decimal (500.25), Integer (500)
*/
get dataToolTipValueFormatMode() {
return this.i.bu;
}
set dataToolTipValueFormatMode(v) {
this.i.bu = ensureEnum(DataLegendValueMode_$type, v);
}
/**
* Gets or sets globalization culture when displaying values as currencies, e.g. use "en-GB" to display British pound symbol when the ValueFormatMode property is set to 'Currency' mode
* This property is ignored when setting ValueFormatSpecifiers or ValueFormatString properties
*/
get dataToolTipValueFormatCulture() {
return this.i.qp;
}
set dataToolTipValueFormatCulture(v) {
this.i.qp = v;
}
/**
* Gets or sets whether or not use grouping separator, e.g, 15,000 for 15000
* This property is ignored when setting ValueFormatSpecifiers or ValueFormatString properties
*/
get dataToolTipValueFormatUseGrouping() {
return this.i.g4;
}
set dataToolTipValueFormatUseGrouping(v) {
this.i.g4 = ensureBool(v);
}
/**
* Gets or sets the format string for values displayed in the data legend.
*/
get dataToolTipValueFormatString() {
return this.i.qv;
}
set dataToolTipValueFormatString(v) {
this.i.qv = v;
}
/**
* Gets or sets the format specifiers to use with the ValueFormatString string.
*/
get dataToolTipValueFormatSpecifiers() {
return this.i.n;
}
set dataToolTipValueFormatSpecifiers(v) {
if (v && !Array.isArray(v) && typeof (v) == "string") {
const re = /\s*(?:,|\s|$)\s*/gm;
v = v.split(re);
}
this.i.n = v;
}
get dataToolTipValueRowMarginBottom() {
return this.i.aa9 ? this.i.aa9.bottom : NaN;
}
set dataToolTipValueRowMarginBottom(v) {
this.ensureDataToolTipValueRowMargin();
this.i.aa9.bottom = +v;
this.i.aa9 = this.i.aa9;
}
get dataToolTipValueRowMarginLeft() {
return this.i.aa9 ? this.i.aa9.left : NaN;
}
set dataToolTipValueRowMarginLeft(v) {
this.ensureDataToolTipValueRowMargin();
this.i.aa9.left = +v;
this.i.aa9 = this.i.aa9;
}
get dataToolTipValueRowMarginRight() {
return this.i.aa9 ? this.i.aa9.right : NaN;
}
set dataToolTipValueRowMarginRight(v) {
this.ensureDataToolTipValueRowMargin();
this.i.aa9.right = +v;
this.i.aa9 = this.i.aa9;
}
get dataToolTipValueRowMarginTop() {
return this.i.aa9 ? this.i.aa9.top : NaN;
}
set dataToolTipValueRowMarginTop(v) {
this.ensureDataToolTipValueRowMargin();
this.i.aa9.top = +v;
this.i.aa9 = this.i.aa9;
}
ensureDataToolTipValueRowMargin() {
if (this.i.aa9) {
return;
}
this.i.aa9 = new Thickness(2);
}
/**
* Gets or sets whether to show series rows.
*/
get dataToolTipValueRowVisible() {
return this.i.g5;
}
set dataToolTipValueRowVisible(v) {
this.i.g5 = ensureBool(v);
}
/**
* Gets or sets text displayed when data column is missing a value, e.g. "no data"
*/
get dataToolTipValueTextWhenMissingData() {
return this.i.q4;
}
set dataToolTipValueTextWhenMissingData(v) {
this.i.q4 = v;
}
/**
* Gets or sets whether to use series colors when displaying values in the legend
*/
get dataToolTipValueTextUseSeriesColors() {
return this.i.g6;
}
set dataToolTipValueTextUseSeriesColors(v) {
this.i.g6 = ensureBool(v);
}
get dataToolTipValueTextMarginBottom() {
return this.i.aba ? this.i.aba.bottom : NaN;
}
set dataToolTipValueTextMarginBottom(v) {
this.ensureDataToolTipValueTextMargin();
this.i.aba.bottom = +v;
this.i.aba = this.i.aba;
}
get dataToolTipValueTextMarginLeft() {
return this.i.aba ? this.i.aba.left : NaN;
}
set dataToolTipValueTextMarginLeft(v) {
this.ensureDataToolTipValueTextMargin();
this.i.aba.left = +v;
this.i.aba = this.i.aba;
}
get dataToolTipValueTextMarginRight() {
return this.i.aba ? this.i.aba.right : NaN;
}
set dataToolTipValueTextMarginRight(v) {
this.ensureDataToolTipValueTextMargin();
this.i.aba.right = +v;
this.i.aba = this.i.aba;
}
get dataToolTipValueTextMarginTop() {
return this.i.aba ? this.i.aba.top : NaN;
}
set dataToolTipValueTextMarginTop(v) {
this.ensureDataToolTipValueTextMargin();
this.i.aba.top = +v;
this.i.aba = this.i.aba;
}
ensureDataToolTipValueTextMargin() {
if (this.i.aba) {
return;
}
this.i.aba = new Thickness(2);
}
/**
* Gets or sets the units text color.
*/
get dataToolTipValueTextColor() {
return brushToString(this.i.z3);
}
set dataToolTipValueTextColor(v) {
this.i.z3 = stringToBrush(v);
}
/**
* Gets or Sets the style to use for the units text.
*/
get dataToolTipValueTextStyle() {
if (this.i.fk == null) {
return null;
}
return this.i.fk.fontString;
}
set dataToolTipValueTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.fk = fi;
}
/**
* Gets or sets the format string for header text displayed in the data legend.
*/
get dataToolTipHeaderFormatString() {
return this.i.pf;
}
set dataToolTipHeaderFormatString(v) {
this.i.pf = v;
}
/**
* Gets or sets the format specifiers to use with the HeaderFormatString string.
*/
get dataToolTipHeaderFormatSpecifiers() {
return this.i.k;
}
set dataToolTipHeaderFormatSpecifiers(v) {
if (v && !Array.isArray(v) && typeof (v) == "string") {
const re = /\s*(?:,|\s|$)\s*/gm;
v = v.split(re);
}
this.i.k = v;
}
/**
* Gets or sets globalization culture when displaying header as date time
* This property is ignored when setting HeaderFormatSpecifiers or HeaderFormatString properties
*/
get dataToolTipHeaderFormatCulture() {
return this.i.pb;
}
set dataToolTipHeaderFormatCulture(v) {
this.i.pb = v;
}
/**
* Gets or sets date format for the header
* This property is ignored when setting HeaderFormatSpecifiers or HeaderFormatString properties
*/
get dataToolTipHeaderFormatDate() {
return this.i.bk;
}
set dataToolTipHeaderFormatDate(v) {
this.i.bk = ensureEnum(DataLegendHeaderDateMode_$type, v);
}
/**
* Gets or sets time format for the header
* This property is ignored when setting HeaderFormatSpecifiers or HeaderFormatString properties
*/
get dataToolTipHeaderFormatTime() {
return this.i.bm;
}
set dataToolTipHeaderFormatTime(v) {
this.i.bm = ensureEnum(DataLegendHeaderTimeMode_$type, v);
}
/**
* Gets or sets the HeaderText for the data legend.
*/
get dataToolTipHeaderText() {
return this.i.pk;
}
set dataToolTipHeaderText(v) {
this.i.pk = v;
}
/**
* Gets or sets the header text color.
*/
get dataToolTipHeaderTextColor() {
return brushToString(this.i.zv);
}
set dataToolTipHeaderTextColor(v) {
this.i.zv = stringToBrush(v);
}
get dataToolTipHeaderTextMarginBottom() {
return this.i.aa3 ? this.i.aa3.bottom : NaN;
}
set dataToolTipHeaderTextMarginBottom(v) {
this.ensureDataToolTipHeaderTextMargin();
this.i.aa3.bottom = +v;
this.i.aa3 = this.i.aa3;
}
get dataToolTipHeaderTextMarginLeft() {
return this.i.aa3 ? this.i.aa3.left : NaN;
}
set dataToolTipHeaderTextMarginLeft(v) {
this.ensureDataToolTipHeaderTextMargin();
this.i.aa3.left = +v;
this.i.aa3 = this.i.aa3;
}
get dataToolTipHeaderTextMarginRight() {
return this.i.aa3 ? this.i.aa3.right : NaN;
}
set dataToolTipHeaderTextMarginRight(v) {
this.ensureDataToolTipHeaderTextMargin();
this.i.aa3.right = +v;
this.i.aa3 = this.i.aa3;
}
get dataToolTipHeaderTextMarginTop() {
return this.i.aa3 ? this.i.aa3.top : NaN;
}
set dataToolTipHeaderTextMarginTop(v) {
this.ensureDataToolTipHeaderTextMargin();
this.i.aa3.top = +v;
this.i.aa3 = this.i.aa3;
}
ensureDataToolTipHeaderTextMargin() {
if (this.i.aa3) {
return;
}
this.i.aa3 = new Thickness(2);
}
get dataToolTipHeaderRowMarginBottom() {
return this.i.aa2 ? this.i.aa2.bottom : NaN;
}
set dataToolTipHeaderRowMarginBottom(v) {
this.ensureDataToolTipHeaderRowMargin();
this.i.aa2.bottom = +v;
this.i.aa2 = this.i.aa2;
}
get dataToolTipHeaderRowMarginLeft() {
return this.i.aa2 ? this.i.aa2.left : NaN;
}
set dataToolTipHeaderRowMarginLeft(v) {
this.ensureDataToolTipHeaderRowMargin();
this.i.aa2.left = +v;
this.i.aa2 = this.i.aa2;
}
get dataToolTipHeaderRowMarginRight() {
return this.i.aa2 ? this.i.aa2.right : NaN;
}
set dataToolTipHeaderRowMarginRight(v) {
this.ensureDataToolTipHeaderRowMargin();
this.i.aa2.right = +v;
this.i.aa2 = this.i.aa2;
}
get dataToolTipHeaderRowMarginTop() {
return this.i.aa2 ? this.i.aa2.top : NaN;
}
set dataToolTipHeaderRowMarginTop(v) {
this.ensureDataToolTipHeaderRowMargin();
this.i.aa2.top = +v;
this.i.aa2 = this.i.aa2;
}
ensureDataToolTipHeaderRowMargin() {
if (this.i.aa2) {
return;
}
this.i.aa2 = new Thickness(2);
}
/**
* Gets or sets whether to show Header row.
*/
get dataToolTipHeaderRowVisible() {
return this.i.g2;
}
set dataToolTipHeaderRowVisible(v) {
this.i.g2 = ensureBool(v);
}
/**
* Gets or Sets the style to use for the header text.
*/
get dataToolTipHeaderTextStyle() {
if (this.i.fc == null) {
return null;
}
return this.i.fc.fontString;
}
set dataToolTipHeaderTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.fc = fi;
}
/**
* Gets or sets the Group text color.
*/
get dataToolTipGroupTextColor() {
return brushToString(this.i.zu);
}
set dataToolTipGroupTextColor(v) {
this.i.zu = stringToBrush(v);
}
get dataToolTipGroupTextMarginBottom() {
return this.i.aa1 ? this.i.aa1.bottom : NaN;
}
set dataToolTipGroupTextMarginBottom(v) {
this.ensureDataToolTipGroupTextMargin();
this.i.aa1.bottom = +v;
this.i.aa1 = this.i.aa1;
}
get dataToolTipGroupTextMarginLeft() {
return this.i.aa1 ? this.i.aa1.left : NaN;
}
set dataToolTipGroupTextMarginLeft(v) {
this.ensureDataToolTipGroupTextMargin();
this.i.aa1.left = +v;
this.i.aa1 = this.i.aa1;
}
get dataToolTipGroupTextMarginRight() {
return this.i.aa1 ? this.i.aa1.right : NaN;
}
set dataToolTipGroupTextMarginRight(v) {
this.ensureDataToolTipGroupTextMargin();
this.i.aa1.right = +v;
this.i.aa1 = this.i.aa1;
}
get dataToolTipGroupTextMarginTop() {
return this.i.aa1 ? this.i.aa1.top : NaN;
}
set dataToolTipGroupTextMarginTop(v) {
this.ensureDataToolTipGroupTextMargin();
this.i.aa1.top = +v;
this.i.aa1 = this.i.aa1;
}
ensureDataToolTipGroupTextMargin() {
if (this.i.aa1) {
return;
}
this.i.aa1 = new Thickness(2);
}
get dataToolTipGroupRowMarginBottom() {
return this.i.aa0 ? this.i.aa0.bottom : NaN;
}
set dataToolTipGroupRowMarginBottom(v) {
this.ensureDataToolTipGroupRowMargin();
this.i.aa0.bottom = +v;
this.i.aa0 = this.i.aa0;
}
get dataToolTipGroupRowMarginLeft() {
return this.i.aa0 ? this.i.aa0.left : NaN;
}
set dataToolTipGroupRowMarginLeft(v) {
this.ensureDataToolTipGroupRowMargin();
this.i.aa0.left = +v;
this.i.aa0 = this.i.aa0;
}
get dataToolTipGroupRowMarginRight() {
return this.i.aa0 ? this.i.aa0.right : NaN;
}
set dataToolTipGroupRowMarginRight(v) {
this.ensureDataToolTipGroupRowMargin();
this.i.aa0.right = +v;
this.i.aa0 = this.i.aa0;
}
get dataToolTipGroupRowMarginTop() {
return this.i.aa0 ? this.i.aa0.top : NaN;
}
set dataToolTipGroupRowMarginTop(v) {
this.ensureDataToolTipGroupRowMargin();
this.i.aa0.top = +v;
this.i.aa0 = this.i.aa0;
}
ensureDataToolTipGroupRowMargin() {
if (this.i.aa0) {
return;
}
this.i.aa0 = new Thickness(2);
}
/**
* Gets or sets whether to show Group row.
*/
get dataToolTipGroupRowVisible() {
return this.i.g1;
}
set dataToolTipGroupRowVisible(v) {
this.i.g1 = ensureBool(v);
}
/**
* Gets or Sets the style to use for the Group text.
*/
get dataToolTipGroupTextStyle() {
if (this.i.fb == null) {
return null;
}
return this.i.fb.fontString;
}
set dataToolTipGroupTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.fb = fi;
}
/**
* Gets or sets the summary text color.
*/
get dataToolTipSummaryTitleTextColor() {
return brushToString(this.i.zy);
}
set dataToolTipSummaryTitleTextColor(v) {
this.i.zy = stringToBrush(v);
}
/**
* Gets or Sets the style to use for the summary text.
*/
get dataToolTipSummaryTitleTextStyle() {
if (this.i.ff == null) {
return null;
}
return this.i.ff.fontString;
}
set dataToolTipSummaryTitleTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.ff = fi;
}
/**
* Gets or sets the SummaryType for the data legend.
*/
get dataToolTipSummaryType() {
return this.i.bq;
}
set dataToolTipSummaryType(v) {
this.i.bq = ensureEnum(DataLegendSummaryType_$type, v);
}
/**
* Gets or sets the SummaryTitleText for the data legend.
*/
get dataToolTipSummaryTitleText() {
return this.i.p3;
}
set dataToolTipSummaryTitleText(v) {
this.i.p3 = v;
}
get dataToolTipSummaryTitleTextMarginBottom() {
return this.i.aa6 ? this.i.aa6.bottom : NaN;
}
set dataToolTipSummaryTitleTextMarginBottom(v) {
this.ensureDataToolTipSummaryTitleTextMargin();
this.i.aa6.bottom = +v;
this.i.aa6 = this.i.aa6;
}
get dataToolTipSummaryTitleTextMarginLeft() {
return this.i.aa6 ? this.i.aa6.left : NaN;
}
set dataToolTipSummaryTitleTextMarginLeft(v) {
this.ensureDataToolTipSummaryTitleTextMargin();
this.i.aa6.left = +v;
this.i.aa6 = this.i.aa6;
}
get dataToolTipSummaryTitleTextMarginRight() {
return this.i.aa6 ? this.i.aa6.right : NaN;
}
set dataToolTipSummaryTitleTextMarginRight(v) {
this.ensureDataToolTipSummaryTitleTextMargin();
this.i.aa6.right = +v;
this.i.aa6 = this.i.aa6;
}
get dataToolTipSummaryTitleTextMarginTop() {
return this.i.aa6 ? this.i.aa6.top : NaN;
}
set dataToolTipSummaryTitleTextMarginTop(v) {
this.ensureDataToolTipSummaryTitleTextMargin();
this.i.aa6.top = +v;
this.i.aa6 = this.i.aa6;
}
ensureDataToolTipSummaryTitleTextMargin() {
if (this.i.aa6) {
return;
}
this.i.aa6 = new Thickness(2);
}
get dataToolTipSummaryRowMarginBottom() {
return this.i.aa5 ? this.i.aa5.bottom : NaN;
}
set dataToolTipSummaryRowMarginBottom(v) {
this.ensureDataToolTipSummaryRowMargin();
this.i.aa5.bottom = +v;
this.i.aa5 = this.i.aa5;
}
get dataToolTipSummaryRowMarginLeft() {
return this.i.aa5 ? this.i.aa5.left : NaN;
}
set dataToolTipSummaryRowMarginLeft(v) {
this.ensureDataToolTipSummaryRowMargin();
this.i.aa5.left = +v;
this.i.aa5 = this.i.aa5;
}
get dataToolTipSummaryRowMarginRight() {
return this.i.aa5 ? this.i.aa5.right : NaN;
}
set dataToolTipSummaryRowMarginRight(v) {
this.ensureDataToolTipSummaryRowMargin();
this.i.aa5.right = +v;
this.i.aa5 = this.i.aa5;
}
get dataToolTipSummaryRowMarginTop() {
return this.i.aa5 ? this.i.aa5.top : NaN;
}
set dataToolTipSummaryRowMarginTop(v) {
this.ensureDataToolTipSummaryRowMargin();
this.i.aa5.top = +v;
this.i.aa5 = this.i.aa5;
}
ensureDataToolTipSummaryRowMargin() {
if (this.i.aa5) {
return;
}
this.i.aa5 = new Thickness(2);
}
/**
* Gets or sets the units text color.
*/
get dataToolTipSummaryValueTextColor() {
return brushToString(this.i.z0);
}
set dataToolTipSummaryValueTextColor(v) {
this.i.z0 = stringToBrush(v);
}
/**
* Gets or Sets the style to use for the units text.
*/
get dataToolTipSummaryValueTextStyle() {
if (this.i.fh == null) {
return null;
}
return this.i.fh.fontString;
}
set dataToolTipSummaryValueTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.fh = fi;
}
/**
* Gets or sets the units text for the data legend.
*/
get dataToolTipSummaryLabelText() {
return this.i.py;
}
set dataToolTipSummaryLabelText(v) {
this.i.py = v;
}
/**
* Gets or sets the units text color.
*/
get dataToolTipSummaryLabelTextColor() {
return brushToString(this.i.zx);
}
set dataToolTipSummaryLabelTextColor(v) {
this.i.zx = stringToBrush(v);
}
/**
* Gets or Sets the style to use for the units text.
*/
get dataToolTipSummaryLabelTextStyle() {
if (this.i.fe == null) {
return null;
}
return this.i.fe.fontString;
}
set dataToolTipSummaryLabelTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.fe = fi;
}
/**
* Gets or sets the units text for the data l