UNPKG

igniteui-react-charts

Version:

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

1,426 lines 740 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 { 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.wi = 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.fh) { return null; } return this.a9.getDesiredToolbarActions(this); } onToolCommandExecuting(a) { if (!this.fh) { return 1; } return this.a9.onToolCommandExecuting(this, a); } addCommandAvailabilityListener(a) { } removeCommandAvailabilityListener(a) { } addCommandStateChangedListener(a) { if (!this.go.contains(a)) { this.go.add(a); } } removeCommandStateChangedListener(a) { if (this.go.contains(a)) { this.go.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 gm() { return this.gl; } provideContextAccessor(a) { if (this.gl == null) { this.gl = new HashSet$1(IToolbarContextAccessor_$type, 0); } this.gl.add_1(a); } dismissContextAccessor(a) { if (this.gl == null) { return; } this.gl.remove(a); } n5() { 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 fh() { 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 e9() { return DVContainer.instance.checkLoaded("InteractivityFactoryManager"); } constructor() { super(); this._widget = null; this.c9 = null; this.ds = null; this.an = null; this.go = new List$1(ICommandStateChangedListener_$type, 0); this._commandCompleted = null; this._invalidateActions = null; this.gl = null; this.a8 = null; this.ba = null; this.eb = false; this.ea = false; this.c1 = null; this.br = new SeriesCollection(); this.iz = 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.vv = 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.jb = 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.v4 = Rect.empty; this.v2 = Rect.empty; this.dx = true; this.v1 = null; this.eg = false; this.iy = 30; this.fp = 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.me = null; this.viewerManipulationStarting = null; this.viewerManipulationEnding = null; this.ee = false; this.d9 = false; this.windowRectChanged = null; this.sizeChanged = null; this.e0 = false; this.actualWindowRectChanged = null; this.gridAreaRectChanged = null; this.es = false; this.g1 = 0.0001; this.g0 = 0.0001; this._syncChannel = null; this.cm = null; this.ga = false; this.ed = false; this.ez = false; this.gg = false; this.cq = 1; this.wp = null; this.i1 = 0; this.bq = null; this.ec = false; this.gb = false; this.v3 = Rect.empty; this._selectedSeriesItems = null; this._focusedSeriesItems = null; this.selectedSeriesItemsChanged = null; this.focusedSeriesItemsChanged = null; this.gv = new Date(); this.gj = false; this.refreshCompleted = null; this.jg = null; this.jf = null; this.u6 = null; this.u5 = null; this.hg = NaN; this.he = NaN; this.hf = NaN; this.hd = NaN; this.hc = NaN; this.ha = NaN; this.hb = NaN; this.g9 = NaN; this.jd = null; this.al = null; this.am = null; this.ak = null; this.d7 = false; this.dw = false; this._syncSettings = null; this.destroyed = false; this.ja = null; this.gk = new Dictionary$2(String_$type, Base.$, 0); this.fn = false; this.hh = NaN; this.g6 = NaN; this.g8 = NaN; this.g4 = NaN; this.g3 = 30; this.g2 = NaN; this.d2 = true; this.g7 = NaN; this.g5 = NaN; this.je = null; this.gx = 1; this.gw = NaN; this.v0 = null; this.ey = false; this.gy = 0; this.gz = 0; this.sc = null; this.az = null; this.e3 = false; this.e4 = false; this.e1 = false; this.d5 = false; this.i0 = 0; this.eo = false; this.e7 = false; this.seriesDataUpdated = null; this.gp = new List$1(IDataLegend_$type, 0); this.dv = null; this.seriesDataChanged = null; this.gs = null; this.imageCaptured = null; DVContainer.instance.registerIfLoaded("AnnotationFactoryManager"); DVContainer.instance.registerIfLoaded("InteractivityFactoryManager"); DVContainer.instance.registerIfLoaded("DataChartToolbarFactoryManager"); DVContainer.instance.registerIfLoaded("VisualDataFactoryManager"); this.v0 = Rect.empty; this.vv = { $type: Point_$type, x: NaN, y: NaN }; this.gv = dateNow(); this.e3 = false; this.e4 = false; this.al = new CanvasRenderScheduler(); this.al.a = runOn(this, this.nf); this.am = new CanvasRenderScheduler(); this.ak = new CanvasRenderScheduler(); SeriesViewer.wi = 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.p6(this.c9); this.c9.c4(); this.rn(); this.n0(); this.actualSyncLink = new SyncLink(); this.ru(null, this.actualSyncLink); this.ar = new ChartContentManager(this); this.propertyUpdated = delegateCombine(this.propertyUpdated, (a, b) => this.qi(a, b.propertyName, b.oldValue, b.newValue)); this.selectedSeriesItems = new ChartSelectedItemCollection(); let a = this.selectedSeriesItems; a.collectionChanged = delegateCombine(a.collectionChanged, runOn(this, this.pt)); let b = this.selectedSeriesItems; b.collectionResetting = delegateCombine(b.collectionResetting, runOn(this, this.ra)); this.focusedSeriesItems = new ChartSelectedItemCollection(); let c = this.focusedSeriesItems; c.collectionChanged = delegateCombine(c.collectionChanged, runOn(this, this.o6)); let d = this.focusedSeriesItems; d.collectionResetting = delegateCombine(d.collectionResetting, runOn(this, this.nt)); let e = this.series; e.collectionChanged = delegateCombine(e.collectionChanged, runOn(this, this.rc)); let f = this.series; f.collectionResetting = delegateCombine(f.collectionResetting, runOn(this, this.rd)); this.dc = new DoubleAnimator(0, 1, this.i7); this.db = new DoubleAnimator(0, 1, this.i6); let g = this.db; g.propertyChanged = delegateCombine(g.propertyChanged, runOn(this, this.nz)); this.dd = new DoubleAnimator(0, 1, this.i8); this.da = new DoubleAnimator(0, 1, this.i4); let h = this.dd; h.propertyChanged = delegateCombine(h.propertyChanged, runOn(this, this.rb)); let i = this.da; i.propertyChanged = delegateCombine(i.propertyChanged, runOn(this, this.nu)); this.c9.bx(); this.n2(); this.n1(); } ra(a, b) { for (let c = 0; c < this.selectedSeriesItems.count; c++) { this.pc(this.selectedSeriesItems._inner[c]); } } nt(a, b) { for (let c = 0; c < this.focusedSeriesItems.count; c++) { this.pb(this.focusedSeriesItems._inner[c]); } } pt(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.pc(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.pe(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.ps(this, new SeriesViewerSelectedSeriesItemsChangedEventArgs(i, k, m)); } o6(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.pb(d); } } if (b.newItems != null) { for (let e = 0; e < b.newItems.count; e++) { let f = b.newItems.item(e); this.pd(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.o5(this, new SeriesViewerSelectedSeriesItemsChangedEventArgs(g, i, k)); } pd(a) { this.nv((b) => { let c = a; if (c.series != null && c.series != b) { return; } b.pr(c.item); }); } pb(a) { this.nv((b) => { let c = a; if (c.series != null && c.series != b) { return; } b.pp(c.item); }); } nv(a) { for (let b of fromEnum(this.series)) { a(b); if (b.isStacked) { b.p3((c) => { a(c); if (c.eh) { c.p1((d) => { a(d); return true; }); } return true; }); } if (b.eh) { b.p1((c) => { a(c); return true; }); } } } pe(a) { this.nv((b) => { let c = a; if (c.series != null && c.series != b) { return; } if (c.item == null) { b.px(); } else { b.ps(c.item); } }); } pc(a) { this.nv((b) => { let c = a; if (c.series != null && c.series != b) { return; } if (c.item == null) { b.pv(); } else { b.pq(c.item); } }); } n0() { if (this.c1 != null && this.c2 == null) { let a = this.c2; a.thumbnailSizeChanged = delegateRemove(a.thumbnailSizeChanged, runOn(this, this.qe)); } if (this.c2 != null) { let b = this.c2; b.thumbnailSizeChanged = delegateCombine(b.thumbnailSizeChanged, runOn(this, this.qe)); } if (this.je != null) { this.c2.backgroundImageUri = this.je; } if (this.c2 != null) { this.c2.initializeScalingRatio(this.hj); } if (this.c1 == null && this.c2 != null) { this.oj(); } this.c1 = this.c2; } qe(a, b) { this.c2.surfaceIsDirty = true; for (let c of fromEnum(this.series)) { c.g0 = true; } } get_fs() { return false; } get fs() { return this.get_fs(); } get_fr() { return false; } get fr() { return this.get_fr(); } n1() { this.c9.co(); if (this.c2 != null) { this.c2.initializeScalingRatio(this.hj); } } get series() { return this.br; } rc(a, b) { let c = this.eo; this.eo = this.eu(); if (b.oldItems != null) { let d = this.iz; for (let e of fromEn(b.oldItems)) { if (e != null && e.ep) { this.iz--; if (this.iz < 0) { this.iz = 0; } } e.c4 = null; e.dc = null; this.q4(e); this.c9.dy(e); } if (this.iz < d) { for (let f of fromEnum(this.series)) { if (f.et) { continue; } f.pu(); } } } if (b.newItems != null) { let g = this.iz; for (let h of fromEn(b.newItems)) { if (h != null && h.ep) { this.iz++; } if (!this.c9.aq(h)) { this.ro(h); this.c9.bp(h); h.dc = this; h.c4 = this.actualSyncLink; h.sr(); } } if (this.iz > g) { for (let i of fromEnum(this.series)) { if (i.et || b.newItems.contains(i)) { continue; } i.pu(); } } } if (this.eo != c && !this.wn.isEmpty) { this.qh(this.wn, this.wn); } this.oi(); this.or(); this.o9(); this.oc(); } get b0() { return this.bz; } set b0(a) { this.bz = a; } get b2() { return this.b1; } set b2(a) { this.b1 = a; } n3() { this.or(); } or() { } get skipDataCleanup() { return this._skipDataCleanup; } set skipDataCleanup(a) { this._skipDataCleanup = a; } q4(a) { if (!this.skipDataCleanup) { if (typeCast(Series.$, a) !== null) { a.itemsSource = null; } else if (typeCast(CategoryAxisBase.$, a) !== null) { a.itemsSource = null; } } this.q6(a.name, true); } get ev() { return this.iz > 0; } rd(a, b) { this.eo = this.eu(); for (let c of fromEnum(this.series)) { c.c4 = null; c.dc = null; this.q4(c); this.c9.dy(c); } this.iz = 0; this.oc(); } n7(a, b, c, d) { let e = this.wn; 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 f7() { return this.fi; } get e5() { 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.np); } 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.nq); } 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.no); } 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; } np() { { let a = this.db; 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); } } } } nq() { { let a = this.dd; 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); } } } } no() { { let a = this.da; if (!a.f() && a.r > 0) { a.v(); } if (a.r == 0) { let b = this.gc(1); while (b) { b = this.gc(0); b = this.gc(1); } } } } nz(a, b) { this.gd(this.db.o); } rb(a, b) { this.ge(this.dd.o); } nu(a, b) { this.gc(this.da.o); } gd(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.q4(); } } else { for (let g = 0; g < c.count; g++) { let h = c._inner[g]; h.q4(); } } if (!b) { this.db.w(); this.o8(); } return b; } ge(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.q4(); } } else { for (let g = 0; g < c.count; g++) { let h = c._inner[g]; h.q4(); } } if (!b) { this.dd.w(); } return b; } gc(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.q4(); } } else { for (let g = 0; g < c.count; g++) { let h = c._inner[g]; h.q4(); } } if (!b) { this.da.w(); } return b; } ny() { this.c9.ck(); this.nx(); for (let a = 0; a < this.series.count; a++) { if (this.series._inner[a].et) { this.series._inner[a].p7(); } } } vb(a) { return this.va(this.ag, a); } vh(a) { return this.va(this.aj, a); } vf(a) { return this.va(this.ah, a); } vg(a) { return this.va(this.ai, a); } va(a, b) { if (a == null || a.count == 0) { return null; } else { return a.item(b % a.count); } } get vw() { return this.vv; } set vw(a) { if (PointUtil.notEquals(this.vv, a)) { let b = this.vv; this.vv = a; this.qn("CrosshairPoint", b, this.vv); } } q0() { } get e8() { return this.c0 == 1 || this.c0 == 2 || this.c0 == 3; } get legend() { return this.c(SeriesViewer.te); } set legend(a) { this.h(SeriesViewer.te, a); } get ej() { return this.c(SeriesViewer.se); } set ej(a) { this.h(SeriesViewer.se, a); } get f1() { return this.c(SeriesViewer.t1); } set f1(a) { this.h(SeriesViewer.t1, a); } po(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.wn.isEmpty) { if (c) { e.x -= this.wn.left; e.y -= this.wn.top; } else { d.x += this.wn.left; d.y += this.wn.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.wn.isEmpty) { if (c) { e.x -= this.wn.left; e.y -= this.wn.top; } else { d.x += this.wn.left; d.y += this.wn.top; } } let f = new PlotAreaMouseEventArgs(this, d, e); return f; } pp(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 fi() { return this.c(SeriesViewer.ta); } set fi(a) { this.h(SeriesViewer.ta, a); } get f6() { return this.c(SeriesViewer.t4); } set f6(a) { this.h(SeriesViewer.t4, a); } get by() { return EnumUtil.getEnumValue(SeriesHighlightingMode_$type, this.c(SeriesViewer.ss)); } set by(a) { this.h(SeriesViewer.ss, enumGetBox(SeriesHighlightingMode_$type, a)); } get cb() { return EnumUtil.getEnumValue(SeriesSelectionMode_$type, this.c(SeriesViewer.ty)); } set cb(a) { this.h(SeriesViewer.ty, enumGetBox(SeriesSelectionMode_$type, a)); } get b6() { return EnumUtil.getEnumValue(SeriesSelectionBehavior_$type, this.c(SeriesViewer.tw)); } set b6(a) { this.h(SeriesViewer.tw, enumGetBox(SeriesSelectionBehavior_$type, a)); } get b9() { return EnumUtil.getEnumValue(SeriesSelectionMode_$type, this.c(SeriesViewer.sm)); } set b9(a) { this.h(SeriesViewer.sm, enumGetBox(SeriesSelectionMode_$type, a)); } get ch() { return EnumUtil.getEnumValue(SeriesViewerScrollbarMode_$type, this.c(SeriesViewer.s0)); } set ch(a) { this.h(SeriesViewer.s0, enumGetBox(SeriesViewerScrollbarMode_$type, a)); } get ci() { return EnumUtil.getEnumValue(SeriesViewerScrollbarMode_$type, this.c(SeriesViewer.ui)); } set ci(a) { this.h(SeriesViewer.ui, enumGetBox(SeriesViewerScrollbarMode_$type, a)); } get ce() { return EnumUtil.getEnumValue(SeriesViewerHorizontalScrollbarPosition_$type, this.c(SeriesViewer.s2)); } set ce(a) { this.h(SeriesViewer.s2, enumGetBox(SeriesViewerHorizontalScrollbarPosition_$type, a)); } get cl() { return EnumUtil.getEnumValue(SeriesViewerVerticalScrollbarPosition_$type, this.c(SeriesViewer.uk)); } set cl(a) { this.h(SeriesViewer.uk, enumGetBox(SeriesViewerVerticalScrollbarPosition_$type, a)); } get vj() { return this.c(SeriesViewer.sw); } set vj(a) { this.h(SeriesViewer.sw, a); } get vk() { return this.c(SeriesViewer.s1); } set vk(a) { this.h(SeriesViewer.s1, a); } get hz() { return this.c(SeriesViewer.s4); } set hz(a) { this.h(SeriesViewer.s4, a); } get hy() { return this.c(SeriesViewer.sz); } set hy(a) { this.h(SeriesViewer.sz, a); } get hv() { return this.c(SeriesViewer.sv); } set hv(a) { this.h(SeriesViewer.sv, a); } get hw() { return this.c(SeriesViewer.sx); } set hw(a) { this.h(SeriesViewer.sx, a); } get hx() { return this.c(SeriesViewer.sy); } set hx(a) { this.h(SeriesViewer.sy, a); } get h1() { return this.c(SeriesViewer.s6); } set h1(a) { this.h(SeriesViewer.s6, a); } get h0() { return this.c(SeriesViewer.s5); } set h0(a) { this.h(SeriesViewer.s5, a); } get ex() { return this.c(SeriesViewer.s3); } set ex(a) { this.h(SeriesViewer.s3, a); } get vt() { return this.c(SeriesViewer.uf); } set vt(a) { this.h(SeriesViewer.uf, a); } get vu() { return this.c(SeriesViewer.uj); } set vu(a) { this.h(SeriesViewer.uj, a); } get im() { return this.c(SeriesViewer.um); } set im(a) { this.h(SeriesViewer.um, a); } get il() { return this.c(SeriesViewer.uh); } set il(a) { this.h(SeriesViewer.uh, a); } get ij() { return this.c(SeriesViewer.ue); } set ij(a) { this.h(SeriesViewer.ue, a); } get iq() { return this.c(SeriesViewer.up); } set iq(a) { this.h(SeriesViewer.up, a); } nf() { if (!this.al.g && !this.al.f && !this.c9.a.g && !this.c9.a.f) { this.pr(); } } pr() { this.nd(); } get ik() { return this.c(SeriesViewer.ug); } set ik(a) { this.h(SeriesViewer.ug, a); } get ip() { return this.c(SeriesViewer.uo); } set ip(a) { this.h(SeriesViewer.uo, a); } get io() { return this.c(SeriesViewer.un); } set io(a) { this.h(SeriesViewer.un, a); } get gi() { return this.c(SeriesViewer.ul); } set gi(a) { this.h(SeriesViewer.ul, 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.sr)); } set bw(a) { this.h(SeriesViewer.sr, enumGetBox(SeriesHighlightingBehavior_$type, a)); } get bd() { return EnumUtil.getEnumValue(LegendHighlightingMode_$type, this.c(SeriesViewer.tb)); } set bd(a) { this.h(SeriesViewer.tb, enumGetBox(LegendHighlightingMode_$type, a)); } get bf() { return EnumUtil.getEnumValue(LegendItemBadgeShape_$type, this.c(SeriesViewer.td)); } set bf(a) { this.h(SeriesViewer.td, enumGetBox(LegendItemBadgeShape_$type, a)); } get be() { return EnumUtil.getEnumValue(LegendItemBadgeMode_$type, this.c(SeriesViewer.tc)); } set be(a) { this.h(SeriesViewer.tc, enumGetBox(LegendItemBadgeMode_$type, a)); } qn(a, b, c) { if (this.propertyChanged != null) { this.propertyChanged(this, new PropertyChangedEventArgs(a)); } if (this.propertyUpdated != null) { this.propertyUpdated(this, new PropertyUpdatedEventArgs(a, b, c)); } } pf() { this.pg(this.series); } pg(a) { for (let b of fromEn(a)) { let c = b.