igniteui-angular-charts
Version:
Ignite UI Angular charting components for building rich data visualizations for modern web apps.
898 lines (897 loc) • 33.3 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 { FinancialSeries } from "./FinancialSeries";
import { ITrendLineSeries_$type } from "./ITrendLineSeries";
import { IndicatorDisplayType_$type } from "./IndicatorDisplayType";
import { DependencyProperty } from "igniteui-angular-core";
import { TrendLineType_$type } from "igniteui-angular-core";
import { Brush } from "igniteui-angular-core";
import { PenLineCap_$type } from "igniteui-angular-core";
import { DoubleCollection } from "igniteui-angular-core";
import { List$1 } from "igniteui-angular-core";
import { AxisRange } from "./AxisRange";
import { CategoryFrame } from "./CategoryFrame";
import { Number_$type, typeCast, enumGetBox, EnumUtil, runOn, markType, markDep } from "igniteui-angular-core";
import { Rect } from "igniteui-angular-core";
import { ScalerParams } from "./ScalerParams";
import { ISortingAxis_$type } from "./ISortingAxis";
import { CategoryTrendLineManagerFactory } from "./CategoryTrendLineManagerFactory";
import { FinancialSeriesView } from "./FinancialSeriesView";
import { FinancialBucketCalculator } from "./FinancialBucketCalculator";
import { TrendResolutionParams } from "./TrendResolutionParams";
import { CategorySeries } from "./CategorySeries";
import { NotImplementedException } from "igniteui-angular-core";
import { Path } from "igniteui-angular-core";
import { PropertyMetadata } from "igniteui-angular-core";
import { isNaN_ } from "igniteui-angular-core";
import { PathGeometry } from "igniteui-angular-core";
import { GeometryGroup } from "igniteui-angular-core";
import { Pool$1 } from "igniteui-angular-core";
import { LineGeometry } from "igniteui-angular-core";
import { Defaults } from "./Defaults";
import { Extensions } from "igniteui-angular-core";
import { IndicatorRenderer } from "./IndicatorRenderer";
/**
* @hidden
*/
var FinancialIndicator = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(FinancialIndicator, _super);
function FinancialIndicator() {
var _this = _super.call(this) || this;
_this._indicatorColumn = null;
_this.aaz = null;
_this.w9 = new CategoryFrame(3);
_this.xb = new CategoryFrame(3);
_this.w7 = new CategoryFrame(3);
_this.indicatorColumn = new List$1(Number_$type, 0);
_this.aaz = new AxisRange(-100, 100);
return _this;
}
FinancialIndicator.prototype.get_e7 = function () {
return true;
};
FinancialIndicator.prototype.cs = function () {
return new FinancialIndicatorView(this);
};
FinancialIndicator.prototype.q0 = function (a) {
_super.prototype.q0.call(this, a);
this.aa0 = a;
};
FinancialIndicator.prototype.abd = function (a) {
if (this.xo != null && !this.xo.c1()) {
this.rq(true);
}
};
FinancialIndicator.prototype.aa5 = function (a, b, c) {
if (isNaN_(b.x) || isNaN_(b.y)) {
return false;
}
var d = this.xo;
var e = 0;
if (d != null) {
e = d.e6(d.me);
}
if ((a.y >= e && a.y <= b.y) || (a.y <= e && a.y >= b.y)) {
return true;
}
return false;
};
FinancialIndicator.prototype.b2 = function () {
if (this.b3 == 0) {
return 1;
}
else {
return _super.prototype.b2.call(this);
}
};
FinancialIndicator.prototype.wm = function (a) {
if (this.w5 == null || this.xo == null) {
return Rect.empty;
}
var b = this.v6(a);
var c = this.cv.by;
var d = this.cv.bx;
var e = this.getEffectiveViewport1(this.cv);
var f = new ScalerParams(0, c, d, this.xo.ch, e);
f.b = this.ix();
var g = this.an(this.w5, this.w7.f, this.y2(this.cv), this.y4(this.cv), a, true);
if (g == null) {
return Rect.empty;
}
var h = g[0];
var i = g[1];
var j = Math.abs(b.x - h[0]);
var k = Math.abs(b.x - i[0]);
var l = this.xo.el(this.xo.me, f);
var m = 1;
if (j < k) {
var n = h[0] - 0.5 * m;
var o = h[1];
var p = l;
return new Rect(0, n, Math.min(o, p), m, Math.max(o, p) - Math.min(o, p));
}
else {
var q = i[0] - 0.5 * m;
var r = i[1];
var s = l;
return new Rect(0, q, Math.min(r, s), m, Math.max(r, s) - Math.min(r, s));
}
};
FinancialIndicator.prototype.gv = function (a, b) {
var c = this.wb(this.wg(a), true, false);
if (this.aa2 == 1) {
if (this.aa5(a, c, b)) {
return true;
}
}
if (this.aa2 == 1 || this.aa2 == 0) {
if (this.gu(a, b)) {
return true;
}
}
if (this.aa2 == 2) {
if (this.gy(a, b)) {
return true;
}
}
return false;
};
FinancialIndicator.prototype.pa = function (a, b, c, d) {
_super.prototype.pa.call(this, a, b, c, d);
if (this.w5 != null && typeCast(ISortingAxis_$type, this.w5) !== null) {
this.w5.i$i();
}
if (this.aa0.ca) {
this.aa0.b8.g$e(a, b, c, d);
}
if (d != null && this.yh.containsKey(d)) {
var e = this.yh.tryGetValue(d, d);
d = e.p1;
}
if (this.w5 != null && typeCast(ISortingAxis_$type, this.w5) !== null) {
a = 4;
b = 0;
c = this.dn.count;
}
switch (a) {
case 3:
if (this.aa4(b, c, d)) {
this.abf(b, c, d);
this.abd(true);
}
break;
case 2:
if (this.aa4(b, this.dn.count - b, d)) {
this.abf(b, this.dn.count - b, d);
this.abd(true);
}
break;
case 1:
if (this.aa4(b, this.dn.count - b, d)) {
var f = new Array(c);
for (var g = 0; g < c; g++) {
f[g] = 0;
}
this.indicatorColumn.s(b, f);
this.abf(b, this.dn.count - b, d);
this.abd(true);
}
break;
case 0:
if (this.aa4(b, this.dn.count - b, d)) {
this.indicatorColumn.v(b, c);
this.abf(b, this.dn.count - b, d);
this.abd(true);
}
break;
case 4:
if (this.aa4(b, this.dn.count - b, d)) {
this.indicatorColumn = new List$1(Number_$type, 2, this.dn.count);
var h = new Array(c);
for (var i = 0; i < c; i++) {
h[i] = 0;
}
this.indicatorColumn.s(0, h);
this.abf(b, this.dn.count - b, d);
this.abd(true);
}
break;
}
};
FinancialIndicator.prototype.get_aa1 = function () {
return 0;
};
Object.defineProperty(FinancialIndicator.prototype, "aa1", {
get: function () {
return this.get_aa1();
},
enumerable: false,
configurable: true
});
Object.defineProperty(FinancialIndicator.prototype, "abq", {
get: function () {
return this.c(FinancialIndicator.abg);
},
set: function (a) {
this.h(FinancialIndicator.abg, a);
},
enumerable: false,
configurable: true
});
FinancialIndicator.prototype.aba = function () {
return -1;
};
Object.defineProperty(FinancialIndicator.prototype, "indicatorColumn", {
get: function () {
return this._indicatorColumn;
},
set: function (a) {
this._indicatorColumn = a;
},
enumerable: false,
configurable: true
});
FinancialIndicator.prototype.q8 = function (a, b, c, d) {
switch (b) {
case "XAxis":
this.aa0.cg();
break;
case "TrendLineType":
var e = EnumUtil.getEnumValue(TrendLineType_$type, d);
if (e != 0) {
this.aa0.b8 = CategoryTrendLineManagerFactory.a(this.aa0.b8, this.w5, this.su, this, this.dr);
}
break;
}
_super.prototype.q8.call(this, a, b, c, d);
if (this.aa0.ca && this.aa0.b8.g$b(a, b, c, d)) {
this.rq(false);
var f = typeCast(FinancialIndicatorView.$, this.cu);
if (f != null && f.ca) {
f.b8.g$b(a, b, c, d);
}
this.qk();
}
switch (b) {
case "FastItemsSource":
if (this.dn != null) {
this.indicatorColumn = new List$1(Number_$type, 2, this.dn.count);
var g = new Array(this.dn.count);
for (var h = 0; h < this.dn.count; h++) {
g[h] = 0;
}
this.indicatorColumn.s(0, g);
this.abf(0, this.dn.count, null);
if (this.xo != null && !this.xo.c1()) {
this.xm.b0.e(this.ic);
this.rq(this.gf && c != null);
}
}
break;
case "TrendLineBrush":
this.re(b);
break;
case FinancialIndicator.$$p[0]:
this.o4(true, this.cv);
this.sh();
this.rq(false);
this.qk();
break;
case "OpenColumn":
case "HighColumn":
case "LowColumn":
case "CloseColumn":
case "VolumeColumn":
if (this.dn != null) {
if (this.indicatorColumn.count != this.dn.count) {
this.indicatorColumn = new List$1(Number_$type, 2, this.dn.count);
var i = new Array(this.dn.count);
for (var j = 0; j < this.dn.count; j++) {
i[j] = 0;
}
this.indicatorColumn.s(0, i);
}
if (this.aa4(0, this.dn.count - 1, b)) {
this.abe();
}
}
break;
case "XAxis":
if (this.w5 != null && (typeCast(ISortingAxis_$type, this.w5) !== null || typeCast(ISortingAxis_$type, c) !== null)) {
this.abe();
}
break;
case "YAxis":
case FinancialIndicator.$$p[1]:
this.abe();
this.qk();
break;
case "TrendLineType":
this.qk();
break;
}
};
FinancialIndicator.prototype.i4 = function (a, b, c) {
if (this.indicatorColumn == null) {
return _super.prototype.i4.call(this, a, b, c);
}
var d = this.getEffectiveViewport1(this.cv);
var e = this.yw(this.cv.by, this.cv.bx, d);
var f = new ScalerParams(0, this.cv.by, this.cv.bx, this.w5.ch, d);
f.c = this.db.wk;
return this.i6(this.indicatorColumn, a, this.w5, f, e, runOn(this, this.yv), b, c);
};
FinancialIndicator.prototype.j9 = function (a, b) {
if (this.indicatorColumn == null) {
return _super.prototype.j9.call(this, a, b);
}
return this.ka(a, b, this.w5, runOn(this, this.yv), this.indicatorColumn);
};
FinancialIndicator.prototype.j7 = function (a, b) {
if (this.indicatorColumn == null) {
return _super.prototype.j7.call(this, a, b);
}
return this.j8(a, b, this.w5, runOn(this, this.yv), this.indicatorColumn);
};
FinancialIndicator.prototype.get_hc = function () {
return true;
};
FinancialIndicator.prototype.aa4 = function (a, b, c) {
if (c == null) {
return true;
}
if (this.aa6(a, b).contains(c)) {
return true;
}
return false;
};
FinancialIndicator.prototype.abf = function (a, b, c) {
this.aa3(a, b);
};
FinancialIndicator.prototype.ay = function (a) {
if (this.dn == null) {
return null;
}
if (a != null && a == this.xo) {
return this.aaz;
}
return null;
};
FinancialIndicator.prototype.gc = function (a) {
var b = this.dn != null ? this.dn.indexOf(a) : -1;
var c = this.cv.by;
c = c.copy();
var d = this.cv.bx;
var e = new Rect(0, 0, 0, 1, 1);
var f = this.wk(this.cv);
if (b >= 0 && Rect.l_op_Inequality(c, null) && Rect.l_op_Inequality(d, null)) {
if (this.w5 != null) {
var g = new ScalerParams(0, e, e, this.w5.ch, f);
var h = this.w5.el(b, g);
if (h < c.left + 0.1 * c.width) {
h = h + 0.4 * c.width;
}
if (h > c.right - 0.1 * c.width) {
h = h - 0.4 * c.width;
}
c.x = h - 0.5 * c.width;
}
if (this.xo != null && this.indicatorColumn != null && b < this.indicatorColumn.count) {
var i = new ScalerParams(0, e, e, this.xo.ch, f);
i.b = this.ix();
var j = this.xo.el(this.indicatorColumn._inner[b], i);
if (j < c.top + 0.1 * c.height) {
j = j + 0.4 * c.height;
}
if (j > c.bottom - 0.1 * c.height) {
j = j - 0.4 * c.height;
}
c.y = j - 0.5 * c.height;
}
this.c3.au(this.db, c, true);
}
return b >= 0;
};
FinancialIndicator.prototype.hd = function (a, b, c) {
var d = _super.prototype.hd.call(this, a, b, c);
if (this.indicatorColumn == null || this.indicatorColumn.count == 0) {
d = false;
}
return d;
};
FinancialIndicator.prototype.aab = function (a, b) {
var _this = this;
_super.prototype.aab.call(this, a, b);
var c = b.by;
var d = b.bx;
var e = this.getEffectiveViewport1(b);
var f = this.w5;
var g = this.xo;
var h = new ScalerParams(0, c, d, f.ch, e);
var i = new ScalerParams(0, c, d, g.ch, e);
i.b = this.ix();
var j = this.w5.ag();
var k = j[0];
var l = j[1];
a.f.clear();
a.n.clear();
a.q.clear();
var m = 0;
var n = typeCast(ISortingAxis_$type, this.w5);
if (n != null && n.i$b.count != this.dn.count) {
return;
}
m = this.yw(c, d, e);
var o = this.aba();
if (o == -1) {
o = this.trendLinePeriod;
}
var p = typeCast(FinancialIndicatorView.$, b);
if (p.ca) {
p.b8.prepareLineCore(a.q, this.trendLineType, this.indicatorColumn, o, function (q) { return _this.w5.el(q, h); }, function (q) { return _this.xo.el(q, i); }, ((function () {
var $ret = new TrendResolutionParams();
$ret.e = b.b0.b;
$ret.f = b.b0.c;
$ret.g = b.b0.d;
$ret.a = m;
$ret.d = _this.ic;
$ret.i = d;
$ret.j = c;
$ret.h = e;
$ret.b = l;
$ret.c = k;
return $ret;
})()));
}
var q = this.w5.eo(2, h) - this.w5.eo(1, h);
for (var r = b.b0.c; r <= b.b0.d; ++r) {
var s = void 0;
if (n == null) {
s = b.b0.getBucket(r);
}
else {
var t = n.i$b._inner[r];
var u = n.i$d(t);
var v = this.indicatorColumn._inner[r];
var w = v;
var x = u;
while (r < b.b0.d) {
t = n.i$b._inner[r + 1];
x = n.i$d(t);
if (x - u > q) {
break;
}
r++;
var y = this.indicatorColumn._inner[r];
v = Math.min(v, y);
w = Math.max(w, y);
}
var z = NaN;
if (!isNaN_(u)) {
z = this.w5.el(u, h);
}
s = [z, v, w];
}
if (!isNaN_(s[0])) {
if (this.w5 != null && typeCast(ISortingAxis_$type, this.w5) !== null) {
s[0] = s[0] + m;
}
else {
s[0] = f.el(s[0], h) + m;
}
s[1] = g.el(s[1], i);
if (b.b0.b > 1 || n != null) {
s[2] = g.el(s[2], i);
}
else {
s[2] = s[1];
}
a.f.add(s);
}
}
return;
};
FinancialIndicator.prototype.o4 = function (a, b) {
_super.prototype.o4.call(this, a, b);
var c = b;
c.cb(a);
if (c.ca) {
c.b8.g$d();
}
};
FinancialIndicator.prototype.xf = function () {
switch (this.aa2) {
case 1: return 1;
case 2: return 1;
case 0: return 12;
}
return 1;
};
FinancialIndicator.prototype.aad = function (a, b) {
_super.prototype.aad.call(this, a, b);
var c = typeCast(FinancialIndicatorView.$, b);
var d = function (e) { return a.f._inner[e][0]; };
var e = function (f) { return a.f._inner[f][1]; };
if (c.ca) {
c.b8.g$d();
c.b8.g$g(a.q);
}
var f = b.bx;
var g = this.getEffectiveViewport1(b);
var h = 0;
var i = this.u8;
var j = this.aav;
if (b.b3(a)) {
c.cb(false);
if (a.f.count > 0) {
switch (this.aa2) {
case 0:
var k = CategorySeries.ym(a.f, a.f.count - 1, f, b.by, false);
c.cf(a.f.count, d, e, true, k);
break;
case 1:
if (this.xo != null) {
h = this.y0(b);
}
else {
h = 0.5 * (f.top + f.bottom);
}
var l = CategorySeries.ym(a.f, a.f.count - 1, f, b.by, false);
c.cd(a.f.count, d, e, true, h, l);
break;
case 2:
h = this.y0(b);
c.ce(a.f.count, d, e, true, h);
break;
default: throw new NotImplementedException(0);
}
}
b.b5(a);
}
var m = a.f;
var n = this.dn.count;
this.xe.a2(this, this.yd(), runOn(this, this.wx), this.y2(b), this.y4(b));
var o = false;
var p = this.xe.b;
if (p != null) {
o = true;
}
this.xe.ak = i;
this.xe.ag = i;
if (o) {
var q = new ScalerParams(0, b.by, b.bx, this.w5.ch, g);
this.xe.f = false;
this.aaa(m, -1, n, this.w5, q, b.q, -1);
}
this.xe.ad(c.cx, true, false, true, false);
this.xe.ad(c.cz, true, false, true, false);
this.xe.ad(c.cy, false, true, false, false);
c.cy._opacity = 0.8 * this.xe.j * this.h8;
this.xe.ad(c.cw, true, false, false, false);
this.xe.ak = j;
this.xe.ag = j;
if (o) {
var r = new ScalerParams(0, b.by, b.bx, this.w5.ch, g);
this.xe.f = true;
this.aaa(m, -1, n, this.w5, r, b.q, -1);
}
this.xe.ad(c.ct, true, false, true, false);
this.xe.ad(c.cv, true, false, true, false);
this.xe.ad(c.cu, false, true, false, false);
c.cu._opacity = 0.8 * this.xe.j * this.h8;
this.xe.ad(c.cs, true, false, false, false);
c.ch();
};
FinancialIndicator.prototype.sg = function () {
_super.prototype.sg.call(this);
if (this.index < 0) {
return;
}
if (this.aa0.ca) {
this.aa0.ci();
}
};
FinancialIndicator.prototype.abe = function () {
if (this.aa0.ca) {
this.aa0.b8.g$i();
}
this.aa3(0, this.indicatorColumn.count);
if (this.xo != null && !this.xo.c1()) {
this.rq(this.gf && this.d7);
}
};
FinancialIndicator.prototype.py = function (a) {
_super.prototype.py.call(this, a);
this.bc.exportTrendlineData(this, a, this.aa0.b8.g$j);
};
FinancialIndicator.prototype.be = function (a) {
if (this.aa2 == 1 || this.aa2 == 2) {
return 3;
}
else if (this.aa2 == 0) {
return 2;
}
return a;
};
FinancialIndicator.$t = markType(FinancialIndicator, 'FinancialIndicator', FinancialSeries.$, [ITrendLineSeries_$type]);
FinancialIndicator.abg = DependencyProperty.i("ActualTrendLineBrush", Brush.$, FinancialIndicator.$, new PropertyMetadata(2, null, function (a, b) { return a.raisePropertyChanged("ActualTrendLineBrush", b.oldValue, b.newValue); }));
FinancialIndicator.$$p = markDep(DependencyProperty, PropertyMetadata, FinancialIndicator, 'raisePropertyChanged', ['DisplayType:aa2:abh', [IndicatorDisplayType_$type, enumGetBox(IndicatorDisplayType_$type, 0)], 'IgnoreFirst:aa8:abi', [1, 0], 'TrendLineType::abo', [TrendLineType_$type, enumGetBox(TrendLineType_$type, 0)], 'TrendLineThickness::abn', [1, 1.5], 'TrendLinePeriod::abm', [1, 7], 'TrendLineBrush::abj', [Brush.$, null], 'TrendLineZIndex:aa9:abp', [1, 1001], 'TrendLineDashArray:abr:abk', [DoubleCollection.$], 'TrendLineDashCap:abs:abl', [PenLineCap_$type, enumGetBox(PenLineCap_$type, 0)]]);
return FinancialIndicator;
}(FinancialSeries));
export { FinancialIndicator };
/**
* @hidden
*/
var FinancialIndicatorBucketCalculator = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(FinancialIndicatorBucketCalculator, _super);
function FinancialIndicatorBucketCalculator(a) {
var _this = _super.call(this, a) || this;
_this.f = null;
_this.f = a;
return _this;
}
FinancialIndicatorBucketCalculator.prototype.getBucket = function (a) {
var b = a * this.b;
var c = Math.min(b + this.b - 1, this.f.b6.indicatorColumn.count - 1);
var d = NaN;
var e = NaN;
for (var f = b; f <= c; ++f) {
var g = this.f.b6.indicatorColumn._inner[f];
if (!isNaN_(d)) {
if (!isNaN_(g)) {
d = Math.min(d, g);
e = Math.max(e, g);
}
}
else {
d = g;
e = g;
}
}
if (!isNaN_(d)) {
return [0.5 * (b + c), d, e];
}
return [NaN, NaN, NaN];
};
FinancialIndicatorBucketCalculator.$t = markType(FinancialIndicatorBucketCalculator, 'FinancialIndicatorBucketCalculator', FinancialBucketCalculator.$);
return FinancialIndicatorBucketCalculator;
}(FinancialBucketCalculator));
export { FinancialIndicatorBucketCalculator };
/**
* @hidden
*/
var FinancialIndicatorView = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(FinancialIndicatorView, _super);
function FinancialIndicatorView(a) {
var _this = _super.call(this, a) || this;
_this.b6 = null;
_this.b9 = null;
_this.cx = ((function () {
var $ret = new Path();
$ret.an = new PathGeometry();
return $ret;
})());
_this.ct = ((function () {
var $ret = new Path();
$ret.an = new PathGeometry();
return $ret;
})());
_this.cy = ((function () {
var $ret = new Path();
$ret.an = new PathGeometry();
return $ret;
})());
_this.cu = ((function () {
var $ret = new Path();
$ret.an = new PathGeometry();
return $ret;
})());
_this.cz = ((function () {
var $ret = new Path();
$ret.an = new PathGeometry();
return $ret;
})());
_this.cv = ((function () {
var $ret = new Path();
$ret.an = new PathGeometry();
return $ret;
})());
_this.cw = ((function () {
var $ret = new Path();
$ret.an = new GeometryGroup();
return $ret;
})());
_this.cs = ((function () {
var $ret = new Path();
$ret.an = new GeometryGroup();
return $ret;
})());
_this.b7 = null;
_this.cp = new Path();
_this.cr = new Path();
_this.cq = new Path();
_this.co = new Path();
_this.cl = new Path();
_this.cn = new Path();
_this.cm = new Path();
_this.ck = new Path();
_this.b6 = a;
_this.b9 = ((function () {
var $ret = new Pool$1(LineGeometry.$);
$ret.create = runOn(_this, _this.cj);
$ret.destroy = runOn(_this, _this.cc);
return $ret;
})());
return _this;
}
FinancialIndicatorView.prototype.b1 = function () {
return new FinancialIndicatorBucketCalculator(this);
};
FinancialIndicatorView.prototype.au = function () {
_super.prototype.au.call(this);
if (!this.q) {
this.b6.aav = Defaults.ah;
this.b6.aa2 = this.b6.aa1;
}
};
FinancialIndicatorView.prototype.cj = function () {
return new LineGeometry();
};
FinancialIndicatorView.prototype.cc = function (a) {
};
Object.defineProperty(FinancialIndicatorView.prototype, "b8", {
get: function () {
if (this.b7 == null) {
this.b7 = CategoryTrendLineManagerFactory.a(this.b7, this.e.a0(), this.e.su, this.e, this.e.dr);
}
return this.b7;
},
set: function (a) {
this.b7 = a;
},
enumerable: false,
configurable: true
});
Object.defineProperty(FinancialIndicatorView.prototype, "ca", {
get: function () {
return this.b7 != null;
},
enumerable: false,
configurable: true
});
FinancialIndicatorView.prototype.cb = function (a) {
Extensions.e(this.cx.an);
Extensions.e(this.cy.an);
Extensions.e(this.cz.an);
Extensions.e(this.ct.an);
Extensions.e(this.cu.an);
Extensions.e(this.cv.an);
Extensions.d(this.cw.an);
Extensions.d(this.cs.an);
if (a) {
this.b9.count = 0;
}
this.as();
};
FinancialIndicatorView.prototype.ch = function () {
};
FinancialIndicatorView.prototype.cf = function (a, b, c, d, e) {
IndicatorRenderer.g(a, b, c, d, this.by, this.bx, this.cx, this.ct, this.b0.b, this.e.ic, e);
this.as();
};
FinancialIndicatorView.prototype.cd = function (a, b, c, d, e, f) {
IndicatorRenderer.e(a, b, c, d, this.by, this.bx, this.cx, this.cy, this.ct, this.cu, e, this.b0.b, this.e.ic, f);
this.as();
};
FinancialIndicatorView.prototype.ce = function (a, b, c, d, e) {
IndicatorRenderer.f(a, b, c, d, this.bx, e, this.b9, this.cw, this.cs);
this.as();
};
FinancialIndicatorView.prototype.ci = function () {
this.b6.abq = null;
if (this.b6.trendLineBrush != null) {
this.b6.abq = this.b6.trendLineBrush;
}
else {
this.b6.abq = this.b6.u8;
}
};
FinancialIndicatorView.prototype.be = function () {
_super.prototype.be.call(this);
var a = this.br();
this.cp.an = this.cx.an;
this.cr.an = this.cz.an;
this.cq.an = this.cy.an;
this.co.an = this.cw.an;
this.cl.an = this.ct.an;
this.cn.an = this.cv.an;
this.cm.an = this.cu.an;
this.ck.an = this.cs.an;
this.cp._stroke = a;
this.cr._stroke = a;
this.cp.ad = this.e.id + 3;
this.cr.ad = this.e.id + 3;
this.cq._fill = a;
this.cq._opacity = 1;
this.co._stroke = a;
this.co.ad = this.e.id + 3;
this.cl._stroke = a;
this.cn._stroke = a;
this.cl.ad = this.e.id + 3;
this.cn.ad = this.e.id + 3;
this.cm._fill = a;
this.cm._opacity = 1;
this.ck._stroke = a;
this.ck.ad = this.e.id + 3;
};
FinancialIndicatorView.prototype.a8 = function (a, b) {
_super.prototype.a8.call(this, a, b);
if (a.d) {
if (b) {
if (this.b6.aa2 == 2) {
a.t(this.co);
a.t(this.ck);
}
else {
a.t(this.cq);
a.t(this.cp);
a.t(this.cr);
a.t(this.cm);
a.t(this.cl);
a.t(this.cn);
}
}
else {
if (this.b6.aa2 == 2) {
a.t(this.cw);
a.t(this.cs);
}
else {
a.t(this.cy);
a.t(this.cx);
a.t(this.cz);
a.t(this.cu);
a.t(this.ct);
a.t(this.cv);
}
}
}
};
FinancialIndicatorView.prototype.a7 = function (a, b) {
if (a.d) {
if (this.b6.trendLineType != 0 && !b) {
var c = this.b8.g$j;
c.ad = this.b6.trendLineThickness;
c._stroke = this.b6.abq;
c.aj = this.b6.abs;
c.ai = this.b6.abr;
a.v(c);
}
}
_super.prototype.a7.call(this, a, b);
};
FinancialIndicatorView.prototype.an = function (a) {
_super.prototype.an.call(this, a);
this.e.bc.exportPathData(a, this.cw, "positiveColumnsShape", ["Positive", "Main"]);
this.e.bc.exportPathData(a, this.cs, "negativeColumnsShape", ["Negative"]);
this.e.bc.exportPathData(a, this.cx, "positive0", ["Positive", "Main"]);
this.e.bc.exportPathData(a, this.cz, "positive1", ["Positive"]);
this.e.bc.exportPathData(a, this.cy, "positive01", ["PositiveFill"]);
this.e.bc.exportPathData(a, this.ct, "negative0", ["Negative", "Main"]);
this.e.bc.exportPathData(a, this.cv, "negative1", ["Negative"]);
this.e.bc.exportPathData(a, this.cu, "negative01", ["NegativeFill"]);
};
FinancialIndicatorView.prototype.cg = function () {
if (this.ca) {
this.b7 = CategoryTrendLineManagerFactory.a(this.b7, this.e.a0(), this.e.su, this.e, this.e.dr);
}
};
FinancialIndicatorView.$t = markType(FinancialIndicatorView, 'FinancialIndicatorView', FinancialSeriesView.$);
return FinancialIndicatorView;
}(FinancialSeriesView));
export { FinancialIndicatorView };