igniteui-react-charts
Version:
Ignite UI React charting components for building rich data visualizations using TypeScript APIs.
400 lines (399 loc) • 13.1 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 } from "tslib";
import { Base, typeCast, Number_$type, markType } from "igniteui-react-core";
import { Brush } from "igniteui-react-core";
import { Color } from "igniteui-react-core";
import { LinearGradientBrush } from "igniteui-react-core";
import { ColorUtil } from "igniteui-react-core";
import { Axis } from "./Axis";
import { ScalerParams } from "./ScalerParams";
import { List$1 } from "igniteui-react-core";
import { Thickness } from "igniteui-react-core";
import { Dictionary$2 } from "igniteui-react-core";
import { Pool$1 } from "igniteui-react-core";
import { AxisAnnotation } from "./AxisAnnotation";
import { HashSet$1 } from "igniteui-react-core";
import { truncate, isNaN_, log10 } from "igniteui-react-core";
import { round10N } from "igniteui-react-core";
/**
* @hidden
*/
var AxisAnnotationFrameManager = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(AxisAnnotationFrameManager, _super);
function AxisAnnotationFrameManager() {
return _super !== null && _super.apply(this, arguments) || this;
}
AxisAnnotationFrameManager.e = function (a, b, c) {
var d = new Color();
if (typeCast(LinearGradientBrush.$, a) !== null) {
if (a.gradientStops == null || a.gradientStops.length < 1) {
var e = new Brush();
e.color = b;
return e;
}
d = a.gradientStops[0].color;
}
else {
d = a.color;
}
var f = ColorUtil.a(d);
var g = ColorUtil.a(c);
var h = ColorUtil.a(b);
var i = (f[3] + 0.05) / (h[3] + 0.05);
var j = (g[3] + 0.05) / (f[3] + 0.05);
if (i > j) {
var k = new Brush();
k.color = b;
}
var l = new Brush();
l.color = c;
return l;
};
AxisAnnotationFrameManager.c = function (a, b, c, d, e, f, g) {
var h = c.ai();
var i = null;
var j = null;
for (var k = 0; k < h.length; k++) {
if (h[k].dy) {
j = h[k];
}
else {
i = h[k];
}
}
var l = Color.u(255, 102, 102, 102);
var m = Color.u(255, 255, 255, 255);
if (i != null) {
var n = new ScalerParams(1, d.yr, i.o6, i.dn);
n.c = e;
var o = i.f9(b.x, n);
a.ac.add(o);
a.ab.add(o);
if (g.u != null) {
a.k.add(g.u);
}
else {
a.k.add(f);
}
a.j.add(g.g);
if (g.y != null) {
a.z.add(g.y);
}
else {
a.z.add(AxisAnnotationFrameManager.e(a.k._inner[a.k.count - 1], l, m));
}
a.v.add(g.ae.left);
a.x.add(g.ae.top);
a.w.add(g.ae.right);
a.u.add(g.ae.bottom);
if (!isNaN_(g.l)) {
a.y.add(g.l);
}
else {
a.y.add(NaN);
}
if (g.x != null) {
a.t.add(g.x);
}
else {
a.t.add(null);
}
if (g.c) {
a.i.add(i);
}
else {
a.i.add(null);
}
a.l.add(g.v);
a.q.add(g.w);
a.r.add(g.j);
a.m.add(g.h);
a.s.add(g.k);
a.p.add(g.i);
a.o.add(g.s);
a.n.add(g.e);
a.aa.add(g.a);
}
if (j != null) {
var p = new ScalerParams(1, d.yr, j.o6, j.dn);
p.c = e;
var q = j.f9(b.y, p);
a.ax.add(q);
a.aw.add(q);
if (g.z != null) {
a.af.add(g.z);
}
else {
a.af.add(f);
}
a.ae.add(g.m);
if (g.ad != null) {
a.au.add(g.ad);
}
else {
a.au.add(AxisAnnotationFrameManager.e(a.af._inner[a.af.count - 1], l, m));
}
a.aq.add(g.af.left);
a.as.add(g.af.top);
a.ar.add(g.af.right);
a.ap.add(g.af.bottom);
if (!isNaN_(g.r)) {
a.at.add(g.r);
}
else {
a.at.add(NaN);
}
if (g.ac != null) {
a.ao.add(g.ac);
}
else {
a.ao.add(null);
}
if (g.d) {
a.ad.add(j);
}
else {
a.ad.add(null);
}
a.ag.add(g.aa);
a.al.add(g.ab);
a.am.add(g.p);
a.ah.add(g.n);
a.an.add(g.q);
a.ak.add(g.o);
a.aj.add(g.t);
a.ai.add(g.f);
a.av.add(g.b);
}
};
AxisAnnotationFrameManager.b = function (a) {
a.i.clear();
a.ad.clear();
a.ac.clear();
a.ax.clear();
a.ab.clear();
a.aw.clear();
a.k.clear();
a.j.clear();
a.t.clear();
a.v.clear();
a.x.clear();
a.w.clear();
a.u.clear();
a.y.clear();
a.z.clear();
a.l.clear();
a.q.clear();
a.r.clear();
a.m.clear();
a.s.clear();
a.p.clear();
a.o.clear();
a.n.clear();
a.aa.clear();
a.af.clear();
a.ae.clear();
a.ao.clear();
a.aq.clear();
a.as.clear();
a.ar.clear();
a.ap.clear();
a.at.clear();
a.au.clear();
a.ag.clear();
a.al.clear();
a.am.clear();
a.ah.clear();
a.an.clear();
a.ak.clear();
a.aj.clear();
a.ai.clear();
a.av.clear();
};
AxisAnnotationFrameManager.a = function (a, b, c) {
if (!b.dq) {
return a;
}
var d = 0;
if (c >= 0) {
d = c;
}
else {
var e = b.gi();
d = e == 0 ? 0 : truncate(Math.max(-Math.floor(log10(e)), 0));
d += 1;
}
return round10N(a, d);
};
AxisAnnotationFrameManager.d = function (a, b, c, d, e, f, g, h, i, j) {
var k = new List$1(Axis.$, 0);
var l = new HashSet$1(Axis.$, 0);
var m = new Dictionary$2(Axis.$, Number_$type, 0);
var _loop_1 = function (n) {
if (isNaN_(b.ac._inner[n])) {
return "continue";
}
var o = b.i._inner[n];
if (o != null) {
if (!l.contains(o)) {
k.add(o);
m.item(o, 0);
l.add_1(o);
}
var p = void 0;
if (!d.containsKey(o)) {
p = new Pool$1(AxisAnnotation.$);
p.create = function () { return new AxisAnnotation(); };
p.destroy = function (q) {
};
p.activate = function (q) { return o.at.add(q); };
p.disactivate = function (q) { return o.at.remove(q); };
d.item(o, p);
e.add(o);
}
else {
p = d.item(o);
}
var q = p.item(m.item(o));
m.item(o, m.item(o) + 1);
q.l = false;
q.value = b.ab._inner[n];
var r = b.ac._inner[n];
if (i != null) {
var s = i(r);
q.text = s;
}
else {
r = AxisAnnotationFrameManager.a(r, o, g);
if (o.b7 != null) {
q.text = o.i8(r);
}
}
q.textColor = b.z._inner[n];
q.background = b.k._inner[n];
q.backgroundCornerRadius = b.j._inner[n];
q.backgroundPadding = new Thickness(1, b.v._inner[n], b.x._inner[n], b.w._inner[n], b.u._inner[n]);
q.outline = b.t._inner[n];
q.strokeThickness = b.y._inner[n];
q.isBadgeEnabled = b.n._inner[n];
q.badgeSize = b.s._inner[n];
q.badgeMargin = b.p._inner[n];
q.badgeBackground = b.l._inner[n];
q.badgeOutline = b.q._inner[n];
q.badgeOutlineThickness = b.r._inner[n];
q.badgeCornerRadius = b.m._inner[n];
q.badgeImagePath = b.o._inner[n];
q.k = b.aa._inner[n];
q.o = false;
if (q.l) {
q.l = false;
c = true;
}
}
};
for (var n = 0; n < b.ac.count; n++) {
_loop_1(n);
}
var _loop_2 = function (t) {
if (isNaN_(b.ax._inner[t])) {
return "continue";
}
var u = b.ad._inner[t];
if (u != null) {
if (!l.contains(u)) {
k.add(u);
m.item(u, 0);
l.add_1(u);
}
var v = void 0;
if (!d.containsKey(u)) {
v = new Pool$1(AxisAnnotation.$);
v.create = function () { return new AxisAnnotation(); };
v.destroy = function (w) {
};
v.activate = function (w) { return u.at.add(w); };
v.disactivate = function (w) { return u.at.remove(w); };
d.item(u, v);
e.add(u);
}
else {
v = d.item(u);
}
var w = v.item(m.item(u));
m.item(u, m.item(u) + 1);
w.l = false;
var x = b.ax._inner[t];
w.value = b.aw._inner[t];
if (j != null) {
var y = j(x);
w.text = y;
}
else {
x = AxisAnnotationFrameManager.a(x, u, h);
if (u.b7 != null) {
w.text = u.i8(x);
}
}
w.textColor = b.au._inner[t];
w.background = b.af._inner[t];
w.backgroundCornerRadius = b.ae._inner[t];
w.backgroundPadding = new Thickness(1, b.aq._inner[t], b.as._inner[t], b.ar._inner[t], b.ap._inner[t]);
w.outline = b.ao._inner[t];
w.strokeThickness = b.at._inner[t];
w.isBadgeEnabled = b.ai._inner[t];
w.badgeSize = b.an._inner[t];
w.badgeMargin = b.ak._inner[t];
w.badgeBackground = b.ag._inner[t];
w.badgeOutline = b.al._inner[t];
w.badgeOutlineThickness = b.am._inner[t];
w.badgeCornerRadius = b.ah._inner[t];
w.badgeImagePath = b.aj._inner[t];
w.k = b.av._inner[t];
w.o = false;
if (w.l) {
w.l = false;
c = true;
}
}
};
for (var t = 0; t < b.ax.count; t++) {
_loop_2(t);
}
for (var z = 0; z < k.count; z++) {
if (d.containsKey(k._inner[z])) {
var aa = d.item(k._inner[z]);
aa.count = m.item(k._inner[z]);
}
}
for (var ab = e.count - 1; ab >= 0; ab--) {
if (!l.contains(e._inner[ab])) {
c = true;
var ac = d.item(e._inner[ab]);
ac.count = 0;
ac.activate = null;
ac.create = null;
ac.destroy = null;
ac.disactivate = null;
d.removeItem(e._inner[ab]);
e.removeAt(ab);
}
}
if (c && f) {
for (var ad = 0; ad < k.count; ad++) {
var ae = k._inner[ad];
if (ae.bq.c) {
ae.ky(true);
ae.bq.c = false;
}
}
}
};
AxisAnnotationFrameManager.$t = markType(AxisAnnotationFrameManager, 'AxisAnnotationFrameManager');
return AxisAnnotationFrameManager;
}(Base));
export { AxisAnnotationFrameManager };