Skip to content

Commit d14cc15

Browse files
committed
Fall back to disallowing simultaneous data + axis transitions
1 parent 3ea4bfc commit d14cc15

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
@@ -2613,22 +2613,22 @@ Plotly.transition = function(gd, data, layout, traceIndices, transitionConfig) {
26132613

26142614
function executeCallbacks(list) {
26152615
var p = Promise.resolve();
2616-
if (!list) return p;
2616+
if(!list) return p;
26172617
while(list.length) {
26182618
p = p.then((list.shift()));
26192619
}
26202620
return p;
26212621
}
26222622

26232623
function flushCallbacks(list) {
2624-
if (!list) return;
2624+
if(!list) return;
26252625
while(list.length) {
26262626
list.shift();
26272627
}
26282628
}
26292629

2630-
var restyleList = [];
26312630
function executeTransitions() {
2631+
var traceTransitionConfig;
26322632
var hasTraceTransition = false;
26332633
var j;
26342634
var basePlotModules = fullLayout._basePlotModules;
@@ -2650,6 +2650,17 @@ Plotly.transition = function(gd, data, layout, traceIndices, transitionConfig) {
26502650
}
26512651
}
26522652

2653+
if(hasAxisTransition) {
2654+
traceTransitionConfig = Lib.extendFlat({}, transitionConfig);
2655+
traceTransitionConfig.duration = 0;
2656+
} else {
2657+
traceTransitionConfig = transitionConfig;
2658+
}
2659+
2660+
for(j = 0; j < basePlotModules.length; j++) {
2661+
basePlotModules[j].plot(gd, transitionedTraces, traceTransitionConfig);
2662+
}
2663+
26532664
gd._transitionData._completionTimeout = setTimeout(completeTransition, transitionConfig.duration);
26542665

26552666
if(!hasAxisTransition && !hasTraceTransition) {
@@ -2666,7 +2677,7 @@ Plotly.transition = function(gd, data, layout, traceIndices, transitionConfig) {
26662677
}
26672678

26682679
function interruptPreviousTransitions() {
2669-
if (gd._transitionData._completionTimeout) {
2680+
if(gd._transitionData._completionTimeout) {
26702681
// Prevent the previous completion from occurring:
26712682
clearTimeout(gd._transitionData._completionTimeout);
26722683
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)