igniteui-angular-charts
Version:
Ignite UI Angular charting components for building rich data visualizations for modern web apps.
712 lines (711 loc) • 25.8 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, __values } from "tslib";
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
*/
var CategoryItemHighlightLayer = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(CategoryItemHighlightLayer, _super);
function CategoryItemHighlightLayer() {
var _this = _super.call(this) || this;
_this.z3 = false;
_this.z2 = true;
_this.z6 = 10;
var a = new CategoryItemHighlightLayerFrame();
var b = new CategoryItemHighlightLayerFrame();
var c = new CategoryItemHighlightLayerFrame();
_this.xc = a;
_this.xb = b;
_this.xd = c;
_this.ab = CategoryItemHighlightLayer.$;
return _this;
}
CategoryItemHighlightLayer.prototype.bj = function () {
return new CategoryItemHighlightLayer();
};
CategoryItemHighlightLayer.prototype.get_er = function () {
return true;
};
CategoryItemHighlightLayer.prototype.cs = function () {
return new CategoryItemHighlightLayerView(this);
};
CategoryItemHighlightLayer.prototype.q1 = function (a) {
_super.prototype.q1.call(this, a);
this.zx = a;
};
CategoryItemHighlightLayer.prototype.yp = function (a, b) {
if (this.z1 == null || this.z1 == a) {
if (!this.a1.c) {
this.rr(b);
}
}
};
CategoryItemHighlightLayer.prototype.xi = function (a) {
if (!_super.prototype.xi.call(this, a)) {
return false;
}
if (this.aaf != null) {
if (a.fb) {
var b = a.nc();
if (!Base.equalsStatic(this.aaf, b)) {
return false;
}
}
else {
if (!Base.equalsStatic(this.aaf, a.name)) {
return false;
}
}
}
var c = this.yk(a);
if (!c.c) {
return false;
}
return true;
};
CategoryItemHighlightLayer.prototype.yr = function (a, b) {
var e_1, _a;
var _this = this;
_super.prototype.yr.call(this, a, b);
var c = a;
var 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 {
try {
for (var _b = __values(fromEnum(this.db.series)), _c = _b.next(); !_c.done; _c = _b.next()) {
var e = _c.value;
if (this.xi(e)) {
this.aal(e, c, d);
}
if (e.isStacked) {
e.p3(function (f) {
if (_this.xi(f)) {
_this.aal(f, c, d);
}
if (f.eg) {
f.p1(function (g) {
if (_this.xi(g)) {
_this.aal(g, c, d);
}
return true;
});
}
return true;
});
}
if (e.eg) {
e.p1(function (f) {
if (_this.xi(f)) {
_this.aal(f, c, d);
}
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;
}
}
}
};
CategoryItemHighlightLayer.prototype.q9 = function (a, b, c, d) {
_super.prototype.q9.call(this, 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;
}
};
CategoryItemHighlightLayer.prototype.aal = function (a, b, c) {
if (this.cv == null || this.cv.by.isEmpty || this.cv.bx.isEmpty) {
return;
}
if (!a.ey && !a.e6) {
return;
}
var d = a;
if (d.categoryAxis == null) {
return;
}
var e = this.zu.x;
e = this.cv.bx.left + this.cv.bx.width * (e - this.cv.by.left) / this.cv.by.width;
var f = this.zu.y;
f = this.cv.bx.top + this.cv.bx.height * (f - this.cv.by.top) / this.cv.by.height;
var g = this.z4;
var h = true;
var i = typeCast(IHasCategoryModePreference_$type, a);
var j = 0;
if (i != null) {
j = i.preferredCategoryMode(d.categoryAxis);
if (j == 2) {
h = false;
}
}
var k = true;
if (!h || this.zy == 2) {
k = false;
}
if (this.zy == 1) {
k = true;
}
var l = this.yk(a);
if (!l.c) {
return;
}
if (k) {
var m = a.wc(l.d, this.z5, g);
if (j != 0 && !d.categoryAxis.cn) {
var 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 {
var o = a.wc(l.d, this.z5, g);
var p = void 0;
var q = this.getEffectiveViewport1(this.cv);
if (a.isVertical) {
var r = o.y;
var s = d.categoryAxis;
var 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 {
var u = o.x;
var v = d.categoryAxis;
var 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);
}
};
CategoryItemHighlightLayer.prototype.aaj = function (a, b, c) {
var 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);
var e = (typeCast(MarkerSeries.$, c) !== null) ? c.x0 : null;
if (e == null || e == MarkerSeries.x3 || (this.z0 != 2 && this.z0 != 0)) {
var 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);
}
};
CategoryItemHighlightLayer.prototype.zz = function (a, b) {
var c = a.kn(b);
var d = a.ir(b);
if (this.z5 && d != Math.floor(d)) {
c = null;
}
return ((function () {
var $ret = new DataContext();
$ret.series = a;
$ret.item = c;
return $ret;
})());
};
CategoryItemHighlightLayer.prototype.aak = function (a, b, c) {
var 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);
}
};
CategoryItemHighlightLayer.prototype.yu = function (a, b) {
var e_2, _a;
_super.prototype.yu.call(this, a, b);
var c = this.zx.b9;
var d = this.zx.b8;
var e = 0;
var f = 0;
var g = a;
try {
for (var _b = __values(fromEnum(g.g.values)), _c = _b.next(); !_c.done; _c = _b.next()) {
var h = _c.value;
if (h.h != null) {
var i = d.item(f);
this.aam(h, i);
f++;
}
else {
var j = c.item(e);
this.aan(h, j);
e++;
}
}
}
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;
}
}
c.count = e;
d.count = f;
};
CategoryItemHighlightLayer.prototype.aam = function (a, b) {
if (isNaN_(a.b) || isNaN_(a.e) || isNaN_(a.d) || a.g == null) {
b._visibility = 1;
return;
}
var c = { $type: Point_$type, x: a.b, y: a.e };
var d = a.g;
d.itemBrush = a.i;
var 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;
};
CategoryItemHighlightLayer.prototype.aan = function (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;
};
CategoryItemHighlightLayer.prototype.ga = function () {
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;
}(AnnotationLayer));
export { CategoryItemHighlightLayer };
/**
* @hidden
*/
var CategoryItemHighlightLayerView = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(CategoryItemHighlightLayerView, _super);
function CategoryItemHighlightLayerView(a) {
var _this = _super.call(this, a) || this;
_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);
return _this;
}
CategoryItemHighlightLayerView.prototype.au = function () {
var _this = this;
_super.prototype.au.call(this);
this.b9 = ((function () {
var $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 = ((function () {
var $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;
})());
};
CategoryItemHighlightLayerView.prototype.cn = function () {
var a = new Rectangle();
a.ab = false;
this.cb.add(a);
return a;
};
CategoryItemHighlightLayerView.prototype.ch = function (a) {
a._visibility = 0;
};
CategoryItemHighlightLayerView.prototype.cj = function (a) {
a._visibility = 1;
};
CategoryItemHighlightLayerView.prototype.ci = function (a) {
this.cb.remove(a);
};
CategoryItemHighlightLayerView.prototype.ck = function () {
var a = new Marker();
this.ca.add(a);
return a;
};
CategoryItemHighlightLayerView.prototype.cc = function (a) {
a._visibility = 0;
};
CategoryItemHighlightLayerView.prototype.ce = function (a) {
a._visibility = 1;
};
CategoryItemHighlightLayerView.prototype.cd = function (a) {
this.ca.remove(a);
};
CategoryItemHighlightLayerView.prototype.cl = function (a) {
if (a == null) {
return a;
}
return BrushUtil.m(a, 0.3);
};
CategoryItemHighlightLayerView.prototype.cm = function (a) {
if (a != null) {
var b = BrushUtil.m(a, 0.3);
if (b.isGradient) {
var c = b;
if (c.gradientStops != null) {
for (var d = 0; d < c.gradientStops.length; d++) {
var 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;
}
};
CategoryItemHighlightLayerView.prototype.cg = function (a, b, c, d, e) {
a._visibility = 0;
a.n = b;
a.o = c;
a.width = d;
a.height = e;
};
CategoryItemHighlightLayerView.prototype.cf = function (a, b, c) {
a.n = b;
a.o = c;
};
CategoryItemHighlightLayerView.prototype.bj = function (a, b) {
_super.prototype.bj.call(this, a, b);
var c = a;
var d = c.content;
if (d != null) {
if (d.itemBrush != null) {
d.actualItemBrush = d.itemBrush;
}
var e = d.series;
if (e.hasMarkers) {
d.outline = e.vm();
}
d.thickness = e.io();
}
};
CategoryItemHighlightLayerView.prototype.a8 = function (a, b) {
var e_3, _a;
_super.prototype.a8.call(this, a, b);
if (a.d && !b) {
for (var c = 0; c < this.cb.count; c++) {
var d = this.cb._inner[c];
if (d._visibility == 0) {
a.w(d);
}
}
if (this.ca.count > 0) {
var 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";
var f = new DataTemplateRenderInfo();
f.isHitTestRender = b;
f.passInfo = e;
var g = new DataTemplateMeasureInfo();
g.passInfo = e;
var h = false;
var i = a.h();
g.context = i;
f.context = i;
g.renderContext = a;
f.renderContext = a;
var j = 0;
var k = 0;
var l = new Dictionary$2(DataTemplate.$, DataTemplate.$, 0);
for (var m = 0; m < this.ca.count; m++) {
var n = this.ca._inner[m];
if (n == null || n.ah == null) {
continue;
}
var 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;
}
try {
for (var _b = __values(fromEnum(l.keys)), _c = _b.next(); !_c.done; _c = _b.next()) {
var p = _c.value;
if (p != null && p.passCompleted != null) {
p.passCompleted(e);
}
}
}
catch (e_3_1) {
e_3 = { error: e_3_1 };
}
finally {
try {
if (_c && !_c.done && (_a = _b.return))
_a.call(_b);
}
finally {
if (e_3)
throw e_3.error;
}
}
}
}
};
CategoryItemHighlightLayerView.prototype.an = function (a) {
_super.prototype.an.call(this, a);
for (var b = 0; b < this.cb.count; b++) {
this.e.bc.exportRectangleData(a, this.cb._inner[b], "catItemRect", ["Main", "CategoryItem"]);
}
for (var 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;
}(AnnotationLayerView));
export { CategoryItemHighlightLayerView };