UNPKG

igniteui-angular-charts

Version:

Ignite UI Angular charting components for building rich data visualizations for modern web apps.

656 lines (655 loc) 24.1 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 { AnnotationLayer } from "./AnnotationLayer"; import { Series } from "./Series"; import { DependencyProperty } from "igniteui-angular-core"; import { CategoryItemHighlightType_$type } from "./CategoryItemHighlightType"; import { MarkerType_$type } from "./MarkerType"; import { Brush } from "igniteui-angular-core"; import { DataTemplate } from "igniteui-angular-core"; import { CategoryItemHighlightLayerFrame } from "./CategoryItemHighlightLayerFrame"; import { Base, enumGetBox, fromEnum, typeCast, Point_$type, markType, markDep, runOn } from "igniteui-angular-core"; import { Dictionary$2 } from "igniteui-angular-core"; import { ItemHighlightFrameRect } from "./ItemHighlightFrameRect"; import { List$1 } from "igniteui-angular-core"; import { IHasCategoryModePreference_$type } from "./IHasCategoryModePreference"; import { Rect } from "igniteui-angular-core"; import { MarkerSeries } from "./MarkerSeries"; import { DataContext } from "igniteui-angular-core"; import { Pool$1 } from "igniteui-angular-core"; import { Rectangle } from "igniteui-angular-core"; import { ContentControl } from "igniteui-angular-core"; import { PropertyMetadata } from "igniteui-angular-core"; import { isNaN_, isInfinity, truncate } from "igniteui-angular-core"; import { AnnotationLayerView } from "./AnnotationLayerView"; import { Marker } from "./Marker"; import { BrushUtil } from "igniteui-angular-core"; import { Color } from "igniteui-angular-core"; import { DataTemplatePassInfo } from "igniteui-angular-core"; import { DataTemplateRenderInfo } from "igniteui-angular-core"; import { DataTemplateMeasureInfo } from "igniteui-angular-core"; /** * @hidden */ export let CategoryItemHighlightLayer = /*@__PURE__*/ (() => { class CategoryItemHighlightLayer extends AnnotationLayer { constructor() { super(); this.z3 = false; this.z2 = true; this.z6 = 10; let a = new CategoryItemHighlightLayerFrame(); let b = new CategoryItemHighlightLayerFrame(); let c = new CategoryItemHighlightLayerFrame(); this.xc = a; this.xb = b; this.xd = c; this.ab = CategoryItemHighlightLayer.$; } bj() { return new CategoryItemHighlightLayer(); } get_er() { return true; } cs() { return new CategoryItemHighlightLayerView(this); } q1(a) { super.q1(a); this.zx = a; } yp(a, b) { if (this.z1 == null || this.z1 == a) { if (!this.a1.c) { this.rr(b); } } } xi(a) { if (!super.xi(a)) { return false; } if (this.aaf != null) { if (a.fb) { let b = a.nc(); if (!Base.equalsStatic(this.aaf, b)) { return false; } } else { if (!Base.equalsStatic(this.aaf, a.name)) { return false; } } } let c = this.yk(a); if (!c.c) { return false; } return true; } yr(a, b) { super.yr(a, b); let c = a; let d = this.z5; c.g.clear(); if (isNaN_(this.zu.x) && isNaN_(this.zu.y)) { return; } if (this.xi(this.z1)) { this.aal(this.z1, c, d); } else { for (let e of fromEnum(this.db.series)) { if (this.xi(e)) { this.aal(e, c, d); } if (e.isStacked) { e.p3((f) => { if (this.xi(f)) { this.aal(f, c, d); } if (f.eg) { f.p1((g) => { if (this.xi(g)) { this.aal(g, c, d); } return true; }); } return true; }); } if (e.eg) { e.p1((f) => { if (this.xi(f)) { this.aal(f, c, d); } return true; }); } } } } q9(a, b, c, d) { super.q9(a, b, c, d); switch (b) { case CategoryItemHighlightLayer.$$p[4]: case CategoryItemHighlightLayer.$$p[5]: case CategoryItemHighlightLayer.$$p[2]: case CategoryItemHighlightLayer.$$p[3]: this.rr(true); break; case CategoryItemHighlightLayer.$$p[7]: case CategoryItemHighlightLayer.$$p[8]: this.rr(true); break; case CategoryItemHighlightLayer.$$p[9]: this.z3 = d; this.rr(true); break; case CategoryItemHighlightLayer.$$p[1]: this.rr(true); break; case CategoryItemHighlightLayer.$$p[0]: this.z6 = this.z7; this.rr(true); break; case CategoryItemHighlightLayer.$$p[6]: this.z2 = d; this.rr(true); break; } } aal(a, b, c) { if (this.cv == null || this.cv.by.isEmpty || this.cv.bx.isEmpty) { return; } if (!a.ey && !a.e6) { return; } let d = a; if (d.categoryAxis == null) { return; } let e = this.zu.x; e = this.cv.bx.left + this.cv.bx.width * (e - this.cv.by.left) / this.cv.by.width; let f = this.zu.y; f = this.cv.bx.top + this.cv.bx.height * (f - this.cv.by.top) / this.cv.by.height; let g = this.z4; let h = true; let i = typeCast(IHasCategoryModePreference_$type, a); let j = 0; if (i != null) { j = i.preferredCategoryMode(d.categoryAxis); if (j == 2) { h = false; } } let k = true; if (!h || this.zy == 2) { k = false; } if (this.zy == 1) { k = true; } let l = this.yk(a); if (!l.c) { return; } if (k) { let m = a.wc(l.d, this.z5, g); if (j != 0 && !d.categoryAxis.cn) { let n = m.x; if (a.e6) { n -= a.getOffsetValue(); n += a.getCategoryWidth() * 0.5; m = { $type: Point_$type, x: n, y: m.y }; } else if (a.ey) { n -= a.getOffsetValue(); n += a.getCategoryWidth() * 0.5; m = { $type: Point_$type, x: n, y: m.y }; } } if (!isNaN_(m.x) && !isNaN_(m.y)) { m = this.wh(m); } this.aaj(m, b, a); } else { let o = a.wc(l.d, this.z5, g); let p; let q = this.getEffectiveViewport1(this.cv); if (a.isVertical) { let r = o.y; let s = d.categoryAxis; let t = this.z6; if (j != 0) { t = s.k8(this.cv.by, this.cv.bx, q); } if (isNaN_(t) || isInfinity(t)) { return; } p = new Rect(0, this.ws.left, r - t / 2, this.ws.width, t); } else { let u = o.x; let v = d.categoryAxis; let w = this.z6; if (j != 0) { w = v.k8(this.cv.by, this.cv.bx, q); } if (isNaN_(w) || isInfinity(w)) { return; } p = new Rect(0, u - w / 2, this.ws.top, w, this.ws.height); } p.intersect(this.cv.bx); this.aak(p, b, a); } } aaj(a, b, c) { let d = new ItemHighlightFrameRect(); d.b = a.x; d.e = a.y; d.i = this.zk(); if (this.aaz != null) { d.i = this.aaz; } d.j = this.zl(); if (this.aa0 != null) { d.j = this.aa0; } if (d.i == null) { if (c.hasMarkers) { d.i = this.zx.cl(c.vl()); } else { d.i = this.zx.cl(c.u9); } } if (d.j == null) { if (c.hasMarkers) { d.j = this.zx.cl(c.vm()); } else { d.j = this.zx.cl(c.vd); } } d.d = this.ie; d.f = Base.getHashCodeStatic(c); d.g = this.zz(c, a); let e = (typeCast(MarkerSeries.$, c) !== null) ? c.x0 : null; if (e == null || e == MarkerSeries.x3 || (this.z0 != 2 && this.z0 != 0)) { let f = MarkerSeries.xb(c, 2); if (this.z0 != 2 && this.z0 != 0) { f = this.z0; } switch (f) { case 3: case 13: e = this.db.r1; break; case 4: e = this.db.sa; break; case 5: e = this.db.r7; break; case 6: e = this.db.r8; break; case 7: e = this.db.r2; break; case 8: e = this.db.r5; break; case 9: e = this.db.r3; break; case 10: e = this.db.r9; break; case 11: e = this.db.r6; break; case 12: e = this.db.r4; break; } } d.h = this.aao != null ? this.aao : e; if (!isNaN_(d.b) && !isNaN_(d.e)) { b.g.addItem(d.f, d); } } zz(a, b) { let c = a.kn(b); let d = a.ir(b); if (this.z5 && d != Math.floor(d)) { c = null; } return ((() => { let $ret = new DataContext(); $ret.series = a; $ret.item = c; return $ret; })()); } aak(a, b, c) { let d = new ItemHighlightFrameRect(); d.b = a.left; d.e = a.top; d.c = a.right; d.a = a.bottom; d.i = this.zk(); d.j = this.zl(); if (d.i == null) { if (c != null) { d.i = this.zx.cm(c.u9); } } if (d.j == null) { if (c != null) { d.j = this.zx.cm(c.vd); } } d.d = this.ie; d.f = Base.getHashCodeStatic(c); if (!a.isEmpty) { b.g.addItem(d.f, d); } } yu(a, b) { super.yu(a, b); let c = this.zx.b9; let d = this.zx.b8; let e = 0; let f = 0; let g = a; for (let h of fromEnum(g.g.values)) { if (h.h != null) { let i = d.item(f); this.aam(h, i); f++; } else { let j = c.item(e); this.aan(h, j); e++; } } c.count = e; d.count = f; } aam(a, b) { if (isNaN_(a.b) || isNaN_(a.e) || isNaN_(a.d) || a.g == null) { b._visibility = 1; return; } let c = { $type: Point_$type, x: a.b, y: a.e }; let d = a.g; d.itemBrush = a.i; let e = d.series.wc(c, this.d3() || this.z3, this.z2); if (isNaN_(e.x) || isNaN_(e.y)) { b._visibility = 1; return; } this.zx.cf(b, e.x, e.y); b.ah = a.h; b.content = a.g; } aan(a, b) { if (isNaN_(a.b) || isNaN_(a.e) || isNaN_(a.a) || isNaN_(a.c) || isNaN_(a.d)) { b._visibility = 1; return; } this.zx.cg(b, a.b, a.e, a.c - a.b, a.a - a.e); b._fill = a.i; b._stroke = a.j; b.ad = a.d; if (this.v2 != null) { b.ai = this.v2; } else { b.ai = null; } b.aj = this.v3; b.am = this.v5; b.al = this.v4; b.ak = this.v4; b.ac = this.jh; } ga() { return true; } } CategoryItemHighlightLayer.$t = markType(CategoryItemHighlightLayer, 'CategoryItemHighlightLayer', AnnotationLayer.$); CategoryItemHighlightLayer.$$p = markDep(DependencyProperty, PropertyMetadata, CategoryItemHighlightLayer, 'raisePropertyChanged', ['BandHighlightWidth:z7:aap', [1, 10], 'HighlightType:zy:aaq', [CategoryItemHighlightType_$type, enumGetBox(CategoryItemHighlightType_$type, 0)], 'MarkerBrush:aaz:aar', [Brush.$, null], 'MarkerOutline:aa0:aas', [Brush.$, null], 'MarkerTemplate:aao:aat', [DataTemplate.$, null], 'MarkerType:z0:aau', [MarkerType_$type, enumGetBox(MarkerType_$type, 2)], 'SkipUnknownValues:z4:aav', [0, true], 'TargetSeriesName:aaf:aaw', [2, null], 'TargetSeries:z1:aax', [Series.$, null], 'UseInterpolation:z5:aay', [0, false]]); return CategoryItemHighlightLayer; })(); /** * @hidden */ export let CategoryItemHighlightLayerView = /*@__PURE__*/ (() => { class CategoryItemHighlightLayerView extends AnnotationLayerView { constructor(a) { super(a); this.b7 = null; this.b9 = null; this.b8 = null; this.ca = null; this.cb = null; this.b7 = a; this.ca = new List$1(ContentControl.$, 0); this.cb = new List$1(Rectangle.$, 0); } au() { super.au(); this.b9 = ((() => { let $ret = new Pool$1(Rectangle.$); $ret.create = runOn(this, this.cn); $ret.activate = runOn(this, this.ch); $ret.disactivate = runOn(this, this.cj); $ret.destroy = runOn(this, this.ci); return $ret; })()); this.b8 = ((() => { let $ret = new Pool$1(ContentControl.$); $ret.create = runOn(this, this.ck); $ret.activate = runOn(this, this.cc); $ret.disactivate = runOn(this, this.ce); $ret.destroy = runOn(this, this.cd); return $ret; })()); } cn() { let a = new Rectangle(); a.ab = false; this.cb.add(a); return a; } ch(a) { a._visibility = 0; } cj(a) { a._visibility = 1; } ci(a) { this.cb.remove(a); } ck() { let a = new Marker(); this.ca.add(a); return a; } cc(a) { a._visibility = 0; } ce(a) { a._visibility = 1; } cd(a) { this.ca.remove(a); } cl(a) { if (a == null) { return a; } return BrushUtil.m(a, 0.3); } cm(a) { if (a != null) { let b = BrushUtil.m(a, 0.3); if (b.isGradient) { let c = b; if (c.gradientStops != null) { for (let d = 0; d < c.gradientStops.length; d++) { let e = c.gradientStops[d]; e.color = Color.u(truncate(Math.round((e.color.l) * 0.3)), e.color.o, e.color.n, e.color.m); e.color = e.color; } } } else { b.color = Color.u(truncate(Math.round((b.color.l & 255) * 0.3)), b.color.o, b.color.n, b.color.m); b.color = b.color; } return b; } else { return null; } } cg(a, b, c, d, e) { a._visibility = 0; a.n = b; a.o = c; a.width = d; a.height = e; } cf(a, b, c) { a.n = b; a.o = c; } bj(a, b) { super.bj(a, b); let c = a; let d = c.content; if (d != null) { if (d.itemBrush != null) { d.actualItemBrush = d.itemBrush; } let e = d.series; if (e.hasMarkers) { d.outline = e.vm(); } d.thickness = e.io(); } } a8(a, b) { super.a8(a, b); if (a.d && !b) { for (let c = 0; c < this.cb.count; c++) { let d = this.cb._inner[c]; if (d._visibility == 0) { a.w(d); } } if (this.ca.count > 0) { let e = new DataTemplatePassInfo(); e.isHitTestRender = b; e.context = a.h(); e.viewportTop = this.bx.top; e.viewportLeft = this.bx.left; e.viewportWidth = this.bx.width; e.viewportHeight = this.bx.height; e.passID = "ItemMarkers"; let f = new DataTemplateRenderInfo(); f.isHitTestRender = b; f.passInfo = e; let g = new DataTemplateMeasureInfo(); g.passInfo = e; let h = false; let i = a.h(); g.context = i; f.context = i; g.renderContext = a; f.renderContext = a; let j = 0; let k = 0; let l = new Dictionary$2(DataTemplate.$, DataTemplate.$, 0); for (let m = 0; m < this.ca.count; m++) { let n = this.ca._inner[m]; if (n == null || n.ah == null) { continue; } let o = n.ah; if (!l.containsKey(o)) { l.addItem(o, o); if (o != null && o.passStarting != null) { o.passStarting(e); } } if (n._visibility == 1) { continue; } this.bi(n, m, b); if (!h) { g.data = n.content; g.width = n.width; g.height = n.height; if (o.measure != null) { g.data = n.content; o.measure(g); h = g.isConstant; if (h) { j = g.width; k = g.height; } } f.availableWidth = g.width; f.availableHeight = g.height; } else { f.availableWidth = j; f.availableHeight = k; } if (!isNaN_(n.width) && !isInfinity(n.width)) { f.availableWidth = n.width; } if (!isNaN_(n.height) && !isInfinity(n.height)) { f.availableHeight = n.height; } a.q(f, n); n.m = f.availableWidth; n.l = f.availableHeight; } for (let p of fromEnum(l.keys)) { if (p != null && p.passCompleted != null) { p.passCompleted(e); } } } } } an(a) { super.an(a); for (let b = 0; b < this.cb.count; b++) { this.e.bc.exportRectangleData(a, this.cb._inner[b], "catItemRect", ["Main", "CategoryItem"]); } for (let c = 0; c < this.ca.count; c++) { this.e.bc.exportMarkerVisualDataFromMarker(this.e, a, this.ca._inner[c]); } } } CategoryItemHighlightLayerView.$t = markType(CategoryItemHighlightLayerView, 'CategoryItemHighlightLayerView', AnnotationLayerView.$); return CategoryItemHighlightLayerView; })();