Skip to content

Commit fbfbf53

Browse files
committed
Fall back to disallowing simultaneous data + axis transitions
1 parent 32c479b commit fbfbf53

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

src/plot_api/plot_api.js

+15-4
Original file line numberDiff line numberDiff line change
@@ -2617,22 +2617,22 @@ Plotly.transition = function(gd, data, layout, traceIndices, transitionConfig) {
26172617

26182618
function executeCallbacks(list) {
26192619
var p = Promise.resolve();
2620-
if (!list) return p;
2620+
if(!list) return p;
26212621
while(list.length) {
26222622
p = p.then((list.shift()));
26232623
}
26242624
return p;
26252625
}
26262626

26272627
function flushCallbacks(list) {
2628-
if (!list) return;
2628+
if(!list) return;
26292629
while(list.length) {
26302630
list.shift();
26312631
}
26322632
}
26332633

2634-
var restyleList = [];
26352634
function executeTransitions() {
2635+
var traceTransitionConfig;
26362636
var hasTraceTransition = false;
26372637
var j;
26382638
var basePlotModules = fullLayout._basePlotModules;
@@ -2654,6 +2654,17 @@ Plotly.transition = function(gd, data, layout, traceIndices, transitionConfig) {
26542654
}
26552655
}
26562656

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

26592670
if(!hasAxisTransition && !hasTraceTransition) {
@@ -2670,7 +2681,7 @@ Plotly.transition = function(gd, data, layout, traceIndices, transitionConfig) {
26702681
}
26712682

26722683
function interruptPreviousTransitions() {
2673-
if (gd._transitionData._completionTimeout) {
2684+
if(gd._transitionData._completionTimeout) {
26742685
// Prevent the previous completion from occurring:
26752686
clearTimeout(gd._transitionData._completionTimeout);
26762687
gd._transitionData._completionTimeout = null;

src/plots/cartesian/transition_axes.js

+3-4
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

+1-2
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)