%PDF- %PDF-
| Direktori : /home/tjamichg/intranet.tjamich.gob.mx/intranet/common/vendors/jquery-highcharts/ |
| Current File : /home/tjamichg/intranet.tjamich.gob.mx/intranet/common/vendors/jquery-highcharts/funnel.js |
/*
Highcharts funnel module
(c) 2010-2014 Torstein Honsi
License: www.highcharts.com/license
*/
(function (d) {
var u = d.getOptions().plotOptions, p = d.seriesTypes, D = d.merge, z = function () {
}, A = d.each;
u.funnel = D(u.pie, {center: ["50%", "50%"], width: "90%", neckWidth: "30%", height: "100%", neckHeight: "25%", dataLabels: {connectorWidth: 1, connectorColor: "#606060"}, size: !0, states: {select: {color: "#C0C0C0", borderColor: "#000000", shadow: !1}}});
p.funnel = d.extendClass(p.pie, {type: "funnel", animate: z, translate: function () {
var a = function (k, a) {
return/%$/.test(k) ? a * parseInt(k, 10) / 100 : parseInt(k, 10)
}, g = 0, e = this.chart, f = e.plotWidth,
e = e.plotHeight, h = 0, c = this.options, C = c.center, b = a(C[0], f), d = a(C[0], e), p = a(c.width, f), i, q, j = a(c.height, e), r = a(c.neckWidth, f), s = a(c.neckHeight, e), v = j - s, a = this.data, w, x, u = c.dataLabels.position === "left" ? 1 : 0, y, m, B, n, l, t, o;
this.getWidthAt = q = function (k) {
return k > j - s || j === s ? r : r + (p - r) * ((j - s - k) / (j - s))
};
this.getX = function (k, a) {
return b + (a ? -1 : 1) * (q(k) / 2 + c.dataLabels.distance)
};
this.center = [b, d, j];
this.centerX = b;
A(a, function (a) {
g += a.y
});
A(a, function (a) {
o = null;
x = g ? a.y / g : 0;
m = d - j / 2 + h * j;
l = m + x * j;
i = q(m);
y = b - i / 2;
B = y +
i;
i = q(l);
n = b - i / 2;
t = n + i;
m > v ? (y = n = b - r / 2, B = t = b + r / 2) : l > v && (o = l, i = q(v), n = b - i / 2, t = n + i, l = v);
w = ["M", y, m, "L", B, m, t, l];
o && w.push(t, o, n, o);
w.push(n, l, "Z");
a.shapeType = "path";
a.shapeArgs = {d: w};
a.percentage = x * 100;
a.plotX = b;
a.plotY = (m + (o || l)) / 2;
a.tooltipPos = [b, a.plotY];
a.slice = z;
a.half = u;
h += x
});
this.setTooltipPoints()
}, drawPoints: function () {
var a = this, g = a.options, e = a.chart.renderer;
A(a.data, function (f) {
var h = f.graphic, c = f.shapeArgs;
h ? h.animate(c) : f.graphic = e.path(c).attr({fill: f.color, stroke: g.borderColor, "stroke-width": g.borderWidth}).add(a.group)
})
},
sortByAngle: z, drawDataLabels: function () {
var a = this.data, g = this.options.dataLabels.distance, e, f, h, c = a.length, d, b;
for (this.center[2] -= 2 * g; c--;)h = a[c], f = (e = h.half) ? 1 : -1, b = h.plotY, d = this.getX(b, e), h.labelPos = [0, b, d + (g - 5) * f, b, d + g * f, b, e ? "right" : "left", 0];
p.pie.prototype.drawDataLabels.call(this)
}})
})(Highcharts);