igniteui-react-charts
Version:
Ignite UI React charting components for building rich data visualizations using TypeScript APIs.
159 lines (158 loc) • 6.93 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, EnumUtil, fromEnum, markType, getInstanceType } from "igniteui-react-core";
import { IAxisVisualDataManager_$type } from "./IAxisVisualDataManager";
import { TextBlock } from "igniteui-react-core";
import { VisualExportHelper } from "./VisualExportHelper";
import { ChartTitleVisualData } from "./ChartTitleVisualData";
import { HorizontalAlignment_$type } from "igniteui-react-core";
import { VerticalAlignment_$type } from "igniteui-react-core";
import { AxisTitlePosition_$type } from "./AxisTitlePosition";
import { RectData } from "igniteui-react-core";
import { AppearanceHelper } from "igniteui-react-core";
import { AxisVisualData } from "./AxisVisualData";
import { PathVisualData } from "igniteui-react-core";
import { List$1 } from "igniteui-react-core";
import { RectangleVisualData } from "igniteui-react-core";
import { AxisLabelVisualData } from "./AxisLabelVisualData";
import { PointData } from "igniteui-react-core";
import { Size } from "igniteui-react-core";
import { SizeData } from "igniteui-react-core";
import { FontUtil } from "igniteui-react-core";
/**
* @hidden
*/
export let AxisVisualDataManager = /*@__PURE__*/ (() => {
class AxisVisualDataManager extends Base {
c(a) {
return a;
}
d(a, b) {
let c = VisualExportHelper.a(b);
return c;
}
a(a, b, c, d) {
let e = new ChartTitleVisualData();
let f = a.bn;
let g = f.bc();
e.viewport = RectData.b(g);
let h = this.d(a, d);
e.textPlotArea = RectData.b(h);
let i = d._visibility == 0 && d.x != null;
let j = a.a0.af.d();
let k = f.bj(d);
let l = this.b(a, d, j);
let m = AppearanceHelper.c(d, l);
m.marginLeft = k.left;
m.marginRight = k.right;
m.marginTop = k.top;
m.marginBottom = k.bottom;
m.fontStretch = "Normal";
m.textWrapping = "Wrap";
m.visibility = i;
if (a.bx != null) {
m.horizontalAlignment = EnumUtil.getName(HorizontalAlignment_$type, a.bx.horizontalAlignment);
m.verticalAlignment = EnumUtil.getName(VerticalAlignment_$type, a.bx.verticalAlignment);
m.textPosition = EnumUtil.getName(AxisTitlePosition_$type, a.bx.position);
}
else {
m.horizontalAlignment = EnumUtil.getName(HorizontalAlignment_$type, (0));
m.verticalAlignment = EnumUtil.getName(VerticalAlignment_$type, (1));
m.textPosition = EnumUtil.getName(AxisTitlePosition_$type, (0));
}
e.appearance = m;
return e;
}
exportVisualData(a) {
let b = new AxisVisualData();
b.viewport = RectData.b(a.n1);
b.labelsViewport = RectData.b(a.bn.bc());
b.type = this.c(getInstanceType(a).typeName);
b.name = a.name;
let c = new PathVisualData(1, "axisLine", a.bn.bd);
b.axisLine = c;
b.tickMarks = new PathVisualData(1, "tickMarks", a.a0.af.aw);
if (!a.a0.ab.contains(a.a0.af.aw)) {
b.tickMarks.data.clear();
}
b.minorLines = new PathVisualData(1, "minorLines", a.bn.bf);
b.majorLines = new PathVisualData(1, "majorLines", a.bn.be);
b.strips = new PathVisualData(1, "strips", a.bn.bg);
if (a.jb != null) {
let d = this.a(a, a.b0, b.type, a.ll);
b.title = d;
}
else {
b.title = null;
}
let e = a.b0.getFontInfo();
if (a.a3 != null && a.a3.textStyle != null) {
e = a.a3.h(a.b0.dp.j.ae);
}
let f, g, h, i;
let j = a.a0.af.aw.an.d;
if (1 < j.count) {
for (let k = 1; k < j.count; k++) {
let l = j._inner[k];
let m = j._inner[k - 1];
f = l.d.x - l.c.x;
g = l.d.y - l.c.y;
h = m.d.x - m.c.x;
i = m.d.y - m.c.y;
if (1 == k) {
b.tickMarksLength = Math.sqrt(Math.pow(f, 2) + Math.pow(g, 2));
}
}
}
let n = a.a0.bd;
let o = a.a0.af.g();
if (n.count > 0) {
for (let p = 0; p < n.count; p++) {
let q = a.a0.bd._inner[p];
let r = a.a0.bc._inner[p];
let s = ((() => {
let $ret = new AxisLabelVisualData();
$ret.labelPosition = q.c;
$ret.labelValue = r;
$ret.panelPosition = PointData.b(a.bn.a9());
return $ret;
})());
let t = new List$1(TextBlock.$, 0);
for (let u of fromEnum(o)) {
t.add(u);
}
if (p < t.count) {
let v = this.b(a, t._inner[p], e);
s.appearance = AppearanceHelper.c(t._inner[p], v);
s.position = PointData.b(a.bn.a8(t._inner[p]));
s.size = SizeData.b(new Size(1, t._inner[p].m, t._inner[p].l));
}
b.labels.add(s);
}
}
let w = null;
if (a.b7.a.count > 0) {
for (let x = 0; x < a.b7.a.count; x++) {
if (w == null) {
w = new List$1(RectangleVisualData.$, 0);
}
let y = new RectangleVisualData(1, "annotationBacking_" + x, a.b7.item(x));
y.appearance.canvasLeft = a.b7.item(x).n;
y.appearance.canvasTop = a.b7.item(x).o;
w.add(y);
}
}
b.annotationBackings = w;
return b;
}
b(a, b, c) {
return FontUtil.getFontInfo(a.b0.dp.j.ae, b, c);
}
}
AxisVisualDataManager.$t = /*@__PURE__*/ markType(AxisVisualDataManager, 'AxisVisualDataManager', Base.$, [IAxisVisualDataManager_$type]);
return AxisVisualDataManager;
})();