Re-entrant transition.each.
In theory, you could call transition.each within the context of another transition.each, so we should be careful how we restore the default settings.
This commit is contained in:
Родитель
3ec1d71785
Коммит
af4d9e4c1a
|
@ -2342,10 +2342,13 @@ d3_transitionPrototype.duration = function(value) {
|
|||
: (value = Math.max(1, value | 0), function(d, i, j) { groups[j][i].duration = value; }));
|
||||
};
|
||||
function d3_transition_each(callback) {
|
||||
var id = d3_transitionId;
|
||||
var id = d3_transitionId,
|
||||
ease = d3_transitionEase,
|
||||
delay = d3_transitionDelay,
|
||||
duration = d3_transitionDuration;
|
||||
|
||||
d3_transitionId = this.id;
|
||||
d3_transitionEase = this.ease();
|
||||
|
||||
for (var j = 0, m = this.length; j < m; j++) {
|
||||
for (var group = this[j], i = 0, n = group.length; i < n; i++) {
|
||||
var node = group[i];
|
||||
|
@ -2358,9 +2361,9 @@ function d3_transition_each(callback) {
|
|||
}
|
||||
|
||||
d3_transitionId = id;
|
||||
d3_transitionDelay = d3_transitionDefaultDelay;
|
||||
d3_transitionDuration = d3_transitionDefaultDuration;
|
||||
d3_transitionEase = d3_transitionDefaultEase;
|
||||
d3_transitionEase = ease;
|
||||
d3_transitionDelay = delay;
|
||||
d3_transitionDuration = duration;
|
||||
return this;
|
||||
}
|
||||
d3_transitionPrototype.transition = function() {
|
||||
|
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -1,8 +1,11 @@
|
|||
function d3_transition_each(callback) {
|
||||
var id = d3_transitionId;
|
||||
var id = d3_transitionId,
|
||||
ease = d3_transitionEase,
|
||||
delay = d3_transitionDelay,
|
||||
duration = d3_transitionDuration;
|
||||
|
||||
d3_transitionId = this.id;
|
||||
d3_transitionEase = this.ease();
|
||||
|
||||
for (var j = 0, m = this.length; j < m; j++) {
|
||||
for (var group = this[j], i = 0, n = group.length; i < n; i++) {
|
||||
var node = group[i];
|
||||
|
@ -15,8 +18,8 @@ function d3_transition_each(callback) {
|
|||
}
|
||||
|
||||
d3_transitionId = id;
|
||||
d3_transitionDelay = d3_transitionDefaultDelay;
|
||||
d3_transitionDuration = d3_transitionDefaultDuration;
|
||||
d3_transitionEase = d3_transitionDefaultEase;
|
||||
d3_transitionEase = ease;
|
||||
d3_transitionDelay = delay;
|
||||
d3_transitionDuration = duration;
|
||||
return this;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче