UNPKG

igniteui-react-charts

Version:

Ignite UI React charting components for building rich data visualizations using TypeScript APIs.

351 lines (350 loc) 12.5 kB
/* 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, Number_$type, fromEnum, markType } from "igniteui-react-core"; import { BindingFormatter } from "igniteui-react-core"; import { Dictionary$2 } from "igniteui-react-core"; import { NumberFormatSpecifier } from "igniteui-react-core"; import { DataAbbreviation } from "./DataAbbreviation"; import { DataAbbreviationMode_$type } from "igniteui-react-core"; import { List$1 } from "igniteui-react-core"; import { truncate, isNaN_, isInfinity } from "igniteui-react-core"; import { stringContains, stringIsNullOrEmpty, stringToCharArray } from "igniteui-react-core"; import { padRight, stringFormat, trimEnd } from "igniteui-react-core"; import { round10N } from "igniteui-react-core"; /** * @hidden */ export let DataAbbreviator = /*@__PURE__*/ (() => { class DataAbbreviator extends Base { static p(a, b, c) { if (!DataAbbreviator.e.containsKey(c)) { let d = new BindingFormatter(); d.j = "{0}"; d.d = [((() => { let $ret = new NumberFormatSpecifier(); $ret.locale = "en-US"; $ret.useGrouping = false; $ret.maximumFractionDigits = c; return $ret; })())]; DataAbbreviator.e.item(c, d); } let e = DataAbbreviator.e.item(c); let f = e.i(a); if (stringContains(f, ",")) { f = f.split(',')[1]; } else if (stringContains(f, ".")) { f = f.split('.')[1]; } else { f = ""; } if (b != -1 && f.length < b) { f = padRight(f, f.length + b, '0'); } if (c != -1 && f.length > c) { f = f.substr(0, c); } return f; } static o(a) { let b = stringFormat("0:0.0", a); if (stringContains(b, ",")) { return ","; } return "."; } static r(a) { let b = Math.floor(a); let c = stringFormat("{0}", b); return c; } static b(a, b, c, d) { let e = new DataAbbreviation(); e.a = d; e.c = DataAbbreviator.l(d); e.l = DataAbbreviator.q(d); e.g = a; e.k = (e.g).toString(); e.d = (e.g / e.c); if (c == -1 && d != 0 && d != 1 && d != 9 && d != 8) { c = 2; e.d = round10N(e.d, 2); } else if (c == -1) { c = 5; e.d = round10N(e.d, 5); } let f = DataAbbreviator.o(e.d); if (b < 0 && c < 0) { e.f = truncate(Math.floor(e.d)); e.e = e.d - e.f; e.n = DataAbbreviator.r(e.d); e.j = trimEnd(DataAbbreviator.p(e.d, b, c), '0'); e.i = DataAbbreviator.n(e.j); e.h = DataAbbreviator.m(e.j); e.m = e.n; if (!stringIsNullOrEmpty(e.j)) { e.m += f + e.j; } } else if (b >= 0) { if (c >= b) { e.d = round10N(e.d, c); } e.f = truncate(Math.floor(e.d)); e.e = e.d - e.f; e.n = DataAbbreviator.r(e.d); e.j = DataAbbreviator.p(e.d, b, c); e.m = e.n; if (!stringIsNullOrEmpty(e.j)) { let g = Math.max(b, trimEnd(e.j, '0').length); g = Math.min(g, e.j.length); e.j = e.j.substr(0, g); e.m += f + e.j; e.i = e.j.length; e.h = e.j.length; } else { e.i = 0; e.h = -1; } } else if (c >= 0) { e.d = round10N(e.d, c); e.f = truncate(Math.floor(e.d)); e.e = e.d - e.f; e.n = DataAbbreviator.r(e.d); e.j = trimEnd(DataAbbreviator.p(e.d, b, c), '0'); e.i = DataAbbreviator.n(e.j); e.h = DataAbbreviator.m(e.j); e.m = e.n; if (!stringIsNullOrEmpty(e.j)) { e.m += f + e.j; } } return e; } static s() { if (DataAbbreviator.k == null) { DataAbbreviator.k = ((() => { let $ret = new List$1(DataAbbreviation.$, 0); $ret.add(((() => { let $ret = new DataAbbreviation(); $ret.a = 7; $ret.l = "Q"; $ret.c = 1E+15; return $ret; })())); $ret.add(((() => { let $ret = new DataAbbreviation(); $ret.a = 6; $ret.l = "T"; $ret.c = 1000000000000; return $ret; })())); $ret.add(((() => { let $ret = new DataAbbreviation(); $ret.a = 5; $ret.l = "B"; $ret.c = 1000000000; return $ret; })())); $ret.add(((() => { let $ret = new DataAbbreviation(); $ret.a = 4; $ret.l = "M"; $ret.c = 1000000; return $ret; })())); $ret.add(((() => { let $ret = new DataAbbreviation(); $ret.a = 3; $ret.l = "K"; $ret.c = 1000; return $ret; })())); $ret.add(((() => { let $ret = new DataAbbreviation(); $ret.a = 9; $ret.l = ""; $ret.c = 1; return $ret; })())); return $ret; })()); DataAbbreviator.f = new Dictionary$2(DataAbbreviationMode_$type, DataAbbreviation.$, 0); for (let a of fromEnum(DataAbbreviator.k)) { DataAbbreviator.f.addItem(a.a, a); } } } static l(a) { if (DataAbbreviator.f.containsKey(a)) { return DataAbbreviator.f.item(a).c; } return 1; } static q(a) { if (DataAbbreviator.f.containsKey(a)) { return DataAbbreviator.f.item(a).l; } return ""; } static a(a, b, c, d) { let e = [a]; let f = DataAbbreviator.h(e, b, c, d); return f._inner[0]; } static h(a, b, c = -1, d = -1) { DataAbbreviator.s(); if (c > d) { d = c; } let e = b; if (e == 8 || e == 0) { e = 2; } if (e == 9) { return DataAbbreviator.i(a, c, d); } else if (e == 1) { return DataAbbreviator.g(a, c, d); } else if (e == 2) { e = DataAbbreviator.d(a); } if (e == 9 || e == 3 || e == 4 || e == 5 || e == 6 || e == 7) { return DataAbbreviator.j(e, a, c, d); } return DataAbbreviator.i(a, c, d); } static j(a, b, c = -1, d = -1) { let e = new List$1(DataAbbreviation.$, 0); for (let f = 0; f < b.length; f++) { let g = b[f]; if (isNaN_(g) || isInfinity(g) || !DataAbbreviator.f.containsKey(a)) { e.add(new DataAbbreviation()); } else { let h = DataAbbreviator.b(g, c, d, a); e.add(h); } } let i = c; let j = d; if (i < 0 || j < 0) { for (let k of fromEnum(e)) { i = Math.max(i, k.i); j = Math.max(j, k.h); } if (j > i) { i = j; } } for (let l = 0; l < e.count; l++) { if (e._inner[l].b()) { let m = e._inner[l].g; let n = DataAbbreviator.b(m, i, j, a); e._inner[l] = n; } } return e; } static g(a, b, c) { DataAbbreviator.s(); let d = new List$1(DataAbbreviation.$, 0); for (let e = 0; e < a.length; e++) { let f = a[e]; if (isNaN_(f) || isInfinity(f)) { d.add(new DataAbbreviation()); } else { let g = DataAbbreviator.c(f); let h = DataAbbreviator.b(f, b, c, g); d.add(h); } } return d; } static i(a, b = -1, c = -1) { let d = new List$1(DataAbbreviation.$, 0); for (let e = 0; e < a.length; e++) { let f = a[e]; if (isNaN_(f) || isInfinity(f)) { d.add(new DataAbbreviation()); } else { let g = DataAbbreviator.b(f, b, c, 9); d.add(g); DataAbbreviator.t("abbr.N min=" + g.i + " max=" + g.h + " abbr=" + g.m + g.l + " for " + f); } } return d; } static m(a) { let b = stringToCharArray(a); if (stringContains(a, ".")) { b = stringToCharArray(a.split('.')[1]); } for (let c = b.length - 1; c >= 0; c--) { if (b[c] != '0') { return c + 1; } } return -1; } static n(a) { let b = stringToCharArray(a); if (stringContains(a, ".")) { b = stringToCharArray(a.split('.')[1]); } for (let c = 0; c < b.length; c++) { if (b[c] != '0') { return c + 1; } } return 0; } static d(a) { let b = DataAbbreviator.g(a, -1, -1); b.aa((c, d) => { if (c.c < d.c) { return -1; } if (c.c > d.c) { return 1; } return 0; }); let c = truncate(Math.floor(b.count / 2)); let d = b._inner[c]; return d.a; } static c(a) { if (isNaN_(a) || isInfinity(a)) { return 9; } let b = Math.abs(a); for (let c = 0; c < DataAbbreviator.k.count; c++) { let d = DataAbbreviator.k._inner[c]; if (b >= d.c || c == DataAbbreviator.k.count - 1) { return d.a; } } return 9; } static t(message_) { } } DataAbbreviator.$t = /*@__PURE__*/ markType(DataAbbreviator, 'DataAbbreviator'); DataAbbreviator.k = null; DataAbbreviator.f = null; DataAbbreviator.e = /*@__PURE__*/ new Dictionary$2(Number_$type, BindingFormatter.$, 0); return DataAbbreviator; })();