igniteui-react-charts
Version:
Ignite UI React charting components for building rich data visualizations using TypeScript APIs.
151 lines (150 loc) • 4.59 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, markType } from "igniteui-react-core";
import { Thickness } from "igniteui-react-core";
import { Size } from "igniteui-react-core";
import { CalloutLayout } from "./CalloutLayout";
import { isInfinity, isNaN_ } from "igniteui-react-core";
/**
* @hidden
*/
var CalloutViewHelper = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(CalloutViewHelper, _super);
function CalloutViewHelper() {
return _super !== null && _super.apply(this, arguments) || this;
}
CalloutViewHelper.c = function (a, b, c, d, e, f, g, h) {
var i = Math.sqrt((c - a) * (c - a) + (d - b) * (d - b));
var j = (c - a) / i;
var k = (d - b) / i;
var l = a - e;
var m = b - f;
var n = g - e;
var o = h - f;
var p = -k;
var q = j;
var r = n * p + o * q;
var s = n * m - o * l;
var t = l * p + m * q;
var u = s / r;
var v = t / r;
if (u >= 0 && v >= 0 && v <= 1) {
return u;
}
return Number.POSITIVE_INFINITY;
};
CalloutViewHelper.e = function (a, b, c, d) {
var e = a.x;
var f = a.y;
var g = 0;
var h = 0;
var i = 0;
var j = 0;
var k = 0;
var l = 0;
if (e < 0) {
g = -e;
k = g;
e = 0;
}
if (f < 0) {
h = -f;
l = h;
f = 0;
}
if (e > b) {
i = e - b;
}
if (f > c) {
j = f - c;
}
var m = new Thickness(1, g, h, i, j);
var n = CalloutViewHelper.c(e, f, k + b / 2, l + c / 2, k, l, k, l + c);
var o = CalloutViewHelper.c(e, f, k + b / 2, l + c / 2, k, l, k + b, l);
var p = CalloutViewHelper.c(e, f, k + b / 2, l + c / 2, k, l + c, k + b, l + c);
var q = CalloutViewHelper.c(e, f, k + b / 2, l + c / 2, k + b, l, k + b, l + c);
var r = Math.min(n, Math.min(o, Math.min(p, q)));
var s = 0;
var t = 0;
if (isInfinity(r)) {
s = e;
t = f;
}
else {
var u = k + b / 2;
var v = l + c / 2;
var w = e;
var x = f;
var y = Math.sqrt((u - w) * (u - w) + (v - x) * (v - x));
var z = (u - w) / y;
var aa = (v - x) / y;
s = w + z * r;
t = x + aa * r;
}
d.an = e;
d.ap = f;
d.ao = s;
d.aq = t;
return m;
};
CalloutViewHelper.b = function (a, b, c, d) {
return a && b > 0 && c > 0;
};
CalloutViewHelper.d = function (a, b, c, d, e, f, g) {
var h = 0;
var i = 0;
var j = d;
var k = e;
if (a != null) {
h = a.top + a.bottom;
i = a.left + a.right;
}
if (g && d > 0 && e > 0) {
if (!isNaN_(f)) {
j = d + f;
}
}
else {
j = 0;
k = 0;
}
var l = i + b + j;
var m = h + Math.max(c, k);
return new Size(1, l, m);
};
CalloutViewHelper.a = function (a, b, c, d, e, f, g) {
var h = new CalloutLayout();
h.f = CalloutViewHelper.d(a, b, c, d, e, f, g);
if (g && d > 0 && e > 0) {
h.a = true;
if (c > e) {
h.d = a.left + d + f;
h.e = a.top;
h.b = a.left;
h.c = (h.f.height / 2) - (e / 2);
}
else {
h.d = a.left + d + f;
h.e = (h.f.height / 2) - (c / 2);
h.b = a.left;
h.c = a.top;
}
}
else {
h.d = a.left;
h.e = a.top;
h.b = 0;
h.c = 0;
h.a = false;
}
return h;
};
CalloutViewHelper.$t = markType(CalloutViewHelper, 'CalloutViewHelper');
return CalloutViewHelper;
}(Base));
export { CalloutViewHelper };