igniteui-angular-charts
Version:
Ignite UI Angular charting components for building rich data visualizations for modern web apps.
1,180 lines (1,179 loc) • 41.5 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 { Base, markType, enumGetBox, EnumUtil, Array_$type, runOn, delegateCombine, typeCast, fromEnum, markDep } from "igniteui-angular-core";
import { IBucketizer_$type } from "./IBucketizer";
import { NotImplementedException } from "igniteui-angular-core";
import { CategoryAngleAxis } from "./CategoryAngleAxis";
import { NumericRadiusAxis } from "./NumericRadiusAxis";
import { truncate, intDivide, isNaN_ } from "igniteui-angular-core";
import { MarkerSeries } from "./MarkerSeries";
import { IHasCategoryModePreference_$type } from "./IHasCategoryModePreference";
import { DependencyProperty } from "igniteui-angular-core";
import { RadialLabelMode_$type } from "igniteui-angular-core";
import { CategoryCollisionMode_$type } from "./CategoryCollisionMode";
import { CategoryTransitionInMode_$type } from "./CategoryTransitionInMode";
import { HighlightingInfo } from "igniteui-angular-core";
import { BindingFormatter } from "igniteui-angular-core";
import { OthersCategoryContext } from "./OthersCategoryContext";
import { CategoryTransitionSourceFramePreparer } from "./CategoryTransitionSourceFramePreparer";
import { RadialFrame } from "./RadialFrame";
import { RadialSeriesRenderManager } from "./RadialSeriesRenderManager";
import { List$1 } from "igniteui-angular-core";
import { SeriesPointOfInterest } from "./SeriesPointOfInterest";
import { ScalerParams } from "./ScalerParams";
import { Marker } from "./Marker";
import { MarkerSeriesView } from "./MarkerSeriesView";
import { ProportionalRadialLabelContext } from "./ProportionalRadialLabelContext";
import { SeriesLayerPropertyOverlay } from "./SeriesLayerPropertyOverlay";
import { DoubleCollection } from "igniteui-angular-core";
import { RadialAxes } from "./RadialAxes";
import { Visibility_$type } from "igniteui-angular-core";
import { ChartSelection } from "./ChartSelection";
import { PropertyMetadata } from "igniteui-angular-core";
import { round10N } from "igniteui-angular-core";
import { Pool$1 } from "igniteui-angular-core";
/**
* @hidden
*/
export let RadialBucketCalculator = /*@__PURE__*/ (() => {
class RadialBucketCalculator extends Base {
constructor(a) {
super();
this.a = null;
this.c = 0;
this.d = 0;
this.b = 0;
this.a = a;
}
getBucket(a) {
throw new NotImplementedException(0);
}
getBucketWithoutUnknowns(a) {
return this.getBucket(a);
}
getErrorBucket(a, b) {
return NaN;
}
getBucketInfo(a, b, c, d) {
a = this.c;
b = this.d;
c = this.b;
d = this.a.cw.ic;
return {
p0: a,
p1: b,
p2: c,
p3: d
};
}
e(a) {
let b = this.a.by;
let c = this.a.bx;
let d = this.a.getEffectiveViewport();
let e = this.a.cw.yy;
if (b.isEmpty || c.isEmpty || e == null || this.a.cw.dn == null || this.a.cw.dn.count == 0) {
this.b = 0;
return;
}
let f = Math.floor(e.m9(c, d, b));
let g = Math.ceil(e.m8(c, d, b));
if (e.ch) {
g = Math.ceil(e.m9(c, d, b));
f = Math.floor(e.m8(c, d, b));
}
if (g < f) {
g = e.lj + g;
}
let h = this.a.cw.y4;
let i = h != null ? h.n7 : 0.75;
let j = Math.min(c.width, c.height) * 0.5 * (i) * 2 * Math.PI;
let k = Math.floor((g - f + 1) * a / j);
this.b = truncate(Math.max(1, k));
this.c = truncate(Math.max(0, Math.floor(f / this.b) - 1));
this.d = truncate(Math.ceil(g / this.b));
if (e.cl) {
this.b = 1;
this.c = truncate(Math.max(0, Math.floor(f / this.b) - 1));
this.d = truncate(Math.ceil(g / this.b));
}
}
cacheValues() {
}
unCacheValues() {
}
}
RadialBucketCalculator.$t = markType(RadialBucketCalculator, 'RadialBucketCalculator', Base.$, [IBucketizer_$type]);
return RadialBucketCalculator;
})();
/**
* @hidden
*/
export let RadialBase = /*@__PURE__*/ (() => {
class RadialBase extends MarkerSeries {
constructor() {
super();
this.zf = null;
this.zm = false;
this.zl = false;
this.zj = null;
this.zk = null;
this.assigningRadialStyle = null;
this.assigningRadialMarkerStyle = null;
this.yr = null;
this.yv = null;
this.ys = null;
this.yu = null;
this.yt = null;
this.y5 = new OthersCategoryContext();
this.zb = new RadialFrame(4);
this.zc = new RadialFrame(4);
this.y9 = new RadialFrame(4);
this.y7 = null;
this.y3 = null;
this.y3 = new CategoryTransitionSourceFramePreparer();
this.zf = new RadialSeriesRenderManager();
}
q0(a) {
super.q0(a);
this.y8 = a;
}
aa7() {
if (this.dc.g) {
this.dc.t();
}
}
get categoryAxis() {
return this.yy;
}
a0() {
return this.yy;
}
ym(a, b) {
return null;
}
pr(a) {
if (a == this.y6) {
if (this.fh) {
this.ba.a$x(this, a, this.yy.lk - 1);
}
return;
}
super.pr(a);
}
ee(a) {
if (a == this.y6 && this.yy != null && this.yy.cl && this.yy.hasOthersCategory) {
return true;
}
return super.ee(a);
}
pp(a) {
if (a == this.y6) {
if (this.fh) {
this.ba.a$an(this, a, this.dn.count - 1);
}
return;
}
super.pp(a);
}
eb(a, b, c, d, e) {
if (!this.hasMarkers) {
return false;
}
let f = this.yy;
let g = new ScalerParams(1, this.db.v4, this.wr, f.ch);
g.c = this.getEffectiveViewport1(this.cv);
let h = this.y4;
let i = new ScalerParams(1, this.db.v4, this.wr, h.ch);
i.c = this.getEffectiveViewport1(this.cv);
let j = this.z4;
a.clear();
this.w5.cj((k) => {
if (k._visibility == 0) {
let l = new SeriesPointOfInterest();
let m = k.n;
let n = k.o;
if (m < this.wr.left || m > this.wr.right || n < this.wr.top || n > this.wr.bottom) {
return;
}
let o = null;
if (k.content != null) {
o = k.content.item;
}
let p;
let q;
let r = this.y7.h(m, n, this.cv.by, this.cv.bx, this.cv.getEffectiveViewport(), p, q);
p = r.p5;
q = r.p6;
l.d = p;
l.e = q;
let s = l.e;
let t = k.ak;
l.f = this.aa4(s, o, t, d, j, c, b, false);
l.b = k.content;
l.g = this.vf;
l.c = k.ak;
if (this.g8) {
l.g = this.vm(k.ak);
}
l.a = this.ar(k.ak, k.al);
a.add(l);
}
});
return true;
}
kr(a, b) {
let c = null;
if (this.dn != null) {
if (a >= 0 && a < this.dn.count) {
c = this.dn.item(a);
}
if (this.yy != null && this.yy.cl && a == this.yy.othersIndex) {
c = this.y6;
}
}
let d = NaN;
if (c != null) {
d = this.jb(c);
}
let e = this.aa4(d, c, a, this.z3 >= 0 ? this.z3 : 5, this.z4, false, false, b);
if (e != null) {
return e;
}
return super.kr(a, b);
}
aa4(a, b, c, d, e, f, g, h) {
let i = null;
let j = (b == this.y6);
let k = this.zd;
if (h) {
k = this.ze;
}
if (k == 0) {
if (h) {
k = 5;
}
else {
k = 6;
}
}
if ((h && ((this.ys != null) || (j && this.yt != null))) || (!h && ((this.yv != null) || (j && this.yu != null)))) {
let l = this.z0(a, b, c, d, f);
let m = this.z1(a, b, c, e, f);
let n = this.aal(c);
let o = ((() => {
let $ret = new ProportionalRadialLabelContext();
$ret.value = l;
$ret.percent = m;
$ret.label = n;
$ret.item = b;
return $ret;
})());
let p = null;
if (j) {
if (h) {
p = this.yt;
}
else {
p = this.yu;
}
if (p == null) {
if (h) {
p = this.ys;
}
else {
p = this.yv;
}
}
}
else {
if (h) {
p = this.ys;
}
else {
p = this.yv;
}
}
i = p.i(o);
}
else if (k != 1) {
switch (k) {
case 2:
i = this.aam(a, b, c, d, f);
break;
case 3:
i = this.aan(a, b, c, e, f);
break;
case 4:
{
let q = this.aam(a, b, c, d, f);
let r = this.aan(a, b, c, e, f);
i = q + this.aac + r;
}
break;
case 5:
i = this.aal(c);
break;
case 6:
{
let s = this.aam(a, b, c, d, f);
let t = this.aal(c);
i = t + this.aac + s;
}
break;
case 7:
{
let u = this.aan(a, b, c, e, f);
let v = this.aal(c);
i = v + this.aac + u;
}
break;
case 8:
{
let w = this.aam(a, b, c, d, f);
let x = this.aan(a, b, c, e, f);
let y = this.aal(c);
i = y + this.aac + w + this.aac + x;
}
break;
}
}
else {
if (g) {
i = this.aam(a, b, c, d, f);
}
else {
i = this.aal(c);
}
}
return i;
}
aal(a) {
let b = this.yy;
let c = this.au(true);
if (this.yy != null && this.yy.cl && this.yy.hasOthersCategory && a == this.yy.othersIndex) {
if (this.yr != null) {
c = this.yr;
}
}
if (c != null) {
let d = super.kr(a, false);
if (d != null) {
return c.i(d);
}
else {
return null;
}
}
else {
return b.gf(a);
}
}
aam(a, b, c, d, e) {
let f = a;
f = this.z8(c, f);
if (e) {
return this.aaa(f, d);
}
else {
a = this.jb(b);
if (!isNaN_(a)) {
return this.aaa(a, d);
}
else {
return this.aaa(f, d);
}
}
}
z0(a, b, c, d, e) {
let f = a;
f = this.z8(c, f);
if (e) {
return f;
}
else {
a = this.jb(b);
if (!isNaN_(a)) {
return a;
}
else {
return f;
}
}
}
aan(a, b, c, d, e) {
if (this.yy == null || !this.yy.cl) {
return this.aam(a, b, c, d, e);
}
let f = this.yy.oa(c);
if (e) {
return this.aaa(f, d) + "%";
}
else {
a = this.yy.oa(c);
if (!isNaN_(a)) {
return this.aaa(a, d) + "%";
}
else {
return this.aaa(f, d) + "%";
}
}
}
z1(a, b, c, d, e) {
if (this.yy == null || !this.yy.cl) {
return this.z0(a, b, c, d, e);
}
let f = this.yy.oa(c);
if (e) {
return f;
}
else {
a = this.yy.oa(c);
if (!isNaN_(a)) {
return a;
}
else {
return f;
}
}
}
z8(a, b) {
return b;
}
aaa(a, b) {
let c;
if (b >= 0) {
c = round10N(a, b);
}
else {
c = a;
}
let d = this.au(false);
if (d != null) {
let e = d;
return e.i(c);
}
else {
return c.toString();
}
}
get_fs() {
return true;
}
get_fd() {
return true;
}
zg(a, b, c) {
let d = new HighlightingInfo();
d.i = this;
d.g = 0;
d.f = this.dn.count - 1;
d.c = true;
if (c != null && c.g == d.g && c.f == d.f) {
return c;
}
return d;
}
zx() {
return false;
}
hs() {
let a = super.hs();
if (this.zx()) {
let b = ((() => {
let $ret = new SeriesLayerPropertyOverlay();
$ret.r = true;
$ret.ad = "DashArray";
$ret.p = true;
$ret.x = ((() => {
let $ret = new DoubleCollection();
$ret.add(5);
$ret.add(5);
return $ret;
})());
$ret.q = true;
return $ret;
})());
a.add(b);
}
if (!this.zx()) {
let c = ((() => {
let $ret = new SeriesLayerPropertyOverlay();
$ret.r = true;
$ret.ad = "Brush";
$ret.p = true;
$ret.y = "ActualBrush";
$ret.q = true;
return $ret;
})());
c.valueResolving = delegateCombine(c.valueResolving, runOn(this, this.rz));
a.add(c);
}
if (!this.zx()) {
let d = ((() => {
let $ret = new SeriesLayerPropertyOverlay();
$ret.r = true;
$ret.ad = "Outline";
$ret.p = true;
$ret.y = "ActualOutline";
$ret.q = true;
return $ret;
})());
d.valueResolving = delegateCombine(d.valueResolving, runOn(this, this.rz));
a.add(d);
}
let e = ((() => {
let $ret = new SeriesLayerPropertyOverlay();
$ret.p = true;
$ret.ad = "IsTransitionInEnabled";
$ret.x = true;
$ret.q = true;
return $ret;
})());
a.add(e);
let f = ((() => {
let $ret = new SeriesLayerPropertyOverlay();
$ret.p = true;
$ret.ad = "TransitionInMode";
$ret.x = enumGetBox(CategoryTransitionInMode_$type, 20);
$ret.q = true;
return $ret;
})());
a.add(f);
return a;
}
ku() {
if (this.d3()) {
return this.bn.zc;
}
else {
return this.bn.y9;
}
}
zh(a, b, c) {
if (this.dn == null) {
return null;
}
let d = this.y8.cx.c;
let e = this.y8.cx.d;
let f = this.y8.cx.b;
let g = this.za();
let h = this.dn.count;
let i = this.yy;
let j = -1;
let k = -1;
let l = this.j2(b);
if (isNaN_(b.x) || isNaN_(b.y)) {
if (a != null && this.dn != null) {
if (a == this.y6) {
l = this.yy.othersIndex;
}
else {
l = this.dn.indexOf(a);
}
}
}
j = truncate(Math.floor((intDivide(l, f)))) * f;
k = j + (f - 1);
if (c != null && c.g == j && c.f == k) {
return c;
}
let m = new HighlightingInfo();
m.i = this;
m.g = j;
m.f = k;
return m;
}
zi(a, b, c) {
if (this.dn == null) {
return null;
}
let d = this.y8.cx.c;
let e = this.y8.cx.d;
let f = this.y8.cx.b;
let g = this.za();
let h = this.dn.count;
let i = this.yy;
let j = -1;
let k = -1;
let l = this.j2(b);
if (isNaN_(b.x) || isNaN_(b.y)) {
if (a != null && this.dn != null) {
if (a == this.y6) {
l = this.yy.othersIndex;
}
else {
l = this.dn.indexOf(a);
}
}
}
j = truncate(Math.floor((intDivide(l, f)))) * f;
k = j + (f - 1);
if (c != null && c.g == j && c.f == k) {
return c;
}
let m = new HighlightingInfo();
m.d = true;
m.i = this;
m.g = j;
m.f = k;
return m;
}
dg(a, b, c) {
if (this.ed && this.fy(this.bx) && !c) {
let d = this.zh(a, b, this.zj);
this.zj = d;
return d;
}
else {
let e = this.zg(a, b, this.zj);
this.zj = e;
return e;
}
}
dh(a, b, c) {
if (this.fy(this.bx) && !c) {
let d = this.zi(a, b, this.zk);
this.zk = d;
return d;
}
else {
let e = this.zg(a, b, this.zk);
e.d = true;
this.zk = e;
return e;
}
}
zw() {
return (this.assigningRadialStyle != null && this.zm) || this.d2 || (this.bx != 1) || (this.cp != 1) || (this.co != 1);
}
zv() {
return (this.assigningRadialMarkerStyle != null && this.zl) || this.d2 || (this.bx != 1) || (this.cp != 1) || (this.co != 1);
}
aba(a) {
if (this.assigningRadialStyle != null && this.zm) {
this.assigningRadialStyle(this, a);
}
}
aa9(a) {
if (this.assigningRadialMarkerStyle != null && this.zl) {
this.assigningRadialMarkerStyle(this, a);
}
}
z5(a) {
return a.cx.b;
}
z6(a) {
return a.cx.c;
}
ai() {
return [this.yy, this.y4];
}
sq(a, b) {
this.y8.cx.e(this.ic);
this.rq(false);
}
sp(a, b) {
if (this.g0 && this.jp < 0.05 && (this.db == null || !this.db.fn())) {
this.g1 = true;
this.g4 = false;
this.gj = false;
}
this.y8.cx.e(this.ic);
this.rq(false);
}
q8(a, b, c, d) {
super.q8(a, b, c, d);
switch (b) {
case RadialBase.$$p[6]:
this.rq(false);
break;
case RadialBase.$$p[14]:
this.pd();
this.rq(false);
break;
case "SeriesViewer":
if (c != null && d == null) {
if (this.yy != null) {
this.yy.b0(this);
}
if (this.y4 != null) {
this.y4.b0(this);
}
}
if (c == null && d != null) {
if (this.yy != null) {
this.yy.ct(this);
}
if (this.y4 != null) {
this.y4.ct(this);
}
}
this.y8.cx.e(this.ic);
this.rq(false);
break;
case RadialBase.$$p[0]:
if (this.yy != null && this.y4 != null) {
this.y7 = new RadialAxes(this.y4, this.yy);
}
if (c != null) {
c.b0(this);
}
if (d != null) {
d.ct(this);
}
this.y8.cx.e(this.ic);
this.rq(false);
break;
case RadialBase.$$p[22]:
if (this.yy != null && this.y4 != null) {
this.y7 = new RadialAxes(this.y4, this.yy);
}
if (c != null) {
c.b0(this);
}
if (d != null) {
d.ct(this);
}
this.y8.cx.e(this.ic);
if (this.y4 == null || !this.y4.c1()) {
this.rq(false);
}
break;
case RadialBase.$$p[3]:
case RadialBase.$$p[4]:
if (this.aae != null) {
this.yr = new BindingFormatter();
this.yr.j = this.aae;
this.yr.d = this.yl;
}
else {
this.yr = null;
}
break;
case RadialBase.$$p[19]:
case RadialBase.$$p[20]:
if (this.aa1 != null) {
this.yv = new BindingFormatter();
this.yv.j = this.aa1;
this.yv.d = this.yq;
}
else {
this.yv = null;
}
break;
case RadialBase.$$p[12]:
case RadialBase.$$p[13]:
if (this.aar != null) {
this.ys = new BindingFormatter();
this.ys.j = this.aar;
this.ys.d = this.yn;
}
else {
this.ys = null;
}
break;
case RadialBase.$$p[17]:
case RadialBase.$$p[18]:
if (this.aa1 != null) {
this.yu = new BindingFormatter();
this.yu.j = this.aay;
this.yu.d = this.yp;
}
else {
this.yu = null;
}
break;
case RadialBase.$$p[15]:
case RadialBase.$$p[16]:
if (this.aar != null) {
this.yt = new BindingFormatter();
this.yt.j = this.aav;
this.yt.d = this.yo;
}
else {
this.yt = null;
}
break;
case "SyncLink":
if (this.c3 != null && this.db != null) {
this.y8.cx.e(this.ic);
this.rq(false);
}
break;
case "TransitionProgress":
this.zc.c(this.jp, this.zb, this.y9);
if (this.d5(this.cv)) {
return;
}
if (this.jp == 1) {
this.y9.w();
this.abb(this.y9, this.y8);
if (this.g0) {
this.g0 = false;
this.o5();
this.dc.r = truncate(this.i8());
this.dc.b = this.dd;
}
if (this.g3) {
this.g3 = false;
this.o5();
this.dc.r = truncate(this.i8());
this.dc.b = this.dd;
this.qz();
}
this.qn();
}
else {
this.abb(this.zc, this.y8);
}
if (this.db != null) {
this.db.qo(this);
}
break;
case RadialBase.$$p[8]:
this.rq(false);
this.qk();
break;
case "VisibilityProxy":
if (EnumUtil.getEnumValue(Visibility_$type, c) != 0 && EnumUtil.getEnumValue(Visibility_$type, d) == 0) {
this.y8.cx.e(this.ic);
}
break;
case RadialBase.$$p[10]:
this.zm = this.zu();
this.rq(false);
break;
case RadialBase.$$p[9]:
this.zl = this.zt();
this.rq(false);
break;
}
}
zu() {
return this.zr;
}
zt() {
return this.zq;
}
zo(a) {
if (typeCast(NumericRadiusAxis.$, a) !== null) {
return true;
}
return false;
}
zn(a) {
if (typeCast(CategoryAngleAxis.$, a) !== null) {
return true;
}
return false;
}
get_y6() {
return this.y5;
}
get y6() {
return this.get_y6();
}
km(a) {
let b = this.j2(a);
let c = false;
if (this.yy != null && this.yy.cl) {
let d = this.yy;
let e = d.hasOthersCategory && b == this.yy.lj - 1;
c = e;
}
if (c) {
let f = this.yy;
return this.y6;
}
return b >= 0 && this.dn != null && b < this.dn.count ? this.dn.item(b) : null;
}
zy(a) {
let b = this.cv.by;
let c = this.cv.bx;
let d = this.cv.getEffectiveViewport();
if (this.yy != null && !b.isEmpty && !c.isEmpty && this.y7 != null) {
let e = this.y7.c(a, b, c, d);
if (e < 0) {
e += Math.PI * 2;
}
if (e > Math.PI * 2) {
e -= Math.PI * 2;
}
return e;
}
return NaN;
}
iq(a) {
let b = this.cv.by;
let c = this.cv.bx;
let d = this.getEffectiveViewport1(this.cv);
let e = -1;
if (this.yy != null && !b.isEmpty && !c.isEmpty && this.y7 != null) {
let f = this.y7.c(a, b, c, d);
if (f < 0) {
f += Math.PI * 2;
}
if (f > Math.PI * 2) {
f -= Math.PI * 2;
}
let g = this.yy.getUnscaledAngle(f);
if (this.yy.categoryMode != 0) {
g -= 0.5;
}
e = g;
}
return e;
}
zz(a, b, c, d) {
return this.yy.m7(a, b, c, d);
}
j2(a) {
let b = truncate(Math.round(this.iq(a)));
let c = false;
if (this.yy != null && this.yy.cl) {
let d = this.yy;
let e = d.hasOthersCategory && b == this.yy.lj - 1;
c = e;
}
if (c) {
let f = this.yy;
return this.yy.lj - 1;
}
if (this.dn != null && b == this.dn.count) {
b = 0;
}
return b;
}
gc(a) {
return false;
}
za() {
let a = this.y9;
if (this.d3()) {
if (this.dc.g) {
this.dc.t();
}
a = this.zc;
}
return a;
}
qa() {
super.qa();
if (this.yy != null) {
this.yy.ib(false);
}
if (this.y4 != null) {
this.y4.ib(false);
}
}
hd(a, b, c) {
let d = true;
let e = c;
if (!super.hd(a, b, c) || !c.o() || b.isEmpty || a.isEmpty || this.yy == null || this.yy.itemsSource == null || this.y4 == null || this.y7 == null || this.dn == null || this.yy.bi == null || this.y4.bi == null || this.y4.l4 == this.y4.l3) {
e.cx.b = 0;
d = false;
}
return d;
}
y1() {
return 1;
}
z2() {
return Math.max(0, 0.5 * this.y4.n6);
}
gm() {
return this.zs;
}
gn() {
return true;
}
rr(a) {
super.rr(a);
this.y8.cx.e(this.ic);
if (this.d5(this.cv)) {
this.y9.z();
this.zc.z();
this.zb.z();
return;
}
if (this.gq) {
if (this.d3()) {
if (this.dc.g) {
this.dc.t();
}
this.abb(this.zc, this.y8);
}
else {
this.abb(this.y9, this.y8);
}
return;
}
if (this.ge(a)) {
let b = this.zb;
if (this.d3()) {
if (this.dc.g) {
this.dc.t();
}
this.zb = this.zc;
this.zc = b;
}
else {
this.zb = this.y9;
this.y9 = b;
}
let c = false;
this.aa8(this.y9, this.y8);
if (this.g2) {
this.dc.w();
this.dc.r = truncate(this.i9());
this.dc.b = this.de != null ? this.de : this.dd;
if (this.g3) {
let d = this.zc;
this.zc = this.zb;
this.zb = d;
c = true;
}
this.y3.s(this, this.zb, this.y9, this.isVertical, this.yy, this.y4, this.y2, this.y1(), this.c5, this.c4(), runOn(this, this.z2), this.y8.bx);
if (this.g3) {
let e = this.zc;
this.zc = this.zb;
this.zb = e;
}
this.g3 = false;
}
if (this.g5) {
this.dc.w();
this.dc.r = truncate(this.ja());
this.dc.b = this.df != null ? this.df : this.dd;
if (this.g0) {
let f = this.zc;
this.zc = this.zb;
this.zb = f;
c = true;
}
this.y3.s(this, this.zb, this.y9, this.isVertical, this.yy, this.y4, this.y2, this.y1(), this.c5, this.c4(), runOn(this, this.z2), this.y8.bx);
let g = this.y9;
this.y9 = this.zb;
this.zb = g;
if (this.g0) {
let h = this.zc;
this.zc = this.zb;
this.zb = h;
}
this.g0 = false;
}
this.d9 = false;
if (!c) {
this.o0();
}
this.r6();
if (this.g2) {
this.g1 = false;
this.g0 = true;
}
if (this.g5) {
this.g4 = false;
this.g3 = true;
}
}
else {
this.aa8(this.y9, this.y8);
this.abb(this.y9, this.y8);
}
}
z7() {
if (this.bn != null) {
let a = this.bn;
return a.z7();
}
let b = 0;
for (let c of fromEnum(this.db.series)) {
if (c == this || this.bn == c) {
return b;
}
let d = typeCast(RadialBase.$, c);
if (d != null && d.yy == this.yy && d.preferredCategoryMode(d.yy) == 2) {
b++;
}
}
return -1;
}
ak(a, b) {
let c = new List$1(ChartSelection.$, 0);
this.p3(a, c, b);
return c.toArray();
}
p3(a, b, c) {
let d = this.cv.by;
let e = this.cv.bx;
let f = this.cv.getEffectiveViewport();
let g, h;
let i = this.y7.f(a, d, e, f, g, h);
g = i.p4;
h = i.p5;
if (g == -1 || h == -1) {
return;
}
let j = h - g + 1;
if (g > h) {
j = this.yy.lk - g + h + 1;
}
if (j > 0 && (c == 7 || c == 6)) {
b.add(((() => {
let $ret = new ChartSelection();
$ret.series = this;
return $ret;
})()));
return;
}
for (let k = 0; k < j; k++) {
let l = (k + g) % (this.yy.lk);
if (c == 2 || c == 1) {
b.add(((() => {
let $ret = new ChartSelection();
$ret.item = this.yy.kv.item(l);
return $ret;
})()));
}
else {
b.add(((() => {
let $ret = new ChartSelection();
$ret.item = this.yy.kv.item(l);
$ret.series = this;
return $ret;
})()));
}
}
}
}
RadialBase.$t = markType(RadialBase, 'RadialBase', MarkerSeries.$, [IHasCategoryModePreference_$type]);
RadialBase.$$p = markDep(DependencyProperty, PropertyMetadata, RadialBase, 'raisePropertyChanged', ['AngleAxis:yy:abc', [CategoryAngleAxis.$, null], 'AutoCalloutLabelPrecision:z3:abd', [1, -1], 'AutoCalloutLabelValueSeparator:aac:abe', [2, " - "], 'AutoCalloutOthersLabelFormat:aae:abf', [2, null], 'AutoCalloutOthersLabelFormatSpecifiers:yl:abg', [Array_$type, null], 'AutoCalloutPercentagePrecision:z4:abh', [1, 2], 'AutoCalloutRadialLabelMode:zd:abi', [RadialLabelMode_$type, enumGetBox(RadialLabelMode_$type, 0)], 'CategoryCollisionMode:yz:abj', [CategoryCollisionMode_$type, enumGetBox(CategoryCollisionMode_$type, 1)], 'ClipSeriesToBounds:zp:abk', [0, false], 'IsCustomRadialMarkerStyleAllowed:zq:abl', [0, false], 'IsCustomRadialStyleAllowed:zr:abm', [0, false], 'IsTransitionInEnabled:zs:abn', [0, false], 'LegendProportionalRadialLabelFormat:aar:abo', [2, null], 'LegendProportionalRadialLabelFormatSpecifiers:yn:abp', [Array_$type, null], 'LegendRadialLabelMode:ze:abq', [RadialLabelMode_$type, enumGetBox(RadialLabelMode_$type, 0)], 'OthersLegendProportionalRadialLabelFormat:aav:abr', [2, null], 'OthersLegendProportionalRadialLabelFormatSpecifiers:yo:abs', [Array_$type, null], 'OthersProportionalRadialLabelFormat:aay:abt', [2, null], 'OthersProportionalRadialLabelFormatSpecifiers:yp:abu', [Array_$type, null], 'ProportionalRadialLabelFormat:aa1:abv', [2, null], 'ProportionalRadialLabelFormatSpecifiers:yq:abw', [Array_$type, null], 'TransitionInMode:y2:abx', [CategoryTransitionInMode_$type, enumGetBox(CategoryTransitionInMode_$type, 0)], 'ValueAxis:y4:aby', [NumericRadiusAxis.$, null]]);
return RadialBase;
})();
/**
* @hidden
*/
export let RadialBaseView = /*@__PURE__*/ (() => {
class RadialBaseView extends MarkerSeriesView {
constructor(a) {
super(a);
this.cx = null;
this.cw = null;
this.cy = null;
this.cz = 0;
this.c0 = null;
this.cw = a;
this.cy = new Pool$1(Marker.$);
this.cn(this.cy);
}
cj(a) {
this.cy.c(a);
}
}
RadialBaseView.$t = markType(RadialBaseView, 'RadialBaseView', MarkerSeriesView.$);
return RadialBaseView;
})();