igniteui-react-charts
Version:
Ignite UI React charting components for building rich data visualizations using TypeScript APIs.
1,424 lines • 885 kB
JavaScript
/*
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 { __extends, __generator, __values } from "tslib";
import { Control } from "igniteui-react-core";
import { INotifyPropertyChanged_$type, Base, Type, EventArgs, PropertyChangedEventArgs, IEnumerable_$type, callStaticConstructors, Point_$type, runOn, delegateCombine, fromEnum, delegateRemove, fromEn, typeCast, enumGetBox, EnumUtil, Boolean_$type, Number_$type, typeGetValue, toEnum, String_$type, markType, markDep, PointUtil, TypeRegistrar, Delegate_$type, Array_$type, Date_$type, getInstanceType } from "igniteui-react-core";
import { ILegendOwner_$type } from "igniteui-react-core";
import { IInternalLegendOwner_$type } from "igniteui-react-core";
import { IDataLegendTarget_$type } from "igniteui-react-core";
import { IToolbarTarget_$type } from "igniteui-react-core";
import { ISupportsAnimation_$type } from "igniteui-react-core";
import { SRProvider } from "igniteui-react-core";
import { HashSet$1 } from "igniteui-react-core";
import { IToolbarContextAccessor_$type } from "igniteui-react-core";
import { DVContainer } from "igniteui-react-core";
import { SeriesPlotAreaMarginHorizontalMode_$type } from "./SeriesPlotAreaMarginHorizontalMode";
import { SeriesPlotAreaMarginVerticalMode_$type } from "./SeriesPlotAreaMarginVerticalMode";
import { SeriesViewerScrollbarMode_$type } from "./SeriesViewerScrollbarMode";
import { DoubleAnimator } from "igniteui-react-core";
import { BrushCollection } from "igniteui-react-core";
import { DependencyProperty } from "igniteui-react-core";
import { DependencyObject } from "igniteui-react-core";
import { MarkerAutomaticBehavior_$type } from "./MarkerAutomaticBehavior";
import { IChartLegend_$type } from "igniteui-react-core";
import { SeriesHighlightingMode_$type } from "./SeriesHighlightingMode";
import { SeriesSelectionMode_$type } from "./SeriesSelectionMode";
import { SeriesSelectionBehavior_$type } from "./SeriesSelectionBehavior";
import { SeriesViewerHorizontalScrollbarPosition_$type } from "./SeriesViewerHorizontalScrollbarPosition";
import { SeriesViewerVerticalScrollbarPosition_$type } from "./SeriesViewerVerticalScrollbarPosition";
import { Brush } from "igniteui-react-core";
import { SeriesHighlightingBehavior_$type } from "./SeriesHighlightingBehavior";
import { LegendHighlightingMode_$type } from "./LegendHighlightingMode";
import { LegendItemBadgeShape_$type } from "igniteui-react-core";
import { LegendItemBadgeMode_$type } from "igniteui-react-core";
import { Rect } from "igniteui-react-core";
import { ChartHitTestMode_$type } from "./ChartHitTestMode";
import { InteractionState_$type } from "igniteui-react-core";
import { WindowResponse_$type } from "./WindowResponse";
import { Visibility_$type } from "igniteui-react-core";
import { SeriesViewerComponentsFromView } from "./SeriesViewerComponentsFromView";
import { ZoomCoercionMode_$type } from "./ZoomCoercionMode";
import { ModifierKeys_$type } from "igniteui-react-core";
import { SeriesHighlightedValuesDisplayMode_$type } from "igniteui-react-core";
import { DataTemplate } from "igniteui-react-core";
import { HorizontalAlignment_$type } from "igniteui-react-core";
import { CanvasRenderScheduler } from "igniteui-react-core";
import { SyncSettings } from "./SyncSettings";
import { PropertyMetadata } from "igniteui-react-core";
import { ICommandStateChangedListener_$type } from "igniteui-react-core";
import { List$1 } from "igniteui-react-core";
import { SeriesViewerComponentsForView } from "./SeriesViewerComponentsForView";
import { VersionQueueHelper } from "igniteui-react-core";
import { Dictionary$2 } from "igniteui-react-core";
import { IDataLegend_$type } from "igniteui-react-core";
import { PropertyUpdatedEventArgs } from "igniteui-react-core";
import { NotifyCollectionChangedEventArgs } from "igniteui-react-core";
import { ObservableCollection$1 } from "igniteui-react-core";
import { Size } from "igniteui-react-core";
import { FrameworkElement } from "igniteui-react-core";
import { MouseEventArgs } from "igniteui-react-core";
import { MouseButtonEventArgs } from "igniteui-react-core";
import { Tuple$2 } from "igniteui-react-core";
import { ScalerParams } from "./ScalerParams";
import { SeriesViewerManipulationEventArgs } from "./SeriesViewerManipulationEventArgs";
import { IFastItemsSource_$type } from "igniteui-react-core";
import { ChartResizeIdleEventArgs } from "./ChartResizeIdleEventArgs";
import { RectChangedEventArgs } from "igniteui-react-core";
import { MathUtil } from "igniteui-react-core";
import { DeviceUtils } from "igniteui-react-core";
import { RefreshCompletedEventArgs } from "./RefreshCompletedEventArgs";
import { Thickness } from "igniteui-react-core";
import { AxisTitlePosition_$type } from "./AxisTitlePosition";
import { FontInfo } from "igniteui-react-core";
import { CoercionInfo } from "./CoercionInfo";
import { FastItemsSource } from "igniteui-react-core";
import { FontUtil } from "igniteui-react-core";
import { IDataLegendSeries_$type } from "igniteui-react-core";
import { CaptureImageSettings } from "igniteui-react-core";
import { ImageCapturedEventArgs } from "igniteui-react-core";
import { truncate, intDivide, isNaN_, isInfinity, logBase, log10 } from "igniteui-react-core";
import { ChartContentType_$type } from "./ChartContentType";
import { defaultDVDateParse, dateNow, dateMinValue } from "igniteui-react-core";
import { stringIsNullOrEmpty, stringEmpty, stringEndsWith, stringStartsWith, stringIsNullOrWhiteSpace } from "igniteui-react-core";
import { timeSpanTotalMilliseconds } from "igniteui-react-core";
import { ISchedulableRender_$type } from "igniteui-react-core";
import { Rectangle } from "igniteui-react-core";
import { Path } from "igniteui-react-core";
import { Line } from "igniteui-react-core";
import { RenderingContext } from "igniteui-react-core";
import { TextBlock } from "igniteui-react-core";
import { ITileZoomTile_$type } from "./ITileZoomTile";
import { DOMExecutionContext } from "igniteui-react-core";
import { RenderSurface } from "./RenderSurface";
import { PathFigureCollection } from "igniteui-react-core";
import { PathFigure } from "igniteui-react-core";
import { LineSegment } from "igniteui-react-core";
import { PathGeometry } from "igniteui-react-core";
import { GeometryGroup } from "igniteui-react-core";
import { DataContext } from "igniteui-react-core";
import { LabelPanelsArrangeState } from "./LabelPanelsArrangeState";
import { MarkerTemplates } from "./MarkerTemplates";
import { DataTemplateRenderInfo } from "igniteui-react-core";
import { DataTemplateMeasureInfo } from "igniteui-react-core";
import { AxisLabelsLocation_$type } from "./AxisLabelsLocation";
import { IProvidesViewport_$type } from "./IProvidesViewport";
import { ArgumentNullException } from "igniteui-react-core";
import { ActualLegendItemBadgeShape_$type } from "./ActualLegendItemBadgeShape";
import { CanvasViewRenderer } from "igniteui-react-core";
import { Defaults } from "./Defaults";
import { EllipseGeometry } from "igniteui-react-core";
import { DataTemplatePassInfo } from "igniteui-react-core";
import { BrushUtil } from "igniteui-react-core";
import { LegendItemHelper } from "igniteui-react-core";
import { DomWrapper_$type } from "igniteui-react-core";
import { PointerTooltipStyle } from "./PointerTooltipStyle";
import { DefaultPaletteInfo } from "./DefaultPaletteInfo";
import { CssGradientUtil } from "igniteui-react-core";
import { AxisDefaults } from "./AxisDefaults";
import { BrushUtilCore } from "igniteui-react-core";
import { AxisRange } from "./AxisRange";
import { LinearNumericSnapper } from "./LinearNumericSnapper";
import { AxisAnnotationCollection } from "./AxisAnnotationCollection";
import { VerticalAlignment_$type } from "igniteui-react-core";
import { Canvas } from "igniteui-react-core";
import { IFastItemsSourceProvider_$type } from "igniteui-react-core";
import { DoubleCollection } from "igniteui-react-core";
import { LabelPosition } from "./LabelPosition";
import { BindingFormatter } from "igniteui-react-core";
import { LabelFontHeuristics } from "./LabelFontHeuristics";
import { Pool$1 } from "igniteui-react-core";
import { AxisComponentsFromView } from "./AxisComponentsFromView";
import { FastReflectionHelper } from "igniteui-react-core";
import { AxisRangeChangedEventArgs } from "./AxisRangeChangedEventArgs";
import { RectangleGeometry } from "igniteui-react-core";
import { PathRenderingInfo } from "./PathRenderingInfo";
import { LineGeometry } from "igniteui-react-core";
import { RenderRequestedEventArgs } from "./RenderRequestedEventArgs";
import { CategoryMode_$type } from "./CategoryMode";
import { GridMode_$type } from "./GridMode";
import { Panel } from "igniteui-react-core";
import { UIElement } from "igniteui-react-core";
import { RectUtil } from "igniteui-react-core";
import { TickmarkValues } from "./TickmarkValues";
import { TransformGroup } from "igniteui-react-core";
import { RotateTransform } from "igniteui-react-core";
import { TranslateTransform } from "igniteui-react-core";
import { AngleSimplifier } from "igniteui-react-core";
import { TransformMatrixHelpler } from "igniteui-react-core";
import { ICategoryScaler_$type } from "./ICategoryScaler";
import { AxisRangeBufferMode_$type } from "./AxisRangeBufferMode";
import { NumericAxisRenderingParameters } from "./NumericAxisRenderingParameters";
import { LogarithmicTickmarkValues } from "./LogarithmicTickmarkValues";
import { LinearTickmarkValues } from "./LinearTickmarkValues";
import { CategoryAxisRenderingParameters } from "./CategoryAxisRenderingParameters";
import { TickmarkValuesInitializationParameters } from "./TickmarkValuesInitializationParameters";
import { NumberAbbreviatorFactory } from "./NumberAbbreviatorFactory";
import { AutomaticSeriesPurpose_$type } from "./AutomaticSeriesPurpose";
import { SeriesMatcher } from "./SeriesMatcher";
import { Stack$1 } from "igniteui-react-core";
import { RenderValidEventArgs } from "./RenderValidEventArgs";
import { ArrayExtension } from "igniteui-react-core";
import { SeriesLayerPropertyOverlayValueResolvingEventArgs } from "./SeriesLayerPropertyOverlayValueResolvingEventArgs";
import { PlatformAPIHelper } from "igniteui-react-core";
import { Marker } from "./Marker";
import { ContentControl } from "igniteui-react-core";
import { AutoMarginsAndAngleUpdateMode_$type } from "./AutoMarginsAndAngleUpdateMode";
import { ComputedPlotAreaMarginMode_$type } from "./ComputedPlotAreaMarginMode";
import { PolygonUtil } from "igniteui-react-core";
import { ILegendSeries_$type } from "igniteui-react-core";
import { ILegendSeriesInternal_$type } from "igniteui-react-core";
import { ILegendTemplateProvider_$type } from "igniteui-react-core";
import { PenLineJoin_$type } from "igniteui-react-core";
import { PenLineCap_$type } from "igniteui-react-core";
import { Color } from "igniteui-react-core";
import { SeriesVisibleRangeMode_$type } from "./SeriesVisibleRangeMode";
import { SeriesOutlineMode_$type } from "./SeriesOutlineMode";
import { TransitionInSpeedType_$type } from "./TransitionInSpeedType";
import { TransitionOutSpeedType_$type } from "./TransitionOutSpeedType";
import { SeriesHitTestMode_$type } from "./SeriesHitTestMode";
import { SeriesComponentsForView } from "./SeriesComponentsForView";
import { Binding } from "igniteui-react-core";
import { MarkerOutlineMode_$type } from "./MarkerOutlineMode";
import { MarkerFillMode_$type } from "./MarkerFillMode";
import { SeriesPointOfInterest } from "./SeriesPointOfInterest";
import { FastItemColumn } from "igniteui-react-core";
import { TransitionOutCompletedEventArgs } from "./TransitionOutCompletedEventArgs";
import { IChartItemLegend_$type } from "igniteui-react-core";
import { SeriesComponentsFromView } from "./SeriesComponentsFromView";
import { DataLegendSeriesValueInfo } from "igniteui-react-core";
import { DataLegendSeriesContext } from "igniteui-react-core";
import { MarkerType_$type } from "./MarkerType";
import { Style } from "igniteui-react-core";
import { FastItemsSourceReference } from "igniteui-react-core";
import { stringFormat } from "igniteui-react-core";
import { EasingFunctions } from "igniteui-react-core";
/**
* @hidden
*/
var SeriesViewer = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(SeriesViewer, _super);
function SeriesViewer() {
var _this = _super.call(this) || this;
_this._widget = null;
_this.dc = null;
_this.dv = null;
_this.an = null;
_this.gt = new List$1(ICommandStateChangedListener_$type, 0);
_this._commandCompleted = null;
_this._invalidateActions = null;
_this.gq = null;
_this.a9 = null;
_this.bb = null;
_this.ef = false;
_this.ee = false;
_this.c4 = null;
_this.bs = new SeriesCollection();
_this.i7 = 0;
_this.b0 = 0;
_this.b2 = 0;
_this._skipDataCleanup = false;
_this.de = null;
_this.dg = null;
_this.dd = null;
_this.df = null;
_this.ar = null;
_this.wj = null;
_this.plotAreaMouseLeftButtonDown = null;
_this.plotAreaMouseLeftButtonUp = null;
_this.plotAreaClicked = null;
_this.plotAreaMouseEnter = null;
_this.plotAreaMouseLeave = null;
_this.plotAreaMouseOver = null;
_this.cg = 0;
_this.ch = 0;
_this.bv = 1;
_this.b8 = 1;
_this.b4 = 3;
_this.propertyChanged = null;
_this.propertyUpdated = null;
_this.jn = null;
_this.ea = false;
_this.seriesCursorMouseMove = null;
_this.seriesMouseLeftButtonDown = null;
_this.seriesMouseLeftButtonUp = null;
_this.seriesClick = null;
_this.seriesMouseMove = null;
_this.seriesMouseEnter = null;
_this.seriesMouseLeave = null;
_this.d3 = false;
_this.d2 = false;
_this.ws = Rect.empty;
_this.wq = Rect.empty;
_this.d0 = true;
_this.wp = null;
_this.ek = false;
_this.i6 = 30;
_this.resizeIdle = null;
_this.fu = false;
_this.em = false;
_this.cd = new SeriesViewerComponentsForView();
_this.d7 = false;
_this.at = 0;
_this.as = 1;
_this.seriesAnimating = null;
_this.dx = new VersionQueueHelper();
_this.d6 = false;
_this.d4 = false;
_this.cy = 0;
_this.ec = false;
_this.eu = false;
_this.d1 = false;
_this.mv = null;
_this.viewerManipulationStarting = null;
_this.viewerManipulationEnding = null;
_this.ei = false;
_this.ed = false;
_this.windowRectChanged = null;
_this.sizeChanged = null;
_this.e5 = false;
_this.actualWindowRectChanged = null;
_this.gridAreaRectChanged = null;
_this.ew = false;
_this.g7 = 0.0001;
_this.g6 = 0.0001;
_this._syncChannel = null;
_this.cn = null;
_this.gf = false;
_this.eh = false;
_this.e4 = false;
_this.gl = false;
_this.cr = 1;
_this.xd = null;
_this.i9 = 0;
_this.br = null;
_this.eg = false;
_this.gg = false;
_this.wr = Rect.empty;
_this._selectedSeriesItems = null;
_this._focusedSeriesItems = null;
_this.selectedSeriesItemsChanged = null;
_this.focusedSeriesItemsChanged = null;
_this.g1 = new Date();
_this.go = false;
_this.refreshCompleted = null;
_this.js = null;
_this.jr = null;
_this.vu = null;
_this.vt = null;
_this.hm = NaN;
_this.hk = NaN;
_this.hl = NaN;
_this.hj = NaN;
_this.hi = NaN;
_this.hg = NaN;
_this.hh = NaN;
_this.hf = NaN;
_this.jp = null;
_this.al = null;
_this.am = null;
_this.ak = null;
_this.eb = false;
_this.dz = false;
_this._syncSettings = null;
_this.destroyed = false;
_this.jm = null;
_this.gp = new Dictionary$2(String_$type, Base.$, 0);
_this.fs = false;
_this.hn = NaN;
_this.hc = NaN;
_this.he = NaN;
_this.ha = NaN;
_this.g9 = 30;
_this.g8 = NaN;
_this.d5 = true;
_this.hd = NaN;
_this.hb = NaN;
_this.jq = null;
_this.g3 = 1;
_this.g2 = NaN;
_this.wo = null;
_this.e3 = false;
_this.g4 = 0;
_this.g5 = 0;
_this.sv = null;
_this.a0 = null;
_this.e8 = false;
_this.e9 = false;
_this.e6 = false;
_this.d8 = false;
_this.i8 = 0;
_this.es = false;
_this.fc = false;
_this.seriesDataUpdated = null;
_this.gu = new List$1(IDataLegend_$type, 0);
_this.dy = null;
_this.seriesDataChanged = null;
_this.gx = null;
_this.imageCaptured = null;
_this.cw = null;
_this.g0 = dateMinValue();
_this.d9 = false;
DVContainer.instance.registerIfLoaded("AnnotationFactoryManager");
DVContainer.instance.registerIfLoaded("InteractivityFactoryManager");
DVContainer.instance.registerIfLoaded("DataChartToolbarFactoryManager");
DVContainer.instance.registerIfLoaded("VisualDataFactoryManager");
_this.wo = Rect.empty;
_this.wj = { $type: Point_$type, x: NaN, y: NaN };
_this.g1 = dateNow();
_this.e8 = false;
_this.e9 = false;
_this.al = new CanvasRenderScheduler();
_this.al.a = runOn(_this, _this.nw);
_this.am = new CanvasRenderScheduler();
_this.ak = new CanvasRenderScheduler();
SeriesViewer.w6 = new Rect(0, 0, 0, 1, 1);
_this.syncSettings = ((function () {
var $ret = new SyncSettings();
$ret.synchronizeHorizontally = true;
$ret.synchronizeVertically = true;
return $ret;
})());
_this.dc = _this.db();
_this.qo(_this.dc);
_this.dc.c4();
_this.r6();
_this.oh();
_this.actualSyncLink = new SyncLink();
_this.sd(null, _this.actualSyncLink);
_this.ar = new ChartContentManager(_this);
_this.propertyUpdated = delegateCombine(_this.propertyUpdated, function (a, b) { return _this.q0(a, b.propertyName, b.oldValue, b.newValue); });
_this.selectedSeriesItems = new ChartSelectedItemCollection();
var a = _this.selectedSeriesItems;
a.collectionChanged = delegateCombine(a.collectionChanged, runOn(_this, _this.qb));
var b = _this.selectedSeriesItems;
b.collectionResetting = delegateCombine(b.collectionResetting, runOn(_this, _this.rt));
_this.focusedSeriesItems = new ChartSelectedItemCollection();
var c = _this.focusedSeriesItems;
c.collectionChanged = delegateCombine(c.collectionChanged, runOn(_this, _this.po));
var d = _this.focusedSeriesItems;
d.collectionResetting = delegateCombine(d.collectionResetting, runOn(_this, _this.oa));
var e = _this.series;
e.collectionChanged = delegateCombine(e.collectionChanged, runOn(_this, _this.rv));
var f = _this.series;
f.collectionResetting = delegateCombine(f.collectionResetting, runOn(_this, _this.rw));
_this.df = new DoubleAnimator(0, 1, _this.ji);
_this.de = new DoubleAnimator(0, 1, _this.jg);
var g = _this.de;
g.propertyChanged = delegateCombine(g.propertyChanged, runOn(_this, _this.og));
_this.dg = new DoubleAnimator(0, 1, _this.jk);
_this.dd = new DoubleAnimator(0, 1, _this.jd);
var h = _this.dg;
h.propertyChanged = delegateCombine(h.propertyChanged, runOn(_this, _this.ru));
var i = _this.dd;
i.propertyChanged = delegateCombine(i.propertyChanged, runOn(_this, _this.ob));
_this.dc.bx();
_this.oj();
_this.oi();
return _this;
}
Object.defineProperty(SeriesViewer.prototype, "widget", {
get: function () {
return this._widget;
},
set: function (a) {
this._widget = a;
},
enumerable: false,
configurable: true
});
SeriesViewer.staticInit = function () {
SeriesViewer.w6 = new Rect(0, 0, 0, 1, 1);
};
Object.defineProperty(SeriesViewer.prototype, "dw", {
get: function () {
if (this.dv == null) {
this.dv = new SRProvider(this.dc.j.ae);
}
return this.dv;
},
enumerable: false,
configurable: true
});
SeriesViewer.prototype.ao = function (a) {
if (this.an == null) {
this.an = new AutomaticSeriesManager(this);
}
return this.an;
};
SeriesViewer.prototype.getDesiredToolbarActions = function () {
if (!this.fm) {
return null;
}
return this.ba.getDesiredToolbarActions(this);
};
SeriesViewer.prototype.onToolCommandExecuting = function (a) {
if (!this.fm) {
return 1;
}
return this.ba.onToolCommandExecuting(this, a);
};
SeriesViewer.prototype.addCommandAvailabilityListener = function (a) {
};
SeriesViewer.prototype.removeCommandAvailabilityListener = function (a) {
};
SeriesViewer.prototype.addCommandStateChangedListener = function (a) {
if (!this.gt.contains(a)) {
this.gt.add(a);
}
};
SeriesViewer.prototype.removeCommandStateChangedListener = function (a) {
if (this.gt.contains(a)) {
this.gt.remove(a);
}
};
Object.defineProperty(SeriesViewer.prototype, "commandCompleted", {
get: function () {
return this._commandCompleted;
},
set: function (a) {
this._commandCompleted = a;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "invalidateActions", {
get: function () {
return this._invalidateActions;
},
set: function (a) {
this._invalidateActions = a;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "gr", {
get: function () {
return this.gq;
},
enumerable: false,
configurable: true
});
SeriesViewer.prototype.provideContextAccessor = function (a) {
if (this.gq == null) {
this.gq = new HashSet$1(IToolbarContextAccessor_$type, 0);
}
this.gq.add_1(a);
};
SeriesViewer.prototype.dismissContextAccessor = function (a) {
if (this.gq == null) {
return;
}
this.gq.remove(a);
};
SeriesViewer.prototype.om = function () {
if (this.invalidateActions != null) {
this.invalidateActions();
}
};
Object.defineProperty(SeriesViewer.prototype, "ba", {
get: function () {
var _this = this;
if (this.a9 == null) {
this.a9 = DVContainer.instance.createInstance(IDataChartToolbarProvider_$type, function () { return _this.dw.n; });
this.a9.container = this.dc.bi;
}
return this.a9;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "fm", {
get: function () {
return DVContainer.instance.checkLoaded("DataChartToolbarFactoryManager");
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "bc", {
get: function () {
var _this = this;
if (this.bb == null) {
this.bb = DVContainer.instance.createInstance(ISeriesViewerInteractionManager_$type, function () { return _this.dw.n; });
}
return this.bb;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "fe", {
get: function () {
return DVContainer.instance.checkLoaded("InteractivityFactoryManager");
},
enumerable: false,
configurable: true
});
SeriesViewer.prototype.rt = function (a, b) {
for (var c = 0; c < this.selectedSeriesItems.count; c++) {
this.pu(this.selectedSeriesItems._inner[c]);
}
};
SeriesViewer.prototype.oa = function (a, b) {
for (var c = 0; c < this.focusedSeriesItems.count; c++) {
this.pt(this.focusedSeriesItems._inner[c]);
}
};
SeriesViewer.prototype.qb = function (a, b) {
if (b.action == 4 && b.newItems == null && b.oldItems == null) {
return;
}
if (this.ef) {
return;
}
if (b.oldItems != null) {
for (var c = 0; c < b.oldItems.count; c++) {
var d = b.oldItems.item(c);
this.pu(d);
}
}
if (b.newItems != null) {
for (var e = 0; e < b.newItems.count; e++) {
var f = b.newItems.item(e);
f.g(this);
}
for (var g = 0; g < b.newItems.count; g++) {
var h = b.newItems.item(g);
this.pw(h);
}
}
var i = new ChartSelectedItemCollection();
if (b.oldItems != null) {
for (var j = 0; j < b.oldItems.count; j++) {
i.add(b.oldItems.item(j));
}
}
var k = new ChartSelectedItemCollection();
if (b.newItems != null) {
for (var l = 0; l < b.newItems.count; l++) {
k.add(b.newItems.item(l));
}
}
var m = this.selectedSeriesItems;
this.qa(this, new SeriesViewerSelectedSeriesItemsChangedEventArgs(i, k, m));
};
SeriesViewer.prototype.po = function (a, b) {
if (b.action == 4 && b.newItems == null && b.oldItems == null) {
return;
}
if (this.ee) {
return;
}
if (b.oldItems != null) {
for (var c = 0; c < b.oldItems.count; c++) {
var d = b.oldItems.item(c);
this.pt(d);
}
}
if (b.newItems != null) {
for (var e = 0; e < b.newItems.count; e++) {
var f = b.newItems.item(e);
this.pv(f);
}
}
var g = new ChartSelectedItemCollection();
if (b.oldItems != null) {
for (var h = 0; h < b.oldItems.count; h++) {
g.add(b.oldItems.item(h));
}
}
var i = new ChartSelectedItemCollection();
if (b.newItems != null) {
for (var j = 0; j < b.newItems.count; j++) {
i.add(b.newItems.item(j));
}
}
var k = this.selectedSeriesItems;
this.pn(this, new SeriesViewerSelectedSeriesItemsChangedEventArgs(g, i, k));
};
SeriesViewer.prototype.pv = function (a) {
this.oc(function (b) {
var c = a;
if (c.series != null && c.series != b) {
return;
}
b.pt(c.item);
});
};
SeriesViewer.prototype.pt = function (a) {
this.oc(function (b) {
var c = a;
if (c.series != null && c.series != b) {
return;
}
b.pr(c.item);
});
};
SeriesViewer.prototype.oc = function (a) {
var e_1, _a;
try {
for (var _b = __values(fromEnum(this.series)), _c = _b.next(); !_c.done; _c = _b.next()) {
var b = _c.value;
a(b);
if (b.isStacked) {
b.p5(function (c) {
a(c);
if (c.ei) {
c.p3(function (d) {
a(d);
return true;
});
}
return true;
});
}
if (b.ei) {
b.p3(function (c) {
a(c);
return true;
});
}
}
}
catch (e_1_1) {
e_1 = { error: e_1_1 };
}
finally {
try {
if (_c && !_c.done && (_a = _b.return))
_a.call(_b);
}
finally {
if (e_1)
throw e_1.error;
}
}
};
SeriesViewer.prototype.pw = function (a) {
this.oc(function (b) {
var c = a;
if (c.series != null && c.series != b) {
return;
}
if (c.item == null) {
b.pz();
}
else {
b.pu(c.item);
}
});
};
SeriesViewer.prototype.pu = function (a) {
this.oc(function (b) {
var c = a;
if (c.series != null && c.series != b) {
return;
}
if (c.item == null) {
b.px();
}
else {
b.ps(c.item);
}
});
};
SeriesViewer.prototype.oh = function () {
if (this.c4 != null && this.c5 == null) {
var a = this.c5;
a.thumbnailSizeChanged = delegateRemove(a.thumbnailSizeChanged, runOn(this, this.qw));
}
if (this.c5 != null) {
var b = this.c5;
b.thumbnailSizeChanged = delegateCombine(b.thumbnailSizeChanged, runOn(this, this.qw));
}
if (this.jq != null) {
this.c5.backgroundImageUri = this.jq;
}
if (this.c5 != null) {
this.c5.initializeScalingRatio(this.hp);
}
if (this.c4 == null && this.c5 != null) {
this.o0();
}
this.c4 = this.c5;
};
SeriesViewer.prototype.qw = function (a, b) {
var e_2, _a;
this.c5.surfaceIsDirty = true;
try {
for (var _b = __values(fromEnum(this.series)), _c = _b.next(); !_c.done; _c = _b.next()) {
var c = _c.value;
c.g1 = true;
}
}
catch (e_2_1) {
e_2 = { error: e_2_1 };
}
finally {
try {
if (_c && !_c.done && (_a = _b.return))
_a.call(_b);
}
finally {
if (e_2)
throw e_2.error;
}
}
};
SeriesViewer.prototype.get_fx = function () {
return false;
};
Object.defineProperty(SeriesViewer.prototype, "fx", {
get: function () {
return this.get_fx();
},
enumerable: false,
configurable: true
});
SeriesViewer.prototype.get_fw = function () {
return false;
};
Object.defineProperty(SeriesViewer.prototype, "fw", {
get: function () {
return this.get_fw();
},
enumerable: false,
configurable: true
});
SeriesViewer.prototype.oi = function () {
this.dc.co();
if (this.c5 != null) {
this.c5.initializeScalingRatio(this.hp);
}
};
Object.defineProperty(SeriesViewer.prototype, "series", {
get: function () {
return this.bs;
},
enumerable: false,
configurable: true
});
SeriesViewer.prototype.rv = function (a, b) {
var e_3, _a, e_4, _b, e_5, _c, e_6, _d;
var c = this.es;
this.es = this.ey();
if (b.oldItems != null) {
var d = this.i7;
try {
for (var _e = __values(fromEn(b.oldItems)), _f = _e.next(); !_f.done; _f = _e.next()) {
var e = _f.value;
if (e != null && e.eq) {
this.i7--;
if (this.i7 < 0) {
this.i7 = 0;
}
}
e.c4 = null;
e.dc = null;
this.rm(e);
this.dc.dy(e);
}
}
catch (e_3_1) {
e_3 = { error: e_3_1 };
}
finally {
try {
if (_f && !_f.done && (_a = _e.return))
_a.call(_e);
}
finally {
if (e_3)
throw e_3.error;
}
}
if (this.i7 < d) {
try {
for (var _g = __values(fromEnum(this.series)), _h = _g.next(); !_h.done; _h = _g.next()) {
var f = _h.value;
if (f.eu) {
continue;
}
f.pw();
}
}
catch (e_4_1) {
e_4 = { error: e_4_1 };
}
finally {
try {
if (_h && !_h.done && (_b = _g.return))
_b.call(_g);
}
finally {
if (e_4)
throw e_4.error;
}
}
}
}
if (b.newItems != null) {
var g = this.i7;
try {
for (var _j = __values(fromEn(b.newItems)), _k = _j.next(); !_k.done; _k = _j.next()) {
var h = _k.value;
if (h != null && h.eq) {
this.i7++;
}
if (!this.dc.aq(h)) {
this.r7(h);
this.dc.bp(h);
h.dc = this;
h.c4 = this.actualSyncLink;
h.st();
}
}
}
catch (e_5_1) {
e_5 = { error: e_5_1 };
}
finally {
try {
if (_k && !_k.done && (_c = _j.return))
_c.call(_j);
}
finally {
if (e_5)
throw e_5.error;
}
}
if (this.i7 > g) {
try {
for (var _l = __values(fromEnum(this.series)), _m = _l.next(); !_m.done; _m = _l.next()) {
var i = _m.value;
if (i.eu || b.newItems.contains(i)) {
continue;
}
i.pw();
}
}
catch (e_6_1) {
e_6 = { error: e_6_1 };
}
finally {
try {
if (_m && !_m.done && (_d = _l.return))
_d.call(_l);
}
finally {
if (e_6)
throw e_6.error;
}
}
}
}
if (this.es != c && !this.xb.isEmpty) {
this.qz(this.xb, this.xb);
}
this.oz();
this.o9();
this.pr();
this.ot();
};
Object.defineProperty(SeriesViewer.prototype, "b1", {
get: function () {
return this.b0;
},
set: function (a) {
this.b0 = a;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "b3", {
get: function () {
return this.b2;
},
set: function (a) {
this.b2 = a;
},
enumerable: false,
configurable: true
});
SeriesViewer.prototype.ok = function () {
this.o9();
};
SeriesViewer.prototype.o9 = function () {
};
Object.defineProperty(SeriesViewer.prototype, "skipDataCleanup", {
get: function () {
return this._skipDataCleanup;
},
set: function (a) {
this._skipDataCleanup = a;
},
enumerable: false,
configurable: true
});
SeriesViewer.prototype.rm = function (a) {
if (!this.skipDataCleanup) {
if (typeCast(Series.$, a) !== null) {
a.itemsSource = null;
}
else if (typeCast(CategoryAxisBase.$, a) !== null) {
a.itemsSource = null;
}
}
this.ro(a.name, true);
};
Object.defineProperty(SeriesViewer.prototype, "e0", {
get: function () {
return this.i7 > 0;
},
enumerable: false,
configurable: true
});
SeriesViewer.prototype.rw = function (a, b) {
var e_7, _a;
this.es = this.ey();
try {
for (var _b = __values(fromEnum(this.series)), _c = _b.next(); !_c.done; _c = _b.next()) {
var c = _c.value;
c.c4 = null;
c.dc = null;
this.rm(c);
this.dc.dy(c);
}
}
catch (e_7_1) {
e_7 = { error: e_7_1 };
}
finally {
try {
if (_c && !_c.done && (_a = _b.return))
_a.call(_b);
}
finally {
if (e_7)
throw e_7.error;
}
}
this.i7 = 0;
this.ot();
};
SeriesViewer.prototype.oo = function (a, b, c, d) {
var e = this.xb;
var f = e.width;
var g = e.height;
var h = 1;
var i = a / b;
if (isNaN_(h)) {
return {
p0: a,
p1: b
};
}
if (isNaN_(i) || c || d || Math.abs(h - i) > 0.0001) {
if (c && d) {
if (a > b) {
b = a / h;
}
else {
a = b * h;
}
}
else if (c) {
b = a / h;
}
else {
a = b * h;
}
}
if (b > 1) {
var j = 1 / b;
b = 1;
a = a * j;
}
if (a > 1) {
var k = 1 / a;
a = 1;
b = b * k;
}
return {
p0: a,
p1: b
};
};
SeriesViewer.prototype.ey = function () {
return false;
};
Object.defineProperty(SeriesViewer.prototype, "gc", {
get: function () {
return this.fn;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "fa", {
get: function () {
return this.bb != null;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "er", {
get: function () {
return this.bb != null;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "eq", {
get: function () {
return this.cg != 0 || this.ch != 0;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "ep", {
get: function () {
return this.er && this.eq;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "dn", {
get: function () {
var a = this.bc.f$e;
if (a.executionContext == null) {
a.executionContext = this.dc.l();
}
if (a.ensureAnimator == null) {
a.ensureAnimator = runOn(this, this.n6);
}
a.dismissHighlightDelay = this.jf;
return a;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "dp", {
get: function () {
var a = this.bc.f$f;
if (a.executionContext == null) {
a.executionContext = this.dc.l();
}
if (a.ensureAnimator == null) {
a.ensureAnimator = runOn(this, this.n7);
}
return a;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "dm", {
get: function () {
var a = this.bc.f$d;
if (a.executionContext == null) {
a.executionContext = this.dc.l();
}
if (a.ensureAnimator == null) {
a.ensureAnimator = runOn(this, this.n5);
}
return a;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "bd", {
get: function () {
var a = this.bc.f$b;
if (a.executionContext == null) {
a.executionContext = this.dc.l();
}
if (a.animator == null) {
a.animator = this.df;
a.owner = this;
}
return a;
},
enumerable: false,
configurable: true
});
SeriesViewer.prototype.n6 = function () {
{
var a = this.de;
if (!a.f() && a.r > 0) {
a.v();
}
if (a.r == 0) {
var b = this.gi(1);
while (b) {
b = this.gi(0);
b = this.gi(1);
}
}
}
};
SeriesViewer.prototype.n7 = function () {
{
var a = this.dg;
if (!a.f() && a.r > 0) {
a.v();
}
if (a.r == 0) {
var b = this.gj(1);
while (b) {
b = this.gj(0);
b = this.gj(1);
}
}
}
};
SeriesViewer.prototype.n5 = function () {
{
var a = this.dd;
if (!a.f() && a.r > 0) {
a.v();
}
if (a.r == 0) {
var b = this.gh(1);
while (b) {
b = this.gh(0);
b = this.gh(1);
}
}
}
};
SeriesViewer.prototype.og = function (a, b) {
this.gi(this.de.o);
};
SeriesViewer.prototype.ru = function (a, b) {
this.gj(this.dg.o);
};
SeriesViewer.prototype.ob = function (a, b) {
this.gh(this.dd.o);
};
SeriesViewer.prototype.gi = function (a) {
var b = this.dn.tick(a);
if (a == 1 && b && this.de.r > 0) {
this.de.v();
}
var c = this.dn.dirtyContexts;
if (this.dn.allDirty) {
var d = this.series;
for (var e = 0; e < d.count; e++) {
var f = d._inner[e];
f.q6();
}
}
else {
for (var g = 0; g < c.count; g++) {
var h = c._inner[g];
h.q6();
}
}
if (!b) {
this.de.w();
this.pq();
}
return b;
};
SeriesViewer.prototype.gj = function (a) {
var b = this.dp.tick(a);
if (a == 1 && b && this.dg.r > 0) {
this.dg.v();
}
var c = this.dp.dirtyContexts;
if (this.dp.allDirty) {
var d = this.series;
for (var e = 0; e < d.count; e++) {
var f = d._inner[e];
f.q6();
}
}
else {
for (var g = 0; g < c.count; g++) {
var h = c._inner[g];
h.q6();
}
}
if (!b) {
this.dg.w();
}
return b;
};
SeriesViewer.prototype.gh = function (a) {
var b = this.dm.tick(a);
if (a == 1 && b && this.dd.r > 0) {
this.dd.v();
}
var c = this.dm.dirtyContexts;
if (this.dm.allDirty) {
var d = this.series;
for (var e = 0; e < d.count; e++) {
var f = d._inner[e];
f.q6();
}
}
else {
for (var g = 0; g < c.count; g++) {
var h = c._inner[g];
h.q6();
}
}
if (!b) {
this.dd.w();
}
return b;
};
SeriesViewer.prototype.of = function () {
this.dc.ck();
this.oe();
for (var a = 0; a < this.series.count; a++) {
if (this.series._inner[a].eu) {
this.series._inner[a].p9();
}
}
};
SeriesViewer.prototype.vz = function (a) {
return this.vy(this.ag, a);
};
SeriesViewer.prototype.v5 = function (a) {
return this.vy(this.aj, a);
};
SeriesViewer.prototype.v3 = function (a) {
return this.vy(this.ah, a);
};
SeriesViewer.prototype.v4 = function (a) {
return this.vy(this.ai, a);
};
SeriesViewer.prototype.vy = function (a, b) {
if (a == null || a.count == 0) {
return null;
}
else {
return a.item(b % a.count);
}
};
Object.defineProperty(SeriesViewer.prototype, "wk", {
get: function () {
return this.wj;
},
set: function (a) {
if (PointUtil.notEquals(this.wj, a)) {
var b = this.wj;
this.wj = a;
this.q5("CrosshairPoint", b, this.wj);
}
},
enumerable: false,
configurable: true
});
SeriesViewer.prototype.ri = function () {
};
Object.defineProperty(SeriesViewer.prototype, "fd", {
get: function () {
return this.c3 == 1 || this.c3 == 2 || this.c3 == 3;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "legend", {
get: function () {
return this.c(SeriesViewer.t0);
},
set: function (a) {
this.h(SeriesViewer.t0, a);
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "en", {
get: function () {
return this.c(SeriesViewer.sx);
},
set: function (a) {
this.h(SeriesViewer.sx, a);
},
enumerable: false,
configurable: true
});
Object.defineProperty(SeriesViewer.prototype, "f6", {
get: function () {
return this.c(SeriesViewer.up);
},
set: function (a) {
this.h(SeriesViewer.up, a);
},
enumerable: false,
configurable: true
});
SeriesViewer.prototype.p6 = function (a, b) {
this.ea = false;
var c = false;
c = false;
if (this.dc.k.al) {
return;
}
if (this.plotAreaMouseLeftButtonDown != null) {
var d = this.bi(a, b, c);
this.plotAreaMouseLeftButtonDown(this, d);
}
};
SeriesViewer.prototype.bi = function (a, b, c) {
var d = { $type: Point_$type, x: a.x, y: a.y };
var e = { $type: Point_$type, x: a.x, y: a.y };
if (!this.xb.isEmpty) {
if (c) {
e.x -= this.xb.left;
e.y -= this.xb.top;
}
else {
d.x += this.xb.left;
d.y += this.xb.top;
}
}
var f = new PlotAreaMouseButtonEventArgs(this, d, e);
f.manipulationOccurred = this.ea;
return f;
};
SeriesViewer.prototype.bm = function (a, b, c) {
var d = { $type: Point_$type, x: a.x, y: a.y };
var e = { $type: Point_$type, x: a.x, y: a.y };
if (!this.xb.isEmpty) {
if (c) {
e.x -= this.xb.left;
e.y -= this.xb.top;
}
else {
d.x += this.xb.left;
d.y += this.xb.top;
}
}
var f = new PlotAreaMouseEventArgs(this, d, e);
return f;
};
SeriesViewer.prototype.p7 = function (a, b, c) {
var d = false;
d = false;
if (this.dc.k.al) {
return;
}
if (this.plotAreaMouseLeftButtonUp != null) {
var e = this.bi(a, b, d);
this.plotAreaMouseLeftButtonUp(this, e);
}
if (!this.ea && !c) {
if (this.plotAreaClicked != null) {
var f = this.bi(a, b, d);
this.plotAreaClicked(this, f);
}
}
this.ea = false;
};
Object.defineProperty(SeriesViewer.prototype, "fn", {
get: function () {
return this.c(SeriesViewer.tw);
},
set: function (a) {
this.h(SeriesViewer.tw, a);
},
enu