igniteui-react-charts
Version:
Ignite UI React charting components for building rich data visualizations using TypeScript APIs.
274 lines (273 loc) • 9.78 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 { ScatterBase } from "./ScatterBase";
import { UnknownValuePlotting_$type } from "igniteui-react-core";
import { DependencyProperty } from "igniteui-react-core";
import { Point_$type, typeCast, runOn, Number_$type, enumGetBox, markType, markDep } from "igniteui-react-core";
import { OwnedPoint } from "./OwnedPoint";
import { ScatterFrame } from "./ScatterFrame";
import { ScatterLineSeriesView } from "./ScatterLineSeriesView";
import { Defaults } from "./Defaults";
import { PathGeometry } from "igniteui-react-core";
import { Rect } from "igniteui-react-core";
import { ScalerParams } from "./ScalerParams";
import { Clipper } from "igniteui-react-core";
import { List$1 } from "igniteui-react-core";
import { RectUtil } from "igniteui-react-core";
import { PolyLineSegment } from "igniteui-react-core";
import { PathFigure } from "igniteui-react-core";
import { PathFigureCollection } from "igniteui-react-core";
import { Flattener } from "igniteui-react-core";
import { PropertyMetadata } from "igniteui-react-core";
import { boxArray$1, arrayShallowClone } from "igniteui-react-core";
import { isNaN_ } from "igniteui-react-core";
/**
* @hidden
*/
var ScatterLineSeries = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(ScatterLineSeries, _super);
function ScatterLineSeries() {
var _this = _super.call(this) || this;
_this.ab = ScatterLineSeries.$;
_this.zn = new ScatterFrame();
_this.zp = new ScatterFrame();
_this.zl = new ScatterFrame();
var a = function (b, c, d) {
var e = _this.dp.indexOf(b.a);
if (e == -1 || e == 0) {
return b;
}
var f = _this.dp.item(e - 1);
var g;
if (!((function () { var h = c.j.tryGetValue(f, g); g = h.p1; return h.ret; })())) {
return b;
}
return g;
};
_this.zn.s = a;
_this.zp.s = a;
_this.zl.s = a;
return _this;
}
ScatterLineSeries.prototype.bk = function () {
return new ScatterLineSeries();
};
ScatterLineSeries.prototype.get_fn = function () {
return true;
};
ScatterLineSeries.prototype.ct = function () {
return new ScatterLineSeriesView(this);
};
ScatterLineSeries.prototype.aah = function () {
return true;
};
ScatterLineSeries.prototype.js = function () {
if (!isNaN_(this.jr)) {
return _super.prototype.js.call(this);
}
return Defaults.ak;
};
ScatterLineSeries.prototype.g2 = function (a, b) {
if (this.x2(a, b)) {
return true;
}
if (this.dp.count <= this.aat) {
if (this.ac9(a, b)) {
return true;
}
}
return false;
};
ScatterLineSeries.prototype.ac9 = function (a, b) {
var c = this.cw;
var d = c.dz;
return this.g3(a, b, d.an);
};
ScatterLineSeries.prototype.ab0 = function (a, b) {
var _this = this;
_super.prototype.ab0.call(this, a, b);
a.q.clear();
a.y.clear();
var c = b.ca;
var d = b.b9;
var e = this.getEffectiveViewport1(b);
var f = this.ik * this.ik;
var g = 0;
if (this.z2 != null) {
g = this.z2.count;
}
if (this.z3 != null) {
g = Math.min(this.z3.count, g);
}
var h = new ScalerParams(0, c, d, this.zh.d, e);
var i = ((function () {
var $ret = new ScalerParams(0, c, d, _this.zh.e, e);
$ret.b = _this.i5();
return $ret;
})());
var j = arrayShallowClone(this.z2.asArray());
var k = arrayShallowClone(this.z3.asArray());
this.xAxis.k1(boxArray$1(j), 0, j.length, h);
this.yAxis.k1(boxArray$1(k), 0, k.length, i);
var l = d.top - 10;
var m = d.bottom + 10;
var n = d.left - 10;
var o = d.right + 10;
var p = ((function () {
var $ret = new Clipper(1, n, m, o, l, false);
$ret.i = a.q;
return $ret;
})());
for (var q = 0; q < g;) {
var r = q;
++q;
if (g > this.aau) {
while (q < g) {
var s = j[q] - j[r];
var t = k[q] - k[r];
var u = s * s + t * t;
if (isNaN_(u) || u >= f) {
break;
}
++q;
}
p.j(this.adg(j, k, r, q - 1));
}
else {
var v = new OwnedPoint();
v.c = { $type: Point_$type, x: j[r], y: k[r] };
v.a = this.dp.item(r);
if (!a.y.containsKey(v.a)) {
a.y.addItem(v.a, v);
}
}
}
if (g > this.aau) {
p.i = null;
}
};
ScatterLineSeries.prototype.adg = function (a, b, c, d) {
if (c == d) {
return { $type: Point_$type, x: a[c], y: b[c] };
}
var e = 0;
var f = 0;
var g = (d - c + 1);
for (var h = c; h <= d; ++h) {
e += a[h];
f += b[h];
}
return { $type: Point_$type, x: e / g, y: f / g };
};
ScatterLineSeries.prototype.get_aab = function () {
return true;
};
ScatterLineSeries.prototype.acb = function (a, b) {
b.dm(false);
_super.prototype.acb.call(this, a, b);
var c = this.getEffectiveViewport1(b);
var d = new Rect(0, b.b9.left, b.b9.top, b.b9.width, b.b9.height);
d = RectUtil.t(d, this.il, this.il);
this.ab4(a, new Clipper(0, d, false));
var e = typeCast(ScatterLineSeriesView.$, b);
this.zu.az(this, this.aag(), runOn(this, this.za));
var f = false;
var g = this.zu.b;
if (g != null) {
f = true;
}
if (f) {
this.abw(-1, this.z2.count, b.t);
}
this.zu.ad(e.dz, true, false, true, false);
this.ade(e.dz, a.q.count, function (h) { return a.q._inner[h].x; }, function (h) { return a.q._inner[h].y; }, this.ac8, this.ik);
};
ScatterLineSeries.prototype.ade = function (a, b, c, d, e, f) {
var g = new PathGeometry();
a.an = g;
g.c = new PathFigureCollection();
var h = new List$1(PolyLineSegment.$, 0);
var i = 0;
for (var j = 0; j < b; j++) {
if (isNaN_(c(j)) || isNaN_(d(j))) {
var k = j - i;
if (k > 0) {
if (e == 1 || h.count == 0) {
var l = new PolyLineSegment();
h.add(l);
}
this.add(h._inner[h.count - 1]._points, i, j - 1, c, d, f);
}
i = j + 1;
}
}
if (e == 1 || h.count == 0) {
var m = new PolyLineSegment();
h.add(m);
}
this.add(h._inner[h.count - 1]._points, i, b - 1, c, d, f);
var _loop_1 = function (n) {
var o = h._inner[n];
if (o._points.count > 0) {
var p = ((function () {
var $ret = new PathFigure();
$ret.startPoint = o._points._inner[0];
return $ret;
})());
p._segments.add(o);
g.c.add(p);
}
};
for (var n = 0; n < h.count; n++) {
_loop_1(n);
}
};
ScatterLineSeries.prototype.ada = function (a, b, c, d, e, f) {
var g = new List$1(Number_$type, 0);
var h = d;
var i = e;
var j = i - h + 1;
while (j > 0) {
if (j <= 512) {
Flattener.c(g, b, c, h, i, f);
h = i + 1;
}
else {
var k = h + 512 - 1;
Flattener.c(g, b, c, h, k, f);
h = k + 1;
}
j = i - h + 1;
}
return g;
};
ScatterLineSeries.prototype.add = function (a, b, c, d, e, f) {
if (c > -1) {
var g = !isNaN_(this.jr) ? f : 1;
var h = this.ada(new List$1(Number_$type, 0), d, e, b, c, g);
var i = void 0;
for (var j = 0; j < h.count; j++) {
i = h.item(j);
a.add({ $type: Point_$type, x: d(i), y: e(i) });
}
}
};
ScatterLineSeries.prototype.rq = function (a, b, c, d) {
_super.prototype.rq.call(this, a, b, c, d);
switch (b) {
case ScatterLineSeries.$$p[0]:
this.r8(false);
this.q0();
break;
}
};
ScatterLineSeries.$t = markType(ScatterLineSeries, 'ScatterLineSeries', ScatterBase.$);
ScatterLineSeries.$$p = markDep(DependencyProperty, PropertyMetadata, ScatterLineSeries, 'raisePropertyChanged', ['UnknownValuePlotting:ac8:adf', [UnknownValuePlotting_$type, enumGetBox(UnknownValuePlotting_$type, 1)]]);
return ScatterLineSeries;
}(ScatterBase));
export { ScatterLineSeries };