UNPKG

igniteui-react-charts

Version:

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

1,426 lines (1,425 loc) 744 kB
/* 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 { 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 { 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 } from "igniteui-react-core"; import { stringIsNullOrEmpty, stringEmpty, stringEndsWith, stringStartsWith, stringIsNullOrWhiteSpace } 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 */ export let SeriesViewer = /*@__PURE__*/ (() => { class SeriesViewer extends Control { get widget() { return this._widget; } set widget(a) { this._widget = a; } static staticInit() { SeriesViewer.wu = new Rect(0, 0, 0, 1, 1); } get dt() { if (this.ds == null) { this.ds = new SRProvider(this.c9.j.ae); } return this.ds; } ao(a) { if (this.an == null) { this.an = new AutomaticSeriesManager(this); } return this.an; } getDesiredToolbarActions() { if (!this.fi) { return null; } return this.a9.getDesiredToolbarActions(this); } onToolCommandExecuting(a) { if (!this.fi) { return 1; } return this.a9.onToolCommandExecuting(this, a); } addCommandAvailabilityListener(a) { } removeCommandAvailabilityListener(a) { } addCommandStateChangedListener(a) { if (!this.gp.contains(a)) { this.gp.add(a); } } removeCommandStateChangedListener(a) { if (this.gp.contains(a)) { this.gp.remove(a); } } get commandCompleted() { return this._commandCompleted; } set commandCompleted(a) { this._commandCompleted = a; } get invalidateActions() { return this._invalidateActions; } set invalidateActions(a) { this._invalidateActions = a; } get gn() { return this.gm; } provideContextAccessor(a) { if (this.gm == null) { this.gm = new HashSet$1(IToolbarContextAccessor_$type, 0); } this.gm.add_1(a); } dismissContextAccessor(a) { if (this.gm == null) { return; } this.gm.remove(a); } od() { if (this.invalidateActions != null) { this.invalidateActions(); } } get a9() { if (this.a8 == null) { this.a8 = DVContainer.instance.createInstance(IDataChartToolbarProvider_$type, () => this.dt.n); this.a8.container = this.c9.bi; } return this.a8; } get fi() { return DVContainer.instance.checkLoaded("DataChartToolbarFactoryManager"); } get bb() { if (this.ba == null) { this.ba = DVContainer.instance.createInstance(ISeriesViewerInteractionManager_$type, () => this.dt.n); } return this.ba; } get fa() { return DVContainer.instance.checkLoaded("InteractivityFactoryManager"); } constructor() { super(); this._widget = null; this.c9 = null; this.ds = null; this.an = null; this.gp = new List$1(ICommandStateChangedListener_$type, 0); this._commandCompleted = null; this._invalidateActions = null; this.gm = null; this.a8 = null; this.ba = null; this.eb = false; this.ea = false; this.c1 = null; this.br = new SeriesCollection(); this.i0 = 0; this.bz = 0; this.b1 = 0; this._skipDataCleanup = false; this.db = null; this.dd = null; this.da = null; this.dc = null; this.ar = null; this.v7 = null; this.plotAreaMouseLeftButtonDown = null; this.plotAreaMouseLeftButtonUp = null; this.plotAreaClicked = null; this.plotAreaMouseEnter = null; this.plotAreaMouseLeave = null; this.plotAreaMouseOver = null; this.cf = 0; this.cg = 0; this.bu = 1; this.b7 = 1; this.b3 = 3; this.propertyChanged = null; this.propertyUpdated = null; this.jf = null; this.d6 = false; this.seriesCursorMouseMove = null; this.seriesMouseLeftButtonDown = null; this.seriesMouseLeftButtonUp = null; this.seriesClick = null; this.seriesMouseMove = null; this.seriesMouseEnter = null; this.seriesMouseLeave = null; this.d0 = false; this.dz = false; this.wg = Rect.empty; this.we = Rect.empty; this.dx = true; this.wd = null; this.eg = false; this.iz = 30; this.fq = false; this.ei = false; this.cc = new SeriesViewerComponentsForView(); this.d4 = false; this.at = 0; this.as = 1; this.seriesAnimating = null; this.du = new VersionQueueHelper(); this.d3 = false; this.d1 = false; this.cv = 0; this.d8 = false; this.eq = false; this.dy = false; this.mm = null; this.viewerManipulationStarting = null; this.viewerManipulationEnding = null; this.ee = false; this.d9 = false; this.windowRectChanged = null; this.sizeChanged = null; this.e1 = false; this.actualWindowRectChanged = null; this.gridAreaRectChanged = null; this.es = false; this.g2 = 0.0001; this.g1 = 0.0001; this._syncChannel = null; this.cm = null; this.gb = false; this.ed = false; this.e0 = false; this.gh = false; this.cq = 1; this.w1 = null; this.i2 = 0; this.bq = null; this.ec = false; this.gc = false; this.wf = Rect.empty; this._selectedSeriesItems = null; this._focusedSeriesItems = null; this.selectedSeriesItemsChanged = null; this.focusedSeriesItemsChanged = null; this.gw = new Date(); this.gk = false; this.refreshCompleted = null; this.jk = null; this.jj = null; this.vi = null; this.vh = null; this.hh = NaN; this.hf = NaN; this.hg = NaN; this.he = NaN; this.hd = NaN; this.hb = NaN; this.hc = NaN; this.ha = NaN; this.jh = null; this.al = null; this.am = null; this.ak = null; this.d7 = false; this.dw = false; this._syncSettings = null; this.destroyed = false; this.je = null; this.gl = new Dictionary$2(String_$type, Base.$, 0); this.fo = false; this.hi = NaN; this.g7 = NaN; this.g9 = NaN; this.g5 = NaN; this.g4 = 30; this.g3 = NaN; this.d2 = true; this.g8 = NaN; this.g6 = NaN; this.ji = null; this.gy = 1; this.gx = NaN; this.wc = null; this.ez = false; this.gz = 0; this.g0 = 0; this.sk = null; this.az = null; this.e4 = false; this.e5 = false; this.e2 = false; this.d5 = false; this.i1 = 0; this.eo = false; this.e8 = false; this.seriesDataUpdated = null; this.gq = new List$1(IDataLegend_$type, 0); this.dv = null; this.seriesDataChanged = null; this.gt = null; this.imageCaptured = null; DVContainer.instance.registerIfLoaded("AnnotationFactoryManager"); DVContainer.instance.registerIfLoaded("InteractivityFactoryManager"); DVContainer.instance.registerIfLoaded("DataChartToolbarFactoryManager"); DVContainer.instance.registerIfLoaded("VisualDataFactoryManager"); this.wc = Rect.empty; this.v7 = { $type: Point_$type, x: NaN, y: NaN }; this.gw = dateNow(); this.e4 = false; this.e5 = false; this.al = new CanvasRenderScheduler(); this.al.a = runOn(this, this.nn); this.am = new CanvasRenderScheduler(); this.ak = new CanvasRenderScheduler(); SeriesViewer.wu = new Rect(0, 0, 0, 1, 1); this.syncSettings = ((() => { let $ret = new SyncSettings(); $ret.synchronizeHorizontally = true; $ret.synchronizeVertically = true; return $ret; })()); this.c9 = this.c8(); this.qe(this.c9); this.c9.c4(); this.rv(); this.n8(); this.actualSyncLink = new SyncLink(); this.r2(null, this.actualSyncLink); this.ar = new ChartContentManager(this); this.propertyUpdated = delegateCombine(this.propertyUpdated, (a, b) => this.qq(a, b.propertyName, b.oldValue, b.newValue)); this.selectedSeriesItems = new ChartSelectedItemCollection(); let a = this.selectedSeriesItems; a.collectionChanged = delegateCombine(a.collectionChanged, runOn(this, this.p1)); let b = this.selectedSeriesItems; b.collectionResetting = delegateCombine(b.collectionResetting, runOn(this, this.ri)); this.focusedSeriesItems = new ChartSelectedItemCollection(); let c = this.focusedSeriesItems; c.collectionChanged = delegateCombine(c.collectionChanged, runOn(this, this.pe)); let d = this.focusedSeriesItems; d.collectionResetting = delegateCombine(d.collectionResetting, runOn(this, this.n1)); let e = this.series; e.collectionChanged = delegateCombine(e.collectionChanged, runOn(this, this.rk)); let f = this.series; f.collectionResetting = delegateCombine(f.collectionResetting, runOn(this, this.rl)); this.dc = new DoubleAnimator(0, 1, this.ja); this.db = new DoubleAnimator(0, 1, this.i9); let g = this.db; g.propertyChanged = delegateCombine(g.propertyChanged, runOn(this, this.n7)); this.dd = new DoubleAnimator(0, 1, this.jc); this.da = new DoubleAnimator(0, 1, this.i6); let h = this.dd; h.propertyChanged = delegateCombine(h.propertyChanged, runOn(this, this.rj)); let i = this.da; i.propertyChanged = delegateCombine(i.propertyChanged, runOn(this, this.n2)); this.c9.bx(); this.oa(); this.n9(); } ri(a, b) { for (let c = 0; c < this.selectedSeriesItems.count; c++) { this.pk(this.selectedSeriesItems._inner[c]); } } n1(a, b) { for (let c = 0; c < this.focusedSeriesItems.count; c++) { this.pj(this.focusedSeriesItems._inner[c]); } } p1(a, b) { if (b.action == 4 && b.newItems == null && b.oldItems == null) { return; } if (this.eb) { return; } if (b.oldItems != null) { for (let c = 0; c < b.oldItems.count; c++) { let d = b.oldItems.item(c); this.pk(d); } } if (b.newItems != null) { for (let e = 0; e < b.newItems.count; e++) { let f = b.newItems.item(e); f.g(this); } for (let g = 0; g < b.newItems.count; g++) { let h = b.newItems.item(g); this.pm(h); } } let i = new ChartSelectedItemCollection(); if (b.oldItems != null) { for (let j = 0; j < b.oldItems.count; j++) { i.add(b.oldItems.item(j)); } } let k = new ChartSelectedItemCollection(); if (b.newItems != null) { for (let l = 0; l < b.newItems.count; l++) { k.add(b.newItems.item(l)); } } let m = this.selectedSeriesItems; this.p0(this, new SeriesViewerSelectedSeriesItemsChangedEventArgs(i, k, m)); } pe(a, b) { if (b.action == 4 && b.newItems == null && b.oldItems == null) { return; } if (this.ea) { return; } if (b.oldItems != null) { for (let c = 0; c < b.oldItems.count; c++) { let d = b.oldItems.item(c); this.pj(d); } } if (b.newItems != null) { for (let e = 0; e < b.newItems.count; e++) { let f = b.newItems.item(e); this.pl(f); } } let g = new ChartSelectedItemCollection(); if (b.oldItems != null) { for (let h = 0; h < b.oldItems.count; h++) { g.add(b.oldItems.item(h)); } } let i = new ChartSelectedItemCollection(); if (b.newItems != null) { for (let j = 0; j < b.newItems.count; j++) { i.add(b.newItems.item(j)); } } let k = this.selectedSeriesItems; this.pd(this, new SeriesViewerSelectedSeriesItemsChangedEventArgs(g, i, k)); } pl(a) { this.n3((b) => { let c = a; if (c.series != null && c.series != b) { return; } b.pt(c.item); }); } pj(a) { this.n3((b) => { let c = a; if (c.series != null && c.series != b) { return; } b.pr(c.item); }); } n3(a) { for (let b of fromEnum(this.series)) { a(b); if (b.isStacked) { b.p5((c) => { a(c); if (c.ei) { c.p3((d) => { a(d); return true; }); } return true; }); } if (b.ei) { b.p3((c) => { a(c); return true; }); } } } pm(a) { this.n3((b) => { let c = a; if (c.series != null && c.series != b) { return; } if (c.item == null) { b.pz(); } else { b.pu(c.item); } }); } pk(a) { this.n3((b) => { let c = a; if (c.series != null && c.series != b) { return; } if (c.item == null) { b.px(); } else { b.ps(c.item); } }); } n8() { if (this.c1 != null && this.c2 == null) { let a = this.c2; a.thumbnailSizeChanged = delegateRemove(a.thumbnailSizeChanged, runOn(this, this.qm)); } if (this.c2 != null) { let b = this.c2; b.thumbnailSizeChanged = delegateCombine(b.thumbnailSizeChanged, runOn(this, this.qm)); } if (this.ji != null) { this.c2.backgroundImageUri = this.ji; } if (this.c2 != null) { this.c2.initializeScalingRatio(this.hk); } if (this.c1 == null && this.c2 != null) { this.or(); } this.c1 = this.c2; } qm(a, b) { this.c2.surfaceIsDirty = true; for (let c of fromEnum(this.series)) { c.g1 = true; } } get_ft() { return false; } get ft() { return this.get_ft(); } get_fs() { return false; } get fs() { return this.get_fs(); } n9() { this.c9.co(); if (this.c2 != null) { this.c2.initializeScalingRatio(this.hk); } } get series() { return this.br; } rk(a, b) { let c = this.eo; this.eo = this.eu(); if (b.oldItems != null) { let d = this.i0; for (let e of fromEn(b.oldItems)) { if (e != null && e.eq) { this.i0--; if (this.i0 < 0) { this.i0 = 0; } } e.c4 = null; e.dc = null; this.rc(e); this.c9.dy(e); } if (this.i0 < d) { for (let f of fromEnum(this.series)) { if (f.eu) { continue; } f.pw(); } } } if (b.newItems != null) { let g = this.i0; for (let h of fromEn(b.newItems)) { if (h != null && h.eq) { this.i0++; } if (!this.c9.aq(h)) { this.rw(h); this.c9.bp(h); h.dc = this; h.c4 = this.actualSyncLink; h.st(); } } if (this.i0 > g) { for (let i of fromEnum(this.series)) { if (i.eu || b.newItems.contains(i)) { continue; } i.pw(); } } } if (this.eo != c && !this.wz.isEmpty) { this.qp(this.wz, this.wz); } this.oq(); this.oz(); this.ph(); this.ok(); } get b0() { return this.bz; } set b0(a) { this.bz = a; } get b2() { return this.b1; } set b2(a) { this.b1 = a; } ob() { this.oz(); } oz() { } get skipDataCleanup() { return this._skipDataCleanup; } set skipDataCleanup(a) { this._skipDataCleanup = a; } rc(a) { if (!this.skipDataCleanup) { if (typeCast(Series.$, a) !== null) { a.itemsSource = null; } else if (typeCast(CategoryAxisBase.$, a) !== null) { a.itemsSource = null; } } this.re(a.name, true); } get ew() { return this.i0 > 0; } rl(a, b) { this.eo = this.eu(); for (let c of fromEnum(this.series)) { c.c4 = null; c.dc = null; this.rc(c); this.c9.dy(c); } this.i0 = 0; this.ok(); } of(a, b, c, d) { let e = this.wz; let f = e.width; let g = e.height; let h = 1; let 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) { let j = 1 / b; b = 1; a = a * j; } if (a > 1) { let k = 1 / a; a = 1; b = b * k; } return { p0: a, p1: b }; } eu() { return false; } get f8() { return this.fj; } get e6() { return this.ba != null; } get en() { return this.ba != null; } get em() { return this.cf != 0 || this.cg != 0; } get el() { return this.en && this.em; } get dk() { let a = this.bb.f$e; if (a.executionContext == null) { a.executionContext = this.c9.l(); } if (a.ensureAnimator == null) { a.ensureAnimator = runOn(this, this.nx); } a.dismissHighlightDelay = this.i8; return a; } get dl() { let a = this.bb.f$f; if (a.executionContext == null) { a.executionContext = this.c9.l(); } if (a.ensureAnimator == null) { a.ensureAnimator = runOn(this, this.ny); } return a; } get dj() { let a = this.bb.f$d; if (a.executionContext == null) { a.executionContext = this.c9.l(); } if (a.ensureAnimator == null) { a.ensureAnimator = runOn(this, this.nw); } return a; } get bc() { let a = this.bb.f$b; if (a.executionContext == null) { a.executionContext = this.c9.l(); } if (a.animator == null) { a.animator = this.dc; a.owner = this; } return a; } nx() { { let a = this.db; if (!a.f() && a.r > 0) { a.v(); } if (a.r == 0) { let b = this.ge(1); while (b) { b = this.ge(0); b = this.ge(1); } } } } ny() { { let a = this.dd; if (!a.f() && a.r > 0) { a.v(); } if (a.r == 0) { let b = this.gf(1); while (b) { b = this.gf(0); b = this.gf(1); } } } } nw() { { let a = this.da; if (!a.f() && a.r > 0) { a.v(); } if (a.r == 0) { let b = this.gd(1); while (b) { b = this.gd(0); b = this.gd(1); } } } } n7(a, b) { this.ge(this.db.o); } rj(a, b) { this.gf(this.dd.o); } n2(a, b) { this.gd(this.da.o); } ge(a) { let b = this.dk.tick(a); if (a == 1 && b && this.db.r > 0) { this.db.v(); } let c = this.dk.dirtyContexts; if (this.dk.allDirty) { let d = this.series; for (let e = 0; e < d.count; e++) { let f = d._inner[e]; f.q6(); } } else { for (let g = 0; g < c.count; g++) { let h = c._inner[g]; h.q6(); } } if (!b) { this.db.w(); this.pg(); } return b; } gf(a) { let b = this.dl.tick(a); if (a == 1 && b && this.dd.r > 0) { this.dd.v(); } let c = this.dl.dirtyContexts; if (this.dl.allDirty) { let d = this.series; for (let e = 0; e < d.count; e++) { let f = d._inner[e]; f.q6(); } } else { for (let g = 0; g < c.count; g++) { let h = c._inner[g]; h.q6(); } } if (!b) { this.dd.w(); } return b; } gd(a) { let b = this.dj.tick(a); if (a == 1 && b && this.da.r > 0) { this.da.v(); } let c = this.dj.dirtyContexts; if (this.dj.allDirty) { let d = this.series; for (let e = 0; e < d.count; e++) { let f = d._inner[e]; f.q6(); } } else { for (let g = 0; g < c.count; g++) { let h = c._inner[g]; h.q6(); } } if (!b) { this.da.w(); } return b; } n6() { this.c9.ck(); this.n5(); for (let a = 0; a < this.series.count; a++) { if (this.series._inner[a].eu) { this.series._inner[a].p9(); } } } vn(a) { return this.vm(this.ag, a); } vt(a) { return this.vm(this.aj, a); } vr(a) { return this.vm(this.ah, a); } vs(a) { return this.vm(this.ai, a); } vm(a, b) { if (a == null || a.count == 0) { return null; } else { return a.item(b % a.count); } } get v8() { return this.v7; } set v8(a) { if (PointUtil.notEquals(this.v7, a)) { let b = this.v7; this.v7 = a; this.qv("CrosshairPoint", b, this.v7); } } q8() { } get e9() { return this.c0 == 1 || this.c0 == 2 || this.c0 == 3; } get legend() { return this.c(SeriesViewer.tp); } set legend(a) { this.h(SeriesViewer.tp, a); } get ej() { return this.c(SeriesViewer.sm); } set ej(a) { this.h(SeriesViewer.sm, a); } get f2() { return this.c(SeriesViewer.ud); } set f2(a) { this.h(SeriesViewer.ud, a); } pw(a, b) { this.d6 = false; let c = false; c = false; if (this.c9.k.al) { return; } if (this.plotAreaMouseLeftButtonDown != null) { let d = this.bh(a, b, c); this.plotAreaMouseLeftButtonDown(this, d); } } bh(a, b, c) { let d = { $type: Point_$type, x: a.x, y: a.y }; let e = { $type: Point_$type, x: a.x, y: a.y }; if (!this.wz.isEmpty) { if (c) { e.x -= this.wz.left; e.y -= this.wz.top; } else { d.x += this.wz.left; d.y += this.wz.top; } } let f = new PlotAreaMouseButtonEventArgs(this, d, e); f.manipulationOccurred = this.d6; return f; } bl(a, b, c) { let d = { $type: Point_$type, x: a.x, y: a.y }; let e = { $type: Point_$type, x: a.x, y: a.y }; if (!this.wz.isEmpty) { if (c) { e.x -= this.wz.left; e.y -= this.wz.top; } else { d.x += this.wz.left; d.y += this.wz.top; } } let f = new PlotAreaMouseEventArgs(this, d, e); return f; } px(a, b, c) { let d = false; d = false; if (this.c9.k.al) { return; } if (this.plotAreaMouseLeftButtonUp != null) { let e = this.bh(a, b, d); this.plotAreaMouseLeftButtonUp(this, e); } if (!this.d6 && !c) { if (this.plotAreaClicked != null) { let f = this.bh(a, b, d); this.plotAreaClicked(this, f); } } this.d6 = false; } get fj() { return this.c(SeriesViewer.tl); } set fj(a) { this.h(SeriesViewer.tl, a); } get f7() { return this.c(SeriesViewer.ug); } set f7(a) { this.h(SeriesViewer.ug, a); } get by() { return EnumUtil.getEnumValue(SeriesHighlightingMode_$type, this.c(SeriesViewer.s3)); } set by(a) { this.h(SeriesViewer.s3, enumGetBox(SeriesHighlightingMode_$type, a)); } get cb() { return EnumUtil.getEnumValue(SeriesSelectionMode_$type, this.c(SeriesViewer.ua)); } set cb(a) { this.h(SeriesViewer.ua, enumGetBox(SeriesSelectionMode_$type, a)); } get b6() { return EnumUtil.getEnumValue(SeriesSelectionBehavior_$type, this.c(SeriesViewer.t7)); } set b6(a) { this.h(SeriesViewer.t7, enumGetBox(SeriesSelectionBehavior_$type, a)); } get b9() { return EnumUtil.getEnumValue(SeriesSelectionMode_$type, this.c(SeriesViewer.sw)); } set b9(a) { this.h(SeriesViewer.sw, enumGetBox(SeriesSelectionMode_$type, a)); } get ch() { return EnumUtil.getEnumValue(SeriesViewerScrollbarMode_$type, this.c(SeriesViewer.tb)); } set ch(a) { this.h(SeriesViewer.tb, enumGetBox(SeriesViewerScrollbarMode_$type, a)); } get ci() { return EnumUtil.getEnumValue(SeriesViewerScrollbarMode_$type, this.c(SeriesViewer.uu)); } set ci(a) { this.h(SeriesViewer.uu, enumGetBox(SeriesViewerScrollbarMode_$type, a)); } get ce() { return EnumUtil.getEnumValue(SeriesViewerHorizontalScrollbarPosition_$type, this.c(SeriesViewer.td)); } set ce(a) { this.h(SeriesViewer.td, enumGetBox(SeriesViewerHorizontalScrollbarPosition_$type, a)); } get cl() { return EnumUtil.getEnumValue(SeriesViewerVerticalScrollbarPosition_$type, this.c(SeriesViewer.uw)); } set cl(a) { this.h(SeriesViewer.uw, enumGetBox(SeriesViewerVerticalScrollbarPosition_$type, a)); } get vv() { return this.c(SeriesViewer.s7); } set vv(a) { this.h(SeriesViewer.s7, a); } get vw() { return this.c(SeriesViewer.tc); } set vw(a) { this.h(SeriesViewer.tc, a); } get h0() { return this.c(SeriesViewer.tf); } set h0(a) { this.h(SeriesViewer.tf, a); } get hz() { return this.c(SeriesViewer.ta); } set hz(a) { this.h(SeriesViewer.ta, a); } get hw() { return this.c(SeriesViewer.s6); } set hw(a) { this.h(SeriesViewer.s6, a); } get hx() { return this.c(SeriesViewer.s8); } set hx(a) { this.h(SeriesViewer.s8, a); } get hy() { return this.c(SeriesViewer.s9); } set hy(a) { this.h(SeriesViewer.s9, a); } get h2() { return this.c(SeriesViewer.th); } set h2(a) { this.h(SeriesViewer.th, a); } get h1() { return this.c(SeriesViewer.tg); } set h1(a) { this.h(SeriesViewer.tg, a); } get ey() { return this.c(SeriesViewer.te); } set ey(a) { this.h(SeriesViewer.te, a); } get v5() { return this.c(SeriesViewer.ur); } set v5(a) { this.h(SeriesViewer.ur, a); } get v6() { return this.c(SeriesViewer.uv); } set v6(a) { this.h(SeriesViewer.uv, a); } get io() { return this.c(SeriesViewer.uy); } set io(a) { this.h(SeriesViewer.uy, a); } get im() { return this.c(SeriesViewer.ut); } set im(a) { this.h(SeriesViewer.ut, a); } get ik() { return this.c(SeriesViewer.uq); } set ik(a) { this.h(SeriesViewer.uq, a); } get ir() { return this.c(SeriesViewer.u1); } set ir(a) { this.h(SeriesViewer.u1, a); } nn() { if (!this.al.g && !this.al.f && !this.c9.a.g && !this.c9.a.f) { this.pz(); } } pz() { this.nl(); } get il() { return this.c(SeriesViewer.us); } set il(a) { this.h(SeriesViewer.us, a); } get iq() { return this.c(SeriesViewer.u0); } set iq(a) { this.h(SeriesViewer.u0, a); } get ip() { return this.c(SeriesViewer.uz); } set ip(a) { this.h(SeriesViewer.uz, a); } get gj() { return this.c(SeriesViewer.ux); } set gj(a) { this.h(SeriesViewer.ux, a); } ca() { if (this.cb == 0) { return 1; } return this.cb; } b5() { if (this.b6 == 0) { return 3; } return this.b6; } bx() { if (this.bw == 0) { return 1; } if (this.by == 3 || this.by == 5) { if (this.bw == 2) { return 4; } } return this.bw; } get bv() { return this.bu; } get b8() { return this.b7; } get b4() { return this.b3; } get bw() { return EnumUtil.getEnumValue(SeriesHighlightingBehavior_$type, this.c(SeriesViewer.s1)); } set bw(a) { this.h(SeriesViewer.s1, enumGetBox(SeriesHighlightingBehavior_$type, a)); } get bd() { return EnumUtil.getEnumValue(LegendHighlightingMode_$type, this.c(SeriesViewer.tm)); } set bd(a) { this.h(SeriesViewer.tm, enumGetBox(LegendHighlightingMode_$type, a)); } get bf() { return EnumUtil.getEnumValue(LegendItemBadgeShape_$type, this.c(SeriesViewer.to)); } set bf(a) { this.h(SeriesViewer.to, enumGetBox(LegendItemBadgeShape_$type, a)); } get be() { return EnumUtil.getEnumValue(LegendItemBadgeMode_$type, this.c(SeriesViewer.tn)); } set be(a) { this.h(SeriesViewer.tn, enumGetBox(LegendItemBadgeMode_$type, a)); } get ev() { return this.c(SeriesViewer.st); } set ev(a) { this.h(SeriesViewer.st, a); } qv(a, b, c) { if (this.propertyChanged != null) { this.propertyChanged(this, new PropertyChangedEventArgs(a)); } if (this.propertyUpdated != null) {