Don't initialize svg:g until d3.transform is called.

Fixes #395.
This commit is contained in:
Mike Bostock 2011-12-30 11:24:59 -08:00
Родитель 09c6e51dbd
Коммит 6c80963884
3 изменённых файлов: 18 добавлений и 14 удалений

14
d3.js поставляемый
Просмотреть файл

@ -2277,9 +2277,13 @@ var d3_timer_frame = window.requestAnimationFrame
|| window.msRequestAnimationFrame
|| function(callback) { setTimeout(callback, 17); };
d3.transform = function(string) {
d3_transformG.setAttribute("transform", string);
var t = d3_transformG.transform.baseVal.consolidate();
return new d3_transform(t ? t.matrix : d3_transformIdentity);
var g = document.createElementNS(d3.ns.prefix.svg, "g"),
identity = {a: 1, b: 0, c: 0, d: 1, e: 0, f: 0};
return (d3.transform = function(string) {
g.setAttribute("transform", string);
var t = g.transform.baseVal.consolidate();
return new d3_transform(t ? t.matrix : identity);
})(string);
};
// Compute x-scale and normalize the first row.
@ -2331,9 +2335,7 @@ function d3_transformCombine(a, b, k) {
return a;
}
var d3_transformG = document.createElementNS(d3.ns.prefix.svg, "g"),
d3_transformIdentity = {a: 1, b: 0, c: 0, d: 1, e: 0, f: 0},
d3_transformDegrees = 180 / Math.PI;
var d3_transformDegrees = 180 / Math.PI;
function d3_noop() {}
d3.scale = {};

4
d3.min.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -1,7 +1,11 @@
d3.transform = function(string) {
d3_transformG.setAttribute("transform", string);
var t = d3_transformG.transform.baseVal.consolidate();
return new d3_transform(t ? t.matrix : d3_transformIdentity);
var g = document.createElementNS(d3.ns.prefix.svg, "g"),
identity = {a: 1, b: 0, c: 0, d: 1, e: 0, f: 0};
return (d3.transform = function(string) {
g.setAttribute("transform", string);
var t = g.transform.baseVal.consolidate();
return new d3_transform(t ? t.matrix : identity);
})(string);
};
// Compute x-scale and normalize the first row.
@ -53,6 +57,4 @@ function d3_transformCombine(a, b, k) {
return a;
}
var d3_transformG = document.createElementNS(d3.ns.prefix.svg, "g"),
d3_transformIdentity = {a: 1, b: 0, c: 0, d: 1, e: 0, f: 0},
d3_transformDegrees = 180 / Math.PI;
var d3_transformDegrees = 180 / Math.PI;