#167 Patching to make render error-free in IE7. Modernizr is used to disable libraries.
[ckanext-ga-report.git] / ckanext / ga_report / public / scripts / vendor / d3.v2.js
blob:a/ckanext/ga_report/public/scripts/vendor/d3.v2.js -> blob:b/ckanext/ga_report/public/scripts/vendor/d3.v2.js
(function() { if (Modernizr.svg){(function() {
function d3_class(ctor, properties) { function d3_class(ctor, properties) {
try { try {
for (var key in properties) { for (var key in properties) {
Object.defineProperty(ctor.prototype, key, { Object.defineProperty(ctor.prototype, key, {
value: properties[key], value: properties[key],
enumerable: false enumerable: false
}); });
} }
} catch (e) { } catch (e) {
ctor.prototype = properties; ctor.prototype = properties;
} }
} }
function d3_arrayCopy(pseudoarray) { function d3_arrayCopy(pseudoarray) {
var i = -1, n = pseudoarray.length, array = []; var i = -1, n = pseudoarray.length, array = [];
while (++i < n) array.push(pseudoarray[i]); while (++i < n) array.push(pseudoarray[i]);
return array; return array;
} }
function d3_arraySlice(pseudoarray) { function d3_arraySlice(pseudoarray) {
return Array.prototype.slice.call(pseudoarray); return Array.prototype.slice.call(pseudoarray);
} }
function d3_Map() {} function d3_Map() {}
function d3_identity(d) { function d3_identity(d) {
return d; return d;
} }
function d3_this() { function d3_this() {
return this; return this;
} }
function d3_true() { function d3_true() {
return true; return true;
} }
function d3_functor(v) { function d3_functor(v) {
return typeof v === "function" ? v : function() { return typeof v === "function" ? v : function() {
return v; return v;
}; };
} }
function d3_rebind(target, source, method) { function d3_rebind(target, source, method) {
return function() { return function() {
var value = method.apply(source, arguments); var value = method.apply(source, arguments);
return arguments.length ? target : value; return arguments.length ? target : value;
}; };
} }
function d3_number(x) { function d3_number(x) {
return x != null && !isNaN(x); return x != null && !isNaN(x);
} }
function d3_zipLength(d) { function d3_zipLength(d) {
return d.length; return d.length;
} }
function d3_splitter(d) { function d3_splitter(d) {
return d == null; return d == null;
} }
function d3_collapse(s) { function d3_collapse(s) {
return s.trim().replace(/\s+/g, " "); return s.trim().replace(/\s+/g, " ");
} }
function d3_range_integerScale(x) { function d3_range_integerScale(x) {
var k = 1; var k = 1;
while (x * k % 1) k *= 10; while (x * k % 1) k *= 10;
return k; return k;
} }
function d3_dispatch() {} function d3_dispatch() {}
function d3_dispatch_event(dispatch) { function d3_dispatch_event(dispatch) {
function event() { function event() {
var z = listeners, i = -1, n = z.length, l; var z = listeners, i = -1, n = z.length, l;
while (++i < n) if (l = z[i].on) l.apply(this, arguments); while (++i < n) if (l = z[i].on) l.apply(this, arguments);
return dispatch; return dispatch;
} }
var listeners = [], listenerByName = new d3_Map; var listeners = [], listenerByName = new d3_Map;
event.on = function(name, listener) { event.on = function(name, listener) {
var l = listenerByName.get(name), i; var l = listenerByName.get(name), i;
if (arguments.length < 2) return l && l.on; if (arguments.length < 2) return l && l.on;
if (l) { if (l) {
l.on = null; l.on = null;
listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1)); listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1));
listenerByName.remove(name); listenerByName.remove(name);
} }
if (listener) listeners.push(listenerByName.set(name, { if (listener) listeners.push(listenerByName.set(name, {
on: listener on: listener
})); }));
return dispatch; return dispatch;
}; };
return event; return event;
} }
function d3_format_precision(x, p) { function d3_format_precision(x, p) {
return p - (x ? 1 + Math.floor(Math.log(x + Math.pow(10, 1 + Math.floor(Math.log(x) / Math.LN10) - p)) / Math.LN10) : 1); return p - (x ? 1 + Math.floor(Math.log(x + Math.pow(10, 1 + Math.floor(Math.log(x) / Math.LN10) - p)) / Math.LN10) : 1);
} }
function d3_format_typeDefault(x) { function d3_format_typeDefault(x) {
return x + ""; return x + "";
} }
function d3_format_group(value) { function d3_format_group(value) {
var i = value.lastIndexOf("."), f = i >= 0 ? value.substring(i) : (i = value.length, ""), t = []; var i = value.lastIndexOf("."), f = i >= 0 ? value.substring(i) : (i = value.length, ""), t = [];
while (i > 0) t.push(value.substring(i -= 3, i + 3)); while (i > 0) t.push(value.substring(i -= 3, i + 3));
return t.reverse().join(",") + f; return t.reverse().join(",") + f;
} }
function d3_formatPrefix(d, i) { function d3_formatPrefix(d, i) {
var k = Math.pow(10, Math.abs(8 - i) * 3); var k = Math.pow(10, Math.abs(8 - i) * 3);
return { return {
scale: i > 8 ? function(d) { scale: i > 8 ? function(d) {
return d / k; return d / k;
} : function(d) { } : function(d) {
return d * k; return d * k;
}, },
symbol: d symbol: d
}; };
} }
function d3_ease_clamp(f) { function d3_ease_clamp(f) {
return function(t) { return function(t) {
return t <= 0 ? 0 : t >= 1 ? 1 : f(t); return t <= 0 ? 0 : t >= 1 ? 1 : f(t);
}; };
} }
function d3_ease_reverse(f) { function d3_ease_reverse(f) {
return function(t) { return function(t) {
return 1 - f(1 - t); return 1 - f(1 - t);
}; };
} }
function d3_ease_reflect(f) { function d3_ease_reflect(f) {
return function(t) { return function(t) {
return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t)); return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t));
}; };
} }
function d3_ease_identity(t) { function d3_ease_identity(t) {
return t; return t;
} }
function d3_ease_poly(e) { function d3_ease_poly(e) {
return function(t) { return function(t) {
return Math.pow(t, e); return Math.pow(t, e);
}; };
} }
function d3_ease_sin(t) { function d3_ease_sin(t) {
return 1 - Math.cos(t * Math.PI / 2); return 1 - Math.cos(t * Math.PI / 2);
} }
function d3_ease_exp(t) { function d3_ease_exp(t) {
return Math.pow(2, 10 * (t - 1)); return Math.pow(2, 10 * (t - 1));
} }
function d3_ease_circle(t) { function d3_ease_circle(t) {
return 1 - Math.sqrt(1 - t * t); return 1 - Math.sqrt(1 - t * t);
} }
function d3_ease_elastic(a, p) { function d3_ease_elastic(a, p) {
var s; var s;
if (arguments.length < 2) p = .45; if (arguments.length < 2) p = .45;
if (arguments.length < 1) { if (arguments.length < 1) {
a = 1; a = 1;
s = p / 4; s = p / 4;
} else s = p / (2 * Math.PI) * Math.asin(1 / a); } else s = p / (2 * Math.PI) * Math.asin(1 / a);
return function(t) { return function(t) {
return 1 + a * Math.pow(2, 10 * -t) * Math.sin((t - s) * 2 * Math.PI / p); return 1 + a * Math.pow(2, 10 * -t) * Math.sin((t - s) * 2 * Math.PI / p);
}; };
} }
function d3_ease_back(s) { function d3_ease_back(s) {
if (!s) s = 1.70158; if (!s) s = 1.70158;
return function(t) { return function(t) {
return t * t * ((s + 1) * t - s); return t * t * ((s + 1) * t - s);
}; };
} }
function d3_ease_bounce(t) { function d3_ease_bounce(t) {
return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375; return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;
} }
function d3_eventCancel() { function d3_eventCancel() {
d3.event.stopPropagation(); d3.event.stopPropagation();
d3.event.preventDefault(); d3.event.preventDefault();
} }
function d3_eventSource() { function d3_eventSource() {
var e = d3.event, s; var e = d3.event, s;
while (s = e.sourceEvent) e = s; while (s = e.sourceEvent) e = s;
return e; return e;
} }
function d3_eventDispatch(target) { function d3_eventDispatch(target) {
var dispatch = new d3_dispatch, i = 0, n = arguments.length; var dispatch = new d3_dispatch, i = 0, n = arguments.length;
while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);
dispatch.of = function(thiz, argumentz) { dispatch.of = function(thiz, argumentz) {
return function(e1) { return function(e1) {
try { try {
var e0 = e1.sourceEvent = d3.event; var e0 = e1.sourceEvent = d3.event;
e1.target = target; e1.target = target;
d3.event = e1; d3.event = e1;
dispatch[e1.type].apply(thiz, argumentz); dispatch[e1.type].apply(thiz, argumentz);
} finally { } finally {
d3.event = e0; d3.event = e0;
} }
}; };
}; };
return dispatch; return dispatch;
} }
function d3_transform(m) { function d3_transform(m) {
var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0; var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0;
if (r0[0] * r1[1] < r1[0] * r0[1]) { if (r0[0] * r1[1] < r1[0] * r0[1]) {
r0[0] *= -1; r0[0] *= -1;
r0[1] *= -1; r0[1] *= -1;
kx *= -1; kx *= -1;
kz *= -1; kz *= -1;
} }
this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_transformDegrees; this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_transformDegrees;
this.translate = [ m.e, m.f ]; this.translate = [ m.e, m.f ];
this.scale = [ kx, ky ]; this.scale = [ kx, ky ];
this.skew = ky ? Math.atan2(kz, ky) * d3_transformDegrees : 0; this.skew = ky ? Math.atan2(kz, ky) * d3_transformDegrees : 0;
} }
function d3_transformDot(a, b) { function d3_transformDot(a, b) {
return a[0] * b[0] + a[1] * b[1]; return a[0] * b[0] + a[1] * b[1];
} }
function d3_transformNormalize(a) { function d3_transformNormalize(a) {
var k = Math.sqrt(d3_transformDot(a, a)); var k = Math.sqrt(d3_transformDot(a, a));
if (k) { if (k) {
a[0] /= k; a[0] /= k;
a[1] /= k; a[1] /= k;
} }
return k; return k;
} }
function d3_transformCombine(a, b, k) { function d3_transformCombine(a, b, k) {
a[0] += k * b[0]; a[0] += k * b[0];
a[1] += k * b[1]; a[1] += k * b[1];
return a; return a;
} }
function d3_interpolateByName(name) { function d3_interpolateByName(name) {
return name == "transform" ? d3.interpolateTransform : d3.interpolate; return name == "transform" ? d3.interpolateTransform : d3.interpolate;
} }
function d3_uninterpolateNumber(a, b) { function d3_uninterpolateNumber(a, b) {
b = b - (a = +a) ? 1 / (b - a) : 0; b = b - (a = +a) ? 1 / (b - a) : 0;
return function(x) { return function(x) {
return (x - a) * b; return (x - a) * b;
}; };
} }
function d3_uninterpolateClamp(a, b) { function d3_uninterpolateClamp(a, b) {
b = b - (a = +a) ? 1 / (b - a) : 0; b = b - (a = +a) ? 1 / (b - a) : 0;
return function(x) { return function(x) {
return Math.max(0, Math.min(1, (x - a) * b)); return Math.max(0, Math.min(1, (x - a) * b));
}; };
} }
function d3_Color() {} function d3_Color() {}
function d3_rgb(r, g, b) { function d3_rgb(r, g, b) {
return new d3_Rgb(r, g, b); return new d3_Rgb(r, g, b);
} }
function d3_Rgb(r, g, b) { function d3_Rgb(r, g, b) {
this.r = r; this.r = r;
this.g = g; this.g = g;
this.b = b; this.b = b;
} }
function d3_rgb_hex(v) { function d3_rgb_hex(v) {
return v < 16 ? "0" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16); return v < 16 ? "0" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16);
} }
function d3_rgb_parse(format, rgb, hsl) { function d3_rgb_parse(format, rgb, hsl) {
var r = 0, g = 0, b = 0, m1, m2, name; var r = 0, g = 0, b = 0, m1, m2, name;
m1 = /([a-z]+)\((.*)\)/i.exec(format); m1 = /([a-z]+)\((.*)\)/i.exec(format);
if (m1) { if (m1) {
m2 = m1[2].split(","); m2 = m1[2].split(",");
switch (m1[1]) { switch (m1[1]) {
case "hsl": case "hsl":
{ {
return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100); return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100);
} }
case "rgb": case "rgb":
{ {
return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2])); return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2]));
} }
} }
} }
if (name = d3_rgb_names.get(format)) return rgb(name.r, name.g, name.b); if (name = d3_rgb_names.get(format)) return rgb(name.r, name.g, name.b);
if (format != null && format.charAt(0) === "#") { if (format != null && format.charAt(0) === "#") {
if (format.length === 4) { if (format.length === 4) {
r = format.charAt(1); r = format.charAt(1);
r += r; r += r;
g = format.charAt(2); g = format.charAt(2);
g += g; g += g;
b = format.charAt(3); b = format.charAt(3);
b += b; b += b;
} else if (format.length === 7) { } else if (format.length === 7) {
r = format.substring(1, 3); r = format.substring(1, 3);
g = format.substring(3, 5); g = format.substring(3, 5);
b = format.substring(5, 7); b = format.substring(5, 7);
} }
r = parseInt(r, 16); r = parseInt(r, 16);
g = parseInt(g, 16); g = parseInt(g, 16);
b = parseInt(b, 16); b = parseInt(b, 16);
} }
return rgb(r, g, b); return rgb(r, g, b);
} }
function d3_rgb_hsl(r, g, b) { function d3_rgb_hsl(r, g, b) {
var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2; var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2;
if (d) { if (d) {
s = l < .5 ? d / (max + min) : d / (2 - max - min); s = l < .5 ? d / (max + min) : d / (2 - max - min);
if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4; if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4;
h *= 60; h *= 60;
} else { } else {
s = h = 0; s = h = 0;
} }
return d3_hsl(h, s, l); return d3_hsl(h, s, l);
} }
function d3_rgb_lab(r, g, b) { function d3_rgb_lab(r, g, b) {
r = d3_rgb_xyz(r); r = d3_rgb_xyz(r);
g = d3_rgb_xyz(g); g = d3_rgb_xyz(g);
b = d3_rgb_xyz(b); b = d3_rgb_xyz(b);
var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z); var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z);
return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z)); return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z));
} }
function d3_rgb_xyz(r) { function d3_rgb_xyz(r) {
return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4); return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4);
} }
function d3_rgb_parseNumber(c) { function d3_rgb_parseNumber(c) {
var f = parseFloat(c); var f = parseFloat(c);
return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f; return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f;
} }
function d3_hsl(h, s, l) { function d3_hsl(h, s, l) {
return new d3_Hsl(h, s, l); return new d3_Hsl(h, s, l);
} }
function d3_Hsl(h, s, l) { function d3_Hsl(h, s, l) {
this.h = h; this.h = h;
this.s = s; this.s = s;
this.l = l; this.l = l;
} }
function d3_hsl_rgb(h, s, l) { function d3_hsl_rgb(h, s, l) {
function v(h) { function v(h) {
if (h > 360) h -= 360; else if (h < 0) h += 360; if (h > 360) h -= 360; else if (h < 0) h += 360;
if (h < 60) return m1 + (m2 - m1) * h / 60; if (h < 60) return m1 + (m2 - m1) * h / 60;
if (h < 180) return m2; if (h < 180) return m2;
if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60; if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60;
return m1; return m1;
} }
function vv(h) { function vv(h) {
return Math.round(v(h) * 255); return Math.round(v(h) * 255);
} }
var m1, m2; var m1, m2;
h = h % 360; h = h % 360;
if (h < 0) h += 360; if (h < 0) h += 360;
s = s < 0 ? 0 : s > 1 ? 1 : s; s = s < 0 ? 0 : s > 1 ? 1 : s;
l = l < 0 ? 0 : l > 1 ? 1 : l; l = l < 0 ? 0 : l > 1 ? 1 : l;
m2 = l <= .5 ? l * (1 + s) : l + s - l * s; m2 = l <= .5 ? l * (1 + s) : l + s - l * s;
m1 = 2 * l - m2; m1 = 2 * l - m2;
return d3_rgb(vv(h + 120), vv(h), vv(h - 120)); return d3_rgb(vv(h + 120), vv(h), vv(h - 120));
} }
function d3_hcl(h, c, l) { function d3_hcl(h, c, l) {
return new d3_Hcl(h, c, l); return new d3_Hcl(h, c, l);
} }
function d3_Hcl(h, c, l) { function d3_Hcl(h, c, l) {
this.h = h; this.h = h;
this.c = c; this.c = c;
this.l = l; this.l = l;
} }
function d3_hcl_lab(h, c, l) { function d3_hcl_lab(h, c, l) {
return d3_lab(l, Math.cos(h *= Math.PI / 180) * c, Math.sin(h) * c); return d3_lab(l, Math.cos(h *= Math.PI / 180) * c, Math.sin(h) * c);
} }
function d3_lab(l, a, b) { function d3_lab(l, a, b) {
return new d3_Lab(l, a, b); return new d3_Lab(l, a, b);
} }
function d3_Lab(l, a, b) { function d3_Lab(l, a, b) {
this.l = l; this.l = l;
this.a = a; this.a = a;
this.b = b; this.b = b;
} }
function d3_lab_rgb(l, a, b) { function d3_lab_rgb(l, a, b) {
var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200; var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200;
x = d3_lab_xyz(x) * d3_lab_X; x = d3_lab_xyz(x) * d3_lab_X;
y = d3_lab_xyz(y) * d3_lab_Y; y = d3_lab_xyz(y) * d3_lab_Y;
z = d3_lab_xyz(z) * d3_lab_Z; z = d3_lab_xyz(z) * d3_lab_Z;
return d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z)); return d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z));
} }
function d3_lab_hcl(l, a, b) { function d3_lab_hcl(l, a, b) {
return d3_hcl(Math.atan2(b, a) / Math.PI * 180, Math.sqrt(a * a + b * b), l); return d3_hcl(Math.atan2(b, a) / Math.PI * 180, Math.sqrt(a * a + b * b), l);
} }
function d3_lab_xyz(x) { function d3_lab_xyz(x) {
return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037; return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037;
} }
function d3_xyz_lab(x) { function d3_xyz_lab(x) {
return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29; return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29;
} }
function d3_xyz_rgb(r) { function d3_xyz_rgb(r) {
return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055)); return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055));
} }
function d3_selection(groups) { function d3_selection(groups) {
d3_arraySubclass(groups, d3_selectionPrototype); d3_arraySubclass(groups, d3_selectionPrototype);
return groups; return groups;
} }
function d3_selection_selector(selector) { function d3_selection_selector(selector) {
return function() { return function() {
return d3_select(selector, this); return d3_select(selector, this);
}; };
} }
function d3_selection_selectorAll(selector) { function d3_selection_selectorAll(selector) {
return function() { return function() {
return d3_selectAll(selector, this); return d3_selectAll(selector, this);
}; };
} }
function d3_selection_attr(name, value) { function d3_selection_attr(name, value) {
function attrNull() { function attrNull() {
this.removeAttribute(name); this.removeAttribute(name);