Skip to content

Commit 42dbf69

Browse files
committed
Fall back to disallowing simultaneous data + axis transitions
1 parent 587d206 commit 42dbf69

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

src/plot_api/plot_api.js

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2619,22 +2619,22 @@ Plotly.transition = function(gd, data, layout, traceIndices, transitionConfig) {
26192619

26202620
function executeCallbacks(list) {
26212621
var p = Promise.resolve();
2622-
if (!list) return p;
2622+
if(!list) return p;
26232623
while(list.length) {
26242624
p = p.then((list.shift()));
26252625
}
26262626
return p;
26272627
}
26282628

26292629
function flushCallbacks(list) {
2630-
if (!list) return;
2630+
if(!list) return;
26312631
while(list.length) {
26322632
list.shift();
26332633
}
26342634
}
26352635

2636-
var restyleList = [];
26372636
function executeTransitions() {
2637+
var traceTransitionConfig;
26382638
var hasTraceTransition = false;
26392639
var j;
26402640
var basePlotModules = fullLayout._basePlotModules;
@@ -2656,6 +2656,17 @@ Plotly.transition = function(gd, data, layout, traceIndices, transitionConfig) {
26562656
}
26572657
}
26582658

2659+
if(hasAxisTransition) {
2660+
traceTransitionConfig = Lib.extendFlat({}, transitionConfig);
2661+
traceTransitionConfig.duration = 0;
2662+
} else {
2663+
traceTransitionConfig = transitionConfig;
2664+
}
2665+
2666+
for(j = 0; j < basePlotModules.length; j++) {
2667+
basePlotModules[j].plot(gd, transitionedTraces, traceTransitionConfig);
2668+
}
2669+
26592670
gd._transitionData._completionTimeout = setTimeout(completeTransition, transitionConfig.duration);
26602671

26612672
if(!hasAxisTransition && !hasTraceTransition) {
@@ -2672,7 +2683,7 @@ Plotly.transition = function(gd, data, layout, traceIndices, transitionConfig) {
26722683
}
26732684

26742685
function interruptPreviousTransitions() {
2675-
if (gd._transitionData._completionTimeout) {
2686+
if(gd._transitionData._completionTimeout) {
26762687
// Prevent the previous completion from occurring:
26772688
clearTimeout(gd._transitionData._completionTimeout);
26782689
gd._transitionData._completionTimeout = null;

src/plots/cartesian/transition_axes.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ module.exports = function transitionAxes(gd, newLayout, transitionConfig) {
239239
axi.range = to.slice();
240240
}
241241

242-
return Plotly.relayout(gd, attrs).then(function () {
242+
return Plotly.relayout(gd, attrs).then(function() {
243243
for(var i = 0; i < affectedSubplots.length; i++) {
244244
unsetSubplotTransform(affectedSubplots[i]);
245245
}
@@ -264,6 +264,7 @@ module.exports = function transitionAxes(gd, newLayout, transitionConfig) {
264264
});
265265
}
266266

267+
var t1, t2, raf;
267268
var easeFn = d3.ease(transitionConfig.ease);
268269

269270
gd._transitionData._interruptCallbacks.push(function() {
@@ -272,14 +273,12 @@ module.exports = function transitionAxes(gd, newLayout, transitionConfig) {
272273
return transitionTail();
273274
});
274275

275-
gd._transitionData._cleanupCallbacks.push(function () {
276+
gd._transitionData._cleanupCallbacks.push(function() {
276277
cancelAnimationFrame(raf);
277278
raf = null;
278279
return transitionComplete();
279280
});
280281

281-
var t1, t2, raf;
282-
283282
function doFrame() {
284283
t2 = Date.now();
285284

test/image/baselines/animation.png

22.3 KB
Loading

test/jasmine/tests/transition_test.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
var Plotly = require('@lib/index');
2-
var PlotlyInternal = require('@src/plotly');
32
var Lib = require('@src/lib');
43

54
var createGraphDiv = require('../assets/create_graph_div');
@@ -37,7 +36,7 @@ describe('Transition API', function() {
3736
it('emits plotly_begintransition on transition start', function(done) {
3837
var beginTransitionCnt = 0;
3938

40-
gd.on('plotly_begintransition', function () {
39+
gd.on('plotly_begintransition', function() {
4140
beginTransitionCnt++;
4241
});
4342

0 commit comments

Comments
 (0)