igniteui-angular-charts
Version:
Ignite UI Angular charting components for building rich data visualizations for modern web apps.
1,459 lines (1,458 loc) • 196 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 { 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 * 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._calloutsAllowedPositions = null;
this._valueLines = null;
this.__p = null;
this._hasUserValues = new Set();
this._stylingContainer = null;
this._stylingParent = null;
this._inStyling = false;
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._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.j0;
}
set pixelScalingRatio(v) {
this.i.j0 = +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.kd;
}
set titleLeftMargin(v) {
this.i.kd = +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.ke;
}
set titleRightMargin(v) {
this.i.ke = +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.kf;
}
set titleTopMargin(v) {
this.i.kf = +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.kc;
}
set titleBottomMargin(v) {
this.i.kc = +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.j8;
}
set subtitleLeftMargin(v) {
this.i.j8 = +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.ka;
}
set subtitleTopMargin(v) {
this.i.ka = +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.j9;
}
set subtitleRightMargin(v) {
this.i.j9 = +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.j7;
}
set subtitleBottomMargin(v) {
this.i.j7 = +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.yy);
}
set subtitleTextColor(v) {
this.i.yy = 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.yz);
}
set titleTextColor(v) {
this.i.yz = 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.jx;
}
set leftMargin(v) {
this.i.jx = +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.kg;
}
set topMargin(v) {
this.i.kg = +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.j6;
}
set rightMargin(v) {
this.i.j6 = +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.jj;
}
set bottomMargin(v) {
this.i.jj = +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.lj;
}
set transitionDuration(v) {
this.i.lj = +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.es;
}
set transitionEasingFunction(v) {
this.i.es = v;
}
/**
* Gets or sets the duration used for animating highlighting changes
*/
get highlightingTransitionDuration() {
return this.i.lg;
}
set highlightingTransitionDuration(v) {
this.i.lg = +v;
}
/**
* Gets or sets the duration used for animating Selection changes
*/
get selectionTransitionDuration() {
return this.i.li;
}
set selectionTransitionDuration(v) {
this.i.li = +v;
}
/**
* Gets or sets the duration used for animating Focus changes
*/
get focusTransitionDuration() {
return this.i.lf;
}
set focusTransitionDuration(v) {
this.i.lf = +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.sv;
}
set subtitleTextStyle(v) {
this.i.sv = 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.s6;
}
set titleTextStyle(v) {
this.i.s6 = v;
}
get isDetached() {
return this.i.isDetached;
}
get dataToolTipGroupingMode() {
return this.i.bz;
}
set dataToolTipGroupingMode(v) {
this.i.bz = ensureEnum(DataToolTipLayerGroupingMode_$type, v);
}
/**
* Gets or sets the offset of the tooltip layer on the X axis.
*/
get dataToolTipPositionOffsetX() {
return this.i.jo;
}
set dataToolTipPositionOffsetX(v) {
this.i.jo = +v;
}
/**
* Gets or sets the offset of the tooltip layer on the Y axis.
*/
get dataToolTipPositionOffsetY() {
return this.i.jp;
}
set dataToolTipPositionOffsetY(v) {
this.i.jp = +v;
}
/**
* Gets or sets the offset of the tooltip layer on the X axis.
*/
get dataToolTipDefaultPositionOffsetX() {
return this.i.jm;
}
set dataToolTipDefaultPositionOffsetX(v) {
this.i.jm = +v;
}
/**
* Gets or sets the offset of the tooltip layer on the Y axis.
*/
get dataToolTipDefaultPositionOffsetY() {
return this.i.jn;
}
set dataToolTipDefaultPositionOffsetY(v) {
this.i.jn = +v;
}
/**
* Gets or sets the tooltip position mode on the X axis for grouped series.
*/
get dataToolTipGroupedPositionModeX() {
return this.i.bv;
}
set dataToolTipGroupedPositionModeX(v) {
this.i.bv = ensureEnum(DataTooltipGroupedPositionX_$type, v);
}
/**
* Gets or sets the tooltip position mode on the Y axis for grouped series.
*/
get dataToolTipGroupedPositionModeY() {
return this.i.bx;
}
set dataToolTipGroupedPositionModeY(v) {
this.i.bx = ensureEnum(DataTooltipGroupedPositionY_$type, v);
}
/**
* Gets or sets whether the data legend should update when the series data is mutated.
*/
get dataToolTipShouldUpdateWhenSeriesDataChanges() {
return this.i.gq;
}
set dataToolTipShouldUpdateWhenSeriesDataChanges(v) {
this.i.gq = 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.bd;
}
set dataToolTipValueFormatAbbreviation(v) {
this.i.bd = 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.lc;
}
set dataToolTipValueFormatMaxFractions(v) {
this.i.lc = +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.ld;
}
set dataToolTipValueFormatMinFractions(v) {
this.i.ld = +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.bt;
}
set dataToolTipValueFormatMode(v) {
this.i.bt = 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.py;
}
set dataToolTipValueFormatCulture(v) {
this.i.py = 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.gr;
}
set dataToolTipValueFormatUseGrouping(v) {
this.i.gr = ensureBool(v);
}
/**
* Gets or sets the format string for values displayed in the data legend.
*/
get dataToolTipValueFormatString() {
return this.i.p4;
}
set dataToolTipValueFormatString(v) {
this.i.p4 = 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.zs ? this.i.zs.bottom : NaN;
}
set dataToolTipValueRowMarginBottom(v) {
this.ensureDataToolTipValueRowMargin();
this.i.zs.bottom = +v;
this.i.zs = this.i.zs;
}
get dataToolTipValueRowMarginLeft() {
return this.i.zs ? this.i.zs.left : NaN;
}
set dataToolTipValueRowMarginLeft(v) {
this.ensureDataToolTipValueRowMargin();
this.i.zs.left = +v;
this.i.zs = this.i.zs;
}
get dataToolTipValueRowMarginRight() {
return this.i.zs ? this.i.zs.right : NaN;
}
set dataToolTipValueRowMarginRight(v) {
this.ensureDataToolTipValueRowMargin();
this.i.zs.right = +v;
this.i.zs = this.i.zs;
}
get dataToolTipValueRowMarginTop() {
return this.i.zs ? this.i.zs.top : NaN;
}
set dataToolTipValueRowMarginTop(v) {
this.ensureDataToolTipValueRowMargin();
this.i.zs.top = +v;
this.i.zs = this.i.zs;
}
ensureDataToolTipValueRowMargin() {
if (this.i.zs) {
return;
}
this.i.zs = new Thickness(2);
}
/**
* Gets or sets whether to show series rows.
*/
get dataToolTipValueRowVisible() {
return this.i.gs;
}
set dataToolTipValueRowVisible(v) {
this.i.gs = ensureBool(v);
}
/**
* Gets or sets text displayed when data column is missing a value, e.g. "no data"
*/
get dataToolTipValueTextWhenMissingData() {
return this.i.qd;
}
set dataToolTipValueTextWhenMissingData(v) {
this.i.qd = v;
}
/**
* Gets or sets whether to use series colors when displaying values in the legend
*/
get dataToolTipValueTextUseSeriesColors() {
return this.i.gt;
}
set dataToolTipValueTextUseSeriesColors(v) {
this.i.gt = ensureBool(v);
}
get dataToolTipValueTextMarginBottom() {
return this.i.zt ? this.i.zt.bottom : NaN;
}
set dataToolTipValueTextMarginBottom(v) {
this.ensureDataToolTipValueTextMargin();
this.i.zt.bottom = +v;
this.i.zt = this.i.zt;
}
get dataToolTipValueTextMarginLeft() {
return this.i.zt ? this.i.zt.left : NaN;
}
set dataToolTipValueTextMarginLeft(v) {
this.ensureDataToolTipValueTextMargin();
this.i.zt.left = +v;
this.i.zt = this.i.zt;
}
get dataToolTipValueTextMarginRight() {
return this.i.zt ? this.i.zt.right : NaN;
}
set dataToolTipValueTextMarginRight(v) {
this.ensureDataToolTipValueTextMargin();
this.i.zt.right = +v;
this.i.zt = this.i.zt;
}
get dataToolTipValueTextMarginTop() {
return this.i.zt ? this.i.zt.top : NaN;
}
set dataToolTipValueTextMarginTop(v) {
this.ensureDataToolTipValueTextMargin();
this.i.zt.top = +v;
this.i.zt = this.i.zt;
}
ensureDataToolTipValueTextMargin() {
if (this.i.zt) {
return;
}
this.i.zt = new Thickness(2);
}
/**
* Gets or sets the units text color.
*/
get dataToolTipValueTextColor() {
return brushToString(this.i.ym);
}
set dataToolTipValueTextColor(v) {
this.i.ym = stringToBrush(v);
}
/**
* Gets or Sets the style to use for the units text.
*/
get dataToolTipValueTextStyle() {
if (this.i.fe == null) {
return null;
}
return this.i.fe.fontString;
}
set dataToolTipValueTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.fe = fi;
}
/**
* Gets or sets the format string for header text displayed in the data legend.
*/
get dataToolTipHeaderFormatString() {
return this.i.oo;
}
set dataToolTipHeaderFormatString(v) {
this.i.oo = 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.ok;
}
set dataToolTipHeaderFormatCulture(v) {
this.i.ok = v;
}
/**
* Gets or sets date format for the header
* This property is ignored when setting HeaderFormatSpecifiers or HeaderFormatString properties
*/
get dataToolTipHeaderFormatDate() {
return this.i.bj;
}
set dataToolTipHeaderFormatDate(v) {
this.i.bj = 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.bl;
}
set dataToolTipHeaderFormatTime(v) {
this.i.bl = ensureEnum(DataLegendHeaderTimeMode_$type, v);
}
/**
* Gets or sets the HeaderText for the data legend.
*/
get dataToolTipHeaderText() {
return this.i.ot;
}
set dataToolTipHeaderText(v) {
this.i.ot = v;
}
/**
* Gets or sets the header text color.
*/
get dataToolTipHeaderTextColor() {
return brushToString(this.i.ye);
}
set dataToolTipHeaderTextColor(v) {
this.i.ye = stringToBrush(v);
}
get dataToolTipHeaderTextMarginBottom() {
return this.i.zm ? this.i.zm.bottom : NaN;
}
set dataToolTipHeaderTextMarginBottom(v) {
this.ensureDataToolTipHeaderTextMargin();
this.i.zm.bottom = +v;
this.i.zm = this.i.zm;
}
get dataToolTipHeaderTextMarginLeft() {
return this.i.zm ? this.i.zm.left : NaN;
}
set dataToolTipHeaderTextMarginLeft(v) {
this.ensureDataToolTipHeaderTextMargin();
this.i.zm.left = +v;
this.i.zm = this.i.zm;
}
get dataToolTipHeaderTextMarginRight() {
return this.i.zm ? this.i.zm.right : NaN;
}
set dataToolTipHeaderTextMarginRight(v) {
this.ensureDataToolTipHeaderTextMargin();
this.i.zm.right = +v;
this.i.zm = this.i.zm;
}
get dataToolTipHeaderTextMarginTop() {
return this.i.zm ? this.i.zm.top : NaN;
}
set dataToolTipHeaderTextMarginTop(v) {
this.ensureDataToolTipHeaderTextMargin();
this.i.zm.top = +v;
this.i.zm = this.i.zm;
}
ensureDataToolTipHeaderTextMargin() {
if (this.i.zm) {
return;
}
this.i.zm = new Thickness(2);
}
get dataToolTipHeaderRowMarginBottom() {
return this.i.zl ? this.i.zl.bottom : NaN;
}
set dataToolTipHeaderRowMarginBottom(v) {
this.ensureDataToolTipHeaderRowMargin();
this.i.zl.bottom = +v;
this.i.zl = this.i.zl;
}
get dataToolTipHeaderRowMarginLeft() {
return this.i.zl ? this.i.zl.left : NaN;
}
set dataToolTipHeaderRowMarginLeft(v) {
this.ensureDataToolTipHeaderRowMargin();
this.i.zl.left = +v;
this.i.zl = this.i.zl;
}
get dataToolTipHeaderRowMarginRight() {
return this.i.zl ? this.i.zl.right : NaN;
}
set dataToolTipHeaderRowMarginRight(v) {
this.ensureDataToolTipHeaderRowMargin();
this.i.zl.right = +v;
this.i.zl = this.i.zl;
}
get dataToolTipHeaderRowMarginTop() {
return this.i.zl ? this.i.zl.top : NaN;
}
set dataToolTipHeaderRowMarginTop(v) {
this.ensureDataToolTipHeaderRowMargin();
this.i.zl.top = +v;
this.i.zl = this.i.zl;
}
ensureDataToolTipHeaderRowMargin() {
if (this.i.zl) {
return;
}
this.i.zl = new Thickness(2);
}
/**
* Gets or sets whether to show Header row.
*/
get dataToolTipHeaderRowVisible() {
return this.i.gp;
}
set dataToolTipHeaderRowVisible(v) {
this.i.gp = ensureBool(v);
}
/**
* Gets or Sets the style to use for the header text.
*/
get dataToolTipHeaderTextStyle() {
if (this.i.e6 == null) {
return null;
}
return this.i.e6.fontString;
}
set dataToolTipHeaderTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.e6 = fi;
}
/**
* Gets or sets the Group text color.
*/
get dataToolTipGroupTextColor() {
return brushToString(this.i.yd);
}
set dataToolTipGroupTextColor(v) {
this.i.yd = stringToBrush(v);
}
get dataToolTipGroupTextMarginBottom() {
return this.i.zk ? this.i.zk.bottom : NaN;
}
set dataToolTipGroupTextMarginBottom(v) {
this.ensureDataToolTipGroupTextMargin();
this.i.zk.bottom = +v;
this.i.zk = this.i.zk;
}
get dataToolTipGroupTextMarginLeft() {
return this.i.zk ? this.i.zk.left : NaN;
}
set dataToolTipGroupTextMarginLeft(v) {
this.ensureDataToolTipGroupTextMargin();
this.i.zk.left = +v;
this.i.zk = this.i.zk;
}
get dataToolTipGroupTextMarginRight() {
return this.i.zk ? this.i.zk.right : NaN;
}
set dataToolTipGroupTextMarginRight(v) {
this.ensureDataToolTipGroupTextMargin();
this.i.zk.right = +v;
this.i.zk = this.i.zk;
}
get dataToolTipGroupTextMarginTop() {
return this.i.zk ? this.i.zk.top : NaN;
}
set dataToolTipGroupTextMarginTop(v) {
this.ensureDataToolTipGroupTextMargin();
this.i.zk.top = +v;
this.i.zk = this.i.zk;
}
ensureDataToolTipGroupTextMargin() {
if (this.i.zk) {
return;
}
this.i.zk = new Thickness(2);
}
get dataToolTipGroupRowMarginBottom() {
return this.i.zj ? this.i.zj.bottom : NaN;
}
set dataToolTipGroupRowMarginBottom(v) {
this.ensureDataToolTipGroupRowMargin();
this.i.zj.bottom = +v;
this.i.zj = this.i.zj;
}
get dataToolTipGroupRowMarginLeft() {
return this.i.zj ? this.i.zj.left : NaN;
}
set dataToolTipGroupRowMarginLeft(v) {
this.ensureDataToolTipGroupRowMargin();
this.i.zj.left = +v;
this.i.zj = this.i.zj;
}
get dataToolTipGroupRowMarginRight() {
return this.i.zj ? this.i.zj.right : NaN;
}
set dataToolTipGroupRowMarginRight(v) {
this.ensureDataToolTipGroupRowMargin();
this.i.zj.right = +v;
this.i.zj = this.i.zj;
}
get dataToolTipGroupRowMarginTop() {
return this.i.zj ? this.i.zj.top : NaN;
}
set dataToolTipGroupRowMarginTop(v) {
this.ensureDataToolTipGroupRowMargin();
this.i.zj.top = +v;
this.i.zj = this.i.zj;
}
ensureDataToolTipGroupRowMargin() {
if (this.i.zj) {
return;
}
this.i.zj = new Thickness(2);
}
/**
* Gets or sets whether to show Group row.
*/
get dataToolTipGroupRowVisible() {
return this.i.go;
}
set dataToolTipGroupRowVisible(v) {
this.i.go = ensureBool(v);
}
/**
* Gets or Sets the style to use for the Group text.
*/
get dataToolTipGroupTextStyle() {
if (this.i.e5 == null) {
return null;
}
return this.i.e5.fontString;
}
set dataToolTipGroupTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.e5 = fi;
}
/**
* Gets or sets the summary text color.
*/
get dataToolTipSummaryTitleTextColor() {
return brushToString(this.i.yh);
}
set dataToolTipSummaryTitleTextColor(v) {
this.i.yh = stringToBrush(v);
}
/**
* Gets or Sets the style to use for the summary text.
*/
get dataToolTipSummaryTitleTextStyle() {
if (this.i.e9 == null) {
return null;
}
return this.i.e9.fontString;
}
set dataToolTipSummaryTitleTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.e9 = fi;
}
/**
* Gets or sets the SummaryType for the data legend.
*/
get dataToolTipSummaryType() {
return this.i.bp;
}
set dataToolTipSummaryType(v) {
this.i.bp = ensureEnum(DataLegendSummaryType_$type, v);
}
/**
* Gets or sets the SummaryTitleText for the data legend.
*/
get dataToolTipSummaryTitleText() {
return this.i.pc;
}
set dataToolTipSummaryTitleText(v) {
this.i.pc = v;
}
get dataToolTipSummaryTitleTextMarginBottom() {
return this.i.zp ? this.i.zp.bottom : NaN;
}
set dataToolTipSummaryTitleTextMarginBottom(v) {
this.ensureDataToolTipSummaryTitleTextMargin();
this.i.zp.bottom = +v;
this.i.zp = this.i.zp;
}
get dataToolTipSummaryTitleTextMarginLeft() {
return this.i.zp ? this.i.zp.left : NaN;
}
set dataToolTipSummaryTitleTextMarginLeft(v) {
this.ensureDataToolTipSummaryTitleTextMargin();
this.i.zp.left = +v;
this.i.zp = this.i.zp;
}
get dataToolTipSummaryTitleTextMarginRight() {
return this.i.zp ? this.i.zp.right : NaN;
}
set dataToolTipSummaryTitleTextMarginRight(v) {
this.ensureDataToolTipSummaryTitleTextMargin();
this.i.zp.right = +v;
this.i.zp = this.i.zp;
}
get dataToolTipSummaryTitleTextMarginTop() {
return this.i.zp ? this.i.zp.top : NaN;
}
set dataToolTipSummaryTitleTextMarginTop(v) {
this.ensureDataToolTipSummaryTitleTextMargin();
this.i.zp.top = +v;
this.i.zp = this.i.zp;
}
ensureDataToolTipSummaryTitleTextMargin() {
if (this.i.zp) {
return;
}
this.i.zp = new Thickness(2);
}
get dataToolTipSummaryRowMarginBottom() {
return this.i.zo ? this.i.zo.bottom : NaN;
}
set dataToolTipSummaryRowMarginBottom(v) {
this.ensureDataToolTipSummaryRowMargin();
this.i.zo.bottom = +v;
this.i.zo = this.i.zo;
}
get dataToolTipSummaryRowMarginLeft() {
return this.i.zo ? this.i.zo.left : NaN;
}
set dataToolTipSummaryRowMarginLeft(v) {
this.ensureDataToolTipSummaryRowMargin();
this.i.zo.left = +v;
this.i.zo = this.i.zo;
}
get dataToolTipSummaryRowMarginRight() {
return this.i.zo ? this.i.zo.right : NaN;
}
set dataToolTipSummaryRowMarginRight(v) {
this.ensureDataToolTipSummaryRowMargin();
this.i.zo.right = +v;
this.i.zo = this.i.zo;
}
get dataToolTipSummaryRowMarginTop() {
return this.i.zo ? this.i.zo.top : NaN;
}
set dataToolTipSummaryRowMarginTop(v) {
this.ensureDataToolTipSummaryRowMargin();
this.i.zo.top = +v;
this.i.zo = this.i.zo;
}
ensureDataToolTipSummaryRowMargin() {
if (this.i.zo) {
return;
}
this.i.zo = new Thickness(2);
}
/**
* Gets or sets the units text color.
*/
get dataToolTipSummaryValueTextColor() {
return brushToString(this.i.yj);
}
set dataToolTipSummaryValueTextColor(v) {
this.i.yj = stringToBrush(v);
}
/**
* Gets or Sets the style to use for the units text.
*/
get dataToolTipSummaryValueTextStyle() {
if (this.i.fb == null) {
return null;
}
return this.i.fb.fontString;
}
set dataToolTipSummaryValueTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.fb = fi;
}
/**
* Gets or sets the units text for the data legend.
*/
get dataToolTipSummaryLabelText() {
return this.i.o7;
}
set dataToolTipSummaryLabelText(v) {
this.i.o7 = v;
}
/**
* Gets or sets the units text color.
*/
get dataToolTipSummaryLabelTextColor() {
return brushToString(this.i.yg);
}
set dataToolTipSummaryLabelTextColor(v) {
this.i.yg = stringToBrush(v);
}
/**
* Gets or Sets the style to use for the units text.
*/
get dataToolTipSummaryLabelTextStyle() {
if (this.i.e8 == null) {
return null;
}
return this.i.e8.fontString;
}
set dataToolTipSummaryLabelTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.e8 = fi;
}
/**
* Gets or sets the units text for the data legend.
*/
get dataToolTipSummaryUnitsText() {
return this.i.pi;
}
set dataToolTipSummaryUnitsText(v) {
this.i.pi = v;
}
/**
* Gets or sets the units text color.
*/
get dataToolTipSummaryUnitsTextColor() {
return brushToString(this.i.yi);
}
set dataToolTipSummaryUnitsTextColor(v) {
this.i.yi = stringToBrush(v);
}
/**
* Gets or Sets the style to use for the units text.
*/
get dataToolTipSummaryUnitsTextStyle() {
if (this.i.fa == null) {
return null;
}
return this.i.fa.fontString;
}
set dataToolTipSummaryUnitsTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.fa = fi;
}
get dataToolTipBadgeMarginBottom() {
return this.i.zi ? this.i.zi.bottom : NaN;